Messages in this thread | | | Date | Sat, 04 May 2019 00:10:25 -0400 (EDT) | Subject | Re: [PATCH 2/3] netns: add netns_evict into netns_operations | From | David Miller <> |
| |
From: Wenbin Zeng <wenbin.zeng@gmail.com> Date: Wed, 1 May 2019 14:42:24 +0800
> The newly added netns_evict() shall be called when the netns inode being > evicted. It provides another path to release netns refcounts, previously > netns_put() is the only choice, but it is not able to release all netns > refcount, for example, a rpc client holds two netns refcounts, these > refcounts are supposed to be released when the rpc client is freed, but > the code to free rpc client is normally triggered by put() callback only > when netns refcount gets to 0, specifically: > refcount=0 -> cleanup_net() -> ops_exit_list -> free rpc client > But netns refcount will never get to 0 before rpc client gets freed, to > break the deadlock, the code to free rpc client can be put into the newly > added netns_evict. > > Signed-off-by: Wenbin Zeng <wenbinzeng@tencent.com>
Acked-by: David S. Miller <davem@davemloft.net>
| |