From 18c096364cc1ad056e46dd2a52b4f628725e410b Mon Sep 17 00:00:00 2001 From: Steve Grubb Date: Thu, 21 Feb 2008 16:59:22 -0500 Subject: [PATCH] --- yaml --- r: 86621 b: refs/heads/master c: 8d07a67cface19ac07d7324f38bda7bbb06bbdb2 h: refs/heads/master i: 86619: 64ecc40e723f35310c8b65aff5948af5dd3d15ec v: v3 --- [refs] | 2 +- trunk/kernel/audit.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index b42e4ac6d437..cbf8a6505d39 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b29ee87e9b441e72454efd1be56aa1a05ffb2f58 +refs/heads/master: 8d07a67cface19ac07d7324f38bda7bbb06bbdb2 diff --git a/trunk/kernel/audit.c b/trunk/kernel/audit.c index 6d7175c1e878..10c4930c2bbf 100644 --- a/trunk/kernel/audit.c +++ b/trunk/kernel/audit.c @@ -1353,17 +1353,19 @@ void audit_log_end(struct audit_buffer *ab) if (!audit_rate_check()) { audit_log_lost("rate limit exceeded"); } else { + struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); if (audit_pid) { - struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); nlh->nlmsg_len = ab->skb->len - NLMSG_SPACE(0); skb_queue_tail(&audit_skb_queue, ab->skb); ab->skb = NULL; wake_up_interruptible(&kauditd_wait); - } else if (printk_ratelimit()) { - struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); - printk(KERN_NOTICE "type=%d %s\n", nlh->nlmsg_type, ab->skb->data + NLMSG_SPACE(0)); - } else { - audit_log_lost("printk limit exceeded\n"); + } else if (nlh->nlmsg_type != AUDIT_EOE) { + if (printk_ratelimit()) { + printk(KERN_NOTICE "type=%d %s\n", + nlh->nlmsg_type, + ab->skb->data + NLMSG_SPACE(0)); + } else + audit_log_lost("printk limit exceeded\n"); } } audit_buffer_free(ab);