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