]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
linux-yocto/6.12: libbpf: silence maybe-uninitialized warning from clang
authorBruce Ashfield <bruce.ashfield@gmail.com>
Thu, 5 Jun 2025 02:18:55 +0000 (22:18 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 9 Jun 2025 16:43:20 +0000 (17:43 +0100)
commit43f6b7795170f0e571265f22bcef51554684206f
treea73ead080673876e1dfe639c364eb392d47fc258
parent27e7e3bff40a884044a19e52d0eaa35a80880464
linux-yocto/6.12: libbpf: silence maybe-uninitialized warning from clang

Integrating the following commit(s) to linux-yocto/6.12:

1/1 [
    Author: Ross Burton
    Email: ross.burton@arm.com
    Subject: libbpf: silence maybe-uninitialized warning from clang
    Date: Wed, 4 Jun 2025 21:22:23 +0100

    perf is build with -Werror, but clang 20.1.6 (incorrectly) finds that
    mod_len may be used uninitialized:

    libbpf.c: In function 'find_kernel_btf_id.constprop':
    libbpf.c:10009:33: error: 'mod_len' may be used uninitialized [-Werror=maybe-uninitialized]
    10009 |                 if (mod_name && strncmp(mod->name, mod_name, mod_len) != 0)
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    libbpf.c:9979:21: note: 'mod_len' was declared here
     9979 |         int ret, i, mod_len;
          |                     ^~~~~~~

    Inspecting the code it can be seen that mod_len is set if mod_name is
    set, and the strncmp() is only called if mod_name is set, so this is a
    false positive (interestingly, clang doesn't spot the same issue above).

    Silence the false positive by explicitly initializing mod_len to 0.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
meta/recipes-kernel/linux/linux-yocto_6.12.bb