Subject: Re: [PATCH v2 net] net: Fix an unsafe loop on the list

From: Jakub Kicinski <[email-masked]>
Date: Wed, 2 Oct 2024 06:02:40 -0700

On Tue, 1 Oct 2024 14:58:28 +0300 Anastasia Kovaleva wrote:
> The kernel may crash when deleting a genetlink family if there are still
> listeners for that family:

Could you add a selftest? Should be fairly easy using YNL, ncdevmem is
the only user so far.

> Oops: Kernel access of bad area, sig: 11 [#1]
>   ...
>   NIP [c000000000c080bc] netlink_update_socket_mc+0x3c/0xc0
>   LR [c000000000c0f764] __netlink_clear_multicast_users+0x74/0xc0
>   Call Trace:
> __netlink_clear_multicast_users+0x74/0xc0
> genl_unregister_family+0xd4/0x2d0
> 
> Change the unsafe loop on the list to a safe one, because inside the
> loop there is an element removal from this list.
> 
> Fixes: b8273570f802 ("genetlink: fix netns vs. netlink table locking (2)")\

nit: trailing \ at the end of the line here