From nobody Sat Nov 30 21:52:50 2024 Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (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 8BCD81CF2B3; Fri, 6 Sep 2024 13:48:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725630515; cv=none; b=i3BlqYxn54MOZm+7Ya5K3gSRHPH0hYRMvNL5y1+qAnkVY6wB3eCUpyuK+dNpt6egu0/3tB3EyI7AlP0OiIlDQC15wx0y2+XMXEe3Q0tV11nRQNkm+XRxsiZS3MnvTcyWK1LBIhe00RgzFZpuXDia5qQjZm+Zo/WUSSTU+FxAiiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725630515; c=relaxed/simple; bh=wlwOWRdYKR00Zm5rmNIKW5fkEehkGxr67EXu3FHs30A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=IRor+pQbOpQweMRd0FpwwvompW45hiDtBoK5R6qB9cCtAdo7qGHt6/mR63+mPwfMmrOPJrqjTWCEPyt21H5i2D8FBHSGrxFUzVF5ioHMXgrRODirEc7fQfX03uA9xNN+NJOk/2sZYQPzlZj2/D4Ws68y1bASw8qRG72QY1U/p38= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org; spf=pass smtp.mailfrom=gentoo.org; arc=none smtp.client-ip=140.211.166.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gentoo.org From: Sam James To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa Cc: Sam James , bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] libbpf: workaround (another) -Wmaybe-uninitialized false positive Date: Fri, 6 Sep 2024 14:48:14 +0100 Message-ID: X-Mailer: git-send-email 2.46.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable We get this with GCC 15 -O3 (at least): ``` libbpf.c: In function =E2=80=98bpf_map__init_kern_struct_ops=E2=80=99: libbpf.c:1109:18: error: =E2=80=98mod_btf=E2=80=99 may be used uninitialize= d [-Werror=3Dmaybe-uninitialized] 1109 | kern_btf =3D mod_btf ? mod_btf->btf : obj->btf_vmlinux; | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libbpf.c:1094:28: note: =E2=80=98mod_btf=E2=80=99 was declared here 1094 | struct module_btf *mod_btf; | ^~~~~~~ In function =E2=80=98find_struct_ops_kern_types=E2=80=99, inlined from =E2=80=98bpf_map__init_kern_struct_ops=E2=80=99 at libbpf.= c:1102:8: libbpf.c:982:21: error: =E2=80=98btf=E2=80=99 may be used uninitialized [-W= error=3Dmaybe-uninitialized] 982 | kern_type =3D btf__type_by_id(btf, kern_type_id); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ libbpf.c: In function =E2=80=98bpf_map__init_kern_struct_ops=E2=80=99: libbpf.c:967:21: note: =E2=80=98btf=E2=80=99 was declared here 967 | struct btf *btf; | ^~~ ``` This is similar to the other libbpf fix from a few weeks ago for the same modelling-errno issue (fab45b962749184e1a1a57c7c583782b78fad539). Link: https://bugs.gentoo.org/939106 Signed-off-by: Sam James --- tools/lib/bpf/libbpf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index a3be6f8fac09e..7315120574c29 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -988,7 +988,7 @@ find_struct_ops_kern_types(struct bpf_object *obj, cons= t char *tname_raw, { const struct btf_type *kern_type, *kern_vtype; const struct btf_member *kern_data_member; - struct btf *btf; + struct btf *btf =3D NULL; __s32 kern_vtype_id, kern_type_id; char tname[256]; __u32 i; @@ -1115,7 +1115,7 @@ static int bpf_map__init_kern_struct_ops(struct bpf_m= ap *map) const struct btf *btf =3D obj->btf; struct bpf_struct_ops *st_ops; const struct btf *kern_btf; - struct module_btf *mod_btf; + struct module_btf *mod_btf =3D NULL; void *data, *kern_data; const char *tname; int err; --=20 2.46.0