diff options
author | Richard Guy Briggs <rgb@redhat.com> | 2016-01-13 09:18:54 -0500 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2016-01-13 09:18:54 -0500 |
commit | 1194b994bec308433cc84ffdb92fd668713b8f93 (patch) | |
tree | 5c3e77bf39e0a831b33cfbdec4def109e1b65faf | |
parent | f48a942926c58e4b2dfc3f21c58579d5435841ef (diff) | |
download | linux-stable-1194b994bec308433cc84ffdb92fd668713b8f93.tar.gz linux-stable-1194b994bec308433cc84ffdb92fd668713b8f93.tar.bz2 linux-stable-1194b994bec308433cc84ffdb92fd668713b8f93.zip |
audit: wake up threads if queue switched from limited to unlimited
If the audit_backlog_limit is changed from a limited value to an
unlimited value (zero) while the queue was overflowed, wake up the
audit_backlog_wait queue to allow those processes to continue.
Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
Signed-off-by: Paul Moore <pmoore@redhat.com>
-rw-r--r-- | kernel/audit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/audit.c b/kernel/audit.c index 60c9c5adc5be..d7b675781934 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -523,7 +523,8 @@ static int kauditd_thread(void *dummy) skb = skb_dequeue(&audit_skb_queue); if (skb) { - if (skb_queue_len(&audit_skb_queue) <= audit_backlog_limit) + if (!audit_backlog_limit || + (skb_queue_len(&audit_skb_queue) <= audit_backlog_limit)) wake_up(&audit_backlog_wait); if (audit_pid) kauditd_send_skb(skb); |