diff options
-rw-r--r-- | include/uapi/linux/audit.h | 17 | ||||
-rw-r--r-- | kernel/audit.c | 2 |
2 files changed, 14 insertions, 5 deletions
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index 4d100c841c80..2ccf19e06e15 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
@@ -322,9 +322,15 @@ enum { | |||
322 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 | 322 | #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010 |
323 | #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 | 323 | #define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020 |
324 | 324 | ||
325 | #define AUDIT_VERSION_BACKLOG_LIMIT 1 | 325 | #define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001 |
326 | #define AUDIT_VERSION_BACKLOG_WAIT_TIME 2 | 326 | #define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002 |
327 | #define AUDIT_VERSION_LATEST AUDIT_VERSION_BACKLOG_WAIT_TIME | 327 | #define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \ |
328 | AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME) | ||
329 | |||
330 | /* deprecated: AUDIT_VERSION_* */ | ||
331 | #define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL | ||
332 | #define AUDIT_VERSION_BACKLOG_LIMIT AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | ||
333 | #define AUDIT_VERSION_BACKLOG_WAIT_TIME AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | ||
328 | 334 | ||
329 | /* Failure-to-log actions */ | 335 | /* Failure-to-log actions */ |
330 | #define AUDIT_FAIL_SILENT 0 | 336 | #define AUDIT_FAIL_SILENT 0 |
@@ -403,7 +409,10 @@ struct audit_status { | |||
403 | __u32 backlog_limit; /* waiting messages limit */ | 409 | __u32 backlog_limit; /* waiting messages limit */ |
404 | __u32 lost; /* messages lost */ | 410 | __u32 lost; /* messages lost */ |
405 | __u32 backlog; /* messages waiting in queue */ | 411 | __u32 backlog; /* messages waiting in queue */ |
406 | __u32 version; /* audit api version number */ | 412 | union { |
413 | __u32 version; /* deprecated: audit api version num */ | ||
414 | __u32 feature_bitmap; /* bitmap of kernel audit features */ | ||
415 | }; | ||
407 | __u32 backlog_wait_time;/* message queue wait timeout */ | 416 | __u32 backlog_wait_time;/* message queue wait timeout */ |
408 | }; | 417 | }; |
409 | 418 | ||
diff --git a/kernel/audit.c b/kernel/audit.c index 53bb39bf79e2..7b83c557aee6 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
@@ -842,7 +842,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
842 | s.backlog_limit = audit_backlog_limit; | 842 | s.backlog_limit = audit_backlog_limit; |
843 | s.lost = atomic_read(&audit_lost); | 843 | s.lost = atomic_read(&audit_lost); |
844 | s.backlog = skb_queue_len(&audit_skb_queue); | 844 | s.backlog = skb_queue_len(&audit_skb_queue); |
845 | s.version = AUDIT_VERSION_LATEST; | 845 | s.feature_bitmap = AUDIT_FEATURE_BITMAP_ALL; |
846 | s.backlog_wait_time = audit_backlog_wait_time; | 846 | s.backlog_wait_time = audit_backlog_wait_time; |
847 | audit_send_reply(skb, seq, AUDIT_GET, 0, 0, &s, sizeof(s)); | 847 | audit_send_reply(skb, seq, AUDIT_GET, 0, 0, &s, sizeof(s)); |
848 | break; | 848 | break; |