[PATCH v2 0/3] kfence: fix pool allocation failure handling

Jackie Liu liu.yun at linux.dev
Wed Oct 28 19:57:40 PDT 2026


From: Jackie Liu <liuyun01 at kylinos.cn>

Fix the cleanup address and page reuse window in failed late KFENCE
initialization. Also let RISC-V boot if the early pool reservation fails.

Patch 2 depends on patch 1. Patch 3 can be applied independently.

Changes in v2:
- Add Marco Elver's Reviewed-by to patches 1 and 2; their code is unchanged.
- Drop the unused asm/kfence.h include from patch 3. Sashiko reported that
  its unconditional inclusion breaks RV32 and NOMMU builds.
- Credit Sashiko and kernel test robot with Reported-by and Closes tags
  in patch 3.

v1: https://lore.kernel.org/all/cover.1793017073.git.liuyun01@kylinos.cn/
Reports:
https://sashiko.dev/#/patchset/cover.1793017073.git.liuyun01@kylinos.cn?part=3
https://lore.kernel.org/all/sashiko-outbox-186543@kernel.org/
https://lore.kernel.org/oe-kbuild-all/202610290904.wbrEL97y-lkp@intel.com/

Validation on AArch64 Linux with Clang 17.0.6 and GNU ld 2.40:
- RV32 and NOMMU: reproduced v1 failures; v2 init.o builds successfully.
- RV64 defconfig with CONFIG_KFENCE=y: init.o, mm/kfence/core.o, and the
  full Image build pass without warnings.
The existing NOMMU warning in include/asm-generic/io.h is identical to
that from the unpatched base. No boot or failure-injection tests were run.
All three patches pass checkpatch.pl --strict and git diff --check.

OpenAI Codex assisted with review, adaptation, wording, and validation.

Jackie Liu (3):
  kfence: fix pool cleanup on metadata allocation failure
  kfence: clear the pool pointer before freeing pages
  riscv: keep booting if KFENCE pool reservation fails

 arch/riscv/include/asm/kfence.h |  4 +++-
 arch/riscv/mm/init.c            | 18 ++++++++++++++----
 mm/kfence/core.c                |  6 ++++--
 3 files changed, 21 insertions(+), 7 deletions(-)


base-commit: 7be4bc52fd9e0e55dc9a2e0232b89427d2c4b614
-- 
2.56.0




More information about the linux-riscv mailing list