diff options
Diffstat (limited to 'dynamic-layers')
2 files changed, 53 insertions, 1 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 @@ | |||
1 | From 935f7e47f54df1af30f4a1cdfd2f385863ab9dec Mon Sep 17 00:00:00 2001 | ||
2 | From: He Zhe <zhe.he@windriver.com> | ||
3 | Date: Mon, 15 Jun 2020 07:05:24 +0000 | ||
4 | Subject: [PATCH] tools: opensnoop: snoop do_sys_openat2 for kernel v5.6 and | ||
5 | later | ||
6 | |||
7 | Since kernel v5.6, fddb5d430ad9 ("open: introduce openat2(2) syscall"), | ||
8 | do_sys_openat2 instead of do_sys_open has been used as entry function for open. | ||
9 | |||
10 | Upstream-Status: Inappropriate, upstream context has changed and needs more | ||
11 | tweak. | ||
12 | |||
13 | Signed-off-by: He Zhe <zhe.he@windriver.com> | ||
14 | --- | ||
15 | tools/opensnoop.py | 13 +++++++++++-- | ||
16 | 1 file changed, 11 insertions(+), 2 deletions(-) | ||
17 | |||
18 | diff --git a/tools/opensnoop.py b/tools/opensnoop.py | ||
19 | index 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 | -- | ||
50 | 2.24.1 | ||
51 | |||
diff --git a/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.13.0.bb b/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.13.0.bb index b4b5a92..563c6cc 100644 --- a/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.13.0.bb +++ b/dynamic-layers/openembedded-layer/recipes-devtools/bcc/bcc_0.13.0.bb | |||
@@ -12,10 +12,11 @@ DEPENDS += "bison-native \ | |||
12 | clang \ | 12 | clang \ |
13 | " | 13 | " |
14 | 14 | ||
15 | RDEPENDS_${PN} += "bash python3 python3-core xz" | 15 | RDEPENDS_${PN} += "bash python3 python3-core python3-setuptools xz" |
16 | 16 | ||
17 | SRC_URI = "gitsm://github.com/iovisor/bcc \ | 17 | SRC_URI = "gitsm://github.com/iovisor/bcc \ |
18 | file://0001-python-CMakeLists.txt-Remove-check-for-host-etc-debi.patch \ | 18 | file://0001-python-CMakeLists.txt-Remove-check-for-host-etc-debi.patch \ |
19 | file://0001-tools-opensnoop-snoop-do_sys_openat2-for-kernel-v5.6.patch \ | ||
19 | " | 20 | " |
20 | 21 | ||
21 | SRCREV = "942227484d3207f6a42103674001ef01fb5335a0" | 22 | SRCREV = "942227484d3207f6a42103674001ef01fb5335a0" |