Skip to content

sentinel-stack/sentinel-vmi/src/npf_handler.c

sentinel-stack/sentinel-vmi/src/npf_handler.c

Section titled “sentinel-stack/sentinel-vmi/src/npf_handler.c”
Name
enumfault_classification { FAULT_IGNORE = 0, FAULT_LEGITIMATE = 1, FAULT_SUSPICIOUS = 2, FAULT_MALICIOUS = 3}
Name
const char *classification_to_string(enum fault_classification c)
intis_legitimate_fault(struct vmi_session * s, uint64_t fault_gpa, const char * region_name)
enum fault_classificationclassify_fault(struct vmi_session * s, uint64_t gpa, int write_access, const char ** region_out, int * critical_out, int * is_collateral)
uint32_tidentify_malicious_pid(struct vmi_session * s)
intnpf_handler_init(struct vmi_session * s)
intnpf_handler_is_authorized(uint64_t cr3, uint32_t pid)
voidnpf_handler_clear_authorized(void )
voidnpf_handler_process(struct vmi_session * s, uint64_t gpa, int write_access)
intnpf_handler_report_integrity_violation(struct vmi_session * s, const char * region_name, uint64_t gpa, uint64_t expected_hash, uint64_t actual_hash, int critical)
Name
const char *[]legitimate_writers
Name
SYSCALL_ENTRY_SIZE
SYSCALL_MAX_ENTRIES
SYSCALL_TABLE_SIZE
EnumeratorValueDescription
FAULT_IGNORE0
FAULT_LEGITIMATE1
FAULT_SUSPICIOUS2
FAULT_MALICIOUS3
static const char * classification_to_string(
enum fault_classification c
)
static int is_legitimate_fault(
struct vmi_session * s,
uint64_t fault_gpa,
const char * region_name
)
static enum fault_classification classify_fault(
struct vmi_session * s,
uint64_t gpa,
int write_access,
const char ** region_out,
int * critical_out,
int * is_collateral
)
uint32_t identify_malicious_pid(
struct vmi_session * s
)
int npf_handler_init(
struct vmi_session * s
)
int npf_handler_is_authorized(
uint64_t cr3,
uint32_t pid
)
void npf_handler_clear_authorized(
void
)
void npf_handler_process(
struct vmi_session * s,
uint64_t gpa,
int write_access
)

function npf_handler_report_integrity_violation

Section titled “function npf_handler_report_integrity_violation”
int npf_handler_report_integrity_violation(
struct vmi_session * s,
const char * region_name,
uint64_t gpa,
uint64_t expected_hash,
uint64_t actual_hash,
int critical
)
static const char *[] legitimate_writers = {
"ftrace",
"livepatch",
"kprobes",
NULL
};
#define SYSCALL_ENTRY_SIZE 8ULL
#define SYSCALL_MAX_ENTRIES 512ULL
#define SYSCALL_TABLE_SIZE (SYSCALL_ENTRY_SIZE * SYSCALL_MAX_ENTRIES)

Updated on 2026-05-26 at 13:25:29 +0000