linux/drivers/net/ethernet
Ido Schimmel ed604c5da3 mlxsw: spectrum_router: Free LPM tree upon failure
When a new LPM tree is created, we try to replace the trees in the
existing virtual routers with it. If we fail, the tree needs to be
freed.

Currently, this does not happen in the unlikely case where we fail to
bind the tree to the first virtual router, since its reference count
never transitions from 1 to 0.

Fix that by taking a reference before binding the tree.

Fixes: fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-01-18 20:54:58 -05:00
..
3com 3c59x: fix missing dma_mapping_error check and bad ring refill logic 2018-01-03 13:44:14 -05:00
8390 net: 8390: pcnet_cs: mark expected switch fall-through 2017-11-11 19:10:06 +09:00
adaptec
adi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
aeroflex License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
agere treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
alacritech Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
allwinner
alteon License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
altera
amazon net: ena: fix error handling in ena_down() sequence 2018-01-03 12:21:00 -05:00
amd Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
apm
apple net: ethernet: apple: Convert timers to use timer_setup() 2017-10-18 12:40:25 +01:00
aquantia net: aquantia: Increment driver version 2017-12-15 12:46:42 -05:00
arc net: arc_emac: restart stalled EMAC 2017-12-19 13:25:52 -05:00
atheros treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
aurora License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
broadcom bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine. 2018-01-08 14:13:45 -05:00
brocade bna: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
cadence net: macb: add of_node_put to error paths 2017-11-11 15:27:44 +09:00
calxeda
cavium net: thunderx: Fix TCP/UDP checksum offload for IPv4 pkts 2017-12-06 14:43:31 -05:00
chelsio cxgb4: Fix FW flash errors 2018-01-03 12:19:50 -05:00
cirrus net: cs89x0: add MODULE_LICENSE 2018-01-15 13:27:03 -05:00
cisco treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
davicom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
dlink net: dl2k: remove redundant re-assignment to np 2017-11-02 15:52:19 +09:00
emulex locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
ezchip
faraday net: faraday: ftmac100: Use BUG_ON instead of if condition followed by BUG. 2017-10-27 23:53:14 +09:00
freescale net: fs_enet: do not call phy_stop() in interrupts 2018-01-17 15:44:16 -05:00
fujitsu
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-11-15 11:56:19 -08:00
hp
huawei
i825xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ibm ibmvnic: Fix pending MAC address changes 2018-01-16 11:26:16 -05:00
intel fm10k: mark PM functions as __maybe_unused 2018-01-18 15:52:07 -05:00
marvell net: mvneta: eliminate wrong call to handle rx descriptor error 2017-12-20 12:24:12 -05:00
mediatek net: mediatek: setup proper state for disabled GMAC on the default 2017-12-19 13:18:31 -05:00
mellanox mlxsw: spectrum_router: Free LPM tree upon failure 2018-01-18 20:54:58 -05:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
microchip License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
moxa
myricom treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
natsemi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
neterion net: vxge: Fix some indentation issues 2017-11-20 11:36:30 +09:00
netronome nfp: use the correct index for link speed table 2018-01-16 14:55:07 -05:00
nuvoton drivers/net: nuvoton: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
nvidia forcedeth: replace pci_unmap_page with dma_unmap_page 2017-11-25 05:08:53 +09:00
nxp
oki-semi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
packetengines drivers/net: packetengines: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
pasemi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
qlogic qed: Fix potential use-after-free in qed_spq_post() 2018-01-16 14:57:34 -05:00
qualcomm net: qcom/emac: Change the order of mac up and sgmii open 2017-12-18 13:20:41 -05:00
rdc
realtek net: realtek: r8169: implement set_link_ksettings() 2017-11-24 01:36:31 +09:00
renesas sh_eth: fix dumping ARSTR 2018-01-15 14:50:46 -05:00
rocker treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
samsung drivers/net: sxgbe: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
seeq Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
sfc sfc: pass valid pointers from efx_enqueue_unwind 2017-12-08 13:25:39 -05:00
sgi net/ethernet/sgi: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
silan
sis Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
stmicro net: stmmac: enable EEE in MII, GMII or RGMII only 2018-01-04 14:02:01 -05:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-11-15 11:56:19 -08:00
synopsys treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
tehuti
ti Net: ethernet: ti: netcp: Fix inbound ping crash if MTU size is greater than 1500 2018-01-17 16:19:37 -05:00
tile Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
toshiba treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
tundra drivers/net: tundra: Convert timers to use timer_setup() 2017-11-01 12:38:45 +09:00
via net: via: via-rhine: use %p to format void * address instead of %x 2017-11-29 09:45:24 -05:00
wiznet
xilinx net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit 2017-11-29 09:43:24 -05:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c fealnx: Fix building error on MIPS 2017-11-16 22:58:12 +09:00
jme.c
jme.h
Kconfig
korina.c drivers/net: korina: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
lantiq_etop.c
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netx-eth.c