On Tue, Oct 18, 2022 at 03:36:24PM +0500, Muhammad Usama Anjum wrote:Sorry typo in the comments above. Optional flag can be specified in the flag. At the moment, there is only one flag(PAGEMAP_NO_REUSED_REGIONS).
/**
* 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"?
I'll update.
* @__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