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
signature.asc
Description: PGP signature