Skip to content

Commit

Permalink
netfilter: ebt_ulog: Move away from NLMSG_PUT().
Browse files Browse the repository at this point in the history
And use nlmsg_data() while we're here too.

Also, free and NULL out skb when nlmsg_put() fails and remove
pointless kernel log message.

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jun 27, 2012
1 parent a8edf8a commit 62566ca
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions net/bridge/netfilter/ebt_ulog.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,19 +145,24 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,

if (!ub->skb) {
if (!(ub->skb = ulog_alloc_skb(size)))
goto alloc_failure;
goto unlock;
} else if (size > skb_tailroom(ub->skb)) {
ulog_send(group);

if (!(ub->skb = ulog_alloc_skb(size)))
goto alloc_failure;
goto unlock;
}

nlh = NLMSG_PUT(ub->skb, 0, ub->qlen, 0,
size - NLMSG_ALIGN(sizeof(*nlh)));
nlh = nlmsg_put(ub->skb, 0, ub->qlen, 0,
size - NLMSG_ALIGN(sizeof(*nlh)), 0);
if (!nlh) {
kfree(ub->skb);
ub->skb = NULL;
goto unlock;
}
ub->qlen++;

pm = NLMSG_DATA(nlh);
pm = nlmsg_data(nlh);

/* Fill in the ulog data */
pm->version = EBT_ULOG_VERSION;
Expand Down Expand Up @@ -209,14 +214,6 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,

unlock:
spin_unlock_bh(lock);

return;

nlmsg_failure:
pr_debug("error during NLMSG_PUT. This should "
"not happen, please report to author.\n");
alloc_failure:
goto unlock;
}

/* this function is registered with the netfilter core */
Expand Down

0 comments on commit 62566ca

Please sign in to comment.