On Tue, Oct 18, 2022 at 03:36:24PM +0500, Muhammad Usama Anjum wrote: > /** > * struct pagemap_sd_args - Soft-dirty IOCTL argument > * @start: Starting address > * @len: Length of the region > * @vec: Output page_region struct array > * @vec_len: Length of the page_region struct array > * @max_out_page: Optional max output pages (It must be less than vec_len if > specified) > * @flags: Special flags for the IOCTL > * @rmask: Special flags for the IOCTL > * @amask: Special flags for the IOCTL > * @emask: Special flags for the IOCTL What do you mean exactly by "special flags"? > * @__reserved: Reserved member to preserve data alignment. Must be 0. > */ > struct pagemap_sd_args { > __u64 __user start; > __u64 len; > __u64 __user vec; // page_region __user is a marking for a pointer, not a u64, right? Now the fact that you treat it like a pointer later in the kernel is different, but that shouldn't be on the uapi header file. You can put it in the kerneldoc, which you did not do. thanks, greg k-h