Commit Graph

6074 Commits

Author SHA1 Message Date
LoveSy 78ca682bc5 Always mount tmpfs for dirs
https://android-review.googlesource.com/c/platform/system/core/+/928592
2023-02-25 18:19:46 -08:00
LoveSy af01a36296 Refactor magic mount to support overlayfs
Previously, magic mount creates its own mirror devices and mount
mirror mount points. With these mirror mount points, magic mount
can get the original files and directory trees. However, some
devices use overlayfs to modify some mount points, and thus after
magic mount, the overlayed files are missing because the mirror
mount points do not contain the overlayed files. To address this
issue and make magic mount more compatible, this patch refactors
how magic mount works.

The new workflows are as follows:
1. make MAGISKTMP a private mount point so that we can create the
   private mount points there
2. for mirror mount points, we instead of creating our own mirror
   devices and mount the mirror mount points, we "copy" the
   original mount points by recursively mounting /
3. to prevent magic mount affecting the mirror mount points, we
   recursively set the mirror mount points private
4. to trace the mount points we created for reverting mounts, we
   again make the mirror mount points shared, and by this way we
   create a new peer group for each mirror mount points
5. as for tracing the newly created tmpfs mount point by magic
   mount, we create a dedicated tmpfs mount point for them, namely
   worker mount point, and obviously, it is shared as in a newly
   created peer group for tracing
6. when reverting mount points by magic mount, we can then trace
   the peer group id and unmount the mount points whose peer group
   ids are created by us

The advantages are as follows:
1. it is more compatible, (e.g., with overlayfs, fix #2359)
2. it can mount more partitions for which previous implementation
   cannot create mirror mount points (fix #3338)
2023-02-25 18:19:46 -08:00
LoveSy 97ed1b16d0 Fix gzip decompression 2023-02-20 18:26:04 -08:00
LoveSy 508a001753 Remove obsolete link 2023-02-20 17:25:32 -08:00
vvb2060 c1909d520b Fix gradle build cache 2023-02-20 01:23:56 -08:00
topjohnwu 9b1e173373 Update AGP 2023-02-20 01:03:35 -08:00
LoveSy 4ba365565f Upgrade gradle 2023-02-20 00:08:23 -08:00
残页 ae34659b26 No kernel repack if it isn't patched at all
It turns out that decompressing and recompressing the kernel is enough to break booting on many devices that use MT6763.
Fix #5124, fix #6204, fix #6566 

Co-authored-by: LoveSy <shana@zju.edu.cn>
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com>
2023-02-17 15:00:14 -08:00
LoveSy 79a85f5937 Use mountinfo for revert unmount 2023-02-17 12:36:19 -08:00
LoveSy b249832571 Use statfs to check rootfs
This helps support adb remount
2023-02-12 22:49:27 -08:00
LoveSy 577b5912af Fix SKIP_FD_SANITIZATION false positive
Fix #6523
2023-02-12 00:40:09 -08:00
LoveSy 9e8c68af12 Refactor sepolicy.rules resolve
We resolve available partitions for sepolicy.rules when patching
boot and bind mount the partition by magiskinit.

For older devices, the previous logic won't work because the part name
is never readable.

Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-02-12 00:36:38 -08:00
shìwēi nguyen 03418ddcbf run module uninstall.sh on Magisk uninstallation 2023-02-09 20:36:58 -08:00
LoveSy 220a1c84ce Zygisk v4 module's plt commit should not use regex 2023-02-09 20:19:53 -08:00
南宫雪珊 9a4458ffac Update appcompat 2023-02-09 20:13:40 -08:00
vvb2060 7a9e6d2ad2 Remove unexpected /sbin/overlay.d 2023-02-09 20:08:59 -08:00
LoveSy 9656cf2f86 Refine 2023-02-09 20:08:44 -08:00
BlackMesa123 584bad5314 Add init_boot.img patching for Samsung tar firmware packages
Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
2023-02-09 20:08:44 -08:00
topjohnwu 459088024f Update dependencies 2023-02-09 19:53:40 -08:00
Chris Renshaw d740bbe058 Ignore AMLogic "normal" slot suffix in scripts as well
Fixes #6572
2023-02-03 10:44:43 -08:00
canyie 6ecc04a4df Fix auto install stub 2023-01-23 01:55:28 +08:00
canyie 15a7e9af57 Fix ResourcesProvider being closed 2023-01-20 19:32:22 +08:00
LoveSy 0329f00129 Upgrade LSPlt
Fix #6533
2023-01-20 19:29:55 +08:00
topjohnwu cd8a2edefb Reduce unnecessary formatting 2023-01-20 14:41:34 +08:00
LoveSy 4318ab5cd2 Reuse tmpfs for magic mount
As we already have a tmpfs (magisktmp), we can reuse them for
magic mount
2023-01-20 03:49:40 +08:00
topjohnwu 3517e6d752 Handle nullptr char* in Rust 2023-01-20 03:45:16 +08:00
LoveSy 67845f9c21 Clear sepolicy rules when disable/remove modules
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2023-01-19 04:25:44 +08:00
Kian-Meng Ang f562710438 Fix typos
Found via `codespell -S *.xml,*.kt,./native/src/external -L crate,bu`
2023-01-18 16:35:37 +08:00
vvb2060 e836909c50 umount old hijack binary 2023-01-18 13:06:17 +08:00
vvb2060 7769ba5f54 Remove READ_EXTERNAL_STORAGE permission added by AGP 1.8 2023-01-18 12:52:24 +08:00
topjohnwu 7fe9db90a1 Update AGP 2023-01-18 12:52:04 +08:00
topjohnwu 8f7d6dfb77 Cleanup unused functions 2023-01-12 23:17:41 +08:00
canyie 2839978cc1 Use null oat dir in root service only 2023-01-12 22:38:14 +08:00
canyie e73f87b758 Update LSPlt 2023-01-12 01:18:56 +08:00
canyie bd0409fd15 Fix busybox filename 2023-01-12 01:18:41 +08:00
canyie babdfe80cb Fix stub resources load on Android 5 2023-01-12 01:12:56 +08:00
topjohnwu 636223b289 Cleanup APIs 2023-01-10 02:42:45 +08:00
LoveSy aa0a2f77cf Add inode plt hook APIs 2023-01-10 02:42:45 +08:00
topjohnwu e38f35eab2 Update libsu
Fix #6488
2023-01-09 03:16:11 +08:00
canyie cb39514705 Fix NotificationService implementation
- Fix #6385. (Maybe the reason is, the call to stopForeground() with STOP_FOREGROUND_DETACH ensures the notification is shown so it reposts the notification?)
- Use FOREGROUND_SERVICE_IMMEDIATE on Android 12+ to make sure the downloading notification always shows immediately
2023-01-09 00:10:52 +08:00
topjohnwu 78a444d601 Wait for root service to bind 2022-12-30 15:52:41 -08:00
LoveSy 37b81ad1f6 Refine module preparation return value 2022-12-26 17:17:41 -08:00
vvb2060 7871c2f595 Update deps 2022-12-26 17:16:26 -08:00
topjohnwu 57d83635c6 Check stub.xz existence 2022-12-26 16:07:04 -08:00
topjohnwu 76fbf4634a Update scripts 2022-12-26 16:07:04 -08:00
topjohnwu 7ce4bd3330 Copy stub APK into output directory 2022-12-26 16:07:04 -08:00
vvb2060 ad0e6511e1 Stop embedding stub.apk in magiskinit 2022-12-26 16:07:04 -08:00
vvb2060 a4a734458b Fix network capabilities 2022-12-26 13:48:17 -08:00
Brian Kepha f989756b93 Added Swahili Translation 2022-12-26 03:30:44 -08:00
LoveSy 5763a3d908 Support replacing existing .rc by overlay.d
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2022-12-26 03:28:10 -08:00