aboutsummaryrefslogtreecommitdiffstats
path: root/man
AgeCommit message (Collapse)AuthorFilesLines
8 daysman/man3/getopt_long*.3: Split getopt_long_only() from getopt_long(3)HEADmasterAlejandro Colomar2-21/+61
Signed-off-by: Alejandro Colomar <alx@kernel.org>
8 daysman/man3/getopt_long.3: SYNOPSIS: Simplify feature test macroAlejandro Colomar1-11/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
8 daysman/man3/getopt*.3: Split getopt_long*() from getopt(3)Alejandro Colomar3-222/+265
Signed-off-by: Alejandro Colomar <alx@kernel.org>
8 daysman/man3/*s*printf.3: Split [v]sprintf() from snprintf(3)Alejandro Colomar3-80/+112
Signed-off-by: Alejandro Colomar <alx@kernel.org>
8 daysman/man3/*printf.3: Split *s*printf() from printf(3)Alejandro Colomar5-220/+327
Signed-off-by: Alejandro Colomar <alx@kernel.org>
10 daysman/man5/proc.5: Remove redundant paragraphAlejandro Colomar1-4/+0
We already reference the manual pages by name. Fixes: ba0d674b67d6 (2025-12-02; "man/man5/proc*.5: Add references to other proc*.5 pages") Signed-off-by: Alejandro Colomar <alx@kernel.org>
12 daysman/man2const/PR_SET_NAME.2const: SYNOPSIS: Fix prototypeAlejandro Colomar1-1/+1
The array may be narrower than that. Signed-off-by: Alejandro Colomar <alx@kernel.org>
12 daysman/man2const/PR_SET_NAME.2const: SYNOPSIS: tfixAlejandro Colomar1-2/+2
Fixes: a4fc95108363 (2024-05-31; "prctl.2, PR_[SG]ET_NAME.2const: Split PR_[SG]ET_NAME from prctl(2)") Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man5/proc*.5: Add references to other proc*.5 pagesAlejandro Colomar4-0/+253
Fixes: 0569afbbccd6 (2023-08-17; "proc*.5: Make sashimi") Reported-by: "Michael T. Kerrisk" <mtk.manpages@gmail.com> Reported-by: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_V6ONLY.2const: Tweak after splitAlejandro Colomar1-8/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_V6ONLY}.2const: Split IPV6_V6ONLY from ↵Alejandro Colomar2-18/+52
IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_UNICAST_HOPS.2const: Tweak after splitAlejandro Colomar1-5/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_UNICAST_HOPS}.2const: Split ↵Alejandro Colomar2-6/+40
IPV6_UNICAST_HOPS from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_ROUTER_ALERT.2const: Tweak after splitAlejandro Colomar1-8/+10
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_ROUTER_ALERT}.2const: Split ↵Alejandro Colomar2-15/+50
IPV6_ROUTER_ALERT from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_RECVERR.2const: Tweak after splitAlejandro Colomar1-7/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_RECVERR}.2const: Split IPV6_RECVERR from ↵Alejandro Colomar2-9/+46
IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_RTHDR.2const: Tweak after splitAlejandro Colomar1-9/+14
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_{AUTHHDR,DSTOPTS,HOPOPTS,FLOWINFO,HOPLIMIT}.2const: Add ↵Alejandro Colomar5-0/+5
link pages Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_RTHDR}.2const: Split ↵Alejandro Colomar2-27/+88
IPV6_{RTHDR,AUTHHDR,DSTOPTS,HOPOPTS,FLOWINFO,HOPLIMIT} from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_RECVPKTINFO.2const: Tweak after splitAlejandro Colomar1-3/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_RECVPKTINFO}.2const: Split IPV6_RECVPKTINFO ↵Alejandro Colomar2-14/+49
from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_MULTICAST_LOOP.2const: Tweak after splitAlejandro Colomar1-3/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_MULTICAST_LOOP}.2const: Split ↵Alejandro Colomar2-4/+40
IPV6_MULTICAST_LOOP from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_MULTICAST_IF.2const: Tweak after splitAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_MULTICAST_IF}.2const: Split ↵Alejandro Colomar2-12/+48
IPV6_MULTICAST_IF from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_MULTICAST_HOPS.2const: Tweak after splitAlejandro Colomar1-5/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_MULTICAST_HOPS}.2const: Split ↵Alejandro Colomar2-6/+42
IPV6_MULTICAST_HOPS from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_MTU_DISCOVER.2const: Tweak after splitAlejandro Colomar1-7/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_MTU_DISCOVER}.2const: Split ↵Alejandro Colomar2-8/+44
IPV6_MTU_DISCOVER from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_MTU.2const: Tweak after splitAlejandro Colomar1-4/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_MTU}.2const: Split IPV6_MTU from ↵Alejandro Colomar2-12/+48
IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_ADD_MEMBERSHIP.2const: Tweak after splitAlejandro Colomar1-5/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_DROP_MEMBERSHIP.2const: Add link pageAlejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_ADD_MEMBERSHIP}.2const: Split ↵Alejandro Colomar2-5/+49
IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP from IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IPV6_ADDRFORM.2const: Tweak after splitAlejandro Colomar1-4/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/{IPPROTO_IPV6,IPV6_ADDRFORM}.2const: Split IPV6_ADDRFORM from ↵Alejandro Colomar2-13/+45
IPPROTO_IPV6(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man7/ipv6.7, man/man2const/IPPROTO_IPV6.2const: Split IPPROTO_IPV6 from ↵Alejandro Colomar2-231/+271
ipv6(7) Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man3/strtol.3: Use _Maxof(3) and _Minof(3) instead of macros from <limits.h>Alejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man2const/IP_PKTINFO.2const: tfixAlejandro Colomar1-1/+1
Fixes: fea681dafb13 (2004-11-03, 2004-11-03; "Import of man-pages 1.70") Fixes: 9d1fd1157306 (1999-06-15, 2022-12-19; "man-pages 1.24") Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/: Fix and de-duplicate SO_PEERSEC(2const)Alejandro Colomar4-59/+21
- SO_PEERSEC is a SOL_SOCKET option, not an IPPROTO_IP one. - Its description was duplicated in both ip(7) --moved to SO_PEERSEC(2const)-- and unix(7). De-duplicate the texts. - It was listed in unix(7) as AF_UNIX-only, but it also works with AF_INET. Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man7/operator.7: Document _Maxof(3) and _Minof(3)Alejandro Colomar1-1/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man3/_Minof.3: Add link pageAlejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man3/_Maxof.3: Add pageAlejandro Colomar1-0/+51
Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man7/ip.7: Don't say that bind(INADDR_BROADCAST) is the same as ↵наб1-5/+0
bind(INADDR_ANY) Because it's patently not true: a program like #define _GNU_SOURCE #include <netinet/in.h> #include <netinet/udp.h> #include <stdbool.h> #include <stdcountof.h> #include <stdlib.h> #include <sys/socket.h> #define sizeof_a(a) \ ( \ countof(a) * sizeof((a)[0]) \ ) #define recv_a(sfd, buf, flags) \ ( \ recv(sfd, buf, sizeof_a(buf), flags) \ ) #define bind_T(sfd, addr, T) \ (( \ _Generic(addr, T *: 0, const T *: 0), \ bind(sfd, addr, sizeof(T)) \ )) #define setsockopt_T(sfd, l, opt, val, T) \ (( \ _Generic(val, T *: 0, const T *: 0), \ setsockopt(sfd, l, opt, val, sizeof(T)) \ )) static inline int setsockopt_int(int sfd, int l, int opt, int val) { return setsockopt_T(sfd, l, opt, &val, int); } int main(void) { int sock; unsigned char buf[512]; struct sockaddr_in addr; sock = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, IPPROTO_UDP); setsockopt_int(sock, SOL_SOCKET, SO_REUSEADDR, true); setsockopt_int(sock, SOL_SOCKET, SO_REUSEPORT, true); addr = (struct sockaddr_in){ .sin_family = AF_INET, .sin_port = htons(123), .sin_addr = {INADDR_ANY} }; bind_T(sock, &addr, struct sockaddr_in); recv_a(sock, buf, 0); exit(EXIT_SUCCESS); } will receive an NTP broadcast, but if you s/INADDR_ANY/INADDR_BROADCAST/ it won't. Quoth POSIX.1-2024: 11252 The <netinet/in.h> header shall define the following symbolic constant for use as a destination 11253 address in the structures passed to connect( ), sendmsg( ), and sendto( ): 11254 INADDR_BROADCAST IPv4 broadcast address. (this is one of two mentions of the symbol, the other is a RATIONALE for why no byte ordering is specified). Linux calls it /* Address to send to all hosts. */ #define INADDR_BROADCAST ((unsigned long int) 0xffffffff) and AFAICT never uses it in the receive path (except in RDS to reject bind(2)). Fixes: fea681dafb13 (2004-11-03, 2004-11-03; "Import of man-pages 1.70") Fixes: 3c5f99be9759 (1999-11-28, 2022-12-19; "man-pages 1.28") Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Message-ID: <qzlsd5wpn42hdxj43tavdyzhrpocjaddwxgyikiuk2bdzvobya@tarta.nabijaczleweli.xyz> [alx: some safety improvements to the program in commit message] Signed-off-by: Alejandro Colomar <alx@kernel.org>
14 daysman/man3/sscanf.3: Document exact matching for %cFlorian Weimer1-0/+7
The glibc manual has always documented this behavior, but the implementation differed, treating the field width as an upper limit. Signed-off-by: Florian Weimer <fweimer@redhat.com> Message-ID: <lhu1pli6tsj.fsf@oldenburg.str.redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-26man/man2type/in_pktinfo.2type: Tweak after splitAlejandro Colomar1-3/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-26man/man2const/IP_PKTINFO.2const, man/man2type/in_pktinfo.2type: Split struct ↵Alejandro Colomar2-45/+71
in_pktinfo from IP_PKTINFO(2const) Suggested-by: Jakub Głogowski <not@dzwdz.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man7/ip.7: Refer to sockaddr_in(3type)Alejandro Colomar1-22/+11
And improve formatting. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man3type/sockaddr_un.3type: Tweak after splitAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man3type/sockaddr{,_un}.3type: Split struct sockaddr_un from sockaddr(3type)Alejandro Colomar2-14/+33
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man3type/sockaddr{,_in,_in6}.3type: Split struct sockaddr_in6 from ↵Alejandro Colomar3-25/+52
sockaddr_in(3type) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man3type/sockaddr_in.3type: Tweak after splitAlejandro Colomar1-7/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man3type/sockaddr{,_in,_in6}.3type: Split IP types from sockaddr(3type)Alejandro Colomar3-48/+68
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IPPROTO_IP.2const: Tweak after making sashimi of this pageAlejandro Colomar1-7/+5
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/SO_PEERSEC.2const: Tweak after splitAlejandro Colomar1-13/+20
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,SO_PEERSEC}.2const: Split SO_PEERSEC from ↵Alejandro Colomar2-57/+91
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_UNBLOCK_SOURCE.2const: Tweak after splitAlejandro Colomar1-7/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_UNBLOCK_SOURCE}.2const: Split IP_UNBLOCK_SOURCE ↵Alejandro Colomar2-10/+45
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_TTL.2const: Tweak after splitAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_TTL}.2const: Split IP_TTL from IPPROTO_IP(2const)Alejandro Colomar2-4/+40
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_TRANSPARENT.2const: Tweak after splitAlejandro Colomar1-9/+12
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_TRANSPARENT}.2const: Split IP_TRANSPARENT from ↵Alejandro Colomar2-28/+62
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_TOS.2const: Tweak after splitAlejandro Colomar1-3/+10
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_TOS}.2const: Split IP_TOS from IPPROTO_IP(2const)Alejandro Colomar2-29/+65
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_ROUTER_ALERT.2const: Tweak after splitAlejandro Colomar1-8/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_ROUTER_ALERT}.2const: Split IP_ROUTER_ALERT ↵Alejandro Colomar2-15/+49
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RETOPTS.2const: Tweak after splitAlejandro Colomar1-3/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RETOPTS}.2const: Split IP_RETOPTS from ↵Alejandro Colomar2-10/+44
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RECVTTL.2const: Tweak after splitAlejandro Colomar1-8/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RECVTTL}.2const: Split IP_RECVTTL from ↵Alejandro Colomar2-19/+53
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RECVTOS.2const: Tweak after splitAlejandro Colomar1-6/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RECVTOS}.2const: Split IP_RECVTOS from ↵Alejandro Colomar2-12/+46
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RECVORIGDSTADDR.2const: Tweak after splitAlejandro Colomar1-4/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RECVORIGDSTADDR}.2const: Split ↵Alejandro Colomar2-15/+50
IP_RECVORIGDSTADDR from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RECVOPTS.2const: Tweak after splitAlejandro Colomar1-3/+5
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RECVOPTS}.2const: Split IP_RECVOPTS from ↵Alejandro Colomar2-12/+46
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_RECVERR.2const: Tweak after splitAlejandro Colomar1-57/+69
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_RECVERR}.2const: Split IP_RECVERR from ↵Alejandro Colomar2-141/+178
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_PKTINFO.2const: Tweak after splitAlejandro Colomar1-26/+25
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_PKTINFO}.2const: Split IP_PKTINFO from ↵Alejandro Colomar2-79/+114
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_PASSSEC.2const: Tweak after splitAlejandro Colomar1-27/+20
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_PASSSEC}.2const: Split IP_PASSSEC from ↵Alejandro Colomar2-41/+78
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_OPTIONS.2const: Tweak after splitAlejandro Colomar1-7/+15
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_OPTIONS}.2const: Split IP_OPTIONS from ↵Alejandro Colomar2-31/+68
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_NODEFRAG.2const: Tweak after splitAlejandro Colomar1-5/+6
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_NODEFRAG}.2const: Split IP_NODEFRAG from ↵Alejandro Colomar2-9/+43
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MULTICAST_TTL.2const: Tweak after splitAlejandro Colomar1-4/+5
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MULTICAST_TTL}.2const: Split IP_MULTICAST_TTL ↵Alejandro Colomar2-8/+44
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MULTICAST_LOOP.2const: Tweak after splitAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MULTICAST_LOOP}.2const: Split IP_MULTICAST_LOOP ↵Alejandro Colomar2-4/+40
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MULTICAST_IF.2const: Tweak after splitAlejandro Colomar1-9/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MULTICAST_IF}.2const: Split IP_MULTICAST_IF ↵Alejandro Colomar2-24/+60
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MULTICAST_ALL.2const: Tweak after splitAlejandro Colomar1-8/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MULTICAST_ALL}.2const: Split IP_MULTICAST_ALL ↵Alejandro Colomar2-11/+45
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MTU_DISCOVER.2const: Tweak after splitAlejandro Colomar1-13/+18
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MTU_DISCOVER}.2const: Split IP_MTU_DISCOVER ↵Alejandro Colomar2-87/+124
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MTU.2const: Tweak after splitAlejandro Colomar1-6/+5
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MTU}.2const: Split IP_MTU from IPPROTO_IP(2const)Alejandro Colomar2-13/+48
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_MSFILTER.2const: Tweak after splitAlejandro Colomar1-22/+15
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_MSFILTER}.2const: Split IP_MSFILTER from ↵Alejandro Colomar2-40/+76
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_LOCAL_PORT_RANGE.2const: Tweak after splitAlejandro Colomar1-6/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_LOCAL_PORT_RANGE}.2const: Split ↵Alejandro Colomar2-26/+63
IP_LOCAL_PORT_RANGE from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_HDRINCL.2const: Tweak after splitAlejandro Colomar1-6/+9
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_HDRINCL}.2const: Split IP_HDRINCL from ↵Alejandro Colomar2-17/+51
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_FREEBIND.2const: Tweak after splitAlejandro Colomar1-7/+12
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_FREEBIND}.2const: Split IP_FREEBIND from ↵Alejandro Colomar2-13/+49
IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_DROP_SOURCE_MEMBERSHIP.2const: Tweak after splitAlejandro Colomar1-11/+13
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_DROP_SOURCE_MEMBERSHIP}.2const: Split ↵Alejandro Colomar2-12/+48
IP_DROP_SOURCE_MEMBERSHIP from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_DROP_MEMBERSHIP.2const: Tweak after splitAlejandro Colomar1-7/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_DROP_MEMBERSHIP}.2const: Split ↵Alejandro Colomar2-9/+44
IP_DROP_MEMBERSHIP from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_BLOCK_SOURCE.2const: Tweak after splitAlejandro Colomar1-6/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_BLOCK_SOURCE}.2const: Split IP_BLOCK_SOURCE ↵Alejandro Colomar2-12/+48
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_BIND_ADDRESS_NO_PORT.2const: Tweak after splitAlejandro Colomar1-3/+3
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_BIND_ADDRESS_NO_PORT}.2const: Split ↵Alejandro Colomar2-10/+44
IP_BIND_ADDRESS_NO_PORT from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_ADD_SOURCE_MEMBERSHIP}.2const, ↵Alejandro Colomar3-36/+58
man/man2type/ip_mreq_source.2type: Split struct ip_mreq_source from IP_ADD_SOURCE_MEMBERSHIP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_ADD_SOURCE_MEMBERSHIP.2const: Tweak after splitAlejandro Colomar1-30/+22
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_ADD_SOURCE_MEMBERSHIP}.2const: Split ↵Alejandro Colomar2-47/+86
IP_ADD_SOURCE_MEMBERSHIP from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2type/ip_mreq.2type: Add link pageAlejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_ADD_MEMBERSHIP}.2const, ↵Alejandro Colomar3-50/+74
man/man2type/ip_mreqn.2type: Split struct ip_mreqn from IP_ADD_MEMBERSHIP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/IP_ADD_MEMBERSHIP.2const: Tweak after splitAlejandro Colomar1-45/+40
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man2const/{IPPROTO_IP,IP_ADD_MEMBERSHIP}.2const: Split IP_ADD_MEMBERSHIP ↵Alejandro Colomar2-63/+96
from IPPROTO_IP(2const) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man5/proc_sys_net.5: Add reference to proc_sys_net_ipv4(5)Alejandro Colomar1-0/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man5/proc_sys_net_ipv4.5: Tweak after splitAlejandro Colomar1-20/+20
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-25man/man7/ip.7, man/man2const/IPPROTO_IP.2const: Split IPPROTO_IP from ip(7)Alejandro Colomar2-941/+975
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-24man/man7/ip.7, man/man5/proc_sys_net_ipv4.5: Split /proc/sys/net/ipv4/ from ↵Alejandro Colomar2-158/+173
ip(7) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-24man/man3/: {str,wcs}n{cmp,len}(3): Remove array parameter length expressionsAlejandro Colomar4-8/+4
The arguments to these APIs may be shorter than that, as long as they are null terminated strings. Reported-by: Florian Weimer <fweimer@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-24man/man2/mremap.2: Fix incorrect reference to VM_MIXEDMAPLorenzo Stoakes1-1/+1
We actually disallow VM_DONTEXPAND and VM_PFNMAP for MREMAP_DONTUNMAP, the manpage incorrectly references VM_MIXEDMAP. Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Message-ID: <20251121081609.52462-1-lorenzo.stoakes@oracle.com> Cc: <linux-mm@kvack.org> Cc: <linux-kernel@vger.kernel.org> Cc: "Liam R. Howlett" <Liam.Howlett@oracle.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Jann Horn <jannh@google.com> Cc: Pedro Falcato <pfalcato@suse.de> Cc: Rik van Riel <riel@surriel.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-18man/man7/ip.7: srcfixAlejandro Colomar1-4/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-18man/man7/ip.7: Clarify IP_PKTINFO's semantics depending on packet directionJakub Głogowski1-3/+14
For recvmsg(2), ipi_spec_dst is set by ipv4_pktinfo_prepare() to the result of fib_compute_sec_dst(). The latter was introduced in linux.git 35ebf65e851c6d97 ("ipv4: Create and use fib_compute_spec_dst() helper."). Quoting its commit message: > The specific destination is the host we direct unicast replies to. > Usually this is the original packet source address, but if we are > responding to a multicast or broadcast packet we have to use something > different. > > Specifically we must use the source address we would use if we were to > send a packet to the unicast source of the original packet. Experimentation seems to confirm that behavior. As for the note about ipi_spec_dst being on a different interface: - For unicast packets (for which ipi_spec_dst is the original destination address), I believe this is trivially true because Linux uses the weak host model (unless there's some interaction with RTCF_LOCAL that I'm missing). - For multicast/broadcast packets, fib_compute_sec_dst() only passes the original interface to the lookup in the context of L3M. In particular, the original implementation (cited above) set iif and oof to 0. Also, citing linux.git e7372197e15856ec ("net/ipv4: Set oif in fib_compute_spec_dst"), > If the device is not enslaved, oif is still 0 so no affect. It doesn't seem like using an address specifically from the interface the packet was received on was ever the intention. I've also confirmed this behavior (sending a multicast packet from another machine, whose IP I've routed to a dummy interface). I'm focusing on this because that's a misconception I've had before digging into the code - the sendmsg behavior explained in the same paragraph made me think ipi_spec_dst was the (primary?) address of ipi_ifindex. I think this is worth clarifying. I've made it explicit that ipi_addr isn't used by sendmsg because that's another possible misconception. The (first) extra comma in sendmsg's ipi_spec_dst's description is meant to emphasize that it's used as the local source address _and_ for the routing table lookup, as opposed to just affecting the routing table lookup. Stylistically it might be a bit weird but idk how to convey this better. Apart from the cited commits I was referencing the linux-6.17.7 tarball. __fib_validate_source (and the comment near it) might also be of interest to people trying to figure out what "specific destinations" are, exactly. Signed-off-by: Jakub Głogowski <not@dzwdz.net> Message-ID: <fb3980b64d1c827ad59726bb30761d735396e109.1763130571.git.not@dzwdz.net> Cc: <linux-kernel@vger.kernel.org> Cc: <linux-api@vger.kernel.org> Cc: Jan Engelhardt <ej@inai.de> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-11man/man3attr/gnu::warning.3attr: Add pageAlejandro Colomar1-0/+57
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09man/man2/flock.2: Mention non-atomicity w.r.t closeAlexander Monakov1-0/+18
Ideally one should be able to use flock to synchronize with another process (or thread) closing that file, for instance before attempting to execve it (as execve of a file open for writing fails with ETXTBSY). Unfortunately, on Linux it is not reliable, because in the process of closing a file its locks are dropped before the refcounts of the file (as well as its underlying filesystem) are decremented, creating a race window where execve of the just-unlocked file sees it as if still open. Linux developers have indicated that it is not easy to fix, and the appropriate course of action for now is to document this limitation. Link: <https://lore.kernel.org/linux-fsdevel/68c99812-e933-ce93-17c0-3fe3ab01afb8@ispras.ru/> Signed-off-by: Alexander Monakov <amonakov@ispras.ru> Message-ID: <181d561860e52955b29fe388ad089bde4f67241a.1760627023.git.amonakov@ispras.ru> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09man/man2/copy_file_range.2: glibc no longer provides fallback after 2.30Wes Gibbs1-4/+9
Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=220489> Signed-off-by: Wes Gibbs <wg21908@gmail.com> Message-ID: <20251102000330.155591-1-wg21908@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09man/man3/readdir.3, man/man3type/stat.3type: Improve documentation about ↵Alejandro Colomar2-2/+37
.d_ino and .st_ino Suggested-by: Pali Rohár <pali@kernel.org> Co-authored-by: Pali Rohár <pali@kernel.org> Reviewed-by: Pali Rohár <pali@kernel.org> Co-authored-by: Jan Kara <jack@suse.cz> Reviewed-by: Jan Kara <jack@suse.cz> Cc: "Darrick J. Wong" <djwong@kernel.org> Cc: "G. Branden Robinson" <branden@debian.org> Cc: <linux-fsdevel@vger.kernel.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09man/: Use '.member' notation for referring to struct/union membersAlejandro Colomar2-45/+46
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09man/man2/madvise.2, man/man2const/PR_[GS]ET_THP_DISABLE.2const: document ↵Usama Arif3-14/+64
addition of PR_THP_DISABLE_EXCEPT_ADVISED PR_THP_DISABLE_EXCEPT_ADVISED extended PR_SET_THP_DISABLE to only provide THPs when advised. IOW, it allows individual processes to opt-out of THP = "always" into THP = "madvise", without affecting other workloads on the system. The series has been merged in [1]. Before [1], the following 2 calls were allowed with PR_SET_THP_DISABLE: prctl(PR_SET_THP_DISABLE, 0, 0, 0, 0); // reset THP setting. prctl(PR_SET_THP_DISABLE, 1, 0, 0, 0); // disable THPs completely. Now in addition to the 2 calls above, you can do: // disable THPs except madvise. prctl(PR_SET_THP_DISABLE, 1, PR_THP_DISABLE_EXCEPT_ADVISED, 0, 0); This patch documents the changes introduced due to the addition of PR_THP_DISABLE_EXCEPT_ADVISED flag: - PR_GET_THP_DISABLE returns a value whose bits indicate how THP-disable is configured for the calling thread (with or without PR_THP_DISABLE_EXCEPT_ADVISED). - PR_SET_THP_DISABLE now uses arg3 to specify whether to disable THP completely for the process, or disable except madvise (PR_THP_DISABLE_EXCEPT_ADVISED). Link: [1] <https://github.com/torvalds/linux/commit/9dc21bbd62edeae6f63e6f25e1edb7167452457b> Signed-off-by: Usama Arif <usamaarif642@gmail.com> Message-ID: <20251105134811.3170745-1-usamaarif642@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-09src/bin/grepc, man/man1/grepc.1: -r: Remove flagAlejandro Colomar1-5/+0
Colorizing is imperfect, so don't do it. Let the user colorize it by piping to grep(1), if needed. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-03man/man1/grepc{,_c}.1: Split documentation into a manual page for the driverAlejandro Colomar2-102/+157
I've left grepc_mk undocumented for the moment, as it's still not as stable as the C driver. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-02man/man1/grepc.1: SEE ALSO: Fix referencesAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-11-02man/man1/grepc.1: ffixAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-31man/man1/grepc.1: EXAMPLES: Fix commandAlejandro Colomar1-1/+1
The output shows the line number, so it must have been called with -n. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man1/grepc.1: Use a smaller exampleAlejandro Colomar1-15/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man1/grepc.1, src/bin/grepc: Add copyright noticeAlejandro Colomar1-0/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man1/grepc.1: Adapt to the Linux man-pages projectAlejandro Colomar1-20/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man1/grepc.1: Move manual page to man/man1/Alejandro Colomar1-0/+222
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man7/bpf-helpers.7: Refresh page from Linux v6.17Alejandro Colomar1-7/+18
Scripted change: $ ~/src/linux/linux/v6.17/scripts/bpf_doc.py \ | rst2man \ >man7/bpf-helpers.7; Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/ftime.3: SYNOPSIS: Declare ftime with [[deprecated]]Collin Funk1-1/+1
This function was marked as legacy in POSIX.1-2001 and has been removed from many systems, including glibc. Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <5924c3b09d8e373be6ac1b5ca663b8ad7d106d93.1750306917.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/gettimeofday.2: Declare functions with [[deprecated]]Collin Funk1-0/+6
As documented in the STANDARDS section, gettimeofday(2) was deprecated in POSIX.1-2008 and removed in POSIX.1-2024. Mark it and settimeofday(2) with [[deprecated]], and mention clock_settime(2) as a modern and standardized alternative to settimeofday(2). Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <2d37d5a9251af3c1d25cf8e73e3585a9955d5772.1750373011.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/ptsname.3: VERSIONS: Document ptsname_r(3) incompatibility on FreeBSDCollin Funk1-1/+1
The FreeBSD implementation of ptsname_r(2) returns -1 on error and sets errno, instead of just returning the errno. Document this issue for programs written with portability in mind. Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <37f138bc5c5e6604f0a0afcc531694387d2cc424.1749792527.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3*/: STANDARDS: Update APIs for POSIX.1-2024Alejandro Colomar40-42/+44
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3type/time_t.3type: STANDARDS, HISTORY: POSIX.1-2008 removed useconds_tAlejandro Colomar1-10/+10
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3type/time_t.3type: STANDARDS, HISTORY: Update time_t for POSIX.1-2024Alejandro Colomar1-7/+15
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/getenv.3: Mention secure_getenv() was standardized in POSIX-1.2024Collin Funk1-3/+3
Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <2d55b75480ae862a622ac46e7e6c7628f6efc45d.1747519811.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man7/signal.7: Mention SIGWINCH was standardized in POSIX-1.2024Collin Funk1-1/+3
Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <bae6bc16f9ab6bd3e5c30dc8e11bd83566b06a6f.1747519811.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/ptsname.3: Mention ptsname_r() was standardized in POSIX-1.2024Collin Funk1-7/+6
Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <883d4a9b8cfb757a080710cf0133be5d0e12adce.1747515178.git.collin.funk1@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/: STANDARDS: Update system calls for POSIX.1-2024Alejandro Colomar106-218/+201
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/open.2: Simplify STANDARDS, and move part of it to HISTORYAlejandro Colomar1-26/+16
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/: Update fork(2) for POSIX.1-2024, and add references to _Fork(3)Alejandro Colomar3-14/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/_Fork.3: Document _Fork()Alejandro Colomar1-0/+29
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man7/pathname.7: VERSIONS: Linux doesn't disallow new-line charactersAlejandro Colomar1-0/+5
POSIX.1-2024 encourages implementations to disallow new-line characters, but Linux doesn't follow that. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/close.2: CAVEATS: Document divergence from POSIX.1-2024Alejandro Colomar1-15/+6
POSIX.1-2024 now mandates a behavior different from what Linux (and many other implementations) does. It requires that we report EINPROGRESS for what now is EINTR. There are no plans to conform to POSIX.1-2024 within the Linux kernel, so document this divergence. Keep POSIX.1-2008 as the standard to which we conform in STANDARDS. Link: <https://sourceware.org/bugzilla/show_bug.cgi?id=14627> Link: <https://pubs.opengroup.org/onlinepubs/9799919799/functions/close.html> Cc: Jan Kara <jack@suse.cz> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Christian Brauner <brauner@kernel.org> Cc: Rich Felker <dalias@libc.org> Cc: <linux-fsdevel@vger.kernel.org> Cc: <linux-api@vger.kernel.org> Cc: <libc-alpha@sourceware.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/close.2: Move part of NOTES into a new CAVEATS sectionAlejandro Colomar1-8/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/socket.2: VERSIONS: POSIX.1-2024 specifies SOCK_CLOFORK, but Linux ↵Alejandro Colomar1-0/+4
doesn't support it Fixes: 265b9898dfe2 (2025-05-09; "man/man2/: VERSIONS: POSIX.1-2024 specifies *_CLOFORK, but Linux doesn't support it") Link: <https://lore.kernel.org/all/20200515160342.GE23230@ZenIV.linux.org.uk/> Cc: Mateusz Guzik <mjguzik@gmail.com> Cc: Jeff Layton <jlayton@kernel.org> Cc: Chuck Lever <chuck.lever@oracle.com> Cc: <linux-fsdevel@vger.kernel.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/: Fix STANDARDS and HISTORYAlejandro Colomar3-3/+3
Fixes: 4131356cdab8 (2023-03-30; "man*/, man-pages.7: VERSIONS, STANDARDS, HISTORY: Reorganize sections") Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/alloca.3: wfixAlejandro Colomar1-4/+7
Reported-by: Alejandro Colomar <alx@kernel.org> Cc: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Suggested-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Co-authored-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/pidfd_send_signal.2: Describe flagsKir Kolyshkin1-3/+60
Those flags were added in Linux 6.9 (see [1]), and are documented in [2]. The text added is a modified version of [3], removing some repetition and adapting from markdown to mandoc. [1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e1fb1dc08e73> [2]: <https://github.com/brauner/man-pages-md/blob/main/pidfd_send_signal.md> [3]: <https://github.com/brauner/man-pages-md/pull/2> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Message-ID: <20251008020031.1215030-4-kolyshkin@gmail.com> Cc: Christian Brauner <brauner@kernel.org> Cc: Oleg Nesterov <oleg@redhat.com> [alx: ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man2/pidfd_open.2: Document PIDFD_THREADKir Kolyshkin1-6/+36
PIDFD_THREAD flag for pidfd_open(2) was added in Linux 6.9 (see [1]). Add a TODO to describe the nuances of using poll/epoll/select with a pidfd referring to a process vs a thread. [1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64bef697d33b> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Message-ID: <20251013191049.193375-2-kolyshkin@gmail.com> Cc: Christian Brauner <brauner@kernel.org> Cc: Oleg Nesterov <oleg@redhat.com> [alx: ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man7/tcp.7: Add TCP_SAVE_SYN and TCP_SAVED_SYNValdikSS1-4/+17
Document TCP_SAVE_SYN and TCP_SAVED_SYN options based on git commit linux.git cd8ae85299d5 (2015-05-05; "tcp: provide SYN headers for passive connections") which introduced it. Link: <https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cd8ae85299d54155702a56811b2e035e63064d3d> Cc: Eric Dumazet <edumazet@google.com> Signed-off-by: ValdikSS <iam@valdikss.org.ru> Message-ID: <20251015214826.70750-1-iam@valdikss.org.ru> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-29man/man3/opendir.3: ERRORS: Document that long file names result in ENAMETOOLONGCollin Funk1-0/+4
This behavior can be seen with the following example program: $ cat main.c #include <dirent.h> #include <err.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> int main(int argc, char *argv[argc+1]) { DIR *d; if (argc < 2) errx(EXIT_FAILURE, "argc < 2"); d = opendir(argv[1]); if (d == NULL) err(EXIT_FAILURE, "opendir"); closedir(d); exit(EXIT_SUCCESS); } $ cc -Wall -Wextra main.c $ ./a.out $(printf '%0999d') a.out: opendir: File name too long Signed-off-by: Collin Funk <collin.funk1@gmail.com> Message-ID: <4266061219d7406c0aa737f8d52108fea7e0f7fb.1760689006.git.collin.funk1@gmail.com> [jwilk: simpler reproducer] Cc: Jakub Wilk <jwilk@jwilk.net> [alx: Fix style in the reproducer program] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-28man/man3/[umax]abs.3: Document umaxabs(3)Alejandro Colomar2-6/+9
Rename uimaxabs(3) => umaxabs(3). And add a link page. Keep a link with the old name, so that programmers looking for the old name are redirected to the new name, so they find what they need. I've removed documentation for uimaxabs(3), instead of keeping information in HISTORY, as it has only existed for one glibc version, to avoid programmers being confused by the old name. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3577.txt> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-16man/man3/pthread_cond_init.3: CAVEATS: Add a note regarding real-time usageSebastian Andrzej Siewior1-0/+24
The "old" implementation led to priority inversion and was more or less easy to trigger. It seems that after the rewrite the issue disappeared especially since the old workaround does not apply anymore. Add a note mentioning the old problem and why the issue is not gone since the rewrite in glibc 2.25 but harder to trigger. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: André Almeida <andrealmeid@igalia.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Waiman Long <longman@redhat.com> Message-ID: <20250915141305.906440-6-bigeasy@linutronix.de> [alx: wfix, srcfix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-15man/man2/futex.2: Update the link reference again.Sebastian Andrzej Siewior1-1/+1
Carlos O'Donell says based on the context, it should be the former link from that day. Update the link accordingly. Cc: Carlos O'Donell <carlos@redhat.com> Link: <https://lore.kernel.org/all/710e8f05-b0b3-489a-9e89-8967cf6a9e70@redhat.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Message-ID: <20250915141305.906440-5-bigeasy@linutronix.de> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-15man/man7/sched.7: SEE ALSO: Update the documentation referencesSebastian Andrzej Siewior1-6/+3
The section refers to .txt files but they have been moved/ renamed to .rst some time ago. The mentioned sched-rt-group is inconvenient as people always complained about CONFIG_RT_GROUP_SCHED. Everything that describes CFS is not wrong but the kernel the kernel switched to the Earliest Virtual Deadline First (EEVDF) scheduler. Instead of updating the file links below (and adding new ones), replace them with a link to the automatically created scheduler documetation from that folder. This also has some EEVDF bits. :) Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: André Almeida <andrealmeid@igalia.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Waiman Long <longman@redhat.com> Message-ID: <20250915141305.906440-4-bigeasy@linutronix.de> [alx: ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-15man/man7/sched.7: Update the real-time sectionSebastian Andrzej Siewior1-16/+40
Update the outdated information: - The PREEMPT_RT patch is merged. The patch continues to exist (as of now) but is not mandatory. - The patch can be still downloaded but most people use the git tree these days. Add a reference to it. - CONFIG_PREEMPT_DESKTOP was never thing as far as I remember. It was always CONFIG_PREEMPT and its description referred to "low latency desktop". - Within the PREEMPT-RT patch there was a brief window which introduced PREEMPT_RT_BASE and PREEMPT_RT_FULL. I am going to ignore this. - The introduction of PREEMPT_LAZY in 6.13 moved PREEMPT_RT from a preemption model to an option. - The mentioned wiki is deprecated. Update the URL to the new one. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: André Almeida <andrealmeid@igalia.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Waiman Long <longman@redhat.com> Message-ID: <20250915141305.906440-3-bigeasy@linutronix.de> [alx: minor tweaks] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-15man/man2const/PR_FUTEX_HASH_SET_SLOTS.2const: Document PR_FUTEX_HASH_SET_SLOTSSebastian Andrzej Siewior1-0/+67
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: André Almeida <andrealmeid@igalia.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Ingo Molnar <mingo@redhat.com> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Waiman Long <longman@redhat.com> Message-ID: <20250915141305.906440-2-bigeasy@linutronix.de> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-12man/man2/clone.2: Document CLONE_PIDFD | CLONE_THREADKir Kolyshkin1-5/+11
Available since Linux 6.9 [1]. Documented in [2] (added by [3]). [1]: <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=83b290c9e3b5d95891f> [2]: <https://github.com/brauner/man-pages-md/blob/main/clone.md> [3]: <https://github.com/brauner/man-pages-md/pull/4> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Message-ID: <20251008020031.1215030-2-kolyshkin@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-12man/man7/rtnetlink.7: Document metrics attributes (RTAX_*).Guillaume Nault1-1/+82
Add a brief explanation of the RTAX_* attributes that can be used in RTA_METRICS. Signed-off-by: Guillaume Nault <gnault@redhat.com> Message-ID: <67e7f52aad3d777ef1075eca902d0d235e0d3753.1759950455.git.gnault@redhat.com> [alx: ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man3/[f]getc.3: Document that getc(3) should not be usedAlejandro Colomar2-14/+50
Move getc(3) to a separate manual page, documenting the bugs of this API, and recommending fgetc(3) instead. While the relevant standards (ISO C and POSIX) don't deprecate this API, let's deprecate it here. Cc: <onf@disroot.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: ffixG. Branden Robinson1-6/+0
Stop meddling with adjustment. A lengthy comment in groff's man(7) package explains why attempts to meddle with text alignment and adjustment with the `ad` and `na` requests--outside of tbl(1) text blocks--exhibits contempt for reader preferences and often comes to grief anyway. .\" Resetting the adjustment mode is a complicated dance. .\" 1. Man pages sometimes disable adjustment--when they do, they .\" often forget to put it back the way it was. .\" 2. When they do remember to put it back, they often fail to do .\" so correctly because of the `ad` request's quirky semantics .\" starting from Seventh Edition Unix troff/nroff. Briefly, the .\" `ad` request without arguments turns adjustment back on after .\" an `na` even if the previous adjustment mode was `l` (align to .\" the left with NO adjustment). .\" 3. The default adjustment mode historically has not been .\" predictable; it can depend on nroff vs. troff mode and on the .\" vendor of the *roff system in use. .\" 4. It's possible (and portable) to obtain the previous adjustment .\" mode via the `.j` register so that it can be saved prior to .\" meddling and restored later, but in practice man page authors .\" neglect to do so. .\" 5. groff man(7)'s `AD` string isn't supported everywhere. .\" 6. We want user preferences, if expressed, to override the page .\" author's. .\" 7. Even if we didn't want (6), one page author's can override .\" another's when formatting multiple man(7) documents in .\" sequence[.] Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215811.3a6ughmxcskgae3s@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: ffixG. Branden Robinson1-1/+1
Add missing `x` column modifier to the descriptive column of the "VT100 console sequences not implemented on the Linux console" table, making it format like all the other tables in this man page. Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215801.yt57b4zbpsvctl5h@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: wfixG. Branden Robinson1-1/+1
Spell out column heading as "parmeter"; "param" is a false economy given that one of the entries in the same column is "100..107" (only one en shorter). Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215752.upezzr4gubzveiwe@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: ffixG. Branden Robinson1-3/+7
Use a more idiomatic means (than numeral-width horizontal motion escape sequences `\0`) of setting table entries that are indented with respect to other entries in the same column. Use table region continuation (`.T&`) and the `A` column classifier. See tbl(1). Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215742.w44sai53jje46m6h@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: ffixG. Branden Robinson1-4/+10
Put lengthy table entries into tbl(1) text blocks, so that they don't cause output lines to overset. Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215733.k3dgj5mafiysxa7z@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: ffixG. Branden Robinson1-0/+9
Consistently put inter-paragraph space before tables. Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215724.7gms7w7zosrlg44n@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-10man/man4/console_codes.4: Document the names of the "ESC s" and "ESC u" ↵G. Branden Robinson1-2/+2
extension controls. Link: <https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Functions-using-CSI-_-ordered-by-the-final-character_s_> Signed-off-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Message-ID: <20251009215712.zhmxvmbtx72tk4yg@illithid> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-06man/man2/fanotify_mark.2: grfixKele Huang1-1/+1
Message-ID: <20250925135215.1648059-1-kele@cs.columbia.edu> Acked-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-05man/man7/capabilities.7: Expand CAP_SYS_PTRACE to include /procJonathon Reinhart1-1/+15
CAP_SYS_PTRACE is required (via ptrace_may_access) for accessing various things in /proc, so include it in the CAP_SYS_PTRACE bullet list. Also, add a hint that other things throughout the kernel may check this via ptrace_may_access(). Signed-off-by: Jonathon Reinhart <jrreinhart@google.com> Message-ID: <20250924152313.1902586-1-jrreinhart@google.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-05man/man7/ascii.7: srcfixAlejandro Colomar1-1/+1
Use the dummy character to avoid a table entry consisting only of '=', which would be interpreted as a table delimiter. We previously had a white space, but that was worse: it is not visible in the input, and produces non-ignorable output. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-05man/: ffixAlejandro Colomar11-47/+47
Remove spaces before a tab (except in a few cases). Reported-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-05man/man4/console_codes.4: ffixAlejandro Colomar1-1/+3
Also remove it from "share/mk/build/catman/troff.xfail", as it doesn't fail anymore. Suggested-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-05man/man5/proc_pid_smaps.5: Remove useless column in tableAlejandro Colomar1-33/+33
It was forcing some entries to go past the right margin. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-04man/man7/vdso.7: ffixAlejandro Colomar1-128/+48
Reported-by: Bjarni Ingi Gislason <bjarniig@simnet.is> Suggested-by: "G. Branden Robinson" <branden@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/{fsconfig,mount_setattr}.2: NOTES: Add note about ↵Aleksa Sarai2-0/+51
attribute-parameter distinction This was not particularly well documented in mount(8) nor mount(2), and since this is a fairly notable aspect of the new mount API, we should probably add some words about it. Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-8-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/open_tree{,_attr}.2: Document open_tree_attr(), and add link pageAleksa Sarai2-0/+192
This is a new API added in Linux 6.15, and is effectively just a minor expansion of open_tree(2) in order to allow for MOUNT_ATTR_IDMAP to be changed for an existing ID-mapped mount. glibc does not yet have a wrapper for this. While working on this man-page, I discovered a bug in open_tree_attr(2) that accidentally permitted changing MOUNT_ATTR_IDMAP for extant detached ID-mapped mount objects. This is definitely a bug, but there is no need to add this to BUGS because the patch to fix this has already been accepted (slated for 6.18, and will be backported to 6.15+). Cc: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-7-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> [alx: amend some examples: s/open_tree/&_attr/] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/open_tree.2: Add pageAleksa Sarai1-0/+518
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-6-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/move_mount.2: Add pageAleksa Sarai1-0/+646
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-5-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> [alx: ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/fsmount.2: Add pageAleksa Sarai1-0/+231
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-4-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/fsconfig.2: Add pageAleksa Sarai1-0/+729
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-3-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> [alx: s/name/key/; ffix] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/fspick.2: Add pageAleksa Sarai1-0/+343
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-2-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2025-10-01man/man2/fsopen.2: Add pageAleksa Sarai1-0/+385
This is loosely based on the original documentation written by David Howells and later maintained by Christian Brauner, but has been rewritten to be more from a user perspective (as well as fixing a few critical mistakes). Co-authored-by: David Howells <dhowells@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> Co-authored-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Message-ID: <20250925-new-mount-api-v5-1-028fb88023f2@cyphar.com> Reviewed-by: Askar Safin <safinaskar@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>