Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit be856439 authored by Firoz Khan's avatar Firoz Khan Committed by Paul Burton
Browse files

mips: add +1 to __NR_syscalls in uapi header



All other architectures are hold a value for __NR_syscalls will
be equal to the last system call number +1.

But in mips architecture, __NR_syscalls hold the value equal to
total number of system exits in the architecture. One of the
patch in this patch series will genarate uapi header files.

In order to make the implementation common across all architect-
ures, add +1 to __NR_syscalls, which will be equal to the last
system call number +1.

Signed-off-by: default avatarFiroz Khan <firoz.khan@linaro.org>
Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Philippe Ombredanne <pombredanne@nexb.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Kate Stewart <kstewart@linuxfoundation.org>
Cc: y2038@lists.linaro.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: arnd@arndb.de
Cc: deepa.kernel@gmail.com
Cc: marcin.juszkiewicz@linaro.org
parent 6d92c268
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -392,13 +392,13 @@
#define __NR_io_pgetevents		(__NR_Linux + 368)

#ifdef __KERNEL__
#define __NR_syscalls			368
#define __NR_syscalls			369
#endif

#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */

#define __NR_O32_Linux			4000
#define __NR_O32_Linux_syscalls		368
#define __NR_O32_Linux_syscalls		369

#if _MIPS_SIM == _MIPS_SIM_ABI64

@@ -737,13 +737,13 @@
#define __NR_io_pgetevents		(__NR_Linux + 328)

#ifdef __KERNEL__
#define __NR_syscalls			328
#define __NR_syscalls			329
#endif

#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */

#define __NR_64_Linux			5000
#define __NR_64_Linux_syscalls		328
#define __NR_64_Linux_syscalls		329

#if _MIPS_SIM == _MIPS_SIM_NABI32

@@ -1086,12 +1086,12 @@
#define __NR_io_pgetevents		(__NR_Linux + 332)

#ifdef __KERNEL__
#define __NR_syscalls			332
#define __NR_syscalls			333
#endif

#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */

#define __NR_N32_Linux			6000
#define __NR_N32_Linux_syscalls		332
#define __NR_N32_Linux_syscalls		333

#endif /* _UAPI_ASM_UNISTD_H */
+3 −3
Original line number Diff line number Diff line
@@ -410,13 +410,13 @@ unsigned long __init arch_syscall_addr(int nr)
unsigned long __init arch_syscall_addr(int nr)
{
#ifdef CONFIG_MIPS32_N32
	if (nr >= __NR_N32_Linux && nr <= __NR_N32_Linux + __NR_N32_Linux_syscalls)
	if (nr >= __NR_N32_Linux && nr < __NR_N32_Linux + __NR_N32_Linux_syscalls)
		return (unsigned long)sysn32_call_table[nr - __NR_N32_Linux];
#endif
	if (nr >= __NR_64_Linux  && nr <= __NR_64_Linux + __NR_64_Linux_syscalls)
	if (nr >= __NR_64_Linux  && nr < __NR_64_Linux + __NR_64_Linux_syscalls)
		return (unsigned long)sys_call_table[nr - __NR_64_Linux];
#ifdef CONFIG_MIPS32_O32
	if (nr >= __NR_O32_Linux && nr <= __NR_O32_Linux + __NR_O32_Linux_syscalls)
	if (nr >= __NR_O32_Linux && nr < __NR_O32_Linux + __NR_O32_Linux_syscalls)
		return (unsigned long)sys32_call_table[nr - __NR_O32_Linux];
#endif

+2 −2
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ loads_done:
	bnez	t0, syscall_trace_entry # -> yes
syscall_common:
	subu	v0, v0, __NR_O32_Linux	# check syscall number
	sltiu	t0, v0, __NR_O32_Linux_syscalls + 1
	sltiu	t0, v0, __NR_O32_Linux_syscalls
	beqz	t0, illegal_syscall

	sll	t0, v0, 2
@@ -182,7 +182,7 @@ illegal_syscall:

	LEAF(sys_syscall)
	subu	t0, a0, __NR_O32_Linux	# check syscall number
	sltiu	v0, t0, __NR_O32_Linux_syscalls + 1
	sltiu	v0, t0, __NR_O32_Linux_syscalls
	beqz	t0, einval		# do not recurse
	sll	t1, t0, 2
	beqz	v0, einval
+2 −2
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ NESTED(handle_sysn32, PT_SIZE, sp)
#endif

	dsubu	t0, v0, __NR_N32_Linux	# check syscall number
	sltiu	t0, t0, __NR_N32_Linux_syscalls + 1
	sltiu	t0, t0, __NR_N32_Linux_syscalls

#ifndef CONFIG_MIPS32_O32
	ld	t1, PT_EPC(sp)		# skip syscall on return
@@ -87,7 +87,7 @@ n32_syscall_trace_entry:
	ld	a5, PT_R9(sp)

	dsubu	t2, v0, __NR_N32_Linux	# check (new) syscall number
	sltiu   t0, t2, __NR_N32_Linux_syscalls + 1
	sltiu   t0, t2, __NR_N32_Linux_syscalls
	beqz	t0, not_n32_scall

	j	syscall_common
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ NESTED(handle_sys64, PT_SIZE, sp)

syscall_common:
	dsubu	t2, v0, __NR_64_Linux
	sltiu   t0, t2, __NR_64_Linux_syscalls + 1
	sltiu   t0, t2, __NR_64_Linux_syscalls
	beqz	t0, illegal_syscall

	dsll	t0, t2, 3		# offset into table
Loading