Files
kernel_arpi/kernel
Eric Paris f09ac9db2a Audit: stop deadlock from signals under load
A deadlock is possible between kauditd and auditd under load if auditd
receives a signal.  When auditd receives a signal it sends a netlink
message to the kernel asking for information about the sender of the
signal.  In that same context the audit system will attempt to send a
netlink message back to the userspace auditd.  If kauditd has already
filled the socket buffer (see netlink_attachskb()) auditd will now put
itself to sleep waiting for room to send the message.  Since auditd is
responsible for draining that socket we have a deadlock.  The fix, since
the response from the kernel does not need to be synchronous is to send
the signal information back to auditd in a separate thread.  And thus
auditd can continue to drain the audit queue normally.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2008-04-28 06:19:13 -04:00
..
2008-04-25 00:25:08 +02:00
2008-02-14 21:13:33 -08:00
2008-04-28 04:45:07 -04:00
2007-10-18 14:37:24 -07:00
2008-03-30 14:18:41 -07:00
2008-03-30 14:18:41 -07:00
2008-01-25 21:08:29 +01:00
2008-04-02 15:28:19 -07:00
2008-02-08 09:22:31 -08:00
2008-02-08 09:22:31 -08:00
2008-04-21 15:53:41 -07:00
2008-01-25 21:08:24 +01:00
2008-02-13 16:21:18 -08:00
2008-01-25 21:08:24 +01:00
2008-04-19 19:45:01 +02:00
2008-04-19 19:45:00 +02:00
2008-04-19 19:45:00 +02:00
2008-04-17 10:43:01 -04:00
2008-04-21 22:15:06 +00:00
2008-01-30 13:31:20 +01:00
2008-02-06 10:41:02 -08:00
2008-02-05 09:44:07 -08:00
2008-04-21 19:45:12 -07:00
2008-04-17 12:22:31 +02:00
2008-02-08 09:22:31 -08:00