]> git.baikalelectronics.ru Git - kernel.git/commit
skbuff: re-add check for NULL skb->head in kfree_skb path
authorFlorian Westphal <fw@strlen.de>
Sun, 23 Jul 2017 17:54:47 +0000 (19:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Jul 2017 23:27:08 +0000 (16:27 -0700)
commitf057a3ba9660033cb344e3bfbec7956761618c46
tree49bc180709a0af274935ef2216ed0041fe04e579
parentfc74b1c175a826c04af845f069c51e1cbf1d6088
skbuff: re-add check for NULL skb->head in kfree_skb path

A null check is needed after all.  netlink skbs can have skb->head be
backed by vmalloc.  The netlink destructor vfree()s head, then sets it to
NULL.  We then panic in skb_release_data with a NULL dereference.

Re-add such a test.

Alternative would be to switch to kvfree to free skb->head memory
and remove the special handling in netlink destructor.

Reported-by: kernel test robot <fengguang.wu@intel.com>
Fixes: 986e14096549e ("net: Revert "net: add function to allocate sk_buff head without data area")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c