meta-dpdk/recipes-extended/dpdk/dpdk_23.11.1.bb
Divya Chellam 2b03da4eba
dpdk: fix CVE-2024-11614
An out-of-bounds read vulnerability was found in DPDK's Vhost
library checksum offload feature. This issue enables an
untrusted or compromised guest to crash the hypervisor's vSwitch
by forging Virtio descriptors to cause out-of-bounds reads. This
flaw allows an attacker with a malicious VM using a virtio driver
to cause the vhost-user side to crash by sending a packet with a
Tx checksum offload request and an invalid csum_start offset.

Reference:
https://security-tracker.debian.org/tracker/CVE-2024-11614

Upstream-patch:
https://git.dpdk.org/dpdk/commit/?id=4dc4e33ffa108e945fc8a1e2bbc7819791faa61e

Signed-off-by: Divya Chellam <divya.chellam@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2025-02-13 23:27:58 +08:00

74 lines
1.7 KiB
BlitzBasic

include dpdk.inc
SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch \
file://CVE-2024-11614.patch \
"
STABLE = "-stable"
BRANCH = "23.11"
SRCREV = "a6ec5765cf83d3d58cbd6d4ed5b92b4a06f8a808"
S = "${WORKDIR}/git"
def get_cpu_instruction_set(bb, d):
import re
march = re.search(r'-march=([^\s]*)', d.getVar('CC'))
if march:
return march.group(1)
else:
return "core2"
EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} "
COMPATIBLE_MACHINE = "null"
COMPATIBLE_HOST:libc-musl:class-target = "null"
COMPATIBLE_HOST:linux-gnux32 = "null"
PACKAGECONFIG ??= " "
PACKAGECONFIG[afxdp] = ",,libbpf xdp-tools"
PACKAGECONFIG[libvirt] = ",,libvirt"
RDEPENDS:${PN} += "pciutils python3-core"
RDEPENDS:${PN}-examples += "bash"
DEPENDS = "numactl python3-pyelftools-native"
inherit meson pkgconfig
INSTALL_PATH = "${prefix}/share/dpdk"
do_install:append(){
# remove source files
rm -rf ${D}/${INSTALL_PATH}/examples/*
# Install examples
install -m 0755 -d ${D}/${INSTALL_PATH}/examples/
for dirname in ${B}/examples/dpdk-*
do
if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then
install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/
fi
done
}
PACKAGES =+ "${PN}-examples ${PN}-tools"
FILES:${PN} += " ${bindir}/dpdk-testpmd \
${bindir}/dpdk-proc-info \
${libdir}/*.so* \
${libdir}/dpdk/pmds-24.0/*.so* \
"
FILES:${PN}-examples = " \
${prefix}/share/dpdk/examples/* \
"
FILES:${PN}-tools = " \
${bindir}/dpdk-pdump \
${bindir}/dpdk-test \
${bindir}/dpdk-test-* \
${bindir}/dpdk-*.py \
"
CVE_PRODUCT = "data_plane_development_kit"
INSANE_SKIP:${PN} = "dev-so"