aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/firejail/fs.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/firejail/fs.c b/src/firejail/fs.c
index 0f920996d..3df551d4c 100644
--- a/src/firejail/fs.c
+++ b/src/firejail/fs.c
@@ -889,6 +889,13 @@ void fs_overlayfs(void) {
889 if (major == 3 && minor < 18) 889 if (major == 3 && minor < 18)
890 oldkernel = 1; 890 oldkernel = 1;
891 891
892 // mounting an overlayfs on top of / seems to be broken for kernels > 4.19
893 // we disable overlayfs for now, pending fixing
894 if (major >= 4 &&minor >= 19) {
895 fprintf(stderr, "Error: OverlayFS disabled for Linux kernels 4.19 and newer, pending fixing.\n");
896 exit(1);
897 }
898
892 char *oroot = RUN_OVERLAY_ROOT; 899 char *oroot = RUN_OVERLAY_ROOT;
893 mkdir_attr(oroot, 0755, 0, 0); 900 mkdir_attr(oroot, 0755, 0, 0);
894 901
@@ -982,8 +989,10 @@ void fs_overlayfs(void) {
982 else { // kernel 3.18 or newer 989 else { // kernel 3.18 or newer
983 if (asprintf(&option, "lowerdir=/,upperdir=%s,workdir=%s", odiff, owork) == -1) 990 if (asprintf(&option, "lowerdir=/,upperdir=%s,workdir=%s", odiff, owork) == -1)
984 errExit("asprintf"); 991 errExit("asprintf");
985 if (mount("overlay", oroot, "overlay", MS_MGC_VAL, option) < 0) 992 if (mount("overlay", oroot, "overlay", MS_MGC_VAL, option) < 0) {
993 fprintf(stderr, "Debug: running on kernel version %d.%d\n", major, minor);
986 errExit("mounting overlayfs"); 994 errExit("mounting overlayfs");
995 }
987 996
988 //*************************** 997 //***************************
989 // issue #263 start code 998 // issue #263 start code