-- SukiSU-Ultra version: 40762 [v4.1.2-Numbersf@builtin[f96f6cd2]]
-- KERNEL_VERSION: 6.6
-- KERNEL_TYPE: GKI 2.0
-- SukiSU-Ultra: using KSU_MANUAL_HOOK
-- KPM is enabled
-- SukiSU-Ultra/compat: modern static_key_interface found
-- SUSFS_VERSION: v2.1.0
CC drivers/kernelsu/ksu.o
CC drivers/interconnect/bulk.o
CC drivers/hid/hid-wiimote-debug.o
CC drivers/interconnect/debugfs-client.o
In file included from ../drivers/kernelsu/ksu.c:83:
../drivers/kernelsu/sulog/event.c:373:73: error: passing 'struct user_arg_ptr' to parameter of incompatible type 'struct user_arg_ptr *'; take the address with &
373 | pending = ksu_sulog_capture(KSU_SULOG_EVENT_IOCTL_GRANT_ROOT, NULL, USER_ARG_NULL, gfp);
| ^~~~~~~~~~~~~
| &
../drivers/kernelsu/sulog/event.c:371:23: note: expanded from macro 'USER_ARG_NULL'
371 | #define USER_ARG_NULL ((struct user_arg_ptr){ 0 })
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/kernelsu/sulog/event.c:175:79: note: passing argument to parameter 'argv_user' here
175 | struct user_arg_ptr *argv_user, gfp_t gfp)
| ^
1 error generated.
make[5]: *** [../scripts/Makefile.build:243: drivers/kernelsu/ksu.o] Error 1
make[4]: *** [../scripts/Makefile.build:480: drivers/kernelsu] Error 2
make[4]: *** Waiting for unfinished jobs....
CC drivers/android/debug_kinfo.o
AR drivers/interconnect/built-in.a
CC [M] drivers/hid/hid-uclogic-rdesc-test.o
AR drivers/hid/built-in.a
LD [M] drivers/hid/hid-uclogic-test.o
AR drivers/android/built-in.a
make[3]: *** [../scripts/Makefile.build:480: drivers] Error 2
make[2]: *** [/home/runner/work/Action-Build/Action-Build/kernel_workspace/kernel_platform/common/Makefile:1968: .] Error 2
make[1]: *** [/home/runner/work/Action-Build/Action-Build/kernel_workspace/kernel_platform/common/Makefile:252: __sub-make] Error 2
make[1]: Leaving directory '/home/runner/work/Action-Build/Action-Build/kernel_workspace/kernel_platform/common/out'
make: *** [Makefile:252: __sub-make] Error 2
Error: Process completed with exit code 2.
失败日志链接:
https://github.com/EunoiaCody/Action-Build/actions/runs/25963504465/job/76322825888
触发参数(按你的实际填写):
FILE: oneplus_13t_b
FAST_BUILD: true
KPM: KPM
其他:保持默认
问题描述
在编译过程中,内核源码 drivers/kernelsu/sulog/event.c 出现编译错误,提示向 ksu_sulog_capture() 传入的参数类型不匹配:
error: passing 'struct user_arg_ptr' to parameter of incompatible type 'struct user_arg_ptr *'
pending = ksu_sulog_capture(..., USER_ARG_NULL, gfp);
函数签名需要 struct user_arg_ptr *,但实际传的是结构体值,导致编译失败并终止(exit code 2)。
可能原因
KernelSU 的调用点传参类型错误:ksu_sulog_capture() 期望 struct user_arg_ptr *,但传入了 struct user_arg_ptr 结构体本身。
以下是AI给的解释: