Skip to content

ksud: support parsing arguments after user#3464

Merged
5ec1cff merged 2 commits into
mainfrom
su
May 14, 2026
Merged

ksud: support parsing arguments after user#3464
5ec1cff merged 2 commits into
mainfrom
su

Conversation

@5ec1cff

@5ec1cff 5ec1cff commented May 14, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

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

Extends ksud su argument parsing so that arguments appearing after the target user (e.g. su alice ls -la) are captured as the executable and its arguments, instead of being lost or misinterpreted by getopts. The new logic detects the first non-option token using a windows(3) heuristic that also skips arguments which are values for known options taking a parameter, and then either executes the trailing command directly or falls through to the existing -c path.

Changes:

  • Adds detection of an <user> <command> [args...] tail and routes it to executable / exec_args.
  • Reworks the final Command setup to launch the parsed executable (falling back to the resolved shell) and drops the previously-unnecessary reassignments of command.
  • Adds std::cmp::Ordering to the imports to support the new three-way comparison between the -c and trailing-command positions.

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

Comment thread userspace/ksud/src/su.rs
Comment thread userspace/ksud/src/su.rs
Comment thread userspace/ksud/src/su.rs
@5ec1cff 5ec1cff merged commit a1a0397 into main May 14, 2026
20 checks passed
@5ec1cff 5ec1cff deleted the su branch May 14, 2026 14:38
pershoot pushed a commit to pershoot/KernelSU-Next that referenced this pull request May 14, 2026
pershoot pushed a commit to pershoot/KernelSU-Next that referenced this pull request May 14, 2026
AlexLiuDev233 pushed a commit to ReSukiSU/ReSukiSU that referenced this pull request May 14, 2026
[cherry-picked from upstream commit tiann/KernelSU@a1a0397]

Signed-off-by: AlexLiuDev233 <wzylin11@outlook.com>
Flopster101 added a commit to FlopKernel-Series/flop_s5e8825_kernel that referenced this pull request May 14, 2026
3d790eaaabe9 ksud: su: support parsing arguments after user (tiann/KernelSU#3464)
f36096a1c897 kernel: handle backport for policydb
b09af429463d kernel: ensure session_keyring install only when CONFIG_KEYS enable

git-subtree-dir: drivers/sukisu
git-subtree-split: 3d790eaaabe9e7e33d938bbf836e0f247121e79e
Flopster101 added a commit to FlopKernel-Series/flop_trinket-mi_kernel that referenced this pull request May 15, 2026
3d790eaaabe9 ksud: su: support parsing arguments after user (tiann/KernelSU#3464)
f36096a1c897 kernel: handle backport for policydb
b09af429463d kernel: ensure session_keyring install only when CONFIG_KEYS enable
0d096be05c40 docs: Add contributing guidelines to CONTRIBUTING.md (#176)
d4513aed447c manager: fix ScalePredictiveBackAnimation's clip & fix background color
51574f260ef8 manager: Restrict blur to Android version >= S
f417f72a9d7f manager: custom predictive back animation api & switch to miuix blur
7ac0a90f98f1 manager: remove selinux config & dynamic manager config dialog
1b64087165fc kernel: backport remove_avtab_node for 4.1-
cd4e3f1f779b kernel: fix kernel panic when sel_mutex not exported
71b1ae6176dc kernel: pr_alart -> pr_alert
1d822af2b8af kernel: fix klog.h not include
1ccbf7b64146 kernel: impl non-exported selinux lock warning (#175)
99ab70fe9cf7 ci: inital CodeQL check (#172)
de9409dc7aed manager: fix HighContrastMode x2
7c8c92f8fbd2 manager: remove force fontSize for LabelText & fix HighContrastMode
2ef5d9d199bf kernel: GFP_ATOMIC -> GFP_KERNEL
a7bd8e928da9 kernel: simpler copy policydb implementation
16d2976ed806 manager: fix sort settings are not persistent (#174)
f2625dcce3da kernel: use GFP_ATOMIC for remove_avtab_node
47a539401c0c kernel: prune redundant avtab nodes after deny rules (tiann/KernelSU#3439)
185fa768e9c2 manager: fix wrongly alpha for TopBar/BottomBar again
3c969278a56f manager: fix wrongly alpha for TopBar/BottomBar
fe387831a28b manager: standalone haze config & high contrast mode & useBackgroundSeedColor config
639e2e36b756 kernel: sync with latest susfs
8bcd0ab35bdf kernel: Replace bunch of if clauses with switch case in ksu_handle_sys_reboot()
e767e59543aa manager: Close temp shell after module action (tiann/KernelSU#3438)
542cd2bce96b docs: revive features, compatibility status, add hook mode, fix license badge (#171)
d7b47c0d1d26 ci: always do PR checks
e274ccf68b37 docs: revive metamodule notice
24bede663d9a kernel: cleanup kernel compat checks
6c094b50ead8 manager: sync translation from Crowdin (#166)
130744ccfc6c kernel: add -dirty endfix on version if has untracked change (#169)
aa9b043bac0c kernel: perf opt for throne_tracker & ensure syscalls.h only include in 5.9-
23675f295fa2 Revert "kernel: increase base.apk test performance"
2556a41d06b6 ci: Maximize the optimization of Rust cache (#168)
d857f65728fc kernel: increase base.apk test performance
cb0000a70e21 kernel: use flags for throne_tracker
b16b25040801 ci: Delete gradle build artifacts after repack
7f9e2d4e9c85 ci: let pull request checks always trigger (#167)
1580d3d10797 kernel: fix base.apk mismatch
82d85024e4eb kernel: minor performance opt for install session keyring
74b9b48bc67d manager: bump androidx.compose.foundation:foundation from 1.10.6 to 1.11.0 in /manager in the maven group (#163)
f067fdbb675e kernel: use static_key for sucompat if possible
2997fdd849de manager: fix restore-boot failed
10d73d2f1108 build(deps): bump the crates group in /userspace/ksuinit with 2 updates (#162)
e269ad3d05c8 build(deps): bump the crates group in /userspace/ksud with 21 updates (#164)
edd9f2fde8f7 kernel: lsm_hook: introduce selinux_ops LSM tampering for <4.2
196b75753912 ci: refactor manager type
2a7903624390 ci: Rename to EXPECTED_PR_BUILD_{SIZE|HASH}
4f7b76a40dfc ci: clean up code
cb7126948195 ci: sign and upload manager when pr (tiann/KernelSU#3269)
2110e7fe0bea ci: parallel build manager and other components to reduce build time (tiann/KernelSU#3393)
a4812466a7d8 kernel: fix include change (tiann/KernelSU#3428)

git-subtree-dir: drivers/sukisu
git-subtree-split: 3d790eaaabe9e7e33d938bbf836e0f247121e79e
pershoot pushed a commit to pershoot/KernelSU-Next that referenced this pull request May 17, 2026
pershoot pushed a commit to pershoot/KernelSU-Next that referenced this pull request May 20, 2026
pershoot pushed a commit to KernelSU-Next/KernelSU-Next that referenced this pull request May 22, 2026
Flopster101 added a commit to FlopKernel-Series/flop_exynos2100_kernel that referenced this pull request May 26, 2026
6ee2f7fd5b3f manager: fix crash in terminal screen (tiann/KernelSU#3474)
01f5b1408ca0 manager: sync translation from Crowdin (#196)
8a13b7e84d70 ci: let crowdin action use custom PAT (#194)
52368fb6b81a ksud: make cargo clippy
4137a56416ec ksud: cleanup
f43736f4566a ksud: fix build on not aarch64/x86_64/arm android (#193)
6cf9d65b4a1f manager: refactor and modularize settings UI components
dee5e2eba874 kernel: symbol_resolver: resolve symbol suffix starts with '$'
0309ffef8f29 ksud: make cargo clippy happy
3765c0d7dbff ksud: simplify dynamic_manager errors handler and hash parser
62976fbb6f68 manager: fix crash on rapid refresh button clicks (#190)
5f702753cf3d ksud: fix some module scripts won't add KSU_MODULE environment var (tiann/KernelSU#3445)
a39b46869fd8 kernel: Prefer hashed .cfi_jt variants before bare symbols (tiann/KernelSU#3475)
f6eba76f12df mamager: add KsuFullversion to basic.txt (#189)
7d41ac68c5e3 manager: Add kallsyms in bugreport (tiann/KernelSU#3479)
fab88d00ddc6 kernel: handle backport for setprocattr and lsm name(#188)
8f2e7c387282 ci: fix upload mappings (#185)
1a2db2e96ff1 adbroot: support statically-linked GetProperty (tiann/KernelSU#3470)
b9d44a338226 kernel: refine symbol_resolver (tiann/KernelSU#3469)
c5002f5199d4 ksud: fix vendor_boot patch  (#181)
b6706363b955 kernel: fix double free when policydb_write failed
ddcf5d77c3a1 kernel, ksud, manager: implement selinux_hide feature (#179)
3d790eaaabe9 ksud: su: support parsing arguments after user (tiann/KernelSU#3464)
f36096a1c897 kernel: handle backport for policydb
b09af429463d kernel: ensure session_keyring install only when CONFIG_KEYS enable
0d096be05c40 docs: Add contributing guidelines to CONTRIBUTING.md (#176)
d4513aed447c manager: fix ScalePredictiveBackAnimation's clip & fix background color
51574f260ef8 manager: Restrict blur to Android version >= S
f417f72a9d7f manager: custom predictive back animation api & switch to miuix blur
7ac0a90f98f1 manager: remove selinux config & dynamic manager config dialog
1b64087165fc kernel: backport remove_avtab_node for 4.1-
cd4e3f1f779b kernel: fix kernel panic when sel_mutex not exported
71b1ae6176dc kernel: pr_alart -> pr_alert
1d822af2b8af kernel: fix klog.h not include
1ccbf7b64146 kernel: impl non-exported selinux lock warning (#175)
99ab70fe9cf7 ci: inital CodeQL check (#172)
de9409dc7aed manager: fix HighContrastMode x2
7c8c92f8fbd2 manager: remove force fontSize for LabelText & fix HighContrastMode
2ef5d9d199bf kernel: GFP_ATOMIC -> GFP_KERNEL
a7bd8e928da9 kernel: simpler copy policydb implementation
16d2976ed806 manager: fix sort settings are not persistent (#174)
f2625dcce3da kernel: use GFP_ATOMIC for remove_avtab_node
47a539401c0c kernel: prune redundant avtab nodes after deny rules (tiann/KernelSU#3439)
185fa768e9c2 manager: fix wrongly alpha for TopBar/BottomBar again
3c969278a56f manager: fix wrongly alpha for TopBar/BottomBar
fe387831a28b manager: standalone haze config & high contrast mode & useBackgroundSeedColor config
639e2e36b756 kernel: sync with latest susfs
8bcd0ab35bdf kernel: Replace bunch of if clauses with switch case in ksu_handle_sys_reboot()
e767e59543aa manager: Close temp shell after module action (tiann/KernelSU#3438)
542cd2bce96b docs: revive features, compatibility status, add hook mode, fix license badge (#171)
d7b47c0d1d26 ci: always do PR checks
e274ccf68b37 docs: revive metamodule notice
24bede663d9a kernel: cleanup kernel compat checks
6c094b50ead8 manager: sync translation from Crowdin (#166)
130744ccfc6c kernel: add -dirty endfix on version if has untracked change (#169)
aa9b043bac0c kernel: perf opt for throne_tracker & ensure syscalls.h only include in 5.9-
23675f295fa2 Revert "kernel: increase base.apk test performance"
2556a41d06b6 ci: Maximize the optimization of Rust cache (#168)
d857f65728fc kernel: increase base.apk test performance
cb0000a70e21 kernel: use flags for throne_tracker
b16b25040801 ci: Delete gradle build artifacts after repack
7f9e2d4e9c85 ci: let pull request checks always trigger (#167)
1580d3d10797 kernel: fix base.apk mismatch
82d85024e4eb kernel: minor performance opt for install session keyring
74b9b48bc67d manager: bump androidx.compose.foundation:foundation from 1.10.6 to 1.11.0 in /manager in the maven group (#163)
f067fdbb675e kernel: use static_key for sucompat if possible
2997fdd849de manager: fix restore-boot failed
10d73d2f1108 build(deps): bump the crates group in /userspace/ksuinit with 2 updates (#162)
e269ad3d05c8 build(deps): bump the crates group in /userspace/ksud with 21 updates (#164)
edd9f2fde8f7 kernel: lsm_hook: introduce selinux_ops LSM tampering for <4.2
196b75753912 ci: refactor manager type
2a7903624390 ci: Rename to EXPECTED_PR_BUILD_{SIZE|HASH}
4f7b76a40dfc ci: clean up code
cb7126948195 ci: sign and upload manager when pr (tiann/KernelSU#3269)
2110e7fe0bea ci: parallel build manager and other components to reduce build time (tiann/KernelSU#3393)
a4812466a7d8 kernel: fix include change (tiann/KernelSU#3428)

git-subtree-dir: drivers/sukisu
git-subtree-split: 6ee2f7fd5b3ff0a936cd39f88c9eacab698afc29
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