From fbbf0ee3d56a6fd27adf182c6907dc745623aeaa Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 10 Aug 2024 11:05:14 +0100 Subject: gentoo auto-resync : 10:08:2024 - 11:05:14 --- net-libs/xdp-tools/Manifest | 5 +- ...4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch | 34 ------- net-libs/xdp-tools/xdp-tools-1.4.1-r1.ebuild | 100 --------------------- net-libs/xdp-tools/xdp-tools-1.4.3.ebuild | 96 ++++++++++++++++++++ 4 files changed, 98 insertions(+), 137 deletions(-) delete mode 100644 net-libs/xdp-tools/files/1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch delete mode 100644 net-libs/xdp-tools/xdp-tools-1.4.1-r1.ebuild create mode 100644 net-libs/xdp-tools/xdp-tools-1.4.3.ebuild (limited to 'net-libs/xdp-tools') diff --git a/net-libs/xdp-tools/Manifest b/net-libs/xdp-tools/Manifest index 14df1a6b6dab..9cc008ad3977 100644 --- a/net-libs/xdp-tools/Manifest +++ b/net-libs/xdp-tools/Manifest @@ -1,6 +1,5 @@ -AUX 1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch 1120 BLAKE2B c922ec5fec6b4a7d73289a56aab40505dfca1d79ec36038631e6c337fcc5aa6c22671110b278bfd9e8fc68410a212bf3a1b9bdc8a61e867d0c803c554607e266 SHA512 05387a2625dc25349d8ac941c16fc0fd9216453c771cdd166bfef0afba61df512888bd9e14b55222f51b5956fd54db41b45be0487fd8fc0fd65d861109837aac -DIST xdp-tools-1.4.1.tar.gz 339878 BLAKE2B 30ed245dd0da8404cf67313ea4d5f9a148507d14bd7330bdac3b03c07d1cc0b38eb1a376636551cb8ea14c8a2e77d02527da363733a1059e1c2ebaee9ac90392 SHA512 9d2ad42713aa53c10ccbde2c344bf2696524e317544f3693114b343ab74240187699c3802cfc6efa05b3e9f9bfec80fd2537799aa3ae050717bb1f6aab435996 DIST xdp-tools-1.4.2.tar.gz 340864 BLAKE2B c5197330ff917043e03a16346823acab760db5fe903f2e039bd2c178ad34bb04d96a0d6b321fd3565256c39422f3f1f7b475970bd22ab487e30468c96e11c711 SHA512 aedf79859872523d514f18e7a6e8b7999bd1942021968dbba9a7e86cde1c193e31b328bc56d6bf2b3fbc7f266c9df8d942d90a70bbd9d514ce38d56c07cd18ca -EBUILD xdp-tools-1.4.1-r1.ebuild 2363 BLAKE2B 9627ed4b09696b64d526355136b7fc8b9a0e99bd19fd43b6d8b3aed25c20b4b25365dcfbc9c50d8f51a2d2355c25048272ecbee7c9b39d09f3e2170f90a9967a SHA512 dc760636998c615a295367be28171b629815f867254506ba2365b1f1f30e7a355528580104049236eff52ff2a749718931be9aca75b119bf46a5e99e8ecdf4a3 +DIST xdp-tools-1.4.3.tar.gz 339989 BLAKE2B 836eb66a2264e9d46124a009a8b3e039da23f28f83460fb3aa724c8ca4c37952979278e3041e9acca44acd68cc94423d73f381febc107c454db7da01f583ae41 SHA512 3ba176e573d02feefc1baf81570b514bc25a61d7be3256ce530128092f07b246b8731430289cdcd874f8846122a4451f0bcd06891565dd1b48beaa10b854c646 EBUILD xdp-tools-1.4.2.ebuild 2285 BLAKE2B 1782fc7c7fd82f8bf779ee1f9c292c5c0985f3e8fda4c51b67ec7c9b30440d9263b389f285021d289ff4e0bf0fccf454530e46753ffa9dabe1811a8f6077da94 SHA512 33bdd3e3df88cfe77b0d431d9dddf4f9ceac1e86d34706900c67c4e9622726373faf5017bd16be00dfd604ad60e211d3ecb71f4fdc051a0c358603397409dd25 +EBUILD xdp-tools-1.4.3.ebuild 2286 BLAKE2B f628edd88fd0dc18f02e46bc5e2fa7bfb11ea6483f6d6d14a11fd7e0be0c97032902a4a3eaa9b57b85fc784ff15a16335d48f35c92fa338e4dbf3f2a38c4f74a SHA512 b26960a9d91d9997aaa4c7c7f5817e5709ca4636f25aa03ed5f7f804640d81b4a62af8a7693d46a967c5d35227763d2f87dfb2c73d5725d4d589c7d3f2f09989 MISC metadata.xml 731 BLAKE2B a9c958d31f9ece376e4518e213823c14474df47747205020b76da7a0a67f7ed926ec55002b586143ce84cb965a23ad1794a42862597278682ef3605fc7d07911 SHA512 78774e4bcc6e05d56fe82b0aacd46e4d23e3bd89aa5bb55900adb94648d06b3251c575d4d0b6108cdad0f2ffbabcc2973e50e804b120a73e8923cd679601384f diff --git a/net-libs/xdp-tools/files/1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch b/net-libs/xdp-tools/files/1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch deleted file mode 100644 index 6c95a970f876..000000000000 --- a/net-libs/xdp-tools/files/1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch +++ /dev/null @@ -1,34 +0,0 @@ - -Patch from: -https://github.com/xdp-project/xdp-tools/commit/cae9c91353cd3ed51753168203ed101905b9ac9e - -From cae9c91353cd3ed51753168203ed101905b9ac9e Mon Sep 17 00:00:00 2001 -From: Ric Li -Date: Tue, 21 Nov 2023 15:36:57 +0800 -Subject: [PATCH] libxdp: Fix xdp prog memory leak in xsk_setup_xdp_prog - -In the xsk_setup_xdp_prog function, the xsk structure -temporarily takes ownership of an xdp_prog and stores it in -ctx->xdp_prog. However, the allocated memory is not freed -in xsk_destroy_xsk_struct, leading to a memory leak. This -commit addresses the issue by adding a call to -xdp_program_close to properly release the allocated -xdp_prog memory. - -Signed-off-by: Ric Li ---- - lib/libxdp/xsk.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/libxdp/xsk.c b/lib/libxdp/xsk.c -index a854f771..b3527fb6 100644 ---- a/lib/libxdp/xsk.c -+++ b/lib/libxdp/xsk.c -@@ -978,6 +978,7 @@ static struct xsk_ctx *xsk_create_ctx(struct xsk_socket *xsk, - - static void xsk_destroy_xsk_struct(struct xsk_socket *xsk) - { -+ xdp_program__close(xsk->ctx->xdp_prog); - free(xsk->ctx); - free(xsk); - } diff --git a/net-libs/xdp-tools/xdp-tools-1.4.1-r1.ebuild b/net-libs/xdp-tools/xdp-tools-1.4.1-r1.ebuild deleted file mode 100644 index 62df6baaace5..000000000000 --- a/net-libs/xdp-tools/xdp-tools-1.4.1-r1.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic toolchain-funcs - -DESCRIPTION="The libxdp library and various tools for use with XDP" -HOMEPAGE="https://github.com/xdp-project/xdp-tools" -SRC_URI="https://github.com/xdp-project/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2 LGPL-2.1 BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="+tools" - -DEPEND=" - dev-libs/libbpf:= - dev-util/bpftool - net-libs/libpcap - sys-libs/zlib - virtual/libelf -" -RDEPEND="${DEPEND}" -BDEPEND=" - sys-apps/grep[pcre] - >=sys-devel/clang-11.0.0 -" - -# Not prebuilt -- we build them -- but they're not ordinary ELF objects either. -QA_PREBUILT="usr/lib/bpf/*.o" - -MAKEOPTS+=" V=1" - -PATCHES=( - "${FILESDIR}"/1.4.1-fix-memory-leak-in-xsk_setup_xdp_prog.patch -) - -src_prepare() { - # remove -Werror: #899744 - sed -i 's/-Werror//g' lib/Makefile lib/defines.mk || die - sed -i '/-Werror/d' lib/common.mk lib/libxdp/Makefile \ - lib/libxdp/tests/Makefile lib/util/Makefile || die - - default -} - -src_configure() { - # filter LTO: #861587 - filter-lto - - # filter LDFLAGS some more: #916591 - filter-ldflags -Wl,--{icf,lto}* - - # force ld.bfd: #916591 - tc-ld-force-bfd - - export CC="$(tc-getCC)" - export PREFIX="${EPREFIX}/usr" - export LIBDIR="${PREFIX}/$(get_libdir)" - export BPF_OBJECT_DIR="${PREFIX}/lib/bpf" - export PRODUCTION=1 - export DYNAMIC_LIBXDP=1 - export FORCE_SYSTEM_LIBBPF=1 - - default -} - -src_test() { :; } - -src_install() { - default - - # To remove the scripts/testing files that are installed. - rm -r "${ED}/usr/share/xdp-tools" || die - # We can't control static archive generation yet. - rm "${ED}/usr/$(get_libdir)/libxdp.a" || die - - use tools || { rm "${ED}/usr/sbin"/* || die; } - - # These are ELF objects but BPF ones. - dostrip -x /usr/lib/bpf -} - -pkg_postinst() { - elog - elog "Many BPF utilities need access to a mounted bpffs virtual file system." - elog "Either mount it manually like this:" - elog - elog " mount bpffs /sys/fs/bpf -t bpf -o nosuid,nodev,noexec,relatime,mode=700" - elog - elog "or add the following line to your /etc/fstab to always mount it at boot time:" - elog - elog " bpffs /sys/fs/bpf bpf nosuid,nodev,noexec,relatime,mode=700 0 0" - elog - elog "You can verify that bpffs is mounted with:" - elog - elog " mount | grep /sys/fs/bpf" - elog -} diff --git a/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild b/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild new file mode 100644 index 000000000000..6861f5e2c969 --- /dev/null +++ b/net-libs/xdp-tools/xdp-tools-1.4.3.ebuild @@ -0,0 +1,96 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="The libxdp library and various tools for use with XDP" +HOMEPAGE="https://github.com/xdp-project/xdp-tools" +SRC_URI="https://github.com/xdp-project/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1 BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="+tools" + +DEPEND=" + dev-libs/libbpf:= + dev-util/bpftool + net-libs/libpcap + sys-libs/zlib + virtual/libelf +" +RDEPEND="${DEPEND}" +BDEPEND=" + sys-apps/grep[pcre] + >=sys-devel/clang-11.0.0 +" + +# Not prebuilt -- we build them -- but they're not ordinary ELF objects either. +QA_PREBUILT="usr/lib/bpf/*.o" + +MAKEOPTS+=" V=1" + +src_prepare() { + # remove -Werror: #899744 + sed -i 's/-Werror//g' lib/Makefile lib/defines.mk || die + sed -i '/-Werror/d' lib/common.mk lib/libxdp/Makefile \ + lib/libxdp/tests/Makefile lib/util/Makefile || die + + default +} + +src_configure() { + # filter LTO: #861587 + filter-lto + + # filter LDFLAGS some more: #916591 + filter-ldflags -Wl,--{icf,lto}* + + # force ld.bfd: #916591 + tc-ld-force-bfd + + export CC="$(tc-getCC)" + export PREFIX="${EPREFIX}/usr" + export LIBDIR="${PREFIX}/$(get_libdir)" + export BPF_OBJECT_DIR="${PREFIX}/lib/bpf" + export PRODUCTION=1 + export DYNAMIC_LIBXDP=1 + export FORCE_SYSTEM_LIBBPF=1 + + default +} + +src_test() { :; } + +src_install() { + default + + # To remove the scripts/testing files that are installed. + rm -r "${ED}/usr/share/xdp-tools" || die + # We can't control static archive generation yet. + rm "${ED}/usr/$(get_libdir)/libxdp.a" || die + + use tools || { rm "${ED}/usr/sbin"/* || die; } + + # These are ELF objects but BPF ones. + dostrip -x /usr/lib/bpf +} + +pkg_postinst() { + elog + elog "Many BPF utilities need access to a mounted bpffs virtual file system." + elog "Either mount it manually like this:" + elog + elog " mount bpffs /sys/fs/bpf -t bpf -o nosuid,nodev,noexec,relatime,mode=700" + elog + elog "or add the following line to your /etc/fstab to always mount it at boot time:" + elog + elog " bpffs /sys/fs/bpf bpf nosuid,nodev,noexec,relatime,mode=700 0 0" + elog + elog "You can verify that bpffs is mounted with:" + elog + elog " mount | grep /sys/fs/bpf" + elog +} -- cgit v1.2.3