[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241105171135.41014-1-kuniyu@amazon.com>
Date: Tue, 5 Nov 2024 09:11:35 -0800
From: Kuniyuki Iwashima <kuniyu@...zon.com>
To: <pabeni@...hat.com>
CC: <andrew+netdev@...n.ch>, <daniel@...earbox.net>, <davem@...emloft.net>,
<edumazet@...gle.com>, <horms@...nel.org>, <kuba@...nel.org>,
<kuni1840@...il.com>, <kuniyu@...zon.com>, <mailhol.vincent@...adoo.fr>,
<mkl@...gutronix.de>, <netdev@...r.kernel.org>, <razor@...ckwall.org>
Subject: Re: [PATCH v1 net-next 7/8] rtnetlink: Convert RTM_NEWLINK to per-netns RTNL.
From: Paolo Abeni <pabeni@...hat.com>
Date: Tue, 5 Nov 2024 17:22:54 +0100
> On 11/5/24 03:05, Kuniyuki Iwashima wrote:
> > @@ -6995,7 +7017,8 @@ static struct pernet_operations rtnetlink_net_ops = {
> > };
> >
> > static const struct rtnl_msg_handler rtnetlink_rtnl_msg_handlers[] __initconst = {
> > - {.msgtype = RTM_NEWLINK, .doit = rtnl_newlink},
> > + {.msgtype = RTM_NEWLINK, .doit = rtnl_newlink,
> > + .flags = RTNL_FLAG_DOIT_PERNET},
>
> The above causes a lockdep splat in many selftests:
>
> https://netdev-3.bots.linux.dev/vmksft-net-dbg/results/846801/12-bareudp-sh/stderr
>
> the problem is in rtnl_newlink():
>
> #ifdef CONFIG_MODULES
> if (!ops) {
> __rtnl_unlock();
> // we no more under the rtnlock
> request_module("rtnl-link-%s", kind);
> rtnl_lock();
> ops = rtnl_link_ops_get(kind, &ops_srcu_index);
> }
> #endif
Oh, somehow I dropped this part of change while rebasing the RFC version...
https://github.com/q2ven/linux/commit/fea4b46993e8802e6dd7341d6e7dd49396e378d1
Will remove the unlock dance in v2.
Thanks!
Powered by blists - more mailing lists