fix: Hashmap type check

This commit is contained in:
2025-09-08 20:06:21 +05:30
parent 1bbf004554
commit 627ee9265a
4 changed files with 18 additions and 4 deletions

View File

@ -1,5 +1,13 @@
#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>
#define u64 unsigned long long
struct {
__uint(type, BPF_MAP_TYPE_HASH);
__uint(max_entries, 1);
__type(key, u64);
__type(value, u64);
} last SEC(".maps");
SEC("tracepoint/syscalls/sys_enter_execve")
int hello(struct pt_regs *ctx) {

View File

@ -1,6 +1,7 @@
from pythonbpf.decorators import bpf, bpfglobal, section
from ctypes import c_void_p, c_int64, c_int32
from ctypes import c_void_p, c_int64, c_int32, c_uint64
from pythonbpf.helpers import bpf_ktime_get_ns
from pythonbpf.maps import HashMap
@bpf

View File

@ -56,9 +56,6 @@ def process_bpf_chunk(func_node, module, return_type):
func_name = func_node.name
# TODO: The function actual arg retgurn type is parsed,
# but the actual output is not. It's still very wrong. Try uncommenting the
# code in execve2.py once
ret_type = return_type
# TODO: parse parameters

8
pythonbpf/maps.py Normal file
View File

@ -0,0 +1,8 @@
class HashMap:
def __init__(self, key_type, value_type, max_entries):
self.key_type = key_type
self.value_type = value_type
self.max_entries = max_entries
self.entries = {}
# add other supported map functions here