]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.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)
committerSteve Sakoman <steve@sakoman.com>
Tue, 1 Jul 2025 13:59:45 +0000 (06:59 -0700)
commit0454186eeceafb8e0bd2b29ac2f8b46f9601f65d
tree52a6a5f280aa90965e5084920e048a0116bd7a65
parent2b8fb722cd3cbc8f41315b2d88302bcf77bb681b
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>
(cherry picked from commit 43f6b7795170f0e571265f22bcef51554684206f)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
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