[PATCH] macvlan: fix a possible use after free

Subsystems: networking drivers, the rest

STALE5315d

2 messages, 2 authors, 2012-01-23 · open the first message on its own page

[PATCH] macvlan: fix a possible use after free

From: Eric Dumazet <hidden>
Date: 2012-01-23 15:39:03

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 <redacted>
Cc: Ben Greear <redacted>
---
 drivers/net/macvlan.c |    1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index f2f820c..9ea9921 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -173,6 +173,7 @@ static rx_handler_result_t macvlan_handle_frame(struct sk_buff **pskb)
 		skb = ip_check_defrag(skb, IP_DEFRAG_MACVLAN);
 		if (!skb)
 			return RX_HANDLER_CONSUMED;
+		eth = eth_hdr(skb);
 		src = macvlan_hash_lookup(port, eth->h_source);
 		if (!src)
 			/* frame comes from an external address */

Re: [PATCH] macvlan: fix a possible use after free

From: David Miller <davem@davemloft.net>
Date: 2012-01-23 18:56:45

From: Eric Dumazet <redacted>
Date: Mon, 23 Jan 2012 16:38:59 +0100
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 <redacted>
Cc: Ben Greear <redacted>
Applied, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help