kernel-fxtec-pro1x/drivers/net
Ian Campbell 48856286b6 xen/netback: shutdown the ring if it contains garbage.
A buggy or malicious frontend should not be able to confuse netback.
If we spot anything which is not as it should be then shutdown the
device and don't try to continue with the ring in a potentially
hostile state. Well behaved and non-hostile frontends will not be
penalised.

As well as making the existing checks for such errors fatal also add a
new check that ensures that there isn't an insane number of requests
on the ring (i.e. more than would fit in the ring). If the ring
contains garbage then previously is was possible to loop over this
insane number, getting an error each time and therefore not generating
any more pending requests and therefore not exiting the loop in
xen_netbk_tx_build_gops for an externded period.

Also turn various netdev_dbg calls which no precipitate a fatal error
into netdev_err, they are rate limited because the device is shutdown
afterwards.

This fixes at least one known DoS/softlockup of the backend domain.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Jan Beulich <JBeulich@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-02-07 23:29:28 -05:00
..
appletalk
arcnet
bonding bonding: unset primary slave via sysfs 2013-01-29 15:43:35 -05:00
caif
can can: c_can: Set reserved bit in IFx_MASK2 to 1 on write 2013-02-01 10:20:22 +01:00
cris
dsa
ethernet via-rhine: Fix bugs in NAPI support. 2013-02-02 22:58:25 -05:00
fddi
hamradio
hippi
hyperv net/hyperv: fix wrong length of mac address 2013-01-19 11:01:23 -05:00
ieee802154
irda
phy net: phy: icplus: fix broken INTR pin settings 2013-01-28 00:08:22 -05:00
plip
ppp
slip
team
usb net: usbnet: fix tx_dropped statistics 2013-02-04 13:07:31 -05:00
vmxnet3 vmxnet3: set carrier state properly on probe 2013-01-29 16:29:22 -05:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
wimax i2400m: add Intel 6150 device IDs 2012-12-15 17:14:38 -08:00
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2013-02-01 13:43:25 -05:00
xen-netback xen/netback: shutdown the ring if it contains garbage. 2013-02-07 23:29:28 -05:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c net: loopback: fix a dst refcounting issue 2013-01-27 01:30:35 -05:00
macvlan.c macvlan: fix macvlan_get_size() 2013-01-17 16:40:35 -05:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c tuntap: allow polling/writing/reading when detached 2013-01-29 15:43:04 -05:00
veth.c
virtio_net.c virtio-net: reset virtqueue affinity when doing cpu hotplug 2013-01-27 01:22:51 -05:00
vxlan.c vxlan: allow live mac address change 2013-01-03 01:58:13 -08:00
xen-netfront.c xen/netfront: improve truesize tracking 2013-01-07 19:51:19 -08:00