<div dir="ltr">Hi. I've found this:<br><span style="color:rgb(62,67,73);font-family:serif;font-size:medium"><br></span>Pointers are __u64, cast from/to a uintptr_t on the userspace side and from/to a void __user * in the kernel. Try really hard not to delay this conversion or worse, fiddle the raw __u64 through your code since that diminishes the checking tools like sparse can provide. The macro u64_to_user_ptr can be used in the kernel to avoid warnings about integers and pointers of different sizes.<br><br><a href="https://origin.kernel.org/doc/html/latest/process/botching-up-ioctls.html#:~:text=Pointers%20are%20__u64">https://origin.kernel.org/doc/html/latest/process/botching-up-ioctls.html#:~:text=Pointers%20are%20__u64</a> <span style="color:rgb(62,67,73);font-family:serif;font-size:medium"></span></div>