diff options
Diffstat (limited to '')
-rw-r--r-- | templates/man2/ioctl_userfaultfd.2.pot | 1769 |
1 files changed, 1769 insertions, 0 deletions
diff --git a/templates/man2/ioctl_userfaultfd.2.pot b/templates/man2/ioctl_userfaultfd.2.pot new file mode 100644 index 00000000..c99b8bae --- /dev/null +++ b/templates/man2/ioctl_userfaultfd.2.pot @@ -0,0 +1,1769 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 16:59+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ioctl_userfaultfd" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"ioctl_userfaultfd - create a file descriptor for handling page faults in " +"user space" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<#include E<lt>linux/userfaultfd.hE<gt>> /* Definition of B<UFFD*> constants */\n" +"B<#include E<lt>sys/ioctl.hE<gt>>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<int ioctl(int >I<fd>B<, int >I<cmd>B<, ...);>\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Various B<ioctl>(2) operations can be performed on a userfaultfd object " +"(created by a call to B<userfaultfd>(2)) using calls of the form:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ioctl(fd, cmd, argp);\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the above, I<fd> is a file descriptor referring to a userfaultfd object, " +"I<cmd> is one of the commands listed below, and I<argp> is a pointer to a " +"data structure that is specific to I<cmd>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The various B<ioctl>(2) operations are described below. The B<UFFDIO_API>, " +"B<UFFDIO_REGISTER>, and B<UFFDIO_UNREGISTER> operations are used to " +"I<configure> userfaultfd behavior. These operations allow the caller to " +"choose what features will be enabled and what kinds of events will be " +"delivered to the application. The remaining operations are I<range> " +"operations. These operations enable the calling application to resolve page-" +"fault events." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_API" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Enable operation of the userfaultfd and perform API " +"handshake." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_api> structure, defined as:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_api {\n" +" __u64 api; /* Requested API version (input) */\n" +" __u64 features; /* Requested features (input/output) */\n" +" __u64 ioctls; /* Available ioctl() operations (output) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The I<api> field denotes the API version requested by the application. The " +"kernel verifies that it can support the requested API version, and sets the " +"I<features> and I<ioctls> fields to bit masks representing all the available " +"features and the generic B<ioctl>(2) operations available." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Since Linux 4.11, applications should use the I<features> field to perform a " +"two-step handshake. First, B<UFFDIO_API> is called with the I<features> " +"field set to zero. The kernel responds by setting all supported feature " +"bits." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"Applications which do not require any specific features can begin using the " +"userfaultfd immediately. Applications which do need specific features " +"should call B<UFFDIO_API> again with a subset of the reported feature bits " +"set to enable those features." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 4.11, the I<features> field must be initialized to zero before " +"the call to B<UFFDIO_API>, and zero (i.e., no feature bits) is placed in the " +"I<features> field by the kernel upon return from B<ioctl>(2)." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If the application sets unsupported feature bits, the kernel will zero out " +"the returned I<uffdio_api> structure and return B<EINVAL>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following feature bits may be set:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_EVENT_FORK> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When this feature is enabled, the userfaultfd objects associated with a " +"parent process are duplicated into the child process during B<fork>(2) and " +"a B<UFFD_EVENT_FORK> event is delivered to the userfaultfd monitor" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_EVENT_REMAP> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature is enabled, when the faulting process invokes B<mremap>(2), " +"the userfaultfd monitor will receive an event of type B<UFFD_EVENT_REMAP>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_EVENT_REMOVE> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature is enabled, when the faulting process calls B<madvise>(2) " +"with the B<MADV_DONTNEED> or B<MADV_REMOVE> advice value to free a virtual " +"memory area the userfaultfd monitor will receive an event of type " +"B<UFFD_EVENT_REMOVE>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_EVENT_UNMAP> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature is enabled, when the faulting process unmaps virtual memory " +"either explicitly with B<munmap>(2), or implicitly during either B<mmap>(2) " +"or B<mremap>(2), the userfaultfd monitor will receive an event of type " +"B<UFFD_EVENT_UNMAP>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_MISSING_HUGETLBFS> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, the kernel supports registering userfaultfd " +"ranges on hugetlbfs virtual memory areas" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_MISSING_SHMEM> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, the kernel supports registering userfaultfd " +"ranges on shared memory areas. This includes all kernel shared memory APIs: " +"System V shared memory, B<tmpfs>(5), shared mappings of I</dev/zero>, " +"B<mmap>(2) with the B<MAP_SHARED> flag set, B<memfd_create>(2), and so on." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_SIGBUS> (since Linux 4.14)" +msgstr "" + +#. commit 2d6d6f5a09a96cc1fec7ed992b825e05f64cb50e +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, no page-fault events (B<UFFD_EVENT_PAGEFAULT>) " +"will be delivered. Instead, a B<SIGBUS> signal will be sent to the faulting " +"process. Applications using this feature will not require the use of a " +"userfaultfd monitor for processing memory accesses to the regions registered " +"with userfaultfd." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_THREAD_ID> (since Linux 4.14)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, I<uffd_msg.pagefault.feat.ptid> will be set to " +"the faulted thread ID for each page-fault message." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFD_FEATURE_PAGEFAULT_FLAG_WP> (since Linux 5.10)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If this feature bit is set, userfaultfd supports write-protect faults for " +"anonymous memory. (Note that shmem / hugetlbfs support is indicated by a " +"separate feature.)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_MINOR_HUGETLBFS> (since Linux 5.13)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, the kernel supports registering userfaultfd " +"ranges in minor mode on hugetlbfs-backed memory areas." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_MINOR_SHMEM> (since Linux 5.14)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If this feature bit is set, the kernel supports registering userfaultfd " +"ranges in minor mode on shmem-backed memory areas." +msgstr "" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "B<UFFD_FEATURE_EXACT_ADDRESS> (since Linux 5.18)" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +msgid "" +"If this feature bit is set, I<uffd_msg.pagefault.address> will be set to the " +"exact page-fault address that was reported by the hardware, and will not " +"mask the offset within the page. Note that old Linux versions might " +"indicate the exact address as well, even though the feature bit is not set." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFD_FEATURE_WP_HUGETLBFS_SHMEM> (since Linux 5.19)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If this feature bit is set, userfaultfd supports write-protect faults for " +"hugetlbfs and shmem / tmpfs memory." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFD_FEATURE_WP_UNPOPULATED> (since Linux 6.4)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If this feature bit is set, the kernel will handle anonymous memory the same " +"way as file memory, by allowing the user to write-protect unpopulated page " +"table entries." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFD_FEATURE_POISON> (since Linux 6.6)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If this feature bit is set, the kernel supports resolving faults with the " +"B<UFFDIO_POISON> ioctl." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFD_FEATURE_WP_ASYNC> (since Linux 6.7)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"If this feature bit is set, the write protection faults would be " +"asynchronously resolved by the kernel." +msgstr "" + +#. FIXME This user-space API seems not fully polished. Why are there +#. not constants defined for each of the bit-mask values listed below? +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The returned I<ioctls> field can contain the following bits:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_API>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_API> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_REGISTER>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_REGISTER> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_UNREGISTER>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_UNREGISTER> operation is supported." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"This B<ioctl>(2) operation returns 0 on success. On error, -1 is returned " +"and I<errno> is set to indicate the error. If an error occurs, the kernel " +"may zero the provided I<uffdio_api> structure. The caller should treat its " +"contents as unspecified, and reinitialize it before re-attempting another " +"B<UFFDIO_API> call. Possible errors include:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<argp> refers to an address that is outside the calling process's " +"accessible address space." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +# #-#-#-#-# debian-bookworm: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# debian-unstable: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# opensuse-leap-15-6: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# opensuse-tumbleweed: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +# +#. #-#-#-#-# archlinux: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-bookworm: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. FIXME In the above error case, the returned 'uffdio_api' structure is +#. zeroed out. Why is this done? This should be explained in the manual page. +#. Mike Rapoport: +#. In my understanding the uffdio_api +#. structure is zeroed to allow the caller +#. to distinguish the reasons for -EINVAL. +#. type: Plain text +#. #-#-#-#-# debian-unstable: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. FIXME In the above error case, the returned 'uffdio_api' structure is +#. zeroed out. Why is this done? This should be explained in the manual page. +#. Mike Rapoport: +#. In my understanding the uffdio_api +#. structure is zeroed to allow the caller +#. to distinguish the reasons for -EINVAL. +#. type: Plain text +#. #-#-#-#-# fedora-40: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. FIXME In the above error case, the returned 'uffdio_api' structure is +#. zeroed out. Why is this done? This should be explained in the manual page. +#. Mike Rapoport: +#. In my understanding the uffdio_api +#. structure is zeroed to allow the caller +#. to distinguish the reasons for -EINVAL. +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: ioctl_userfaultfd.2.pot (PACKAGE VERSION) #-#-#-#-# +#. FIXME In the above error case, the returned 'uffdio_api' structure is +#. zeroed out. Why is this done? This should be explained in the manual page. +#. Mike Rapoport: +#. In my understanding the uffdio_api +#. structure is zeroed to allow the caller +#. to distinguish the reasons for -EINVAL. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The API version requested in the I<api> field is not supported by this " +"kernel, or the I<features> field passed to the kernel includes feature bits " +"that are not supported by the current kernel version." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"A previous B<UFFDIO_API> call already enabled one or more features for this " +"userfaultfd. Calling B<UFFDIO_API> twice, the first time with no features " +"set, is explicitly allowed as per the two-step feature detection handshake." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<EPERM>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The B<UFFD_FEATURE_EVENT_FORK> feature was enabled, but the calling process " +"doesn't have the B<CAP_SYS_PTRACE> capability." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_REGISTER" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"(Since Linux 4.3.) Register a memory address range with the userfaultfd " +"object. The pages in the range must be \\[lq]compatible\\[rq]. Please " +"refer to the list of register modes below for the compatible memory backends " +"for each mode." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_register> structure, defined " +"as:" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_range {\n" +" __u64 start; /* Start of range */\n" +" __u64 len; /* Length of range (bytes) */\n" +"};\n" +"\\&\n" +"struct uffdio_register {\n" +" struct uffdio_range range;\n" +" __u64 mode; /* Desired mode of operation (input) */\n" +" __u64 ioctls; /* Available ioctl() operations (output) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<range> field defines a memory range starting at I<start> and " +"continuing for I<len> bytes that should be handled by the userfaultfd." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<mode> field defines the mode of operation desired for this memory " +"region. The following values may be bitwise ORed to set the userfaultfd " +"mode for the specified range:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_REGISTER_MODE_MISSING>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Track page faults on missing pages. Since Linux 4.3, only private anonymous " +"ranges are compatible. Since Linux 4.11, hugetlbfs and shared memory ranges " +"are also compatible." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_REGISTER_MODE_WP>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Track page faults on write-protected pages. Since Linux 5.7, only private " +"anonymous ranges are compatible." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_REGISTER_MODE_MINOR>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Track minor page faults. Since Linux 5.13, only hugetlbfs ranges are " +"compatible. Since Linux 5.14, compatibility with shmem ranges was added." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the operation is successful, the kernel modifies the I<ioctls> bit-mask " +"field to indicate which B<ioctl>(2) operations are available for the " +"specified range. This returned bit mask can contain the following bits:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_COPY>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_COPY> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_WAKE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_WAKE> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_WRITEPROTECT>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "The B<UFFDIO_WRITEPROTECT> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_ZEROPAGE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_ZEROPAGE> operation is supported." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_CONTINUE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_CONTINUE> operation is supported." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<1 E<lt>E<lt> _UFFDIO_POISON>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "The B<UFFDIO_POISON> operation is supported." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This B<ioctl>(2) operation returns 0 on success. On error, -1 is returned " +"and I<errno> is set to indicate the error. Possible errors include:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBUSY>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A mapping in the specified range is registered with another userfaultfd " +"object." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An invalid or unsupported bit was specified in the I<mode> field; or the " +"I<mode> field was zero." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There is no mapping in the specified address range." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<range.start> or I<range.len> is not a multiple of the system page size; " +"or, I<range.len> is zero; or these fields are otherwise invalid." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There as an incompatible mapping in the specified address range." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_UNREGISTER" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"(Since Linux 4.3.) Unregister a memory address range from userfaultfd. The " +"pages in the range must be \\[lq]compatible\\[rq] (see the description of " +"B<UFFDIO_REGISTER>.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The address range to unregister is specified in the I<uffdio_range> " +"structure pointed to by I<argp>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Either the I<start> or the I<len> field of the I<ufdio_range> structure was " +"not a multiple of the system page size; or the I<len> field was zero; or " +"these fields were otherwise invalid." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There was no mapping in the specified address range." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_COPY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Atomically copy a continuous memory chunk into the " +"userfault registered range and optionally wake up the blocked thread. The " +"source and destination addresses and the number of bytes to copy are " +"specified by the I<src>, I<dst>, and I<len> fields of the I<uffdio_copy> " +"structure pointed to by I<argp>:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_copy {\n" +" __u64 dst; /* Destination of copy */\n" +" __u64 src; /* Source of copy */\n" +" __u64 len; /* Number of bytes to copy */\n" +" __u64 mode; /* Flags controlling behavior of copy */\n" +" __s64 copy; /* Number of bytes copied, or negated error */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following value may be bitwise ORed in I<mode> to change the behavior of " +"the B<UFFDIO_COPY> operation:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_COPY_MODE_DONTWAKE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Do not wake up the thread that waits for page-fault resolution" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_COPY_MODE_WP>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Copy the page with read-only permission. This allows the user to trap the " +"next write to the page, which will block and generate another write-protect " +"userfault message. This is used only when both " +"B<UFFDIO_REGISTER_MODE_MISSING> and B<UFFDIO_REGISTER_MODE_WP> modes are " +"enabled for the registered range." +msgstr "" + +#. FIXME Above: Why is the 'copy' field used to return error values? +#. This should be explained in the manual page. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<copy> field is used by the kernel to return the number of bytes that " +"was actually copied, or an error (a negated I<errno>-style value). If the " +"value returned in I<copy> doesn't match the value that was specified in " +"I<len>, the operation fails with the error B<EAGAIN>. The I<copy> field is " +"output-only; it is not read by the B<UFFDIO_COPY> operation." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This B<ioctl>(2) operation returns 0 on success. In this case, the entire " +"area was copied. On error, -1 is returned and I<errno> is set to indicate " +"the error. Possible errors include:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAGAIN>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The number of bytes copied (i.e., the value returned in the I<copy> field) " +"does not equal the value that was specified in the I<len> field." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Either I<dst> or I<len> was not a multiple of the system page size, or the " +"range specified by I<src> and I<len> or I<dst> and I<len> was invalid." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An invalid bit was specified in the I<mode> field." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOENT> (since Linux 4.11)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The faulting process has changed its virtual memory layout simultaneously " +"with an outstanding B<UFFDIO_COPY> operation." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOSPC> (from Linux 4.11 until Linux 4.13)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The faulting process has exited at the time of a B<UFFDIO_COPY> operation." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ESRCH> (since Linux 4.13)" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_ZEROPAGE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Zero out a memory range registered with userfaultfd." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The requested range is specified by the I<range> field of the " +"I<uffdio_zeropage> structure pointed to by I<argp>:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_zeropage {\n" +" struct uffdio_range range;\n" +" __u64 mode; /* Flags controlling behavior of copy */\n" +" __s64 zeropage; /* Number of bytes zeroed, or negated error */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following value may be bitwise ORed in I<mode> to change the behavior of " +"the B<UFFDIO_ZEROPAGE> operation:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_ZEROPAGE_MODE_DONTWAKE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Do not wake up the thread that waits for page-fault resolution." +msgstr "" + +#. FIXME Why is the 'zeropage' field used to return error values? +#. This should be explained in the manual page. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<zeropage> field is used by the kernel to return the number of bytes " +"that was actually zeroed, or an error in the same manner as B<UFFDIO_COPY>. " +"If the value returned in the I<zeropage> field doesn't match the value that " +"was specified in I<range.len>, the operation fails with the error " +"B<EAGAIN>. The I<zeropage> field is output-only; it is not read by the " +"B<UFFDIO_ZEROPAGE> operation." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This B<ioctl>(2) operation returns 0 on success. In this case, the entire " +"area was zeroed. On error, -1 is returned and I<errno> is set to indicate " +"the error. Possible errors include:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The number of bytes zeroed (i.e., the value returned in the I<zeropage> " +"field) does not equal the value that was specified in the I<range.len> " +"field." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Either I<range.start> or I<range.len> was not a multiple of the system page " +"size; or I<range.len> was zero; or the range specified was invalid." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The faulting process has exited at the time of a B<UFFDIO_ZEROPAGE> " +"operation." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_WAKE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Wake up the thread waiting for page-fault resolution on " +"a specified memory address range." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<UFFDIO_WAKE> operation is used in conjunction with B<UFFDIO_COPY> and " +"B<UFFDIO_ZEROPAGE> operations that have the B<UFFDIO_COPY_MODE_DONTWAKE> or " +"B<UFFDIO_ZEROPAGE_MODE_DONTWAKE> bit set in the I<mode> field. The " +"userfault monitor can perform several B<UFFDIO_COPY> and B<UFFDIO_ZEROPAGE> " +"operations in a batch and then explicitly wake up the faulting thread using " +"B<UFFDIO_WAKE>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_range> structure (shown " +"above) that specifies the address range." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<start> or the I<len> field of the I<ufdio_range> structure was not a " +"multiple of the system page size; or I<len> was zero; or the specified range " +"was otherwise invalid." +msgstr "" + +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "UFFDIO_WRITEPROTECT" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"(Since Linux 5.7.) Write-protect or write-unprotect a userfaultfd-" +"registered memory range registered with mode B<UFFDIO_REGISTER_MODE_WP>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_range> structure as shown " +"below:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_writeprotect {\n" +" struct uffdio_range range; /* Range to change write permission*/\n" +" __u64 mode; /* Mode to change write permission */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There are two mode bits that are supported in this structure:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_WRITEPROTECT_MODE_WP>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When this mode bit is set, the ioctl will be a write-protect operation upon " +"the memory range specified by I<range>. Otherwise it will be a write-" +"unprotect operation upon the specified range, which can be used to resolve a " +"userfaultfd write-protect page fault." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_WRITEPROTECT_MODE_DONTWAKE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When this mode bit is set, do not wake up any thread that waits for page-" +"fault resolution after the operation. This can be specified only if " +"B<UFFDIO_WRITEPROTECT_MODE_WP> is not specified." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The process was interrupted; retry this call." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOENT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The range specified in I<range> is not valid. For example, the virtual " +"address does not exist, or not registered with userfaultfd write-protect " +"mode." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Encountered a generic fault during processing." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_CONTINUE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 5.13.) Resolve a minor page fault by installing page table " +"entries for existing pages in the page cache." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_continue> structure as shown " +"below:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct uffdio_continue {\n" +" struct uffdio_range range;\n" +" /* Range to install PTEs for and continue */\n" +" __u64 mode; /* Flags controlling the behavior of continue */\n" +" __s64 mapped; /* Number of bytes mapped, or negated error */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following value may be bitwise ORed in I<mode> to change the behavior of " +"the B<UFFDIO_CONTINUE> operation:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<UFFDIO_CONTINUE_MODE_DONTWAKE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<mapped> field is used by the kernel to return the number of bytes that " +"were actually mapped, or an error in the same manner as B<UFFDIO_COPY>. If " +"the value returned in the I<mapped> field doesn't match the value that was " +"specified in I<range.len>, the operation fails with the error B<EAGAIN>. " +"The I<mapped> field is output-only; it is not read by the B<UFFDIO_CONTINUE> " +"operation." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This B<ioctl>(2) operation returns 0 on success. In this case, the entire " +"area was mapped. On error, -1 is returned and I<errno> is set to indicate " +"the error. Possible errors include:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The number of bytes mapped (i.e., the value returned in the I<mapped> " +"field) does not equal the value that was specified in the I<range.len> " +"field." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EEXIST>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "One or more pages were already mapped in the given range." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "No existing page could be found in the page cache for the given range." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The faulting process has changed its virtual memory layout simultaneously " +"with an outstanding B<UFFDIO_CONTINUE> operation." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Allocating memory needed to setup the page table mappings failed." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ESRCH>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The faulting process has exited at the time of a B<UFFDIO_CONTINUE> " +"operation." +msgstr "" + +#. type: SS +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "UFFDIO_POISON" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"(Since Linux 6.6.) Mark an address range as \"poisoned\". Future accesses " +"to these addresses will raise a B<SIGBUS> signal. Unlike B<MADV_HWPOISON> " +"this works by installing page table entries, rather than \"really\" " +"poisoning the underlying physical pages. This means it only affects this " +"particular address space." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The I<argp> argument is a pointer to a I<uffdio_poison> structure as shown " +"below:" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "" +"struct uffdio_poison {\n" +"\tstruct uffdio_range range;\n" +"\t /* Range to install poison PTE markers in */\n" +"\t__u64 mode; /* Flags controlling the behavior of poison */\n" +"\t__s64 updated; /* Number of bytes poisoned, or negated error */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The following value may be bitwise ORed in I<mode> to change the behavior of " +"the B<UFFDIO_POISON> operation:" +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<UFFDIO_POISON_MODE_DONTWAKE>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The I<updated> field is used by the kernel to return the number of bytes " +"that were actually poisoned, or an error in the same manner as " +"B<UFFDIO_COPY>. If the value returned in the I<updated> field doesn't match " +"the value that was specified in I<range.len>, the operation fails with the " +"error B<EAGAIN>. The I<updated> field is output-only; it is not read by the " +"B<UFFDIO_POISON> operation." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"This B<ioctl>(2) operation returns 0 on success. In this case, the entire " +"area was poisoned. On error, -1 is returned and I<errno> is set to indicate " +"the error. Possible errors include:" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The number of bytes mapped (i.e., the value returned in the I<updated> " +"field) does not equal the value that was specified in the I<range.len> " +"field." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The faulting process has changed its virtual memory layout simultaneously " +"with an outstanding B<UFFDIO_POISON> operation." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "Allocating memory for page table entries failed." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The faulting process has exited at the time of a B<UFFDIO_POISON> operation." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See descriptions of the individual operations, above." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"See descriptions of the individual operations, above. In addition, the " +"following general errors can occur for all of the operations described above:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<argp> does not point to a valid memory address." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(For all operations except B<UFFDIO_API>.) The userfaultfd object has not " +"yet been enabled (via the B<UFFDIO_API> operation)." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In order to detect available userfault features and enable some subset of " +"those features the userfaultfd file descriptor must be closed after the " +"first B<UFFDIO_API> operation that queries features availability and " +"reopened before the second B<UFFDIO_API> operation that actually enables the " +"desired features." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See B<userfaultfd>(2)." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<ioctl>(2), B<mmap>(2), B<userfaultfd>(2)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<Documentation/admin-guide/mm/userfaultfd.rst> in the Linux kernel source " +"tree" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-15" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<api> field denotes the API version requested by the application." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The kernel verifies that it can support the requested API version, and sets " +"the I<features> and I<ioctls> fields to bit masks representing all the " +"available features and the generic B<ioctl>(2) operations available." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting from Linux 4.11, the I<features> field can be used to ask whether " +"particular features are supported and explicitly enable userfaultfd features " +"that are disabled by default. The kernel always reports all the available " +"features in the I<features> field." +msgstr "" + +#. FIXME add more details about feature negotiation and enablement +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"To enable userfaultfd features the application should set a bit " +"corresponding to each feature it wants to enable in the I<features> field. " +"If the kernel supports all the requested features it will enable them. " +"Otherwise it will zero out the returned I<uffdio_api> structure and return " +"B<EINVAL>." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The userfaultfd has already been enabled by a previous B<UFFDIO_API> " +"operation." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Register a memory address range with the userfaultfd " +"object. The pages in the range must be \"compatible\". Please refer to the " +"list of register modes below for the compatible memory backends for each " +"mode." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"struct uffdio_range {\n" +" __u64 start; /* Start of range */\n" +" __u64 len; /* Length of range (bytes) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"struct uffdio_register {\n" +" struct uffdio_range range;\n" +" __u64 mode; /* Desired mode of operation (input) */\n" +" __u64 ioctls; /* Available ioctl() operations (output) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<UFFDIO_WRITEPROTECT>" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 4.3.) Unregister a memory address range from userfaultfd. The " +"pages in the range must be \"compatible\" (see the description of " +"B<UFFDIO_REGISTER>.)" +msgstr "" + +#. type: SS +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "UFFDIO_WRITEPROTECT (Since Linux 5.7)" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Write-protect or write-unprotect a userfaultfd-registered memory range " +"registered with mode B<UFFDIO_REGISTER_MODE_WP>." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "These B<ioctl>(2) operations are Linux-specific." +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |