From 0d026c539956d103c34ed5b3e78537d23bb5068f Mon Sep 17 00:00:00 2001 From: Pragyansh Chaturvedi Date: Wed, 3 Sep 2025 01:01:21 +0530 Subject: [PATCH 1/2] Fix syntax - make more pythonic --- examples/execve.py | 8 +++++--- pythonbpf/decorators.py | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/execve.py b/examples/execve.py index 1fc215a..a680ff0 100644 --- a/examples/execve.py +++ b/examples/execve.py @@ -1,9 +1,11 @@ -from pythonbpf.decorators import tracepoint +from pythonbpf.decorators import tracepoint, syscalls from ctypes import c_void_p, c_int32 -@tracepoint("syscalls:sys_enter_execve") + +@tracepoint(syscalls.sys_enter_execve) def trace_execve(ctx: c_void_p) -> c_int32: - print("execve called\n") + print("execve called") return c_int32(0) + LICENSE = "GPL" diff --git a/pythonbpf/decorators.py b/pythonbpf/decorators.py index 150bd01..cb518cb 100644 --- a/pythonbpf/decorators.py +++ b/pythonbpf/decorators.py @@ -1,3 +1,11 @@ +from types import SimpleNamespace + +syscalls = SimpleNamespace( + sys_enter_execve="syscalls:sys_enter_execve", + sys_exit_execve="syscalls:sys_exit_execve", +) + + def tracepoint(name: str): def wrapper(fn): fn._section = f"tracepoint/{name}" From 0a4d5ea4f9016643dc414fe24fa09aa4beb2f7d6 Mon Sep 17 00:00:00 2001 From: Pragyansh Chaturvedi Date: Wed, 3 Sep 2025 01:11:13 +0530 Subject: [PATCH 2/2] Add sys_clone, add hello world example --- examples/hello_world.py | 11 +++++++++++ pythonbpf/decorators.py | 1 + 2 files changed, 12 insertions(+) create mode 100644 examples/hello_world.py diff --git a/examples/hello_world.py b/examples/hello_world.py new file mode 100644 index 0000000..5c2e061 --- /dev/null +++ b/examples/hello_world.py @@ -0,0 +1,11 @@ +from pythonbpf.decorators import tracepoint, syscalls +from ctypes import c_void_p, c_int32 + + +@tracepoint(syscalls.sys_clone) +def trace_clone(ctx: c_void_p) -> c_int32: + print("Hello, World!") + return c_int32(0) + + +LICENSE = "GPL" diff --git a/pythonbpf/decorators.py b/pythonbpf/decorators.py index cb518cb..2bba8bc 100644 --- a/pythonbpf/decorators.py +++ b/pythonbpf/decorators.py @@ -3,6 +3,7 @@ from types import SimpleNamespace syscalls = SimpleNamespace( sys_enter_execve="syscalls:sys_enter_execve", sys_exit_execve="syscalls:sys_exit_execve", + sys_clone="syscalls:sys_clone", )