Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp654542rdh; Sun, 24 Sep 2023 06:19:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6Bq8lUaWnZZAjsYiu05D8K5DLn3U8sDt5ExFJd+OurVezdhtby3VE6VEI0ieO2nkUnKdK X-Received: by 2002:a05:6358:341b:b0:133:a8e:6feb with SMTP id h27-20020a056358341b00b001330a8e6febmr5774283rwd.12.1695561552532; Sun, 24 Sep 2023 06:19:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695561552; cv=none; d=google.com; s=arc-20160816; b=nVw5fNiOesf0MPeEpbMetPdRC5u+hOt83moiY7ZTSGNky/7DfR9P52MNy35toIjOvP i1k3vBqch7yMUHS4RuGUfwnJt/2zaPQcuOLcMZ9lmu3WhsEqkIBp5kpi+BlEzowXStKH FxtYSZByXO63XcoRQm7sB9QM7diP1sncKH4ziYeaM9HI5gMGYJTuFrSokH+Y0o3bTPPG UsVN5G1psAQX7oWNI2MQExzCBGYty+Zgx46ow5EzQs8Prdr/8iN1f4iNdaPPJbsLLmlJ 9tZ5PjbuZhBNE07bJUo4OuG0I/Iy72CMvGdyoNGJvlMQ+AtOXtsf4Sr+y7JIryTUtICk 9mDQ== 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=g0BcGCUVc2G6B0Onz+vIgd7izf0NVua6iaCVZCfnOVc=; fh=a278fVtvy1XbAJZgOrAP2tNyTBg1a77fg1h2uQiBRY4=; b=QUo6Bh4OHSSTwdQqCW7vbXFS3piADnoMGrCaQ/Ens4uxhujstvZbpZqXNjGoFsjHN/ 7tySiNPOWGpomNiDWdfccwoJVh1UM71gMA8rpaso/6IGnzDj3iH8KFJGKFEU9Cbq4o60 V2UtK8ldWE8x8ko77Mwl86CTWNCDKZlu/LybXR7rZ2sRmDbBGxW75LfwLwrMa2dAtUKJ qUWLYnvnMwI+9qhsX1orVF87YAcfaJT3LbseK/7awBNCT2DiNaWL+fY3IzxLeh3XuRth Wek1IfuSY08jAFzDMw+JvsMyRdqmnQLPfEEY0wDI9K8r5VwuzayIW53iUwyvhhTbLuGb asdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YxeduMDP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id bu18-20020a632952000000b005819be28987si1551790pgb.346.2023.09.24.06.19.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 06:19:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YxeduMDP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id 5C7B9802D51C; Sun, 24 Sep 2023 06:19:11 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230281AbjIXNTN (ORCPT + 99 others); Sun, 24 Sep 2023 09:19:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229561AbjIXNSm (ORCPT ); Sun, 24 Sep 2023 09:18:42 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3009F170F; Sun, 24 Sep 2023 06:17:31 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C630BC433BB; Sun, 24 Sep 2023 13:17:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1695561450; bh=t9Xk/x5uTc12jjguLUmrTd//G1EkDbcQ5Y+KI6nZyno=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YxeduMDPM0iTXt3JQgHpc+/Whg+8MoUU+QQQ1Jlhw+Wj3snFMBfpiwG6XJrUGL2dn TK0pEmOjb38j6AvOgRVYG4nSLa4A58ybB6pqphx+V2TXGMlSD2KGIsjul630pyOROn cfcWCKtIZ6G2sBhWs81xSUVaqlq+ZFgNrI51vYLCbw3W3jX2w96iK5QnvylAChWsET yFL+rAAr/QwTw9Rl/Sm/Z3++23fwukmriN4tm7zEkDOkM/NFbX08pCSHTc9eSaMmXP XlbruURe+up8XEv4nZPh/i/6vk6UVON75DLtUioFJbCHbJZbAl6ELG1ytvxp8lzyGr coYZcHch/ktMA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Josh Poimboeuf , Ingo Molnar , Sasha Levin , peterz@infradead.org, nathan@kernel.org, ndesaulniers@google.com, llvm@lists.linux.dev Subject: [PATCH AUTOSEL 6.5 34/41] objtool: Fix _THIS_IP_ detection for cold functions Date: Sun, 24 Sep 2023 09:15:22 -0400 Message-Id: <20230924131529.1275335-34-sashal@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230924131529.1275335-1-sashal@kernel.org> References: <20230924131529.1275335-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.5.5 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS 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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 24 Sep 2023 06:19:11 -0700 (PDT) From: Josh Poimboeuf [ Upstream commit 72178d5d1a38dd185d1db15f177f2d122ef10d9b ] Cold functions and their non-cold counterparts can use _THIS_IP_ to reference each other. Don't warn about !ENDBR in that case. Note that for GCC this is currently irrelevant in light of the following commit c27cd083cfb9 ("Compiler attributes: GCC cold function alignment workarounds") which disabled cold functions in the kernel. However this may still be possible with Clang. Fixes several warnings like the following: drivers/scsi/bnx2i/bnx2i.prelink.o: warning: objtool: bnx2i_hw_ep_disconnect+0x19d: relocation to !ENDBR: bnx2i_hw_ep_disconnect.cold+0x0 drivers/net/ipvlan/ipvlan.prelink.o: warning: objtool: ipvlan_addr4_event.cold+0x28: relocation to !ENDBR: ipvlan_addr4_event+0xda drivers/net/ipvlan/ipvlan.prelink.o: warning: objtool: ipvlan_addr6_event.cold+0x26: relocation to !ENDBR: ipvlan_addr6_event+0xb7 drivers/net/ethernet/broadcom/tg3.prelink.o: warning: objtool: tg3_set_ringparam.cold+0x17: relocation to !ENDBR: tg3_set_ringparam+0x115 drivers/net/ethernet/broadcom/tg3.prelink.o: warning: objtool: tg3_self_test.cold+0x17: relocation to !ENDBR: tg3_self_test+0x2e1 drivers/target/iscsi/cxgbit/cxgbit.prelink.o: warning: objtool: __cxgbit_free_conn.cold+0x24: relocation to !ENDBR: __cxgbit_free_conn+0xfb net/can/can.prelink.o: warning: objtool: can_rx_unregister.cold+0x2c: relocation to !ENDBR: can_rx_unregister+0x11b drivers/net/ethernet/qlogic/qed/qed.prelink.o: warning: objtool: qed_spq_post+0xc0: relocation to !ENDBR: qed_spq_post.cold+0x9a drivers/net/ethernet/qlogic/qed/qed.prelink.o: warning: objtool: qed_iwarp_ll2_comp_syn_pkt.cold+0x12f: relocation to !ENDBR: qed_iwarp_ll2_comp_syn_pkt+0x34b net/tipc/tipc.prelink.o: warning: objtool: tipc_nametbl_publish.cold+0x21: relocation to !ENDBR: tipc_nametbl_publish+0xa6 Signed-off-by: Josh Poimboeuf Signed-off-by: Ingo Molnar Link: https://lore.kernel.org/r/d8f1ab6a23a6105bc023c132b105f245c7976be6.1694476559.git.jpoimboe@kernel.org Signed-off-by: Sasha Levin --- tools/objtool/check.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 1384090530dbe..e308d1ba664ef 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -4333,7 +4333,8 @@ static int validate_ibt_insn(struct objtool_file *file, struct instruction *insn continue; } - if (insn_func(dest) && insn_func(dest) == insn_func(insn)) { + if (insn_func(dest) && insn_func(insn) && + insn_func(dest)->pfunc == insn_func(insn)->pfunc) { /* * Anything from->to self is either _THIS_IP_ or * IRET-to-self. -- 2.40.1