Linux host2.homegym.sg 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64
Apache
Server IP : 159.223.38.192 & Your IP : 159.223.38.192
Domains : 20 Domain
User : eachadea
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Lock Shell
Lock File++
Readme
/
usr /
src /
file_protector-1.1-1578 /
Delete
Unzip
Name
Size
Permission
Date
Action
common
[ DIR ]
drwxr-xr-x
2025-09-08 19:44
ftrace_hooks
[ DIR ]
drwxr-xr-x
2025-09-08 19:44
lsm_hooks
[ DIR ]
drwxr-xr-x
2025-09-08 19:44
syscall_hooks
[ DIR ]
drwxr-xr-x
2025-09-08 19:44
transport
[ DIR ]
drwxr-xr-x
2025-09-08 19:44
Kbuild
10.29
KB
-rw-r--r--
2025-09-08 19:44
Makefile
2.23
KB
-rw-r--r--
2025-09-08 19:44
compat.c
8.42
KB
-rw-r--r--
2025-09-08 19:44
compat.h
11.98
KB
-rw-r--r--
2025-09-08 19:44
debug.h
3.56
KB
-rw-r--r--
2025-09-08 19:44
dkms.conf
146
B
-rw-r--r--
2025-09-08 19:44
file_contexts.c
52.97
KB
-rw-r--r--
2025-09-08 19:44
file_contexts.h
2.86
KB
-rw-r--r--
2025-09-08 19:44
file_contexts_priv.h
5.33
KB
-rw-r--r--
2025-09-08 19:44
file_handle_tools.h
2.53
KB
-rw-r--r--
2025-09-08 19:44
file_key_tools.h
950
B
-rw-r--r--
2025-09-08 19:44
file_path_tools.h
2.09
KB
-rw-r--r--
2025-09-08 19:44
hashtable_compat.h
2.73
KB
-rw-r--r--
2025-09-08 19:44
hook_trampoline_common.h
4.29
KB
-rw-r--r--
2025-09-08 19:44
interval_tree.h
779
B
-rw-r--r--
2025-09-08 19:44
memory.c
3.31
KB
-rw-r--r--
2025-09-08 19:44
memory.h
2.99
KB
-rw-r--r--
2025-09-08 19:44
module.c
2.67
KB
-rw-r--r--
2025-09-08 19:44
module_ref.h
421
B
-rw-r--r--
2025-09-08 19:44
module_rundown_protection.c
3.64
KB
-rw-r--r--
2025-09-08 19:44
module_rundown_protection.h
743
B
-rw-r--r--
2025-09-08 19:44
path_tools.h
5.84
KB
-rw-r--r--
2025-09-08 19:44
rundown_protection.c
4.2
KB
-rw-r--r--
2025-09-08 19:44
rundown_protection.h
2.83
KB
-rw-r--r--
2025-09-08 19:44
safe_kobject.h
1.28
KB
-rw-r--r--
2025-09-08 19:44
si_common.h
4.3
KB
-rw-r--r--
2025-09-08 19:44
si_fp_properties.h
858
B
-rw-r--r--
2025-09-08 19:44
si_fp_properties_x.h
18.53
KB
-rw-r--r--
2025-09-08 19:44
si_fp_value_types.h
515
B
-rw-r--r--
2025-09-08 19:44
si_fp_value_types_x.h
1.25
KB
-rw-r--r--
2025-09-08 19:44
si_size.h
4.26
KB
-rw-r--r--
2025-09-08 19:44
si_templates.h
2.99
KB
-rw-r--r--
2025-09-08 19:44
si_writer.h
7.52
KB
-rw-r--r--
2025-09-08 19:44
si_writer_common.h
14.63
KB
-rw-r--r--
2025-09-08 19:44
stringify.h
261
B
-rw-r--r--
2025-09-08 19:44
task_info_map.c
17.1
KB
-rw-r--r--
2025-09-08 19:44
task_info_map.h
6.33
KB
-rw-r--r--
2025-09-08 19:44
task_tools.h
1.34
KB
-rw-r--r--
2025-09-08 19:44
tracepoints.c
3.58
KB
-rw-r--r--
2025-09-08 19:44
tracepoints.h
299
B
-rw-r--r--
2025-09-08 19:44
write_protection.h
2.2
KB
-rw-r--r--
2025-09-08 19:44
Save
Rename
/** @file safe_kobject.h @brief Safe kobject interop with sysfs @details Copyright (c) 2025 Acronis International GmbH @author Denis Kopyrin (denis.kopyrin@acronis.com) @since $Id: $ */ #pragma once #include <linux/completion.h> #include <linux/kobject.h> #ifdef KERNEL_MOCK #include <mock/mock_types.h> #endif // The problem with kobject is that it is embedded in sysfs system. // For regular monolith design it is not an issue but for unload code we do not want our callback to triggered. // The common solution for this is to use waitable 'completion' that is invoked from 'release' instead of 'kfree'. typedef struct safe_kobject_s { struct kobject kobj; struct completion complete; } safe_kobject_t; #define to_safe_kobject(_at) container_of(_at, safe_kobject_t, kobj) static inline void safe_kobject_sysfs_release(struct kobject* obj) { // TODO: Figure out why container_of does not work here safe_kobject_t* skobj = (safe_kobject_t*) obj; complete(&skobj->complete); } static inline void safe_kobject_init(safe_kobject_t* skobj) { skobj->kobj = (struct kobject){}; init_completion(&skobj->complete); } static inline void safe_kobject_del(safe_kobject_t* skobj) { kobject_del(&skobj->kobj); kobject_put(&skobj->kobj); wait_for_completion(&skobj->complete); }