summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2019-09-05 16:48:38 +0200
committerArnd Bergmann <arnd@arndb.de>2019-09-07 21:42:25 +0200
commitfb377eb80c80339b580831a3c0fcce34a4c9d1ad (patch)
treeec74cca6e1cb4ccd8516491822bb76fd9ff94996 /lib
parentipc: fix semtimedop for generic 32-bit architectures (diff)
downloadlinux-fb377eb80c80339b580831a3c0fcce34a4c9d1ad.tar.xz
linux-fb377eb80c80339b580831a3c0fcce34a4c9d1ad.zip
ipc: fix sparc64 ipc() wrapper
Matt bisected a sparc64 specific issue with semctl, shmctl and msgctl to a commit from my y2038 series in linux-5.1, as I missed the custom sys_ipc() wrapper that sparc64 uses in place of the generic version that I patched. The problem is that the sys_{sem,shm,msg}ctl() functions in the kernel now do not allow being called with the IPC_64 flag any more, resulting in a -EINVAL error when they don't recognize the command. Instead, the correct way to do this now is to call the internal ksys_old_{sem,shm,msg}ctl() functions to select the API version. As we generally move towards these functions anyway, change all of sparc_ipc() to consistently use those in place of the sys_*() versions, and move the required ksys_*() declarations into linux/syscalls.h The IS_ENABLED(CONFIG_SYSVIPC) check is required to avoid link errors when ipc is disabled. Reported-by: Matt Turner <mattst88@gmail.com> Fixes: 275f22148e87 ("ipc: rename old-style shmctl/semctl/msgctl syscalls") Cc: stable@vger.kernel.org Tested-by: Matt Turner <mattst88@gmail.com> Tested-by: Anatoly Pugachev <matorola@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions