summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar smitsohu <smitsohu@gmail.com>2018-10-25 23:09:54 +0200
committerLibravatar smitsohu <smitsohu@gmail.com>2018-10-25 23:09:54 +0200
commitccb5f36da044a9034c38c4da4215222ad52f4648 (patch)
treeb11bc0238c2b99e11ad45a8cd9f0624e63195eeb /src
parentexperimental: remounts child mount points as well (read-only, read-write, noe... (diff)
downloadfirejail-ccb5f36da044a9034c38c4da4215222ad52f4648.tar.gz
firejail-ccb5f36da044a9034c38c4da4215222ad52f4648.tar.zst
firejail-ccb5f36da044a9034c38c4da4215222ad52f4648.zip
fix: return with euid 0
Diffstat (limited to 'src')
-rw-r--r--src/firejail/fs.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/firejail/fs.c b/src/firejail/fs.c
index 46124c482..6fe9d56aa 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -485,8 +485,10 @@ void fs_rdonly_rec(const char *dir) {
485 EUID_USER(); 485 EUID_USER();
486 // get mount point of the directory 486 // get mount point of the directory
487 int mountid = get_mount_id(dir); 487 int mountid = get_mount_id(dir);
488 if (mountid == 0) 488 if (mountid == 0) {
489 EUID_ROOT();
489 return; 490 return;
491 }
490 // build array with all mount points that need to get remounted 492 // build array with all mount points that need to get remounted
491 char **arr = get_all_mounts(mountid, dir); 493 char **arr = get_all_mounts(mountid, dir);
492 assert(arr); 494 assert(arr);
@@ -541,8 +543,10 @@ static void fs_rdwr_rec(const char *dir) {
541 EUID_USER(); 543 EUID_USER();
542 // get mount point of the directory 544 // get mount point of the directory
543 int mountid = get_mount_id(dir); 545 int mountid = get_mount_id(dir);
544 if (mountid == 0) 546 if (mountid == 0) {
547 EUID_ROOT();
545 return; 548 return;
549 }
546 // build array with all mount points that need to get remounted 550 // build array with all mount points that need to get remounted
547 char **arr = get_all_mounts(mountid, dir); 551 char **arr = get_all_mounts(mountid, dir);
548 assert(arr); 552 assert(arr);
@@ -585,8 +589,10 @@ void fs_noexec_rec(const char *dir) {
585 EUID_USER(); 589 EUID_USER();
586 // get mount point of the directory 590 // get mount point of the directory
587 int mountid = get_mount_id(dir); 591 int mountid = get_mount_id(dir);
588 if (mountid == 0) 592 if (mountid == 0) {
593 EUID_ROOT();
589 return; 594 return;
595 }
590 // build array with all mount points that need to get remounted 596 // build array with all mount points that need to get remounted
591 char **arr = get_all_mounts(mountid, dir); 597 char **arr = get_all_mounts(mountid, dir);
592 assert(arr); 598 assert(arr);