On 9/29/26 3:28 PM, Martin Kaiser wrote:
Thus wrote Shuai Xue ([email protected]):
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/[email protected]
v4 RESEND:
https://lore.kernel.org/r/[email protected]
v3:
https://lore.kernel.org/r/[email protected]
v2: https://lore.kernel.org/r/[email protected]
v1: https://lore.kernel.org/r/[email protected]
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 <[email protected]>
Tested-by: Martin Kaiser <[email protected]>
Hi Martin,
Thank you very much for testing the series and for the tags!
It is great to hear that livepatch works both on a standard rv64 QEMU
and on the rv64 CHERI system. Could you share what the minor tweaks
for CHERI were? If any of them are generic -- for example frame-record
size/alignment or pointer-width assumptions in the unwinder -- it may
be worth folding them into this series, so the cheri-linux tree has
less to carry downstream. If they are purely CHERI-specific, a pointer
to your tree would still be a useful reference.
+Palmer, Paul, gentle ping on this series.
It has been under review since late May (v1 on May 27, now in its sixth
revision) and the tags collected so far are:
* Acked-by: Miroslav Benes <[email protected]> (7/7, livepatch)
* Reviewed-by: Marcos Paulo de Souza <[email protected]> (7/7)
* Reviewed-by: Martin Kaiser <[email protected]> (whole series)
* Tested-by: Martin Kaiser <[email protected]> (whole series,
rv64 QEMU and rv64 CHERI, livepatch working on both)
* Reviewed-by: Shuai Xue <[email protected]> (2/7, 3/7, 4/7, 6/7)
v6 still applies cleanly onto the current riscv/for-next
(52318cf0fa6e). If it helps, I can send a v7 that folds in Martin's
Reviewed-by/Tested-by tags.
Could the series be considered for the upcoming 7.4 merge window?
Thanks,
Shuai Xue