Commit 62566ca5 authored by David S. Miller's avatar David S. Miller

netfilter: ebt_ulog: Move away from NLMSG_PUT().

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: default avatarDavid S. Miller <davem@davemloft.net>
parent a8edf8a6
...@@ -145,19 +145,24 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb, ...@@ -145,19 +145,24 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,
if (!ub->skb) { if (!ub->skb) {
if (!(ub->skb = ulog_alloc_skb(size))) if (!(ub->skb = ulog_alloc_skb(size)))
goto alloc_failure; goto unlock;
} else if (size > skb_tailroom(ub->skb)) { } else if (size > skb_tailroom(ub->skb)) {
ulog_send(group); ulog_send(group);
if (!(ub->skb = ulog_alloc_skb(size))) if (!(ub->skb = ulog_alloc_skb(size)))
goto alloc_failure; goto unlock;
} }
nlh = NLMSG_PUT(ub->skb, 0, ub->qlen, 0, nlh = nlmsg_put(ub->skb, 0, ub->qlen, 0,
size - NLMSG_ALIGN(sizeof(*nlh))); size - NLMSG_ALIGN(sizeof(*nlh)), 0);
if (!nlh) {
kfree(ub->skb);
ub->skb = NULL;
goto unlock;
}
ub->qlen++; ub->qlen++;
pm = NLMSG_DATA(nlh); pm = nlmsg_data(nlh);
/* Fill in the ulog data */ /* Fill in the ulog data */
pm->version = EBT_ULOG_VERSION; pm->version = EBT_ULOG_VERSION;
...@@ -209,14 +214,6 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb, ...@@ -209,14 +214,6 @@ static void ebt_ulog_packet(unsigned int hooknr, const struct sk_buff *skb,
unlock: unlock:
spin_unlock_bh(lock); 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 */ /* this function is registered with the netfilter core */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment