aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-11-10Various pages: SYNOPSIS: Use VLA syntax in 'void *' function parametersAlex Colomar59-128/+162
Use VLA syntax also for void *, even if it's a bit more weird. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2611.htm> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Martin Uecker <uecker@tugraz.at> Cc: <gcc@gcc.gnu.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-11-10get_mempolicy.2, mbind.2: SYNOPSIS: Use VLA syntax in function parametersAlex Colomar2-3/+6
Use it also with more complex expressions. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2611.htm> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Martin Uecker <uecker@tugraz.at> Cc: <gcc@gcc.gnu.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-11-10Various pages: SYNOPSIS: Use VLA syntax in function parametersAlejandro Colomar72-147/+186
The WG14 charter for C23 added one principle to the ones in previous standards: [ 15. Application Programming Interfaces (APIs) should be self-documenting when possible. In particular, the order of parameters in function declarations should be arranged such that the size of an array appears before the array. The purpose is to allow Variable-Length Array (VLA) notation to be used. This not only makes the code's purpose clearer to human readers, but also makes static analysis easier. Any new APIs added to the Standard should take this into consideration. ] ISO C doesn't allow using VLA syntax when the parameter used for the size of the array is declared _after_ the parameter that is a VLa. That's a minor issue that could be easily changed in the language without backwards-compatibility issues, and in fact it seems to have been proposed, and not yet discarded, even if it's not going to change in C23. Since the manual pages SYNOPSIS are not bounded by strict C legal syntax, but we already use some "tricks" to try to convey the most information to the reader even if it might not be the most legal syntax, we can also make a small compromise in this case, using illegal syntax (at least not yet legalized) to add important information to the function prototypes. If we're lucky, compiler authors, and maybe even WG14 members, may be satisfied by the syntax used in these manual pages, and may decide to implement this feature to the language. It seems to me a sound syntax that isn't ambiguous, even if it deviates from the common pattern in C that declarations _always_ come before use. But it's a reasonable tradeoff. This change will make the contract between the programmer and the implementation clearer just by reading a prototype. For example, size_t strlcpy(char *restrict dst, const char *restrict src, size_t size); vs size_t strlcpy(char dst[restrict .size], const char *restrict src, size_t size); the second prototype above makes it clear that the 'dst' buffer will be safe from overflow, but the 'src' one clearly needs to be NUL-terminated, or it might cause UB, since nothing tells the function how long it is. Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2611.htm> Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Martin Uecker <uecker@tugraz.at> Cc: <gcc@gcc.gnu.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-11-10lint-man.mk: lint-man-mandoc: Silence warnings about unsupported tbl(1) featuresAlejandro Colomar1-0/+1
It's bad that the features are not supported, but we can do nothing about it but wait. Let's silence the warnings. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10lint-man.mk: lint-man-mandoc: Silence warnings about empty UR blocksAlejandro Colomar1-0/+1
That's a perfectly fine man(7) construct. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10lint-man.mk: lint-man-mandoc: Silence warnings about lowercase in THAlejandro Colomar1-0/+1
The warning will be removed soon, since Ingo, Branden, and I agreed to move forward to a better letter case in the page title. Let's just ignore it while it still exists. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10lint-man.mk: lint-man-mandoc: Silence warnings about the dateAlejandro Colomar1-1/+5
Yes, mandoc(1), I know the date is not a date, it's a placeholder to be filled at 'make dist' time. Let's be friends :) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10lint-man.mk: lint-man-groff: Prefix error message with file nameAlejandro Colomar1-1/+1
Otherwise, it's a bit unreadable, and sometimes looks like an error in the linter. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10ioctl_tty.2: ffixAlejandro Colomar1-2/+4
Reported-by: lint-man-mandoc - mandoc(1) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-10errno.3: srcfixAlejandro Colomar1-3/+3
Reported-by: lint-man-groff - groff(1) Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-05Various pages: Replace noreturn by [[noreturn]]Alejandro Colomar7-12/+12
ISO C23 will declare the noreturn macro and the _Noreturn function specifier as obsolescent features. They are replaced by the C++-compatible [[noreturn]] attribute. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-05nsswitch.conf.5: Current glibc reloads this configuration fileFlorian Weimer1-5/+7
The implementation happened across multiple glibc commits, but the work was completed for glibc 2.33. Signed-off-by: Florian Weimer <fweimer@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-01madvise.2: add documentation for MADV_COLLAPSEZach O'Keefe2-2/+99
Linux 6.1 introduced MADV_COLLAPSE in upstream commit 7d8faaf15545 ("mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse") and upstream commit 34488399fa08 ("mm/madvise: add file and shmem support to MADV_COLLAPSE"). Update the man-pages for madvise(2) and process_madvise(2). Link: https://lore.kernel.org/linux-mm/20220922224046.1143204-1-zokeefe@google.com/ Link: https://lore.kernel.org/linux-mm/20220706235936.2197195-1-zokeefe@google.com/ Signed-off-by: Zach O'Keefe <zokeefe@google.com> [ alx: Change use of hyphens in 3-word compound adjective ] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-11-01keyrings.7: tfix hexadecimal number prefixGrzegorz Szymaszek1-1/+1
In the DESCRIPTION, where the Permissions column of /proc/keys is explained, the 0x02 value was written as Ox02. In case one cannot spot the difference: the first character was letter o (U+004F), while it should be digit zero (U+0030). It seems the source tree does not contain any other "Ox" instances except at the beginning of "Oxford". Signed-off-by: Grzegorz Szymaszek <gszymaszek@short.pl> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31CONTRIBUTING: tfixAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31madvise.2: srcfixAlejandro Colomar1-1/+1
Reported-by: 'make lint-man-groff' Cc: Zach O'Keefe <zokeefe@google.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31process_madvise.2: fix capability and ptrace requirementsZach O'Keefe1-4/+17
The initial commit of process_madvise(2) to Linux, commit ecb8ac8b1f14 ("mm/madvise: introduce process_madvise() syscall: an external memory hinting API"), relied on PTRACE_MODE_ATTACH_FSCREDS (see ptrace(2)), but was amended by commit 96cfe2c0fd23 ("mm/madvise: replace ptrace attach requirement for process_madvise") which replaced this with a combination of PTRACE_MODE_READ and CAP_SYS_NICE (PTRACE_MODE_READ to prevent leaking ASLR metadata and CAP_SYS_NICE for influencing process performance). The initial commit of process_madvise(2) to man-pages project, made after the second patch, included two errors: 1) CAP_SYS_ADMIN instead of CAP_SYS_NICE 2) PTRACE_MODE_READ_REALCREDS instead of PTRACE_MODE_READ_FSCREDS Correct this in the man-page for process_madvise(2). Fixes: a144f458b ("process_madvise.2: Document process_madvise(2)") Cc: Minchan Kim <minchan@kernel.org> Signed-off-by: Zach O'Keefe <zokeefe@google.com> Reviewed-by: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31build-src.mk: Fix use of variable containing a regexAlejandro Colomar1-1/+1
The variable already contains the $ anchor. Don't repeat it. Fixes: 15c80a5081ea "src.mk: Fix regex for manual page files" Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31CONTRIBUTING: Add Lint subsectionAlejandro Colomar1-0/+32
Detail how linters can be run effectively by contributors. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31errno.3: tfixAlejandro Colomar1-1/+1
Reported-by: Jun Ishiguro <algon.0320@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31Changes: Use a placeholder for the locationAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31INSTALL: Rewrite and expandAlejandro Colomar1-14/+177
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31RELEASE: Add Files, Versions, Caveats, and Description::DependenciesAlejandro Colomar1-0/+56
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-31RELEASE: Reformat like a manual pageAlejandro Colomar1-96/+103
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30get_nprocs.3, get_nprocs_conf.3, program_invocation_name.3, sysvipc.7: Match ↵Alejandro Colomar4-98/+98
page title with file name and NAME section Manually tweak a few pages that weren't covered by the scripts used in the 2 previous commits. On 10/30/22 23:00, G. Branden Robinson wrote: > For those to whom this change is coming as an unpleasant surprise, the > forthcoming groff 1.23.0 features an option that will reverse this > change at rendering time. > > From groff_man(7): > > -rCT=1 Capitalize titles, setting the man page title (the first > argument to .TH) in full capitals in headers and footers. > This transformation is off by default because it discards > case distinction information. > > This register can also be set in a site-local "man.local" file to force > it on for all pages. On Debian-based systems, this file is in > /etc/groff. The following line will do the trick. > > .nr CT 1 > > The groff_man_style(7) man page offers further examples of such > rendering customization. > > /usr/local/share/groff/site-tmac/man.local > Put site‐local changes and customizations into this file. > > .\" Use narrower indentation on terminals and similar. > .if n .nr IN 4n > .\" Put only one space after the end of a sentence. > .ss 12 0 \" See groff(7). > .\" Keep pages narrow even on wide terminals. > .if n .if \n[LL]>78n .nr LL 78n > .\" Ensure hyperlinks are enabled for terminals. > .nr U 1 > > On multi‐user systems, it is more considerate to users whose > preferences may differ from the administrator’s to be less > aggressive with such settings, or to permit their override > with a user‐specific man.local file. This can be achieved by > placing one or both of following requests at the end of the > site‐local file. > .soquiet \V[XDG_CONFIG_HOME]/man.local > .soquiet \V[HOME]/.man.local > However, a security‐sandboxed man(1) program may lack > permission to open such files. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30Various pages: Use correct letter case in page titles (TH)Alejandro Colomar8-8/+8
Semi-scripted change: $ find man* -type f \ | xargs grep -L '\.so' \ | while read f; do P=$(basename $f); T=$(grep '\.TH ' $f | cut -f2,3 -d' ' | sed 's/ /./'); p=$(echo $P | tr '[:upper:]' '[:lower:]'); t=$(echo $T | tr '[:upper:]' '[:lower:]'); Tn=$(echo $T | sed 's/\.[^.]\+$//') Pn=$(echo $P | sed 's/\.[^.]\+$//') N=$(man_section $f NAME \ | sed -n '/NAME/,/ - /p' \ | sed 's/ - .*//' \ | grep -v '^NAME$' \ | tr ', ' '\n' \ | grep -i "^$Pn$" \ | head -n1) test $P = $T \ && test -n $N \ && continue; if test "x$p" != "x$t"; then echo 1 $P $T $N; elif test -z "$N"; then sed -i "/\.TH /s/$Tn/$Pn/" $f; fi; done; Most of the changes produced by this script needed to be reverted, but the some of them were good. On 10/30/22 23:00, G. Branden Robinson wrote: > For those to whom this change is coming as an unpleasant surprise, the > forthcoming groff 1.23.0 features an option that will reverse this > change at rendering time. > > From groff_man(7): > > -rCT=1 Capitalize titles, setting the man page title (the first > argument to .TH) in full capitals in headers and footers. > This transformation is off by default because it discards > case distinction information. > > This register can also be set in a site-local "man.local" file to force > it on for all pages. On Debian-based systems, this file is in > /etc/groff. The following line will do the trick. > > .nr CT 1 > > The groff_man_style(7) man page offers further examples of such > rendering customization. > > /usr/local/share/groff/site-tmac/man.local > Put site‐local changes and customizations into this file. > > .\" Use narrower indentation on terminals and similar. > .if n .nr IN 4n > .\" Put only one space after the end of a sentence. > .ss 12 0 \" See groff(7). > .\" Keep pages narrow even on wide terminals. > .if n .if \n[LL]>78n .nr LL 78n > .\" Ensure hyperlinks are enabled for terminals. > .nr U 1 > > On multi‐user systems, it is more considerate to users whose > preferences may differ from the administrator’s to be less > aggressive with such settings, or to permit their override > with a user‐specific man.local file. This can be achieved by > placing one or both of following requests at the end of the > site‐local file. > .soquiet \V[XDG_CONFIG_HOME]/man.local > .soquiet \V[HOME]/.man.local > However, a security‐sandboxed man(1) program may lack > permission to open such files. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30Many pages: Use correct letter case in page titles (TH)Alejandro Colomar986-986/+986
Scripted change: $ find man* -type f \ | xargs grep -L '\.so' \ | while read f; do P=$(basename $f); T=$(grep '\.TH ' $f | cut -f2,3 -d' ' | sed 's/ /./'); p=$(echo $P | tr '[:upper:]' '[:lower:]'); t=$(echo $T | tr '[:upper:]' '[:lower:]'); Tn=$(echo $T | sed 's/\.[^.]\+$//') Pn=$(echo $P | sed 's/\.[^.]\+$//') N=$(man_section $f NAME \ | sed -n '/NAME/,/ - /p' \ | sed 's/ - .*//' \ | grep -v '^NAME$' \ | tr ', ' '\n' \ | grep -i "^$Pn$" \ | head -n1) test $P = $T \ && test -n $N \ && continue; if test "x$p" != "x$t"; then echo 1 $P $T $N; elif test -z "$N"; then echo 2 $P $T $N; else sed -i "/\.TH /s/$Tn/$N/" $f; fi; done; On 10/30/22 23:00, G. Branden Robinson wrote: > For those to whom this change is coming as an unpleasant surprise, the > forthcoming groff 1.23.0 features an option that will reverse this > change at rendering time. > > From groff_man(7): > > -rCT=1 Capitalize titles, setting the man page title (the first > argument to .TH) in full capitals in headers and footers. > This transformation is off by default because it discards > case distinction information. > > This register can also be set in a site-local "man.local" file to force > it on for all pages. On Debian-based systems, this file is in > /etc/groff. The following line will do the trick. > > .nr CT 1 > > The groff_man_style(7) man page offers further examples of such > rendering customization. > > /usr/local/share/groff/site-tmac/man.local > Put site‐local changes and customizations into this file. > > .\" Use narrower indentation on terminals and similar. > .if n .nr IN 4n > .\" Put only one space after the end of a sentence. > .ss 12 0 \" See groff(7). > .\" Keep pages narrow even on wide terminals. > .if n .if \n[LL]>78n .nr LL 78n > .\" Ensure hyperlinks are enabled for terminals. > .nr U 1 > > On multi‐user systems, it is more considerate to users whose > preferences may differ from the administrator’s to be less > aggressive with such settings, or to permit their override > with a user‐specific man.local file. This can be achieved by > placing one or both of following requests at the end of the > site‐local file. > .soquiet \V[XDG_CONFIG_HOME]/man.local > .soquiet \V[HOME]/.man.local > However, a security‐sandboxed man(1) program may lack > permission to open such files. Cc: Ingo Schwarze <schwarze@openbsd.org> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30madvise.2: document reliable probe for advice supportZach O'Keefe1-0/+5
EINVAL is an overloaded error code for madvise(2) and it's not clear under what context it means "advice is not valid" vs another error. Explicitly document that madvise(0, 0, advice) can reliably be used to probe for kernel support for "advice", returning zero iff "advice" is supported by the kernel. Signed-off-by: Zach O'Keefe <zokeefe@google.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30madvise.2: update THP file/shmem documentation for +5.4Zach O'Keefe1-3/+36
Since Linux 5.4, Transparent Huge Pages now support both file-backed memory and shmem memory. Update MADV_HUGEPAGE advice description to reflect this. Additionally, expand the description of requirements for memory to be considered eligible for THP: alignment / mapping requirements, VMA flags, prctl(2) settings, inode status, etc. Signed-off-by: Zach O'Keefe <zokeefe@google.com> [ alx: ffix ] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30FILE.3type: Move page to correct subsectionAlejandro Colomar1-3/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-30Change alx's email addressAlejandro Colomar61-67/+67
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29ioctl_tty.2: Document TIOCSERGETLSR/TIOCSER_TEMTPali Rohár1-1/+15
Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29man-pages.7: Document how to write listsAlejandro Colomar1-0/+58
Reported-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29Many pages: Use a consistent style for listsAlejandro Colomar169-1408/+1408
There are different kinds of lists: Tagged paragraphs These are fixed in a separate commit (the previous one). They are used for a list of tags and their descriptions. An example is this commit message itself. Ordered lists Elements are preceeded by a number in parentheses. These represent a set of steps that have an order. When there are substeps, they will be numbered like (4.2). Positional lists Elements are preceeded by a number in square brackets (index). These represent fields in a set. The index will start at: 0 fields of a C data structure, to be consistent with arrays. 1 fields of a file, to be consistent with tools like cut(1). Alternatives list Elements are preceeded by a letter in parentheses. These represent a set of (normally) exclusive alternatives. Bullet lists Elements are preceeded by bullet symbols. Anything that doesn't fit elsewhere usually is covered by this type of list. Notes Not really a list, but the syntax is identical to "positional lists". There should always be 2 spaces between the list symbol and the elements. This doesn't apply to "tagged paragraphs", which use the default indentation rules. Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29Many pages: Use .TP for tagged paragraphsAlejandro Colomar32-258/+441
Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-25ascii.7: Chase down History to earliestнаб1-3/+1
Cf., well, the UNIX Programmer's Manual: https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf PDF page 191; yes, the typographical convention here is insane, and the contemprary-correct way to refer to this page from within the manual would be /just/ "/etc/ascii", but, given the context, "/etc/ascii (VII)" makes the most sense to me Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-25st.4: srcfixAlejandro Colomar1-4/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23capabilities.7: ffixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23cpuset.7: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23locale.7: srcfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23man-pages.7: ffixAlejandro Colomar1-15/+17
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23src.mk: Fix regex for manual page filesAlejandro Colomar1-1/+1
Without the $, vim(1) temporary files are also found. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-22man-pages.7: Use . consistently in bulleted listMike Frysinger1-1/+1
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-22man-pages.7: Add missing . before macroMike Frysinger1-1/+1
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-21CONTRIBUTING: Rewrite and expandAlejandro Colomar1-29/+166
Put most of the relevant information from the website in the repo. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-21dist.mk: Force adding version to tarball man pagesat 'make dist'Alejandro Colomar1-1/+1
When creating a tarball with 'make dist', force the addition of the date and version to the pages. Otherwise, if a tarball had already been created from a previous commit, and the page hasn't been touched, make will consider the one in the tarball up-to-date, and will keep the old version. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-21RELEASE: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-21Makefile: Remove unnecessary includeAlejandro Colomar1-3/+0
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-21Makefile: Remove installdirs* and builddirs* targetsAlejandro Colomar10-61/+9
Since our makefiles correctly state the dependencies of all targets, and allow fully-parallel builds and installs, there's no reason at all to allow creating the directories separately. That was an old recommendation for when makefiles were buggy, and you couldn't fully trust in them not having races or incorrect dependencies. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20README: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20RELEASE: ffixAlejandro Colomar1-5/+5
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20README, RELEASE, lsm: Rename man-pages.lsm to lsmAlejandro Colomar3-6/+6
It's obvious that it belongs to man-pages, since it's inside the repository tree. Also, since the file is emailed to the LSM project, it doesn't matter what name we give to it. Let's simplify the name. Now only MANDIRS start with 'man*', which is a good thing. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20README: Remove version from LSM file nameAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20RELEASE, man-pages.lsm: Remove version from LSM file nameAlejandro Colomar2-10/+5
It's not necessary, and removing it simplifies maintenance. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20RELEASE, man-pages-6.01.Announce: Remove .Announce fileAlejandro Colomar2-86/+6
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-20README: Rewrite and expandAlejandro Colomar1-15/+89
Let's start making the repository self-contained. The README should be enough to guide a user into everything that has to do with the project. The website should be a secondary source, for those who don't know about the repository yet. I merged some of the information found in the .Announce file, which I'll remove. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19lsm: Fix Title and DescriptionAlejandro Colomar1-2/+5
Use the project name for the Title, and a descriptive Description. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19lsm: Author: Remove fieldAlejandro Colomar1-1/+0
The parser failed to understand several. Since there's nothing useful we can put there that the parser would accept, just remove the field. Acked-by: Aaron Schrab <aaron@schrab.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19RELEASE: Remind to push the git tagAlejandro Colomar1-0/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19RELEASE: Add missing cd(1)Alejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19INSTALL, RELEASE: Add RELEASE file with instructions for releasingAlejandro Colomar2-0/+168
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-19Changes.old: tfixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Revert "cmd.mk, install.mk: Avoid modifying existing directories at 'make ↵Alejandro Colomar2-2/+1
install'" This reverts commit 12b6045567037e783d0c3a79f276a15fd748d3a6. There was no bug, since make(1) only tries to install the directory if there was no directory at all. I was confused. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18cmd.mk, install.mk: Avoid modifying existing directories at 'make install'Alejandro Colomar2-1/+2
'install -d' has an issue compared to 'mkdir -p': it doesn't respect existing directories. It will set the ownership, file mode, and SELinux contexts (and any other property that would be set by install(1) to a newly-created directory), overwriting any existing properties of the existing directory. 'mkdir -p' doesn't have this issue: it is a no-op if the directory exists. However, it's not an ideal solution either, since it can't be used to set the properties (owner, mode, ...) of a newly-created directory. Therefore, the best solution is to use install(1), but only after making sure that the directory doesn't exist with test(1). Reported-by: Andrew Clayton <a.clayton@nginx.com> Reported-by: Alejandro Colomar <alx@nginx.com> Link: <https://github.com/nginx/unit/issues/769> Signed-off-by: Alejandro Colomar <alx@nginx.com>
2022-10-18cmd.mk, install.mk: Move command definitions to cmd.mkAlejandro Colomar2-6/+8
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Start of man-pages-NEXT: Move Changes to Changes.oldAlejandro Colomar2-44/+84
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Ready for 6.01man-pages-6.01Alejandro Colomar2-4/+4
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Changes: Ready for 6.01Alejandro Colomar1-4/+47
A few useful commands: List of contributors: $ git log man-pages-6.00..HEAD \ | grep '<.*@.*>' \ | sed 's/^ *//' \ | sed 's/[^:]*: //' \ | sort \ | uniq; List of new pages: $ git diff man-pages-6.00..HEAD \ | grep -A1 '^--- /dev/null' \ | grep -v -e '\--' -e '\--- /dev/null' \ | sed 's,+++ b/,,' \ | grep '^man' \ | xargs grep -l '^\.so ' \ | sed 's,.*/,,'; List of new links: $ git diff man-pages-6.00..HEAD \ | grep -A1 '^--- /dev/null' \ | grep -v -e '\--' -e '\--- /dev/null' \ | sed 's,+++ b/,,' \ | grep '^man' \ | xargs grep -L '^\.so ' \ | sed 's,.*/,,'; Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18ferror.3: CAVEATS: Need to get EOF before calling these functionsAlejandro Colomar1-0/+14
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18EOF.3const: Add documentation for EOFAlejandro Colomar1-0/+42
Reported-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Makefile: Document the V verbose variableAlejandro Colomar1-0/+7
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18Makefile, build-src.mk, dist.mk, verbose.mk, version.mk: Hide errors unless ↵Alejandro Colomar5-7/+31
V is defined Some commands run by the makefiles are not strictly needed by most users or packagers. Do not print errors if those fail spuriously. However, since we still want to see those errors in some cases, use the V variable to conditionally print those errors. Reported-by: Pierre Labastie <pierre.labastie@neuf.fr> Cc: Agostino Sarubbo <ago@gentoo.org> Cc: Mike Gilbert <floppym@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-18system_data_types.7: fix typo in regmatch_t descriptionMichael Tokarev1-1/+1
The description of rm_eo in regmatch_t structure has a typo which makes it difficult to understand. Fix this. Reported-By: Nicolás A. Ortega Froysa <nicolas@ortegas.org> Signed-off-By: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-14feature_test_macros.7: document _TIME_BITS (time64)Sam James1-0/+15
Some notes: * glibc is the only libc I'm aware of implementing _TIME_BITS for time64 compatibility. It was introduced in glibc-2.34; * musl libc made a hard switch in 1.2.0, see https://musl.libc.org/time64.html; * Using _TIME_BITS=64 with glibc requires _FILE_OFFSET_BITS=64 (which is used for Large File Support)! Extraordinary claims require (some) evidence, so see https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/features-time64.h;h=84d56ee3ff2ecfa0d2499385623f30606f84a1bf. Reference: https://wiki.gentoo.org/wiki/Project:Toolchain/time64_migration Reference: https://sourceware.org/pipermail/libc-alpha/2022-January/134985.html Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-14time_t.3type: reference _TIME_BITS (time64)Sam James1-0/+5
Just like we do with _FILE_OFFSET_BITS in off_t.3type. Reference: https://wiki.gentoo.org/wiki/Project:Toolchain/time64_migration Reference: https://sourceware.org/pipermail/libc-alpha/2022-January/134985.html Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-14feature_test_macros.7: document -D_FORTIFY_SOURCE=3Sam James1-0/+16
Reference: https://developers.redhat.com/blog/2021/04/16/broadening-compiler-checks-for-buffer-overflows-in-_fortify_source Reference: https://developers.redhat.com/articles/2022/09/17/gccs-new-fortification-level Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-12statx.2, open.2: document STATX_DIOALIGNEric Biggers2-11/+72
Document the STATX_DIOALIGN support for statx() (https://git.kernel.org/linus/725737e7c21d2d25). Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Eric Biggers <ebiggers@google.com> [ steve: wfix ] Cc: Steve Izma <sizma@golden.net> [ alx: srcfix ] Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09dist.mk, All pages: .TH: Generate date at 'make dist'Alejandro Colomar1100-1117/+1099
Replace the date by a placeholder (date) in the repo, as we're doing with the version (unreleased). It will be filled when the tarball is generated with 'make dist' (or equivalent) with the date of the most recent git commit that modifies the page (as was done previously by update_timestamps.sh, which has been removed). Scripted change (mostly): $ find man* -type f \ | xargs sed -Ei '/^\.TH /s/.TH +([^ ]+ +[^ ]+) +[^ ]+ +(.*)/.TH \1 (date) \2/' Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-11Changes: tfixJakub Wilk1-1/+1
The past participle of "spread" is just "spread". Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-11prctl.2: tfixJakub Wilk1-1/+1
Escape hyphens. Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-11hier.7: tfixAlejandro Colomar1-1/+1
Reported-by: Grigoriy <grigoriyremvar@protonmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-11fanotify_mark.2: Document FAN_MARK_IGNOREAmir Goldstein1-2/+175
A new flavor of FAN_MARK_IGNORED_MASK that helps to resolve the ambiguity around the combination of event flags and ignore mask. It is also more strict in the events and flags allowed to be set in a non-directory inode mark mask and it mandates the use of FAN_MARK_IGNORED_SURV_MODIFY flag on filesystem, mount and directory inode marks. Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Matthew Bobrowski <repnop@google.com> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-11Start of man-pages-NEXT: Move Changes to Changes.oldAlejandro Colomar2-355/+392
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09Ready for 6.00man-pages-6.00Alejandro Colomar3-12/+11
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09update_timestamps.sh: Ignore inexistent filesAlejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09getent.1, iconv.1, intro.1, ldd.1, locale.1, localedef.1, memusage.1, ↵Alejandro Colomar1100-1100/+1100
memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, add_key.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, bpf.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, close_range.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, exit_group.2, fallocate.2, fanotify_init.2, fanotify_mark.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_fslabel.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, landlock_add_rule.2, landlock_create_ruleset.2, landlock_restrict_self.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, memfd_secret.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, mount_setattr.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, openat2.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pidfd_getfd.2, pidfd_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_madvise.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, recvmmsg.2, remap_file_pages.2, removexattr.2, rename.2, request_key.2, restart_syscall.2, rmdir.2, rt_sigqueueinfo.2, s390_guarded_storage.2, s390_pci_mmio_write.2, s390_runtime_instr.2, s390_sthyi.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, seccomp_unotify.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, sendmmsg.2, set_mempolicy.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setns.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, stime.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, open_how.2type, CPU_SET.3, FILE.3, INFINITY.3, MAX.3, MB_CUR_MAX.3, MB_LEN_MAX.3, _Generic.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_init.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, bswap.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cexp2.3, cfree.3, cimag.3, circleq.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, fileno.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fopencookie.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getusershell.3, getutent.3, getutmp.3, getw.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, group_member.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isfdtype.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, list.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_hook.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, offsetof.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_atfork.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setsigmask_np.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_mutex_consistent.3, pthread_mutexattr_getpshared.3, pthread_mutexattr_init.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_spin_init.3, pthread_spin_lock.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, readdir_r.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sincos.3, sinh.3, sleep.3, slist.3, sockatmark.3, sqrt.3, stailq.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tailq.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, uselocale.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, NULL.3const, sysexits.h.3head, aiocb.3type, blkcnt_t.3type, blksize_t.3type, cc_t.3type, clock_t.3type, clockid_t.3type, dev_t.3type, div_t.3type, double_t.3type, epoll_event.3type, fenv_t.3type, id_t.3type, intN_t.3type, intmax_t.3type, intptr_t.3type, iovec.3type, itimerspec.3type, lconv.3type, mode_t.3type, off_t.3type, ptrdiff_t.3type, regex_t.3type, size_t.3type, sockaddr.3type, stat.3type, time_t.3type, timer_t.3type, timespec.3type, timeval.3type, tm.3type, va_list.3type, void.3type, cciss.4, console_codes.4, cpuid.4, dsp56k.4, fd.4, full.4, fuse.4, hd.4, hpsa.4, initrd.4, intro.4, lirc.4, loop.4, lp.4, mem.4, mouse.4, msr.4, null.4, pts.4, ram.4, random.4, rtc.4, sd.4, sk98lin.4, smartpqi.4, st.4, tty.4, ttyS.4, vcs.4, veth.4, wavelan.4, acct.5, charmap.5, core.5, dir_colors.5, elf.5, filesystems.5, ftpusers.5, gai.conf.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, nss.5, nsswitch.conf.5, passwd.5, proc.5, protocols.5, repertoiremap.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, slabinfo.5, sysfs.5, termcap.5, tmpfs.5, ttytype.5, tzfile.5, utmp.5, intro.6, address_families.7, aio.7, armscii-8.7, arp.7, ascii.7, attributes.7, boot.7, bootparam.7, bpf-helpers.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, complex.7, cp1251.7, cp1252.7, cpuset.7, credentials.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, fifo.7, futex.7, glob.7, hier.7, hostname.7, icmp.7, inode.7, inotify.7, intro.7, ip.7, ipc_namespaces.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, kernel_lockdown.7, keyrings.7, koi8-r.7, koi8-u.7, landlock.7, libc.7, locale.7, mailaddr.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, mq_overview.7, namespaces.7, netdevice.7, netlink.7, network_namespaces.7, nptl.7, numa.7, operator.7, packet.7, path_resolution.7, persistent-keyring.7, pid_namespaces.7, pipe.7, pkeys.7, posixoptions.7, process-keyring.7, pthreads.7, pty.7, queue.7, random.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sched.7, sem_overview.7, session-keyring.7, shm_overview.7, sigevent.7, signal-safety.7, signal.7, sock_diag.7, socket.7, spufs.7, standards.7, suffixes.7, symlink.7, system_data_types.7, sysvipc.7, tcp.7, termio.7, thread-keyring.7, time.7, time_namespaces.7, udp.7, udplite.7, unicode.7, units.7, unix.7, uri.7, user-keyring.7, user-session-keyring.7, user_namespaces.7, utf-8.7, uts_namespaces.7, vdso.7, vsock.7, x25.7, xattr.7, iconvconfig.8, intro.8, ld.so.8, ldconfig.8, nscd.8, sln.8, tzselect.8: tstamp Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09Changes: Ready for 6.00Alejandro Colomar1-3/+356
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-08pivot_root.2: Fix a typo/thinkoŠtěpán Němec1-1/+1
(To obtain a prefix of a given pathname, we have to append (suffix) '/..' at its end.) Signed-off-by: Štěpán Němec <stepnem@smrk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-08memfd_create.2, mlock.2, poll.2, select.2, fopen.3, capabilities.7: tfixŠtěpán Němec6-7/+7
Signed-off-by: Štěpán Němec <stepnem@smrk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-08proc.5: tfixAndrea Cervesato1-2/+0
"KernelPageSize" and "MMUPageSize" are repeated in the /proc/[pid]/smaps format example. Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com> Fixes: 6861f8f0c7 "proc.5: Improve description of the KernelPageSize and [...]" Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-08unix.7: fix section reference wrt lengthMike Frysinger1-1/+1
The description of Linux path length handling has always been in the BUGS section. The commit that added this see-also note incorrectly referred to the NOTES section instead. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-09-29build-src.mk: Fix CPPFLAGSAlejandro Colomar1-3/+2
'-D' flags also correspond to CPPFLAGS, not CFLAGS. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-09-18wcsnlen.3: Fix off-by-one errorAlex Colomar1-1/+1
Same change as in 45323bbef7fb06eec3fa210ee6c1651bbc57c38d. Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-18inet_net_pton.3: tfixAlex Colomar1-1/+1
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-18setxattr.2: ffixAlex Colomar1-6/+6
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-17kcmp.2: EXAMPLES: Make constant string be 'static const'Alex Colomar1-2/+2
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-17Various pages: EXAMPLES: Align variable declarationsAlex Colomar42-219/+225
Also, move some declarations to the top of functions. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15getdents.2: EXAMPLES: Use size_t for an offsetAlex Colomar1-1/+1
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15cmd.mk, lint-man.mk: Use variables for commandsAlex Colomar2-5/+6
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15lint-man.mk: Support both UTF8 and non-UTF8 systemsAlex Colomar1-1/+4
Systems using the C locale can now also run 'make lint', and will test the ascii device. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15Various pages: EXAMPLES: Remove unused variablesAlex Colomar5-5/+5
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15Various pages: EXAMPLES: Use unsigned types for loop iteratorsAlex Colomar46-109/+111
Looping with unsigned types is safer. See the link below. When the iterators are used for accessing an array, use size_t; otherwise, use the most appropriate unsigned type, which in most cases is just 'unsigned int'. Also adjust other variables that have to interact with the iterators, to avoid comparison of integers of different signedness. Link: <https://gustedt.wordpress.com/2013/07/15/a-praise-of-size_t-and-other-unsigned-types/> Cc: Jens Gustedt <jens.gustedt@inria.fr> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15envz_add.3: EXAMPLES: Fix type of variableAlex Colomar1-2/+2
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15printf.3: SYNOPSIS: Remove incorrect headerAlex Colomar1-2/+0
Reported-by: Sam James <sam@gentoo.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15ipv6.7: wfixAlex Colomar1-2/+2
Fixes: 77117f4fc55addbb657d1c87e2f86911d7e432c9 Reported-by: Donald Buczek <buczek@molgen.mpg.de> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-15semop.2: Fix truncated comment on sempidAlex Colomar1-0/+1
Fixes: bdd915e20f87346dc07b93f8f26386feb92d2c44 Reported-by: GUO Zihua <guozihua@huawei.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13mount_setattr.2: EXAMPLES: Remove unused includeAlex Colomar1-1/+0
Reported-by: iwyu(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13__ppc_get_timebase.3, if_nameindex.3, rtime.3: EXAMPLES: wsfixAlex Colomar3-4/+4
Reported-by: cpplint(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13setbuf.3: Don't build example programAlex Colomar1-1/+1
The example program is invalid on purpose; don't build it. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13Various pages: EXAMPLES: Remove unused variablesAlex Colomar2-2/+2
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13build-src.mk, cmd.mk: Add libbsd to the build of example programsAlex Colomar2-14/+22
Some programs need libbsd for using errc(3). Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13getdents.2: EXAMPLES: Sort includesAlex Colomar1-1/+1
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13.checkpatch.conf: Ignore some warningsAlejandro Colomar1-0/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-13Various pages: EXAMPLES: Use <err.h> functionsAlex Colomar27-248/+178
When reporting errors, prefer using conventional <err.h> functions, rather than home-made macros. Home-made macros are necessary for portable programs, so in documentation about portable functions, keep using the macros. However, in the documentation for functions that are only available in GNU/Linux and/or BSD systems, prefer <err.h>, which is available in both systems. Do the same in example programs documenting portable functions but in which we already require _GNU_SOURCE for some other reason. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-13__ppc_get_timebase.3, __ppc_yield.3: Remove incorrect textAlex Colomar2-2/+0
This was accidentally introduced in a scripted change. Fixes: 45186a5da74285d72199744eb5d2888fe348f680 Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Remove unused variablesAlex Colomar13-14/+14
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12matherr.3: EXAMPLES: Can't build programAlex Colomar1-1/+1
The documented functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12getsubopt.3: EXAMPLES: Fix indentationAlex Colomar1-29/+31
Fixes: 645259f4357baa3b3931ae24c79648baa155ebdf Fixes: 35facf001e3682c0bafbdd139d8cfc6a8cb2a301 Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12getpwent_r.3: EXAMPLES: Add missing includeAlex Colomar1-0/+1
Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12fopencookie.3: EXAMPLES: Remove 'else' after 'return'Alex Colomar1-5/+3
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12encrypt.3: SYNOPSIS: Mark functions as [[deprecated]]Alex Colomar1-6/+6
These functions don't exist anymore. Reported-by: clang(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Sort includesAlex Colomar65-108/+117
Reported-by: clang-tidy(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12config.yaml: Ignore some clang-tidy warningsAlex Colomar1-0/+6
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12pthread_setschedparam.3: EXAMPLES: Remove trailing semicolon in macro definitionAlex Colomar1-1/+1
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12mq_getattr.3: EXAMPLES: Octal permissions are more readableAlex Colomar1-1/+1
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Use %s __func__Alex Colomar4-17/+18
Instead of hardcoding the function name. Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Fix alignmentAlex Colomar21-95/+98
In some cases, add braces, for readability. Link: <https://nginx.org/en/docs/dev/development_guide.html#code_style> Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12Various pages: EXAMPLES: Separate variable declarations from the function bodyAlex Colomar11-32/+50
Reported-by: checkpatch(1) Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12rtime.3: EXAMPLES: OptimizeAlex Colomar1-1/+1
Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12bsearch.3: EXAMPLES: Use ARRAY_SIZE()Alex Colomar1-4/+4
This is more generic code, and hopefully, it will inspire other to use such a pattern. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12bsearch.3: EXAMPLES: Separate struct and variable definitionsAlex Colomar1-3/+5
Separate struct definition from variable definition. Also use 'static' and 'const' when possible. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-12_Generic.3: EXAMPLES: Allow taking a pointer to &my_imaxabsAlex Colomar1-4/+7
And show the pointer value in the example, and show also those of &labs and &llabs to compare. Cc: JeanHeyd Meneide <wg14@soasis.org> Cc: Florian Weimer <fweimer@redhat.com> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-10Many pages: EXAMPLES: Add wrapper comments SRC BEGIN and SRC ENDAlejandro Colomar99-3/+209
This is used by the Makefile to extract the example program. Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-09Revert "src.mk, All pages: Move man* to man/"Alejandro Colomar2518-1/+1
This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-06unshare.2: add note about potential capabilities confusionPatrick Reader1-0/+11
Link: <https://bugzilla.kernel.org/show_bug.cgi?id=216215> Signed-off-by: Patrick Reader <_@pxeger.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-06fanotify_mark.2: Document FAN_MARK_EVICTABLEAmir Goldstein1-0/+53
Add section about evictable inode marks and example use case. Add possible error case EEXIST related to evictable marks. Reviewed-by: Matthew Bobrowski <repnop@google.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05src.mk, All pages: Move man* to man/Alejandro Colomar2518-1/+1
The root of the repository is becoming a bit overpopulated and unorganized, due to the recent addition of more mandirs, and more informative and configuration files too. Let's create a specific mandir <man/> that contains the mandirs <man[1-8]*>. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05lint-man.mk: Don't discard unrecognized control sequencesAlejandro Colomar1-0/+1
This shouldn't change anything if everything is correct, but it may help detect some weird bugs in corner cases. Reported-by: Ralph Corderoy <ralph@inputplus.co.uk> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05Revert "lint-man.mk: Use ascii instead of utf8"Alejandro Colomar1-1/+1
This reverts commit f1a71d4a836d48f81832415626d27521854f85c6. The issues motivating that patch were not real, and I guess I had another problem, probably caused by me (EBCAK). Since I can't reproduce the issues that lead to the change, and it's preferrable to test exactly what users will be reading on their terminals, let's use UTF-8 again for the tests, which is what most users will be reading. Reported-by: Ralph Corderoy <ralph@inputplus.co.uk>
2022-09-05NULL.3const: Fix TH lineAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getpw.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
This function is insecure. Use getpwuid(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05matherr.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-2/+2
This is no longer supported by glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05__setfpucw.3: SYNOPSIS: Mark __setfpucw() as [[deprecated]]Alejandro Colomar1-1/+1
The function doesn't exist anymore. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ftw.3: SYNOPSIS: Mark ftw() as [[deprecated]]Alejandro Colomar1-0/+1
Use nftw(3) instead. ftw(3) has issues with [sig]longjmp(3). Link: <https://stackoverflow.com/q/19617783/6872717> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ulimit.3: SYNOPSIS: Mark ulimit() as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ecvt.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-4/+4
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ecvt_r.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-10/+12
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05qecvt.3: SYNOPSIS: Mark q*cvt() as [[deprecated]]Alejandro Colomar1-7/+5
Use snprintf(3) instead. Most Unix systems lack these functions. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ctime.3: SYNOPSIS: Use VLA notation for [as]ctime_r() bufferAlejandro Colomar1-2/+4
As N2417 (a proposal for C2x that was not accepted) suggests. This syntax is very informative, and also, if used by library implementers, can improve static analysis. Since it is backwards compatible with pointer syntax, we can do this. Also, the reason for not being accepted, as Jens noted, was incompatibility with C++. But IMO, that's not something that we should care too much. Users of other languages should know what to expect when reading C code, and are expected to know C/C++ incompatibilities. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Jens Gustedt <jens.gustedt@loria.fr> Cc: Glibc <libc-alpha@sourceware.org>
2022-09-05getpass.3: SYNOPSIS: Mark getpass() as [[deprecated]]Alejandro Colomar1-2/+7
Suggest readpassphrase(3bsd) as an alternative. Some implementations of getpass(3) may suffer from the same issues that gets(3) suffers and some more. See the long discussion in the mailing list for more details (link at the bottom of this commit message). I'll quote some relevant parts here: Eugene Syromyatnikov <evgsyr@gmail.com>: { And the only mention of getpass() in POSIX (at least, since the 2001's edition) indeed seems to be [1], in the list of functions that have not been carried forward from XSH5, the 1997 revision of “System Interfaces and Headers” (that is, SUSv2)[2], where it is inherited from SUSv1[4] from XPG[5] and, as Alejandro already mentioned, marked as obsolete, per XPG3 to XPG4 migration guide[6]; the previous, 1988, version of POSIX[3] does not mention getpass() at all. [1] https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap01.html [2] https://pubs.opengroup.org/onlinepubs/7908799/xsh/getpass.html [3] https://mirror.math.princeton.edu/pub/oldlinux/download/c953.pdf [4] https://pubs.opengroup.org/onlinepubs/9695969499/toc.pdf [5] https://bitsavers.computerhistory.org/pdf/xOpen/X_Open_Portability_Guide_1985/xpg_2_xopen_system_v_specification_2.pdf [6] http://archive.opengroup.org/publications/archive/CDROM/g501.pdf } Theo de Raadt <deraadt@openbsd.org>: { The community finally had the balls to get rid of gets(3). getpass(3) shares the same flaw, that the buffer size isn't passed. This has been an issue in the past, and incorrectly led to readpassphrase(3). readpassphrase(3) has a few too many features/extensions for my taste, but at least it is harder to abuse. } Alejandro Colomar <alx.manpages@gmail.com>: { I found readpassphrase(3) in FreeBSD and OpenBSD. It is also present in libbsd(7), which is available in most Linux distributions. I also found it on a Mac that I have access. NetBSD has getpass_r(3) instead. It is not in any other system I have access. } Zack Weinberg <zack@owlfolio.org>: { I was about to post exactly the same thing. getpass(3) is not deprecated because there's a better replacement, it's deprecated because it's _unsafe_. The glibc implementation wraps getline(3) and therefore doesn't truncate the passphrase or overflow a fixed-size buffer, no matter how long the input is, but portable code cannot rely on that. And come to think of it, using getline(3) means that prefixes of the passphrase may be left lying around in malloc's free lists. (getpass also cannot be made thread safe, due to recycling of a static buffer, but a program in which multiple threads are racing to prompt the user for passwords would be a UX disaster anyway, so I don't think that's a critical flaw the way it is for e.g. strtok(3).) The Linux manpage project's documentation is, as I understand it, for Linux with glibc _first_, but not _only_; it should not describe this function as not-deprecated just because glibc has patched its worst problems and doesn't offer any better API. } List: <https://lore.kernel.org/linux-man/6d8642e9-71f7-4a83-9791-880d04f67d17@www.fastmail.com/T/#t> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Git <git@vger.kernel.org> Cc: Glibc <libc-alpha@sourceware.org> Cc: OpenBSD <tech@openbsd.org> Cc: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Cc: Benoit Lecocq <benoit@openbsd.org> Cc: Klemens Nanni <kn@openbsd.org> Cc: Randall <rsbecker@nexbridge.com> Cc: Eugene Syromyatnikov <evgsyr@gmail.com> Cc: Theo de Raadt <deraadt@openbsd.org> Cc: Zack Weinberg <zack@owlfolio.org> Cc: Florian Weimer <libc-alpha@sourceware.org>
2022-09-05gsignal.3: SYNOPSIS: Mark [gs]signal() as [[deprecated]]Alejandro Colomar1-2/+2
They are obsolete in other systems, and broken in glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05re_comp.3: SYNOPSIS: Mark these functions as [[deprecated]]Alejandro Colomar1-2/+2
They are MT unsafe, and replaced by the MT-safe POSIX regex(3) functions. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05rexec.3: SYNOPSIS: Mark rexec*() as [[deprecated]]Alejandro Colomar1-0/+3
They are insecure, and replaced by rcmd(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05toascii.3: SYNOPSIS: Mark toascii() as [[deprecated]]Alejandro Colomar1-1/+1
It cannot be used portably in a localized application. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05scalb.3: SYNOPSIS: Mark these functions as [[deprecated]]Alejandro Colomar1-3/+3
Use scalbn(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getcwd.3: SYNOPSIS: Use VLA notation for getwd()'s argumentAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gethostbyname.3: Move non-deprecated functions to the topAlejandro Colomar1-15/+15
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gethostbyname.3: SYNOPSIS: Mark several symbols as [[deprecated]]Alejandro Colomar1-6/+10
*hostent*() are the only ones that are not deprecated, AFAICS. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05bcmp.3: SYNOPSIS: Mark bcmp() as [[deprecated]]Alejandro Colomar1-1/+1
Use memcmp(3) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gets.3: SYNOPSIS: Mark gets() as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05resolver.3: SYNOPSIS: Use [[deprecated]] instead of a 'Deprecated' subsectionAlejandro Colomar1-6/+8
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05perror.3: SYNOPSIS: Mark sys_errlist[] and sys_nerr as [[deprecated]]Alejandro Colomar1-2/+3
They are no longer exposed by glibc. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getcwd.3: SYNOPSIS: Mark getwd() as [[deprecated]]Alejandro Colomar1-1/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05strsignal.3: SYNOPSIS: Mark sys_siglist[] as [[deprecated]]Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05inet.3: SYNOPSIS: Mark inet_ntoa() as [[deprecated]]Alejandro Colomar1-1/+1
See inet_ntop(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05strcpy.3: SYNOPSIS: Add missing 'restrict'Alejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05pthread_mutexattr_setrobust.3: SYNOPSIS: Mark *_np() old functions as ↵Alejandro Colomar1-0/+2
[[deprecated]] Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05readdir_r.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-2/+3
Glibc: dirent/dirent.h:183: extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __nonnull ((1, 2, 3)) __attribute_deprecated__; Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05pthread_yield.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
sched_yield(3) is identical and is in POSIX. See glibc commit c2fd60a5861efef48252f5cc7efc70e1d8a0da9a. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getipnodebyname.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-5/+6
These functions are not anymore in glibc. All other systems call them deprecated. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05gamma.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-3/+3
These functions are misleading, and in some systems mean a different thing (tgamma(3) vs lgamma(3)). Never use gamma(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05bcopy.3: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
memmove(3) completely replaces bcopy(3), being an almost identical function, except for the different order in the arguments. memmove(3) is part of ISO C and POSIX. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05uselib.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-4/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05sysfs.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-3/+3
Use proc(5) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05setpgid.2: SYNOPSIS: Mark BSD versions of getpgrp() and setpgrp() as ↵Alejandro Colomar1-4/+4
[[deprecated]] The BSD version of getpgrp(2) was superseeded by the POSIX one. The BSD version of setpgrp(2) was superseeded by the POSIX one. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05futimesat.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-2/+2
Use utimensat(2) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05sgetmask.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-7/+2
Use sigprocmask(2) instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05tkill.2: SYNOPSIS: Mark tkill() as [[deprecated]]Alejandro Colomar1-1/+1
tkill(2) has been superseeded by tgkill(2). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05sysctl.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
This syscall no longer exists! Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05pthread_mutex_consistent.3: Mark *_np() old function as [[deprecated]]Alejandro Colomar1-0/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05ustat.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
Glibc 2.28 removed the wrapper for this syscall. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05stime.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
This syscall was removed from glibc 2.31 for newly linked programs. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05statfs.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-2/+2
LSB deprecated these syscalls in favor of [f]statvfs(3). Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05sigprocmask.2: SYNOPSIS: Mark the legacy system call as [[deprecated]]Alejandro Colomar1-5/+7
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05remap_file_pages.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-2/+3
This syscall was marked as deprecated in Linux 3.16. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05query_module.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-5/+3
This syscall was removed in Linux 2.6. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05iopl.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-1/+1
ioperm(2) is recommended instead. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05getunwind.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-7/+2
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05get_kernel_syms.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-4/+1
This syscall was removed in Linux 2.6. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05create_module.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-4/+1
This syscall was removed in Linux 2.6. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05bdflush.2: SYNOPSIS: Mark as [[deprecated]]Alejandro Colomar1-5/+2
This syscal is not supported anymore by glibc, and does nothing. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05NULL.3const: Add documentation for NULLAlejandro Colomar1-0/+74
Reported-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Ralph Corderoy <ralph@inputplus.co.uk> Cc: Ingo Schwarze <schwarze@usta.de> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05Makefile, install-man.mk: Adapt makefiles to new 3const subsectionAlejandro Colomar2-1/+8
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-05Various pages: SYNOPSIS: ffixAlejandro Colomar13-30/+30
Enclose struct/union definitions in EX/EE. nf/fi produces alignment issues in output devices where the font is not monospaced. EX/EE forces use of monospaced font, so it's more appropriate to format SYNOPSIS that contain structure types, where alignment is essential. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-02ioctl_console.2: document all extant TIOCLINUX subcodes as of 6.0 (2.6.17)наб1-1/+42
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-02ioctl_console.2: devices/char/console.c and sel_buffer don't exist anymoreнаб1-2/+1
And haven't for over a decade. Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-02ioctl_console.2: use symbolic subcodesнаб1-12/+18
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Cc: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-01hosts.5: Use "example.org" as example domainJakub Wilk1-3/+3
Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-01sysvipc.7: tfixŠtěpán Němec1-1/+1
Signed-off-by: Štěpán Němec <stepnem@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-09-01ioctl_console.2: ffixнаб1-11/+11
Separate TIOCLINUX from subcode: they're separate variables Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>