AUDIT: Fix reported length of audit messages.
authorSteve Grubb <sgrubb@redhat.com>
Tue, 10 May 2005 17:53:07 +0000 (18:53 +0100)
committerDavid Woodhouse <dwmw2@shinybook.infradead.org>
Tue, 10 May 2005 17:53:07 +0000 (18:53 +0100)
We were setting nlmsg_len to skb->len, but we should be subtracting
the size of the header.

From: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
kernel/audit.c

index b86007da8a3fd09931a17caa014c2aace8439fe8..2ddd1a2b66d091ea31dd8e60cf717e62a352e520 100644 (file)
@@ -488,7 +488,7 @@ static inline int audit_log_drain(struct audit_buffer *ab)
 
                if (audit_pid) {
                        struct nlmsghdr *nlh = (struct nlmsghdr *)skb->data;
-                       nlh->nlmsg_len = skb->len;
+                       nlh->nlmsg_len = skb->len - sizeof(*nlh);
                        skb_get(skb); /* because netlink_* frees */
                        retval = netlink_unicast(audit_sock, skb, audit_pid,
                                                 MSG_DONTWAIT);