RISC-V updates for v5.5-rc4
One important fix for RISC-V: - Redirect any incoming syscall with an ID less than -1 to sys_ni_syscall, rather than allowing them to fall through into the syscall handler. and two minor build fixes: - Export __asm_copy_{from,to}_user() from where they are defined. This fixes a build error triggered by some randconfigs. - Export flush_icache_all(). I'd resisted this before, since historically we didn't want modules to be able to flush the I$ directly; but apparently everyone else is doing it now. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEElRDoIDdEz9/svf2Kx4+xDQu9KksFAl4I3wIACgkQx4+xDQu9 KksKWw/+LzcBZ1/H2IzXqFdnu8nloBv86t60s9ZPTDFDpqFZ5JnxnhB1z9XU3mnS q8u4tWMMMEyT3iPByDPIMr3wdEjtPK2kqeMmkpo6o6zkTzcc0zk4Q5h8JcPZjD2q RFuNlfboEz5JHdQXNaV4mP+mW4RqxxJDZx11Zspj1g1v2bWOeRDc5bn0GUQGl4Jg uaP+5/lnuZ2ad0rXoMT2ycnDmpZ7Btriv2vbjfZFuWTBqElJsynA+7szagWqF1bR 1cFKbocpECKqvIKlMHdBAxMaqs25YuiU+i5KrKst6k4m1O8SthsK4iXn1CVmC+RL R77p0yQRGnrSf/AHWRZfAEjwZlOvDHsAg4U0/nPw4SPutuquzf76pZllBQKXgJqx 30oJammVveO3rOsNM4tsydpLGgs8M85XBfkmECeiWNhP7+RPsihHKdbXdCrBaESR a+bij81L8MfMbGhwAsSUiH3upq0CvsMw8pSPCZWQ2jaxbN5tgcFw3qSkfKC5STDj 1k8DpeHNnxnR1lC/xSOR89I3gUot4Y4nw5awZP6kngB7sRTG8TRL5eh5mwQKtRFV 5h4jyh+d0p4fiAVTzr/YjWrYWRs6318La+CRwhIOevKcAuOESVOwyeM9PRlTAxPh il59toaL+6KOtAaSacc0gt/+lv/g4Kd8MD/QU1viG/Da6zqkCK4= =y3/O -----END PGP SIGNATURE----- Merge tag 'riscv/for-v5.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux Pull RISC-V fixes from Paul Walmsley: "One important fix for RISC-V: - Redirect any incoming syscall with an ID less than -1 to sys_ni_syscall, rather than allowing them to fall through into the syscall handler. and two minor build fixes: - Export __asm_copy_{from,to}_user() from where they are defined. This fixes a build error triggered by some randconfigs. - Export flush_icache_all(). I'd resisted this before, since historically we didn't want modules to be able to flush the I$ directly; but apparently everyone else is doing it now" * tag 'riscv/for-v5.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: riscv: export flush_icache_all to modules riscv: reject invalid syscalls below -1 riscv: fix compile failure with EXPORT_SYMBOL() & !MMU
This commit is contained in:
Коммит
a99efa0089
|
@ -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
|
||||
|
|
|
@ -9,8 +9,5 @@
|
|||
/*
|
||||
* Assembly functions that may be used (directly or indirectly) by modules
|
||||
*/
|
||||
EXPORT_SYMBOL(__clear_user);
|
||||
EXPORT_SYMBOL(__asm_copy_to_user);
|
||||
EXPORT_SYMBOL(__asm_copy_from_user);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <linux/linkage.h>
|
||||
#include <asm-generic/export.h>
|
||||
#include <asm/asm.h>
|
||||
#include <asm/csr.h>
|
||||
|
||||
|
@ -66,6 +67,8 @@ ENTRY(__asm_copy_from_user)
|
|||
j 3b
|
||||
ENDPROC(__asm_copy_to_user)
|
||||
ENDPROC(__asm_copy_from_user)
|
||||
EXPORT_SYMBOL(__asm_copy_to_user)
|
||||
EXPORT_SYMBOL(__asm_copy_from_user)
|
||||
|
||||
|
||||
ENTRY(__clear_user)
|
||||
|
@ -108,6 +111,7 @@ ENTRY(__clear_user)
|
|||
bltu a0, a3, 5b
|
||||
j 3b
|
||||
ENDPROC(__clear_user)
|
||||
EXPORT_SYMBOL(__clear_user)
|
||||
|
||||
.section .fixup,"ax"
|
||||
.balign 4
|
||||
|
|
|
@ -22,6 +22,7 @@ void flush_icache_all(void)
|
|||
else
|
||||
on_each_cpu(ipi_remote_fence_i, NULL, 1);
|
||||
}
|
||||
EXPORT_SYMBOL(flush_icache_all);
|
||||
|
||||
/*
|
||||
* Performs an icache flush for the given MM context. RISC-V has no direct
|
||||
|
|
Загрузка…
Ссылка в новой задаче