this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Revert the use of darling-overlay, it causes crashes (fixes #768)

+9 -3
+9 -3
src/startup/darling.c
··· 58 58 const char* DARLING_INIT_COMM = "darling-init"; 59 59 char *prefix; 60 60 uid_t g_originalUid, g_originalGid; 61 + bool g_fixPermissions = false; 61 62 char **g_argv, **g_envp; 62 63 char g_workingDirectory[4096]; 63 64 ··· 106 107 if (!checkPrefixDir()) 107 108 { 108 109 setupPrefix(); 110 + g_fixPermissions = true; 109 111 } 110 112 checkPrefixOwner(); 111 113 ··· 765 767 766 768 opts = (char*) malloc(strlen(prefix)*2 + sizeof(LIBEXEC_PATH) + 100); 767 769 768 - const char* opts_fmt = "lowerdir=%s,upperdir=%s,workdir=%s.workdir,nfs_export=on,uid=%d"; 770 + const char* opts_fmt = "lowerdir=%s,upperdir=%s,workdir=%s.workdir"; 769 771 770 - sprintf(opts, opts_fmt, LIBEXEC_PATH, prefix, prefix, g_originalUid); 772 + sprintf(opts, opts_fmt, LIBEXEC_PATH, prefix, prefix); 771 773 772 774 // Mount overlay onto our prefix 773 - if (mount("darling-overlay", prefix, "darling-overlay", 0, opts) != 0) 775 + if (mount("overlay", prefix, "overlay", 0, opts) != 0) 774 776 { 775 777 fprintf(stderr, "Cannot mount overlay: %s\n", strerror(errno)); 776 778 exit(1); 777 779 } 778 780 779 781 free(opts); 782 + 783 + // This is executed once at prefix creation 784 + if (g_fixPermissions) 785 + fixDirectoryPermissions(prefix); 780 786 781 787 snprintf(putOld, sizeof(putOld), "%s/proc", prefix); 782 788