]> git.hungrycats.org Git - linux/commitdiff
KEYS: Enable the compat keyctl wrapper on s390x
authorDavid Howells <dhowells@redhat.com>
Fri, 24 Feb 2012 17:01:27 +0000 (18:01 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 17 Mar 2012 10:14:49 +0000 (11:14 +0100)
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>
arch/s390/Kconfig

index 43c0acad7160e55eef1bc719c39111a3cdf97a14..aca7fff3fe7721e5904f039ef588eeb92a85db9f 100644 (file)
@@ -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