From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 89F3DC43458 for ; Fri, 3 Jul 2026 11:44:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=JLEv5rnGz+dH05b46BfT9OvCq8I6vCtHuaFvN5MWQs8=; b=hLYOajQoiWcrxHnAJasSBRdYQR +hWRzngY7gWHu/8rqKEKrtThuQQ3nj0V8Ojec9iBZBapx9g6roiJ4upYZVKFvX9mHeo3mMiuutQsq GXd8QreM88pXkX4borEaeyLByFJ9DTypYOlilxgfZ53AwxHKLq8Xb9Q+AL+J9J5RrEZOBhINJX3ag mY1X09drokFFoOgkJJPr2bgkm3z8PiPrctbGsudjxiAXtVjhYl/tIrj79F45W7vL24Tos1+cO2nz6 wgxGDc0EdDG0Bpmg7haU2A5i9nNbxfZwmipPayVtoUy2x2JggDaXs455JZABI3t1J4Wz/Uhgf/MOq p56BIi6Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wfcJU-00000006qGR-355X; Fri, 03 Jul 2026 11:44:08 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wfcJS-00000006qFF-1SpE; Fri, 03 Jul 2026 11:44:07 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2D83C4637; Fri, 3 Jul 2026 04:44:01 -0700 (PDT) Received: from J2N7QTR9R3 (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 65D7D3F673; Fri, 3 Jul 2026 04:43:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1783079045; bh=GrslDCw/jAcNOwlB5p8nyDTpYshtAqIWlzis+qMG09I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tKakZnJ38IyGMrpp+FvNGCM4vGiYTEfyBni8Tcaswrg4QrDdEbNpUaICG78eSHmGQ OGQV+KmXsh59rXzLS/pX0QGbIzhBmg5wD2mrtFlZMHliVzpGArzzl6pwF6bB5ekiJB DUxWC4xjecD3+Ioa17sixIZ2uo+RdtMykGKWIz5Q= Date: Fri, 3 Jul 2026 12:43:53 +0100 From: Mark Rutland To: Jinjie Ruan Cc: oleg@redhat.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org, kees@kernel.org, guoren@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org, tsbogend@alpha.franken.de, James.Bottomley@hansenpartnership.com, deller@gmx.de, maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org, glaubitz@physik.fu-berlin.de, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, luto@kernel.org, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, chris@zankel.net, jcmvbkbc@gmail.com, peterz@infradead.org, wad@chromium.org, thuth@redhat.com, ada.coupriediaz@arm.com, kevin.brodsky@arm.com, linusw@kernel.org, yeoreum.yun@arm.com, song@kernel.org, james.morse@arm.com, anshuman.khandual@arm.com, broonie@kernel.org, liqiang01@kylinos.cn, pengcan@kylinos.cn, ryan.roberts@arm.com, yangtiezhu@loongson.cn, sshegde@linux.ibm.com, mchauras@linux.ibm.com, austin.kim@lge.com, jchrist@linux.ibm.com, arnd@arndb.de, thomas.weissschuh@linutronix.de, sohil.mehta@intel.com, andrew.cooper3@citrix.com, jgross@suse.com, kas@kernel.org, x86@kernel.org, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-csky@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org Subject: Re: [PATCH v16 02/18] syscall_user_dispatch: Introduce a weak fallback for arch_syscall_is_vdso_sigreturn() Message-ID: References: <20260629130616.642022-1-ruanjinjie@huawei.com> <20260629130616.642022-3-ruanjinjie@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260629130616.642022-3-ruanjinjie@huawei.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260703_044406_485337_A15FCF3E X-CRM114-Status: GOOD ( 11.98 ) X-BeenThere: linux-um@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-um" Errors-To: linux-um-bounces+linux-um=archiver.kernel.org@lists.infradead.org On Mon, Jun 29, 2026 at 09:06:00PM +0800, Jinjie Ruan wrote: > Currently, multiple architectures (LoongArch, RISC-V, S390, Powerpc) > provide identical stubs for arch_syscall_is_vdso_sigreturn() that simply > return false. This results in redundant boilerplate code across the tree. > > Introduce a default __weak implementation of > arch_syscall_is_vdso_sigreturn() directly in syscall_user_dispatch.c that > returns false. This allows architectures that do not utilize a vDSO > sigreturn to entirely drop their redundant inline definitions. > > Architectures requiring a specialized check (such as x86) will continue to > override this fallback with their strong symbol definitions. > > Clean up the redundant implementations in loongarch, riscv, s390 > and powerpc. > +bool __weak arch_syscall_is_vdso_sigreturn(struct pt_regs *regs) > +{ > + return false; > +} If we need this, please make it: #ifndef arch_syscall_is_vdso_sigreturn static inline bool arch_syscall_is_vdso_sigreturn(struct pt_regs *regs) { return false; } #endif ... and require that architectures which need this provide a CPP definition. The use of __weak is generally problematic, as it prevents the compiler form being able to elide code, and gets in the way of symbol resolution. It's perfectly fine to require that architectures need to provide a CPP definition alongside their own implementation of this function. That said, as per my comment on v15, I'd prefer that for now we DO NOT enable syscall user dispatch on arm64, and we first make it possible for architecture to express whether or not they support that, even if they use GENERIC_ENTRY. That might mean this patch isn't necessary right now. [1] https://lore.kernel.org/linux-arm-kernel/akZgV0Y4YAmB43_g@J2N7QTR9R3.cambridge.arm.com/ Mark. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 32002C43458 for ; Fri, 3 Jul 2026 11:44:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=uPJObtSHyHPoHc+s2vpmxOXm2O4vYZtcmAifibu7CRg=; b=JmtMGvv2LhlKAw yE8YOlMP35krMuljazhTN2q8eLYp0M0qM1JhJfQSp8qRdnIwqscA0xRaAmj/d2N+9FhMFXX2JOQ8c U294I1DgyRM46XGLunzHwVzNYztRJM6TzADe08dsa4tI2sWzX2Eaaem2RM+WE9d/v/zKp72hUoilc dtCq4H4GCHfbQzsJqzvD8ARR2N2s+649RZfL2MBdK6sNa8tpS3FE5xP8wqxqvHudQ81wVS+/iWVdN EQ340v4sm1eJEwj9rql9T6JWNere8xJS9+91NzKotN1UVVmbhkrfHwXxEWAOU6O3kaFU9kS41/t1i XXi5BjoRP828HVJCNGZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wfcJU-00000006qGN-2Xkk; Fri, 03 Jul 2026 11:44:08 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wfcJS-00000006qFF-1SpE; Fri, 03 Jul 2026 11:44:07 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2D83C4637; Fri, 3 Jul 2026 04:44:01 -0700 (PDT) Received: from J2N7QTR9R3 (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 65D7D3F673; Fri, 3 Jul 2026 04:43:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1783079045; bh=GrslDCw/jAcNOwlB5p8nyDTpYshtAqIWlzis+qMG09I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tKakZnJ38IyGMrpp+FvNGCM4vGiYTEfyBni8Tcaswrg4QrDdEbNpUaICG78eSHmGQ OGQV+KmXsh59rXzLS/pX0QGbIzhBmg5wD2mrtFlZMHliVzpGArzzl6pwF6bB5ekiJB DUxWC4xjecD3+Ioa17sixIZ2uo+RdtMykGKWIz5Q= Date: Fri, 3 Jul 2026 12:43:53 +0100 From: Mark Rutland To: Jinjie Ruan Cc: oleg@redhat.com, richard.henderson@linaro.org, mattst88@gmail.com, linmag7@gmail.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org, kees@kernel.org, guoren@kernel.org, chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org, tsbogend@alpha.franken.de, James.Bottomley@hansenpartnership.com, deller@gmx.de, maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, pjw@kernel.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org, glaubitz@physik.fu-berlin.de, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, luto@kernel.org, tglx@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, chris@zankel.net, jcmvbkbc@gmail.com, peterz@infradead.org, wad@chromium.org, thuth@redhat.com, ada.coupriediaz@arm.com, kevin.brodsky@arm.com, linusw@kernel.org, yeoreum.yun@arm.com, song@kernel.org, james.morse@arm.com, anshuman.khandual@arm.com, broonie@kernel.org, liqiang01@kylinos.cn, pengcan@kylinos.cn, ryan.roberts@arm.com, yangtiezhu@loongson.cn, sshegde@linux.ibm.com, mchauras@linux.ibm.com, austin.kim@lge.com, jchrist@linux.ibm.com, arnd@arndb.de, thomas.weissschuh@linutronix.de, sohil.mehta@intel.com, andrew.cooper3@citrix.com, jgross@suse.com, kas@kernel.org, x86@kernel.org, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-csky@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-um@lists.infradead.org Subject: Re: [PATCH v16 02/18] syscall_user_dispatch: Introduce a weak fallback for arch_syscall_is_vdso_sigreturn() Message-ID: References: <20260629130616.642022-1-ruanjinjie@huawei.com> <20260629130616.642022-3-ruanjinjie@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20260629130616.642022-3-ruanjinjie@huawei.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260703_044406_485337_A15FCF3E X-CRM114-Status: GOOD ( 11.98 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On Mon, Jun 29, 2026 at 09:06:00PM +0800, Jinjie Ruan wrote: > Currently, multiple architectures (LoongArch, RISC-V, S390, Powerpc) > provide identical stubs for arch_syscall_is_vdso_sigreturn() that simply > return false. This results in redundant boilerplate code across the tree. > > Introduce a default __weak implementation of > arch_syscall_is_vdso_sigreturn() directly in syscall_user_dispatch.c that > returns false. This allows architectures that do not utilize a vDSO > sigreturn to entirely drop their redundant inline definitions. > > Architectures requiring a specialized check (such as x86) will continue to > override this fallback with their strong symbol definitions. > > Clean up the redundant implementations in loongarch, riscv, s390 > and powerpc. > +bool __weak arch_syscall_is_vdso_sigreturn(struct pt_regs *regs) > +{ > + return false; > +} If we need this, please make it: #ifndef arch_syscall_is_vdso_sigreturn static inline bool arch_syscall_is_vdso_sigreturn(struct pt_regs *regs) { return false; } #endif ... and require that architectures which need this provide a CPP definition. The use of __weak is generally problematic, as it prevents the compiler form being able to elide code, and gets in the way of symbol resolution. It's perfectly fine to require that architectures need to provide a CPP definition alongside their own implementation of this function. That said, as per my comment on v15, I'd prefer that for now we DO NOT enable syscall user dispatch on arm64, and we first make it possible for architecture to express whether or not they support that, even if they use GENERIC_ENTRY. That might mean this patch isn't necessary right now. [1] https://lore.kernel.org/linux-arm-kernel/akZgV0Y4YAmB43_g@J2N7QTR9R3.cambridge.arm.com/ Mark. _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv