Messages in this thread | | | Date | Tue, 18 Oct 2022 17:30:20 +0500 | Subject | Re: [PATCH v3 0/4] Implement IOCTL to get and clear soft dirty PTE | From | Muhammad Usama Anjum <> |
| |
On 10/18/22 3:48 PM, Greg KH wrote: > 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"? 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: Required mask - All of these bits have to be set * @amask: Any mask - Any of these bits are set * @emask: Exclude mask - None of these bits are set * @rmask: Bits that have to be reported to the user in page_region */ struct pagemap_scan_args { __u64 __user start; __u64 len; __u64 __user vec; __u64 vec_len; __u32 max_out_page; __u32 flags; __u32 rmask; __u32 amask; __u32 emask; __u32 rmask; };
> >> * @__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. I'll update.
> > thanks, > > greg k-h
| |