From: John Fastabend <john.r.fastabend@xxxxxxxxx> This removes a kfree_skb that is being called on a NULL pointer when do_one_broadcast() is sucessful. And moves the kfree_skb into do_one_broadcast() for the error case. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> --- net/netlink/af_netlink.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 4e673d2..9934847 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1021,6 +1021,8 @@ static inline int do_one_broadcast(struct sock *sk, netlink_overrun(sk); if (nlk->flags & NETLINK_BROADCAST_SEND_ERROR) p->delivery_failure = 1; + kfree_skb(p->skb2); + p->skb2 = NULL; } else { p->congested |= val; p->delivered = 1; @@ -1065,8 +1067,6 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, netlink_unlock_table(); - kfree_skb(info.skb2); - if (info.delivery_failure) return -ENOBUFS; -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html