Commit 56d18e99 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  MIPS: Return ENOSYS from sys32_syscall on 64bit kernels like elsewhere.
  MIPS: 64-bit: vmsplice needs to use the compat wrapper for o32 and N32.
  MIPS: o32: Fix number of arguments to splice(2).
  MIPS: Malta: Consolidate platform device code.
  MIPS: IP22, Fulong, Malta: Update defconfigs.
  MIPS: Malta: Add back RTC support
  MIPS: Fix potential DOS by untrusted user app.
parents 1cb434b2 c6cb4df9
Loading
Loading
Loading
Loading
+537 −384

File changed.

Preview size limit exceeded, changes collapsed.

+339 −179

File changed.

Preview size limit exceeded, changes collapsed.

+422 −209

File changed.

Preview size limit exceeded, changes collapsed.

+2 −5
Original line number Diff line number Diff line
@@ -262,14 +262,11 @@ bad_alignment:
	LEAF(sys_syscall)
	subu	t0, a0, __NR_O32_Linux	# check syscall number
	sltiu	v0, t0, __NR_O32_Linux_syscalls + 1
	beqz	t0, einval		# do not recurse
	sll	t1, t0, 3
	beqz	v0, einval

	lw	t2, sys_call_table(t1)		# syscall routine

	li	v1, 4000 - __NR_O32_Linux	# index of sys_syscall
	beq	t0, v1, einval			# do not recurse

	/* Some syscalls like execve get their arguments from struct pt_regs
	   and claim zero arguments in the syscall table. Thus we have to
	   assume the worst case and shuffle around all potential arguments.
@@ -627,7 +624,7 @@ einval: li v0, -ENOSYS
	sys	sys_pselect6		6
	sys	sys_ppoll		5
	sys	sys_unshare		1
	sys	sys_splice		4
	sys	sys_splice		6
	sys	sys_sync_file_range	7	/* 4305 */
	sys	sys_tee			4
	sys	sys_vmsplice		4
+1 −1
Original line number Diff line number Diff line
@@ -390,7 +390,7 @@ EXPORT(sysn32_call_table)
	PTR	sys_splice
	PTR	sys_sync_file_range
	PTR	sys_tee
	PTR	sys_vmsplice			/* 6270 */
	PTR	compat_sys_vmsplice		/* 6270 */
	PTR	sys_move_pages
	PTR	compat_sys_set_robust_list
	PTR	compat_sys_get_robust_list
Loading