diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-21 11:22:01 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-21 11:22:01 -0400 |
commit | f6a789d19858a951e7ff9e297a44b377c21b6c33 (patch) | |
tree | 5e54f1460bc048706ad6df8c5cb5bf748f067f13 /include/linux | |
parent | ae7b961b1c943367dfe179411f120d7bf8eaba89 (diff) |
AUDIT: Spawn kernel thread to list filter rules.
If we have enough rules to fill the netlink buffer space, it'll
deadlock because auditctl isn't ever actually going to read from the
socket until we return, and we aren't going to return until it
reads... so we spawn a kernel thread to spew out the list and then
exit.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/audit.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h index 5f812e4d01e4..5d1a9dda5acb 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -281,6 +281,7 @@ extern void audit_send_reply(int pid, int seq, int type, | |||
281 | int done, int multi, | 281 | int done, int multi, |
282 | void *payload, int size); | 282 | void *payload, int size); |
283 | extern void audit_log_lost(const char *message); | 283 | extern void audit_log_lost(const char *message); |
284 | extern struct semaphore audit_netlink_sem; | ||
284 | #else | 285 | #else |
285 | #define audit_log(c,t,f,...) do { ; } while (0) | 286 | #define audit_log(c,t,f,...) do { ; } while (0) |
286 | #define audit_log_start(c,t) ({ NULL; }) | 287 | #define audit_log_start(c,t) ({ NULL; }) |