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.