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