Re: [Patch net-next 2/2] netns: avoid disabling irq for netns id
From: Nicolas Dichtel <hidden>
Date: 2016-09-04 20:23:50
Le 02/09/2016 à 19:24, Cong Wang a écrit :
On Fri, Sep 2, 2016 at 9:39 AM, Cong Wang [off-list ref] wrote:quoted
On Fri, Sep 2, 2016 at 1:12 AM, Nicolas Dichtel [off-list ref] wrote:quoted
Le 02/09/2016 à 06:53, Cong Wang a écrit :quoted
We never read or change netns id in hardirq context, the only place we read netns id in softirq context is in vxlan_xmit(). So, it should be enough to just disable BH.Are you sure? Did you audit all part of the code?I did audit all the callers, and I didn't find any of them in IRQ context.quoted
peernet2id() is called from netlink core system (do_one_broadcast()). Are you sure that no driver call this function from an hard irq context?I audit all callers of netlink_broadcast(), and I don't see any of them in hardirq context.Note, you can rule out most of them by checking GFP_KERNEL, which indicates a process context. ;) For GFP_ATOMIC cases, I don't see any of them in hardirq context either, but I am definitely not familiar with drivers like infiniband.
Yes, I was thinking to that one. But I'm also not familiar with it ;-)