From patchwork Sun Nov 12 06:15:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guo Ren X-Patchwork-Id: 164219 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp562474vqg; Sat, 11 Nov 2023 22:20:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IGtIVKhThFFsgykgzVvB2oTy+P3a8KSHoRUXbNfO1VqSsRRphF8QSHrR07HdXAvIpGUvwaC X-Received: by 2002:a05:6808:1211:b0:3ab:8e86:fc26 with SMTP id a17-20020a056808121100b003ab8e86fc26mr5942413oil.46.1699770031362; Sat, 11 Nov 2023 22:20:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699770031; cv=none; d=google.com; s=arc-20160816; b=Ze6bRVXRuoUeFeFE0gBQnzBXEIOHWMwmM8wzB3ddV+4FOLyWqCcJSH+RcLaQKwj0Aa j45TYniMsONIqt7HSEjSjJmeg2/174J1beGg2Sm8C6T5Od5g8CrMu/MCyLSDbZhO9MHz e3BtQ57x/0HwbkCfuSfTIh1STvZym+xyDBaUTZp/of1dDV7RHTZHZZgKC7VvVa30rZRB w/3axVcmFxpGBzthvh1A+iAv+tcZsa6FeywDp+1egBXqJYlavfMW7+zl6BXKXLdbmRwd UB54+yDO3+iwQkT4SgWjuBfh+0eBYOWfamMtTUcmRpnCxlfNOrTFr3FSbzwwZI9VeZGh 5f+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=eC9iE73u/QLXnrgqlD6Tx7eRltMLAh2MKRx5qcdLMo0=; fh=hiUu4WnNf2NE4BOnZkChTDNuaLCP7F/uPj8/x0ZaTY8=; b=sFdXCOyImltGCLGK4IAy3t+NAT9wy59XyyK9SZMZ9RwIFfzrjM+dw0JLrfHZlCXirU sWzifae1HEzpl1cn1l0WxCh414M42/aVbGO562CYfJG8d5AtH3DKJXY1ANFG/lXCSRuZ WMUtfrMy4Yx+yTNIBhfKHtN3+g/k+ubkYOahsnoYKv0XToFUv4/F6dkh4U7oPSCBaflZ pka5doG/RtsI4IxmlqIPMNl1kEQa0UZKk9RYnIc0bSRlaalf8gDWKJzxRYsPe5P5lTtB HZfGj0BB/jjlhE+7ykqh2yDHd2pl8KWntOaXSjLMqu5jvT4BN7qvQIZNtZgYxauaS3Mp RNmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="XzxiUc/r"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id n3-20020a170902d2c300b001cc453f5178si3206180plc.439.2023.11.11.22.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Nov 2023 22:20:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="XzxiUc/r"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 68DFE809EE3B; Sat, 11 Nov 2023 22:20:13 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231358AbjKLGTO (ORCPT + 29 others); Sun, 12 Nov 2023 01:19:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231357AbjKLGSr (ORCPT ); Sun, 12 Nov 2023 01:18:47 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ABEE249D1 for ; Sat, 11 Nov 2023 22:18:18 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF689C433CC; Sun, 12 Nov 2023 06:18:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1699769898; bh=C5/JTwI5wb372y7wWIYf3dQ+SLZcZm+RSCZqId06nPc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XzxiUc/riiP4tMEJUwggD2u9mRqrLLZ41Aw67HFXqS1bHzAuFmeIH2H5OdveRi8cH 5zztfx/t2iY6XV7eYL8QLHaXv5f+VLVEv0DQBpzv3fhdQ34oepKnhuUHQCRLTAAfmI BlXFjNTpR4nT0HBy8oRTm2UlXg1Lm37W6+Es2jfbgDfBCMc1rqNVmbOAc2iRrA8GrJ 6R8wIWO+3OcjVbkakLgVpVjgClmWXdTeeqSpyTGCAbCoxFIQVQxFEwORvHlUkG+QQa oywT+nnivDrE06mlTpUBGGpGzGR1WmPvM77j7UI/6TmlIhpnpuKOcrEvU6Cvpr98bH HAReT157wq6iw== From: guoren@kernel.org To: arnd@arndb.de, guoren@kernel.org, palmer@rivosinc.com, tglx@linutronix.de, conor.dooley@microchip.com, heiko@sntech.de, apatel@ventanamicro.com, atishp@atishpatra.org, bjorn@kernel.org, paul.walmsley@sifive.com, anup@brainfault.org, jiawei@iscas.ac.cn, liweiwei@iscas.ac.cn, wefu@redhat.com, U2FsdGVkX1@gmail.com, wangjunqiang@iscas.ac.cn, kito.cheng@sifive.com, andy.chiu@sifive.com, vincent.chen@sifive.com, greentime.hu@sifive.com, wuwei2016@iscas.ac.cn, jrtc27@jrtc27.com, luto@kernel.org, fweimer@redhat.com, catalin.marinas@arm.com, hjl.tools@gmail.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Guo Ren , LiaoShihua Subject: [RFC PATCH V2 28/38] riscv: s64ilp32: Temporary workaround solution to gcc problem Date: Sun, 12 Nov 2023 01:15:04 -0500 Message-Id: <20231112061514.2306187-29-guoren@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20231112061514.2306187-1-guoren@kernel.org> References: <20231112061514.2306187-1-guoren@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Sat, 11 Nov 2023 22:20:13 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782338060380166999 X-GMAIL-MSGID: 1782338060380166999 From: Guo Ren There is an existing problem in 64ilp32 gcc that combines two pointers in one register. Liao is solving that problem. Before he finishes the job, we could prevent it with a simple noinline attribute, fortunately. struct path { struct vfsmount *mnt; struct dentry *dentry; } __randomize_layout; struct nameidata { struct path path; struct qstr last; struct path root; ... } __randomize_layout; struct nameidata *nd ... nd->path = nd->root; 6c88 ld a0,24(s1) ^^ // Wrong arg of mntget e088 sd a0,0(s1) // Need inserting "lw a0,0(s1)" here mntget(path->mnt); 2a6150ef jal c01ce946 Any gcc helps are welcome :) Signed-off-by: Guo Ren Signed-off-by: Guo Ren Cc: LiaoShihua --- fs/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/namei.c b/fs/namei.c index e56ff39a79bc..1285736dadc4 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -543,7 +543,7 @@ EXPORT_SYMBOL(inode_permission); * * Given a path increment the reference count to the dentry and the vfsmount. */ -void path_get(const struct path *path) +void noinline path_get(const struct path *path) { mntget(path->mnt); dget(path->dentry);