summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2019-01-10 17:24:31 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-22 21:40:33 +0100
commit8f469dc0e6dcc4189972a2dbe0a3aeeb3eb8c9c2 (patch)
tree18182a763f29476401b3769286608687985121a7
parent9d37f4a046c27c7c86598f128bbc470d17befc20 (diff)
downloadlinux-stable-8f469dc0e6dcc4189972a2dbe0a3aeeb3eb8c9c2.tar.gz
linux-stable-8f469dc0e6dcc4189972a2dbe0a3aeeb3eb8c9c2.tar.bz2
linux-stable-8f469dc0e6dcc4189972a2dbe0a3aeeb3eb8c9c2.zip
mips: fix n32 compat_ipc_parse_version
commit 5a9372f751b5350e0ce3d2ee91832f1feae2c2e5 upstream. While reading through the sysvipc implementation, I noticed that the n32 semctl/shmctl/msgctl system calls behave differently based on whether o32 support is enabled or not: Without o32, the IPC_64 flag passed by user space is rejected but calls without that flag get IPC_64 behavior. As far as I can tell, this was inadvertently changed by a cleanup patch but never noticed by anyone, possibly nobody has tried using sysvipc on n32 after linux-3.19. Change it back to the old behavior now. Fixes: 78aaf956ba3a ("MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: linux-mips@vger.kernel.org Cc: stable@vger.kernel.org # 3.19+ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/mips/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 35511999156a..154b811d5894 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -3149,6 +3149,7 @@ config MIPS32_O32
config MIPS32_N32
bool "Kernel support for n32 binaries"
depends on 64BIT
+ select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
select COMPAT
select MIPS32_COMPAT
select SYSVIPC_COMPAT if SYSVIPC