linux/drivers/net/ethernet
Raed Salem 21083309ca net/mlx5e: Fix slab-out-of-bounds in mlx5e_rep_is_lag_netdev
mlx5e_rep_is_lag_netdev is used as first check as part of netdev events
handler for bond device of non-uplink representors, this handler can get
any netdevice under the same network namespace of mlx5e netdevice. Current
code treats the netdev as mlx5e netdev and only later on verifies this,
hence causes the following Kasan trace:
[15402.744990] ==================================================================
[15402.746942] BUG: KASAN: slab-out-of-bounds in mlx5e_rep_is_lag_netdev+0xcb/0xf0 [mlx5_core]
[15402.749009] Read of size 8 at addr ffff880391f3f6b0 by task ovs-vswitchd/5347

[15402.752065] CPU: 7 PID: 5347 Comm: ovs-vswitchd Kdump: loaded Tainted: G    B      O     --------- -t - 4.18.0-g3dcc204d291d-dirty #1
[15402.755349] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
[15402.757600] Call Trace:
[15402.758968]  dump_stack+0x71/0xab
[15402.760427]  print_address_description+0x6a/0x270
[15402.761969]  kasan_report+0x179/0x2d0
[15402.763445]  ? mlx5e_rep_is_lag_netdev+0xcb/0xf0 [mlx5_core]
[15402.765121]  mlx5e_rep_is_lag_netdev+0xcb/0xf0 [mlx5_core]
[15402.766782]  mlx5e_rep_esw_bond_netevent+0x129/0x620 [mlx5_core]

Fix by deferring the violating access to be post the netdev verify check.

Fixes: 7e51891a23 ("net/mlx5e: Use netdev events to set/del egress acl forward-to-vport rule")
Signed-off-by: Raed Salem <raeds@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Vu Pham <vuhuong@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2020-07-28 12:55:45 -07:00
..
3com treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
8390 treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
adaptec treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
aeroflex treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
agere treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
alacritech treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
allwinner treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
alteon treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
altera treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
amazon treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
amd treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
apm
apple treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
aquantia net: atlantic: fix PTP on AQC10X 2020-07-22 18:15:07 -07:00
arc treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
atheros net: ag71xx: add missed clk_disable_unprepare in error path of probe 2020-07-20 18:37:38 -07:00
aurora
broadcom net: bcmgenet: add missed clk_disable_unprepare in bcmgenet_probe 2020-07-20 17:03:45 -07:00
brocade treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
cadence net: macb: use phy_interface_mode_is_rgmii everywhere 2020-07-17 18:32:35 -07:00
calxeda
cavium treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
chelsio cxgb4: add missing release on skb in uld_send() 2020-07-22 20:04:17 -07:00
cirrus treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
cisco treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
cortina treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
davicom treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
dec treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
dlink treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
emulex treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ezchip treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
faraday treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
freescale enetc: Remove the mdio bus on PF probe bailout 2020-07-22 17:51:13 -07:00
fujitsu treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
google
hisilicon net: hns3: fix return value error when query MAC link status fail 2020-07-21 15:49:17 -07:00
huawei hinic: fix sending mailbox timeout in aeq event work 2020-07-04 17:53:16 -07:00
i825xx treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ibm ibmvnic: continue to init in CRQ reset returns H_CLOSED 2020-06-20 17:28:41 -07:00
intel i40e: fix crash when Rx descriptor count is changed 2020-06-18 22:37:25 -07:00
marvell net: sky2: initialize return of gm_phy_read 2020-07-07 15:23:53 -07:00
mediatek net: ethernet: mtk-star-emac: simplify interrupt handling 2020-06-15 13:30:58 -07:00
mellanox net/mlx5e: Fix slab-out-of-bounds in mlx5e_rep_is_lag_netdev 2020-07-28 12:55:45 -07:00
micrel treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
microchip lan743x: add MODULE_DEVICE_TABLE for module loading alias 2020-06-16 14:01:14 -07:00
moxa treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
mscc net: mscc: ocelot: fix hardware timestamp dequeue logic 2020-07-27 12:04:40 -07:00
myricom treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
natsemi treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
neterion net: neterion: vxge: reduce stack usage in VXGE_COMPLETE_VPATH_TX 2020-07-20 18:38:27 -07:00
netronome net: flow_offload: fix flow_indr_dev_unregister path 2020-06-19 20:12:58 -07:00
ni
nvidia treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
nxp
oki-semi net: ethernet: oki-semi: pch_gbe: fix spelling mistake 2020-06-19 13:09:26 -07:00
packetengines treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
pasemi treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
pensando ionic: use mutex to protect queue operations 2020-07-20 18:09:38 -07:00
qlogic qed: suppress false-positives interrupt error messages on HW init 2020-07-21 16:07:34 -07:00
qualcomm net: rmnet: do not allow to add multiple bridge interfaces 2020-07-04 18:04:55 -07:00
rdc treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
realtek r8169: fix firmware not resetting tp->ocp_base 2020-06-20 17:31:26 -07:00
renesas net: ethernet: ravb: exit if re-initialization fails in tx timeout 2020-07-21 15:34:07 -07:00
rocker rocker: fix incorrect error handling in dma_rings_init 2020-06-15 13:37:36 -07:00
samsung treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
seeq treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sfc treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sgi treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
silan treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sis treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
smsc net: smc91x: Fix possible memory leak in smc_drv_probe() 2020-07-17 12:44:42 -07:00
socionext net: ethernet: ave: Fix error returns in ave_init 2020-07-21 18:31:46 -07:00
stmicro treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
sun treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
synopsys treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
tehuti treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
ti net: ethernet: ti: add NETIF_F_HW_TC hw feature flag for taprio offload 2020-07-21 18:32:34 -07:00
toshiba treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
tundra treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
via treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
wiznet treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
xilinx net: axienet: fix spelling mistake in comment "Exteneded" -> "extended" 2020-06-15 13:02:03 -07:00
xircom treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
xscale treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
korina.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
lantiq_etop.c
lantiq_xrx200.c
Makefile