Bitdefender Hypervisor Memory Introspection
lixvdso.h File Reference
#include "introtypes.h"

Go to the source code of this file.

Macros

#define LIX_VDSO_FIXED   0xffffffffff600000ULL
 

Typedefs

typedef struct _LIX_TASK_OBJECT LIX_TASK_OBJECT
 
typedef struct _LIX_TASK_OBJECTPLIX_TASK_OBJECT
 

Functions

INTSTATUS IntLixVdsoProtect (void)
 Activates protection for the vDSO image and VSYSCALL. More...
 
void IntLixVdsoUnprotect (void)
 Remove protection for the vDSO image and VSYSCALL. More...
 
INTSTATUS IntLixVdsoFetchAddress (LIX_TASK_OBJECT *Task, QWORD *Address)
 Fetch the guest virtual address of the vDSO mapped on the provided task. More...
 
INTSTATUS IntLixVdsoDynamicProtect (void)
 This function activates the protection for the vDSO image. More...
 

Macro Definition Documentation

◆ LIX_VDSO_FIXED

#define LIX_VDSO_FIXED   0xffffffffff600000ULL

Definition at line 12 of file lixvdso.h.

Referenced by IntLixVdsoFixedProtect().

Typedef Documentation

◆ LIX_TASK_OBJECT

Definition at line 10 of file lixvdso.h.

◆ PLIX_TASK_OBJECT

Definition at line 10 of file lixvdso.h.

Function Documentation

◆ IntLixVdsoDynamicProtect()

INTSTATUS IntLixVdsoDynamicProtect ( void  )

This function activates the protection for the vDSO image.

The function checks if the vDSO image is relocated and calls the proper function to activate the protection. The 'init_vdso', 'text_poke_early', 'add_nops' ksyms are fetched in order to except the init writes (see IntLixVdsoIsInitWrite).

Return values
INT_STATUS_SUCCESSOn success.

Definition at line 726 of file lixvdso.c.

Referenced by IntLixTaskHandleExec(), and IntLixVdsoProtect().

◆ IntLixVdsoFetchAddress()

INTSTATUS IntLixVdsoFetchAddress ( LIX_TASK_OBJECT Task,
QWORD Address 
)

Fetch the guest virtual address of the vDSO mapped on the provided task.

Parameters
[in]TaskThe task from which the vDSO address is fetched.
[out]AddressThe address of the vDSO image.
Return values
INT_STATUS_SUCCESSOn success.
INT_STATUS_INVALID_PARAMETER_1If the provided task is invalid.

Definition at line 850 of file lixvdso.c.

Referenced by IntLixVdsoDynamicProtectRelocate().

◆ IntLixVdsoProtect()

INTSTATUS IntLixVdsoProtect ( void  )

Activates protection for the vDSO image and VSYSCALL.

Return values
INT_STATUS_SUCCESSOn success.

Definition at line 883 of file lixvdso.c.

Referenced by IntGuestUpdateCoreOptions(), and IntLixGuestActivateProtection().

◆ IntLixVdsoUnprotect()

void IntLixVdsoUnprotect ( void  )

Remove protection for the vDSO image and VSYSCALL.

Definition at line 928 of file lixvdso.c.

Referenced by IntGuestUpdateCoreOptions(), and IntLixGuestUninit().