Skip to content

kernel: Identify manager without PER_USER_RANGE#3038

Merged
aviraxp merged 1 commit into
mainfrom
id
Dec 6, 2025
Merged

kernel: Identify manager without PER_USER_RANGE#3038
aviraxp merged 1 commit into
mainfrom
id

Conversation

@aviraxp

@aviraxp aviraxp commented Dec 4, 2025

Copy link
Copy Markdown
Collaborator

appid is same for a single package across users, so we can identify manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will return real appid now.

Copilot AI review requested due to automatic review settings December 4, 2025 15:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request refactors manager UID handling to identify the manager by normalized app ID (appid) rather than the full UID, since appid is consistent across all user profiles for a given package. The key change is that ksu_get_manager_uid() now returns the normalized appid instead of a potentially profile-specific full UID.

  • Manager UID is now stored and compared as normalized appid (uid % PER_USER_RANGE)
  • Replaces hardcoded 100000 magic number with PER_USER_RANGE constant
  • Removes special handling for private space UIDs in setuid hook

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
kernel/manager.h Added allowlist.h include for PER_USER_RANGE; modified is_manager() and ksu_set_manager_uid() to normalize UIDs with modulo operation
kernel/setuid_hook.c Removed private space UID handling; simplified manager UID comparison by normalizing new_uid
kernel/throne_tracker.c Replaced hardcoded 100000 with PER_USER_RANGE constant; updated manager existence check to normalize np->uid
kernel/allowlist.c Updated manager UID comparisons in __ksu_is_allow_uid() and ksu_uid_should_umount() to normalize uid parameter

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread kernel/throne_tracker.c
@aviraxp aviraxp force-pushed the id branch 3 times, most recently from 6b039d6 to 2b80784 Compare December 6, 2025 07:27
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID
will return real appid now.
@aviraxp aviraxp requested a review from tiann December 6, 2025 07:31
@aviraxp aviraxp merged commit d0d5e4a into main Dec 6, 2025
15 checks passed
@aviraxp aviraxp deleted the id branch December 6, 2025 07:47
KOWX712 pushed a commit to KOWX712/KernelSU that referenced this pull request Dec 6, 2025
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
selfmusing pushed a commit to selfmusing/USlenreK that referenced this pull request Dec 11, 2025
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
larpedd pushed a commit to larpedd/KernelSU that referenced this pull request Dec 20, 2025
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
u9521 pushed a commit to u9521/KernelSU that referenced this pull request Jan 5, 2026
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
u9521 pushed a commit to u9521/KernelSU that referenced this pull request Jan 5, 2026
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
u9521 pushed a commit to u9521/KernelSU that referenced this pull request Jan 8, 2026
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
u9521 pushed a commit to u9521/KernelSU that referenced this pull request Jan 13, 2026
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
LeCmnGend pushed a commit to LeCmnGend/KernelSU that referenced this pull request Feb 23, 2026
appid is same for a single package across users, so we can identify
manager without PER_USER_RANGE. Note, KSU_IOCTL_GET_MANAGER_UID will
return real appid now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants