uml: correctly handle skb allocation failures
authorJeff Dike <jdike@addtoit.com>
Tue, 16 Oct 2007 08:27:32 +0000 (01:27 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 16 Oct 2007 16:43:08 +0000 (09:43 -0700)
commit605c1e57690fddbd11347ec6788ff77c527994dd
tree81a296133a6b748c0822c69416802c9429d455cc
parentb53f35a8093e6aed7e8e880eaa0b89a3d2fdfb0a
uml: correctly handle skb allocation failures

Handle memory allocation failures when reading packets.

We have to read something from the host, even if we can't allocate any
memory.  If we don't, the host side of the device may fill up and stop
delivering interrupts because no new packets can be queued.

A single sk_buff is allocated whenever an MTU is seen which is larger
than any seen earlier.  This is used to read packets if there is a
memory allocation failure.

The large MTU check is done from eth_configure, which is called when a
interface is added to the system.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/drivers/net_kern.c