PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /usr/src/file_protector-1.1-1584/lsm_hooks/ |
| Server: Linux ituca148.hostpapavps.net 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64 IP: 216.7.89.187 |
| Dir : //usr/src/file_protector-1.1-1584/lsm_hooks/lsm_common.h |
/**
@file lsm_common.h
@brief LSM based hooks
@details Copyright (c) 2024 Acronis International GmbH
@author Bruce Wang (bruce.wang@acronis.com)
@since $Id: $
*/
#pragma once
#include "debug.h"
// #define APL_LSM_DEBUG
#ifdef APL_LSM_DEBUG
#define print_address_symbol(addr) IPRINTF("[%s]: %p->%pS", #addr, (void *)addr, (void *)addr);
#define print_hooks(security_hook_heads_addr, hook_name) \
{ \
struct security_hook_list *hook_node; \
rcu_read_lock(); \
hlist_for_each_entry(hook_node, &security_hook_heads_addr->hook_name, list) \
{ \
print_address_symbol(hook_node->hook.hook_name); \
} \
rcu_read_unlock(); \
}
#else
#define print_address_symbol(addr)
#define print_hooks(hook_list, hook_name)
#endif
bool syscall_replaced_by_lsm(int syscall_nr, bool ia32);
int lsm_hooks_init(void);
void lsm_hooks_exit(void);
uint64_t wanted_fsnotify_events(void);
bool lsm_registered(void);
bool lsm_has_open(void);
bool lsm_has_security_path(void);
bool lsm_has_complex_post(void);
int register_lsm_pre_events(void);
void unregister_lsm_pre_events(void);