残页
e3f6399473
Don't use xwrite() when patching legacy rootfs init
...
Fix topjohnwu#4810
> [ 2.927463] [1: init: 1] magiskinit: Replace [/system/etc/selinux/plat_sepolicy.cil] -> [xxx]
[ 2.936801] [1: init: 1] magiskinit: write failed with 14: Bad address
Since topjohnwu#4596, magisk fails to patch `/init`, xwrite() fails with EFAULT, break the original `/init` file and make the device unbootable. Reverting this commit for legacy rootfs devices fixes the problem. I think this is a Samsung kernel magic since currently I can't reproduce this on other devices or find something special in the log currently we have.
2021-10-29 03:23:34 -07:00
残页
89c2c21774
Fix init.rc path detection
...
Fix #4319
Some devices store init.rc into the new path but still have the legacy /init.rc file
2021-10-29 03:21:20 -07:00
残页
a170acb9d7
Fix compilation when init debug toggle enabled
2021-10-29 03:15:16 -07:00
vvb2060
6a086bb222
Load *_compat_cil_file from system_ext
...
https://android-review.googlesource.com/c/platform/system/core/+/1650271
2021-10-29 03:14:26 -07:00
vvb2060
b2f152e641
realpath /proc/pid/cwd
...
prevent cross mount namespace
2021-10-29 03:13:20 -07:00
topjohnwu
6c5b261804
Update spolicy rules
2021-10-29 03:12:48 -07:00
topjohnwu
8bd0c44e83
Replace module fd with memfd if possible
2021-10-28 00:26:18 -07:00
topjohnwu
34c36984e9
Stop extreme verbose logging
2021-10-27 04:00:40 -07:00
topjohnwu
8bd6aca0dd
DenyList unmount without magiskd
2021-10-27 04:00:40 -07:00
topjohnwu
983b74be77
Pass MAGISKTMP over to zygote
2021-10-27 03:25:54 -07:00
topjohnwu
ea75a09f95
Make zygisk survive zygote restarts
...
Close #4777
2021-10-27 01:53:16 -07:00
LoveSy
4c747c4148
Add rule: allow * magisk_file lnk_file { * }
2021-10-26 00:41:04 -07:00
LoveSy
49abfcafed
Fix nullptr dereference when env abnormal
2021-10-26 00:40:00 -07:00
topjohnwu
50710c72ad
Cleanup magiskinit code
2021-10-26 00:35:55 -07:00
vvb2060
2e299b3814
Add an old cgroup v2 path
...
https://android-review.googlesource.com/c/platform/system/core/+/1324649
2021-10-25 20:54:19 -07:00
vvb2060
3599384b38
Allow fallback to /dev/pts
2021-10-23 23:31:44 -07:00
topjohnwu
4b307cad2c
Random minor changes
2021-10-23 22:20:07 -07:00
topjohnwu
7496d51580
Make zygiskd ABI aware
2021-10-23 14:38:30 -07:00
topjohnwu
4194ac894c
Support setting more options
2021-10-21 03:20:04 -07:00
topjohnwu
ffb5d9ea9c
Update libcxx
2021-10-21 02:08:13 -07:00
topjohnwu
770b28ca30
Build on API 21 headers
2021-10-20 03:17:42 -07:00
topjohnwu
8d0dc37ec0
Use SO_PEERSEC to get client secontext
2021-10-19 23:46:38 -07:00
topjohnwu
fe41df87bb
pthread_cond_signal might wake multiple threads
...
Close #4759
2021-10-19 21:32:37 -07:00
topjohnwu
8276a0775d
Fix API doc
2021-10-17 05:42:33 -07:00
LoveSy
abfb3bb3bb
Fix always log hook fails
2021-10-17 05:00:31 -07:00
LoveSy
e184eb4a23
Fix UB of loading modules
...
- The lambda here infers its return type as `std::string`,
and since `info` is `const`, the labmda copies `info.name`
and returns a `std::string&&`. After captured by the
`std::string_view`, the `std::string&&` return value
deconstructs and makes `std::string_view` refers to a
dangling pointer.
2021-10-17 04:38:56 -07:00
topjohnwu
d0fc372ecd
Implement Zygisk companion process
2021-10-17 04:36:18 -07:00
topjohnwu
6f54c57647
Allow fork in thread pool
2021-10-17 04:24:25 -07:00
topjohnwu
e8ae103d5f
Update jni hooks
2021-10-14 02:43:56 -07:00
topjohnwu
b0198dab6c
Update Zygisk logging
2021-10-14 02:13:23 -07:00
topjohnwu
b75ec09998
Load Zygisk modules even if no magic mount is needed
...
Close #4767
2021-10-14 01:35:29 -07:00
topjohnwu
c8ac6c07b0
Load Zygisk modules
2021-10-13 04:52:02 -07:00
topjohnwu
27814e3015
Minor Zygisk API changes
2021-10-09 11:53:40 -07:00
topjohnwu
f59309a445
Minor changes
2021-10-09 11:36:01 -07:00
vvb2060
b0292d7319
Add execmem to allow hook
2021-10-09 02:59:03 -07:00
topjohnwu
7f18616cc0
Prune unused nodes from trie
2021-10-09 02:15:03 -07:00
topjohnwu
2fef98a5af
Wipe out prop_info data after delete
2021-10-09 00:27:11 -07:00
topjohnwu
36765caedc
Fix thread pool implementation
...
Close #4759
2021-10-08 23:28:14 -07:00
topjohnwu
f7aed10ea2
Fix friend template function
2021-10-08 19:17:31 -07:00
topjohnwu
410bbb8285
Update Zygisk APIs
2021-10-05 22:42:55 -07:00
topjohnwu
f56ea52932
Add public Zygisk API
...
Still WIP
2021-10-05 03:53:22 -07:00
vvb2060
cb4361b7b7
Fix terminal on android 8
...
No need to handle untrusted_app_all_devpts on modern devices, but devpts policy is different for older devices.
2021-09-25 12:08:35 -07:00
vvb2060
ecd332c573
Close fd
2021-09-25 12:07:52 -07:00
topjohnwu
f642fb3b99
Properly handle child zygote
...
Close #4720
2021-09-24 01:23:58 -07:00
topjohnwu
e68dd866a3
Only create app_id_map if necessary
2021-09-24 00:22:19 -07:00
topjohnwu
73d36fdff0
Riru and its modules are not compatible with zygisk
2021-09-23 23:54:46 -07:00
vvb2060
d20517483e
Prevent multiple mounts of devpts
2021-09-23 02:40:24 -07:00
topjohnwu
f3d39e7515
Update BusyBox
...
Fix #4657 , close #4602
2021-09-23 02:31:42 -07:00
残页
61783ffc82
Prevent original libselinux.so to be unmounted
...
libselinux.so will be unmounted when magiskd starts. If magiskd restarts (like it died before boot completed), the files we want to unmount is the original files because the modified files is unmounted in previous start, which will causes many crashes due to missing libselinux.so.
2021-09-22 19:34:44 -07:00
topjohnwu
05c4ad01d5
Move first stage unload into second stage
2021-09-22 19:33:08 -07:00