From a2f838d59075a49b012f9b7056664f7ffeed44d2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 3 Apr 2020 19:38:50 +0200 Subject: [PATCH] detect-virt: also detect "microsoft" as WSL From https://github.com/microsoft/WSL/issues/423#issuecomment-221627364: > it's unlikely we'll change it to something that doesn't contain "Microsoft" > or "WSL". ... but well, it happened. If they change it incompatibly w/o adding an stable detection mechanism, I think we should not add yet another detection method. But adding a different casing of "microsoft" is not a very big step, so let's do that. Follow-up for #11932. --- src/basic/virt.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/basic/virt.c b/src/basic/virt.c index 07831634da7..f567696265a 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -462,13 +462,14 @@ int detect_container(void) { goto finish; } - /* "Official" way of detecting WSL https://github.com/Microsoft/WSL/issues/423#issuecomment-221627364 */ + /* "Official" way of detecting WSL https://github.com/Microsoft/WSL/issues/423#issuecomment-221627364, + * ... and a working one, since the official one doesn't actually work ;( + */ r = read_one_line_file("/proc/sys/kernel/osrelease", &o); - if (r >= 0) { - if (strstr(o, "Microsoft") || strstr(o, "WSL")) { - r = VIRTUALIZATION_WSL; - goto finish; - } + if (r >= 0 && + (strstr(o, "Microsoft") || strstr(o, "microsoft") || strstr(o, "WSL"))) { + r = VIRTUALIZATION_WSL; + goto finish; } if (getpid_cached() == 1) { -- 2.39.2