summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch')
-rw-r--r--dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch b/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch
new file mode 100644
index 0000000..f2b1495
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc/0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch
@@ -0,0 +1,51 @@
1From 935f7e47f54df1af30f4a1cdfd2f385863ab9dec Mon Sep 17 00:00:00 2001
2From: He Zhe <zhe.he@windriver.com>
3Date: Mon, 15 Jun 2020 07:05:24 +0000
4Subject: [PATCH] tools: opensnoop: snoop do_sys_openat2 for kernel v5.6 and
5 later
6
7Since kernel v5.6, fddb5d430ad9 ("open: introduce openat2(2) syscall"),
8do_sys_openat2 instead of do_sys_open has been used as entry function for open.
9
10Upstream-Status: Inappropriate, upstream context has changed and needs more
11 tweak.
12
13Signed-off-by: He Zhe <zhe.he@windriver.com>
14---
15 tools/opensnoop.py | 13 +++++++++++--
16 1 file changed, 11 insertions(+), 2 deletions(-)
17
18diff --git a/tools/opensnoop.py b/tools/opensnoop.py
19index 6d1388b3..3f7e48a3 100755
20--- a/tools/opensnoop.py
21+++ b/tools/opensnoop.py
22@@ -21,6 +21,8 @@ from bcc.utils import printb
23 import argparse
24 from datetime import datetime, timedelta
25 import os
26+import platform
27+from pkg_resources import parse_version
28
29 # arguments
30 examples = """examples:
31@@ -195,8 +197,15 @@ if debug or args.ebpf:
32
33 # initialize BPF
34 b = BPF(text=bpf_text)
35-b.attach_kprobe(event="do_sys_open", fn_name="trace_entry")
36-b.attach_kretprobe(event="do_sys_open", fn_name="trace_return")
37+
38+# Since kernel v5.6, do_sys_openat2 instead of do_sys_open has been used as entry function for open
39+if parse_version(platform.uname().release.split('-')[0]) > parse_version('5.6.0'):
40+ entry = "do_sys_openat2"
41+else:
42+ entry = "do_sys_open"
43+
44+b.attach_kprobe(event=entry, fn_name="trace_entry")
45+b.attach_kretprobe(event=entry, fn_name="trace_return")
46
47 initial_ts = 0
48
49--
502.24.1
51