lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z-bDuh3oB1ZnIrtj@mini-arch>
Date: Fri, 28 Mar 2025 08:43:54 -0700
From: Stanislav Fomichev <stfomichev@...il.com>
To: Taehee Yoo <ap420073@...il.com>
Cc: Stanislav Fomichev <sdf@...ichev.me>, netdev@...r.kernel.org,
	davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
	pabeni@...hat.com
Subject: Re: [PATCH net v2 00/11] net: hold instance lock during
 NETDEV_UP/REGISTER/UNREGISTER

On 03/28, Taehee Yoo wrote:
> On Thu, Mar 27, 2025 at 10:57 PM Stanislav Fomichev <sdf@...ichev.me> wrote:
> >
> 
> Hi Stanislav,
> Thanks a lot for the patch!
> 
> > Solving the issue reported by Cosmin in [0] requires consistent
> > lock during NETDEV_UP/REGISTER/UNREGISTER notifiers. This series
> > addresses that (along with some other fixes in net/ipv4/devinet.c
> > and net/ipv6/addrconf.c) and appends the patches from Jakub
> > that were conditional on locked NETDEV_UNREGISTER.
> >
> > 0: https://lore.kernel.org/netdev/700fa36b94cbd57cfea2622029b087643c80cbc9.camel@nvidia.com/
> >
> 
> I tested it using netdevsim/veth and my Broadcom NIC.
> It appears that netdevsim/veth has no issues, but I encountered many
> RTNL assertions in the bnxt driver.
> 
> Reproducer:
>    interface=<bnxt interface>
>    ip a a 10.0.0.1/24 dev $interface
>    ip a a 2001:db8::1/64 dev $interface
>    ip link set $interface up
>    reboot

Ok, so, reboot triggers pci_driver.shutdown which triggers inetdev_event
which asserts rtnl. Looks like I need to bring rtnl_lock back here.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ