From: sashiko-bot@kernel.org
Cc: "open list:SECURITY SUBSYSTEM" <linux-security-module@vger.kernel.org>
Subject: Re: [RFC PATCH v2 11/11] KEYS: key_garbage_collector(): process in chunks
Date: Wed, 04 Nov 2026 03:03:09 +0000 [thread overview]
Message-ID: <sashiko-outbox-196575@kernel.org> (raw)
In-Reply-To: <20261103030226.2685251-12-jarkko@kernel.org>
> key_garbage_collector() has a design that is not resistant enough for
> workqueue lockups. The duration scales up relative to the number of items
> in the serial tree, which causes a reoccuring theme of being guilty of
> causing workqueue lockups.
>
> Resolve the problem by processing in chunks:
>
> 1. Declare a static variable key_gc_work, which owns the garbage collection
> in-flight state, and key_schedule_gc_work() for re-scheduling the work.
> 2. Define KEY_GC_CHUNK_SIZE, set to 64 keys, as the bound for the number
> of items scanned and destroyed.
> 3. Define KEY_GC_DESTROYING to mark resume to destruction without repeating
> the RCU grace period.
> 4. Define KEY_GC_REAP_REQUESTED for preserving full-pass requests across
> the continuations.
> [ ... ]
> decline.
>
> Fixes: 0c061b5707ab ("KEYS: Correctly destroy key payloads when their keytype is removed")
> Link: https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd-test.git/tree/package/keygcbench
> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261103030226.2685251-1-jarkko@kernel.org?part=11
next prev parent reply other threads:[~2026-11-04 3:03 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-03 3:02 [RFC PATCH v2 00/11] KEYS: Sanitize the garbage collector Jarkko Sakkinen
2026-11-03 3:02 ` [RFC PATCH v2 01/11] KEYS: Add key_gc_flush() for draining RCU callbacks Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 02/11] nvme-keyring: Add a missing key_put() call to nvme_tls_key_lookup() Jarkko Sakkinen
2026-11-03 5:33 ` Christoph Hellwig
2026-11-03 12:29 ` Jarkko Sakkinen
2026-11-04 9:04 ` Christoph Hellwig
2026-11-04 14:43 ` Jarkko Sakkinen
2026-11-04 15:53 ` Keith Busch
2026-11-04 3:03 ` sashiko-bot
2026-11-04 7:45 ` Hannes Reinecke
2026-11-04 14:43 ` Jarkko Sakkinen
2026-11-03 3:02 ` [RFC PATCH v2 03/11] dns_resolver: Clear .dns_resolver cache when the last client unloads Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 04/11] NFSv4: Clear idmap keyring " Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 05/11] smb: client: Clear idmap/SPNEGO caches when the last session is unloaded Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 06/11] s390/cert_store: Track subsystem keys instead of re-registering key_type Jarkko Sakkinen
2026-11-03 12:06 ` Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 07/11] KEYS: trusted: TEE: Disable sysfs bind attributes Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 08/11] KEYS: trusted: TEE: Synchronize session lifetime Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 09/11] KEYS: Pin the backing kernel module for a key type Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 10/11] KEYS: Remove key_type_dead Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot
2026-11-03 3:02 ` [RFC PATCH v2 11/11] KEYS: key_garbage_collector(): process in chunks Jarkko Sakkinen
2026-11-04 3:03 ` sashiko-bot [this message]
2026-11-03 3:10 ` [RFC PATCH v2 00/11] KEYS: Sanitize the garbage collector Jarkko Sakkinen
2026-11-03 12:32 ` Jarkko Sakkinen
2026-11-03 10:03 ` David Howells
2026-11-03 12:03 ` Jarkko Sakkinen
2026-11-03 14:00 ` David Howells
2026-11-03 15:06 ` Jarkko Sakkinen
2026-11-03 15:32 ` David Howells
2026-11-03 16:58 ` Jarkko Sakkinen
2026-11-04 0:30 ` Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-196575@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox