From patchwork Thu Jun 20 16:23:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 57137 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 567063894C33 for ; Thu, 20 Jun 2024 16:24:12 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by sourceware.org (Postfix) with ESMTPS id F36ED389000C for ; Thu, 20 Jun 2024 16:23:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F36ED389000C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F36ED389000C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2604:1380:40e1:4800::1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718900622; cv=none; b=i8mfgot8F0BSpb7EpFQmru7naze81vIvkoo/Z/dabplKicjT2JEGYZMLJRzpCz/OlIlUPN8oLVmC7DyITbg67WsUQGPMf34J4tlhsQNzOU6S71GtG5lfvLzv4DYvXeU77N0Y+6XjAgQ5fZYPJ6ctiiwpr7d+r6m1xiTtvWdZdmg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718900622; c=relaxed/simple; bh=c2+3nT3Fz2YE3y2yTCQ/lqf84edhGpnQvBt5hH6hrrc=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=O1HbyE+RZSvgr6pQNtjcSjAF0G5u8Hz/SxpHEiX8YO5jWqNZIFWkI/0OkJohrloRY1FKwmTjFiuN+l69b/CTVWVyXYJoQBx079aj9t+ZzouqI57XebEgksvhjj0z2CiH2HbIoH5GlIzXazSIrKIOFjK2pkzT9ZI19vfyB2qezgg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id A6190CE274D; Thu, 20 Jun 2024 16:23:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C294C32786; Thu, 20 Jun 2024 16:23:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1718900615; bh=c2+3nT3Fz2YE3y2yTCQ/lqf84edhGpnQvBt5hH6hrrc=; h=From:To:Cc:Subject:Date:From; b=XC1XYPkSMkLHnz9abDPwB+ZF9PlO95SQ+oHvZ5uCctS66b+uYGD9F2IRJX7pEtMkc tv1ySBBzxr5W7wpTOSPmwFLPSaG8DZ+VHBfx2P4XohH/2B5Ig5ZAdTDxK0UXwPOa9f kgG01VSndf2XvLA6qgkIX+rPcLDIj4cedf9ebxSx7WytcpCCbPGct3kqyatbZdmobi VeFKF+urVmNd2v+/KXJBz8itdjWMHDfq1hlwgrSDbn0Mq69GGfKJxQF+5Zd1+MyiaZ tJ0Pd6jm0rAgBQhogByTNSzjJmQ0Xpzjvie1YBoPoSwU/RqtdxmBuhM5TomoNaluGz sj55VopFCAeAw== From: Arnd Bergmann To: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Thomas Bogendoerfer , linux-mips@vger.kernel.org, Helge Deller , linux-parisc@vger.kernel.org, "David S. Miller" , Andreas Larsson , sparclinux@vger.kernel.org, Michael Ellerman , Nicholas Piggin , Christophe Leroy , "Naveen N . Rao" , linuxppc-dev@lists.ozlabs.org, Brian Cain , linux-hexagon@vger.kernel.org, Guo Ren , linux-csky@vger.kernel.org, Heiko Carstens , linux-s390@vger.kernel.org, Rich Felker , John Paul Adrian Glaubitz , linux-sh@vger.kernel.org, "H. Peter Anvin" , Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, libc-alpha@sourceware.org, musl@lists.openwall.com, ltp@lists.linux.it Subject: [PATCH 00/15] linux system call fixes Date: Thu, 20 Jun 2024 18:23:01 +0200 Message-Id: <20240620162316.3674955-1-arnd@kernel.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org From: Arnd Bergmann I'm working on cleanup series for Linux system call handling, trying to unify some of the architecture specific code there among other things. In the process, I came across a number of bugs that are ABI relevant, so I'm trying to merge these first. I found all of these by inspection, not by running the code, so any extra review would help. I assume some of the issues were already caught by existing LTP tests, while for others we could add a test. Again, I did not check what is already there. The sync_file_range and fadvise64_64 changes on sh, csky and hexagon are likely to also require changes in the libc implementation. Once the patches are reviewed, I plan to merge my changes as bugfixes through the asm-generic tree, but architecture maintainers can also pick them up directly to speed up the bugfix. Arnd Cc: linux-arch@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: Thomas Bogendoerfer Cc: linux-mips@vger.kernel.org Cc: Helge Deller Cc: linux-parisc@vger.kernel.org Cc: "David S. Miller" Cc: Andreas Larsson Cc: sparclinux@vger.kernel.org Cc: Michael Ellerman Cc: Nicholas Piggin Cc: Christophe Leroy Cc: Naveen N. Rao Cc: linuxppc-dev@lists.ozlabs.org Cc: Brian Cain Cc: linux-hexagon@vger.kernel.org Cc: Guo Ren Cc: linux-csky@vger.kernel.org Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Cc: Rich Felker Cc: John Paul Adrian Glaubitz Cc: linux-sh@vger.kernel.org Cc: "H. Peter Anvin" Cc: Alexander Viro Cc: Christian Brauner Cc: linux-fsdevel@vger.kernel.org Cc: libc-alpha@sourceware.org Cc: musl@lists.openwall.com Cc: ltp@lists.linux.it Arnd Bergmann (15): ftruncate: pass a signed offset syscalls: fix compat_sys_io_pgetevents_time64 usage mips: fix compat_sys_lseek syscall sparc: fix old compat_sys_select() sparc: fix compat recv/recvfrom syscalls parisc: use correct compat recv/recvfrom syscalls parisc: use generic sys_fanotify_mark implementation powerpc: restore some missing spu syscalls sh: rework sync_file_range ABI csky, hexagon: fix broken sys_sync_file_range hexagon: fix fadvise64_64 calling conventions s390: remove native mmap2() syscall syscalls: mmap(): use unsigned offset type consistently asm-generic: unistd: fix time32 compat syscall handling linux/syscalls.h: add missing __user annotations arch/arm64/include/asm/unistd32.h | 2 +- arch/csky/include/uapi/asm/unistd.h | 1 + arch/csky/kernel/syscall.c | 2 +- arch/hexagon/include/asm/syscalls.h | 6 + arch/hexagon/include/uapi/asm/unistd.h | 1 + arch/hexagon/kernel/syscalltab.c | 7 + arch/loongarch/kernel/syscall.c | 2 +- arch/microblaze/kernel/sys_microblaze.c | 2 +- arch/mips/kernel/syscalls/syscall_n32.tbl | 2 +- arch/mips/kernel/syscalls/syscall_o32.tbl | 4 +- arch/parisc/Kconfig | 1 + arch/parisc/kernel/sys_parisc32.c | 9 - arch/parisc/kernel/syscalls/syscall.tbl | 6 +- arch/powerpc/kernel/syscalls/syscall.tbl | 6 +- arch/riscv/kernel/sys_riscv.c | 4 +- arch/s390/kernel/syscall.c | 27 --- arch/s390/kernel/syscalls/syscall.tbl | 2 +- arch/sh/kernel/sys_sh32.c | 11 ++ arch/sh/kernel/syscalls/syscall.tbl | 3 +- arch/sparc/kernel/sys32.S | 221 ---------------------- arch/sparc/kernel/syscalls/syscall.tbl | 8 +- arch/x86/entry/syscalls/syscall_32.tbl | 2 +- fs/open.c | 4 +- include/asm-generic/syscalls.h | 2 +- include/linux/compat.h | 2 +- include/linux/syscalls.h | 20 +- include/uapi/asm-generic/unistd.h | 146 +++++++++----- 27 files changed, 160 insertions(+), 343 deletions(-) create mode 100644 arch/hexagon/include/asm/syscalls.h