You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
kernel: synchronize with the latest 'scope-minimized manual hooks'
-v1.5
__backslashxx/KernelSU#5
____sucompat: add is_su_allowed
____sucompat: ksu_sucompat_common -> ksu_sucompat_user_common
____sucompat: amend logic within ksu_handle_execveat_sucompat
____sucompat: move ksu_handle_execve_sucompat before ksu_handle_execveat_sucompat
____sucompat: retain some minute logic / style (ksu_sucompat_non_kp)
____sucompat: identify 'sh' (ksu_handle_execveat_sucompat)
____ksud: update comment
<><><>
Description addendums:
kernel: sucompat: increase reliability, commonize and micro-optimize (tiann/KernelSU#2656)
backslashxx/KernelSU@c4530ac
...
Stale: tiann/KernelSU#2656
<><><>
kernel: ksud: migrate ksud execution to security_bprm_check (tiann/KernelSU#2653)
backslashxx/KernelSU@cd07ae2
...
as for envp, we pass the pointer then hunt for it when needed
My reasoning on adding a fallback on usercopy is that on some devices a fault
happens, and it copies garbled data. On my creation of this, I actually had to lock
that _nofault copy on a spinlock as a way to mimic preempt_disable/enable without
actually doing it. As per user reports, no failed _nofault copies anyway but we
have-to-have a fallback for resilience.
...
With that, It also provides an inlined copy_from_user_nofault for < 5.8.
...
<><><>
-https://gitlab.com/pershoot/susfs4ksu/-/tree/gki-android14-6.1-dev
// the call from execve_handler_pre won't provided correct value for __never_use_argument, use them after fix execve_handler_pre, keeping them for consistence for manually patched code
@@ -136,17 +163,9 @@ int ksu_handle_execveat_sucompat(int *fd, struct filename **filename_ptr,
136
163
int*__never_use_flags)
137
164
{
138
165
structfilename*filename;
166
+
constcharsh[] =KSUD_PATH;
139
167
140
-
if (unlikely(!filename_ptr))
141
-
return0;
142
-
143
-
#ifndefCONFIG_KSU_KPROBES_HOOK
144
-
if (!ksu_sucompat_non_kp) {
145
-
return0;
146
-
}
147
-
#endif
148
-
149
-
if (!ksu_is_allow_uid(current_uid().val))
168
+
if (!is_su_allowed((constvoid*)filename_ptr))
150
169
return0;
151
170
152
171
filename=*filename_ptr;
@@ -158,20 +177,13 @@ int ksu_handle_execveat_sucompat(int *fd, struct filename **filename_ptr,
0 commit comments