+++ /dev/null
-From 762df359aa5849e010ef04c3ed79d57588ce17d9 Mon Sep 17 00:00:00 2001
-From: Al Viro <viro@zeniv.linux.org.uk>
-Date: Fri, 24 Sep 2021 01:55:27 +0000
-Subject: riscv: fix a nasty sigreturn bug...
-
-From: Al Viro <viro@zeniv.linux.org.uk>
-
-commit 762df359aa5849e010ef04c3ed79d57588ce17d9 upstream.
-
-riscv has an equivalent of arm bug fixed by 653d48b22166 ("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: e2c0cdfba7f6 ("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>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/riscv/kernel/signal.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/riscv/kernel/signal.c
-+++ b/arch/riscv/kernel/signal.c
-@@ -105,6 +105,8 @@ SYSCALL_DEFINE0(rt_sigreturn)
- if (restore_altstack(&frame->uc.uc_stack))
- goto badframe;
-
-+ regs->cause = -1UL;
-+
- return regs->a0;
-
- badframe:
alsa-hda-add-intel-5-series-3400-pci-did.patch
alsa-hda-realtek-enable-4-speaker-output-dell-precision-5530-laptop.patch
efi-libstub-check-shim-mode-using-moksbstatert.patch
-riscv-fix-a-nasty-sigreturn-bug.patch
mm-slub-fix-to-return-errno-if-kmalloc-fails.patch
arm64-dts-rockchip-set-rk3399-gru-pclk_edp-to-24-mhz.patch
arm64-dts-rockchip-remove-enable-active-low-from-rk3.patch