Browse Source

[ARM] 2896/1: Add sys_ipc_wrapper to pass 'fifth' argument on stack

Patch from George G. Davis

As pointed out be Matthew Klahn <MKLAHN@motorola.com>, some sys_ipc()
call options require six args, e.g. SEMTIMEDOP. This patch adds an ARM sys_ipc_wrapper to save the sys_ipc() 'fifth' arg on the stack.

Signed-off-by: George G. Davis <gdavis@mvista.com>
 arch/arm/kernel/calls.S        |    2 +-
 arch/arm/kernel/entry-common.S |    5 +++++
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
George G. Davis 19 years ago
parent
commit
34f521fd55
2 changed files with 5 additions and 1 deletions
  1. 1 1
      arch/arm/kernel/calls.S
  2. 4 0
      arch/arm/kernel/entry-common.S

+ 1 - 1
arch/arm/kernel/calls.S

@@ -131,7 +131,7 @@ __syscall_start:
 		.long	sys_wait4
 		.long	sys_wait4
 /* 115 */	.long	sys_swapoff
 /* 115 */	.long	sys_swapoff
 		.long	sys_sysinfo
 		.long	sys_sysinfo
-		.long	sys_ipc
+		.long	sys_ipc_wrapper
 		.long	sys_fsync
 		.long	sys_fsync
 		.long	sys_sigreturn_wrapper
 		.long	sys_sigreturn_wrapper
 /* 120 */	.long	sys_clone_wrapper
 /* 120 */	.long	sys_clone_wrapper

+ 4 - 0
arch/arm/kernel/entry-common.S

@@ -273,6 +273,10 @@ sys_mbind_wrapper:
 		str	r5, [sp, #4]
 		str	r5, [sp, #4]
 		b	sys_mbind
 		b	sys_mbind
 
 
+sys_ipc_wrapper:
+		str	r5, [sp, #4]		@ push sixth arg
+		b	sys_ipc
+
 /*
 /*
  * Note: off_4k (r5) is always units of 4K.  If we can't do the requested
  * Note: off_4k (r5) is always units of 4K.  If we can't do the requested
  * offset, we return EINVAL.
  * offset, we return EINVAL.