summaryrefslogtreecommitdiff
path: root/privs.c
diff options
context:
space:
mode:
Diffstat (limited to 'privs.c')
0 files changed, 0 insertions, 0 deletions
a> /kernel parentc6480207fdf7b61de216ee23e93eac0a6878fa74 (diff)
audit: rework audit_log_start()
The backlog queue handling in audit_log_start() is a little odd with some questionable design decisions, this patch attempts to rectify this with the following changes: * Never make auditd wait, ignore any backlog limits as we need auditd awake so it can drain the backlog queue. * When we hit a backlog limit and start dropping records, don't wake all the tasks sleeping on the backlog, that's silly. Instead, let kauditd_thread() take care of waking everyone once it has had a chance to drain the backlog queue. * Don't keep a global backlog timeout countdown, make it per-task. A per-task timer means we won't have all the sleeping tasks waking at the same time and hammering on an already stressed backlog queue. Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/audit.c92
1 files changed, 36 insertions, 56 deletions
diff --git a/kernel/audit.c b/kernel/audit.c