linux/drivers/net/ethernet
Arkadi Sharshevsky 400fc0106d mlxsw: switchx2: Fix memory leak at skb reallocation
During transmission the skb is checked for headroom in order to
add vendor specific header. In case the skb needs to be re-allocated,
skb_realloc_headroom() is called to make a private copy of the original,
but doesn't release it. Current code assumes that the original skb is
released during reallocation and only releases it at the error path
which causes a memory leak.

Fix this by adding the original skb release to the main path.

Fixes: d003462a50 ("mlxsw: Simplify mlxsw_sx_port_xmit function")
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-12 09:25:55 -05:00
..
3com Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
8390 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adaptec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
adi Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
aeroflex net: phy: expose phy_aneg_done API for use by drivers 2016-11-13 00:56:26 -05:00
agere
alacritech Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
allwinner net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order 2016-11-15 22:05:54 -05:00
alteon Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
altera Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
amazon
amd amd-xgbe: Fix IRQ processing when running in single IRQ mode 2017-01-06 15:34:05 -05:00
apm net: xgene: avoid bogus maybe-uninitialized warning 2016-12-08 21:30:54 -05:00
apple
arc net: arc_emac: add dependencies on associated arches and compile test 2016-11-29 18:57:36 -05:00
atheros Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
aurora Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
broadcom tg3: Fix race condition in tg3_get_stats64(). 2017-01-07 21:35:04 -05:00
brocade bna: use designated initializers 2016-12-17 11:56:57 -05:00
cadence net: macb: Updated resource allocation function calls to new version of API. 2017-01-03 09:35:42 -05:00
calxeda net: calxeda: xgmac: use new api ethtool_{get|set}_link_ksettings 2016-12-05 15:34:33 -05:00
cavium LiquidIO VF: s/select/imply/ for PTP_1588_CLOCK 2017-01-04 13:27:16 -05:00
chelsio libcxgb: fix error check for ip6_route_output() 2017-01-04 13:25:53 -05:00
cirrus net: cirrus: ep93xx: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
cisco enic: set skb->hash type properly 2016-11-02 15:32:53 -04:00
davicom net: davicom: dm9000: use new api ethtool_{get|set}_link_ksettings 2016-12-17 21:31:41 -05:00
dec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dlink Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
emulex be2net: fix unicast list filling 2017-01-07 21:25:10 -05:00
ezchip
faraday
freescale dpaa_eth: Initialize CGR structure before init 2017-01-04 13:45:09 -05:00
fujitsu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hisilicon net: hix5hd2_gmac: fix compatible strings name 2016-12-20 14:12:29 -05:00
hp
i825xx
ibm Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
intel mm: rename __page_frag functions to __page_frag_cache, drop order from drain 2017-01-10 18:31:55 -08:00
marvell ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
mellanox mlxsw: switchx2: Fix memory leak at skb reallocation 2017-01-12 09:25:55 -05:00
micrel
microchip encx24j600: Fix some checkstyle warnings 2016-12-16 13:31:47 -05:00
moxa
myricom
natsemi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
neterion
netronome bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
nuvoton
nvidia
nxp
oki-semi
packetengines Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pasemi
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-17 20:17:04 -08:00
qualcomm net: qcom/emac: don't try to claim clocks on ACPI systems 2016-12-17 10:22:14 -05:00
rdc r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected 2016-12-17 21:35:12 -05:00
realtek r8169: fix the typo in the comment 2017-01-05 11:24:48 -05:00
renesas sh_eth: R8A7740 supports packet shecksumming 2017-01-06 15:23:01 -05:00
rocker ipv4: fib: Replay events when registering FIB notifier 2016-12-03 19:29:35 -05:00
samsung Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -08:00
seeq
sfc sfc: don't report RX hash keys to ethtool when RSS wasn't enabled 2017-01-04 14:18:19 -05:00
sgi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
silan
sis Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
smsc Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
stmicro net: stmmac: fix maxmtu assignment to be within valid range 2017-01-08 18:20:41 -05:00
sun Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
synopsys Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
tehuti
ti clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
tile ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
tundra
via Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wiznet
xilinx net: ll_temac: Utilize of_get_mac_address() 2016-12-08 11:34:03 -05:00
xircom Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c
dnet.h
ec_bhf.c ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
ethoc.c net: ethoc: Demote packet dropped error message to debug 2016-12-05 15:30:04 -05:00
fealnx.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
jme.c
jme.h
Kconfig ethernet: sfc: Add Kconfig entry for vendor Solarflare 2016-12-20 14:19:38 -05:00
korina.c net: korina: Fix NAPI versus resources freeing 2016-12-26 11:26:16 -05:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
Makefile net: ethernet: slicoss: add slicoss gigabit ethernet driver 2016-12-06 11:24:28 -05:00
netx-eth.c