Files
poky/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
Bruce Ashfield eed129272d 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>
]

(From OE-Core rev: 0454186eeceafb8e0bd2b29ac2f8b46f9601f65d)

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>
2025-07-04 07:50:17 -07:00

49 lines
2.1 KiB
BlitzBasic

KBRANCH ?= "v6.12/standard/preempt-rt/base"
require recipes-kernel/linux/linux-yocto.inc
# CVE exclusions
include recipes-kernel/linux/cve-exclusion_6.12.inc
# Skip processing of this recipe if it is not explicitly specified as the
# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
# to build multiple virtual/kernel providers, e.g. as dependency of
# core-image-rt-sdk, core-image-rt.
python () {
if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
SRCREV_machine ?= "7cb6d42c40de351ecab0a083aef260f84407de0d"
SRCREV_meta ?= "60b8562e9989f268ad5d241989f56b71cfa1f648"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
LINUX_VERSION ?= "6.12.31"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
PV = "${LINUX_VERSION}+git"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "1"
LINUX_KERNEL_TYPE = "preempt-rt"
COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"