summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-02-24 18:01:27 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2012-02-24 18:01:36 +0100
commit1d057720609ed052a6371fe1d53300e5e6328e94 (patch)
tree3192ea026f020377555e4792df40745bc7fb2a15
parentbb4c7e9a9908548b458f34afb2fee74dc0d49f90 (diff)
downloadlinux-stable-1d057720609ed052a6371fe1d53300e5e6328e94.tar.gz
linux-stable-1d057720609ed052a6371fe1d53300e5e6328e94.tar.bz2
linux-stable-1d057720609ed052a6371fe1d53300e5e6328e94.zip
[S390] KEYS: Enable the compat keyctl wrapper on s390x
Enable the compat keyctl wrapper on s390x so that 32-bit s390 userspace can call the keyctl() syscall. There's an s390x assembly wrapper that truncates all the register values to 32-bits and this then calls compat_sys_keyctl() - but the latter only exists if CONFIG_KEYS_COMPAT is enabled, and the s390 Kconfig doesn't enable it. Without this patch, 32-bit calls to the keyctl() syscall are given an ENOSYS error: [root@devel4 ~]# keyctl show Session Keyring -3: key inaccessible (Function not implemented) Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: dan@danny.cz Cc: Carsten Otte <cotte@de.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Cc: linux-s390@vger.kernel.org Cc: stable@vger.kernel.org Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r--arch/s390/Kconfig3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index d1727584230a..6d99a5fcc090 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -227,6 +227,9 @@ config COMPAT
config SYSVIPC_COMPAT
def_bool y if COMPAT && SYSVIPC
+config KEYS_COMPAT
+ def_bool y if COMPAT && KEYS
+
config AUDIT_ARCH
def_bool y