Ben Hillis
cff8b7211d
Refactor tests: use TAEF metadata for WSL version filtering
...
Cherry-pick WSL1/WSL2 test changes from 9c4dba91 (feature/wsl-for-apps).
Replace runtime WSL1_TEST_ONLY()/WSL2_TEST_ONLY() skip macros with
WSL1_TEST_METHOD()/WSL2_TEST_METHOD() TAEF metadata macros. This moves
version filtering to the test runner level via /select: queries, so
inapplicable tests are excluded entirely instead of appearing as skipped.
Updated files:
- test/windows/Common.h: New macros + removed old skip macros
- test/windows/*.cpp: Converted all test methods
- tools/test/run-tests.ps1: Auto-add /select: when no user filter
- cloudtest/TestGroup.xml.in: Add version filter to TAEF args
- test/README.md: Document new macros
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-09 13:35:28 -07:00
Ben Hillis
1a2ede7501
Mask console-getty.service to prevent multi-distro failures ( #13595 ) ( #14490 )
...
* Mask console-getty.service to prevent multi-distro failures (#13595 )
When multiple WSL distros run concurrently, /dev/tty devices are shared
at the VM level. The second distro's console-getty.service fails because
the tty is already held by the first, causing systemd to report failed
units and triggering user@UID.service failures.
Mask console-getty.service during WSL systemd unit generation, similar
to the existing masking of networkd-wait-online. This service provides
no value in WSL since users don't connect to the underlying tty.
Fixes #13595
* format source
* pr feedback
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-04-09 13:32:11 -07:00
Ben Hillis
bf759a092b
Revert "test: enable virtiofs tests and enable WSLG during testing ( #14387 )" ( #14538 )
...
* Revert "test: enable virtiofs tests and enable WSLG during testing (#14387 )"
* enable wslg for SystemdNoClearTmpUnit test
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-03-26 17:50:31 -07:00
Feng Wang
83d59d4b4a
Fix: Fail and warn the user when --uninstall is given parameters ( #14524 )
...
Fail and warn the user when --uninstall is given parameters.
2026-03-25 13:08:56 +08:00
Ben Hillis
dd88ff737c
test: Add arm64 test distro support ( #14500 )
...
* test: Add arm64 test distro support
* update unit test baseline
* more test baseline updates
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-03-23 11:20:03 -07:00
Feng Wang
61e6b9aa86
Fix wsl stuck when misconfigured cifs mount presents ( #14466 )
...
* detach terminal before running mount -a
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* use _exit on error before execv in child process to avoid unintentional resource release
* Add regression test
* Fix clang format issue
* fix all clang format issue
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* resolve ai comments
* move test to unit test
* Fix string literal
* Overwrite fstab to resolve pipeline missing file issue
---------
Co-authored-by: Feng Wang <wangfen@microsoft.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-20 12:45:46 -07:00
Ben Hillis
d7ff5b9631
Refactor: trim unnecessary DLL deps from COMMON_LINK_LIBRARIES ( #14426 )
...
* Refactor: trim unnecessary DLL deps from COMMON_LINK_LIBRARIES
- Split MSI/Wintrust install functions from wslutil.cpp into install.cpp
- Remove MI.lib, wsldeps.lib, msi.lib, Wintrust.lib, computecore.lib,
computenetwork.lib, Iphlpapi.lib from COMMON_LINK_LIBRARIES
- Add per-target MSI_LINK_LIBRARIES, HCS_LINK_LIBRARIES, SERVICE_LINK_LIBRARIES
- Delay-load msi.dll and WINTRUST.dll for wsl.exe and wslg.exe
- Result: wslhost, wslrelay, wslcsdk, testplugin lose msi/wintrust startup imports;
wsl.exe and wslg.exe defer msi/wintrust loading until actually needed;
wslservice is the only target that imports computecore/computenetwork/Iphlpapi
* minor fixes to install.cpp that were caught during PR
* move to wsl::windows::common::install namespace
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-03-19 12:45:58 -07:00
Ben Hillis
3167b72018
test: enable virtiofs tests and enable WSLG during testing ( #14387 )
...
* test: enable virtiofs tests and enable WSLG during testing
* test fix
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-03-10 12:34:56 -07:00
Ben Hillis
8c220dc083
Fix grammar, typos, and formatting in docs and source ( #14286 )
...
* Fix localization text, Intune capitalization, ADMX indentation, unused import
- distributions/validate.py: Remove unused 'import base64'
- en-US/en-GB Resources.resw: Fix word order 'the list distribution' -> 'the distribution list' in MessageCouldFetchDistributionList
- en-US/en-GB Resources.resw: Remove trailing space from MessageCorruptedDistroRegistration value
- intune/en-US/WSL.adml: Fix 'For Linux' -> 'for Linux' capitalization (5 occurrences) to match official product name
- intune/WSL.admx: Fix inconsistent 3-space indent to 4-space on AllowWSL1 and CustomKernelUserSettingConfigurable policies
* Fix grammar, typos, and formatting in docs and source code
- WmiService.h: Fix duplicated word 'of of' -> 'is of' in WQL comment
- drvfs.md: Fix 'which tell' -> 'which tells' (subject-verb agreement), double space, second 'tell' -> 'tells'
- systemd.md: Fix 'tries synchronizes' -> 'tries to synchronize'
- wslhost.exe.md: Fix 'processes terminates' -> 'process terminates'
- boot-process.md: Add missing 'in' preposition, fix C:/ -> C:\, fix lowercase 'linux' to 'Linux' (4 occurrences), fix misplaced parenthesis
- init.md: Fix double space before hvsocket backtick
- session-leader.md: Fix heading level ## -> ### to match sibling section
- CONTRIBUTING.md: Fix double period after bold security notice
- debugging.md: Fix missing word 'be' in 'can enabled', fix 'process' -> 'processes'
- index.md: Add missing period at end of sentence
- technical-documentation/index.md: Fix 'API's' -> 'APIs' (remove incorrect apostrophe)
- relay.md: Fix lowercase 'linux' to 'Linux' (3 occurrences)
- localhost.md: Fix lowercase 'linux' to 'Linux'
- plan9.md: Fix lowercase 'linux' to 'Linux'
* update errormessages testcase
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-03-03 18:13:59 -08:00
Dimitris Chatzis
cb35b511cc
Mask NetworkManager-wait-online.service during boot ( #14272 )
...
* Mask NetworkManager-wait-online.service during boot
Fixes #13772 . Similar to PR #13611 , this masks NetworkManager-wait-online.service to prevent 60-second timeouts during boot since WSL interfaces are unmanaged by NetworkManager. Also added the service to the discouraged units list in validate-modern.py and added a unit test.
* Addressed Copilot feedback
* Fix
2026-02-25 17:39:56 -08:00
Ben Hillis
4096e6d77d
virtiofs: add support for mounting directories (not just full volumes) ( #14073 )
...
* virtiofs: add support for mounting directories (not just full volumes)
* disable virtiofs tests for now
* spelling
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2026-01-29 09:16:54 -08:00
Ben Hillis
d0609393e4
[GH 13837] Remove trailing slash from $XDG_RUNTIME_DIR ( #13929 )
...
* [GH 13837] Remove trailing slash from $XDG_RUNTIME_DIR
* pr feedback
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-12-16 18:52:15 -08:00
Ben Hillis
f02f8ef91c
cleanup: remove duplicate AppId registration for wsldevicehost.dll ( #13928 )
...
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-12-16 16:30:46 -08:00
Ben Hillis
180d811099
Resolve issue with config file writing sections outside of their expected header. ( #13898 )
...
* Resolve issue with config file writing sections outside of their expected header.
* add more writewslconfig variations
* formatting
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-12-15 13:03:02 -08:00
Ben Hillis
66904342a5
cleanup: switch from Microsoft::WRL::ComPtr to wil::com_ptr ( #13767 )
...
* cleanup: switch from Microsoft::WRL::ComPtr to wil::com_ptr
* reformat
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-11-24 12:47:22 -08:00
Blue
f75997128d
Mask systemd-networkd-wait-online.service during boot ( #13611 )
2025-11-20 09:23:12 -08:00
Ben Hillis
b73897e88a
build: fix minor compiler errors when building with VS2026 ( #13744 )
...
* build: fix minor compiler errors when building with VS2026
* s
* use VS2022 for clang format and cross compiling
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-11-19 15:35:49 -08:00
Ben Hillis
9e9ef6f145
Fix edge cases around .vhd support ( #13061 )
...
* Fix edge cases around .vhd support
* PR feedback
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* pr feedback
* remove unneeded scope exit in unit test
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-21 17:00:47 -07:00
Blue
9f77522f64
Update the initramfs to set 755 permissions on /init ( #13567 )
2025-10-06 17:19:49 -07:00
Blue
9b5659d4b9
Respect the distribution manifest ordering when listing distributions ( #13561 )
...
* Respect the distribution manifest ordering when listing distributions
* Fix test
* Update test/windows/UnitTests.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-06 12:42:32 -07:00
Blue
d4e64b658f
Add more verbose output to bsdtar to help root cause 'ImportExportStdout' test failures ( #13555 )
2025-10-03 17:37:40 -07:00
Blue
65eea7b31c
Introduce a new wsl.conf config value to allow distributions to opt-in to cgroupv1 mounts ( #13546 )
...
* Introduce a new wsl.conf config value to allow distributions to opt-in to cgroupv1 mounts
* Add test coverage
* Fix tmpfs on wsl1
---------
Co-authored-by: Ben Hillis <benhillis@gmail.com >
2025-10-02 23:36:12 -04:00
Blue
8313d50f2e
Introduce a new kernel command line argument to collect hvsocket event logs during boot ( #13537 )
...
* Introduce a new kernel command line argument to collect hvsocket event logs during boot
* Cleanup diff
* unset env
* Add test coverage
* Fix format
* Remove prefix
2025-10-01 15:35:49 -07:00
Copilot
17bd3716b4
Remove hardcoded --cd ~ from WSL terminal fragment profiles to support Terminal's startingDirectory ( #13350 )
...
* Initial plan
* Fix WSL terminal fragment profiles to support Terminal's startingDirectory
Co-authored-by: benhillis <17727402+benhillis@users.noreply.github.com >
* clang format
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: benhillis <17727402+benhillis@users.noreply.github.com >
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-08-11 14:08:39 -07:00
Ben Hillis
642331364d
Switch wslinfo --vm-id to not rely on presence of VM ID environment variable ( #13318 )
...
* Switch WSLg to use wslinfo --vm-id instead of relying on environment variable
* DO NOT MERGE: bad WSLg nuget
* dead code removal
* always send response to LxInitMessageQueryVmId message
* add back invalid WslInfoMode error
* remove unneeded wsl2 check
* use temporary workaround until WSLg update is ready
* unit test update
* Update string compare
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-05 14:36:10 -07:00
Blue
bba5af9aea
Fix the 'WriteWslConfig' test case to reset .wslconfig when done ( #13305 )
...
* Save state
* Fix the tests
2025-07-29 15:35:35 -07:00
Josh Soref
6d18bf5074
Spelling ( #13289 )
...
* link: report them to the Microsoft Security Response Center (MSRC)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* link: Microsoft Security Response Center
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: , or
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: adapters
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: at
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: attaching them to the bug, please send them to wsl-gh-logs@microsoft.com with the github issue number in the subject, and include a link to your github issue comment in the message body.
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: disk
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: effect
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: for the file
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: for the mount to be available
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: grandchild
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: last pid
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: nonexistent
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: on which the...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: path
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: pseudo
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: script
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: service, the
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: session
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: strip
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: that a
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: that the
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: the first one we find in the test
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: to which
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: waitpid
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: whether
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: while the relay was being set up,
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: with an
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: without specifying
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
---------
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
Co-authored-by: Ben Hillis <benhillis@gmail.com >
2025-07-29 11:24:39 -07:00
Josh Soref
abce91d14b
Spelling ( #12954 )
...
* link: Collect WSL logs (recommended method)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* link: Advanced Authoring Tests in C++
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* link: CMake Documentation and Community
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* link: Collect WSL logs for networking issues
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* link: Collect WSL logs (recommended method)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: ; otherwise,
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: a
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: access
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: accessible
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: across
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: actively
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: adapters
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: address
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: addresses
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: and
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: appropriate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: argument
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: associated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: attach
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: available
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: beginning
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: between
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: binaries
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: bound
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: buffer
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: buffers
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: cannot
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: canonical
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: capabilities
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: case-insensitive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: case-sensitive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: certified
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: command
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: committer
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: communication
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: complains
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: configuration
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: consumed
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: continue
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: converted
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: currently
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: customers
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: daemon
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: deferred
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: definitions
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: delimiter
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: delivered
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: dellink
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: derived
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: descriptor
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: destined
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: destruct
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: destructible
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: destructor
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: detach
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: differentiate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: directories
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: disassociate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: disposition
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: distribution
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: distro
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: duping
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: emitted
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: empty
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: environment
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: every time
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: exclusive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: expected
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: expire
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: explicitly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: fall back
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: false
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: fastfail
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: filesystem
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: first
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: followed
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: for
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: functionality
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: functionally
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: github
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: greater
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: guarantee
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: guaranteed
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: handles
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: hangup
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: hierarchy
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: hogwarts
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: hydrated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: icrnl
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: implementation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: implementing
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: initialize
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: instance
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: instantiate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: instantiations
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: intentionally
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: interpret
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: interpreter
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: irreversibly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: iteration
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: iterator
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: its
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: kernel
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: kmsg
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: knowledge
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: maximum
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: mirrored
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: msftconnecttest
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: multi
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: multiple
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: mutable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: namespace
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: nonexistent
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: notifications
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: occurred
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: occurring
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: otherwise,
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: outstanding
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: overridden
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: partition
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: pass through
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: passthrough
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: performs
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: periodically
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: positional
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: precedence
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: preexisting
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: preferring
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: prepopulate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: previous
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: privileges
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: process
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: processes
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: programmatically
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: protection
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: provided
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: reasonable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: receive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: received
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: red hat
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: reentrant
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: registered
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: regularly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: relay
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: release
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: representing
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: requests
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: response
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: resurrect
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: retention
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: returned
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: security
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: semaphore
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: separate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: separator
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: service
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: set up
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: setup
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: severely
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: should
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: signal
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: similarly
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: simple
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: simplified
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: single
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: specified
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: splitting
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: standard
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: stress
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: succeed
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: success
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: successfully
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: supplementary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: synced
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: system
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: take
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: than
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: that opening
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: the
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: threadpool
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: to
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: true
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: truncate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: tunneling
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: unexpected
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: uninitialize
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: unique
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: unprivileged
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: unregistered
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: untrusted
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: upgrade
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: utility
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: validating
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: variant
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: variation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: variations
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: verify
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: visible
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: whether
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: winget
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: worker
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: written
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* spelling: wslservice
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
* format source
---------
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
Co-authored-by: Ben Hillis <benhillis@gmail.com >
Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com >
2025-07-23 15:19:00 -07:00
Craig Gumbley
4547e2a6f2
Expose the VM ID inside user distros ( #13212 )
...
* Add --vm-id to wslinfo usage string
* Pass the VM id to init
This change ensures that we pass the vm id to an
instances init. The id is then set as an environment
variable and can be accessed at runtime.
* Expose VM id to wslinfo
Add a new argument --vm-id to wslinfo so that
the caller can retrieve the VM id by calling the
binary.
Although it is an environment variable, it can be useful
here too to save additional string parsing from the caller.
2025-07-03 17:30:47 -07:00
Blue
c1d6ad1d15
Don't display a warning when the binfmt process doesn't have a controlling terminal ( #13176 )
2025-06-23 16:24:10 -07:00
Blue
407bfda099
Don't throw when unregistering a distro that has a BasePath that doesn't exist ( #13130 )
2025-06-17 15:23:31 -07:00
Blue
c3f59f8b12
Don't try to create invalid file names if the distribution download url contains parameters ( #13109 )
2025-06-13 17:21:28 -07:00
Blue
02ca6d3d2d
Fix various issues with systemd user sessions ( #13101 )
...
* Save state
* Save state
* Add test coverage
* Remove useless condition
* Update localized strings
* Update test distro
2025-06-13 16:31:57 -07:00
Blue
5fd4ffb064
Discard BOM header when parsing the Windows 'hosts' file ( #13079 )
...
* Discard BOM header when parsing the Windows 'hosts' file
* Cleanup after tests
* Format
2025-06-10 15:04:32 -07:00
Blue
456b68125f
Correctly report corrupted disks when mount() fails with EUCLEAN ( #13078 )
2025-06-10 11:08:01 -07:00
Blue
63d1396714
Don't use a \\?\ prefix when resolving the distribution location ( #13080 )
2025-06-10 11:07:31 -07:00
Blue
9144c17073
Don't try to download a new distribution if the name is already in use ( #13046 )
2025-06-04 11:59:10 -07:00
Blue
e881324551
Make the post import distribution checks less strict ( #13036 )
...
* Make the post import distribution checks less strict
* Use /etc
* Update comment
* Explicitely create /etc/wsl.conf
2025-06-03 15:49:40 -07:00
Blue
9cd3438a2f
Solve test failures caused by the SKU changes ( #13016 )
...
* Debug the tests
* Debug the tests
* Debug the tests
* Use explicit directory
* Remove debug print
* Remove debug print
* Open handle directly
* Revert "Open handle directly"
This reverts commit 49ec490af6 .
* Open handle directly
2025-05-30 17:40:43 -07:00
WSL Team
697572d664
Initial open source commit for WSL.
...
Many Microsoft employees have contributed to the Windows Subsystem for Linux, this commit is the result of their work since 2016.
The entire history of the Windows Subsystem for Linux can't be shared here, but here's an overview of WSL's history after it moved to it own repository in 2021:
Number of commits on the main branch: 2930
Number of contributors: 31
Head over https://github.com/microsoft/WSL/releases for a more detailed history of the features added to WSL since 2021.
2025-05-15 12:09:45 -07:00