Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp426551rdb; Tue, 31 Oct 2023 11:07:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9F8P0hGLbCFxZdw0w+jP5EAtmAXEsiBgYwflYWaFs6SbxHkBJWG9m7Fs/LM3NA2qHSdq4 X-Received: by 2002:a17:902:bc42:b0:1ca:87e0:93e3 with SMTP id t2-20020a170902bc4200b001ca87e093e3mr11770823plz.7.1698775671346; Tue, 31 Oct 2023 11:07:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698775671; cv=none; d=google.com; s=arc-20160816; b=EPW3tVLz65+QwyHNwy8SGMbiPcbd2Er8MelNqtQRoOyq8s0o6OOM4NG+1Hid/MlnXC qUeqr5v/Dm+G5YHpNCTRSJ1bjhJsL457J6PrpFDq0y5jaB/tTh5AF4zXbaKrZY1kQRGx 7gaF2y4b52xzRU5/xjj39KfLjyEdojVjjsxaK7bcqswD1C9Xt7k896XupKFShATyHkI/ o5zbsxkfDaYpLL5IdSMGKEGkvakW6iKwzY+2o0aWodcpTUGpOhqaawrqRjieMW74I/bd Q479tYmgcq6g8F/yUih+670FzeFqWYIQYYQhWE3rjkm3+4vbV8X/NPF805CwRFBtKetd lEZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=SL7XBKc+RaoWRznnIRBT+ecFmqke4jto2dLiQ9BSdJk=; fh=MY2HcGW7qym95yMzXHvTL6rMhkliZnePRLJnVC0uVNw=; b=HAyoCqkMwltI9BlNbqPYOSaF5f0c0prze2Lao63a8alt2fWfEN3xxkJ1hW51Dehr3Q YyDGsvP74Rt/3rvjemk0Kp8UMRPFJXjqQ4rbplFLI7hPR3QlPrxUqD4jRhs2OKV79Ynq vgP+0tfDdXXPQQuAo54BqFmS5Eo247H34fp4N8jPfEq+hKHimSBSyQrzM+6lgisW/O5a grS2DtB19vWzIodu2TiS1P9TLIPo9icNSHep4cYBdSVfzI+ybvUZpfzzjBOAu94LDlKy YIXy/9lscA6/44xNVfb0g8bsL7lrx6RRwXdBQziFSB67a7tlFGs0rT/ieZKIdlkYojNo sAKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b="po/HyosU"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id o5-20020a17090323c500b001bdd58f685fsi1254532plh.85.2023.10.31.11.07.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 11:07:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b="po/HyosU"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id D46988029310; Tue, 31 Oct 2023 11:07:48 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376614AbjJaSHi (ORCPT + 99 others); Tue, 31 Oct 2023 14:07:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347030AbjJaSHh (ORCPT ); Tue, 31 Oct 2023 14:07:37 -0400 Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F256AA6 for ; Tue, 31 Oct 2023 11:07:34 -0700 (PDT) Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-40790b0a224so43213005e9.0 for ; Tue, 31 Oct 2023 11:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698775653; x=1699380453; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=SL7XBKc+RaoWRznnIRBT+ecFmqke4jto2dLiQ9BSdJk=; b=po/HyosUunlaPd2Sr5UmuUlDaOZ+ZN/hBFEIPWgk+ywxM+56FXjsARKagseq7qiOmO XZ1lgkw04zDgF2+HBqZS2g8vNVvtrhiChZei6pglu+pgtxP3fs8M9iPw0gk1RldZABg8 FCs750Jbdt1rtTrzoTzhC9YhbRWEIJRl2NITSCLcBmN24CJk8Grf/Iq3QkizWYrpu2xS wwKRw1WFUDm2jbjdGFr/2orGAAYUXgB3HD8Nh8EglfFu0Z7dynHyfahI2+VUj2xNWBok aRCj2EeXWw11mF2I7BRZ5xU+KA5TOLXh4LIvQYrozpSlWEneqQx+kzsMKySHV2WWB/0w FiNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698775653; x=1699380453; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SL7XBKc+RaoWRznnIRBT+ecFmqke4jto2dLiQ9BSdJk=; b=FyGm8hVkwD1/8o5Fjqh5fGECx7WvX7HTpTK1L+bDtnRdggnZVUK9XWRTV+qoAJ3X8U fgtd82lNr4gkxSjTBqdd7clwq+92VeD6Uo7mCsnJafZRH5RciGq+SAHPPvL+lUqAF1x8 7GB9NBdaOYaoBay9QPs5SFxYkuKH40bgvIVOCrWGF097lqH8upX82YtqK59Fpsbm2Z0C HJxx/c39A6/2fZopDSqGQe7k29fiuCvDhlff65UfmLiNZjXWyr3fALtmPTbULwU6zG+8 V740uxcML28ixU4EoEQooavG+pJSnGEf0lD6LddQHYbb3HTnR/1jyM4MF3RxzokhAS8V fBnQ== X-Gm-Message-State: AOJu0YztJm/cAMx8rRHsAbCiVHd+LttNGT1N8M1z3JtpzmIeFgygvdF4 drIYaajUGxHRZWQloMT8S0e+WnpOWIPtWVol/EOKt7ETmfvB1k4XSug= X-Received: by 2002:a05:600c:4708:b0:402:ff8d:609b with SMTP id v8-20020a05600c470800b00402ff8d609bmr11137029wmo.33.1698775653184; Tue, 31 Oct 2023 11:07:33 -0700 (PDT) MIME-Version: 1.0 References: <20231031174627.684576-1-masahiroy@kernel.org> In-Reply-To: <20231031174627.684576-1-masahiroy@kernel.org> From: Nick Desaulniers Date: Tue, 31 Oct 2023 11:07:22 -0700 Message-ID: Subject: Re: [PATCH] modpost: fix section mismatch message for RELA To: Masahiro Yamada Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, Albert Ou , Nathan Chancellor , Nicolas Schier , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org, Fangrui Song Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Tue, 31 Oct 2023 11:07:49 -0700 (PDT) On Tue, Oct 31, 2023 at 10:46=E2=80=AFAM Masahiro Yamada wrote: > > The section mismatch check prints a bogus symbol name on some > architectures. > > [test code] > > #include > > int __initdata foo; > int get_foo(void) { return foo; } > > If you compile it with GCC for riscv or loongarch, modpost will show an > incorrect symbol name: > > WARNING: modpost: vmlinux: section mismatch in reference: get_foo+0x8 (= section: .text) -> done (section: .init.data) > > To get the correct symbol address, st_value must be added > > This issue has never been noticed since commit 93684d3b8062 ("kbuild: > include symbol names in section mismatch warnings") presumably because > st_value becomes zero on most architectures when the referenced symbol > is looked up. It is not true for riscv or loongarch, at least. > > With this fix, modpost will show the correct symbol name: > > WARNING: modpost: vmlinux: section mismatch in reference: get_foo+0x8 (= section: .text) -> foo (section: .init.data) > > Signed-off-by: Masahiro Yamada Thanks for the patch! Reviewed-by: Nick Desaulniers > --- > > scripts/mod/modpost.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index 973b5e5ae2dd..cb6406f485a9 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -1383,13 +1383,15 @@ static void section_rela(struct module *mod, stru= ct elf_info *elf, > const Elf_Rela *rela; > > for (rela =3D start; rela < stop; rela++) { > + Elf_Sym *tsym; > Elf_Addr taddr, r_offset; > unsigned int r_type, r_sym; > > r_offset =3D TO_NATIVE(rela->r_offset); > get_rel_type_and_sym(elf, rela->r_info, &r_type, &r_sym); > > - taddr =3D TO_NATIVE(rela->r_addend); > + tsym =3D elf->symtab_start + r_sym; > + taddr =3D tsym->st_value + TO_NATIVE(rela->r_addend); > > switch (elf->hdr->e_machine) { > case EM_RISCV: > @@ -1404,7 +1406,7 @@ static void section_rela(struct module *mod, struct= elf_info *elf, > break; > } > > - check_section_mismatch(mod, elf, elf->symtab_start + r_sy= m, > + check_section_mismatch(mod, elf, tsym, > fsecndx, fromsec, r_offset, taddr)= ; > } > } > -- > 2.40.1 > --=20 Thanks, ~Nick Desaulniers