mirror of
git://git.yoctoproject.org/meta-dpdk.git
synced 2025-07-05 05:04:45 +02:00

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>
74 lines
1.7 KiB
BlitzBasic
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"
|