Please package libbpf (which is done out of the kernel src) in Debian [for 19.10]

Bug #1826410 reported by Christian Ehrhardt  on 2019-04-25
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Andy Whitcroft

Bug Description

Hi,
Debian packages libbpf and so far does so out of the kernel source [1].
There is some movement to separate that from the kernel source [2] but this isn't ready yet. So far it is just a sync of the subtree out of the kernel sources.

Since we do not share our kernel packaging we will not get this for-free without doing anything.
If there will be an ITP about it in Debian I'll let you know and we can abort this, but unless that really happens I wanted to ask if you could as well build the libbpf* packages for 19.10 and onward?

Note: this is not the same bpf lib as [3] despite the similarity in names.

Reasoning:
BPF becomes more and more important in general and is used in the kernel for many things. In the case that brought it to my attention it will be a PMD of DPDK that will need it to control XDP [4]. And XDP in general is an interesting and rising feature for network acceleration - I'd think it would be helpful to have this package around in Ubuntu.

[1]: https://packages.debian.org/sid/libbpf-dev
[2]: https://github.com/libbpf/libbpf
[3]: https://github.com/iovisor/bcc
[4]: https://www.iovisor.org/technology/xdp

description: updated

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1826410

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

apport-collect makes no sense for this which is more a feature/packaging request, setting confirmed

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
description: updated

FYI here the package info from buster as of today
root@d10-buster:~# apt-cache show libbpf-dev libbpf4.19
Package: libbpf-dev
Source: linux
Version: 4.19.28-2
Installed-Size: 350
Maintainer: Debian Kernel Team <email address hidden>
Architecture: amd64
Depends: libbpf4.19 (= 4.19.28-2)
Description-en: eBPF helper library (development files)
 libbpf is a library for loading eBPF programs and reading and manipulating
 eBPF objects from user-space.
Description-md5: b8834dcec31d23cd9577fbae4ac6a867
Multi-Arch: same
Homepage: https://www.kernel.org/
Tag: devel::library, role::devel-lib
Section: libdevel
Priority: optional
Filename: pool/main/l/linux/libbpf-dev_4.19.28-2_amd64.deb
Size: 262268
MD5sum: 2ab356bbbc421ac44f4106b6cf234f17
SHA256: f567734a69bc472f2f5a546ace4ad3abf42d69f09d2613bca52a411d78179718

Package: libbpf4.19
Source: linux
Version: 4.19.28-2
Installed-Size: 318
Maintainer: Debian Kernel Team <email address hidden>
Architecture: amd64
Depends: libc6 (>= 2.26), libelf1 (>= 0.131)
Description-en: eBPF helper library (shared library)
 libbpf is a library for loading eBPF programs and reading and manipulating
 eBPF objects from user-space.
Description-md5: 320aac663a5bd3caf223c7aa27857113
Multi-Arch: same
Homepage: https://www.kernel.org/
Tag: role::shared-lib
Section: libs
Priority: optional
Filename: pool/main/l/linux/libbpf4.19_4.19.28-2_amd64.deb
Size: 259924
MD5sum: bbb27965530e4101d43b7226fd563840
SHA256: 18fdf5da4a90c8f42dedb8db510324d09d28f11eb2fa1b364508b14a95d5179b

From our IRC discussion who might work on it (as it is yet untriaged):

[09:50] <smb> cpaelzer, there was a tendency to do things like debian does. It is on apw's list, however that is an ever changing territory
[09:52] <cpaelzer> if that is the case that is fine, could you or apw tell me that on the bug and if - as of today - an ETA for 19.10 can be expected or not?
[09:52] <cpaelzer> then I can work on the DPDK merge this cycle on that assumption
[...]
[10:00] <apw> cpaelzer, the short of it, is if you need it for 19.10 we can sort that out i am sure; but you will need to remind us

Ok, there will be regular pings then :-)

Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
importance: Undecided → High
status: Confirmed → Triaged
summary: Please package libbpf (which is done out of the kernel src) in Debian
+ [for 19.10]
Changed in linux (Ubuntu Disco):
status: New → In Progress
Changed in linux (Ubuntu):
status: Triaged → Confirmed
Changed in linux (Ubuntu Disco):
status: In Progress → Fix Committed
Seth Forshee (sforshee) on 2019-05-14
Changed in linux (Ubuntu):
status: Confirmed → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-disco' to 'verification-done-disco'. If the problem still exists, change the tag 'verification-needed-disco' to 'verification-failed-disco'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-disco

Sure you mean Disco and not Eoan?
... checking

Hmm,
no libbpf-dev package in any -proposed just yet.
Neither die I find it in a new queue?

The one place I found it is in:
  * Please package libbpf (which is done out of the kernel src) in Debian [for
    19.10] (LP: #1826410)
    - SAUCE: tools -- fix add ability to disable libbfd

of https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/proposed/+packages

I have neither found it as package at
  https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+build/16796097
nor in the build log:
  https://launchpadlibrarian.net/423858804/buildlog_ubuntu-disco-amd64.linux_5.0.0-16.17_BUILDING.txt.gz

I'm a bit lost right now, please let me know what to do.

After some discussion, probably just a bad bug ref in changelog?

tags: added: verification-failed-disco
removed: verification-needed-disco
Stefan Bader (smb) wrote :

It is, sorry about that. If we have no other need to re-spin we will have to hijack this bug report for verification and then reset things back after it claims to be released (the correct bug report would have been bug #1828234).

Stefan Bader (smb) wrote :

I would change the verification status to done here (for now). The automatic processes will claim this bug fixed at some point and then we will have to roll back all states here. Again sorry, for the inconvenience caused.

tags: added: verification-done-disco
removed: verification-failed-disco
Launchpad Janitor (janitor) wrote :
Download full text (24.0 KiB)

This bug was fixed in the package linux - 5.0.0-16.17

---------------
linux (5.0.0-16.17) disco; urgency=medium

  * linux: 5.0.0-16.17 -proposed tracker (LP: #1829173)

  * shiftfs: lock security sensitive superblock flags (LP: #1827122)
    - SAUCE: shiftfs: lock down certain superblock flags

  * Please package libbpf (which is done out of the kernel src) in Debian [for
    19.10] (LP: #1826410)
    - SAUCE: tools -- fix add ability to disable libbfd

  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - drm/i915/gvt: do not let pin count of shadow mm go negative
    - kbuild: pkg: use -f $(srctree)/Makefile to recurse to top Makefile
    - netfilter: nft_compat: use .release_ops and remove list of extension
    - netfilter: nf_tables: use-after-free in dynamic operations
    - netfilter: nf_tables: add missing ->release_ops() in error path of newrule()
    - hv_netvsc: Fix unwanted wakeup after tx_disable
    - ibmvnic: Fix completion structure initialization
    - ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
    - ipv6: Fix dangling pointer when ipv6 fragment
    - ipv6: sit: reset ip header pointer in ipip6_rcv
    - kcm: switch order of device registration to fix a crash
    - net: ethtool: not call vzalloc for zero sized memory request
    - net-gro: Fix GRO flush when receiving a GSO packet.
    - net/mlx5: Decrease default mr cache size
    - netns: provide pure entropy for net_hash_mix()
    - net: rds: force to destroy connection if t_sock is NULL in
      rds_tcp_kill_sock().
    - net/sched: act_sample: fix divide by zero in the traffic path
    - net/sched: fix ->get helper of the matchall cls
    - qmi_wwan: add Olicard 600
    - r8169: disable ASPM again
    - sctp: initialize _pad of sockaddr_in before copying to user memory
    - tcp: Ensure DCTCP reacts to losses
    - tcp: fix a potential NULL pointer dereference in tcp_sk_exit
    - vrf: check accept_source_route on the original netdevice
    - net/mlx5e: Fix error handling when refreshing TIRs
    - net/mlx5e: Add a lock on tir list
    - nfp: validate the return code from dev_queue_xmit()
    - nfp: disable netpoll on representors
    - bnxt_en: Improve RX consumer index validity check.
    - bnxt_en: Reset device on RX buffer errors.
    - net: ip_gre: fix possible use-after-free in erspan_rcv
    - net: ip6_gre: fix possible use-after-free in ip6erspan_rcv
    - net: bridge: always clear mcast matching struct on reports and leaves
    - net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop
    - net: vrf: Fix ping failed when vrf mtu is set to 0
    - net: core: netif_receive_skb_list: unlist skb before passing to pt->func
    - r8169: disable default rx interrupt coalescing on RTL8168
    - net: mlx5: Add a missing check on idr_find, free buf
    - net/mlx5e: Update xoff formula
    - net/mlx5e: Update xon formula
    - kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD
    - lib/string.c: implement a basic bcmp
    - Revert "clk: meson: clean-up clock registration"
    - tty: mark Siemens R3964 line discipline as BROKEN
    - [Config]: remove CONFIG_R3964
    - [Config]: add CONFIG_LDISC_AUTOLOAD=y
    - tty: ldisc: add sysctl to p...

Changed in linux (Ubuntu Disco):
status: Fix Committed → Fix Released

Now that this is released, can we set it back to open again to reflect the real state in the archive?

Launchpad Janitor (janitor) wrote :
Download full text (24.0 KiB)

This bug was fixed in the package linux - 5.0.0-16.17

---------------
linux (5.0.0-16.17) disco; urgency=medium

  * linux: 5.0.0-16.17 -proposed tracker (LP: #1829173)

  * shiftfs: lock security sensitive superblock flags (LP: #1827122)
    - SAUCE: shiftfs: lock down certain superblock flags

  * Please package libbpf (which is done out of the kernel src) in Debian [for
    19.10] (LP: #1826410)
    - SAUCE: tools -- fix add ability to disable libbfd

  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - drm/i915/gvt: do not let pin count of shadow mm go negative
    - kbuild: pkg: use -f $(srctree)/Makefile to recurse to top Makefile
    - netfilter: nft_compat: use .release_ops and remove list of extension
    - netfilter: nf_tables: use-after-free in dynamic operations
    - netfilter: nf_tables: add missing ->release_ops() in error path of newrule()
    - hv_netvsc: Fix unwanted wakeup after tx_disable
    - ibmvnic: Fix completion structure initialization
    - ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
    - ipv6: Fix dangling pointer when ipv6 fragment
    - ipv6: sit: reset ip header pointer in ipip6_rcv
    - kcm: switch order of device registration to fix a crash
    - net: ethtool: not call vzalloc for zero sized memory request
    - net-gro: Fix GRO flush when receiving a GSO packet.
    - net/mlx5: Decrease default mr cache size
    - netns: provide pure entropy for net_hash_mix()
    - net: rds: force to destroy connection if t_sock is NULL in
      rds_tcp_kill_sock().
    - net/sched: act_sample: fix divide by zero in the traffic path
    - net/sched: fix ->get helper of the matchall cls
    - qmi_wwan: add Olicard 600
    - r8169: disable ASPM again
    - sctp: initialize _pad of sockaddr_in before copying to user memory
    - tcp: Ensure DCTCP reacts to losses
    - tcp: fix a potential NULL pointer dereference in tcp_sk_exit
    - vrf: check accept_source_route on the original netdevice
    - net/mlx5e: Fix error handling when refreshing TIRs
    - net/mlx5e: Add a lock on tir list
    - nfp: validate the return code from dev_queue_xmit()
    - nfp: disable netpoll on representors
    - bnxt_en: Improve RX consumer index validity check.
    - bnxt_en: Reset device on RX buffer errors.
    - net: ip_gre: fix possible use-after-free in erspan_rcv
    - net: ip6_gre: fix possible use-after-free in ip6erspan_rcv
    - net: bridge: always clear mcast matching struct on reports and leaves
    - net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop
    - net: vrf: Fix ping failed when vrf mtu is set to 0
    - net: core: netif_receive_skb_list: unlist skb before passing to pt->func
    - r8169: disable default rx interrupt coalescing on RTL8168
    - net: mlx5: Add a missing check on idr_find, free buf
    - net/mlx5e: Update xoff formula
    - net/mlx5e: Update xon formula
    - kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD
    - lib/string.c: implement a basic bcmp
    - Revert "clk: meson: clean-up clock registration"
    - tty: mark Siemens R3964 line discipline as BROKEN
    - [Config]: remove CONFIG_R3964
    - [Config]: add CONFIG_LDISC_AUTOLOAD=y
    - tty: ldisc: add sysctl to p...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Stefan Bader (smb) on 2019-06-13
no longer affects: linux (Ubuntu Disco)
Changed in linux (Ubuntu):
status: Fix Released → Triaged
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 5.2.0-8.9

---------------
linux (5.2.0-8.9) eoan; urgency=medium

  * linux: 5.2.0-8.9 -proposed tracker (LP: #1835700)

  * Miscellaneous Ubuntu changes
    - [Packaging] replace zfs and spl build with zfs 0.8.1-1ubuntu1
    - SAUCE: test_bpf: remove expected fail for Ctx heavy transformations test on
      s390
    - SAUCE: add -fcf-protection=none to retpoline flags
    - SAUCE: usbip: ensure strings copied using strncpy are null-terminated
    - SAUCE: usbip: add -Wno-address-of-packed-member to EXTRA_CFLAGS
    - SAUCE: perf jvmti: ensure strncpy result is null-terminated
    - update dkms package versions
    - add removed zfs modules to modules.ignore

  [ Upstream Kernel Changes ]

  * Rebase to v5.2

 -- Seth Forshee <email address hidden> Mon, 08 Jul 2019 07:13:41 -0500

Changed in linux (Ubuntu):
status: Triaged → Fix Released

Debian:
root@d10-sid:~# apt-cache show libbpf-dev libbpf4.19
Package: libbpf-dev
Source: linux
Version: 4.19.37-5
Installed-Size: 378
Maintainer: Debian Kernel Team <email address hidden>
Architecture: amd64
Depends: libbpf4.19 (= 4.19.37-5)
Description-en: eBPF helper library (development files)
 libbpf is a library for loading eBPF programs and reading and manipulating
 eBPF objects from user-space.
Description-md5: b8834dcec31d23cd9577fbae4ac6a867
Multi-Arch: same
Homepage: https://www.kernel.org/
Tag: devel::library, role::devel-lib
Section: libdevel
Priority: optional
Filename: pool/main/l/linux/libbpf-dev_4.19.37-5_amd64.deb
Size: 289844
MD5sum: 52493b768caf815e814b60a4a4b9ee0e
SHA256: bcd283261336ae8ac5eefde91b4d43b8923c6eb48da9466b3485f95f86ca3506

Package: libbpf4.19
Source: linux
Version: 4.19.37-5
Installed-Size: 344
Maintainer: Debian Kernel Team <email address hidden>
Architecture: amd64
Depends: libc6 (>= 2.26), libelf1 (>= 0.131)
Description-en: eBPF helper library (shared library)
 libbpf is a library for loading eBPF programs and reading and manipulating
 eBPF objects from user-space.
Description-md5: 320aac663a5bd3caf223c7aa27857113
Multi-Arch: same
Homepage: https://www.kernel.org/
Tag: role::shared-lib
Section: libs
Priority: optional
Filename: pool/main/l/linux/libbpf4.19_4.19.37-5_amd64.deb
Size: 287356
MD5sum: 592e499e9b22192d08e8a7e621036bd7
SHA256: ef5e355ae43dfddc9d83c161bb78c8fe6ea465ed8ad3885d894caf7b4e5cafbc

Eoan:
root@d:~# apt-cache search libbpf
libbpfcc - shared library for BPF Compiler Collection (BCC)
libbpfcc-dev - shared library for BPF Compiler Collection (BCC)

This might (again?) be a stray bug update.
This isn't fixed in Eoan, re-opening the bug.

Changed in linux (Ubuntu):
status: Fix Released → Triaged

This is now a dup of its own clone per our IRC discussion:
[10:12] <apw> cpaelzer, it sometimes is just easier to make a new bug and dup the old against it :)
[10:18] <cpaelzer> to get rid of the stray tracking updates
[10:18] <cpaelzer> ok I can certainly do so if that helps

Brad Figg (brad-figg) on 2019-07-24
tags: added: cscc
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers