Thread (18 messages) 18 messages, 7 authors, 2015-03-01

Re: [Patch net] netns: avoid allocating idr when dumping info

From: Nicolas Dichtel <hidden>
Date: 2015-02-27 16:26:00

Le 27/02/2015 09:01, Eric Dumazet a écrit :
On Thu, 2015-02-26 at 22:32 -0800, Cong Wang wrote:
quoted
We can allocate the peer netns id when creating the link
instead of when dumping the link.

This fixes the following kernel warning:

  ===============================
  [ INFO: suspicious RCU usage. ]
  3.19.0+ #805 Tainted: G        W
  -------------------------------
  include/linux/rcupdate.h:538 Illegal context switch in RCU read-side critical section!

  other info that might help us debug this:
This looks very complicated, why even bother ?

I gave an obvious patch fixing root cause, I have no idea why you prefer
over engineering this.

If you believe allocating peer netns id is required at link creation
time, you should explain why.

BTW, (void)peernet2id(dev_net(dev), src_net) can fail, and your fix is
not complete anyway.
That's true. The patch does not cover the following case:
ip link add foo type bar
ip link set foo netns netns1

In this case, the second command will call dev_change_net_namespace() and the
id will not be allocated.

I think Eric's patch is simpler and less error-prone.

FWIW, I will be off for one week and probably without any internet access ;-)

Regards,
Nicolas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help