mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-20 08:18:28 +00:00
Make module mirror read only
This commit is contained in:
parent
aa785b5845
commit
15cab86152
@ -117,8 +117,8 @@ EOF
|
|||||||
|
|
||||||
add_hosts_module() {
|
add_hosts_module() {
|
||||||
# Do not touch existing hosts module
|
# Do not touch existing hosts module
|
||||||
[ -d $MAGISKTMP/modules/hosts ] && return
|
[ -d $NVBASE/modules/hosts ] && return
|
||||||
cd $MAGISKTMP/modules
|
cd $NVBASE/modules
|
||||||
mkdir -p hosts/system/etc
|
mkdir -p hosts/system/etc
|
||||||
cat << EOF > hosts/module.prop
|
cat << EOF > hosts/module.prop
|
||||||
id=hosts
|
id=hosts
|
||||||
|
@ -54,7 +54,7 @@ static void mount_mirrors() {
|
|||||||
xmkdir(MODULEROOT, 0755);
|
xmkdir(MODULEROOT, 0755);
|
||||||
xmkdir(dest.data(), 0755);
|
xmkdir(dest.data(), 0755);
|
||||||
xmount(MODULEROOT, dest.data(), nullptr, MS_BIND, nullptr);
|
xmount(MODULEROOT, dest.data(), nullptr, MS_BIND, nullptr);
|
||||||
xmount(nullptr, dest.data(), nullptr, MS_REMOUNT | MS_BIND | MS_NOATIME, nullptr);
|
xmount(nullptr, dest.data(), nullptr, MS_REMOUNT | MS_BIND | MS_RDONLY, nullptr);
|
||||||
xmount(nullptr, dest.data(), nullptr, MS_PRIVATE, nullptr);
|
xmount(nullptr, dest.data(), nullptr, MS_PRIVATE, nullptr);
|
||||||
chmod(SECURE_DIR, 0700);
|
chmod(SECURE_DIR, 0700);
|
||||||
restorecon();
|
restorecon();
|
||||||
|
@ -147,6 +147,10 @@ void mirror_node::mount() {
|
|||||||
|
|
||||||
void module_node::mount() {
|
void module_node::mount() {
|
||||||
string src = module_mnt + module + parent()->root()->prefix + node_path();
|
string src = module_mnt + module + parent()->root()->prefix + node_path();
|
||||||
|
if (node_path() == "/system/etc/hosts") {
|
||||||
|
// special case for /system/etc/hosts to ensure it is writable
|
||||||
|
src = std::string(MODULEROOT) + module + parent()->root()->prefix + "/system/etc/hosts";
|
||||||
|
}
|
||||||
if (exist())
|
if (exist())
|
||||||
clone_attr(mirror_path().data(), src.data());
|
clone_attr(mirror_path().data(), src.data());
|
||||||
if (isa<tmpfs_node>(parent()))
|
if (isa<tmpfs_node>(parent()))
|
||||||
@ -303,6 +307,9 @@ void load_modules() {
|
|||||||
mount_zygisk(32)
|
mount_zygisk(32)
|
||||||
mount_zygisk(64)
|
mount_zygisk(64)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto worker_dir = MAGISKTMP + "/" WORKERDIR;
|
||||||
|
xmount(nullptr, worker_dir.data(), nullptr, MS_REMOUNT | MS_RDONLY, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************
|
/************************
|
||||||
|
Loading…
x
Reference in New Issue
Block a user