diff options
-rw-r--r-- | net/netfilter/nfnetlink_log.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c index 2d02eac35415..5f1be5ba3559 100644 --- a/net/netfilter/nfnetlink_log.c +++ b/net/netfilter/nfnetlink_log.c | |||
@@ -346,26 +346,25 @@ nfulnl_alloc_skb(struct net *net, u32 peer_portid, unsigned int inst_size, | |||
346 | return skb; | 346 | return skb; |
347 | } | 347 | } |
348 | 348 | ||
349 | static int | 349 | static void |
350 | __nfulnl_send(struct nfulnl_instance *inst) | 350 | __nfulnl_send(struct nfulnl_instance *inst) |
351 | { | 351 | { |
352 | int status = -1; | ||
353 | |||
354 | if (inst->qlen > 1) { | 352 | if (inst->qlen > 1) { |
355 | struct nlmsghdr *nlh = nlmsg_put(inst->skb, 0, 0, | 353 | struct nlmsghdr *nlh = nlmsg_put(inst->skb, 0, 0, |
356 | NLMSG_DONE, | 354 | NLMSG_DONE, |
357 | sizeof(struct nfgenmsg), | 355 | sizeof(struct nfgenmsg), |
358 | 0); | 356 | 0); |
359 | if (!nlh) | 357 | if (WARN_ONCE(!nlh, "bad nlskb size: %u, tailroom %d\n", |
358 | inst->skb->len, skb_tailroom(inst->skb))) { | ||
359 | kfree_skb(inst->skb); | ||
360 | goto out; | 360 | goto out; |
361 | } | ||
361 | } | 362 | } |
362 | status = nfnetlink_unicast(inst->skb, inst->net, inst->peer_portid, | 363 | nfnetlink_unicast(inst->skb, inst->net, inst->peer_portid, |
363 | MSG_DONTWAIT); | 364 | MSG_DONTWAIT); |
364 | 365 | out: | |
365 | inst->qlen = 0; | 366 | inst->qlen = 0; |
366 | inst->skb = NULL; | 367 | inst->skb = NULL; |
367 | out: | ||
368 | return status; | ||
369 | } | 368 | } |
370 | 369 | ||
371 | static void | 370 | static void |