Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp959152lqh; Fri, 29 Mar 2024 02:35:06 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVOwMM4RFp97hGAalsVjl0PAbbQhnLzpAfPkvEaH92MD3Cyd9PZ1ftnJjW63teM0Vqf1bq1WoJkzQrWY4ljzeBmSm5U/3xvemuQ17mkyA== X-Google-Smtp-Source: AGHT+IF8w963CR+T84QLronyyhBi3NKOnnRgCzbKx+IJcUA6d+uhqn92Q+bd0HE4E8UInQ9h4D2/ X-Received: by 2002:a0c:e909:0:b0:696:ad20:2bcf with SMTP id a9-20020a0ce909000000b00696ad202bcfmr1764689qvo.39.1711704906051; Fri, 29 Mar 2024 02:35:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711704906; cv=pass; d=google.com; s=arc-20160816; b=z0EMlwUcvZ32f3KYP5bO//3s2AX46Gr4wgOLhSVQT0xO7ucurmMDxxb7LaYMSPqiqM kBx+r3Udmbcu+2Qkx8RjuRDX/sGGrCdCHzLTTg3XNEDj9Bgh1JoaNt6bv6KXa7w42NiY s7z/1z9szJijwbPBT9Uw+FIgZtsJDU+XF3CuFBOxVu+pR7Mxxbl2y6bS0u7nhfM4H/9j fSO4bcOcuKB1iasfDLyAm2RDzQKWEO2zLf0/9NQ7OlmYsMr3dM6DHgIR9O5R/lXvTp8E c5vL5XjYXWxImBvMftSMMxc9evnQ2XlIGlB5P0XbqdLxXVbNHnRVl4G9GNsd02AUd4ym 5Q6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:message-id:references:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:in-reply-to:date :dkim-signature; bh=dw09Gs88ogil/diQ6Vr0EqHQANsVVhIyP+7ZdKbyIx8=; fh=nVvy2jOpY5dZnfwx6ksUS589deOtxab+Qpdw5Htp1f4=; b=JUynAoi9ScALywopncr2KAFffFz1m9MkebDS6aIlgkBbNKHmqcznsP1EE9GlToE4XF jc3e5uFkGu0LxDLq5sTz2cnyyupaP14fFtaBGi2EmzXvYbqMDjgJ9QG/CBu5Q1M/Op59 X8f4w8L7IVJV1BEr9CF19wkECOCK1LZXbri4Akr5lDtZugEguSQwUwA2vmAyoRMfpdXy ZUIe/xBOAQTCIEJEFWP1m5tbsqoTKm318C2yhnectA0FKrfVP3N0tlKnIQG7ys+tOB1c Wqoc4Lg1aG4mvoiuFG6glB3+blDKZ8+jNt1joH64dQp9xV6wJXHxpRkXHKpqElnOHI8N 8/cQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=hrTEbWLx; arc=pass (i=1 spf=pass spfdomain=flex--ardb.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-124354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-124354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id j2-20020a0cc342000000b00696b49f0594si3278596qvi.515.2024.03.29.02.35.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Mar 2024 02:35:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-124354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=hrTEbWLx; arc=pass (i=1 spf=pass spfdomain=flex--ardb.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-124354-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-124354-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id C29731C239E4 for ; Fri, 29 Mar 2024 09:35:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 306815102A; Fri, 29 Mar 2024 09:34:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="hrTEbWLx" Received: from mail-yw1-f201.google.com (mail-yw1-f201.google.com [209.85.128.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A760051028 for ; Fri, 29 Mar 2024 09:34:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711704859; cv=none; b=ncvsvmZVmaGCPzBGK/FshICV+mWpq/DPOrV7XkEmrcz3NifAHTSrlaTEV7SaF1PiOC5bgX1bLG1pk/I0vmGtFXd+mLMy0i8hi9ka3nKTEs+nw1eLre9j0wGeCfMGB2O88N2MDzWSxnLil0/45K5rMYugg7QDBRLW7qbUNvw4lOk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711704859; c=relaxed/simple; bh=KUC09wtYmay5oVx7+9C+OUpDt1KQS0U9lKvW1u+lUzg=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=mwjmX8HhaIMs7y8rhtnnJR2f/2TtGcNCBRFwS59Q708/cYUc03NBKzh2E0VqE3jK97ZDFrkU9CCit6IyOyexZ1U7N687XOHTldM/Xs4c9N3huYMgNoelxZ5OPdlKXd8IW/wWfqmYfHwyz362lA8TMAs2AaFSG5fT9qMLLR1RWXI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=hrTEbWLx; arc=none smtp.client-ip=209.85.128.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--ardb.bounces.google.com Received: by mail-yw1-f201.google.com with SMTP id 00721157ae682-60cd041665bso34122257b3.0 for ; Fri, 29 Mar 2024 02:34:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1711704857; x=1712309657; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=dw09Gs88ogil/diQ6Vr0EqHQANsVVhIyP+7ZdKbyIx8=; b=hrTEbWLxtEqFbiUq7dXs2Ij2MbDHo9jxMNEXhcM33fZCV6SANtjf9/OdUyJt+HCk7B XOzjuQSEPLKUZTTMKuRQVNvH9lnmgJSzevBo1s1Pv/yheReNYz+rZyAsDaSh+mX3p/Lf +KMyvL8hmFqI8GLUScCj5UReuS95++Qs7OT0TRm+GHhB3zPqi75m0G0mG0rk+y84cmDT 3NpmH45Mw9DvIb00R8jFVHuayV/HnsfjZ+c6TOAYiT+rfAYCnGDyg7c69djn5gOW5Y4g 6RaRmY4GnYX1mqz6SipPYu7Bu6DhY3tJgSPg4u9i/NUXaviVU20Y8W5OCTDYOXWxsxIJ dx3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711704857; x=1712309657; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dw09Gs88ogil/diQ6Vr0EqHQANsVVhIyP+7ZdKbyIx8=; b=d88OtSt3JnvG9yKX/dtrDIzHAu6e0+Rm6T4Z4bXiLMjjk86SZ2dbTP0nsMvSjVlOvf udj2eMHqCBeibNHnZ1n4iWFJQigghKBUMUI4j8HIWiDaauF/nhYfo3+Cvy0ADksGUm6x XZ8QPqpJxkVbzXhrIhGeVDNDzQ2Mfbbt/cis80j6U3M3stp8fUgt+fX5zRJzDy93XC70 yyrD1g1JoxMxwq525VMMlWvTqXZ7CqJ2IkWS8npH8XbmWatoeijpLZy4XbBlwCu1eAL3 WvALUMqTAM56ibEkEeVs1jy0HZngmXQCKmQ6D9EAmCrsXmLPOJFPgJz2N3moMPP8qbC/ Zqjg== X-Gm-Message-State: AOJu0Yy1GaPS9e/dok9eKIK5hcu36EkaTozZI03UvS9rHdlM7jF/okKn atSM1LpNS7wJaW2uWw7bLt41Hx3dCYEKHL/wfx7BB5E+whT/zbm8U7D4iR0cYS2OcMi8KgvjyM5 HR6hqwEtnhPUEcE15xYleaTk+W7LGzNipz0YKYbjX5alu064xUpSP0I0hswlvBAuUzeY1E0aux1 nzsdbfC1OoUI+dQoN45Tjw8RVTun2bRA== X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a0d:dd03:0:b0:611:7573:72b9 with SMTP id g3-20020a0ddd03000000b00611757372b9mr538832ywe.5.1711704856741; Fri, 29 Mar 2024 02:34:16 -0700 (PDT) Date: Fri, 29 Mar 2024 10:34:00 +0100 In-Reply-To: <20240329093356.276289-5-ardb+git@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240329093356.276289-5-ardb+git@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1581; i=ardb@kernel.org; h=from:subject; bh=q5UGicb35M6dvlAOCgO0axQESJYA1rUn+GPk9ZrI1w0=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JIY2tm2OlVN6iHxUr9jYWMgmymJk94z0V9u5k6qIdE5rSD 26LOdPVUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACbSb8fwPzp8VsaB3SU2Br47 13TyqzMf+HazQXOCcIe1VeufXy6Jrxn+Cj68+VHg2BXetLa8nEmMt64kzV5teF7ibP27fVkbfDK XsQEA X-Mailer: git-send-email 2.44.0.478.gd926399ef9-goog Message-ID: <20240329093356.276289-8-ardb+git@google.com> Subject: [PATCH 3/3] btf: Avoid weak external references From: Ard Biesheuvel To: linux-kernel@vger.kernel.org Cc: Ard Biesheuvel , Masahiro Yamada , Arnd Bergmann , Martin KaFai Lau , linux-arch@vger.kernel.org, linux-kbuild@vger.kernel.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" From: Ard Biesheuvel If the BTF code is enabled in the build configuration, the start/stop BTF markers are guaranteed to exist in the final link but not during the first linker pass. Avoid GOT based relocations to these markers in the final executable by providing preliminary definitions that will be used by the first linker pass, and superseded by the actual definitions in the subsequent ones. Signed-off-by: Ard Biesheuvel --- include/asm-generic/vmlinux.lds.h | 2 ++ kernel/bpf/btf.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index e8449be62058..141bddb511ee 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -456,6 +456,8 @@ * independent code. */ #define PRELIMINARY_SYMBOL_DEFINITIONS \ + PROVIDE(__start_BTF = .); \ + PROVIDE(__stop_BTF = .); \ PROVIDE(kallsyms_addresses = .); \ PROVIDE(kallsyms_offsets = .); \ PROVIDE(kallsyms_names = .); \ diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index 90c4a32d89ff..46a56bf067a8 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -5642,8 +5642,8 @@ static struct btf *btf_parse(const union bpf_attr *attr, bpfptr_t uattr, u32 uat return ERR_PTR(err); } -extern char __weak __start_BTF[]; -extern char __weak __stop_BTF[]; +extern char __start_BTF[]; +extern char __stop_BTF[]; extern struct btf *btf_vmlinux; #define BPF_MAP_TYPE(_id, _ops) -- 2.44.0.478.gd926399ef9-goog