bridge: stp: ensure mac header is set

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>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Florian Westphal and committed by David S. Miller e6f26129 9d89081d

Changed files
+2
net
bridge
+2
net/bridge/br_stp_bpdu.c
··· 50 50 51 51 llc_mac_hdr_init(skb, p->dev->dev_addr, p->br->group_addr); 52 52 53 + skb_reset_mac_header(skb); 54 + 53 55 NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, 54 56 dev_queue_xmit); 55 57 }