This patch is a subset of an already upstream patch, but this portion is useful in earlier releases. Please consider for the 2.6.32 and 2.6.33 stable trees. If the add_buf operation fails, indicate failure to the caller. Signed-off-by: Bruce Rogers <brogers at novell.com> --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -318,6 +318,7 @@ static bool try_fill_recv_maxbufs(struct skb_unlink(skb, &vi->recv); trim_pages(vi, skb); kfree_skb(skb); + oom = true; break; } vi->num++; @@ -368,6 +369,7 @@ static bool try_fill_recv(struct virtnet if (err < 0) { skb_unlink(skb, &vi->recv); kfree_skb(skb); + oom = true; break; } vi->num++;