]> Gentwo Git Trees - linux/.git/commit
mm/kfence: add reboot notifier to disable KFENCE on shutdown
authorBreno Leitao <leitao@debian.org>
Wed, 26 Nov 2025 17:46:18 +0000 (09:46 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 29 Nov 2025 18:41:10 +0000 (10:41 -0800)
commitce2bba89566bef9d4a0ff2122ee75739a72a92be
tree0cc1890b8411ffd371c3858935adb57e61506cec
parentf3b566d726357df591602f195a9379494f005225
mm/kfence: add reboot notifier to disable KFENCE on shutdown

During system shutdown, KFENCE can cause IPI synchronization issues if it
remains active through the reboot process.  To prevent this, register a
reboot notifier that disables KFENCE and cancels any pending timer work
early in the shutdown sequence.

This is only necessary when CONFIG_KFENCE_STATIC_KEYS is enabled, as this
configuration sends IPIs that can interfere with shutdown.  Without static
keys, no IPIs are generated and KFENCE can safely remain active.

The notifier uses maximum priority (INT_MAX) to ensure KFENCE shuts down
before other subsystems that might still depend on stable memory
allocation behavior.

This fixes a late kexec CSD lockup[1] when kfence is trying to IPI a CPU
that is busy in a IRQ-disabled context printing characters to the console.

Link: https://lkml.kernel.org/r/20251127-kfence-v2-1-daeccb5ef9aa@debian.org
Link: https://lkml.kernel.org/r/20251126-kfence-v1-1-5a6e1d7c681c@debian.org
Link: https://lore.kernel.org/all/sqwajvt7utnt463tzxgwu2yctyn5m6bjwrslsnupfexeml6hkd@v6sqmpbu3vvu/
Fixes: 0ce20dd84089 ("mm: add Kernel Electric-Fence infrastructure")
Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/kfence/core.c