aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar smitsohu <smitsohu@gmail.com>2018-10-15 18:09:49 +0200
committerLibravatar smitsohu <smitsohu@gmail.com>2018-10-15 18:09:49 +0200
commitbe1e3b02bfca3fdb836c91b71dce26fce3eaa094 (patch)
treeaf90ae25e72d03d9b3a968dc70bd9b855e2413e1 /src
parentMerge branch 'master' of http://github.com/netblue30/firejail (diff)
downloadfirejail-be1e3b02bfca3fdb836c91b71dce26fce3eaa094.tar.gz
firejail-be1e3b02bfca3fdb836c91b71dce26fce3eaa094.tar.zst
firejail-be1e3b02bfca3fdb836c91b71dce26fce3eaa094.zip
tentative fix: automatically mount libdir in chroot - #2176
Diffstat (limited to 'src')
-rw-r--r--src/firejail/fs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/firejail/fs.c b/src/firejail/fs.c
index b958df81a..9f0dac4e0 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -1379,6 +1379,16 @@ void fs_chroot(const char *rootdir) {
1379 ASSERT_PERMS(rundir, 0, 0, 0755); 1379 ASSERT_PERMS(rundir, 0, 0, 0755);
1380 free(rundir); 1380 free(rundir);
1381 1381
1382 // create /run/firejail/lib directory in chroot and mount it
1383 if (asprintf(&rundir, "%s%s", rootdir, RUN_FIREJAIL_LIB_DIR) == -1)
1384 errExit("asprintf");
1385 if (mkdir(rundir, 0755) == -1 && errno != EEXIST)
1386 errExit("mkdir");
1387 ASSERT_PERMS(rundir, 0, 0, 0755);
1388 if (mount(RUN_FIREJAIL_LIB_DIR, rundir, NULL, MS_BIND|MS_REC, NULL) < 0)
1389 errExit("mount bind");
1390 free(rundir);
1391
1382 // create /run/firejail/mnt directory in chroot and mount the current one 1392 // create /run/firejail/mnt directory in chroot and mount the current one
1383 if (asprintf(&rundir, "%s%s", rootdir, RUN_MNT_DIR) == -1) 1393 if (asprintf(&rundir, "%s%s", rootdir, RUN_MNT_DIR) == -1)
1384 errExit("asprintf"); 1394 errExit("asprintf");