Rémi Bernon (@rbernon) commented about dlls/win32u/window.c:
if ((!(style & (WS_POPUP | WS_CHILD)) || ((style & (WS_POPUP | WS_CHILD | WS_CAPTION)) == (WS_POPUP | WS_CAPTION)))
&& first_window && !get_window_relative( hwnd, GW_OWNER ) && InterlockedExchange( &first_window, 0 ))
I think first_window should be read with ReadNoFence at least, at it's written through atomic ops.