| From e789e561a50de0aaa8c695662d97aaa5eac9d55f Mon Sep 17 00:00:00 2001 |
| From: Richard Guy Briggs <rgb@redhat.com> |
| Date: Thu, 12 Sep 2013 23:03:51 -0400 |
| Subject: audit: reset audit backlog wait time after error recovery |
| |
| From: Richard Guy Briggs <rgb@redhat.com> |
| |
| commit e789e561a50de0aaa8c695662d97aaa5eac9d55f upstream. |
| |
| When the audit queue overflows and times out (audit_backlog_wait_time), the |
| audit queue overflow timeout is set to zero. Once the audit queue overflow |
| timeout condition recovers, the timeout should be reset to the original value. |
| |
| See also: |
| https://lkml.org/lkml/2013/9/2/473 |
| |
| Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> |
| Signed-off-by: Dan Duval <dan.duval@oracle.com> |
| Signed-off-by: Chuck Anderson <chuck.anderson@oracle.com> |
| Signed-off-by: Richard Guy Briggs <rgb@redhat.com> |
| Signed-off-by: Eric Paris <eparis@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/audit.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/kernel/audit.c |
| +++ b/kernel/audit.c |
| @@ -102,7 +102,8 @@ static int audit_rate_limit; |
| |
| /* Number of outstanding audit_buffers allowed. */ |
| static int audit_backlog_limit = 64; |
| -static int audit_backlog_wait_time = 60 * HZ; |
| +#define AUDIT_BACKLOG_WAIT_TIME (60 * HZ) |
| +static int audit_backlog_wait_time = AUDIT_BACKLOG_WAIT_TIME; |
| static int audit_backlog_wait_overflow = 0; |
| |
| /* The identity of the user shutting down the audit system. */ |
| @@ -1239,6 +1240,8 @@ struct audit_buffer *audit_log_start(str |
| return NULL; |
| } |
| |
| + audit_backlog_wait_time = AUDIT_BACKLOG_WAIT_TIME; |
| + |
| ab = audit_buffer_alloc(ctx, gfp_mask, type); |
| if (!ab) { |
| audit_log_lost("out of memory in audit_log_start"); |