]> Pileus Git - ~andy/linux/commitdiff
audit: netlink: Move away from NLMSG_NEW().
authorDavid S. Miller <davem@davemloft.net>
Wed, 27 Jun 2012 04:45:21 +0000 (21:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Jun 2012 04:54:14 +0000 (21:54 -0700)
And use nlmsg_data() while we're here too.

Signed-off-by: David S. Miller <davem@davemloft.net>
kernel/audit.c

index 1c7f2c61416b6b379c07c3af8ec225163670ed1f..30b252a1fb61f54408262cc710ef1ee9f6ca9c5e 100644 (file)
@@ -384,7 +384,7 @@ static void audit_hold_skb(struct sk_buff *skb)
 static void audit_printk_skb(struct sk_buff *skb)
 {
        struct nlmsghdr *nlh = nlmsg_hdr(skb);
-       char *data = NLMSG_DATA(nlh);
+       char *data = nlmsg_data(nlh);
 
        if (nlh->nlmsg_type != AUDIT_EOE) {
                if (printk_ratelimit())
@@ -516,14 +516,15 @@ struct sk_buff *audit_make_reply(int pid, int seq, int type, int done,
        if (!skb)
                return NULL;
 
-       nlh     = NLMSG_NEW(skb, pid, seq, t, size, flags);
-       data    = NLMSG_DATA(nlh);
+       nlh     = nlmsg_put(skb, pid, seq, t, size, flags);
+       if (!nlh)
+               goto out_kfree_skb;
+       data = nlmsg_data(nlh);
        memcpy(data, payload, size);
        return skb;
 
-nlmsg_failure:                 /* Used by NLMSG_NEW */
-       if (skb)
-               kfree_skb(skb);
+out_kfree_skb:
+       kfree_skb(skb);
        return NULL;
 }
 
@@ -680,7 +681,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
        sessionid = audit_get_sessionid(current);
        security_task_getsecid(current, &sid);
        seq  = nlh->nlmsg_seq;
-       data = NLMSG_DATA(nlh);
+       data = nlmsg_data(nlh);
 
        switch (msg_type) {
        case AUDIT_GET:
@@ -1060,13 +1061,15 @@ static struct audit_buffer * audit_buffer_alloc(struct audit_context *ctx,
 
        ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask);
        if (!ab->skb)
-               goto nlmsg_failure;
+               goto err;
 
-       nlh = NLMSG_NEW(ab->skb, 0, 0, type, 0, 0);
+       nlh = nlmsg_put(ab->skb, 0, 0, type, 0, 0);
+       if (!nlh)
+               goto out_kfree_skb;
 
        return ab;
 
-nlmsg_failure:                  /* Used by NLMSG_NEW */
+out_kfree_skb:
        kfree_skb(ab->skb);
        ab->skb = NULL;
 err: