Removal of the sock_hold got lost when backporting commit 4d05239203fa ("netfilter: nf_queue: fix possible use-after-free") to 4.14
This was causing a socket leak and was caught by kmemleak. Tested by running kmemleak again with this fix.
Fixes: ef97921ccdc2 ("netfilter: nf_queue: fix possible use-after-free") in 4.14 Signed-off-by: Vimal Agrawal vimal.agrawal@sophos.com --- net/netfilter/nf_queue.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/net/netfilter/nf_queue.c b/net/netfilter/nf_queue.c index dbc45165c533..46984cdee658 100644 --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c @@ -91,8 +91,6 @@ bool nf_queue_entry_get_refs(struct nf_queue_entry *entry) dev_hold(state->in); if (state->out) dev_hold(state->out); - if (state->sk) - sock_hold(state->sk); #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER) if (entry->skb->nf_bridge) { struct net_device *physdev;
Vimal Agrawal avimalin@gmail.com wrote:
Removal of the sock_hold got lost when backporting commit 4d05239203fa ("netfilter: nf_queue: fix possible use-after-free") to 4.14
This was causing a socket leak and was caught by kmemleak. Tested by running kmemleak again with this fix.
Thanks.
Reviewed-by: Florian Westphal fw@strlen.de
On Tue, Oct 11, 2022 at 07:29:02PM +0200, Florian Westphal wrote:
Vimal Agrawal avimalin@gmail.com wrote:
Removal of the sock_hold got lost when backporting commit 4d05239203fa ("netfilter: nf_queue: fix possible use-after-free") to 4.14
This was causing a socket leak and was caught by kmemleak. Tested by running kmemleak again with this fix.
Thanks.
Reviewed-by: Florian Westphal fw@strlen.de
Now queued up, thanks.
greg k-h
linux-stable-mirror@lists.linaro.org