diff --git a/src/basic/virt.c b/src/basic/virt.c index 7d78a402b3..33d7106c0e 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -517,7 +517,7 @@ int detect_container(void) { */ e = getenv("container"); if (!e) - goto check_sched; + goto none; if (isempty(e)) { r = VIRTUALIZATION_NONE; goto finish; @@ -545,24 +545,7 @@ int detect_container(void) { if (r < 0) /* This only works if we have CAP_SYS_PTRACE, hence let's better ignore failures here */ log_debug_errno(r, "Failed to read $container of PID 1, ignoring: %m"); - /* Interestingly /proc/1/sched actually shows the host's PID for what we see as PID 1. If the PID - * shown there is not 1, we know we are in a PID namespace and hence a container. */ - check_sched: - r = read_one_line_file("/proc/1/sched", &m); - if (r >= 0) { - const char *t; - - t = strrchr(m, '('); - if (!t) - return -EIO; - - if (!startswith(t, "(1,")) { - r = VIRTUALIZATION_CONTAINER_OTHER; - goto finish; - } - } else if (r != -ENOENT) - return r; - +none: /* If that didn't work, give up, assume no container manager. */ r = VIRTUALIZATION_NONE; goto finish;