• Arnd Bergmann's avatar
    ipc: fix sparc64 ipc() wrapper · fb377eb8
    Arnd Bergmann authored
    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: default avatarMatt Turner <mattst88@gmail.com>
    Fixes: 275f2214 ("ipc: rename old-style shmctl/semctl/msgctl syscalls")
    Cc: stable@vger.kernel.org
    Tested-by: default avatarMatt Turner <mattst88@gmail.com>
    Tested-by: default avatarAnatoly Pugachev <matorola@gmail.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    fb377eb8
Name
Last commit
Last update
..
Makefile Loading commit data...
compat.c Loading commit data...
ipc_sysctl.c Loading commit data...
mq_sysctl.c Loading commit data...
mqueue.c Loading commit data...
msg.c Loading commit data...
msgutil.c Loading commit data...
namespace.c Loading commit data...
sem.c Loading commit data...
shm.c Loading commit data...
syscall.c Loading commit data...
util.c Loading commit data...
util.h Loading commit data...