X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmain.c;h=71e684b1bda9f34cb5889c41bc30ff7a683ea3eb;hp=ea2f0c1a9ecf3dc378257885ef96a86a34c7d86e;hb=6ee5bbf85ce18cf07269a674d96f3a1d0ec7bf6b;hpb=42bb3074fe9632d7aa0fee825ad30d2083c3c629 diff --git a/src/main.c b/src/main.c index ea2f0c1a9..71e684b1b 100644 --- a/src/main.c +++ b/src/main.c @@ -890,6 +890,24 @@ static struct dual_timestamp* parse_initrd_timestamp(struct dual_timestamp *t) { return t; } +static void test_mtab(void) { + char *p; + + if (readlink_malloc("/etc/mtab", &p) >= 0) { + bool b; + + b = streq(p, "/proc/self/mounts"); + free(p); + + if (b) + return; + } + + log_error("/etc/mtab is not a symlink or not pointing to /proc/self/mounts. " + "This is not supported anymore. " + "Please make sure to replace this file by a symlink to avoid incorrect or misleading mount(8) output."); +} + int main(int argc, char *argv[]) { Manager *m = NULL; int r, retval = EXIT_FAILURE; @@ -1048,6 +1066,8 @@ int main(int argc, char *argv[]) { loopback_setup(); mkdir_p("/dev/.systemd/ask-password/", 0755); + + test_mtab(); } if ((r = manager_new(arg_running_as, &m)) < 0) {