-
Notifications
You must be signed in to change notification settings - Fork 279
Open
Description
When trying to use RCU protection to safely access current->cred->uid, the ide show err
Code Context
The module compiles successfully but fails to load into the kernel when using RCU protection to safely access current->cred->uid. The error appears to be related to __UNIQUE_ID marco initialization issues at runtime.
uid_t safe_current_uid()
{
const struct cred *cred;
uid_t uid;
rcu_read_lock();
cred = rcu_dereference(*(struct cred **)((uintptr_t)current + task_struct_offset.cred_offset));
if (cred) {
uid = *(uid_t *)((uintptr_t)cred + cred_offset.uid_offset);
} else {
uid = current_uid(); // fallback
}
rcu_read_unlock();
return uid;
}Kernel Logs
[Thu Jul 10 21:57:57 2025] KernelSU: prctl reply error, cmd: 30
[Thu Jul 10 21:57:57 2025] KernelSU: KPM: calling before arg2=34
[Thu Jul 10 21:57:57 2025] KernelSU: KPM: calling before arg2=31
[Thu Jul 10 21:57:57 2025] KernelSU: prctl reply error, cmd: 30
[Thu Jul 10 21:57:57 2025] KernelSU: KPM: calling before arg2=34
[Thu Jul 10 21:57:57 2025] KernelSU: KPM: calling before arg2=34
[Thu Jul 10 21:57:57 2025] KernelSU: prctl reply error, cmd: 30
[Thu Jul 10 21:57:57 2025] KernelSU: do_execveat_common su found

Metadata
Metadata
Assignees
Labels
No labels