diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-22 10:04:33 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-22 10:04:33 -0400 |
commit | 9ad9ad385be27fcc7c16d290d972c6173e780a61 (patch) | |
tree | bbca700c2d88ba421a6c9c348de367eaf4de0e2c /include/linux | |
parent | 177bbc733a1d9c935bc3d6efd776a6699b29b1ca (diff) |
AUDIT: Wait for backlog to clear when generating messages.
Add a gfp_mask to audit_log_start() and audit_log(), to reduce the
amount of GFP_ATOMIC allocation -- most of it doesn't need to be
GFP_ATOMIC. Also if the mask includes __GFP_WAIT, then wait up to
60 seconds for the auditd backlog to clear instead of immediately
abandoning the message.
The timeout should probably be made configurable, but for now it'll
suffice that it only happens if auditd is actually running.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/audit.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h index 77adef640537..2f56546eb248 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -259,11 +259,11 @@ extern int audit_filter_user(int pid, int type); | |||
259 | #ifdef CONFIG_AUDIT | 259 | #ifdef CONFIG_AUDIT |
260 | /* These are defined in audit.c */ | 260 | /* These are defined in audit.c */ |
261 | /* Public API */ | 261 | /* Public API */ |
262 | extern void audit_log(struct audit_context *ctx, int type, | 262 | extern void audit_log(struct audit_context *ctx, int gfp_mask, |
263 | const char *fmt, ...) | 263 | int type, const char *fmt, ...) |
264 | __attribute__((format(printf,3,4))); | 264 | __attribute__((format(printf,4,5))); |
265 | 265 | ||
266 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx,int type); | 266 | extern struct audit_buffer *audit_log_start(struct audit_context *ctx, int gfp_mask, int type); |
267 | extern void audit_log_format(struct audit_buffer *ab, | 267 | extern void audit_log_format(struct audit_buffer *ab, |
268 | const char *fmt, ...) | 268 | const char *fmt, ...) |
269 | __attribute__((format(printf,2,3))); | 269 | __attribute__((format(printf,2,3))); |