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-1569 /
Delete
Unzip
Name
Size
Permission
Date
Action
common
[ DIR ]
drwxr-xr-x
2025-05-21 05:57
ftrace_hooks
[ DIR ]
drwxr-xr-x
2025-05-21 05:57
lsm_hooks
[ DIR ]
drwxr-xr-x
2025-05-21 05:57
syscall_hooks
[ DIR ]
drwxr-xr-x
2025-05-21 05:57
transport
[ DIR ]
drwxr-xr-x
2025-05-21 05:57
Kbuild
10.12
KB
-rw-r--r--
2025-05-21 05:57
Makefile
2.23
KB
-rw-r--r--
2025-05-21 05:57
compat.c
8.38
KB
-rw-r--r--
2025-05-21 05:57
compat.h
11.49
KB
-rw-r--r--
2025-05-21 05:57
debug.h
3.56
KB
-rw-r--r--
2025-05-21 05:57
dkms.conf
146
B
-rw-r--r--
2025-05-21 05:57
file_contexts.c
50
KB
-rw-r--r--
2025-05-21 05:57
file_contexts.h
2.82
KB
-rw-r--r--
2025-05-21 05:57
file_contexts_priv.h
5.42
KB
-rw-r--r--
2025-05-21 05:57
file_handle_tools.h
2.16
KB
-rw-r--r--
2025-05-21 05:57
file_key_tools.h
869
B
-rw-r--r--
2025-05-21 05:57
file_path_tools.h
2.09
KB
-rw-r--r--
2025-05-21 05:57
hashtable_compat.h
2.73
KB
-rw-r--r--
2025-05-21 05:57
hook_trampoline_common.h
4.29
KB
-rw-r--r--
2025-05-21 05:57
interval_tree.h
779
B
-rw-r--r--
2025-05-21 05:57
memory.h
1.37
KB
-rw-r--r--
2025-05-21 05:57
module.c
1.86
KB
-rw-r--r--
2025-05-21 05:57
module_ref.h
421
B
-rw-r--r--
2025-05-21 05:57
module_rundown_protection.c
3.64
KB
-rw-r--r--
2025-05-21 05:57
module_rundown_protection.h
743
B
-rw-r--r--
2025-05-21 05:57
path_tools.h
5.29
KB
-rw-r--r--
2025-05-21 05:57
rundown_protection.c
4.2
KB
-rw-r--r--
2025-05-21 05:57
rundown_protection.h
2.83
KB
-rw-r--r--
2025-05-21 05:57
si_common.h
4.23
KB
-rw-r--r--
2025-05-21 05:57
si_fp_properties.h
858
B
-rw-r--r--
2025-05-21 05:57
si_fp_properties_x.h
18.11
KB
-rw-r--r--
2025-05-21 05:57
si_fp_value_types.h
515
B
-rw-r--r--
2025-05-21 05:57
si_fp_value_types_x.h
1.25
KB
-rw-r--r--
2025-05-21 05:57
si_size.h
4.15
KB
-rw-r--r--
2025-05-21 05:57
si_templates.h
2.39
KB
-rw-r--r--
2025-05-21 05:57
si_writer.h
6.65
KB
-rw-r--r--
2025-05-21 05:57
si_writer_common.h
10.45
KB
-rw-r--r--
2025-05-21 05:57
stringify.h
261
B
-rw-r--r--
2025-05-21 05:57
task_info_map.c
16.45
KB
-rw-r--r--
2025-05-21 05:57
task_info_map.h
6.24
KB
-rw-r--r--
2025-05-21 05:57
task_tools.h
1.34
KB
-rw-r--r--
2025-05-21 05:57
tracepoints.c
3.58
KB
-rw-r--r--
2025-05-21 05:57
tracepoints.h
299
B
-rw-r--r--
2025-05-21 05:57
write_protection.h
2.2
KB
-rw-r--r--
2025-05-21 05:57
Save
Rename
/** @file file_path_tools.h @brief Tools for creating and working with file paths @details Copyright (c) 2024 Acronis International GmbH @author Denis Kopyrin (denis.kopyrin@acronis.com) @since $Id: $ */ #pragma once #include "compat.h" #include "memory.h" #include "si_common.h" typedef struct { char* buf; SiSizedString str; } path_info_t; // init_empty initialize message enough so 'free' can work static inline void path_info_init_empty(path_info_t* info) { info->buf = NULL; } static inline long path_info_make_with_alloc_flags(path_info_t* info, const struct path* path, bool dir, bool nowait) { const size_t max_path_len = PATH_MAX; long ret = -EFAULT; char* str; info->buf = (char*) mem_alloc_with_alloc_flags(max_path_len, nowait); if (!info->buf) { goto err; } str = d_absolute_path_compat(path, info->buf, max_path_len - (dir ? 1 : 0)); if (IS_ERR(str)) { ret = PTR_ERR(str); mem_free(info->buf); info->buf = NULL; goto err; } info->str.value = str; info->str.length = strlen(info->str.value); if (dir) { if (str[info->str.length - 1] != '/') { str[info->str.length] = '/'; str[info->str.length + 1] = '\0'; info->str.length++; } } return 0; err: info->str = (SiSizedString) {}; return ret; } static inline long path_info_make(path_info_t* info, const struct path* path, bool dir) { return path_info_make_with_alloc_flags(info, path, dir, false /*nowait*/); } static inline long path_info_make_nowait(path_info_t* info, const struct path* path, bool dir) { return path_info_make_with_alloc_flags(info, path, dir, true /*nowait*/); } static inline long path_info_make_from_valid(path_info_t* info, const struct path* path) { return path_info_make_with_alloc_flags(info, path, S_ISDIR(path->dentry->d_inode->i_mode), false /*nowait*/); } static inline long path_info_make_from_valid_nowait(path_info_t* info, const struct path* path) { return path_info_make_with_alloc_flags(info, path, S_ISDIR(path->dentry->d_inode->i_mode), true /*nowait*/); } static inline void path_info_free(const path_info_t* info) { if (info->buf) { mem_free(info->buf); } }