[RFC] entry: Untangle the return value of syscall_enter_from_user_mode from syscall NR
Sven Schnelle
svens at linux.ibm.com
Fri Jul 3 04:39:18 PDT 2026
Michal Suchánek <msuchanek at suse.de> writes:
> The same could be asked of syscall_enter_from_user_mode. I find it very
> odd. Why does it conflate the syscall number with its return value?
>
> It never uses the syscall number passed in except when returning it
> unchanged. When it pokes the registers it reads the syscall number from
> them.
>
> If the caller of syscall_enter_from_user_mode only read the syscall
> number from the registers when syscall_enter_from_user_mode returns and
> indicates the syscall should be still executed this whole shenigan would
I agree. The fact that if (nr < NR_syscall) just works because -1 gets
casted to 0xffffffff and is therefore out of bounds is very odd.
More information about the linux-riscv
mailing list