On Thu, Sep 5, 2019 at 8:23 AM Arnd Bergmann arnd@arndb.de wrote:
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
Reported-by: Matt Turner mattst88@gmail.com Fixes: 275f22148e87 ("ipc: rename old-style shmctl/semctl/msgctl syscalls") Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann arnd@arndb.de
Hi Matt,
Can you check that this solves your problem?
Works great. Thank you Arnd!
Tested-by: Matt Turner mattst88@gmail.com