Skip to content

Commit

Permalink
security/keys: add CONFIG_KEYS_COMPAT to Kconfig
Browse files Browse the repository at this point in the history
commit 47b2c3fff4932e6fc17ce13d51a43c6969714e20 upstream.

CONFIG_KEYS_COMPAT is defined in arch-specific Kconfigs and is missing for
several 64-bit architectures : mips, parisc, tile.

At the moment and for those architectures, calling in 32-bit userspace the
keyctl syscall would return an ENOSYS error.

This patch moves the CONFIG_KEYS_COMPAT option to security/keys/Kconfig, to
make sure the compatibility wrapper is registered by default for any 64-bit
architecture as long as it is configured with CONFIG_COMPAT.

[DH: Modified to remove arm64 compat enablement also as requested by Eric
 Biggers]

Signed-off-by: Bilal Amarni <bilal.amarni@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
cc: Eric Biggers <ebiggers3@gmail.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Cc: James Cowgill <james.cowgill@mips.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Subhaam <derksoul98@gmail.com>
  • Loading branch information
bamarni authored and Subhaam committed Nov 19, 2017
1 parent bda296d commit 3b7a7b1
Show file tree
Hide file tree
Showing 5 changed files with 4 additions and 15 deletions.
5 changes: 0 additions & 5 deletions arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1071,11 +1071,6 @@ source "arch/powerpc/Kconfig.debug"

source "security/Kconfig"

config KEYS_COMPAT
bool
depends on COMPAT && KEYS
default y

source "crypto/Kconfig"

config PPC_LIB_RHEAP
Expand Down
3 changes: 0 additions & 3 deletions arch/s390/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -333,9 +333,6 @@ config COMPAT
config SYSVIPC_COMPAT
def_bool y if COMPAT && SYSVIPC

config KEYS_COMPAT
def_bool y if COMPAT && KEYS

config SMP
def_bool y
prompt "Symmetric multi-processing support"
Expand Down
3 changes: 0 additions & 3 deletions arch/sparc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -542,9 +542,6 @@ config SYSVIPC_COMPAT
depends on COMPAT && SYSVIPC
default y

config KEYS_COMPAT
def_bool y if COMPAT && KEYS

endmenu

source "net/Kconfig"
Expand Down
4 changes: 0 additions & 4 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2483,10 +2483,6 @@ config COMPAT_FOR_U64_ALIGNMENT
config SYSVIPC_COMPAT
def_bool y
depends on SYSVIPC

config KEYS_COMPAT
def_bool y
depends on KEYS
endif

endmenu
Expand Down
4 changes: 4 additions & 0 deletions security/keys/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ config KEYS

If you are unsure as to whether this is required, answer N.

config KEYS_COMPAT
def_bool y
depends on COMPAT && KEYS

config PERSISTENT_KEYRINGS
bool "Enable register of persistent per-UID keyrings"
depends on KEYS
Expand Down

0 comments on commit 3b7a7b1

Please sign in to comment.