Received: by 2002:ab2:710b:0:b0:1ef:a325:1205 with SMTP id z11csp620189lql; Mon, 11 Mar 2024 12:08:31 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUIIZb/VqcUUXQ+06AwEePYjmfQrpKdm/oPPWY3b4gJOXbeVXtVEdwuqeIwi8+Af4DnTtfFCghCkcUfs2YEMsdBIleiSBqeBuqhc/0Gpg== X-Google-Smtp-Source: AGHT+IHxo4VIOPl0RJcsmWZtkrYx0qw8UUgBQvkDUPOLssSnalLnhPh34PT1xquMNdMZN4ofFOj7 X-Received: by 2002:a17:90a:cc0c:b0:29a:9a57:f367 with SMTP id b12-20020a17090acc0c00b0029a9a57f367mr4854244pju.2.1710184111658; Mon, 11 Mar 2024 12:08:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710184111; cv=pass; d=google.com; s=arc-20160816; b=yvYeF0xdcOA3IZlAA6Tjfg/w6fmgV7R6JYUuCvg6bDnfo5IbC0ZvLzde0sEtydgE7K OmHGW341JVaF+NU1OfIVC/lOcIKnl74K1sNnZoxOElI2FZUIGr7ft6Xw4bZTCgsYU+a2 k3yKjSvUUO12UUSy5KXRULaOfyUd2z5U7vFjdIyTzY4O5gdQznv6HWSu/XnqA7s40hAj U8efhOAiqvWBvzGZZW7yr6Zm1PDjCkMFbf/eB+RehltKCcfYmee/R5VCTpKM54Dr5WzR EWgTw+S9s0yH39T01zLwO3CocGW6+aJQra/tCFe153Nc4tVvboah3ekOcflo5WSQJPem WBWg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=9EWPj2I4xpYoZRjyOYAm/kocZbdOlLT2RiNEmzadKaY=; fh=anrJRAKTx6A/EPPwt/SOANB3h+6Blm98bP7RS69fIpc=; b=W+AoJyNJ3QxGCyQNdcB7WzY6vtNjt0qR+OD1Nj9x84DktBOShUIQLdM2v1qbXNOJo1 DkPtvXYOw6var/E0BEJ7FA13ND3nHbARKXAc+R/YH1R3Bs05awLnxH3zsUIZ4yq8qSyb pLbHF2rNQ/yI6I5S1fyk4Zl47vT2dUspeCq67JflibOwJ0V/TSJpfhk65yJNDm/oUzx5 2DB41X68b27l34Wq+smo9a14U0DOGAZSYc6/tBHvMsWrOQ1TNBC+An+U2GdeOteALZWZ b9FDmPictMEuxlKm0P8N8/9B7lWqyyAXux9O19e90heJSQqmHVv777R+hvW+nnCZWvP+ E+IA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=xey65aa7; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-99441-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-99441-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id r11-20020a63514b000000b005cdf992367dsi5441575pgl.730.2024.03.11.12.08.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Mar 2024 12:08:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-99441-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=xey65aa7; arc=pass (i=1 spf=pass spfdomain=google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-99441-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-99441-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 sy.mirrors.kernel.org (Postfix) with ESMTPS id BD072B22BA5 for ; Mon, 11 Mar 2024 18:56:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A40F8548E8; Mon, 11 Mar 2024 18:54:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="xey65aa7" Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (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 9D2DA52F82 for ; Mon, 11 Mar 2024 18:54:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710183287; cv=none; b=BVlTdfc2JI5E3Am2thgZiQncDSBBHIkgK/a7RKHnktKu6c+XMw3EBKFRLyAUCVKJVmMcBhmi8H5M8PISUGyAhwtFHeR/gyXTos5c0yjFlPDmB8e4GAcmIuwgUpUCTCe4pKnY6LQkDlhhB+E8x2ZSxEmXbH9ZeUJ7nGLwnVX6M0k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710183287; c=relaxed/simple; bh=sg1d/ANVhdMJVWpfU8bbvkMp+uD3nzj9x9rv9aGU7ss=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Li38A0c2drftaohUuBo0Cn5IK1kaqyw6w1HVMs0UJsSD9mA2PbhZ98qjTI6vq1KB/VOo2TC6j5WVdG6jNFoQMw2D56HIRLDN8HjrkZBg+km/yX5TFSLB40QHhNpj2+DC/DZWa+o3/5XtLquCnZX00S0ktzQP6lsQPpGR8A/4R78= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=xey65aa7; arc=none smtp.client-ip=209.85.166.181 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=google.com Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-366248b78d9so14495ab.1 for ; Mon, 11 Mar 2024 11:54:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1710183284; x=1710788084; 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=9EWPj2I4xpYoZRjyOYAm/kocZbdOlLT2RiNEmzadKaY=; b=xey65aa7VE1wIljt/ixV6xel+/R5udOqzmcbCiIrUaErlg1igTj+xHHwuQCYTzh9up gwX6SRiXKyFi/2K6SzwjHRVVhUiSb/E6H1m293SMrMno++CElm7lah0vjw0nbxBPCKF1 1KggYhb+LqBJqmmZ+PjaihjMv1sfV3+JTNBadSbrM+lesNUkMK2Ws9704W07WK2+pPYc 6yNgIhKkmJeGhuWAccjBZ+gNrzM1cQggQKYtv4DqDvtm1uRcSM2laMjrvR4ONMWaJcGI 5Ebo4Df4MVwLcOu1UbbtZ/WX9SPh9X+w0fyq/yEgqaleOURfABAA6PjEc0YfhnymHV3M re1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710183284; x=1710788084; 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=9EWPj2I4xpYoZRjyOYAm/kocZbdOlLT2RiNEmzadKaY=; b=S9hIjTJxrhnTSt5x3AxdaImHl//kZrB5c0BLx7XhSP4Xd0++QVYHno9HFmKh+1BC3o uB11WG+chjiC+nakcCQHKiXY0JTj2a0APGPxNmVTkUkSL/3J5d7ltx1WyEpjf+nYG4cz X9j7uDchwLK82I/NtmKyIR6ML5nSwhOwgHd4XxU1jpiVarwt3P4ExJLg1oGC4J8P69P1 7YUUzx8/yOUcScb+S80Bn3wC9Z89uO6PNXd88x2bFIhhdHRBcZ/lbYQs9/E9lbrizcul FsC/go4Y7uSmaVb6nHRRqL8WLNjQ0l0j9OKIDzlOGVDDVcAbLlxaqbZYabJvLgycvZb4 xJmg== X-Forwarded-Encrypted: i=1; AJvYcCV7C4ZcHPFoisrmgrRbhqe+A1rdve9MV6/c1FJjwG0X6F1ceiLLEwOdfiMBOT3bO6II7dSlzikwb89nePVMTFUhOq/n7p8bGDEg2dT9 X-Gm-Message-State: AOJu0Yy4a8VhYJZrGJF+y5mnhdJtTg5RVbFTyk0CwQtCDTWCioe6W3TC /JVQGxyYYvwftayEkS/Gw0JN3EwCMyPSM5Jqwy+vIEYyzgMvqM2tYl3k1t25PMuR4wSRd2XLztv hVEVaB2fJ8va17axQSpovbC99ozoMGvTzP/hQ X-Received: by 2002:a05:6e02:1648:b0:366:444b:82d6 with SMTP id v8-20020a056e02164800b00366444b82d6mr6714ilu.15.1710183283551; Mon, 11 Mar 2024 11:54:43 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240310020509.647319-1-irogers@google.com> <20240310020509.647319-3-irogers@google.com> In-Reply-To: From: Ian Rogers Date: Mon, 11 Mar 2024 11:54:32 -0700 Message-ID: Subject: Re: [PATCH v1 02/13] libbpf: Make __printf define conditional To: Andrii Nakryiko Cc: Arnd Bergmann , Andrii Nakryiko , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Adrian Hunter , Paolo Bonzini , Shuah Khan , Kees Cook , "Gustavo A. R. Silva" , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , Andrew Morton , Liam Howlett , Miguel Ojeda , Will Deacon , Mark Brown , David Laight , "Michael S. Tsirkin" , Shunsuke Mie , Yafang Shao , Kui-Feng Lee , James Clark , Nick Forrington , Leo Yan , German Gomez , Rob Herring , John Garry , Sean Christopherson , Anup Patel , Fuad Tabba , Andrew Jones , Chao Peng , Haibo Xu , Peter Xu , Vishal Annapurve , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-hardening@vger.kernel.org, llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Mar 11, 2024 at 10:49=E2=80=AFAM Andrii Nakryiko wrote: > > On Sat, Mar 9, 2024 at 6:05=E2=80=AFPM Ian Rogers wr= ote: > > > > libbpf depends upon linux/err.h which has a linux/compiler.h > > dependency. In the kernel includes, as opposed to the tools version, > > linux/compiler.h includes linux/compiler_attributes.h which defines > > __printf. As the libbpf.c __printf definition isn't guarded by an > > ifndef, this leads to a duplicate definition compilation error when > > trying to update the tools/include/linux/compiler.h. Fix this by > > adding the missing ifndef. > > > > Signed-off-by: Ian Rogers > > --- > > tools/lib/bpf/libbpf.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > > index afd09571c482..2152360b4b18 100644 > > --- a/tools/lib/bpf/libbpf.c > > +++ b/tools/lib/bpf/libbpf.c > > @@ -66,7 +66,9 @@ > > */ > > #pragma GCC diagnostic ignored "-Wformat-nonliteral" > > > > -#define __printf(a, b) __attribute__((format(printf, a, b))) > > +#ifndef __printf > > +# define __printf(a, b) __attribute__((format(printf, a, b))) > > styling nit: don't add spaces between # and define, please > > overall LGTM > > Acked-by: Andrii Nakryiko > > Two questions, though. > > 1. It seems like just dropping #define __printf in libbpf.c compiles > fine (I checked both building libbpf directly, and BPF selftest, and > perf, and bpftool directly, all of them built fine). So we can > probably just drop this. I'll need to add __printf on Github, but > that's fine. > > 2. Logistics. Which tree should this patch go through? Can I land it > in bpf-next or it's too much inconvenience for you? Thanks Andrii, dropping the #define (1) sgtm but the current compiler.h will fail to build libbpf.c without the later compiler.h update in this series. This causes another logistic issue for your point 2. Presumably if this patch goes through bpf-next, the first patch "tools bpf: Synchronize bpf.h with kernel uapi version" should also go through the bpf-next. Thanks, Ian > > +#endif > > > > static struct bpf_map *bpf_object__add_map(struct bpf_object *obj); > > static bool prog_is_subprog(const struct bpf_object *obj, const struct= bpf_program *prog); > > -- > > 2.44.0.278.ge034bb2e1d-goog > >