diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/audit.c | 12 | ||||
-rw-r--r-- | kernel/auditsc.c | 7 |
2 files changed, 5 insertions, 14 deletions
diff --git a/kernel/audit.c b/kernel/audit.c index dc4aba21f30a..c18b769e23a2 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
@@ -416,12 +416,8 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
416 | return -EINVAL; | 416 | return -EINVAL; |
417 | /* fallthrough */ | 417 | /* fallthrough */ |
418 | case AUDIT_LIST: | 418 | case AUDIT_LIST: |
419 | #ifdef CONFIG_AUDITSYSCALL | ||
420 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, | 419 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, |
421 | uid, seq, data, loginuid); | 420 | uid, seq, data, loginuid); |
422 | #else | ||
423 | err = -EOPNOTSUPP; | ||
424 | #endif | ||
425 | break; | 421 | break; |
426 | case AUDIT_SIGNAL_INFO: | 422 | case AUDIT_SIGNAL_INFO: |
427 | sig_data.uid = audit_sig_uid; | 423 | sig_data.uid = audit_sig_uid; |
@@ -636,15 +632,11 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx) | |||
636 | return NULL; | 632 | return NULL; |
637 | } | 633 | } |
638 | 634 | ||
639 | #ifdef CONFIG_AUDITSYSCALL | 635 | if (!audit_get_stamp(ab->ctx, &t, &serial)) { |
640 | if (ab->ctx) | ||
641 | audit_get_stamp(ab->ctx, &t, &serial); | ||
642 | else | ||
643 | #endif | ||
644 | { | ||
645 | t = CURRENT_TIME; | 636 | t = CURRENT_TIME; |
646 | serial = 0; | 637 | serial = 0; |
647 | } | 638 | } |
639 | |||
648 | audit_log_format(ab, "audit(%lu.%03lu:%u): ", | 640 | audit_log_format(ab, "audit(%lu.%03lu:%u): ", |
649 | t.tv_sec, t.tv_nsec/1000000, serial); | 641 | t.tv_sec, t.tv_nsec/1000000, serial); |
650 | return ab; | 642 | return ab; |
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 680bb928343b..94338abf76f5 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
@@ -992,7 +992,7 @@ void audit_inode(const char *name, const struct inode *inode) | |||
992 | context->names[idx].rdev = inode->i_rdev; | 992 | context->names[idx].rdev = inode->i_rdev; |
993 | } | 993 | } |
994 | 994 | ||
995 | void audit_get_stamp(struct audit_context *ctx, | 995 | int audit_get_stamp(struct audit_context *ctx, |
996 | struct timespec *t, unsigned int *serial) | 996 | struct timespec *t, unsigned int *serial) |
997 | { | 997 | { |
998 | if (ctx) { | 998 | if (ctx) { |
@@ -1000,10 +1000,9 @@ void audit_get_stamp(struct audit_context *ctx, | |||
1000 | t->tv_nsec = ctx->ctime.tv_nsec; | 1000 | t->tv_nsec = ctx->ctime.tv_nsec; |
1001 | *serial = ctx->serial; | 1001 | *serial = ctx->serial; |
1002 | ctx->auditable = 1; | 1002 | ctx->auditable = 1; |
1003 | } else { | 1003 | return 1; |
1004 | *t = CURRENT_TIME; | ||
1005 | *serial = 0; | ||
1006 | } | 1004 | } |
1005 | return 0; | ||
1007 | } | 1006 | } |
1008 | 1007 | ||
1009 | extern int audit_set_type(struct audit_buffer *ab, int type); | 1008 | extern int audit_set_type(struct audit_buffer *ab, int type); |