Lines Matching +full:on +full:- +full:the +full:- +full:fly
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
20 * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and
22 * userfaultfd.h we assumed the kernel was reading (instead _IOC_READ
23 * means the userland is reading).
67 * 0x3F. UFFDIO_API is the fixed number, everything else can be
68 * changed by implementing a different UFFD_API. If sticking to the
70 * which ioctl the running kernel implements through the ioctl command
71 * bitmask written by the UFFDIO_API.
163 /* userland asks for an API number and the features to enable */
166 * Kernel answers below with the all available features for
167 * the API, this notifies userland of which events and/or
168 * which flags for each event are enabled in the current
173 * long as the uffdio_api.api requested matches UFFD_API.
176 * with UFFDIO_REGISTER_MODE_MISSING mode will succeed on
183 * 1) by adding UFFD_FEATURE_MISSING_HUGETLBFS to the
185 * will be returned by UFFDIO_API on a kernel without
188 * 2) the UFFD_FEATURE_MISSING_HUGETLBFS can not be added in
189 * uffdio_api.features and instead it will be set by the
190 * kernel in the uffdio_api.features if the kernel supports
191 * it, so userland can later check if the feature flag is
195 * UFFD_FEATURE_MISSING_SHMEM works the same as
199 * UFFD_FEATURE_SIGBUS feature means no page-fault
201 * a SIGBUS signal will be sent to the faulting process.
203 * UFFD_FEATURE_THREAD_ID pid of the page faulted task_struct will
208 * hugetlbfs-backed pages.
210 * UFFD_FEATURE_MINOR_SHMEM indicates the same support as
211 * UFFD_FEATURE_MINOR_HUGETLBFS, but for shmem-backed pages instead.
213 * UFFD_FEATURE_EXACT_ADDRESS indicates that the exact address of page
214 * faults would be provided and the offset within the page would not be
218 * write-protection mode is supported on both shmem and hugetlbfs.
221 * write-protection mode will always apply to unpopulated pages
222 * (i.e. empty ptes). This will be the default behavior for shmem
224 * when userfault write-protection mode is registered.
226 * UFFD_FEATURE_WP_ASYNC indicates that userfaultfd write-protection
227 * asynchronous mode is supported in which the write fault is
228 * automatically resolved and write-protection is un-set.
231 * UFFD_FEATURE_MOVE indicates that the kernel supports moving an
269 * kernel answers which ioctl commands are available for the
270 * range, keep at the end as the last 8 bytes aren't read.
281 * UFFDIO_COPY_MODE_WP will map the page write protected on
282 * the fly. UFFDIO_COPY_MODE_WP is available only if the
283 * write protected ioctl is implemented for the range
284 * according to the uffdio_register.ioctls.
290 * "copy" is written by the ioctl and must be at the end: the
291 * copy_from_user will not read the last 8 bytes.
302 * "zeropage" is written by the ioctl and must be at the end:
303 * the copy_from_user will not read the last 8 bytes.
311 * UFFDIO_WRITEPROTECT_MODE_WP: set the flag to write protect a range,
312 * unset the flag to undo protection of a range which was previously
315 * UFFDIO_WRITEPROTECT_MODE_DONTWAKE: set the flag to avoid waking up
316 * any wait thread after the operation succeeds.
320 * protection (WP=0) in response to a page fault wakes the faulting
332 * UFFDIO_CONTINUE_MODE_WP will map the page write protected on
333 * the fly. UFFDIO_CONTINUE_MODE_WP is available only if the
334 * write protected ioctl is implemented for the range
335 * according to the uffdio_register.ioctls.
341 * Fields below here are written by the ioctl and must be at the end:
342 * the copy_from_user will not read past here.
353 * Fields below here are written by the ioctl and must be at the end:
354 * the copy_from_user will not read past here.
364 * Especially if used to atomically remove memory from the
365 * address space the wake on the dst range is not needed.
371 * "move" is written by the ioctl and must be at the end: the
372 * copy_from_user will not read the last 8 bytes.
378 * Flags for the userfaultfd(2) system call itself.