On Tue, Nov 10, 2026 at 03:56:03AM +0000, [email protected] wrote:
> [Severity: Medium]
> As reported by Eric Biggers on v5 [1], should keyring_link_params set
> .insecure_elasticity = true instead of looping on -EBUSY here?
> 
> Without .insecure_elasticity, rhashtable_insert_fast() enforces the
> 16-entry bucket chain limit (RHT_ELASTICITY) and returns -EBUSY to trigger
> a rehash.  Because keyring_obj_hashfn() only hashes the 32-bit link->hash
> via jhash_1word(), entries with colliding 32-bit SipHash digests cannot be
> split by rehashing with a new seed, so __key_link_begin() can spin
> indefinitely in this loop while holding keyring->sem.  This was fixed in
> v6 by setting .insecure_elasticity = true and dropping the retry loop, but
> appears to have been lost in v7.

Ugh, I fixed this already.

Clearly something went wrong with the rebase :-/

I'll manually apply v6 patches and send v8.

I honestly don't know what happened (likely the branch was not up to
date in the first place). Sorry.

Br, Jarkko

Reply via email to