Message ID | 1294064188-17722-1-git-send-email-fw@strlen.de |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Florian Westphal <fw@strlen.de> Date: Mon, 3 Jan 2011 15:16:28 +0100 > commit bf9ae5386bca8836c16e69ab8fdbe46767d7452a > (llc: use dev_hard_header) removed the > skb_reset_mac_header call from llc_mac_hdr_init. > > This seems fine itself, but br_send_bpdu() invokes ebtables LOCAL_OUT. > > We oops in ebt_basic_match() because it assumes eth_hdr(skb) returns > a meaningful result. > > Cc: acme@ghostprotocols.net > References: https://bugzilla.kernel.org/show_bug.cgi?id=24532 > Signed-off-by: Florian Westphal <fw@strlen.de> Applied and queued up for -stable, thanks Florian. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/bridge/br_stp_bpdu.c b/net/bridge/br_stp_bpdu.c index 3d9a55d..289646e 100644 --- a/net/bridge/br_stp_bpdu.c +++ b/net/bridge/br_stp_bpdu.c @@ -50,6 +50,8 @@ static void br_send_bpdu(struct net_bridge_port *p, llc_mac_hdr_init(skb, p->dev->dev_addr, p->br->group_addr); + skb_reset_mac_header(skb); + NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, dev_queue_xmit); }
commit bf9ae5386bca8836c16e69ab8fdbe46767d7452a (llc: use dev_hard_header) removed the skb_reset_mac_header call from llc_mac_hdr_init. This seems fine itself, but br_send_bpdu() invokes ebtables LOCAL_OUT. We oops in ebt_basic_match() because it assumes eth_hdr(skb) returns a meaningful result. Cc: acme@ghostprotocols.net References: https://bugzilla.kernel.org/show_bug.cgi?id=24532 Signed-off-by: Florian Westphal <fw@strlen.de> --- net/bridge/br_stp_bpdu.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)