Prevent multiple mounts of devpts

This commit is contained in:
vvb2060 2021-09-20 13:15:16 +08:00 committed by John Wu
parent 713ce4719b
commit d20517483e

View File

@ -349,13 +349,15 @@ static void daemon_entry() {
// Use isolated devpts if kernel support // Use isolated devpts if kernel support
if (access("/dev/pts/ptmx", F_OK) == 0) { if (access("/dev/pts/ptmx", F_OK) == 0) {
auto pts = MAGISKTMP + "/" SHELLPTS; auto pts = MAGISKTMP + "/" SHELLPTS;
xmkdirs(pts.data(), 0755); if (access(pts.data(), F_OK)) {
xmount("devpts", pts.data(), "devpts", xmkdirs(pts.data(), 0755);
MS_NOSUID | MS_NOEXEC, "newinstance"); xmount("devpts", pts.data(), "devpts",
auto ptmx = pts + "/ptmx"; MS_NOSUID | MS_NOEXEC, "newinstance");
if (access(ptmx.data(), F_OK)) { auto ptmx = pts + "/ptmx";
xumount(pts.data()); if (access(ptmx.data(), F_OK)) {
rmdir(pts.data()); xumount(pts.data());
rmdir(pts.data());
}
} }
} }