Fixes the following security issue:
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.
https://www.openwall.com/lists/oss-security/2024/12/17/3
Release notes: http://doc.dpdk.org/guides-24.11/rel_notes/release_24_11.html
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 3645e3b781)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
96 lines
2.3 KiB
Makefile
96 lines
2.3 KiB
Makefile
################################################################################
|
|
#
|
|
# dpdk
|
|
#
|
|
################################################################################
|
|
|
|
DPDK_VERSION = 24.11.1
|
|
DPDK_SOURCE = dpdk-$(DPDK_VERSION).tar.xz
|
|
DPDK_SITE = https://fast.dpdk.org/rel
|
|
DPDK_LICENSE = \
|
|
BSD-3-Clause, \
|
|
MIT
|
|
|
|
# Only the Windows target has the 2 following licenses:
|
|
# - license/bsd-2-clause.txt
|
|
# - license/isc.txt
|
|
# which is related to a Windows getopt.[ch] compatibility layer.
|
|
# Since Buildroot is not used for Windows target, it is not listed
|
|
# here.
|
|
#
|
|
# All the userland files of DPDK have dual licences BSD or GPL/LGPL
|
|
# Since the Linux kernel modules had been removed from the DPDK, there
|
|
# is no GPL only code into the DPDK anymore.
|
|
# The usage of DPDK with Buildroot is for userland only, it means
|
|
# that for the dual licenced files, BSD clause is used but not the
|
|
# following ones:
|
|
# - license/gpl-2.0.txt
|
|
# - license/lgpl-2.1.txt
|
|
# See the DPDK's license/README for more details.
|
|
#
|
|
# The legacy and historical license of the DPDK is BSD-3-clause.
|
|
DPDK_LICENSE_FILES = \
|
|
license/README \
|
|
license/bsd-3-clause.txt \
|
|
license/exceptions.txt \
|
|
license/mit.txt
|
|
|
|
DPDK_DEPENDENCIES = \
|
|
host-pkgconf \
|
|
host-python-pyelftools
|
|
|
|
ifeq ($(BR2_PACKAGE_DPDK_EXAMPLES),y)
|
|
DPDK_CONF_OPTS += -Dexamples=all
|
|
else
|
|
DPDK_CONF_OPTS += -Dexamples=
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
|
|
DPDK_CONF_OPTS += -Dtests=true
|
|
else
|
|
DPDK_CONF_OPTS += -Dtests=false
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBBSD),y)
|
|
DPDK_DEPENDENCIES += libbsd
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_JANSSON),y)
|
|
DPDK_DEPENDENCIES += jansson
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBPCAP),y)
|
|
DPDK_DEPENDENCIES += libpcap
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
|
DPDK_DEPENDENCIES += zlib
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
|
|
DPDK_DEPENDENCIES += libexecinfo
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NUMACTL),y)
|
|
DPDK_DEPENDENCIES += numactl
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
|
|
DPDK_DEPENDENCIES += libarchive
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBBPF),y)
|
|
DPDK_DEPENDENCIES += libbpf
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_RDMA_CORE),y)
|
|
DPDK_DEPENDENCIES += rdma-core
|
|
endif
|
|
|
|
# DPDK's meson shall need to be clean'd, hack here along the enclosed patch
|
|
DPDK_CONF_OPTS += -Dcpu_instruction_set=$(BR2_GCC_TARGET_ARCH)
|
|
# Keep the following, even if not mandatory, until the removal of the patch
|
|
DPDK_MESON_EXTRA_PROPERTIES += platform='generic'
|
|
|
|
$(eval $(meson-package))
|