linux/drivers/net
Thomas Petazzoni d7ecae7266 net: mvpp2: release reference to txq_cpu[] entry after unmapping
[ Upstream commit 36fb7435b6 ]

The mvpp2_txq_bufs_free() function is called upon TX completion to DMA
unmap TX buffers, and free the corresponding SKBs. It gets the
references to the SKB to free and the DMA buffer to unmap from a per-CPU
txq_pcpu data structure.

However, the code currently increments the pointer to the next entry
before doing the DMA unmap and freeing the SKB. It does not cause any
visible problem because for a given SKB the TX completion is guaranteed
to take place on the CPU where the TX was started. However, it is much
more logical to increment the pointer to the next entry once the current
entry has been completely unmapped/released.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-21 17:09:05 +02:00
..
appletalk
arcnet arcnet/com20020: add LEDS_CLASS dependency 2015-11-03 11:29:56 -05:00
bonding bonding: Fix bonding crash 2016-09-30 10:18:36 +02:00
caif net: caif: check return value of alloc_netdev 2015-11-09 11:31:13 -05:00
can can: gs_usb: fix memory leak in gs_cmd_reset() 2017-06-26 07:13:08 +02:00
cris
dsa net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change 2016-12-10 19:07:23 +01:00
ethernet net: mvpp2: release reference to txq_cpu[] entry after unmapping 2017-10-21 17:09:05 +02:00
fddi
fjes fjes: fix inconsistent indenting 2015-11-15 17:09:23 -05:00
hamradio NET: mkiss: Fix panic 2017-06-17 06:39:35 +02:00
hippi
hyperv hv_netvsc: use skb_get_hash() instead of a homegrown implementation 2017-03-26 12:13:18 +02:00
ieee802154 fakelb: fix schedule while atomic 2017-03-15 09:57:15 +08:00
ipvlan ipvlan: fix use after free of skb 2015-11-17 14:39:29 -05:00
irda mcs7780: Fix initialization when CONFIG_VMAP_STACK is enabled 2017-08-11 09:08:52 -07:00
phy Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" 2017-09-27 11:00:11 +02:00
plip
ppp ppp: defer netns reference release for ppp channel 2017-01-06 11:16:17 +01:00
slip ppp, slip: Validate VJ compression slot parameters completely 2015-11-02 16:25:00 -05:00
team team: fix memory leaks 2017-10-08 10:14:18 +02:00
usb USB: core: harden cdc_parse_cdc_header 2017-10-12 11:27:33 +02:00
vmxnet3 Driver: Vmxnet3: Fix regression caused by 5738a09 2016-01-06 16:20:13 -05:00
wan farsync: fix off-by-one bug in fst_add_one 2016-04-20 15:42:03 +09:00
wimax
wireless mac80211_hwsim: check HWSIM_ATTR_RADIO_NAME length 2017-10-21 17:09:04 +02:00
xen-netback xen-netback: correctly schedule rate-limited queues 2017-08-11 09:08:56 -07:00
dummy.c net: dummy: add more features 2015-10-21 19:36:10 -07:00
eql.c
geneve.c geneve: avoid use-after-free of skb->data 2016-12-10 19:07:24 +01:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: introduce device min_header_len 2017-02-18 16:39:27 +01:00
macvlan.c macvlan: Fix device ref leak when purging bc_queue 2017-05-02 21:19:54 -07:00
macvtap.c macvtap: read vnet_hdr_size once 2017-02-18 16:39:27 +01:00
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c rapidio/rionet: fix deadlock on SMP 2016-04-12 09:08:58 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c tun: bail out from tun_get_user() if the skb is empty 2017-10-21 17:09:03 +02:00
veth.c veth: don’t modify ip_summed; doing so treats packets with bad checksums as good. 2015-12-22 15:15:34 -05:00
virtio_net.c virtio_net: fix PAGE_SIZE > 64k 2017-07-05 14:37:19 +02:00
vrf.c vrf: fix bug_on triggered by rx when destroying a vrf 2017-07-21 07:44:55 +02:00
vxlan.c vxlan: do not age static remote mac entries 2017-07-05 14:37:19 +02:00
xen-netfront.c xen-netfront: Fix Rx stall during network stress and OOM 2017-07-05 14:37:18 +02:00