linux/net/bridge
Evgeniy Polyakov e7c243c925 [VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt"
I tried to preserve bridging code as it was before, but logic is quite
strange - I think we should free skb on error, since it is already
unshared and thus will just leak.

Herbert Xu states:

> +	if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL)
> +		goto out;

If this happens it'll be a double-free on skb since we'll
return NF_DROP which makes the caller free it too.

We could return NF_STOLEN to prevent that but I'm not sure
whether that's correct netfilter semantics.  Patrick, could
you please make a call on this?

Patrick McHardy states:

NF_STOLEN should work fine here.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-08-26 18:35:47 -07:00
..
netfilter [NETFILTER]: Clean up duplicate includes in net/bridge/ 2007-07-24 15:30:30 -07:00
Kconfig [BRIDGE]: use llc for receiving STP packets 2006-03-20 22:59:06 -08:00
Makefile [BRIDGE]: netlink interface for link management 2006-06-17 21:26:14 -07:00
br.c bridge: check kmem_cache_create() error 2007-04-25 22:28:51 -07:00
br_device.c [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
br_fdb.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
br_forward.c [NET]: Allow forwarding of ip_summed except CHECKSUM_COMPLETE 2007-04-25 22:28:16 -07:00
br_if.c [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
br_input.c net/* misc endianness annotations 2007-07-26 11:11:56 -07:00
br_ioctl.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
br_netfilter.c [VLAN/BRIDGE]: Fix "skb_pull_rcsum - Fatal exception in interrupt" 2007-08-26 18:35:47 -07:00
br_netlink.c [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
br_notify.c bridge: change when netlink events go to STP 2007-04-25 22:28:48 -07:00
br_private.h bridge: check kmem_cache_create() error 2007-04-25 22:28:51 -07:00
br_private_stp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
br_stp.c [BRIDGE]: Round off STP perodic timers. 2007-05-31 01:23:39 -07:00
br_stp_bpdu.c bridge: add support for user mode STP 2007-04-25 22:28:48 -07:00
br_stp_if.c [BRIDGE]: Fix typo in net/bridge/br_stp_if.c 2007-08-14 13:22:58 -07:00
br_stp_timer.c [BRIDGE]: Round off STP perodic timers. 2007-05-31 01:23:39 -07:00
br_sysfs_br.c missing return in bridge sysfs code 2007-08-19 10:32:31 -07:00
br_sysfs_if.c sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00