Herbert and Breno,

On 10.01.2025 10:27, Herbert Xu wrote:
> On Thu, Jan 09, 2025 at 02:15:17AM -0800, Breno Leitao wrote:
> 
> Reported-by: Michael Kelley <mhkli...@outlook.com>
> Fixes: e1d3422c95f0 ("rhashtable: Fix potential deadlock by moving 
> schedule_work outside lock")
> Signed-off-by: Herbert Xu <herb...@gondor.apana.org.au>
> 
> diff --git a/lib/rhashtable.c b/lib/rhashtable.c
> index bf956b85455a..e196b6f0e35a 100644
> --- a/lib/rhashtable.c
> +++ b/lib/rhashtable.c
> @@ -621,7 +621,7 @@ static void *rhashtable_try_insert(struct rhashtable *ht, 
> const void *key,
>  
>                       rht_unlock(tbl, bkt, flags);
>  
> -                     if (PTR_ERR(data) == -ENOENT && !new_tbl) {
> +                     if (!new_tbl) {
>                               atomic_inc(&ht->nelems);
>                               if (rht_grow_above_75(ht, tbl))
>                                       schedule_work(&ht->run_work);

I'd like to let you know that I was getting OOM failure on s390 when booting
the kernel (linux-next20250109) with limited memory (mem=1G kernel parameter).
Problem took place in both zVM and LPAR environments. Bisecting also revealed
the commit e1d3422c95f0 ("rhashtable: Fix potential deadlock by moving
schedule_work outside lock").
Afterwards, I tried the fix from Herbert above and the error does not appear
any more. So it seems to resolve the issue.

Thanks,
Mikhail


Reply via email to