diff --git a/daemon/spawn.c b/daemon/spawn.c index 3d5ea56..ab3274c 100644 --- a/daemon/spawn.c +++ b/daemon/spawn.c @@ -290,7 +290,16 @@ int spawn_mount(unsigned logopt, ...) va_start(arg, logopt); p = argv + 1; - while ((*p++ = va_arg(arg, char *))); + while ((*p = va_arg(arg, char *))) { + if (options == SPAWN_OPT_NONE && !strcmp(*p, "-o")) { + *(++p) = va_arg(arg, char *); + if (!*p) + break; + if (strstr(*p, "loop")) + options = SPAWN_OPT_ACCESS; + } + p++; + } va_end(arg); while (retries--) {