Jinoh Kang (@iamahuman) commented about server/mapping.c:
if (root) release_object( root ); }
+static struct mapping *open_object_mapping( user_handle_t handle, struct unicode_str *name )
We have different types[^1] for USER[^u] and KERNEL[^k] handles. Since `get_handle_obj` accepts `obj_handle_t`, I believe this should be changed to: ```suggestion:-0+0 static struct mapping *open_object_mapping( obj_handle_t handle, struct unicode_str *name ) ``` [^1]: Currently the compiler is unable to catch handle type errors, since `obj_handle_t` and `user_handle_t` are both typedef aliases to `unsigned int`. This could use some improvement, though. [^u]: Documented in [User Objects](<https://learn.microsoft.com/en-us/windows/win32/sysinfo/user-objects>). USER handles are shared by all processes in the same session. Examples: HWND, HMENU, HACCEL, HCURSOR, HICON. [^k]: Documented in [Kernel Objects](<https://learn.microsoft.com/en-us/windows/win32/sysinfo/kernel-objects>). KERNEL handles are local to the process. Examples: HANDLE (for files, sections, processes, etc.), HDESK, HWINSTA. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3103#note_60686