From: Martin Schwidefsky <schwidefsky@de.ibm.com>

Add key management system calls.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/s390/kernel/compat_wrapper.S |   17 +++++++++++++++++
 25-akpm/arch/s390/kernel/syscalls.S       |    3 +++
 25-akpm/include/asm-s390/unistd.h         |    5 ++++-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff -puN arch/s390/kernel/compat_wrapper.S~s390-key-management arch/s390/kernel/compat_wrapper.S
--- 25/arch/s390/kernel/compat_wrapper.S~s390-key-management	2005-03-02 17:55:20.000000000 -0800
+++ 25-akpm/arch/s390/kernel/compat_wrapper.S	2005-03-02 17:55:20.000000000 -0800
@@ -1406,3 +1406,20 @@ compat_sys_mq_getsetattr_wrapper:
 	llgtr	%r3,%r3			# struct compat_mq_attr *
 	llgtr	%r4,%r4			# struct compat_mq_attr *
 	jg	compat_sys_mq_getsetattr
+
+	.globl	compat_sys_add_key
+compat_sys_add_key:
+	llgtr	%r2,%r2			# const char *
+	llgtr	%r3,%r3			# const char *
+	llgtr	%r4,%r4			# const void *
+	llgfr	%r5,%r5			# size_t
+	llgfr	%r6,%r6			# (key_serial_t) u32
+	jg	sys_add_key
+
+	.globl	compat_sys_request_key
+compat_sys_request_key:
+	llgtr	%r2,%r2			# const char *
+	llgtr	%r3,%r3			# const char *
+	llgtr	%r4,%r4			# const void *
+	llgfr	%r5,%r5			# (key_serial_t) u32
+	jg	sys_request_key
diff -puN arch/s390/kernel/syscalls.S~s390-key-management arch/s390/kernel/syscalls.S
--- 25/arch/s390/kernel/syscalls.S~s390-key-management	2005-03-02 17:55:20.000000000 -0800
+++ 25-akpm/arch/s390/kernel/syscalls.S	2005-03-02 17:55:20.000000000 -0800
@@ -286,3 +286,6 @@ SYSCALL(sys_mq_timedreceive,sys_mq_timed
 SYSCALL(sys_mq_notify,sys_mq_notify,compat_sys_mq_notify_wrapper) /* 275 */
 SYSCALL(sys_mq_getsetattr,sys_mq_getsetattr,compat_sys_mq_getsetattr_wrapper)
 NI_SYSCALL							/* reserved for kexec */
+SYSCALL(sys_add_key,sys_add_key,compat_sys_add_key)
+SYSCALL(sys_request_key,sys_request_key,compat_sys_request_key)
+SYSCALL(sys_keyctl,sys_keyctl,compat_sys_keyctl)		/* 280 */
diff -puN include/asm-s390/unistd.h~s390-key-management include/asm-s390/unistd.h
--- 25/include/asm-s390/unistd.h~s390-key-management	2005-03-02 17:55:20.000000000 -0800
+++ 25-akpm/include/asm-s390/unistd.h	2005-03-02 17:55:20.000000000 -0800
@@ -270,8 +270,11 @@
 #define __NR_mq_notify		275
 #define __NR_mq_getsetattr	276
 /* Number 277 is reserved for new sys_kexec_load */
+#define __NR_add_key		278
+#define __NR_request_key	279
+#define __NR_keyctl		280
 
-#define NR_syscalls 278
+#define NR_syscalls 281
 
 /* 
  * There are some system calls that are not present on 64 bit, some
_