From: Adrian Bunk Date: Thu, 24 Apr 2025 12:56:45 +0000 (+0300) Subject: libbpf (0.3-2+deb11u1) bullseye-security; urgency=medium X-Git-Tag: archive/raspbian/0.3-2+rpi1+deb11u1^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1984c47b84ebf9d3415bfc0bf705cc8f8d5242fe;p=libbpf.git libbpf (0.3-2+deb11u1) bullseye-security; urgency=medium * Non-maintainer upload by the LTS Team. * CVE-2022-3534: use-after-free in btf_dump_name_dups() * CVE-2022-3606: null-pointer dereference in find_prog_by_sec_insn() [dgit import unpatched libbpf 0.3-2+deb11u1] --- 1984c47b84ebf9d3415bfc0bf705cc8f8d5242fe diff --cc debian/changelog index 0000000,0000000..f455295 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,72 @@@ ++libbpf (0.3-2+deb11u1) bullseye-security; urgency=medium ++ ++ * Non-maintainer upload by the LTS Team. ++ * CVE-2022-3534: use-after-free in btf_dump_name_dups() ++ * CVE-2022-3606: null-pointer dereference in find_prog_by_sec_insn() ++ ++ -- Adrian Bunk Thu, 24 Apr 2025 15:56:45 +0300 ++ ++libbpf (0.3-2) unstable; urgency=medium ++ ++ [ Luca Boccassi ] ++ * Add build-dependency on zlib1g-dev ++ * Use pkg-config to get build flags ++ * Enable verbose builds unless 'terse' DEB_BUILD_OPTIONS is set ++ * Have libbpf-dev depend on libelf-dev and zlib1g-dev ++ ++ -- Sudip Mukherjee Sun, 10 Jan 2021 17:43:30 +0000 ++ ++libbpf (0.3-1) unstable; urgency=medium ++ ++ * New upstream version 0.3 (Closes: #979166) ++ - Update symbols file. ++ * Update Standards-Version to 4.5.1 ++ ++ -- Sudip Mukherjee Sun, 03 Jan 2021 23:27:11 +0000 ++ ++libbpf (0.2-1) unstable; urgency=medium ++ ++ * New upstream version 0.2 ++ - Update symbols file. ++ - Update copyright for removed file. ++ ++ -- Sudip Mukherjee Thu, 29 Oct 2020 23:07:35 +0000 ++ ++libbpf (0.1.1-1) unstable; urgency=medium ++ ++ * Update from upstream v0.1.1 ++ ++ -- Sudip Mukherjee Sat, 26 Sep 2020 23:17:58 +0100 ++ ++libbpf (0.1.0-1) unstable; urgency=medium ++ ++ * Update from upstream v0.1.0 ++ - Update symbols file. ++ ++ -- Sudip Mukherjee Wed, 26 Aug 2020 22:40:21 +0100 ++ ++libbpf (0.0.9-1) unstable; urgency=medium ++ ++ [ Debian Janitor ] ++ * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, ++ Repository-Browse. ++ ++ [ Sudip Mukherjee ] ++ * Update from upstream v0.0.9 ++ - Update symbols file. ++ ++ -- Sudip Mukherjee Thu, 23 Jul 2020 18:35:16 +0100 ++ ++libbpf (0.0.8-1) unstable; urgency=medium ++ ++ * Update from upstream v0.0.8 ++ * Update symbols file. ++ * Update compat level to 13. ++ ++ -- Sudip Mukherjee Fri, 01 May 2020 09:44:49 +0100 ++ ++libbpf (0.0.6-1) unstable; urgency=medium ++ ++ * Package from github. (Closes: #948041) ++ ++ -- Sudip Mukherjee Sat, 11 Apr 2020 16:12:37 +0100 diff --cc debian/control index 0000000,0000000..08d6bf1 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,29 @@@ ++Source: libbpf ++Priority: optional ++Maintainer: Sudip Mukherjee ++Build-Depends: debhelper-compat (= 13), libelf-dev, zlib1g-dev, pkg-config ++Standards-Version: 4.5.1 ++Section: libs ++Vcs-Browser: https://github.com/sudipm-mukherjee/libbpf ++Vcs-Git: https://github.com/sudipm-mukherjee/libbpf.git ++ ++Package: libbpf-dev ++Section: libdevel ++Architecture: linux-any ++Multi-Arch: same ++Depends: ${misc:Depends}, libbpf0 (= ${binary:Version}), libelf-dev, zlib1g-dev ++Description: eBPF helper library (development files) ++ libbpf is a library for loading eBPF programs and reading and ++ manipulating eBPF objects from user-space. ++ . ++ This package is needed to compile programs against libbpf. ++ ++Package: libbpf0 ++Architecture: linux-any ++Multi-Arch: same ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Description: eBPF helper library (shared library) ++ libbpf is a library for loading eBPF programs and reading and ++ manipulating eBPF objects from user-space. ++ . ++ This package contains the shared library. diff --cc debian/copyright index 0000000,0000000..c0b8735 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,118 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: libbpf ++Source: https://github.com/libbpf/libbpf ++ ++Files: * ++Copyright: 2013-2015 Alexei Starovoitov ++ 2015 Wang Nan ++ 2015 Huawei Inc. ++ 2018, 2019 Facebook ++ 2017 Nicira, Inc. ++ 2019 Isovalent, Inc. ++ 2019 Netronome Systems, Inc. ++ 2003-2013 Thomas Graf ++ 2018-2019 Intel Corporation. ++License: LGPL-2.1 or BSD-2-Clause ++ ++Files: include/uapi/linux/bpf.h ++ include/uapi/linux/bpf_common.h ++ include/uapi/linux/btf.h ++ include/uapi/linux/if_link.h ++ include/uapi/linux/if_xdp.h ++ include/uapi/linux/netlink.h ++Copyright: 2011-2014 PLUMgrid, http://plumgrid.com ++ 2018 Facebook ++ 2018 Intel Corporation. ++License: GPL-2 with Linux-syscall-note exception ++ ++Files: debian/* ++Copyright: 2018 Ben Hutchings ++ 2018 Hilko Bengen ++ 2018 Luca Boccassi ++ 2020 Sudip Mukherjee ++License: GPL-2+ ++ This package is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ . ++ This package is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". ++ ++License: LGPL-2.1 ++ This program is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; ++ version 2.1 of the License (not later!) ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public ++ License along with this program; if not, see ++ . ++ On Debian systems, the complete text of the GNU Lesser General Public License ++ Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. ++ ++License: BSD-2-Clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright notice, ++ this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE ++ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ++ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ++ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ POSSIBILITY OF SUCH DAMAGE. ++ ++License: GPL-2 with Linux-syscall-note exception ++ NOTE! This copyright does *not* cover user programs that use kernel services ++ by normal system calls - this is merely considered normal use of the kernel, ++ and does *not* fall under the heading of "derived work". Also note that the ++ GPL below is copyrighted by the Free Software Foundation, but the instance of ++ code that it refers to (the Linux kernel) is copyrighted by me and others who ++ actually wrote it. ++ . ++ Also note that the only valid version of the GPL as far as the kernel is ++ concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x ++ or whatever), unless explicitly otherwise stated. ++ . ++ Linus Torvalds ++ . ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 of the License. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ . ++ On Debian and systems the full text of the GNU General Public ++ License version 2 can be found in the file ++ "/usr/share/common-licenses/GPL-2". diff --cc debian/libbpf-dev.install index 0000000,0000000..76f28fa new file mode 100644 --- /dev/null +++ b/debian/libbpf-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/lib*.a ++usr/lib/*/lib*.so ++usr/lib/*/pkgconfig/* diff --cc debian/libbpf0.install index 0000000,0000000..3ddde58 new file mode 100644 --- /dev/null +++ b/debian/libbpf0.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/lib*.so.* diff --cc debian/libbpf0.symbols index 0000000,0000000..afdf88d new file mode 100644 --- /dev/null +++ b/debian/libbpf0.symbols @@@ -1,0 -1,0 +1,315 @@@ ++libbpf.so.0 libbpf0 #MINVER# ++ LIBBPF_0.0.1@LIBBPF_0.0.1 5.2.6 ++ LIBBPF_0.0.2@LIBBPF_0.0.2 5.2.6 ++ LIBBPF_0.0.3@LIBBPF_0.0.3 5.2.6 ++ LIBBPF_0.0.4@LIBBPF_0.0.4 5.3 ++ LIBBPF_0.0.5@LIBBPF_0.0.5 5.4 ++ LIBBPF_0.0.6@LIBBPF_0.0.6 5.5 ++ LIBBPF_0.0.7@LIBBPF_0.0.7 1:0.0.8 ++ LIBBPF_0.0.8@LIBBPF_0.0.8 1:0.0.8 ++ LIBBPF_0.0.9@LIBBPF_0.0.9 1:0.0.9 ++ LIBBPF_0.1.0@LIBBPF_0.1.0 1:0.1.0 ++ LIBBPF_0.2.0@LIBBPF_0.2.0 1:0.2 ++ LIBBPF_0.3.0@LIBBPF_0.3.0 1:0.3 ++ bpf_btf_get_fd_by_id@LIBBPF_0.0.1 5.2.6 ++ bpf_btf_get_next_id@LIBBPF_0.0.5 5.4 ++ bpf_create_map@LIBBPF_0.0.1 5.2.6 ++ bpf_create_map_in_map@LIBBPF_0.0.1 5.2.6 ++ bpf_create_map_in_map_node@LIBBPF_0.0.1 5.2.6 ++ bpf_create_map_name@LIBBPF_0.0.1 5.2.6 ++ bpf_create_map_node@LIBBPF_0.0.1 5.2.6 ++ bpf_create_map_xattr@LIBBPF_0.0.1 5.2.6 ++ bpf_enable_stats@LIBBPF_0.0.9 1:0.0.9 ++ bpf_get_link_xdp_id@LIBBPF_0.0.2 5.2.6 ++ bpf_get_link_xdp_info@LIBBPF_0.0.6 5.5 ++ bpf_iter_create@LIBBPF_0.0.9 1:0.0.9 ++ bpf_link__destroy@LIBBPF_0.0.4 5.3 ++ bpf_link__detach@LIBBPF_0.1.0 1:0.1.0 ++ bpf_link__disconnect@LIBBPF_0.0.7 1:0.0.8 ++ bpf_link__fd@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link__open@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link__pin@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link__pin_path@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link__unpin@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link__update_program@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link_create@LIBBPF_0.0.8 1:0.0.8 ++ bpf_link_detach@LIBBPF_0.1.0 1:0.1.0 ++ bpf_link_get_fd_by_id@LIBBPF_0.0.9 1:0.0.9 ++ bpf_link_get_next_id@LIBBPF_0.0.9 1:0.0.9 ++ bpf_link_update@LIBBPF_0.0.8 1:0.0.8 ++ bpf_load_btf@LIBBPF_0.0.1 5.2.6 ++ bpf_load_program@LIBBPF_0.0.1 5.2.6 ++ bpf_load_program_xattr@LIBBPF_0.0.1 5.2.6 ++ bpf_map__attach_struct_ops@LIBBPF_0.0.7 1:0.0.8 ++ bpf_map__btf_key_type_id@LIBBPF_0.0.1 5.2.6 ++ bpf_map__btf_value_type_id@LIBBPF_0.0.1 5.2.6 ++ bpf_map__def@LIBBPF_0.0.1 5.2.6 ++ bpf_map__fd@LIBBPF_0.0.1 5.2.6 ++ bpf_map__get_pin_path@LIBBPF_0.0.6 5.5 ++ bpf_map__ifindex@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__is_internal@LIBBPF_0.0.3 5.2.6 ++ bpf_map__is_offload_neutral@LIBBPF_0.0.1 5.2.6 ++ bpf_map__is_pinned@LIBBPF_0.0.6 5.5 ++ bpf_map__key_size@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__map_flags@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__max_entries@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__name@LIBBPF_0.0.1 5.2.6 ++ bpf_map__next@LIBBPF_0.0.1 5.2.6 ++ bpf_map__numa_node@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__pin@LIBBPF_0.0.1 5.2.6 ++ bpf_map__prev@LIBBPF_0.0.1 5.2.6 ++ bpf_map__priv@LIBBPF_0.0.1 5.2.6 ++ bpf_map__resize@LIBBPF_0.0.2 5.2.6 ++ bpf_map__reuse_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_map__set_ifindex@LIBBPF_0.0.1 5.2.6 ++ bpf_map__set_initial_value@LIBBPF_0.0.8 1:0.0.8 ++ bpf_map__set_inner_map_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_map__set_key_size@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__set_map_flags@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__set_max_entries@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__set_numa_node@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__set_pin_path@LIBBPF_0.0.6 5.5 ++ bpf_map__set_priv@LIBBPF_0.0.1 5.2.6 ++ bpf_map__set_type@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__set_value_size@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__type@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map__unpin@LIBBPF_0.0.1 5.2.6 ++ bpf_map__value_size@LIBBPF_0.1.0 1:0.1.0 ++ bpf_map_delete_batch@LIBBPF_0.0.7 1:0.0.8 ++ bpf_map_delete_elem@LIBBPF_0.0.1 5.2.6 ++ bpf_map_freeze@LIBBPF_0.0.3 5.2.6 ++ bpf_map_get_fd_by_id@LIBBPF_0.0.1 5.2.6 ++ bpf_map_get_next_id@LIBBPF_0.0.1 5.2.6 ++ bpf_map_get_next_key@LIBBPF_0.0.1 5.2.6 ++ bpf_map_lookup_and_delete_batch@LIBBPF_0.0.7 1:0.0.8 ++ bpf_map_lookup_and_delete_elem@LIBBPF_0.0.1 5.2.6 ++ bpf_map_lookup_batch@LIBBPF_0.0.7 1:0.0.8 ++ bpf_map_lookup_elem@LIBBPF_0.0.1 5.2.6 ++ bpf_map_lookup_elem_flags@LIBBPF_0.0.2 5.2.6 ++ bpf_map_update_batch@LIBBPF_0.0.7 1:0.0.8 ++ bpf_map_update_elem@LIBBPF_0.0.1 5.2.6 ++ bpf_obj_get@LIBBPF_0.0.1 5.2.6 ++ bpf_obj_get_info_by_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_obj_pin@LIBBPF_0.0.1 5.2.6 ++ bpf_object__attach_skeleton@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__btf@LIBBPF_0.0.2 5.2.6 ++ bpf_object__btf_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_object__close@LIBBPF_0.0.1 5.2.6 ++ bpf_object__destroy_skeleton@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__detach_skeleton@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__find_map_by_name@LIBBPF_0.0.1 5.2.6 ++ bpf_object__find_map_by_offset@LIBBPF_0.0.1 5.2.6 ++ bpf_object__find_map_fd_by_name@LIBBPF_0.0.2 5.2.6 ++ bpf_object__find_program_by_name@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__find_program_by_title@LIBBPF_0.0.1 5.2.6 ++ bpf_object__kversion@LIBBPF_0.0.1 5.2.6 ++ bpf_object__load@LIBBPF_0.0.1 5.2.6 ++ bpf_object__load_skeleton@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__load_xattr@LIBBPF_0.0.4 5.3 ++ bpf_object__name@LIBBPF_0.0.1 5.2.6 ++ bpf_object__next@LIBBPF_0.0.1 5.2.6 ++ bpf_object__open@LIBBPF_0.0.1 5.2.6 ++ bpf_object__open_buffer@LIBBPF_0.0.1 5.2.6 ++ bpf_object__open_file@LIBBPF_0.0.6 5.5 ++ bpf_object__open_mem@LIBBPF_0.0.6 5.5 ++ bpf_object__open_skeleton@LIBBPF_0.0.7 1:0.0.8 ++ bpf_object__open_xattr@LIBBPF_0.0.1 5.2.6 ++ bpf_object__pin@LIBBPF_0.0.1 5.2.6 ++ bpf_object__pin_maps@LIBBPF_0.0.1 5.2.6 ++ bpf_object__pin_programs@LIBBPF_0.0.1 5.2.6 ++ bpf_object__priv@LIBBPF_0.0.1 5.2.6 ++ bpf_object__set_priv@LIBBPF_0.0.1 5.2.6 ++ bpf_object__unload@LIBBPF_0.0.1 5.2.6 ++ bpf_object__unpin_maps@LIBBPF_0.0.1 5.2.6 ++ bpf_object__unpin_programs@LIBBPF_0.0.1 5.2.6 ++ bpf_perf_event_read_simple@LIBBPF_0.0.1 5.2.6 ++ bpf_probe_helper@LIBBPF_0.0.2 5.2.6 ++ bpf_probe_large_insn_limit@LIBBPF_0.0.7 1:0.0.8 ++ bpf_probe_map_type@LIBBPF_0.0.2 5.2.6 ++ bpf_probe_prog_type@LIBBPF_0.0.2 5.2.6 ++ bpf_prog_attach@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_attach_xattr@LIBBPF_0.0.7 1:0.0.8 ++ bpf_prog_bind_map@LIBBPF_0.2.0 1:0.2 ++ bpf_prog_detach2@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_detach@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_get_fd_by_id@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_get_next_id@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_linfo__free@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_linfo__lfind@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_linfo__lfind_addr_func@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_linfo__new@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_load@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_load_xattr@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_query@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_test_run@LIBBPF_0.0.1 5.2.6 ++ bpf_prog_test_run_opts@LIBBPF_0.2.0 1:0.2 ++ bpf_prog_test_run_xattr@LIBBPF_0.0.1 5.2.6 ++ bpf_program__attach@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__attach_cgroup@LIBBPF_0.0.8 1:0.0.8 ++ bpf_program__attach_freplace@LIBBPF_0.2.0 1:0.2 ++ bpf_program__attach_iter@LIBBPF_0.0.9 1:0.0.9 ++ bpf_program__attach_kprobe@LIBBPF_0.0.4 5.3 ++ bpf_program__attach_lsm@LIBBPF_0.0.8 1:0.0.8 ++ bpf_program__attach_netns@LIBBPF_0.0.9 1:0.0.9 ++ bpf_program__attach_perf_event@LIBBPF_0.0.4 5.3 ++ bpf_program__attach_raw_tracepoint@LIBBPF_0.0.4 5.3 ++ bpf_program__attach_trace@LIBBPF_0.0.6 5.5 ++ bpf_program__attach_tracepoint@LIBBPF_0.0.4 5.3 ++ bpf_program__attach_uprobe@LIBBPF_0.0.4 5.3 ++ bpf_program__attach_xdp@LIBBPF_0.1.0 1:0.1.0 ++ bpf_program__autoload@LIBBPF_0.1.0 1:0.1.0 ++ bpf_program__bpil_addr_to_offs@LIBBPF_0.0.2 5.2.6 ++ bpf_program__bpil_offs_to_addr@LIBBPF_0.0.2 5.2.6 ++ bpf_program__fd@LIBBPF_0.0.1 5.2.6 ++ bpf_program__get_expected_attach_type@LIBBPF_0.0.6 5.5 ++ bpf_program__get_prog_info_linear@LIBBPF_0.0.2 5.2.6 ++ bpf_program__get_type@LIBBPF_0.0.6 5.5 ++ bpf_program__is_extension@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__is_kprobe@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_lsm@LIBBPF_0.0.8 1:0.0.8 ++ bpf_program__is_perf_event@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_raw_tracepoint@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_sched_act@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_sched_cls@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_sk_lookup@LIBBPF_0.1.0 1:0.1.0 ++ bpf_program__is_socket_filter@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_struct_ops@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__is_tracepoint@LIBBPF_0.0.1 5.2.6 ++ bpf_program__is_tracing@LIBBPF_0.0.6 5.5 ++ bpf_program__is_xdp@LIBBPF_0.0.1 5.2.6 ++ bpf_program__load@LIBBPF_0.0.1 5.2.6 ++ bpf_program__name@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__next@LIBBPF_0.0.1 5.2.6 ++ bpf_program__nth_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_program__pin@LIBBPF_0.0.1 5.2.6 ++ bpf_program__pin_instance@LIBBPF_0.0.1 5.2.6 ++ bpf_program__prev@LIBBPF_0.0.1 5.2.6 ++ bpf_program__priv@LIBBPF_0.0.1 5.2.6 ++ bpf_program__section_name@LIBBPF_0.2.0 1:0.2 ++ bpf_program__set_attach_target@LIBBPF_0.0.8 1:0.0.8 ++ bpf_program__set_autoload@LIBBPF_0.1.0 1:0.1.0 ++ bpf_program__set_expected_attach_type@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_extension@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__set_ifindex@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_kprobe@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_lsm@LIBBPF_0.0.8 1:0.0.8 ++ bpf_program__set_perf_event@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_prep@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_priv@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_raw_tracepoint@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_sched_act@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_sched_cls@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_sk_lookup@LIBBPF_0.1.0 1:0.1.0 ++ bpf_program__set_socket_filter@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_struct_ops@LIBBPF_0.0.7 1:0.0.8 ++ bpf_program__set_tracepoint@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_tracing@LIBBPF_0.0.6 5.5 ++ bpf_program__set_type@LIBBPF_0.0.1 5.2.6 ++ bpf_program__set_xdp@LIBBPF_0.0.1 5.2.6 ++ bpf_program__size@LIBBPF_0.0.6 5.5 ++ bpf_program__title@LIBBPF_0.0.1 5.2.6 ++ bpf_program__unload@LIBBPF_0.0.1 5.2.6 ++ bpf_program__unpin@LIBBPF_0.0.1 5.2.6 ++ bpf_program__unpin_instance@LIBBPF_0.0.1 5.2.6 ++ bpf_raw_tracepoint_open@LIBBPF_0.0.1 5.2.6 ++ bpf_set_link_xdp_fd@LIBBPF_0.0.1 5.2.6 ++ bpf_set_link_xdp_fd_opts@LIBBPF_0.0.8 1:0.0.8 ++ bpf_task_fd_query@LIBBPF_0.0.1 5.2.6 ++ bpf_verify_program@LIBBPF_0.0.1 5.2.6 ++ btf__add_array@LIBBPF_0.2.0 1:0.2 ++ btf__add_const@LIBBPF_0.2.0 1:0.2 ++ btf__add_datasec@LIBBPF_0.2.0 1:0.2 ++ btf__add_datasec_var_info@LIBBPF_0.2.0 1:0.2 ++ btf__add_enum@LIBBPF_0.2.0 1:0.2 ++ btf__add_enum_value@LIBBPF_0.2.0 1:0.2 ++ btf__add_field@LIBBPF_0.2.0 1:0.2 ++ btf__add_func@LIBBPF_0.2.0 1:0.2 ++ btf__add_func_param@LIBBPF_0.2.0 1:0.2 ++ btf__add_func_proto@LIBBPF_0.2.0 1:0.2 ++ btf__add_fwd@LIBBPF_0.2.0 1:0.2 ++ btf__add_int@LIBBPF_0.2.0 1:0.2 ++ btf__add_ptr@LIBBPF_0.2.0 1:0.2 ++ btf__add_restrict@LIBBPF_0.2.0 1:0.2 ++ btf__add_str@LIBBPF_0.2.0 1:0.2 ++ btf__add_struct@LIBBPF_0.2.0 1:0.2 ++ btf__add_typedef@LIBBPF_0.2.0 1:0.2 ++ btf__add_union@LIBBPF_0.2.0 1:0.2 ++ btf__add_var@LIBBPF_0.2.0 1:0.2 ++ btf__add_volatile@LIBBPF_0.2.0 1:0.2 ++ btf__align_of@LIBBPF_0.0.7 1:0.0.8 ++ btf__base_btf@LIBBPF_0.3.0 1:0.3 ++ btf__dedup@LIBBPF_0.0.2 5.2.6 ++ btf__endianness@LIBBPF_0.2.0 1:0.2 ++ btf__fd@LIBBPF_0.0.1 5.2.6 ++ btf__finalize_data@LIBBPF_0.0.3 5.2.6 ++ btf__find_by_name@LIBBPF_0.0.1 5.2.6 ++ btf__find_by_name_kind@LIBBPF_0.0.6 5.5 ++ btf__find_str@LIBBPF_0.2.0 1:0.2 ++ btf__free@LIBBPF_0.0.1 5.2.6 ++ btf__get_from_id@LIBBPF_0.0.1 5.2.6 ++ btf__get_map_kv_tids@LIBBPF_0.0.2 5.2.6 ++ btf__get_nr_types@LIBBPF_0.0.2 5.2.6 ++ btf__get_raw_data@LIBBPF_0.0.2 5.2.6 ++ btf__load@LIBBPF_0.0.2 5.2.6 ++ btf__name_by_offset@LIBBPF_0.0.1 5.2.6 ++ btf__new@LIBBPF_0.0.1 5.2.6 ++ btf__new_empty@LIBBPF_0.2.0 1:0.2 ++ btf__new_empty_split@LIBBPF_0.3.0 1:0.3 ++ btf__parse@LIBBPF_0.1.0 1:0.1.0 ++ btf__parse_elf@LIBBPF_0.0.4 5.3 ++ btf__parse_elf_split@LIBBPF_0.3.0 1:0.3 ++ btf__parse_raw@LIBBPF_0.1.0 1:0.1.0 ++ btf__parse_raw_split@LIBBPF_0.3.0 1:0.3 ++ btf__parse_split@LIBBPF_0.3.0 1:0.3 ++ btf__pointer_size@LIBBPF_0.1.0 1:0.1.0 ++ btf__resolve_size@LIBBPF_0.0.1 5.2.6 ++ btf__resolve_type@LIBBPF_0.0.1 5.2.6 ++ btf__set_endianness@LIBBPF_0.2.0 1:0.2 ++ btf__set_fd@LIBBPF_0.1.0 1:0.1.0 ++ btf__set_pointer_size@LIBBPF_0.1.0 1:0.1.0 ++ btf__str_by_offset@LIBBPF_0.2.0 1:0.2 ++ btf__type_by_id@LIBBPF_0.0.1 5.2.6 ++ btf_dump__dump_type@LIBBPF_0.0.4 5.3 ++ btf_dump__emit_type_decl@LIBBPF_0.0.7 1:0.0.8 ++ btf_dump__free@LIBBPF_0.0.4 5.3 ++ btf_dump__new@LIBBPF_0.0.4 5.3 ++ btf_ext__free@LIBBPF_0.0.2 5.2.6 ++ btf_ext__func_info_rec_size@LIBBPF_0.0.2 5.2.6 ++ btf_ext__get_raw_data@LIBBPF_0.0.2 5.2.6 ++ btf_ext__line_info_rec_size@LIBBPF_0.0.2 5.2.6 ++ btf_ext__new@LIBBPF_0.0.2 5.2.6 ++ btf_ext__reloc_func_info@LIBBPF_0.0.2 5.2.6 ++ btf_ext__reloc_line_info@LIBBPF_0.0.2 5.2.6 ++ libbpf_attach_type_by_name@LIBBPF_0.0.1 5.2.6 ++ libbpf_find_kernel_btf@LIBBPF_0.0.7 1:0.0.8 ++ libbpf_find_vmlinux_btf_id@LIBBPF_0.0.6 5.5 ++ libbpf_get_error@LIBBPF_0.0.1 5.2.6 ++ libbpf_num_possible_cpus@LIBBPF_0.0.4 5.3 ++ libbpf_prog_type_by_name@LIBBPF_0.0.1 5.2.6 ++ libbpf_set_print@LIBBPF_0.0.1 5.2.6 ++ libbpf_strerror@LIBBPF_0.0.1 5.2.6 ++ perf_buffer__buffer_cnt@LIBBPF_0.2.0 1:0.2 ++ perf_buffer__buffer_fd@LIBBPF_0.2.0 1:0.2 ++ perf_buffer__consume@LIBBPF_0.0.9 1:0.0.9 ++ perf_buffer__consume_buffer@LIBBPF_0.2.0 1:0.2 ++ perf_buffer__epoll_fd@LIBBPF_0.2.0 1:0.2 ++ perf_buffer__free@LIBBPF_0.0.4 5.3 ++ perf_buffer__new@LIBBPF_0.0.4 5.3 ++ perf_buffer__new_raw@LIBBPF_0.0.4 5.3 ++ perf_buffer__poll@LIBBPF_0.0.4 5.3 ++ ring_buffer__add@LIBBPF_0.0.9 1:0.0.9 ++ ring_buffer__consume@LIBBPF_0.0.9 1:0.0.9 ++ ring_buffer__epoll_fd@LIBBPF_0.3.0 1:0.3 ++ ring_buffer__free@LIBBPF_0.0.9 1:0.0.9 ++ ring_buffer__new@LIBBPF_0.0.9 1:0.0.9 ++ ring_buffer__poll@LIBBPF_0.0.9 1:0.0.9 ++ xsk_setup_xdp_prog@LIBBPF_0.3.0 1:0.3 ++ xsk_socket__create@LIBBPF_0.0.2 5.2.6 ++ xsk_socket__create_shared@LIBBPF_0.2.0 1:0.2 ++ xsk_socket__delete@LIBBPF_0.0.2 5.2.6 ++ xsk_socket__fd@LIBBPF_0.0.2 5.2.6 ++ xsk_socket__update_xskmap@LIBBPF_0.3.0 1:0.3 ++ xsk_umem__create@LIBBPF_0.0.2 5.2.6 ++ xsk_umem__create@LIBBPF_0.0.4 5.4 ++ xsk_umem__delete@LIBBPF_0.0.2 5.2.6 ++ xsk_umem__fd@LIBBPF_0.0.2 5.2.6 diff --cc debian/patches/0001-libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch index 0000000,0000000..c664564 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch @@@ -1,0 -1,0 +1,136 @@@ ++From dec9340cf9b6e6a5c2c411989de3a5581bf8e5a3 Mon Sep 17 00:00:00 2001 ++From: Xu Kuohai ++Date: Tue, 11 Oct 2022 08:01:03 -0400 ++Subject: libbpf: Fix use-after-free in btf_dump_name_dups ++ ++ASAN reports an use-after-free in btf_dump_name_dups: ++ ++ERROR: AddressSanitizer: heap-use-after-free on address 0xffff927006db at pc 0xaaaab5dfb618 bp 0xffffdd89b890 sp 0xffffdd89b928 ++READ of size 2 at 0xffff927006db thread T0 ++ #0 0xaaaab5dfb614 in __interceptor_strcmp.part.0 (test_progs+0x21b614) ++ #1 0xaaaab635f144 in str_equal_fn tools/lib/bpf/btf_dump.c:127 ++ #2 0xaaaab635e3e0 in hashmap_find_entry tools/lib/bpf/hashmap.c:143 ++ #3 0xaaaab635e72c in hashmap__find tools/lib/bpf/hashmap.c:212 ++ #4 0xaaaab6362258 in btf_dump_name_dups tools/lib/bpf/btf_dump.c:1525 ++ #5 0xaaaab636240c in btf_dump_resolve_name tools/lib/bpf/btf_dump.c:1552 ++ #6 0xaaaab6362598 in btf_dump_type_name tools/lib/bpf/btf_dump.c:1567 ++ #7 0xaaaab6360b48 in btf_dump_emit_struct_def tools/lib/bpf/btf_dump.c:912 ++ #8 0xaaaab6360630 in btf_dump_emit_type tools/lib/bpf/btf_dump.c:798 ++ #9 0xaaaab635f720 in btf_dump__dump_type tools/lib/bpf/btf_dump.c:282 ++ #10 0xaaaab608523c in test_btf_dump_incremental tools/testing/selftests/bpf/prog_tests/btf_dump.c:236 ++ #11 0xaaaab6097530 in test_btf_dump tools/testing/selftests/bpf/prog_tests/btf_dump.c:875 ++ #12 0xaaaab6314ed0 in run_one_test tools/testing/selftests/bpf/test_progs.c:1062 ++ #13 0xaaaab631a0a8 in main tools/testing/selftests/bpf/test_progs.c:1697 ++ #14 0xffff9676d214 in __libc_start_main ../csu/libc-start.c:308 ++ #15 0xaaaab5d65990 (test_progs+0x185990) ++ ++0xffff927006db is located 11 bytes inside of 16-byte region [0xffff927006d0,0xffff927006e0) ++freed by thread T0 here: ++ #0 0xaaaab5e2c7c4 in realloc (test_progs+0x24c7c4) ++ #1 0xaaaab634f4a0 in libbpf_reallocarray tools/lib/bpf/libbpf_internal.h:191 ++ #2 0xaaaab634f840 in libbpf_add_mem tools/lib/bpf/btf.c:163 ++ #3 0xaaaab636643c in strset_add_str_mem tools/lib/bpf/strset.c:106 ++ #4 0xaaaab6366560 in strset__add_str tools/lib/bpf/strset.c:157 ++ #5 0xaaaab6352d70 in btf__add_str tools/lib/bpf/btf.c:1519 ++ #6 0xaaaab6353e10 in btf__add_field tools/lib/bpf/btf.c:2032 ++ #7 0xaaaab6084fcc in test_btf_dump_incremental tools/testing/selftests/bpf/prog_tests/btf_dump.c:232 ++ #8 0xaaaab6097530 in test_btf_dump tools/testing/selftests/bpf/prog_tests/btf_dump.c:875 ++ #9 0xaaaab6314ed0 in run_one_test tools/testing/selftests/bpf/test_progs.c:1062 ++ #10 0xaaaab631a0a8 in main tools/testing/selftests/bpf/test_progs.c:1697 ++ #11 0xffff9676d214 in __libc_start_main ../csu/libc-start.c:308 ++ #12 0xaaaab5d65990 (test_progs+0x185990) ++ ++previously allocated by thread T0 here: ++ #0 0xaaaab5e2c7c4 in realloc (test_progs+0x24c7c4) ++ #1 0xaaaab634f4a0 in libbpf_reallocarray tools/lib/bpf/libbpf_internal.h:191 ++ #2 0xaaaab634f840 in libbpf_add_mem tools/lib/bpf/btf.c:163 ++ #3 0xaaaab636643c in strset_add_str_mem tools/lib/bpf/strset.c:106 ++ #4 0xaaaab6366560 in strset__add_str tools/lib/bpf/strset.c:157 ++ #5 0xaaaab6352d70 in btf__add_str tools/lib/bpf/btf.c:1519 ++ #6 0xaaaab6353ff0 in btf_add_enum_common tools/lib/bpf/btf.c:2070 ++ #7 0xaaaab6354080 in btf__add_enum tools/lib/bpf/btf.c:2102 ++ #8 0xaaaab6082f50 in test_btf_dump_incremental tools/testing/selftests/bpf/prog_tests/btf_dump.c:162 ++ #9 0xaaaab6097530 in test_btf_dump tools/testing/selftests/bpf/prog_tests/btf_dump.c:875 ++ #10 0xaaaab6314ed0 in run_one_test tools/testing/selftests/bpf/test_progs.c:1062 ++ #11 0xaaaab631a0a8 in main tools/testing/selftests/bpf/test_progs.c:1697 ++ #12 0xffff9676d214 in __libc_start_main ../csu/libc-start.c:308 ++ #13 0xaaaab5d65990 (test_progs+0x185990) ++ ++The reason is that the key stored in hash table name_map is a string ++address, and the string memory is allocated by realloc() function, when ++the memory is resized by realloc() later, the old memory may be freed, ++so the address stored in name_map references to a freed memory, causing ++use-after-free. ++ ++Fix it by storing duplicated string address in name_map. ++ ++Fixes: 919d2b1dbb07 ("libbpf: Allow modification of BTF and add btf__add_str API") ++Signed-off-by: Xu Kuohai ++Signed-off-by: Andrii Nakryiko ++Acked-by: Martin KaFai Lau ++Link: https://lore.kernel.org/bpf/20221011120108.782373-2-xukuohai@huaweicloud.com ++--- ++ src/btf_dump.c | 29 ++++++++++++++++++++++++++--- ++ 1 file changed, 26 insertions(+), 3 deletions(-) ++ ++diff --git a/src/btf_dump.c b/src/btf_dump.c ++index 2f9d685..9562c21 100644 ++--- a/src/btf_dump.c +++++ b/src/btf_dump.c ++@@ -188,6 +188,17 @@ static int btf_dump_resize(struct btf_dump *d) ++ return 0; ++ } ++ +++static void btf_dump_free_names(struct hashmap *map) +++{ +++ size_t bkt; +++ struct hashmap_entry *cur; +++ +++ hashmap__for_each_entry(map, cur, bkt) +++ free((void *)cur->key); +++ +++ hashmap__free(map); +++} +++ ++ void btf_dump__free(struct btf_dump *d) ++ { ++ int i; ++@@ -206,8 +217,8 @@ void btf_dump__free(struct btf_dump *d) ++ free(d->cached_names); ++ free(d->emit_queue); ++ free(d->decl_stack); ++- hashmap__free(d->type_names); ++- hashmap__free(d->ident_names); +++ btf_dump_free_names(d->type_names); +++ btf_dump_free_names(d->ident_names); ++ ++ free(d); ++ } ++@@ -1392,11 +1403,23 @@ static void btf_dump_emit_type_chain(struct btf_dump *d, ++ static size_t btf_dump_name_dups(struct btf_dump *d, struct hashmap *name_map, ++ const char *orig_name) ++ { +++ char *old_name, *new_name; ++ size_t dup_cnt = 0; +++ int err; +++ +++ new_name = strdup(orig_name); +++ if (!new_name) +++ return 1; ++ ++ hashmap__find(name_map, orig_name, (void **)&dup_cnt); ++ dup_cnt++; ++- hashmap__set(name_map, orig_name, (void *)dup_cnt, NULL, NULL); +++ +++ err = hashmap__set(name_map, new_name, (void *)dup_cnt, +++ (const void **)&old_name, NULL); +++ if (err) +++ free(new_name); +++ +++ free(old_name); ++ ++ return dup_cnt; ++ } ++-- ++2.30.2 ++ diff --cc debian/patches/0002-libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch index 0000000,0000000..eb883fd new file mode 100644 --- /dev/null +++ b/debian/patches/0002-libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch @@@ -1,0 -1,0 +1,38 @@@ ++From 5e9bdf2adcd61c1dcda4f0db8f13796af7ecc938 Mon Sep 17 00:00:00 2001 ++From: Shung-Hsi Yu ++Date: Wed, 12 Oct 2022 10:23:53 +0800 ++Subject: libbpf: Fix null-pointer dereference in find_prog_by_sec_insn() ++ ++When there are no program sections, obj->programs is left unallocated, ++and find_prog_by_sec_insn()'s search lands on &obj->programs[0] == NULL, ++and will cause null-pointer dereference in the following access to ++prog->sec_idx. ++ ++Guard the search with obj->nr_programs similar to what's being done in ++__bpf_program__iter() to prevent null-pointer access from happening. ++ ++Fixes: db2b8b06423c ("libbpf: Support CO-RE relocations for multi-prog sections") ++Signed-off-by: Shung-Hsi Yu ++Signed-off-by: Andrii Nakryiko ++Link: https://lore.kernel.org/bpf/20221012022353.7350-4-shung-hsi.yu@suse.com ++--- ++ src/libbpf.c | 3 +++ ++ 1 file changed, 3 insertions(+) ++ ++diff --git a/src/libbpf.c b/src/libbpf.c ++index 6ae748f..f8794e5 100644 ++--- a/src/libbpf.c +++++ b/src/libbpf.c ++@@ -3502,6 +3502,9 @@ static struct bpf_program *find_prog_by_sec_insn(const struct bpf_object *obj, ++ int l = 0, r = obj->nr_programs - 1, m; ++ struct bpf_program *prog; ++ +++ if (!obj->nr_programs) +++ return NULL; +++ ++ while (l < r) { ++ m = l + (r - l + 1) / 2; ++ prog = &obj->programs[m]; ++-- ++2.30.2 ++ diff --cc debian/patches/series index 0000000,0000000..dc510b3 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,2 @@@ ++0001-libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch ++0002-libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch diff --cc debian/rules index 0000000,0000000..9636311 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,25 @@@ ++#!/usr/bin/make -f ++ ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++export DEB_CFLAGS_MAINT_APPEND = -Werror=implicit-function-declaration ++include /usr/share/dpkg/pkg-info.mk ++include /usr/share/dpkg/architecture.mk ++ ++ifeq (,$(findstring terse,$(DEB_BUILD_OPTIONS))) ++ VERBOSE=1 ++endif ++ ++%: ++ dh $@ --sourcedirectory=src ++ ++override_dh_gencontrol: ++ dh_gencontrol -- -v1:$(DEB_VERSION) ++ ++override_dh_makeshlibs: ++ dh_makeshlibs -- -v1:$(DEB_VERSION) ++ ++override_dh_auto_build: ++ dh_auto_build -- LIBSUBDIR=lib/$(DEB_HOST_MULTIARCH) V=$(VERBOSE) ++ ++override_dh_auto_install: ++ dh_auto_install -- LIBSUBDIR=lib/$(DEB_HOST_MULTIARCH) V=$(VERBOSE) diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/upstream/metadata index 0000000,0000000..0b705ec new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,5 @@@ ++--- ++Bug-Database: https://github.com/libbpf/libbpf/issues ++Bug-Submit: https://github.com/libbpf/libbpf/issues/new ++Repository: https://github.com/libbpf/libbpf.git ++Repository-Browse: https://github.com/libbpf/libbpf diff --cc debian/watch index 0000000,0000000..0da11c6 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,5 @@@ ++version=4 ++ ++opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%libbpf-$1.tar.gz%" \ ++ https://github.com/libbpf/libbpf/tags \ ++ (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate