HyperOS.eu KernelSU 卸载模块不工作
给小米 13 解锁刷了 EU 版本并给了 KernelSU LKM,但是 momo 一直检测到 magisk 模块。 Debug 了一下下。 KernelSU 卸载模块实现 kernel 内部使用 path_umount 单独给某个 app 卸载模块 overlay 挂载点 # https://github.com/tiann/KernelSU/blob/v1.0.2/kernel/core_hook.c#L451 static void ksu_umount_mnt(struct path *path, int flags) { int err = path_umount(path, flags); if (err) { pr_info("umount %s failed: %d\n", path->dentry->d_iname, err); } } static void try_umount(const char *mnt, bool check_mnt, int flags) { struct path path; int err = kern_path(mnt, 0, &path); ... ksu_umount_mnt(&path, flags); } int ksu_handle_setuid(struct cred *new, const struct cred *old) { ... try_umount("/system", true, 0); try_umount("/vendor", true, 0); try_umount("/product", true, 0); try_umount("/data/adb/modules", false, MNT_DETACH); ... } HyperOS 会使用 overlay 挂载 mi_ext mi_ext 时候是小米用来添加一些额外 app 和 配置文件的 eu 版本这个分区除了 etc,其他都是空文件夹 ...