]> git.karo-electronics.de Git - linux-beck.git/commitdiff
netfilter: ipt_ULOG: Move away from NLMSG_PUT().
authorDavid S. Miller <davem@davemloft.net>
Wed, 27 Jun 2012 04:30:49 +0000 (21:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Jun 2012 04:30:49 +0000 (21:30 -0700)
And use nlmsg_data() while we're here too.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/ipt_ULOG.c

index ba5756d20165ec0d5bb6d41359e219e03d9bdb8d..99b3f53f16a7259134833cabc9e1de17e5462d6c 100644 (file)
@@ -196,12 +196,15 @@ static void ipt_ulog_packet(unsigned int hooknum,
 
        pr_debug("qlen %d, qthreshold %Zu\n", ub->qlen, loginfo->qthreshold);
 
-       /* NLMSG_PUT contains a hidden goto nlmsg_failure !!! */
-       nlh = NLMSG_PUT(ub->skb, 0, ub->qlen, ULOG_NL_EVENT,
-                       sizeof(*pm)+copy_len);
+       nlh = nlmsg_put(ub->skb, 0, ub->qlen, ULOG_NL_EVENT,
+                       sizeof(*pm)+copy_len, 0);
+       if (!nlh) {
+               pr_debug("error during nlmsg_put\n");
+               goto out_unlock;
+       }
        ub->qlen++;
 
-       pm = NLMSG_DATA(nlh);
+       pm = nlmsg_data(nlh);
 
        /* We might not have a timestamp, get one */
        if (skb->tstamp.tv64 == 0)
@@ -261,13 +264,11 @@ static void ipt_ulog_packet(unsigned int hooknum,
                        nlh->nlmsg_type = NLMSG_DONE;
                ulog_send(groupnum);
        }
-
+out_unlock:
        spin_unlock_bh(&ulog_lock);
 
        return;
 
-nlmsg_failure:
-       pr_debug("error during NLMSG_PUT\n");
 alloc_failure:
        pr_debug("Error building netlink message\n");
        spin_unlock_bh(&ulog_lock);