diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/memfd_create.2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/memfd_create.2')
| -rw-r--r-- | static/netbsd/man2/memfd_create.2 | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/static/netbsd/man2/memfd_create.2 b/static/netbsd/man2/memfd_create.2 new file mode 100644 index 00000000..7eb44812 --- /dev/null +++ b/static/netbsd/man2/memfd_create.2 @@ -0,0 +1,134 @@ +.\" $NetBSD: memfd_create.2,v 1.3 2025/11/15 19:03:37 gutteridge Exp $ +.\" +.\" Copyright (c) 2023 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Theodore Preduta. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd November 14, 2025 +.Dt MEMFD_CREATE 2 +.Os +.Sh NAME +.Nm memfd_create +.Nd create anonymous files +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn memfd_create "const char *name" "unsigned int flags" +.Sh DESCRIPTION +The +.Fn memfd_create +system call returns a file descriptor to a file named +.Fa name +backed only by RAM. +Initially, the size of the file is zero. +.Pp +The length of +.Fa name +must not exceed +.Dv NAME_MAX-6 +characters in length, to allow for the prefix +.Dq memfd: +to be added. +But since the file descriptor does not live on disk, +.Fa name +does not have to be unique. +.Fa name +is only intended to be used for debugging purposes and commands like +.Xr fstat 1 . +.Pp +Additionally, any of the following may be specified as the +.Fa flags : +.Bl -tag -width MFD_ALLOW_SEALING +.It Dv MFD_CLOEXEC +Set the +.Xr close 2 +on +.Xr exec 3 +flag. +.It Dv MFD_CLOFORK +Set the +.Xr close 2 +on +.Xr fork 2 +flag. +.It Dv MFD_ALLOW_SEALING +Allow adding seals to the file descriptor using the +.Xr fcntl 2 +.Dv F_ADD_SEALS +command. +.El +.Pp +Otherwise, the returned file descriptor behaves the same as a regular file, +including the ability to be mapped by +.Xr mmap 2 . +.Sh RETURN VALUES +If successful, the +.Fn memfd_create +system call returns a non-negative integer. +On failure -1 is returned and +.Fa errno +is set to indicate the error. +.Sh ERRORS +.Fn memfd_create +will fail if: +.Bl -tag -width Er +.It Bq Er EFAULT +The argument +.Fa name +is +.Dv NULL +or points to invalid memory. +.It Bq Er EINVAL +The argument +.Fa flags +has any bits set other than +.Dv MFD_CLOEXEC , +.Dv MFD_CLOFORK , +or +.Dv MFD_ALLOW_SEALING . +.It Bq Er ENAMETOOLONG +The length of +.Fa name +appended with the prefix +.Dq memfd: +would exceed +.Dv NAME_MAX . +.It Bq Er ENFILE +The system file table is full. +.El +.Sh SEE ALSO +.Xr fcntl 2 , +.Xr mmap 2 , +.Xr shmget 2 , +.Xr shm_open 3 +.Sh HISTORY +.Fn memfd_create +is compatible with the Linux system call of the same name that first appeared in +Linux 3.17. +It was added in +.Nx 11.0 . |
