更新 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 }
};
__visible unsigned long sukisu_compact_find_symbol(const char* name) {
__visible __section(".text") unsigned long sukisu_compact_find_symbol(const char* name) {
int i;
unsigned long addr;
@@ -62,5 +62,8 @@ __visible unsigned long sukisu_compact_find_symbol(const char* name) {
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);

View File

@@ -132,7 +132,7 @@ EXPORT_SYMBOL(sukisu_kpm_version);
EXPORT_SYMBOL(sukisu_kpm_control);
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) {
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;
}
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;
}