linux/drivers/net
Simon Guinot a84e328941 net: mvneta: fix refilling for Rx DMA buffers
With the actual code, if a memory allocation error happens while
refilling a Rx descriptor, then the original Rx buffer is both passed
to the networking stack (in a SKB) and let in the Rx ring. This leads
to various kernel oops and crashes.

As a fix, this patch moves Rx descriptor refilling ahead of building
SKB with the associated Rx buffer. In case of a memory allocation
failure, data is dropped and the original DMA buffer is put back into
the Rx ring.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
Fixes: c5aff18204 ("net: mvneta: driver for Marvell Armada 370/XP network unit")
Cc: <stable@vger.kernel.org> # v3.8+
Tested-by: Yoann Sculo <yoann@sculo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-21 00:30:02 -07:00
..
appletalk
arcnet drivers/net: remove all references to obsolete Ethernet-HOWTO 2015-06-23 06:50:35 -07:00
bonding bonding: correct the MAC address for "follow" fail_over_mac policy 2015-07-20 20:29:40 -07:00
caif
can can: mcp251x: get regulators optionally 2015-07-16 09:04:22 +02:00
cris
dsa net: dsa: bcm_sf2: do not use indirect reads and writes for 7445E0 2015-07-20 16:47:30 -07:00
ethernet net: mvneta: fix refilling for Rx DMA buffers 2015-07-21 00:30:02 -07:00
fddi fddi: print an address with %p format specifier rather than %x 2015-06-07 00:31:22 -07:00
hamradio NET: hamradio: Fix IP over bpq encapsulation. 2015-07-08 14:09:03 -07:00
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-06-24 16:49:49 -07:00
ieee802154 at86rf230: cleanup start and stop callbacks 2015-06-16 18:55:11 +02:00
ipvlan ipvlan: ignore addresses from ipv6 autoconfiguration 2015-07-15 21:33:40 -07:00
irda irda: irda-usb: use msecs_to_jiffies for conversions 2015-05-25 17:39:21 -04:00
phy net/mdio: fix mdio_bus_match for c45 PHY 2015-07-21 00:16:37 -07:00
plip
ppp netfilter: Remove spurios included of netfilter.h 2015-06-18 21:14:32 +02:00
slip
team switchdev: add support for fdb add/del/dump via switchdev_port_obj ops. 2015-05-17 22:49:09 -04:00
usb qmi_wwan: add the second QMI/network interface for Sierra Wireless MC7305/MC7355 2015-07-20 20:42:39 -07:00
vmxnet3 vmxnet3: prevent receive getting out of sequence on napi poll 2015-07-08 23:36:11 -07:00
wan Doc: z8530book: Fix typo in API-z8530-sync-txdma-open.html 2015-07-10 23:45:31 -07:00
wimax
wireless Minor merge needed, due to function move. 2015-07-01 10:49:25 -07:00
xen-netback net/xen-netback: off by one in BUG_ON() condition 2015-07-14 15:40:52 -07:00
dummy.c
eql.c
geneve.c geneve: allow user to specify TOS info for tunnel frames 2015-06-01 17:05:04 -07:00
ifb.c
Kconfig A very significant modification to NTB in this series. 2015-07-04 14:07:47 -07:00
LICENSE.SRC
loopback.c
macvlan.c macvlan: Propagate promiscuity setting to lower devices. 2015-05-04 00:14:13 -04:00
macvtap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-07-13 11:18:25 -07:00
Makefile geneve: add initial netdev driver for GENEVE tunnels 2015-05-13 15:59:13 -04:00
mdio.c
mii.c
netconsole.c netconsole: implement extended console support 2015-06-25 17:00:39 -07:00
nlmon.c
ntb_netdev.c NTB: Split ntb_hw_intel and ntb_transport drivers 2015-07-04 14:05:49 -04:00
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c virtio/vhost: cross endian support 2015-07-03 16:02:25 -07:00
veth.c
virtio_net.c virtio_net: don't require ANY_LAYOUT with VERSION_1 2015-07-20 12:43:33 -07:00
vxlan.c vxlan: release lock after each bucket in vxlan_cleanup 2015-05-27 13:33:21 -04:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-07-01 14:58:07 -07:00