Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Anastasia Belova <> | Subject | [PATCH] flow_dissector: prevent NULL pointer dereference in __skb_flow_dissect | Date | Wed, 20 Mar 2024 15:56:35 +0300 |
| |
skb is an optional parameter, so it may be NULL. Add check defore dereference in eth_hdr.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 67a900cc0436 ("flow_dissector: introduce support for Ethernet addresses") Signed-off-by: Anastasia Belova <abelova@astralinux.ru> --- net/core/flow_dissector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 272f09251343..05db3a8aa771 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -1137,7 +1137,7 @@ bool __skb_flow_dissect(const struct net *net, rcu_read_unlock(); } - if (dissector_uses_key(flow_dissector, + if (skb && dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { struct ethhdr *eth = eth_hdr(skb); struct flow_dissector_key_eth_addrs *key_eth_addrs; -- 2.30.2
| ![\](/images/icornerr.gif) |