[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1345801604.11584.24.camel@cr0>
Date: Fri, 24 Aug 2012 17:46:44 +0800
From: Cong Wang <amwang@...hat.com>
To: netdev@...r.kernel.org
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Sylvain Munaut <s.munaut@...tever-company.com>,
David Miller <davem@...emloft.net>
Subject: Q: what protects dev->napi_list?
Hi,
Sylvain reported a netpoll CPU stall
http://marc.info/?l=linux-netdev&m=134563282530588&w=2
I tried to provide some fix for it:
http://marc.info/?l=linux-netdev&m=134571069921429&w=2
When reviewing that code, I noticed a problem, it seems dev->napi_list
is not protected by any lock? What if the device driver calls
netif_napi_del() meanwhile we are iterating &dev->napi_list in
poll_napi()? It seems netif_napi_del()/netif_napi_add() are usually
called with the RTNL lock held during driver init/uninit, but again
poll_napi() doesn't have RTNL lock.
Am I missing anything?
Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists