Package: src:linux
Version: linux-image-4.8.0-2-amd64
Severity: serious
Hi, I found bpfcc-tools don't work on linux-image-4.8.0-2-amd64 and
linux-image-4.8.0-2-rt-amd64, for these kernels are signed kernel, I think
bpfcc-tools don't work on all signed kernels on x86_64 platform. bpfcc-tools
works on linux-image-4.8.0-2-amd64-unsigned,
linux-image-4.8.0-2-rt-amd64-unsigned and linux-image-4.7.0-1-amd64, following
is my detailed test log:
##############linux-image-4.8.0-2-amd64########################
root@bcat:~# python /usr/share/doc/bpfcc-tools/examples/hello_world.py
bpf: Invalid argument
Traceback (most recent call last):
File "/usr/share/doc/bpfcc-tools/examples/hello_world.py", line 11, in <module>
BPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!\\n"); return 0; }').trace_print()
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 203, in __init__
self._trace_autoload()
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 679, in _trace_autoload
fn = self.load_func(func_name, BPF.KPROBE)
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 243, in load_func
raise Exception("Failed to load BPF program %s" % func_name)
Exception: Failed to load BPF program kprobe__sys_clone
root@bcat:~# uname -a
Linux bcat 4.8.0-2-amd64 #1 SMP Debian 4.8.11-1 (2016-12-02) x86_64 GNU/Linux
root@bcat:~# dpkg -l |grep linux-image
ic linux-image-4.7.0-1-amd64 4.7.8-1 amd64 Linux 4.7 for 64-bit PCs (signed)
ii linux-image-4.8.0-1-amd64 4.8.7-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-amd64 4.8.11-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-amd64 4.8+77 amd64 Linux for 64-bit PCs (meta-package)
############## linux-image-4.8.0-2-rt-amd64-unsigned########################
root@bcat:~# python /usr/share/doc/bpfcc-tools/examples/hello_world.py
sshd-1225 [001] d...2.. 86.931062: : Hello, World!
sshd-2855 [007] d...2.. 86.937056: : Hello, World!
sshd-1225 [002] d...2.. 92.551224: : Hello, World!
sshd-2869 [004] d...2.. 92.557394: : Hello, World!
systemd-udevd-454 [003] d...2.. 92.721318: : Hello, World!
^Croot@bcat:~
root@bcat:~# uname -a
Linux bcat 4.8.0-2-rt-amd64 #1 SMP PREEMPT RT Debian 4.8.15-1 (2016-12-19) x86_64 GNU/Linux
root@bcat:~# dpkg -l |grep linux-image
ic linux-image-4.7.0-1-amd64 4.7.8-1 amd64 Linux 4.7 for 64-bit PCs (signed)
rc linux-image-4.8.0-1-amd64 4.8.7-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-amd64 4.8.11-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-rt-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs, PREEMPT_RT
ii linux-image-amd64 4.8+77 amd64 Linux for 64-bit PCs (meta-package)
##############linux-image-4.8.0-2-amd64-unsigned ########################
root@bcat:~# python /usr/share/doc/bpfcc-tools/examples/hello_world.py
sshd-1108 [005] d... 218.666546: : Hello, World!
sshd-2701 [007] d... 218.672187: : Hello, World!
sshd-1108 [005] d... 223.546367: : Hello, World!
sshd-2707 [007] d... 223.551765: : Hello, World!
console-kit-dae-2622 [002] d... 223.723321: : Hello, World!
console-kit-dae-2622 [002] d... 223.726497: : Hello, World!
console-kit-dae-2622 [002] d... 223.729037: : Hello, World!
sshd-2707 [000] d... 223.771321: : Hello, World!
bash-2712 [003] d... 223.773793: : Hello, World!
bash-2713 [004] d... 223.774088: : Hello, World!
bash-2712 [003] d... 223.792414: : Hello, World!
bash-2715 [004] d... 223.792811: : Hello, World!
^Croot@bcat:~# uname -a
Linux bcat 4.8.0-2-amd64 #1 SMP Debian 4.8.15-1 (2016-12-19) x86_64 GNU/Linux
root@bcat:~# dpkg -l |grep linux-image
ic linux-image-4.7.0-1-amd64 4.7.8-1 amd64 Linux 4.7 for 64-bit PCs (signed)
rc linux-image-4.8.0-1-amd64 4.8.7-1 amd64 Linux 4.8 for 64-bit PCs (signed)
rc linux-image-4.8.0-2-amd64 4.8.11-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs
ii linux-image-4.8.0-2-rt-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs, PREEMPT_RT
ii linux-image-amd64 4.8+77 amd64 Linux for 64-bit PCs (meta-package)
############## linux-image-4.8.0-2-rt-amd64 ########################
root@bcat:~# python /usr/share/doc/bpfcc-tools/examples/hello_world.py
bpf: Invalid argument
Traceback (most recent call last):
File "/usr/share/doc/bpfcc-tools/examples/hello_world.py", line 11, in <module>
BPF(text='int kprobe__sys_clone(void *ctx) { bpf_trace_printk("Hello, World!\\n"); return 0; }').trace_print()
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 203, in __init__
self._trace_autoload()
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 679, in _trace_autoload
fn = self.load_func(func_name, BPF.KPROBE)
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 243, in load_func
raise Exception("Failed to load BPF program %s" % func_name)
Exception: Failed to load BPF program kprobe__sys_clone
root@bcat:~# uname -a
Linux bcat 4.8.0-2-rt-amd64 #1 SMP PREEMPT RT Debian 4.8.11-1 (2016-12-02) x86_64 GNU/Linux
root@bcat:~# dpkg -l |grep linux-image
ic linux-image-4.7.0-1-amd64 4.7.8-1 amd64 Linux 4.7 for 64-bit PCs (signed)
rc linux-image-4.8.0-1-amd64 4.8.7-1 amd64 Linux 4.8 for 64-bit PCs (signed)
rc linux-image-4.8.0-2-amd64 4.8.11-1 amd64 Linux 4.8 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs
ii linux-image-4.8.0-2-rt-amd64 4.8.11-1 amd64 Linux 4.8 for 64-bit PCs, PREEMPT_RT (signed)
rc linux-image-4.8.0-2-rt-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs, PREEMPT_RT
ii linux-image-amd64 4.8+77 amd64 Linux for 64-bit PCs (meta-package)
=============linux-image-4.7.0-1-amd64=============================
guoliangc:~# python /usr/share/doc/bpfcc-tools/examples/hello_world.py
chromium-5847 [003] d... 49706.966231: : Hello, World!
chromium-5847 [003] d... 49706.966270: : Hello, World!
chromium-5847 [003] d... 49706.967351: : Hello, World!
chromium-5847 [003] d... 49706.967484: : Hello, World!
chromium-5847 [003] d... 49706.967658: : Hello, World!
chromium-5847 [003] d... 49706.967726: : Hello, World!
chromium-5847 [003] d... 49706.968571: : Hello, World!
^Cguoliangc:~# uname -a
Linux guoliangc 4.7.0-1-amd64 #1 SMP Debian 4.7.8-1 (2016-10-19) x86_64 GNU/Linux
guoliangc:~# dpkg -l |grep linux-image
ii linux-image-4.6.0-1-amd64 4.6.4-1 amd64 Linux 4.6 for 64-bit PCs
ii linux-image-4.7.0-1-amd64 4.7.8-1 amd64 Linux 4.7 for 64-bit PCs (signed)
ii linux-image-4.8.0-2-amd64-unsigned 4.8.15-1 amd64 Linux 4.8 for 64-bit PCs
Thanks and Regards,
--
Liang Guo
Attachment:
signature.asc
Description: PGP signature