lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 14 Oct 2007 12:27:44 +0800 From: Herbert Xu <herbert@...dor.apana.org.au> To: Patrick McHardy <kaber@...sh.net>, David Miller <davem@...emloft.net>, hadi@...erus.ca, netdev@...r.kernel.org, kuznet@....inr.ac.ru, Herbert Xu <herbert@...dor.apana.org.au> Subject: [PATCH 6/10] [BRIDGE]: Unshare skb upon entry [BRIDGE]: Unshare skb upon entry Due to the special location of the bridging hook, it should never see a shared packet anyway (certainly not with any in-kernel code). So it makes sense to unshare the skb there if necessary as that will greatly simplify the code below it (in particular, netfilter). Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au> --- net/bridge/br_input.c | 4 ++++ 1 files changed, 4 insertions(+) diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 3a8a015..f8e0a2f 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -126,6 +126,10 @@ struct sk_buff *br_handle_frame(struct net_bridge_port *p, struct sk_buff *skb) if (!is_valid_ether_addr(eth_hdr(skb)->h_source)) goto drop; + skb = skb_share_check(skb, GFP_ATOMIC); + if (!skb) + return NULL; + if (unlikely(is_link_local(dest))) { /* Pause frames shouldn't be passed up by driver anyway */ if (skb->protocol == htons(ETH_P_PAUSE)) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists