Re: NULL deref in bnx2 / crashes ? ( was: netconsole leads to stalled CPU task )
From: Lin Ming <hidden>
Date: 2012-08-25 02:21:24
On Wed, Aug 22, 2012 at 10:29 PM, Sylvain Munaut [off-list ref] wrote:
Hi,quoted
my patch was incomplete, sorry :diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 346b1eb..ddc453b 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c@@ -335,8 +335,13 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb, /* don't get messages out of order, and no recursion */ if (skb_queue_len(&npinfo->txq) == 0 && !netpoll_owner_active(dev)) { struct netdev_queue *txq; + int queue_index = skb_get_queue_mapping(skb); - txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb)); + if (queue_index >= dev->real_num_tx_queues) { + queue_index = 0; + skb_set_queue_mapping(skb, 0); + } + txq = netdev_get_tx_queue(dev, queue_index); /* try until next clock tick */ for (tries = jiffies_to_usecs(1)/USEC_PER_POLL;Ok, I tried this. The machine with the intel card still hard freeze (no output / no nothing ...)
Did you enable hard lockup detector? CONFIG_LOCKUP_DETECTOR=y CONFIG_HARDLOCKUP_DETECTOR=y
The machine with the bnx2 don't crash anymore and no NULL deref, but the modprobe still hangs and I get this every 180 sec or so :