]> git.baikalelectronics.ru Git - kernel.git/commit
udp: drop skb extensions before marking skb stateless
authorFlorian Westphal <fw@strlen.de>
Thu, 21 Nov 2019 05:56:23 +0000 (06:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 Nov 2019 17:28:46 +0000 (09:28 -0800)
commit6bc7d9eee0d36b3ab104d7205ada571650a3a821
tree291eb5fab8488e13ce843160bdc5a0fd7a5c936b
parentb71ee8d4714a1e99f5284021d8d5094f7266843e
udp: drop skb extensions before marking skb stateless

Once udp stack has set the UDP_SKB_IS_STATELESS flag, later skb free
assumes all skb head state has been dropped already.

This will leak the extension memory in case the skb has extensions other
than the ipsec secpath, e.g. bridge nf data.

To fix this, set the UDP_SKB_IS_STATELESS flag only if we don't have
extensions or if the extension space can be free'd.

Fixes: fdb25d10259763ea671c5065 ("netfilter: drop bridge nf reset from nf_reset")
Cc: Paolo Abeni <pabeni@redhat.com>
Reported-by: Byron Stanoszek <gandalf@winds.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
net/ipv4/udp.c