Re: [PATCH] rhashtable: Fix potential deadlock by moving schedule_work outside lock
From: Breno Leitao
Date: Fri Jan 10 2025 - 04:51:07 EST
Hello Herbet,
On Fri, Jan 10, 2025 at 05:27:49PM +0800, Herbert Xu wrote:
> Sorry, I think it was my addition that broke things. The condition
> for checking whether an entry is inserted is incorrect, thus resulting
> in an underflow of the number of entries after entry removal.
That is what I though originally as well, but I was not convinced. While
reading the code, I understood that, if new_tbl is not NULL, then
PTR_ERR(data) will be -ENOENT.
In which case `net_tbl` will not be NULL, and PTR_ERR(data) != -ENOENT?
Thanks for solving it.
> Please test this patch:
I don't have an easy reproducer yet, but, I will get this patch in ~50
hosts and see if any of them misbehave during the weekend.
Misbehaving in my case is strongly associate with messages like the
following being printed:
kobject_uevent: unable to create netlink socket!
Thanks
--breno