Bitdefender Hypervisor Memory Introspection
run.c File Reference
#include "../common.h"

Go to the source code of this file.

Data Structures

struct  data
 

Typedefs

typedef void *() vmalloc_fn(unsigned long size)
 
typedef void() vfree_fn(void *ptr)
 
typedef char **() argv_split_fn(unsigned int gfp, const char *str, int *argcp)
 
typedef void() argv_free_fn(char **argv)
 
typedef void() do_exit_fn(long code)
 
typedef void *() call_usermodehelper_setup_fn(const char *path, char **argv, char **envp, unsigned long gfp_mask, int(*init) (void *info, void *new), void(*cleanup) (void *info), void *data)
 
typedef int() call_usermodehelper_exec_fn(void *sub_info, int wait)
 
typedef int() printk_fn(const char *fmt,...)
 

Functions

struct data _data __aligned (1)
 The section used for this agent is .adata'. More...
 
__default_fn_attr int call_usermodehelper (const char *path, char **argv, char **envp, unsigned int wait)
 
__default_fn_attr void run (void)
 Creates a new process that execute the provided command line. More...
 
__fn_naked void trampoline (void)
 The trampoline of the agent. More...
 

Variables

void * __address
 

Typedef Documentation

◆ argv_free_fn

typedef void() argv_free_fn(char **argv)

Definition at line 10 of file run.c.

◆ argv_split_fn

typedef char**() argv_split_fn(unsigned int gfp, const char *str, int *argcp)

Definition at line 9 of file run.c.

◆ call_usermodehelper_exec_fn

typedef int() call_usermodehelper_exec_fn(void *sub_info, int wait)

Definition at line 14 of file run.c.

◆ call_usermodehelper_setup_fn

typedef void*() call_usermodehelper_setup_fn(const char *path, char **argv, char **envp, unsigned long gfp_mask, int(*init)(void *info, void *new), void(*cleanup)(void *info), void *data)

Definition at line 12 of file run.c.

◆ do_exit_fn

typedef void() do_exit_fn(long code)

Definition at line 11 of file run.c.

◆ printk_fn

typedef int() printk_fn(const char *fmt,...)

Definition at line 15 of file run.c.

◆ vfree_fn

typedef void() vfree_fn(void *ptr)

Definition at line 8 of file run.c.

◆ vmalloc_fn

typedef void*() vmalloc_fn(unsigned long size)

Definition at line 7 of file run.c.

Function Documentation

◆ __aligned()

struct data _data __aligned ( )

The section used for this agent is .adata'.

◆ call_usermodehelper()

__default_fn_attr int call_usermodehelper ( const char *  path,
char **  argv,
char **  envp,
unsigned int  wait 
)

Definition at line 57 of file run.c.

Referenced by run().

◆ run()

__default_fn_attr void run ( void  )

Creates a new process that execute the provided command line.

If an error occurs, the Intocore is notified.

Definition at line 71 of file run.c.

Referenced by trampoline().

◆ trampoline()

__fn_naked void trampoline ( void  )

The trampoline of the agent.

Calls the run function and calls 'do_exit'.

The section used for this function is '.start'.

Definition at line 113 of file run.c.

Variable Documentation

◆ __address

void* __address