Star64_linux/arch/riscv/kernel
Al Viro 762df359aa
riscv: fix a nasty sigreturn bug...
riscv has an equivalent of arm bug fixed by 653d48b221 ("arm: fix
really nasty sigreturn bug"); if signal gets caught by an interrupt that
hits when we have the right value in a0 (-513), *and* another signal
gets delivered upon sigreturn() (e.g. included into the blocked mask for
the first signal and posted while the handler had been running), the
syscall restart logics will see regs->cause equal to EXC_SYSCALL (we are
in a syscall, after all) and a0 already restored to its original value
(-513, which happens to be -ERESTARTNOINTR) and assume that we need to
apply the usual syscall restart logics.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Fixes: e2c0cdfba7 ("RISC-V: User-facing API")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/YxJEiSq%2FCGaL6Gm9@ZenIV/
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-09-17 01:48:23 -07:00
..
compat_vdso
probes riscv:uprobe fix SR_SPIE set/clear handling 2022-08-11 14:14:52 -07:00
vdso
.gitignore
alternative.c
asm-offsets.c
cacheinfo.c
compat_signal.c
compat_syscall_table.c
cpu-hotplug.c
cpu.c RISC-V: Add Sstc extension support 2022-08-11 14:41:52 -07:00
cpu_ops.c riscv: ensure cpu_ops_sbi is declared 2022-08-11 13:46:51 -07:00
cpu_ops_sbi.c
cpu_ops_spinwait.c RISC-V: cpu_ops_spinwait.c should include head.h 2022-08-11 13:24:16 -07:00
cpufeature.c riscv: Ensure isa-ext static keys are writable 2022-08-16 18:07:43 -07:00
crash_dump.c
crash_save_regs.S RISC-V: Fixup get incorrect user mode PC for kernel mode regs 2022-08-11 08:54:40 -07:00
efi-header.S
efi.c
elf_kexec.c
entry.S
fpu.S
ftrace.c
head.h
head.S
image-vars.h
irq.c
jump_label.c
kexec_relocate.S
kgdb.c
machine_kexec.c RISC-V: Fixup schedule out issue in machine_crash_shutdown() 2022-08-11 08:54:46 -07:00
machine_kexec_file.c
Makefile
mcount-dyn.S
mcount.S
module-sections.c
module.c
patch.c
perf_callchain.c
perf_regs.c
process.c
ptrace.c
reset.c
riscv_ksyms.c
sbi.c
setup.c RISC-V: Clean up the Zicbom block size probing 2022-09-13 02:06:11 -07:00
signal.c riscv: fix a nasty sigreturn bug... 2022-09-17 01:48:23 -07:00
smp.c Updates to various subsystems which I help look after. lib, ocfs2, 2022-08-07 10:03:24 -07:00
smpboot.c
soc.c
stacktrace.c
suspend.c
suspend_entry.S
sys_riscv.c
syscall_table.c
time.c
trace_irq.c
trace_irq.h
traps.c riscv: traps: add missing prototype 2022-08-18 14:42:58 -07:00
traps_misaligned.c riscv: traps_misaligned: do not duplicate stringify 2022-08-11 08:56:53 -07:00
vdso.c
vmlinux-xip.lds.S
vmlinux.lds.S