Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e789e561 authored by Richard Guy Briggs's avatar Richard Guy Briggs Committed by Eric Paris
Browse files

audit: reset audit backlog wait time after error recovery

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



Cc: stable@vger.kernel.org # v3.8-rc4+
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: default avatarDan Duval <dan.duval@oracle.com>
Signed-off-by: default avatarChuck Anderson <chuck.anderson@oracle.com>
Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
parent 33faba7f
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -103,7 +103,8 @@ static int audit_rate_limit;


/* Number of outstanding audit_buffers allowed. */
/* Number of outstanding audit_buffers allowed. */
static int	audit_backlog_limit = 64;
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;
static int	audit_backlog_wait_overflow = 0;


/* The identity of the user shutting down the audit system. */
/* The identity of the user shutting down the audit system. */
@@ -1282,6 +1283,8 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,
		return NULL;
		return NULL;
	}
	}


	audit_backlog_wait_time = AUDIT_BACKLOG_WAIT_TIME;

	ab = audit_buffer_alloc(ctx, gfp_mask, type);
	ab = audit_buffer_alloc(ctx, gfp_mask, type);
	if (!ab) {
	if (!ab) {
		audit_log_lost("out of memory in audit_log_start");
		audit_log_lost("out of memory in audit_log_start");