github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/pkg/ebpftracer/c/headers/common/memory.h (about) 1 #ifndef __COMMON_MEMORY_H__ 2 #define __COMMON_MEMORY_H__ 3 4 #include <vmlinux.h> 5 6 #include <common/common.h> 7 8 // PROTOTYPES 9 10 statfunc struct mm_struct *get_mm_from_task(struct task_struct *); 11 statfunc unsigned long get_arg_start_from_mm(struct mm_struct *); 12 statfunc unsigned long get_arg_end_from_mm(struct mm_struct *); 13 statfunc unsigned long get_env_start_from_mm(struct mm_struct *); 14 statfunc unsigned long get_env_end_from_mm(struct mm_struct *); 15 statfunc unsigned long get_vma_flags(struct vm_area_struct *); 16 17 // FUNCTIONS 18 19 statfunc struct mm_struct *get_mm_from_task(struct task_struct *task) 20 { 21 return BPF_CORE_READ(task, mm); 22 } 23 24 statfunc unsigned long get_arg_start_from_mm(struct mm_struct *mm) 25 { 26 return BPF_CORE_READ(mm, arg_start); 27 } 28 29 statfunc unsigned long get_arg_end_from_mm(struct mm_struct *mm) 30 { 31 return BPF_CORE_READ(mm, arg_end); 32 } 33 34 statfunc unsigned long get_env_start_from_mm(struct mm_struct *mm) 35 { 36 return BPF_CORE_READ(mm, env_start); 37 } 38 39 statfunc unsigned long get_env_end_from_mm(struct mm_struct *mm) 40 { 41 return BPF_CORE_READ(mm, env_end); 42 } 43 44 statfunc unsigned long get_vma_flags(struct vm_area_struct *vma) 45 { 46 return BPF_CORE_READ(vma, vm_flags); 47 } 48 49 statfunc struct mount *real_mount(struct vfsmount *mnt) 50 { 51 return container_of(mnt, struct mount, mnt); 52 } 53 54 #endif