On Mon May 27 23:57:31 2024 +0000, Nikolay Sivov wrote:
This should forward to an actual syscall, instead of having stubs in both places.
It's worth noting that we already have multiple `STATUS_SUCCESS`-returning WoW64 stubs:
- `wow64_NtSetInformationProcess(ProcessInstrumentationCallback)`, at dlls/wow64/process.c:896 ([gitlab][gitlab-sip], [cgit][cgit-sip]) - `wow64_NtQueryMultipleValueKey`, at dlls/wow64/registry.c:364 ([gitlab][gitlab-mvk], [cgit][cgit-mvk]) - `wow64_NtCreateLowBoxToken`, at dlls/wow64/security.c:134 ([gitlab][gitlab-clbt], [cgit][cgit-clbt]) - `wow64_NtSetInformationJobObject(JobObjectBasicUIRestrictions)`, at dlls/wow64/sync.c:1331 ([gitlab][gitlab-sijo], [cgit][cgit-sijo])
A possible concern is that someone might introduce inconsistency in the future, by forgetting to update the WoW64 stub when the syscall itself is implemented.
Fortunately, I'm optimistic that we'll start testing wow64 regularly before it becomes the new default, so maybe we just need a test in `advapi32:security` to catch such oversight leading to inconsistency.
(That said, many of the above need proper tests too.)
[gitlab-sip]: https://gitlab.winehq.org/wine/wine/-/blob/b210a204137dec8d2126ca909d762454fd47e963/dlls/wow64/process.c#L896-902 [cgit-sip]: https://source.winehq.org/git/wine.git/blob/b210a204137dec8d2126ca909d762454fd47e963:/dlls/wow64/process.c#l896 [gitlab-mvk]: https://gitlab.winehq.org/wine/wine/-/blob/b210a204137dec8d2126ca909d762454fd47e963/dlls/wow64/registry.c#L364-378 [cgit-mvk]: https://source.winehq.org/git/wine.git/blob/b210a204137dec8d2126ca909d762454fd47e963:/dlls/wow64/registry.c#l364 [gitlab-clbt]: https://gitlab.winehq.org/wine/wine/-/blob/b210a204137dec8d2126ca909d762454fd47e963/dlls/wow64/security.c#L134-154 [cgit-clbt]: https://source.winehq.org/git/wine.git/blob/b210a204137dec8d2126ca909d762454fd47e963:/dlls/wow64/security.c#l134 [gitlab-sijo]: https://gitlab.winehq.org/wine/wine/-/blob/b210a204137dec8d2126ca909d762454fd47e963/dlls/wow64/sync.c#L1331-1333 [cgit-sijo]: https://source.winehq.org/git/wine.git/blob/b210a204137dec8d2126ca909d762454fd47e963:/dlls/wow64/sync.c#l1331