diff options
author | smitsohu <smitsohu@gmail.com> | 2018-10-15 18:09:49 +0200 |
---|---|---|
committer | smitsohu <smitsohu@gmail.com> | 2018-10-15 18:09:49 +0200 |
commit | be1e3b02bfca3fdb836c91b71dce26fce3eaa094 (patch) | |
tree | af90ae25e72d03d9b3a968dc70bd9b855e2413e1 /src | |
parent | Merge branch 'master' of http://github.com/netblue30/firejail (diff) | |
download | firejail-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.c | 10 |
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"); |