Re: [PATCH v5] KEYS: Add a list for unreferenced keys

From: Jarkko Sakkinen
Date: Sun Apr 06 2025 - 20:39:18 EST


On Mon, Apr 07, 2025 at 03:10:45AM +0300, Jarkko Sakkinen wrote:
> From: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxx>
>
> Add an isolated list of unreferenced keys to be queued for deletion, and
> try to pin the keys in the garbage collector before processing anything.
> Skip unpinnable keys.
>
> Use this list for blocking the reaping process during the teardown:
>
> 1. First off, the keys added to `keys_graveyard` are snapshotted, and the
> list is flushed. This the very last step in `key_put()`.
> 2. `key_put()` reaches zero. This will mark key as busy for the garbage
> collector.
> 3. `key_garbage_collector()` will try to increase refcount, which won't go
> above zero. Whenever this happens, the key will be skipped.
>
> Cc: stable@xxxxxxxxxxxxxxx # v6.1+
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxx>

Rebase went wrong:

https://lore.kernel.org/keyrings/20250407003622.22139-1-jarkko@xxxxxxxxxx/T/#u

BR, Jarkko