AUDIT: Properly account for alignment difference in nlmsg_len.
authorChris Wright <chrisw@osdl.org>
Wed, 11 May 2005 09:43:07 +0000 (10:43 +0100)
committerDavid Woodhouse <dwmw2@shinybook.infradead.org>
Wed, 11 May 2005 09:43:07 +0000 (10:43 +0100)
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
kernel/audit.c

index ddb69a4582037864797d287a4a1eadc9dfe49ac3..a5f03cb2c0f5896e917ea95d2f1ce1f9443a6367 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 - sizeof(*nlh);
+                       nlh->nlmsg_len = skb->len - NLMSG_SPACE(0);
                        skb_get(skb); /* because netlink_* frees */
                        retval = netlink_unicast(audit_sock, skb, audit_pid,
                                                 MSG_DONTWAIT);