summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-02-24 18:01:27 +0100
committerWilly Tarreau <w@1wt.eu>2012-03-17 11:14:49 +0100
commitf30c620b9f629115de4f3f171c7df46efb4e4b04 (patch)
treed22f6362c19d93c553030808ba781770e5d1f9a0
parent70e74484c247680dbd8f9128044223b4257b4c65 (diff)
downloadlwn-f30c620b9f629115de4f3f171c7df46efb4e4b04.tar.gz
lwn-f30c620b9f629115de4f3f171c7df46efb4e4b04.zip
KEYS: Enable the compat keyctl wrapper on s390x
commit 1d057720609ed052a6371fe1d53300e5e6328e94 upstream. 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> Signed-off-by: Willy Tarreau <w@1wt.eu>
-rw-r--r--arch/s390/Kconfig3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 43c0acad7160..aca7fff3fe77 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -188,6 +188,9 @@ config SYSVIPC_COMPAT
depends on COMPAT && SYSVIPC
default y
+config KEYS_COMPAT
+ def_bool y if COMPAT && KEYS
+
config AUDIT_ARCH
bool
default y