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