macvlan: fix a possible use after free
Commit bc416d9768
(macvlan: handle fragmented multicast frames) added a
possible use after free in macvlan_handle_frame(), since
ip_check_defrag() uses pskb_may_pull() : skb header can be reallocated.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ben Greear <greearb@candelatech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
f80400a26a
commit
4ec7ac1203
@@ -173,6 +173,7 @@ static rx_handler_result_t macvlan_handle_frame(struct sk_buff **pskb)
|
|||||||
skb = ip_check_defrag(skb, IP_DEFRAG_MACVLAN);
|
skb = ip_check_defrag(skb, IP_DEFRAG_MACVLAN);
|
||||||
if (!skb)
|
if (!skb)
|
||||||
return RX_HANDLER_CONSUMED;
|
return RX_HANDLER_CONSUMED;
|
||||||
|
eth = eth_hdr(skb);
|
||||||
src = macvlan_hash_lookup(port, eth->h_source);
|
src = macvlan_hash_lookup(port, eth->h_source);
|
||||||
if (!src)
|
if (!src)
|
||||||
/* frame comes from an external address */
|
/* frame comes from an external address */
|
||||||
|
Reference in New Issue
Block a user