From patchwork Thu May 18 13:10:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guo Ren X-Patchwork-Id: 95898 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp498203vqo; Thu, 18 May 2023 06:36:24 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5ZeWIK8vGehPCNdVOyEYLMch25GiN5G/ikJNrHn0vU6yfnT4wHHBpZdYU0geX3V7NnUkYX X-Received: by 2002:a05:6a20:1605:b0:104:ecd9:a9f3 with SMTP id l5-20020a056a20160500b00104ecd9a9f3mr2553522pzj.7.1684416984132; Thu, 18 May 2023 06:36:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684416984; cv=none; d=google.com; s=arc-20160816; b=WBo4a/O5ZKTahQX2E1nrZR8lO7dlaAagkHLvO4MreDXObEYxcyGJ8oiRMl8jJ9J2O+ WL2Im1qp1SHPwb/lpkMP2BrR7HWgT2lrnoGCTKK4CQuPqabNqiMeZAb9rkmyWxnYkh7F a1GhuTq1Da7bgGKPxmCxFUJ4mG1yfgkTwwa+I4Yl8Au1FZvZc38nX5tATy2/Eifr52ET tpoDTkRxARcNFhCXJjWyYSXK7tTfe0ygWLvdVaM1I5HJD/+NWIUmNYQE1XITPWhJcBz+ ZX1j6/v8rIDUz4Vgpu2jfKPOvJ9KtQZta5hzZJgYnxlIwpBK2SFuSxXzP3LDmPf5p3nd dI8A== 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=sUJX7iAfG7KnrCvLMAcSTRoQ/ShR+qFxquBd4TjoTjg=; b=qWZqgijjow6EaiX9IsB7+ZnVl/mmcDhtdZClJofwJIh4Ba5Nm+kWxGxftKaJiYaOeX Ffibl1u4BRLpRUAYJUeaeZOpGM3vQtroH3gO914naMRStfA0ksWe5ejY1PN9lB/aitUb 68N7ZL0hECjVqPq7NhIEWe5GPH92E/E6yx+A0o/3bKgTrx6yUlw+/306xhg8QxsrVW2n hyAEmh2AwfSZYFy11rLgOR7mLvQLv2URR9S0Ef1jaPPDH2DmjJIMbH93vSAnsQMlprN5 cxKCeB9sPChkFCrUCyrBRJpvElKn8G1cdePS5UTgj9jxvdwo7Abl1pjhN14JBQg5z7av zZ+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U6EWjbah; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g187-20020a636bc4000000b00528ca427963si1395033pgc.709.2023.05.18.06.36.09; Thu, 18 May 2023 06:36:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=U6EWjbah; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231704AbjERNQp (ORCPT + 99 others); Thu, 18 May 2023 09:16:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47168 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231687AbjERNQI (ORCPT ); Thu, 18 May 2023 09:16:08 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39F822105; Thu, 18 May 2023 06:15:41 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0FC2C64F51; Thu, 18 May 2023 13:14:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67B72C4339C; Thu, 18 May 2023 13:14:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684415696; bh=lQTH6fQXqgDOV13+OOf/m8+ReoWieEMsKkpHvX1KsBk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U6EWjbahGfHXvROjB2vQAPwqJYGK9YXMzzTxQLwkq71y9CcePnOM9o0N6RgIJxBAA iTUw77TFtCy266dawOWVsx7sYBg81q/acOunzlByttuu/7hUXMU6bAdWUJ7eOvEQgU 3It9oF8OK6aVWRyoLzt3nCb15zQ4TaRdM2/T7/NKOFw0Jcs8EDOLPfiSuZYUmrZnzE fbsFQvX+QYCwyd2VkmID9Zbj0EnVj2cHi1nzb1M6HAeGrGFDVk/Au69twErCk4x7+s JeniPBb8OhNwQRv4lKBbLI+UqzRKL20bsZWqfA8S6smJl087/UeJQBxf7ivFSyJJGH lfg8CnyC2mhlA== From: guoren@kernel.org To: arnd@arndb.de, guoren@kernel.org, palmer@rivosinc.com, tglx@linutronix.de, peterz@infradead.org, luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de, jszhang@kernel.org, chenhuacai@kernel.org, apatel@ventanamicro.com, atishp@atishpatra.org, mark.rutland@arm.com, bjorn@kernel.org, paul.walmsley@sifive.com, catalin.marinas@arm.com, will@kernel.org, rppt@kernel.org, anup@brainfault.org, shihua@iscas.ac.cn, jiawei@iscas.ac.cn, liweiwei@iscas.ac.cn, luxufan@iscas.ac.cn, chunyu@iscas.ac.cn, tsu.yubo@gmail.com, wefu@redhat.com, wangjunqiang@iscas.ac.cn, kito.cheng@sifive.com, andy.chiu@sifive.com, vincent.chen@sifive.com, greentime.hu@sifive.com, corbet@lwn.net, wuwei2016@iscas.ac.cn, jrtc27@jrtc27.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Guo Ren Subject: [RFC PATCH 22/22] riscv: s64ilp32: Temporary workaround solution to gcc problem Date: Thu, 18 May 2023 09:10:13 -0400 Message-Id: <20230518131013.3366406-23-guoren@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20230518131013.3366406-1-guoren@kernel.org> References: <20230518131013.3366406-1-guoren@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,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 lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766239223675472002?= X-GMAIL-MSGID: =?utf-8?q?1766239223675472002?= 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 edfedfbccaef..22a2ef77e074 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -541,7 +541,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);