mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
When CONFIG_RISCV_USER_CFI is enabled, the CFI version of the vDSO, has a CFI landing pad instruction at the start of __vdso_rt_sigreturn. This breaks libgcc's unwinding code which matches on the first two instructions. Other unwinders that rely on similar instruction matching may also be affected. Since __vdso_rt_sigreturn is reached as part of signal-return handling rather than via an indirect call/jump from userspace, it does not need a CFI landing pad. Remove it and restore the instruction sequence expected by existing unwinding code. This matches what was done on arm64 in commit |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| flush_icache.S | ||
| gen_vdso_offsets.sh | ||
| getcpu.S | ||
| getrandom.c | ||
| hwprobe.c | ||
| Makefile | ||
| note.S | ||
| rt_sigreturn.S | ||
| sys_hwprobe.S | ||
| vdso.lds.S | ||
| vdso.S | ||
| vgetrandom-chacha.S | ||
| vgettimeofday.c | ||