Re: [v3 PATCH] rhashtable: Fix rhashtable_try_insert test

From: Herbert Xu
Date: Thu Jan 16 2025 - 04:10:54 EST


On Wed, Jan 15, 2025 at 07:15:46AM -0800, Breno Leitao wrote:
>
> Something like the following (not tested):
>
> diff --git a/lib/rhashtable.c b/lib/rhashtable.c
> index 3e555d012ed60..5a0ec71e990ee 100644
> --- a/lib/rhashtable.c
> +++ b/lib/rhashtable.c
> @@ -554,7 +554,7 @@ static struct bucket_table *rhashtable_insert_one(
> return ERR_PTR(-EEXIST);
>
> if (PTR_ERR(data) != -EAGAIN && PTR_ERR(data) != -ENOENT)
> - return ERR_CAST(data);
> + return ERR_PTR(-EINVAL);

But data == NULL is not an error, it is a successful return value
for rhltable. It's when a key already exists in the rhltable
and we're simply appending the new object to it. Thus the insertion
was successful but the hash table did not grow.

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt