You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
ksud/installer: /odm handling (#2513)
we move the folder out of system if it exists in real filesystem and it is not a symlink. this is already supported on init_event.rs so only handle_partition logic was needed to make it happen since KernelSU is using overlayfs, we need to move these out. Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com> --------- Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
This commit is contained in:
@@ -605,6 +605,7 @@ int ksu_handle_setuid(struct cred *new, const struct cred *old)
|
|||||||
|
|
||||||
// fixme: use `collect_mounts` and `iterate_mount` to iterate all mountpoint and
|
// fixme: use `collect_mounts` and `iterate_mount` to iterate all mountpoint and
|
||||||
// filter the mountpoint whose target is `/data/adb`
|
// filter the mountpoint whose target is `/data/adb`
|
||||||
|
try_umount("/odm", true, 0);
|
||||||
try_umount("/system", true, 0);
|
try_umount("/system", true, 0);
|
||||||
try_umount("/vendor", true, 0);
|
try_umount("/vendor", true, 0);
|
||||||
try_umount("/product", true, 0);
|
try_umount("/product", true, 0);
|
||||||
|
|||||||
@@ -309,7 +309,8 @@ handle_partition() {
|
|||||||
return;
|
return;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -L "/system/$1" ] && [ "$(readlink -f /system/$1)" = "/$1" ]; then
|
# we move the folder to / only if it is a native folder that is not a symlink
|
||||||
|
if [ -d "/$1" ] && [ ! -L "/$1" ]; then
|
||||||
ui_print "- Handle partition /$1"
|
ui_print "- Handle partition /$1"
|
||||||
# we create a symlink if module want to access $MODPATH/system/$1
|
# we create a symlink if module want to access $MODPATH/system/$1
|
||||||
# but it doesn't always work(ie. write it in post-fs-data.sh would fail because it is readonly)
|
# but it doesn't always work(ie. write it in post-fs-data.sh would fail because it is readonly)
|
||||||
@@ -406,6 +407,7 @@ install_module() {
|
|||||||
handle_partition vendor
|
handle_partition vendor
|
||||||
handle_partition system_ext
|
handle_partition system_ext
|
||||||
handle_partition product
|
handle_partition product
|
||||||
|
handle_partition odm
|
||||||
|
|
||||||
if $BOOTMODE; then
|
if $BOOTMODE; then
|
||||||
mktouch $NVBASE/modules/$MODID/update
|
mktouch $NVBASE/modules/$MODID/update
|
||||||
|
|||||||
Reference in New Issue
Block a user