From 0f5849187972a50adf0d9eaa8788c11f9fd926ea Mon Sep 17 00:00:00 2001 From: Yonghong Song Date: Thu, 28 Feb 2019 11:18:04 -0800 Subject: [PATCH] fix b.support_raw_tracepoint for 5.0 kernel Fix issue #2240. In 5.0, the following commit commit a38d1107f937ca95dcf820161ef44ea683d6a0b1 Author: Matt Mullins Date: Wed Dec 12 16:42:37 2018 -0800 bpf: support raw tracepoints in modules renamed the function bpf_find_raw_tracepoint() to bpf_get_raw_tracepoint(). The bcc relies on checking bpf_find_raw_tracepoint() in /proc/kallsyms to detect whether raw_tracepoint is supported in kernel or not. We do not have better mechanism to detect raw_tracepoint support without additional syscalls. So tentatively, let us just check bpf_get_raw_tracepoint() ksym as well for raw_tracepoint support. Signed-off-by: Yonghong Song --- src/python/bcc/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/python/bcc/__init__.py b/src/python/bcc/__init__.py index 01d5604b..69a048f3 100644 --- a/src/python/bcc/__init__.py +++ b/src/python/bcc/__init__.py @@ -858,7 +858,8 @@ DEBUG_BTF = 0x20 @staticmethod def support_raw_tracepoint(): # kernel symbol "bpf_find_raw_tracepoint" indicates raw_tracepint support - if BPF.ksymname("bpf_find_raw_tracepoint") != -1: + if BPF.ksymname("bpf_find_raw_tracepoint") != -1 or \ + BPF.ksymname("bpf_get_raw_tracepoint") != -1: return True return False -- 2.20.1