On Thu Jan 30 21:29:04 2025 +0000, Elizabeth Figura wrote:
I mean that the `NtWaitForMultipleObjects()` call will always return
`STATUS_OBJECT_TYPE_MISMATCH` with a completion port object under ntsync because of the `no_get_inproc_sync` handler being used (the path goes like: `object->ops->get_fast_sync()` -> `get_linux_sync_obj()` -> (ntdll.so) `get_fast_sync_obj()` -> `fast_wait()`) It should never be possible for NtWaitForMultipleObjects() to be called with a completion_wait object. NtRemoveIoCompletion() uses server_wait_for_object(), and the wait handle is never exposed outside of that function.
The exact same code path seems to affect the Amazon Games app (it just closes when trying to open it with no obvious error messages)