[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191218084757.904971-1-david.abdurachmanov@sifive.com>
Date: Wed, 18 Dec 2019 10:47:56 +0200
From: David Abdurachmanov <david.abdurachmanov@...il.com>
To: Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
David Abdurachmanov <david.abdurachmanov@...ive.com>,
Kees Cook <keescook@...omium.org>,
Anup Patel <Anup.Patel@....com>,
Vincent Chen <vincent.chen@...ive.com>,
Valentin Schneider <valentin.schneider@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Bin Meng <bmeng.cn@...il.com>, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org
Cc: david.abdurachmanov@...il.com
Subject: [PATCH] riscv: reject invalid syscalls below -1
Running "stress-ng --enosys 4 -t 20 -v" showed a large number of kernel oops
with "Unable to handle kernel paging request at virtual address" message. This
happens when enosys stressor starts testing random non-valid syscalls.
I forgot to redirect any syscall below -1 to sys_ni_syscall.
With the patch kernel oops messages are gone while running stress-ng enosys
stressor.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@...ive.com>
Fixes: 5340627e3fe0 ("riscv: add support for SECCOMP and SECCOMP_FILTER")
---
arch/riscv/kernel/entry.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S
index a1349ca64669..e163b7b64c86 100644
--- a/arch/riscv/kernel/entry.S
+++ b/arch/riscv/kernel/entry.S
@@ -246,6 +246,7 @@ check_syscall_nr:
*/
li t1, -1
beq a7, t1, ret_from_syscall_rejected
+ blt a7, t1, 1f
/* Call syscall */
la s0, sys_call_table
slli t0, a7, RISCV_LGPTR
--
2.24.1
Powered by blists - more mailing lists