[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
file_protector-1.1-1578
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 common
SET
[ DEL ]
📁 ftrace_hooks
SET
[ DEL ]
📁 lsm_hooks
SET
[ DEL ]
📁 syscall_hooks
SET
[ DEL ]
📁 transport
SET
[ DEL ]
📄 Kbuild
10,535 B
SET
[ EDIT ]
|
[ DEL ]
📄 Makefile
2,282 B
SET
[ EDIT ]
|
[ DEL ]
📄 compat.c
8,625 B
SET
[ EDIT ]
|
[ DEL ]
📄 compat.h
12,265 B
SET
[ EDIT ]
|
[ DEL ]
📄 debug.h
3,649 B
SET
[ EDIT ]
|
[ DEL ]
📄 dkms.conf
146 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_contexts.c
54,239 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_contexts.h
2,926 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_contexts_priv.h
5,463 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_handle_tools.h
2,590 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_key_tools.h
950 B
SET
[ EDIT ]
|
[ DEL ]
📄 file_path_tools.h
2,140 B
SET
[ EDIT ]
|
[ DEL ]
📄 hashtable_compat.h
2,798 B
SET
[ EDIT ]
|
[ DEL ]
📄 hook_trampoline_common.h
4,395 B
SET
[ EDIT ]
|
[ DEL ]
📄 interval_tree.h
779 B
SET
[ EDIT ]
|
[ DEL ]
📄 memory.c
3,393 B
SET
[ EDIT ]
|
[ DEL ]
📄 memory.h
3,059 B
SET
[ EDIT ]
|
[ DEL ]
📄 module.c
2,739 B
SET
[ EDIT ]
|
[ DEL ]
📄 module_ref.h
421 B
SET
[ EDIT ]
|
[ DEL ]
📄 module_rundown_protection.c
3,731 B
SET
[ EDIT ]
|
[ DEL ]
📄 module_rundown_protection.h
743 B
SET
[ EDIT ]
|
[ DEL ]
📄 path_tools.h
5,980 B
SET
[ EDIT ]
|
[ DEL ]
📄 rundown_protection.c
4,301 B
SET
[ EDIT ]
|
[ DEL ]
📄 rundown_protection.h
2,899 B
SET
[ EDIT ]
|
[ DEL ]
📄 safe_kobject.h
1,315 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_common.h
4,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_fp_properties.h
858 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_fp_properties_x.h
18,970 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_fp_value_types.h
515 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_fp_value_types_x.h
1,279 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_size.h
4,364 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_templates.h
3,066 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_writer.h
7,704 B
SET
[ EDIT ]
|
[ DEL ]
📄 si_writer_common.h
14,984 B
SET
[ EDIT ]
|
[ DEL ]
📄 stringify.h
261 B
SET
[ EDIT ]
|
[ DEL ]
📄 task_info_map.c
17,506 B
SET
[ EDIT ]
|
[ DEL ]
📄 task_info_map.h
6,481 B
SET
[ EDIT ]
|
[ DEL ]
📄 task_tools.h
1,370 B
SET
[ EDIT ]
|
[ DEL ]
📄 tracepoints.c
3,668 B
SET
[ EDIT ]
|
[ DEL ]
📄 tracepoints.h
299 B
SET
[ EDIT ]
|
[ DEL ]
📄 write_protection.h
2,257 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: file_contexts.h
/** @file file_contexts.h @brief Store the opened file contexts(inode + pid) @details Copyright (c) 2023 Acronis International GmbH @author Bruce Wang (bruce.wang@acronis.com) @since $Id: $ */ #pragma once #include "interval_tree.h" #include "transport.h" #include "transport_id.h" typedef struct { long long tv_sec; long tv_nsec; } timespec_compat_t; typedef struct { file_key_t file_key; timespec_compat_t i_mtime; /* last modify time */ timespec_compat_t i_ctime; /* last change time */ } file_context_key_t; // This struct is stored in msg_t, to keep the necessary information typedef struct { file_context_key_t key; transport_id_t skipped_transport_ids[MAX_TRANSPORT_SIZE]; } file_context_msg_info_t; // A struct to store the temporary file context information typedef struct { union { uint64_t pid_version; uint64_t unique_pid; }; uint64_t low; uint64_t high; int flags; file_context_msg_info_t msg_info; } file_context_info_t; // Context that is global per file typedef struct { // currently unused } file_context_open_file_t; // Context that is global per file + process typedef struct { atomic_t flags; } file_context_open_process_t; typedef struct { atomic_t flags; } file_context_process_t; typedef struct { interval_set_t interval_set; spinlock_t spinlock; atomic_t is_reported; } file_context_rw_t; typedef enum { FILE_CONTEXT_OPEN_TABLE = 0, FILE_CONTEXT_READ_TABLE, FILE_CONTEXT_WRITE_TABLE, } file_context_table_type_t; int file_contexts_init(void); void file_contexts_init_fail_free(void); void file_contexts_deinit(void); void remove_common_cache_all(const file_key_t* file_key); int acquire_file_context_entry(transport_id_t id); void release_file_context_entry(transport_id_t id); bool check_open_cache(const transport_ids_t* ids, file_context_info_t *info); int add_open_cache(transport_id_t id, const file_context_info_t *info, file_context_open_file_t **file_node, file_context_open_process_t **process_node); void put_open_cache(file_context_open_file_t *file_node, file_context_open_process_t *process_node); file_context_rw_t *add_rw_cache(transport_id_t id, file_context_info_t *info, file_context_table_type_t type); bool check_and_update_read_cache(const transport_ids_t* ids, file_context_info_t *info); bool check_write_cache(const transport_ids_t* ids, file_context_info_t *info, file_context_table_type_t type); void put_rw_cache(file_context_rw_t *node); void clean_interval_tree(interval_set_t *set); bool insert_interval(uint64_t low, uint64_t high, interval_set_t *set); bool check_interval(uint64_t low, uint64_t high, interval_set_t *set); bool check_update_file_modify_cache(file_context_info_t *info); bool add_file_modify_cache(file_context_info_t *info); int acquire_file_modify_entry(void); void release_file_modify_entry(void);