Re: [PATCH v6 0/7] riscv: Add reliable stack unwinding for livepatch
From: Martin Kaiser
Date: Tue Sep 29 2026 - 04:17:16 EST
Thus wrote Shuai Xue (xueshuai@xxxxxxxxxxxxxxxxx):
> Hi,
> This is v6 of the RISC-V reliable stack unwinding series for livepatch.
> Wang Han has left our team, so I am taking over this series from now on.
> The series adds explicit frame-record metadata, preserves the frame
> pointer through dynamic ftrace, and replaces the open-coded stack walker
> with a conservative frame-pointer based unwinder. It then enables the
> RISC-V livepatch capability and adds the syscall-wrapper selftest prefix.
> Changes since v5:
> * Rebase onto the current riscv/for-next; no functional changes.
> * Fold in the tags collected from the v5 thread:
> - Reviewed-by: Shuai Xue on 2/7, 3/7, 4/7 and 6/7
> - Acked-by: Miroslav Benes on 7/7
> * Add my sign-off as the new sender.
> Since the patches are otherwise identical to v5, the v5 validation
> results still apply. For reference, from the v5 cover letter:
> * Built Linux 7.2.0-rc6 with riscv64-unknown-linux-gnu-gcc 15.2.0
> and binutils 2.46.
> * Standard livepatch configuration built successfully, including
> Image, vmlinux, modules, compile_commands.json and GDB scripts.
> * CONFIG_IRQ_STACKS=n variant linked successfully with GCC.
> * QEMU 8.2.2, 1 CPU: livepatch selftests PASS: 7, SKIP: 1,
> FAIL: 0; ftrace function graph 3 passed, 0 failed, 3 unsupported.
> * QEMU 8.2.2, 4 CPUs: livepatch selftests PASS: 7, SKIP: 1,
> FAIL: 0; ftrace function graph 3 passed, 0 failed, 3 unsupported.
> * No BUG, WARNING, Oops, panic, unreliable stack or Call Trace found
> by the validation log scans. Expected negative livepatch errors are
> part of the selftests.
> v5 was posted in early August and has been quiet since then. I would
> appreciate it if the series could be considered for the upcoming merge
> window. Happy to address any remaining feedback.
> Base:
> riscv/for-next 77ae27fd98f3 ("Merge tag 'printk-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux")
> Previous versions:
> v5: https://lore.kernel.org/r/20260804103626.2803112-1-wanghan@xxxxxxxxxxxxxxxxx
> v4 RESEND: https://lore.kernel.org/r/20260629072713.3273743-1-wanghan@xxxxxxxxxxxxxxxxx
> v3: https://lore.kernel.org/r/cover.194d76e3a15b.v3.riscv-livepatch.wanghan@xxxxxxxxxxxxxxxxx
> v2: https://lore.kernel.org/r/20260528082310.1994388-1-wanghan@xxxxxxxxxxxxxxxxx
> v1: https://lore.kernel.org/r/20260527123530.2593918-1-wanghan@xxxxxxxxxxxxxxxxx
> Assisted-by: Qoder:Qwen-3.8-MAX-Preview
Thanks for these patches.
I tried them on a standard rv64 qemu and on a rv64 cheri system
(cheri-linux.org). The latter needed some minor tweaks, but in
both cases, I could get livepatch to work.
Reviewed-by: Martin Kaiser <martin@xxxxxxxxx>
Tested-by: Martin Kaiser <martin@xxxxxxxxx>