更新 KPM 模块,调整函数节区标记以优化内存布局,并添加用户数据复制功能

This commit is contained in:
ShirkNeko
2025-04-01 11:14:54 +08:00
parent 0fecd7628b
commit 48227de1c8
2 changed files with 6 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ __visible __section(".data") static struct CompactAddressSymbol address_symbol [
{ "is_run_in_sukisu_ultra", (void*)1 } { "is_run_in_sukisu_ultra", (void*)1 }
}; };
__visible unsigned long sukisu_compact_find_symbol(const char* name) { __visible __section(".text") unsigned long sukisu_compact_find_symbol(const char* name) {
int i; int i;
unsigned long addr; unsigned long addr;
@@ -62,5 +62,8 @@ __visible unsigned long sukisu_compact_find_symbol(const char* name) {
return 0; return 0;
} }
__section(".text") long copy_to_user(void __user *to, const void *from, unsigned long n) {
return __copy_to_user(to, from, n);
}
EXPORT_SYMBOL(sukisu_compact_find_symbol); EXPORT_SYMBOL(sukisu_compact_find_symbol);

View File

@@ -132,7 +132,7 @@ EXPORT_SYMBOL(sukisu_kpm_version);
EXPORT_SYMBOL(sukisu_kpm_control); EXPORT_SYMBOL(sukisu_kpm_control);
noinline noinline
int sukisu_handle_kpm(unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) __section(".text") int sukisu_handle_kpm(unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
{ {
if(arg2 == SUKISU_KPM_LOAD) { if(arg2 == SUKISU_KPM_LOAD) {
char kernel_load_path[256] = { 0 }; char kernel_load_path[256] = { 0 };
@@ -177,7 +177,7 @@ int sukisu_handle_kpm(unsigned long arg2, unsigned long arg3, unsigned long arg4
return 0; return 0;
} }
int sukisu_is_kpm_control_code(unsigned long arg2) { __section(".text") int sukisu_is_kpm_control_code(unsigned long arg2) {
return (arg2 >= CMD_KPM_CONTROL && arg2 <= CMD_KPM_CONTROL_MAX) ? 1 : 0; return (arg2 >= CMD_KPM_CONTROL && arg2 <= CMD_KPM_CONTROL_MAX) ? 1 : 0;
} }