Massimo Cetra a écrit : > David Miller ha scritto: >> From: "Rafael J. Wysocki" <rjw@xxxxxxx> >> Date: Mon, 12 Oct 2009 00:22:04 +0200 (CEST) >> >> >>> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=14378 >>> Subject : Problems with net/core/skbuff.c >>> Submitter : Massimo Cetra <mcetra@xxxxxxxxxx> >>> Date : 2009-10-08 14:51 (4 days old) >>> References : http://marc.info/?l=linux-kernel&m=125501488220358&w=4 >>> >> >> I don't know what to do about this one. >> >> The user indicates that they have the vserver patches applied, >> so maybe there is some interaction with that stuff. >> > Actually i found another oops which is very similar to the previous one. > Here, vserver is not involved, and the problem starts at drbd which > lives in kernel space (the other oops started at ocfs2). > > Both ocfs2 and drbd make heavy use of network I/O so i guess the problem > is something in the network layer. > > Anything i can do to help to debugging and solving this issue ? > > Thanks > Max > Problem is kfree_skb() is called from irq context, wich is not allowed. static void skb_release_head_state(struct sk_buff *skb) { ... if (skb->destructor) { WARN_ON(in_irq()); skb->destructor(); } ... } virtio_net start_xmit() function calls free_old_xmit_skbs() and free_old_xmit_skbs() ultimately calls kfree_skb() Quick fix would be to use dev_kfree_skb_any() instead, because netpoll can definitly calls start_xmit() with irq disabled. Could you please following patch ? diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 8d00976..54bf091 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -454,7 +454,7 @@ static unsigned int free_old_xmit_skbs(struct virtnet_info *vi) vi->dev->stats.tx_bytes += skb->len; vi->dev->stats.tx_packets++; tot_sgs += skb_vnet_hdr(skb)->num_sg; - kfree_skb(skb); + dev_kfree_skb_any(skb); } return tot_sgs; } -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html