linux/drivers/net
Jiri Pirko 57e5956319 team: fix possible null pointer dereference in team_handle_frame
Currently following race is possible in team:

CPU0                                        CPU1
                                            team_port_del
                                              team_upper_dev_unlink
                                                priv_flags &= ~IFF_TEAM_PORT
team_handle_frame
  team_port_get_rcu
    team_port_exists
      priv_flags & IFF_TEAM_PORT == 0
    return NULL (instead of port got
                 from rx_handler_data)
                                              netdev_rx_handler_unregister

The thing is that the flag is removed before rx_handler is unregistered.
If team_handle_frame is called in between, team_port_exists returns 0
and team_port_get_rcu will return NULL.
So do not check the flag here. It is guaranteed by netdev_rx_handler_unregister
that team_handle_frame will always see valid rx_handler_data pointer.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Fixes: 3d249d4ca7 ("net: introduce ethernet teaming device")
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-23 15:30:28 -05:00
..
appletalk net/appletalk: LTPC needs virt_to_bus 2015-02-20 16:28:46 -05:00
arcnet com20020-pci: add support for eae single card 2015-02-15 08:21:34 -08:00
bonding net/bonding: Fix potential bad memory access during bonding events 2015-02-09 14:03:53 -08:00
caif caif: remove wrong dev_net_set() call 2015-01-29 14:20:02 -08:00
can can: kvaser_usb: Ignore spurious error events after a busoff 2015-02-04 14:07:03 +01:00
cris
dsa net: dsa: bcm_sf2: fix 64-bits register reads 2015-02-20 17:52:46 -05:00
ethernet r8169: Revert BQL and xmit_more support. 2015-02-22 15:54:29 -05:00
fddi net: fddi: skfp: smt.c: Remove unused function 2015-01-02 16:36:07 -05:00
hamradio
hippi
hyperv hyperv: fix sparse warnings 2015-02-05 16:03:27 -08:00
ieee802154 ieee802154: cc2520: Fix space before , coding style issue 2015-02-02 06:09:35 +01:00
ipvlan ipvlan: add a missing __percpu pcpu_stats 2015-02-11 20:03:23 -08:00
irda irda: vlsi_ir: Replace timeval with ktime_t 2015-01-11 21:39:40 -05:00
phy net: phy: Fix verification of EEE support in phy_init_eee 2015-02-20 15:29:49 -05:00
plip
ppp ppp: deflate: never return len larger than output buffer 2015-01-29 14:50:01 -08:00
slip
team team: fix possible null pointer dereference in team_handle_frame 2015-02-23 15:30:28 -05:00
usb hso: replace current->state by __set_current_state() 2015-02-22 15:24:10 -05:00
vmxnet3 Driver: Vmxnet3: Change the hex constant to its decimal equivalent 2015-02-08 16:55:01 -08:00
wan wan: cosa: replace current->state by set_current_state() 2015-02-22 15:24:10 -05:00
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-17 17:41:19 -08:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-02-10 20:01:30 -08:00
dummy.c dummy: use MODULE_VERSION 2014-12-09 21:51:06 -05:00
eql.c
ifb.c
Kconfig ipvlan: Fix text that talks about ip util support 2015-02-20 16:35:44 -05:00
LICENSE.SRC
loopback.c
macvlan.c macvlan: advertise link netns via netlink 2015-01-23 17:51:15 -08:00
macvtap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
Makefile ipvlan: Initial check-in of the IPVLAN driver. 2014-11-24 15:29:18 -05:00
mdio.c
mii.c mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c net: rfs: add hash collision detection 2015-02-08 16:53:57 -08:00
veth.c veth: advertise link netns via netlink 2015-01-23 17:51:15 -08:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
vxlan.c vxlan: Use checksum partial with remote checksum offload 2015-02-11 15:12:13 -08:00
xen-netfront.c xen-netfront: Use static attribute groups for sysfs entries 2015-02-05 00:31:12 -08:00