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_handle_tools.h @brief Tools for creating and working with file handles @details Copyright (c) 2024 Acronis International GmbH @author Bruce Wang (bruce.wang@acronis.com) @since $Id: $ */ #pragma once #include "compat.h" #include "memory.h" typedef struct { uint32_t handle_bytes; int handle_type; int mnt_id; unsigned char* f_handle; } file_handle_info_t; // init_empty initialize message enough so 'free' can work static inline void file_handle_info_init_empty(file_handle_info_t* info) { info->f_handle = NULL; } // It is a bit counterintuitive but 'info->mnt_id' is always filled in despite the return value. // If 'f_handle' is non-null, it can be used static inline int file_handle_info_make_with_alloc_flags(file_handle_info_t* info, const struct path *path, bool nowait) { int dwords = MAX_HANDLE_SZ >> 2; struct dentry *dentry = path->dentry; struct vfsmount* mnt = path->mnt; info->mnt_id = mnt ? get_mnt_id(mnt) : 0; info->f_handle = NULL; info->handle_bytes = 0; #ifdef HAVE_EXPORTFS_ENCODE_INODE_FH if (!dentry || !dentry->d_inode || !dentry->d_inode->i_sb || !dentry->d_inode->i_sb->s_export_op) { return -EFAULT; } #else if (!dentry || !dentry->d_sb || !dentry->d_sb->s_export_op) { return -EFAULT; } #endif info->f_handle = mem_alloc_with_alloc_flags(MAX_HANDLE_SZ, nowait); if (!info->f_handle) { return -ENOMEM; } // Returns an enum fid_type or a negative on errno. info->handle_type = exportfs_encode_fh(dentry, (struct fid *)info->f_handle, &dwords, 0); if (info->handle_type < 0) { goto err; } info->handle_bytes = dwords * sizeof(u32); return 0; err: mem_free(info->f_handle); info->f_handle = NULL; return info->handle_type; } static inline int file_handle_info_make(file_handle_info_t* info, const struct path *path) { return file_handle_info_make_with_alloc_flags(info, path, false /*nowait*/); } static inline int file_handle_info_make_nowait(file_handle_info_t* info, const struct path *path) { return file_handle_info_make_with_alloc_flags(info, path, true /*nowait*/); } static inline void file_handle_info_free(file_handle_info_t* info) { if (info->f_handle) { mem_free(info->f_handle); } }