summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Fouces <marcos@debian.org>2022-12-28 18:03:52 +0100
committerMarcos Fouces <marcos@debian.org>2022-12-28 18:03:52 +0100
commit302d6ead5e3250131aaa03aef4c7930eba523ef7 (patch)
treeecaaa1f2459a91ab4878668ed242edf0291a6ead
parent93b695e5d5f1f93577c6d46678c69e1a77e3524d (diff)
New upstream version 6.02
-rw-r--r--.mailmap4
-rw-r--r--CONTRIBUTING237
-rw-r--r--Changes130
-rw-r--r--Changes.old94
-rw-r--r--INSTALL189
-rw-r--r--MAINTAINER_NOTES11
-rw-r--r--Makefile26
-rw-r--r--README107
-rw-r--r--RELEASE213
-rw-r--r--lib/build-html.mk8
-rw-r--r--lib/build-src.mk10
-rw-r--r--lib/build.mk2
-rw-r--r--lib/cmd.mk11
-rw-r--r--lib/dist.mk12
-rw-r--r--lib/install-html.mk8
-rw-r--r--lib/install-man.mk12
-rw-r--r--lib/install.mk17
-rw-r--r--lib/lint-c.mk4
-rw-r--r--lib/lint-man.mk42
-rw-r--r--lib/lint.mk6
-rw-r--r--lib/src.mk4
-rw-r--r--lib/verbose.mk2
-rw-r--r--lib/version.mk2
-rw-r--r--lsm15
-rw-r--r--man-pages-6.01.Announce61
-rw-r--r--man-pages-6.01.lsm14
-rw-r--r--man1/getent.12
-rw-r--r--man1/iconv.16
-rw-r--r--man1/intro.12
-rw-r--r--man1/ldd.14
-rw-r--r--man1/locale.16
-rw-r--r--man1/localedef.18
-rw-r--r--man1/memusage.12
-rw-r--r--man1/memusagestat.12
-rw-r--r--man1/mtrace.12
-rw-r--r--man1/pldd.14
-rw-r--r--man1/sprof.12
-rw-r--r--man1/time.12
-rw-r--r--man2/_exit.28
-rw-r--r--man2/_syscall.22
-rw-r--r--man2/accept.212
-rw-r--r--man2/access.214
-rw-r--r--man2/acct.24
-rw-r--r--man2/add_key.24
-rw-r--r--man2/adjtimex.223
-rw-r--r--man2/alarm.22
-rw-r--r--man2/alloc_hugepages.210
-rw-r--r--man2/arch_prctl.22
-rw-r--r--man2/bdflush.24
-rw-r--r--man2/bind.22
-rw-r--r--man2/bpf.287
-rw-r--r--man2/brk.24
-rw-r--r--man2/cacheflush.26
-rw-r--r--man2/capget.212
-rw-r--r--man2/chdir.22
-rw-r--r--man2/chmod.216
-rw-r--r--man2/chown.224
-rw-r--r--man2/chroot.22
-rw-r--r--man2/clock_getres.25
-rw-r--r--man2/clock_nanosleep.26
-rw-r--r--man2/clone.247
-rw-r--r--man2/close.26
-rw-r--r--man2/close_range.24
-rw-r--r--man2/connect.29
-rw-r--r--man2/copy_file_range.229
-rw-r--r--man2/create_module.210
-rw-r--r--man2/delete_module.218
-rw-r--r--man2/dup.215
-rw-r--r--man2/epoll_create.210
-rw-r--r--man2/epoll_ctl.212
-rw-r--r--man2/epoll_wait.225
-rw-r--r--man2/eventfd.225
-rw-r--r--man2/execve.282
-rw-r--r--man2/execveat.29
-rw-r--r--man2/exit_group.24
-rw-r--r--man2/fallocate.228
-rw-r--r--man2/fanotify_init.227
-rw-r--r--man2/fanotify_mark.227
-rw-r--r--man2/fcntl.221
-rw-r--r--man2/flock.28
-rw-r--r--man2/fork.254
-rw-r--r--man2/fsync.22
-rw-r--r--man2/futex.242
-rw-r--r--man2/futimesat.26
-rw-r--r--man2/get_kernel_syms.28
-rw-r--r--man2/get_mempolicy.28
-rw-r--r--man2/get_robust_list.22
-rw-r--r--man2/getcpu.211
-rw-r--r--man2/getdents.24
-rw-r--r--man2/getdomainname.22
-rw-r--r--man2/getgid.22
-rw-r--r--man2/getgroups.24
-rw-r--r--man2/gethostname.210
-rw-r--r--man2/getitimer.216
-rw-r--r--man2/getpagesize.24
-rw-r--r--man2/getpeername.22
-rw-r--r--man2/getpid.26
-rw-r--r--man2/getpriority.24
-rw-r--r--man2/getrandom.215
-rw-r--r--man2/getresuid.26
-rw-r--r--man2/getrlimit.236
-rw-r--r--man2/getrusage.211
-rw-r--r--man2/getsid.24
-rw-r--r--man2/getsockname.22
-rw-r--r--man2/getsockopt.28
-rw-r--r--man2/gettid.24
-rw-r--r--man2/gettimeofday.28
-rw-r--r--man2/getuid.22
-rw-r--r--man2/getunwind.26
-rw-r--r--man2/getxattr.212
-rw-r--r--man2/idle.24
-rw-r--r--man2/init_module.211
-rw-r--r--man2/inotify_add_watch.22
-rw-r--r--man2/inotify_init.26
-rw-r--r--man2/inotify_rm_watch.22
-rw-r--r--man2/intro.28
-rw-r--r--man2/io_cancel.22
-rw-r--r--man2/io_destroy.22
-rw-r--r--man2/io_getevents.22
-rw-r--r--man2/io_setup.22
-rw-r--r--man2/io_submit.22
-rw-r--r--man2/ioctl.22
-rw-r--r--man2/ioctl_console.236
-rw-r--r--man2/ioctl_fat.22
-rw-r--r--man2/ioctl_ficlonerange.22
-rw-r--r--man2/ioctl_fideduperange.22
-rw-r--r--man2/ioctl_fslabel.22
-rw-r--r--man2/ioctl_getfsmap.22
-rw-r--r--man2/ioctl_iflags.22
-rw-r--r--man2/ioctl_ns.22
-rw-r--r--man2/ioctl_tty.225
-rw-r--r--man2/ioctl_userfaultfd.26
-rw-r--r--man2/ioperm.22
-rw-r--r--man2/iopl.22
-rw-r--r--man2/ioprio_set.26
-rw-r--r--man2/ipc.22
-rw-r--r--man2/kcmp.216
-rw-r--r--man2/kexec_load.28
-rw-r--r--man2/keyctl.224
-rw-r--r--man2/kill.210
-rw-r--r--man2/landlock_add_rule.22
-rw-r--r--man2/landlock_create_ruleset.22
-rw-r--r--man2/landlock_restrict_self.22
-rw-r--r--man2/link.212
-rw-r--r--man2/listen.212
-rw-r--r--man2/listxattr.212
-rw-r--r--man2/llseek.22
-rw-r--r--man2/lookup_dcookie.24
-rw-r--r--man2/lseek.220
-rw-r--r--man2/madvise.2141
-rw-r--r--man2/mbind.215
-rw-r--r--man2/membarrier.23
-rw-r--r--man2/memfd_create.220
-rw-r--r--man2/memfd_secret.22
-rw-r--r--man2/migrate_pages.24
-rw-r--r--man2/mincore.26
-rw-r--r--man2/mkdir.26
-rw-r--r--man2/mknod.26
-rw-r--r--man2/mlock.215
-rw-r--r--man2/mmap.225
-rw-r--r--man2/mmap2.22
-rw-r--r--man2/modify_ldt.24
-rw-r--r--man2/mount.238
-rw-r--r--man2/mount_setattr.26
-rw-r--r--man2/move_pages.216
-rw-r--r--man2/mprotect.28
-rw-r--r--man2/mq_getsetattr.22
-rw-r--r--man2/mremap.234
-rw-r--r--man2/msgctl.23
-rw-r--r--man2/msgget.26
-rw-r--r--man2/msgop.218
-rw-r--r--man2/msync.24
-rw-r--r--man2/nanosleep.27
-rw-r--r--man2/nfsservctl.26
-rw-r--r--man2/nice.22
-rw-r--r--man2/open.260
-rw-r--r--man2/open_by_handle_at.212
-rw-r--r--man2/openat2.26
-rw-r--r--man2/outb.214
-rw-r--r--man2/pause.22
-rw-r--r--man2/pciconfig_read.22
-rw-r--r--man2/perf_event_open.238
-rw-r--r--man2/perfmonctl.24
-rw-r--r--man2/personality.27
-rw-r--r--man2/pidfd_getfd.24
-rw-r--r--man2/pidfd_open.26
-rw-r--r--man2/pidfd_send_signal.223
-rw-r--r--man2/pipe.213
-rw-r--r--man2/pivot_root.214
-rw-r--r--man2/pkey_alloc.24
-rw-r--r--man2/poll.215
-rw-r--r--man2/posix_fadvise.212
-rw-r--r--man2/prctl.246
-rw-r--r--man2/pread.217
-rw-r--r--man2/process_madvise.233
-rw-r--r--man2/process_vm_readv.24
-rw-r--r--man2/ptrace.254
-rw-r--r--man2/query_module.215
-rw-r--r--man2/quotactl.28
-rw-r--r--man2/read.26
-rw-r--r--man2/readahead.24
-rw-r--r--man2/readdir.22
-rw-r--r--man2/readlink.28
-rw-r--r--man2/readv.212
-rw-r--r--man2/reboot.210
-rw-r--r--man2/recv.213
-rw-r--r--man2/recvmmsg.24
-rw-r--r--man2/remap_file_pages.210
-rw-r--r--man2/removexattr.26
-rw-r--r--man2/rename.218
-rw-r--r--man2/request_key.236
-rw-r--r--man2/restart_syscall.22
-rw-r--r--man2/rmdir.22
-rw-r--r--man2/rt_sigqueueinfo.210
-rw-r--r--man2/s390_guarded_storage.22
-rw-r--r--man2/s390_pci_mmio_write.27
-rw-r--r--man2/s390_runtime_instr.22
-rw-r--r--man2/s390_sthyi.22
-rw-r--r--man2/sched_get_priority_max.22
-rw-r--r--man2/sched_rr_get_interval.22
-rw-r--r--man2/sched_setaffinity.24
-rw-r--r--man2/sched_setattr.24
-rw-r--r--man2/sched_setparam.22
-rw-r--r--man2/sched_setscheduler.22
-rw-r--r--man2/sched_yield.22
-rw-r--r--man2/seccomp.258
-rw-r--r--man2/seccomp_unotify.260
-rw-r--r--man2/select.230
-rw-r--r--man2/select_tut.24
-rw-r--r--man2/semctl.23
-rw-r--r--man2/semget.28
-rw-r--r--man2/semop.216
-rw-r--r--man2/send.28
-rw-r--r--man2/sendfile.213
-rw-r--r--man2/sendmmsg.24
-rw-r--r--man2/set_mempolicy.24
-rw-r--r--man2/set_thread_area.22
-rw-r--r--man2/set_tid_address.22
-rw-r--r--man2/seteuid.22
-rw-r--r--man2/setfsgid.24
-rw-r--r--man2/setfsuid.24
-rw-r--r--man2/setgid.22
-rw-r--r--man2/setns.28
-rw-r--r--man2/setpgid.22
-rw-r--r--man2/setresuid.24
-rw-r--r--man2/setreuid.22
-rw-r--r--man2/setsid.22
-rw-r--r--man2/setuid.22
-rw-r--r--man2/setup.22
-rw-r--r--man2/setxattr.212
-rw-r--r--man2/sgetmask.22
-rw-r--r--man2/shmctl.217
-rw-r--r--man2/shmget.26
-rw-r--r--man2/shmop.213
-rw-r--r--man2/shutdown.22
-rw-r--r--man2/sigaction.251
-rw-r--r--man2/sigaltstack.27
-rw-r--r--man2/signal.26
-rw-r--r--man2/signalfd.214
-rw-r--r--man2/sigpending.24
-rw-r--r--man2/sigprocmask.217
-rw-r--r--man2/sigreturn.24
-rw-r--r--man2/sigsuspend.22
-rw-r--r--man2/sigwaitinfo.26
-rw-r--r--man2/socket.23
-rw-r--r--man2/socketcall.23
-rw-r--r--man2/socketpair.22
-rw-r--r--man2/splice.224
-rw-r--r--man2/spu_create.24
-rw-r--r--man2/spu_run.24
-rw-r--r--man2/stat.26
-rw-r--r--man2/statfs.22
-rw-r--r--man2/statx.25
-rw-r--r--man2/stime.22
-rw-r--r--man2/subpage_prot.24
-rw-r--r--man2/swapon.216
-rw-r--r--man2/symlink.28
-rw-r--r--man2/sync.28
-rw-r--r--man2/sync_file_range.24
-rw-r--r--man2/syscall.219
-rw-r--r--man2/syscalls.2147
-rw-r--r--man2/sysctl.24
-rw-r--r--man2/sysfs.22
-rw-r--r--man2/sysinfo.22
-rw-r--r--man2/syslog.213
-rw-r--r--man2/tee.24
-rw-r--r--man2/time.24
-rw-r--r--man2/timer_create.237
-rw-r--r--man2/timer_delete.22
-rw-r--r--man2/timer_getoverrun.22
-rw-r--r--man2/timer_settime.24
-rw-r--r--man2/timerfd_create.218
-rw-r--r--man2/times.28
-rw-r--r--man2/tkill.24
-rw-r--r--man2/truncate.22
-rw-r--r--man2/umask.22
-rw-r--r--man2/umount.26
-rw-r--r--man2/uname.22
-rw-r--r--man2/unimplemented.22
-rw-r--r--man2/unlink.28
-rw-r--r--man2/unshare.24
-rw-r--r--man2/uselib.24
-rw-r--r--man2/userfaultfd.216
-rw-r--r--man2/ustat.28
-rw-r--r--man2/utime.28
-rw-r--r--man2/utimensat.231
-rw-r--r--man2/vfork.217
-rw-r--r--man2/vhangup.22
-rw-r--r--man2/vm86.22
-rw-r--r--man2/vmsplice.24
-rw-r--r--man2/wait.230
-rw-r--r--man2/wait4.211
-rw-r--r--man2/write.26
-rw-r--r--man2type/open_how.2type4
-rw-r--r--man3/CPU_SET.32
-rw-r--r--man3/INFINITY.32
-rw-r--r--man3/MAX.34
-rw-r--r--man3/MB_CUR_MAX.32
-rw-r--r--man3/MB_LEN_MAX.32
-rw-r--r--man3/_Generic.395
-rw-r--r--man3/_Static_assert.31
-rw-r--r--man3/__ppc_get_timebase.36
-rw-r--r--man3/__ppc_set_ppr_med.317
-rw-r--r--man3/__ppc_yield.35
-rw-r--r--man3/__setfpucw.38
-rw-r--r--man3/a64l.37
-rw-r--r--man3/abort.35
-rw-r--r--man3/abs.38
-rw-r--r--man3/acos.33
-rw-r--r--man3/acosh.33
-rw-r--r--man3/addseverity.35
-rw-r--r--man3/adjtime.33
-rw-r--r--man3/aio_cancel.33
-rw-r--r--man3/aio_error.319
-rw-r--r--man3/aio_fsync.33
-rw-r--r--man3/aio_init.32
-rw-r--r--man3/aio_read.33
-rw-r--r--man3/aio_return.33
-rw-r--r--man3/aio_suspend.39
-rw-r--r--man3/aio_write.33
-rw-r--r--man3/alloca.37
-rw-r--r--man3/argz_add.33
-rw-r--r--man3/asin.33
-rw-r--r--man3/asinh.33
-rw-r--r--man3/asprintf.33
-rw-r--r--man3/assert.33
-rw-r--r--man3/assert_perror.33
-rw-r--r--man3/atan.33
-rw-r--r--man3/atan2.33
-rw-r--r--man3/atanh.35
-rw-r--r--man3/atexit.33
-rw-r--r--man3/atof.33
-rw-r--r--man3/atoi.35
-rw-r--r--man3/backtrace.320
-rw-r--r--man3/basename.33
-rw-r--r--man3/bcmp.36
-rw-r--r--man3/bcopy.36
-rw-r--r--man3/bindresvport.33
-rw-r--r--man3/bsd_signal.33
-rw-r--r--man3/bsearch.39
-rw-r--r--man3/bstring.327
-rw-r--r--man3/bswap.32
-rw-r--r--man3/btowc.33
-rw-r--r--man3/btree.36
-rw-r--r--man3/byteorder.33
-rw-r--r--man3/bzero.311
-rw-r--r--man3/cabs.35
-rw-r--r--man3/cacos.35
-rw-r--r--man3/cacosh.35
-rw-r--r--man3/canonicalize_file_name.33
-rw-r--r--man3/carg.35
-rw-r--r--man3/casin.35
-rw-r--r--man3/casinh.35
-rw-r--r--man3/catan.35
-rw-r--r--man3/catanh.35
-rw-r--r--man3/catgets.33
-rw-r--r--man3/catopen.33
-rw-r--r--man3/cbrt.33
-rw-r--r--man3/ccos.35
-rw-r--r--man3/ccosh.34
-rw-r--r--man3/ceil.33
-rw-r--r--man3/cexp.35
-rw-r--r--man3/cexp2.34
-rw-r--r--man3/cfree.313
-rw-r--r--man3/cimag.35
-rw-r--r--man3/circleq.34
-rw-r--r--man3/clearenv.35
-rw-r--r--man3/clock.33
-rw-r--r--man3/clock_getcpuclockid.35
-rw-r--r--man3/clog.35
-rw-r--r--man3/clog10.35
-rw-r--r--man3/clog2.34
-rw-r--r--man3/closedir.33
-rw-r--r--man3/cmsg.314
-rw-r--r--man3/confstr.37
-rw-r--r--man3/conj.35
-rw-r--r--man3/copysign.33
-rw-r--r--man3/cos.35
-rw-r--r--man3/cosh.35
-rw-r--r--man3/cpow.37
-rw-r--r--man3/cproj.35
-rw-r--r--man3/creal.35
-rw-r--r--man3/crypt.33
-rw-r--r--man3/csin.35
-rw-r--r--man3/csinh.35
-rw-r--r--man3/csqrt.35
-rw-r--r--man3/ctan.35
-rw-r--r--man3/ctanh.35
-rw-r--r--man3/ctermid.35
-rw-r--r--man3/ctime.33
-rw-r--r--man3/daemon.33
-rw-r--r--man3/dbopen.36
-rw-r--r--man3/des_crypt.311
-rw-r--r--man3/difftime.33
-rw-r--r--man3/dirfd.35
-rw-r--r--man3/div.33
-rw-r--r--man3/dl_iterate_phdr.35
-rw-r--r--man3/dladdr.33
-rw-r--r--man3/dlerror.33
-rw-r--r--man3/dlinfo.311
-rw-r--r--man3/dlopen.313
-rw-r--r--man3/dlsym.33
-rw-r--r--man3/drand48.35
-rw-r--r--man3/drand48_r.35
-rw-r--r--man3/duplocale.38
-rw-r--r--man3/dysize.33
-rw-r--r--man3/ecvt.35
-rw-r--r--man3/ecvt_r.35
-rw-r--r--man3/encrypt.33
-rw-r--r--man3/end.32
-rw-r--r--man3/endian.34
-rw-r--r--man3/envz_add.33
-rw-r--r--man3/erf.33
-rw-r--r--man3/erfc.33
-rw-r--r--man3/err.311
-rw-r--r--man3/errno.318
-rw-r--r--man3/error.33
-rw-r--r--man3/ether_aton.33
-rw-r--r--man3/euidaccess.35
-rw-r--r--man3/exec.33
-rw-r--r--man3/exit.35
-rw-r--r--man3/exp.33
-rw-r--r--man3/exp10.37
-rw-r--r--man3/exp2.35
-rw-r--r--man3/expm1.313
-rw-r--r--man3/fabs.33
-rw-r--r--man3/fclose.33
-rw-r--r--man3/fcloseall.33
-rw-r--r--man3/fdim.37
-rw-r--r--man3/fenv.322
-rw-r--r--man3/ferror.33
-rw-r--r--man3/fexecve.33
-rw-r--r--man3/fflush.33
-rw-r--r--man3/ffs.35
-rw-r--r--man3/fgetc.36
-rw-r--r--man3/fgetgrent.33
-rw-r--r--man3/fgetpwent.33
-rw-r--r--man3/fgetwc.33
-rw-r--r--man3/fgetws.35
-rw-r--r--man3/fileno.33
-rw-r--r--man3/finite.313
-rw-r--r--man3/flockfile.33
-rw-r--r--man3/floor.33
-rw-r--r--man3/fma.35
-rw-r--r--man3/fmax.35
-rw-r--r--man3/fmemopen.320
-rw-r--r--man3/fmin.35
-rw-r--r--man3/fmod.35
-rw-r--r--man3/fmtmsg.35
-rw-r--r--man3/fnmatch.33
-rw-r--r--man3/fopen.35
-rw-r--r--man3/fopencookie.39
-rw-r--r--man3/fpathconf.311
-rw-r--r--man3/fpclassify.33
-rw-r--r--man3/fpurge.33
-rw-r--r--man3/fputwc.33
-rw-r--r--man3/fputws.33
-rw-r--r--man3/fread.310
-rw-r--r--man3/frexp.33
-rw-r--r--man3/fseek.33
-rw-r--r--man3/fseeko.35
-rw-r--r--man3/ftime.33
-rw-r--r--man3/ftok.33
-rw-r--r--man3/fts.35
-rw-r--r--man3/ftw.311
-rw-r--r--man3/futimes.35
-rw-r--r--man3/fwide.32
-rw-r--r--man3/gamma.33
-rw-r--r--man3/gcvt.35
-rw-r--r--man3/get_nprocs.397
-rw-r--r--man3/get_nprocs_conf.396
-rw-r--r--man3/get_phys_pages.32
-rw-r--r--man3/getaddrinfo.39
-rw-r--r--man3/getaddrinfo_a.311
-rw-r--r--man3/getauxval.35
-rw-r--r--man3/getcontext.39
-rw-r--r--man3/getcwd.37
-rw-r--r--man3/getdate.33
-rw-r--r--man3/getdirentries.36
-rw-r--r--man3/getdtablesize.35
-rw-r--r--man3/getentropy.34
-rw-r--r--man3/getenv.39
-rw-r--r--man3/getfsent.33
-rw-r--r--man3/getgrent.35
-rw-r--r--man3/getgrent_r.37
-rw-r--r--man3/getgrnam.311
-rw-r--r--man3/getgrouplist.35
-rw-r--r--man3/gethostbyname.323
-rw-r--r--man3/gethostid.35
-rw-r--r--man3/getifaddrs.33
-rw-r--r--man3/getipnodebyname.34
-rw-r--r--man3/getline.33
-rw-r--r--man3/getloadavg.35
-rw-r--r--man3/getlogin.35
-rw-r--r--man3/getmntent.35
-rw-r--r--man3/getnameinfo.313
-rw-r--r--man3/getnetent.35
-rw-r--r--man3/getnetent_r.39
-rw-r--r--man3/getopt.311
-rw-r--r--man3/getpass.35
-rw-r--r--man3/getprotoent.33
-rw-r--r--man3/getprotoent_r.39
-rw-r--r--man3/getpt.35
-rw-r--r--man3/getpw.33
-rw-r--r--man3/getpwent.35
-rw-r--r--man3/getpwent_r.37
-rw-r--r--man3/getpwnam.315
-rw-r--r--man3/getrpcent.33
-rw-r--r--man3/getrpcent_r.39
-rw-r--r--man3/getrpcport.33
-rw-r--r--man3/gets.35
-rw-r--r--man3/getservent.33
-rw-r--r--man3/getservent_r.39
-rw-r--r--man3/getspnam.315
-rw-r--r--man3/getsubopt.33
-rw-r--r--man3/getttyent.33
-rw-r--r--man3/getusershell.33
-rw-r--r--man3/getutent.33
-rw-r--r--man3/getutmp.35
-rw-r--r--man3/getw.35
-rw-r--r--man3/getwchar.33
-rw-r--r--man3/glob.33
-rw-r--r--man3/gnu_get_libc_version.35
-rw-r--r--man3/grantpt.35
-rw-r--r--man3/group_member.32
-rw-r--r--man3/gsignal.33
-rw-r--r--man3/hash.36
-rw-r--r--man3/hsearch.35
-rw-r--r--man3/hypot.33
-rw-r--r--man3/iconv.313
-rw-r--r--man3/iconv_close.35
-rw-r--r--man3/iconv_open.35
-rw-r--r--man3/if_nameindex.33
-rw-r--r--man3/if_nametoindex.33
-rw-r--r--man3/ilogb.39
-rw-r--r--man3/index.33
-rw-r--r--man3/inet.33
-rw-r--r--man3/inet_net_pton.320
-rw-r--r--man3/inet_ntop.35
-rw-r--r--man3/inet_pton.39
-rw-r--r--man3/initgroups.33
-rw-r--r--man3/insque.35
-rw-r--r--man3/intro.333
-rw-r--r--man3/isalpha.35
-rw-r--r--man3/isatty.33
-rw-r--r--man3/isfdtype.32
-rw-r--r--man3/isgreater.33
-rw-r--r--man3/iswalnum.33
-rw-r--r--man3/iswalpha.33
-rw-r--r--man3/iswblank.33
-rw-r--r--man3/iswcntrl.33
-rw-r--r--man3/iswctype.35
-rw-r--r--man3/iswdigit.33
-rw-r--r--man3/iswgraph.33
-rw-r--r--man3/iswlower.33
-rw-r--r--man3/iswprint.33
-rw-r--r--man3/iswpunct.33
-rw-r--r--man3/iswspace.33
-rw-r--r--man3/iswupper.33
-rw-r--r--man3/iswxdigit.33
-rw-r--r--man3/j0.33
-rw-r--r--man3/key_setsecret.33
-rw-r--r--man3/killpg.32
-rw-r--r--man3/ldexp.33
-rw-r--r--man3/lgamma.34
-rw-r--r--man3/lio_listio.33
-rw-r--r--man3/list.34
-rw-r--r--man3/localeconv.33
-rw-r--r--man3/lockf.35
-rw-r--r--man3/log.33
-rw-r--r--man3/log10.33
-rw-r--r--man3/log1p.37
-rw-r--r--man3/log2.35
-rw-r--r--man3/logb.33
-rw-r--r--man3/login.33
-rw-r--r--man3/lrint.35
-rw-r--r--man3/lround.35
-rw-r--r--man3/lsearch.317
-rw-r--r--man3/lseek64.35
-rw-r--r--man3/makecontext.37
-rw-r--r--man3/makedev.33
-rw-r--r--man3/mallinfo.33
-rw-r--r--man3/malloc.39
-rw-r--r--man3/malloc_get_state.35
-rw-r--r--man3/malloc_hook.32
-rw-r--r--man3/malloc_info.35
-rw-r--r--man3/malloc_stats.33
-rw-r--r--man3/malloc_trim.33
-rw-r--r--man3/malloc_usable_size.33
-rw-r--r--man3/mallopt.328
-rw-r--r--man3/matherr.33
-rw-r--r--man3/mblen.35
-rw-r--r--man3/mbrlen.35
-rw-r--r--man3/mbrtowc.38
-rw-r--r--man3/mbsinit.33
-rw-r--r--man3/mbsnrtowcs.311
-rw-r--r--man3/mbsrtowcs.311
-rw-r--r--man3/mbstowcs.312
-rw-r--r--man3/mbtowc.37
-rw-r--r--man3/mcheck.33
-rw-r--r--man3/memccpy.35
-rw-r--r--man3/memchr.313
-rw-r--r--man3/memcmp.35
-rw-r--r--man3/memcpy.37
-rw-r--r--man3/memfrob.35
-rw-r--r--man3/memmem.312
-rw-r--r--man3/memmove.35
-rw-r--r--man3/mempcpy.315
-rw-r--r--man3/memset.35
-rw-r--r--man3/mkdtemp.33
-rw-r--r--man3/mkfifo.37
-rw-r--r--man3/mkstemp.37
-rw-r--r--man3/mktemp.35
-rw-r--r--man3/modf.33
-rw-r--r--man3/mpool.36
-rw-r--r--man3/mq_close.35
-rw-r--r--man3/mq_getattr.33
-rw-r--r--man3/mq_notify.33
-rw-r--r--man3/mq_open.35
-rw-r--r--man3/mq_receive.38
-rw-r--r--man3/mq_send.37
-rw-r--r--man3/mq_unlink.33
-rw-r--r--man3/mtrace.33
-rw-r--r--man3/nan.35
-rw-r--r--man3/netlink.32
-rw-r--r--man3/newlocale.312
-rw-r--r--man3/nextafter.37
-rw-r--r--man3/nextup.35
-rw-r--r--man3/nl_langinfo.33
-rw-r--r--man3/ntp_gettime.33
-rw-r--r--man3/offsetof.32
-rw-r--r--man3/on_exit.33
-rw-r--r--man3/open_memstream.35
-rw-r--r--man3/opendir.35
-rw-r--r--man3/openpty.35
-rw-r--r--man3/perror.37
-rw-r--r--man3/popen.33
-rw-r--r--man3/posix_fallocate.311
-rw-r--r--man3/posix_madvise.36
-rw-r--r--man3/posix_memalign.37
-rw-r--r--man3/posix_openpt.35
-rw-r--r--man3/posix_spawn.340
-rw-r--r--man3/pow.313
-rw-r--r--man3/pow10.35
-rw-r--r--man3/printf.313
-rw-r--r--man3/profil.33
-rw-r--r--man3/program_invocation_name.32
-rw-r--r--man3/psignal.311
-rw-r--r--man3/pthread_atfork.38
-rw-r--r--man3/pthread_attr_init.33
-rw-r--r--man3/pthread_attr_setaffinity_np.35
-rw-r--r--man3/pthread_attr_setdetachstate.33
-rw-r--r--man3/pthread_attr_setguardsize.35
-rw-r--r--man3/pthread_attr_setinheritsched.33
-rw-r--r--man3/pthread_attr_setschedparam.33
-rw-r--r--man3/pthread_attr_setschedpolicy.33
-rw-r--r--man3/pthread_attr_setscope.33
-rw-r--r--man3/pthread_attr_setsigmask_np.37
-rw-r--r--man3/pthread_attr_setstack.38
-rw-r--r--man3/pthread_attr_setstackaddr.35
-rw-r--r--man3/pthread_attr_setstacksize.35
-rw-r--r--man3/pthread_cancel.39
-rw-r--r--man3/pthread_cleanup_push.39
-rw-r--r--man3/pthread_cleanup_push_defer_np.32
-rw-r--r--man3/pthread_create.311
-rw-r--r--man3/pthread_detach.33
-rw-r--r--man3/pthread_equal.33
-rw-r--r--man3/pthread_exit.35
-rw-r--r--man3/pthread_getattr_default_np.311
-rw-r--r--man3/pthread_getattr_np.311
-rw-r--r--man3/pthread_getcpuclockid.35
-rw-r--r--man3/pthread_join.33
-rw-r--r--man3/pthread_kill.33
-rw-r--r--man3/pthread_kill_other_threads_np.33
-rw-r--r--man3/pthread_mutex_consistent.34
-rw-r--r--man3/pthread_mutexattr_getpshared.32
-rw-r--r--man3/pthread_mutexattr_init.32
-rw-r--r--man3/pthread_mutexattr_setrobust.34
-rw-r--r--man3/pthread_rwlockattr_setkind_np.32
-rw-r--r--man3/pthread_self.33
-rw-r--r--man3/pthread_setaffinity_np.35
-rw-r--r--man3/pthread_setcancelstate.33
-rw-r--r--man3/pthread_setconcurrency.35
-rw-r--r--man3/pthread_setname_np.38
-rw-r--r--man3/pthread_setschedparam.33
-rw-r--r--man3/pthread_setschedprio.35
-rw-r--r--man3/pthread_sigmask.33
-rw-r--r--man3/pthread_sigqueue.33
-rw-r--r--man3/pthread_spin_init.34
-rw-r--r--man3/pthread_spin_lock.34
-rw-r--r--man3/pthread_testcancel.33
-rw-r--r--man3/pthread_tryjoin_np.35
-rw-r--r--man3/pthread_yield.33
-rw-r--r--man3/ptsname.39
-rw-r--r--man3/putenv.310
-rw-r--r--man3/putgrent.33
-rw-r--r--man3/putpwent.33
-rw-r--r--man3/puts.33
-rw-r--r--man3/putwchar.33
-rw-r--r--man3/qecvt.33
-rw-r--r--man3/qsort.317
-rw-r--r--man3/raise.37
-rw-r--r--man3/rand.33
-rw-r--r--man3/random.37
-rw-r--r--man3/random_r.38
-rw-r--r--man3/rcmd.37
-rw-r--r--man3/re_comp.33
-rw-r--r--man3/readdir.37
-rw-r--r--man3/readdir_r.313
-rw-r--r--man3/realpath.37
-rw-r--r--man3/recno.36
-rw-r--r--man3/regex.310
-rw-r--r--man3/remainder.33
-rw-r--r--man3/remove.33
-rw-r--r--man3/remquo.35
-rw-r--r--man3/resolver.355
-rw-r--r--man3/rewinddir.33
-rw-r--r--man3/rexec.35
-rw-r--r--man3/rint.33
-rw-r--r--man3/round.35
-rw-r--r--man3/rpc.35
-rw-r--r--man3/rpmatch.33
-rw-r--r--man3/rtime.33
-rw-r--r--man3/rtnetlink.32
-rw-r--r--man3/scalb.33
-rw-r--r--man3/scalbln.35
-rw-r--r--man3/scandir.37
-rw-r--r--man3/scanf.327
-rw-r--r--man3/sched_getcpu.33
-rw-r--r--man3/seekdir.37
-rw-r--r--man3/sem_close.33
-rw-r--r--man3/sem_destroy.33
-rw-r--r--man3/sem_getvalue.33
-rw-r--r--man3/sem_init.33
-rw-r--r--man3/sem_open.33
-rw-r--r--man3/sem_post.33
-rw-r--r--man3/sem_unlink.33
-rw-r--r--man3/sem_wait.33
-rw-r--r--man3/setaliasent.39
-rw-r--r--man3/setbuf.37
-rw-r--r--man3/setenv.35
-rw-r--r--man3/setjmp.313
-rw-r--r--man3/setlocale.35
-rw-r--r--man3/setlogmask.35
-rw-r--r--man3/setnetgrent.35
-rw-r--r--man3/shm_open.37
-rw-r--r--man3/siginterrupt.33
-rw-r--r--man3/signbit.33
-rw-r--r--man3/significand.33
-rw-r--r--man3/sigpause.37
-rw-r--r--man3/sigqueue.33
-rw-r--r--man3/sigset.39
-rw-r--r--man3/sigsetops.33
-rw-r--r--man3/sigvec.35
-rw-r--r--man3/sigwait.37
-rw-r--r--man3/sin.35
-rw-r--r--man3/sincos.37
-rw-r--r--man3/sinh.33
-rw-r--r--man3/sleep.33
-rw-r--r--man3/slist.34
-rw-r--r--man3/sockatmark.35
-rw-r--r--man3/sqrt.33
-rw-r--r--man3/stailq.34
-rw-r--r--man3/static_assert.3118
-rw-r--r--man3/statvfs.37
-rw-r--r--man3/stdarg.33
-rw-r--r--man3/stdin.32
-rw-r--r--man3/stdio.33
-rw-r--r--man3/stdio_ext.33
-rw-r--r--man3/stpcpy.3115
-rw-r--r--man3/stpecpy.31
-rw-r--r--man3/stpecpyx.31
-rw-r--r--man3/stpncpy.3172
-rw-r--r--man3/strcasecmp.36
-rw-r--r--man3/strcat.3228
-rw-r--r--man3/strchr.35
-rw-r--r--man3/strcmp.37
-rw-r--r--man3/strcoll.33
-rw-r--r--man3/strcpy.3319
-rw-r--r--man3/strdup.37
-rw-r--r--man3/strerror.39
-rw-r--r--man3/strfmon.38
-rw-r--r--man3/strfromd.311
-rw-r--r--man3/strfry.33
-rw-r--r--man3/strftime.37
-rw-r--r--man3/string.349
-rw-r--r--man3/strlen.33
-rw-r--r--man3/strncat.3132
-rw-r--r--man3/strncpy.32
-rw-r--r--man3/strnlen.35
-rw-r--r--man3/strpbrk.33
-rw-r--r--man3/strptime.33
-rw-r--r--man3/strsep.39
-rw-r--r--man3/strsignal.37
-rw-r--r--man3/strspn.33
-rw-r--r--man3/strstr.33
-rw-r--r--man3/strtod.33
-rw-r--r--man3/strtoimax.33
-rw-r--r--man3/strtok.311
-rw-r--r--man3/strtol.33
-rw-r--r--man3/strtoul.33
-rw-r--r--man3/strverscmp.33
-rw-r--r--man3/strxfrm.36
-rw-r--r--man3/swab.37
-rw-r--r--man3/sysconf.311
-rw-r--r--man3/syslog.33
-rw-r--r--man3/system.313
-rw-r--r--man3/sysv_signal.33
-rw-r--r--man3/tailq.34
-rw-r--r--man3/tan.35
-rw-r--r--man3/tanh.33
-rw-r--r--man3/tcgetpgrp.33
-rw-r--r--man3/tcgetsid.35
-rw-r--r--man3/telldir.37
-rw-r--r--man3/tempnam.33
-rw-r--r--man3/termios.353
-rw-r--r--man3/tgamma.37
-rw-r--r--man3/timegm.33
-rw-r--r--man3/timeradd.32
-rw-r--r--man3/tmpfile.33
-rw-r--r--man3/tmpnam.33
-rw-r--r--man3/toascii.35
-rw-r--r--man3/toupper.33
-rw-r--r--man3/towctrans.35
-rw-r--r--man3/towlower.33
-rw-r--r--man3/towupper.33
-rw-r--r--man3/trunc.35
-rw-r--r--man3/tsearch.35
-rw-r--r--man3/ttyname.35
-rw-r--r--man3/ttyslot.35
-rw-r--r--man3/tzset.35
-rw-r--r--man3/ualarm.37
-rw-r--r--man3/ulimit.33
-rw-r--r--man3/undocumented.32
-rw-r--r--man3/ungetwc.33
-rw-r--r--man3/unlocked_stdio.318
-rw-r--r--man3/unlockpt.35
-rw-r--r--man3/updwtmp.35
-rw-r--r--man3/uselocale.34
-rw-r--r--man3/usleep.37
-rw-r--r--man3/ustpcpy.31
-rw-r--r--man3/ustr2stp.31
-rw-r--r--man3/wcpcpy.33
-rw-r--r--man3/wcpncpy.37
-rw-r--r--man3/wcrtomb.33
-rw-r--r--man3/wcscasecmp.35
-rw-r--r--man3/wcscat.33
-rw-r--r--man3/wcschr.33
-rw-r--r--man3/wcscmp.33
-rw-r--r--man3/wcscpy.33
-rw-r--r--man3/wcscspn.33
-rw-r--r--man3/wcsdup.33
-rw-r--r--man3/wcslen.33
-rw-r--r--man3/wcsncasecmp.38
-rw-r--r--man3/wcsncat.37
-rw-r--r--man3/wcsncmp.36
-rw-r--r--man3/wcsncpy.37
-rw-r--r--man3/wcsnlen.37
-rw-r--r--man3/wcsnrtombs.316
-rw-r--r--man3/wcspbrk.33
-rw-r--r--man3/wcsrchr.33
-rw-r--r--man3/wcsrtombs.312
-rw-r--r--man3/wcsspn.36
-rw-r--r--man3/wcsstr.33
-rw-r--r--man3/wcstoimax.33
-rw-r--r--man3/wcstok.33
-rw-r--r--man3/wcstombs.312
-rw-r--r--man3/wcswidth.33
-rw-r--r--man3/wctob.33
-rw-r--r--man3/wctomb.33
-rw-r--r--man3/wctrans.33
-rw-r--r--man3/wctype.33
-rw-r--r--man3/wcwidth.35
-rw-r--r--man3/wmemchr.35
-rw-r--r--man3/wmemcmp.36
-rw-r--r--man3/wmemcpy.37
-rw-r--r--man3/wmemmove.36
-rw-r--r--man3/wmemset.35
-rw-r--r--man3/wordexp.35
-rw-r--r--man3/wprintf.37
-rw-r--r--man3/xcrypt.35
-rw-r--r--man3/xdr.33
-rw-r--r--man3/y0.37
-rw-r--r--man3/zustr2stp.31
-rw-r--r--man3/zustr2ustp.31
-rw-r--r--man3const/EOF.3const2
-rw-r--r--man3const/EXIT_FAILURE.3const1
-rw-r--r--man3const/EXIT_SUCCESS.3const60
-rw-r--r--man3const/NULL.3const4
-rw-r--r--man3head/sysexits.h.3head5
-rw-r--r--man3type/FILE.3type (renamed from man3/FILE.3)9
-rw-r--r--man3type/aiocb.3type4
-rw-r--r--man3type/blkcnt_t.3type4
-rw-r--r--man3type/blksize_t.3type4
-rw-r--r--man3type/cc_t.3type4
-rw-r--r--man3type/clock_t.3type4
-rw-r--r--man3type/clockid_t.3type2
-rw-r--r--man3type/dev_t.3type4
-rw-r--r--man3type/div_t.3type4
-rw-r--r--man3type/double_t.3type5
-rw-r--r--man3type/epoll_event.3type4
-rw-r--r--man3type/fenv_t.3type4
-rw-r--r--man3type/id_t.3type4
-rw-r--r--man3type/intN_t.3type4
-rw-r--r--man3type/intmax_t.3type4
-rw-r--r--man3type/intptr_t.3type4
-rw-r--r--man3type/iovec.3type4
-rw-r--r--man3type/itimerspec.3type4
-rw-r--r--man3type/lconv.3type4
-rw-r--r--man3type/mode_t.3type4
-rw-r--r--man3type/off_t.3type4
-rw-r--r--man3type/ptrdiff_t.3type4
-rw-r--r--man3type/regex_t.3type4
-rw-r--r--man3type/size_t.3type4
-rw-r--r--man3type/sockaddr.3type4
-rw-r--r--man3type/stat.3type6
-rw-r--r--man3type/time_t.3type4
-rw-r--r--man3type/timer_t.3type4
-rw-r--r--man3type/timespec.3type4
-rw-r--r--man3type/timeval.3type4
-rw-r--r--man3type/tm.3type4
-rw-r--r--man3type/va_list.3type4
-rw-r--r--man3type/void.3type4
-rw-r--r--man4/cciss.417
-rw-r--r--man4/console_codes.49
-rw-r--r--man4/cpuid.42
-rw-r--r--man4/dsp56k.419
-rw-r--r--man4/fd.457
-rw-r--r--man4/full.42
-rw-r--r--man4/fuse.46
-rw-r--r--man4/hd.42
-rw-r--r--man4/hpsa.42
-rw-r--r--man4/initrd.442
-rw-r--r--man4/intro.42
-rw-r--r--man4/lirc.412
-rw-r--r--man4/loop.48
-rw-r--r--man4/lp.433
-rw-r--r--man4/mem.42
-rw-r--r--man4/mouse.43
-rw-r--r--man4/msr.42
-rw-r--r--man4/null.42
-rw-r--r--man4/pts.42
-rw-r--r--man4/ram.42
-rw-r--r--man4/random.46
-rw-r--r--man4/rtc.48
-rw-r--r--man4/sd.48
-rw-r--r--man4/sk98lin.45
-rw-r--r--man4/smartpqi.43
-rw-r--r--man4/st.459
-rw-r--r--man4/tty.42
-rw-r--r--man4/ttyS.42
-rw-r--r--man4/vcs.44
-rw-r--r--man4/veth.42
-rw-r--r--man4/wavelan.46
-rw-r--r--man5/acct.58
-rw-r--r--man5/charmap.52
-rw-r--r--man5/core.551
-rw-r--r--man5/dir_colors.53
-rw-r--r--man5/elf.526
-rw-r--r--man5/filesystems.518
-rw-r--r--man5/ftpusers.52
-rw-r--r--man5/gai.conf.54
-rw-r--r--man5/group.52
-rw-r--r--man5/host.conf.52
-rw-r--r--man5/hosts.52
-rw-r--r--man5/hosts.equiv.52
-rw-r--r--man5/intro.52
-rw-r--r--man5/issue.52
-rw-r--r--man5/locale.540
-rw-r--r--man5/motd.52
-rw-r--r--man5/networks.52
-rw-r--r--man5/nologin.52
-rw-r--r--man5/nscd.conf.54
-rw-r--r--man5/nss.52
-rw-r--r--man5/nsswitch.conf.518
-rw-r--r--man5/passwd.510
-rw-r--r--man5/proc.5250
-rw-r--r--man5/protocols.52
-rw-r--r--man5/repertoiremap.52
-rw-r--r--man5/resolv.conf.512
-rw-r--r--man5/rpc.52
-rw-r--r--man5/securetty.52
-rw-r--r--man5/services.52
-rw-r--r--man5/shells.52
-rw-r--r--man5/slabinfo.514
-rw-r--r--man5/sysfs.52
-rw-r--r--man5/termcap.534
-rw-r--r--man5/tmpfs.516
-rw-r--r--man5/ttytype.58
-rw-r--r--man5/tzfile.52
-rw-r--r--man5/utmp.55
-rw-r--r--man6/intro.62
-rw-r--r--man7/address_families.72
-rw-r--r--man7/aio.74
-rw-r--r--man7/armscii-8.73
-rw-r--r--man7/arp.73
-rw-r--r--man7/ascii.77
-rw-r--r--man7/attributes.72
-rw-r--r--man7/boot.712
-rw-r--r--man7/bootparam.72
-rw-r--r--man7/capabilities.7309
-rw-r--r--man7/cgroup_namespaces.712
-rw-r--r--man7/cgroups.7118
-rw-r--r--man7/charsets.72
-rw-r--r--man7/complex.72
-rw-r--r--man7/cp1251.73
-rw-r--r--man7/cp1252.73
-rw-r--r--man7/cpuset.765
-rw-r--r--man7/credentials.730
-rw-r--r--man7/ddp.72
-rw-r--r--man7/environ.722
-rw-r--r--man7/epoll.762
-rw-r--r--man7/fanotify.714
-rw-r--r--man7/feature_test_macros.738
-rw-r--r--man7/fifo.72
-rw-r--r--man7/futex.72
-rw-r--r--man7/glob.72
-rw-r--r--man7/hier.72
-rw-r--r--man7/hostname.72
-rw-r--r--man7/icmp.731
-rw-r--r--man7/inode.73
-rw-r--r--man7/inotify.732
-rw-r--r--man7/intro.72
-rw-r--r--man7/ip.755
-rw-r--r--man7/ipc_namespaces.78
-rw-r--r--man7/ipv6.742
-rw-r--r--man7/iso_8859-1.73
-rw-r--r--man7/iso_8859-10.73
-rw-r--r--man7/iso_8859-11.73
-rw-r--r--man7/iso_8859-13.73
-rw-r--r--man7/iso_8859-14.73
-rw-r--r--man7/iso_8859-15.73
-rw-r--r--man7/iso_8859-16.73
-rw-r--r--man7/iso_8859-2.73
-rw-r--r--man7/iso_8859-3.73
-rw-r--r--man7/iso_8859-4.73
-rw-r--r--man7/iso_8859-5.73
-rw-r--r--man7/iso_8859-6.73
-rw-r--r--man7/iso_8859-7.73
-rw-r--r--man7/iso_8859-8.73
-rw-r--r--man7/iso_8859-9.73
-rw-r--r--man7/kernel_lockdown.76
-rw-r--r--man7/keyrings.766
-rw-r--r--man7/koi8-r.73
-rw-r--r--man7/koi8-u.73
-rw-r--r--man7/landlock.72
-rw-r--r--man7/libc.72
-rw-r--r--man7/locale.713
-rw-r--r--man7/mailaddr.72
-rw-r--r--man7/man-pages.7157
-rw-r--r--man7/man.717
-rw-r--r--man7/math_error.74
-rw-r--r--man7/mount_namespaces.795
-rw-r--r--man7/mq_overview.737
-rw-r--r--man7/namespaces.739
-rw-r--r--man7/netdevice.75
-rw-r--r--man7/netlink.77
-rw-r--r--man7/network_namespaces.75
-rw-r--r--man7/nptl.712
-rw-r--r--man7/numa.72
-rw-r--r--man7/operator.73
-rw-r--r--man7/packet.724
-rw-r--r--man7/path_resolution.78
-rw-r--r--man7/persistent-keyring.72
-rw-r--r--man7/pid_namespaces.72
-rw-r--r--man7/pipe.725
-rw-r--r--man7/pkeys.72
-rw-r--r--man7/posixoptions.72
-rw-r--r--man7/process-keyring.72
-rw-r--r--man7/pthreads.7104
-rw-r--r--man7/pty.78
-rw-r--r--man7/queue.773
-rw-r--r--man7/random.77
-rw-r--r--man7/raw.73
-rw-r--r--man7/regex.73
-rw-r--r--man7/rtld-audit.78
-rw-r--r--man7/rtnetlink.75
-rw-r--r--man7/sched.772
-rw-r--r--man7/sem_overview.74
-rw-r--r--man7/session-keyring.72
-rw-r--r--man7/shm_overview.74
-rw-r--r--man7/sigevent.72
-rw-r--r--man7/signal-safety.723
-rw-r--r--man7/signal.7124
-rw-r--r--man7/sock_diag.72
-rw-r--r--man7/socket.711
-rw-r--r--man7/spufs.78
-rw-r--r--man7/standards.72
-rw-r--r--man7/string_copying.7855
-rw-r--r--man7/suffixes.7438
-rw-r--r--man7/symlink.728
-rw-r--r--man7/system_data_types.74
-rw-r--r--man7/sysvipc.72
-rw-r--r--man7/tcp.7209
-rw-r--r--man7/termio.72
-rw-r--r--man7/thread-keyring.72
-rw-r--r--man7/time.76
-rw-r--r--man7/time_namespaces.78
-rw-r--r--man7/udp.74
-rw-r--r--man7/udplite.72
-rw-r--r--man7/unicode.714
-rw-r--r--man7/units.73
-rw-r--r--man7/unix.729
-rw-r--r--man7/uri.724
-rw-r--r--man7/user-keyring.72
-rw-r--r--man7/user-session-keyring.72
-rw-r--r--man7/user_namespaces.790
-rw-r--r--man7/utf-8.72
-rw-r--r--man7/uts_namespaces.74
-rw-r--r--man7/vdso.77
-rw-r--r--man7/vsock.72
-rw-r--r--man7/x25.72
-rw-r--r--man7/xattr.72
-rw-r--r--man8/iconvconfig.82
-rw-r--r--man8/intro.82
-rw-r--r--man8/ld.so.834
-rw-r--r--man8/ldconfig.82
-rw-r--r--man8/nscd.82
-rw-r--r--man8/sln.82
-rw-r--r--man8/tzselect.82
-rw-r--r--man8/zdump.82
-rw-r--r--man8/zic.82
-rw-r--r--scripts/bash_aliases80
1143 files changed, 8410 insertions, 5633 deletions
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 000000000..64280e139
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,4 @@
+Alejandro Colomar <alx@kernel.org> <alx.manpages@gmail.com>
+Alejandro Colomar <alx@kernel.org> <alx@nginx.com>
+Alejandro Colomar <alx@kernel.org> <colomar.6.4.3@gmail.com>
+Alejandro Colomar <alx@kernel.org> <alejandro.colomar@exfo.com>
diff --git a/CONTRIBUTING b/CONTRIBUTING
index 5289fa6ff..3b4408108 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -1,38 +1,217 @@
-Mailing list
-============
-The main discussion regarding development of the project, patches,
-bugs, news, doubts, etc. happens on the mailing list. To send
-mail to the project, send an email to both maintainers and CCing
-the mailing list:
+Name
+ Contributing - instructions for contributing to the project
- To: Alejandro Colomar <alx.manpages@gmail.com>
- To: Michael Kerrisk <mtk.manpages@gmail.com>
- Cc: <linux-man@vger.kernel.org>
+Synopsis
+ Mailing list, patches, lint, style guide, bug reports, and notes
-For consulting the archives of the mailing list, see:
-<https://lore.kernel.org/linux-man/>
+Description
+ Mailing list
+ The main discussions regarding development of the project, patches,
+ bugs, news, doubts, etc. happen on the mailing list. To send an email
+ to the project, send it to both maintainers and CC the mailing list:
-Patches
-=======
-For information on how to send patches, see:
-<https://www.kernel.org/doc/man-pages/patches.html>
+ To: Alejandro Colomar <alx@kernel.org>
+ Cc: <linux-man@vger.kernel.org>
-Conventions
-===========
-For a description of the preferred layout of manual pages,
-as well as some style guide notes, see:
+ Please CC any relevant developers and mailing lists that may know about
+ or be interestend in the discussion. If your email discusses a feature
+ or change, and you know which developers added the feature or made the
+ change that your email discusses, please CC them on the email; with
+ luck they may review and comment on it. If you don't know who the
+ developers are, you may be able to discover that information from
+ mailing list archives or from git(1) logs or logs in other version
+ control systems. Obviously, if you are the developer of the feature
+ being discussed in a man-pages email, please identify yourself as such.
+ Relevant mailing lists may include:
- $ man 7 man-pages
+ Cc: LKML <linux-kernel@vger.kernel.org>
+ Cc: Glibc <libc-alpha@sourceware.org>
+
+ For other kernel mailing lists and maintainers, check the <MAINTAINERS>
+ file in the Linux kernel repository.
+
+ Please don't send HTML email; it will be discarded by the list.
+
+ Archives:
+ <https://lore.kernel.org/linux-man/>
+ <https://marc.info/?l=linux-man>
+
+ Subscription:
+ Send a message to <majordomo@vger.kernel.org> containing the
+ following body:
+
+ subscribe linux-man
+
+ Unsubscribing:
+
+ unsubscribe linux-man
+
+ Help:
+
+ help
+
+ Patches
+ If you know how to fix a problem in a manual page (if not, see
+ "Reporting bugs" below), then send a patch in an email.
+
+ - Follow the instructions for sending mail to the mailing list above.
+
+ - The subject of the email should contain "[patch]" in the subject line.
+
+ The above is the minimum needed so that someone might respond to your
+ patch. If you did that and someone does not respond within a few days,
+ then ping the email thread, "replying to all". Make sure to send it to
+ the maintainers in addition to the mailing list.
+
+ To make your patch even more useful, please note the following points:
+
+ - Write a suitable subject line. Make sure to mention the name(s) of
+ the page(s) being patched. Example:
+
+ [patch] shmop.2: Add "(void *)" cast to RETURN VALUE
+
+ - Sign your patch with "Signed-off-by:". Read about the "Developer's
+ Certificate of Origin" at
+ <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst>.
+ When appropriate, other tags documented in that file, such as
+ "Reported-by:", "Reviewed-by:", "Acked-by:", and "Suggested-by:" can
+ be added to the patch. The man-pages project also uses a
+ "Cowritten-by:" tag with the obvious meaning. Example:
+
+ Signed-off-by: Alejandro Colomar <alx@kernel.org>
+
+ - Describe how you obtained the information in your patch. For
+ example, was it:
+
+ - by reading (or writing) the relevant kernel or (g)libc source
+ code? Please provide a pointer to the following code.
+
+ - from a commit message in the kernel or (g)libc source code
+ repository? Please provide a commit ID.
+
+ - by writing a test program? Send it with the patch, but please
+ make sure it's as simple as possible, and provide instructions on
+ how to use it and/or a demo run.
+
+ - from a standards document? Please name the standard, and quote
+ the relevant text.
+
+ - from other documentation? Please provide a pointer to that
+ documentation.
+
+ - from a mailing list or online forum? Please provide a URL if
+ possible.
+
+ - Send patches in diff -u format, inline inside the email message. If
+ you're worried about your mailer breaking the patch, the send it
+ both inline and as an attachment. You may find it useful to employ
+ git-send-email(1) and git-format-patch(1).
+
+ - Where relevant, include source code comments that cite commit hashes
+ for relevant kernel or glibc changes:
+
+ .\" commit <40-character-git-hash>
+
+ - For trivial patches, you can use subject tags:
+
+ - ffix: Formatting fix.
+ - tfix: Typo fix.
+ - wfix: Minor wording fix.
+ - srcfix: Change to manual page source that doesn't affect output.
+
+ Example:
+
+ [patch] tcp.7: tfix
+
+ - Send logically separate patches. For unrelated pages, or for
+ logically-separate issues in the same page, send separate emails.
+
+ - Make patches against the latest version of the manual page. Use
+ git(1) for getting the latest version.
+
+ Lint
+ If you plan to patch a manual page, consider running the linters
+ configured in the build system, to make sure your change doesn't add
+ new warnings. However, you might still get warnings that are not your
+ fault. To minimize that, do the following steps:
+
+ (1) Lint first all of the pages, so that make(1) knows that it only
+ needs to lint again pages that you will touch. This example is
+ shown with '-j' because it would take a long time (around a couple
+ of minutes) to run without parallel execution.
+
+ $ make -ij lint >/dev/null 2>&1
+
+ (2) Touch the page that you'll edit, and run make(1) again, to see
+ which warnings you'll still see from that page that are not your
+ fault.
+
+ $ touch man2/membarrier.2 # replace by the page you'll modify
+ $ make -k lint
+
+ (3) Apply your changes, and then run make(1) again. You can ignore
+ warnings that you saw in step (2), but if you see any new ones,
+ please fix them if you know how, or at least note them in your
+ patch email.
+
+ $ vi man2/membarrier.2 # do your work
+ $ make -k lint
+
+ See <INSTALL> for a list of dependencies that this feature requires.
+ If you can't meet them all, don't worry; it will still run the linters
+ that you have available.
+
+ Style guide
+ For a description of the preferred layout of manual pages, as well as
+ some style guide notes, see:
+
+ $ man 7 man-pages
+
+ It will also be interesting to consult groff_man(7) and
+ groff_man_style(7) for understanding and writing good man(7) source code.
Reporting bugs
-==============
-For information about reporting bugs, see:
-<https://www.kernel.org/doc/man-pages/reporting_bugs.html>
+ Report bugs to the mailing list, following the instructions above for
+ sending mails to the list. If you can write a patch (see instructions
+ for sending patches above), it's preferred.
+
+ If you're unsure if the bug is in the manual page or in the code being
+ documented (kernel, glibc, ...), it's best to send the report to both
+ at the same time, that is, CC all the mailing lists that may be
+ concerned by the report.
+
+ Some distributions (for example Debian) apply patches to the upstream
+ manual pages. If you suspect the bug is in one of those patches,
+ report it to your distribution maintainer.
+
+ Send logically separate reports. For unrelated pages, or for
+ logically-separate issues in the same page, send separate emails.
+
+ There's also a bugzilla, but we don't use it as much as the mailing list.
+
+Notes
+ External and autogenerated pages
+ A few pages come from external sources. Fixes to the pages should
+ really go to the upstream source.
+
+ tzfile(5), zdump(8), and zic(8) come from the tz project
+ <https://www.iana.org/time-zones>.
+
+ bpf-helpers(7) is autogenerated from the Linux kernel sources using
+ scripts. See man-pages commits 53666f6c3 and 19c7f7839 for details.
+
+Bugs
+ Bugzilla:
+ <https://bugzilla.kernel.org/buglist.cgi?component=man-pages>
-Other
-=====
+See also
+ man-pages(7)
-For more information about how to contribute, see
-<http://www.kernel.org/doc/man-pages/contributing.html>.
-(Although there is a mirror of this repository on GitHub,
-please don't report issues via the GitHub issue tracker!)
+ <https://www.kernel.org/doc/man-pages/contributing.html>
+ <https://www.kernel.org/doc/man-pages/linux-man-ml.html>
+ <https://www.kernel.org/doc/man-pages/patches.html>
+ <https://www.kernel.org/doc/man-pages/reporting_bugs.html>
+ <https://www.kernel.org/doc/man-pages/reporting_code_bugs.html>
+ <https://www.kernel.org/doc/man-pages/missing_pages.html>
+ <https://www.kernel.org/doc/man-pages/code_of_conduct.html>
+ <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst>
diff --git a/Changes b/Changes
index 2d268cb4c..2c35df4de 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,6 @@
-==================== Changes in man-pages-6.01 ====================
+==================== Changes in man-pages-6.02 ====================
-Released: 2022-10-18, Aldaya
+Released: 2022-12-22, Aldaya
Contributors
@@ -10,22 +10,58 @@ The following people contributed patches/fixes, reports, notes,
ideas, and discussions that have been incorporated in changes in
this release:
+
"G. Branden Robinson" <g.branden.robinson@gmail.com>
+1092615079 <1092615079@qq.com>
+Aaron Schrab <aaron@schrab.com>
Agostino Sarubbo <ago@gentoo.org>
+Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Alejandro Colomar <alx@kernel.org>
+Alex Colomar <alx.manpages@gmail.com>
Amir Goldstein <amir73il@gmail.com>
+Andrew Clayton <andrew@digital-domain.net>
+Andrew Pinski <pinskia@gmail.com>
+Andries E. Brouwer <aeb@cwi.nl>
Darrick J. Wong <djwong@kernel.org>
+Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
Eric Biggers <ebiggers@google.com>
+Florian Weimer <fweimer@redhat.com>
+G. Branden Robinson <g.branden.robinson@gmail.com>
Grigoriy <grigoriyremvar@protonmail.com>
+Grzegorz Szymaszek <gszymaszek@short.pl>
+Helge Kreutzmann <debian@helgefjell.de>
+Ian Abbott <abbotti@mev.co.uk>
+Iker Pedrosa <ipedrosa@redhat.com>
+Ingo Schwarze <schwarze@openbsd.org>
Jakub Wilk <jwilk@jwilk.net>
Jan Kara <jack@suse.cz>
+JeanHeyd Meneide <wg14@soasis.org>
+Jun Ishiguro <algon.0320@gmail.com>
+Luca Versari <veluca93@gmail.com>
+Luis Javier Merino <ninjalj@gmail.com>
+Mario Blättermann <mario.blaettermann@gmail.com>
+Martin Sebor <msebor@redhat.com>
+Martin Uecker <uecker@tugraz.at>
Matthew Bobrowski <repnop@google.com>
+Michael Kerrisk <mtk.manpages@gmail.com>
Michael Tokarev <mjt@tls.msk.ru>
+Mike Frysinger <vapier@gentoo.org>
Mike Gilbert <floppym@gentoo.org>
+Minchan Kim <minchan@kernel.org>
Nicolás A. Ortega Froysa <nicolas@ortegas.org>
+Pali Rohár <pali@kernel.org>
Pierre Labastie <pierre.labastie@neuf.fr>
Sam James <sam@gentoo.org>
+Serge Hallyn <serge@hallyn.com>
+Stefan Puiu <stefan.puiu@gmail.com>
Steve Izma <sizma@golden.net>
+Suren Baghdasaryan <surenb@google.com>
+Thomas Voss <mail@thomasvoss.com>
+Tycho Andersen <tycho@tycho.pizza>
+Xi Ruoyao <xry111@xry111.site>
+Zach O'Keefe <zokeefe@google.com>
+Zack Weinberg <zack@owlfolio.org>
+
Apologies if I missed anyone!
@@ -33,46 +69,100 @@ Apologies if I missed anyone!
New and rewritten pages
-----------------------
-EOF.3const
+man3/
+ static_assert.3
+ strcpy.3
+ stpncpy.3
+ strncat.3
+
+man3const/
+ EOF.3const
+ EXIT_SUCCESS.3const
+
+man7/
+ string_copying.7
Newly documented interfaces in existing pages
---------------------------------------------
-fanotify_mark.2
- FAN_MARK_IGNORE
+ioctl_tty.2
+ TIOCSERGETLSR
+ TIOCSER_TEMT
+
+madvise.2
+ MADV_COLLAPSE
+
+syscall.2
+ loongarch
+
+
+New and changed links
+---------------------
-open.2, statx.2
- STATX_DIOALIGN
+man3/
+ _Static_assert.3 (static_assert(3))
+ stpcpy.3 (strcpy(3))
+ strcat.3 (strcpy(3))
+ strncpy.3 (stpncpy(3))
+ stpecpy.3 (string_copying(7))
+ stpecpyx.3 (string_copying(7))
+ ustpcpy.3 (string_copying(7))
+ ustr2stp.3 (string_copying(7))
+ zustr2stp.3 (string_copying(7))
+ zustr2ustp.3 (string_copying(7))
-feature_test_macros.7
- _FORTIFY_SOURCE=3
- _TIME_BITS
+man3const/
+ EXIT_FAILURE.3const (EXIT_SUCCESS(3const))
Global changes
--------------
-- Build system:
+- Use correct letter case in manual page titles, instead of uppercase.
- - Update manual page dates (TH 3rd argument) when creating the tarball
- with 'make dist'. this removes the need for a tstamp commit before
- each release.
+- Use \" t comments when appropriate (Lintian needs this).
- - Don't print spurious errors from the Makefile that are not relevant.
+- SYNOPSIS:
-- Manual pages' sections:
+ - Add _Nullable for functions that receive NULL as a meaningful
+ input.
- - Title (.TH):
+ - Use VLA syntax to clarify the meaning of size parameters, rather
+ than hiding it in possibly-confusing text. This syntax is not
+ accepted by any compilers, though.
- - Remove the hardcoded date (TH 3rd argument), and replace it by a
- placeholder that should be changed when creating the tarball.
- This removes the need for a tstamp commit before each release.
+ - Use [[noreturn]] instead of noreturn, which will be deprecated
+ soon.
+
+- Repository documentation:
+
+ - Added significant documentation about the repository and the
+ project in the root of the repository in different files.
+ Starting from the README, anyone passing by should be able to
+ understand how the project works and be directed to other
+ documentation files. These files also document the release
+ process.
+
+ - Michael has been busy lately, and he is no longer maintaining
+ the project. The in-repository documentation mentioned above has
+ been updated to reflect that.
Changes to individual pages
---------------------------
+copy_file_range.2
+ Fix wrong kernel version information
+
+process_madvise.2
+ Fix capability and ptrace requirements
+
+madvise.2
+ Update Transparent Huge Pages file/shmem documentation for
+ Linux 5.4+.
+
+
The manual pages (and other files in the repository) have been improved
beyond what this changelog covers. To learn more about changes applied
to individual pages, use git(1).
diff --git a/Changes.old b/Changes.old
index b7c86d2df..ada2e737f 100644
--- a/Changes.old
+++ b/Changes.old
@@ -50582,7 +50582,7 @@ The following people contributed patches/fixes or (noted in brackets
in the changelog below) reports, notes, and ideas that have been
incorporated in changes in this release:
-Alejandro Colomar <colomar.6.4.3@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Aleksa Sarai <cyphar@cyphar.com>
Alexander Miller <alex.miller@gmx.de>
Andrea Arcangeli <aarcange@redhat.com>
@@ -51881,7 +51881,7 @@ The following people contributed patches/fixes or (noted in brackets
in the changelog below) reports, notes, and ideas that have been
incorporated in changes in this release:
-Alejandro Colomar <colomar.6.4.3@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Aleksa Sarai <cyphar@cyphar.com>
Alyssa Ross <hi@alyssa.is>
Andrew Price <anprice@redhat.com>
@@ -52221,7 +52221,7 @@ The following people contributed patches/fixes or (noted in brackets
in the changelog below) reports, notes, and ideas that have been
incorporated in changes in this release:
-Alejandro Colomar <colomar.6.4.3@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Aleksa Sarai <cyphar@cyphar.com>
Alexey Budankov <alexey.budankov@linux.intel.com>
Amir Goldstein <amir73il@gmail.com>
@@ -53002,7 +53002,7 @@ in the changelog below) reports, notes, and ideas that have been
incorporated in changes in this release:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
-Alejandro Colomar <alx.manpages@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Amir Goldstein <amir73il@gmail.com>
Arusekk <arek_koz@o2.pl>
Baruch Siach <baruch@tkos.co.il>
@@ -53353,7 +53353,7 @@ The following people contributed patches/fixes or (noted in brackets
in the changelog below) reports, notes, and ideas that have been
incorporated in changes in this release:
-Alejandro Colomar <alx.manpages@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Alessandro Bono <alessandro.bono369@gmail.com>
Alyssa Ross <hi@alyssa.is>
Bastien Roucariès <rouca@debian.org>
@@ -54207,7 +54207,7 @@ incorporated in changes in this release:
Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Akihiro Motoki <amotoki@gmail.com>
-Alejandro Colomar <alx.manpages@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Alyssa Ross <hi@alyssa.is>
Aurelien Aptel <aaptel@suse.com>
Borislav Petkov <bp@suse.de>
@@ -54599,7 +54599,7 @@ incorporated in changes in this release:
Ahelenia Ziemiańska (наб) <nabijaczleweli@nabijaczleweli.xyz>
Alan Peakall <Alan.Peakall@helpsystems.com>
-Alejandro Colomar <alx.manpages@gmail.com>
+Alejandro Colomar <alx@kernel.org>
Alexis Wilke <alexis@m2osw.com>
Askar Safin <safinaskar@mail.ru>
Christian Brauner <christian.brauner@ubuntu.com>
@@ -55343,3 +55343,83 @@ Changes to individual pages
The manual pages (and other files in the repository) have been improved
beyond what this changelog covers. To learn more about changes applied
to individual pages, use git(1).
+
+
+==================== Changes in man-pages-6.01 ====================
+
+Released: 2022-10-18, Aldaya
+
+
+Contributors
+------------
+
+The following people contributed patches/fixes, reports, notes,
+ideas, and discussions that have been incorporated in changes in
+this release:
+
+"G. Branden Robinson" <g.branden.robinson@gmail.com>
+Agostino Sarubbo <ago@gentoo.org>
+Alejandro Colomar <alx@kernel.org>
+Amir Goldstein <amir73il@gmail.com>
+Darrick J. Wong <djwong@kernel.org>
+Eric Biggers <ebiggers@google.com>
+Grigoriy <grigoriyremvar@protonmail.com>
+Jakub Wilk <jwilk@jwilk.net>
+Jan Kara <jack@suse.cz>
+Matthew Bobrowski <repnop@google.com>
+Michael Tokarev <mjt@tls.msk.ru>
+Mike Gilbert <floppym@gentoo.org>
+Nicolás A. Ortega Froysa <nicolas@ortegas.org>
+Pierre Labastie <pierre.labastie@neuf.fr>
+Sam James <sam@gentoo.org>
+Steve Izma <sizma@golden.net>
+
+Apologies if I missed anyone!
+
+
+New and rewritten pages
+-----------------------
+
+EOF.3const
+
+
+Newly documented interfaces in existing pages
+---------------------------------------------
+
+fanotify_mark.2
+ FAN_MARK_IGNORE
+
+open.2, statx.2
+ STATX_DIOALIGN
+
+feature_test_macros.7
+ _FORTIFY_SOURCE=3
+ _TIME_BITS
+
+
+Global changes
+--------------
+
+- Build system:
+
+ - Update manual page dates (TH 3rd argument) when creating the tarball
+ with 'make dist'. This removes the need for a tstamp commit before
+ each release.
+
+ - Don't print spurious errors from the Makefile that are not relevant.
+
+- Manual pages' sections:
+
+ - Title (.TH):
+
+ - Remove the hardcoded date (TH 3rd argument), and replace it by a
+ placeholder that should be changed when creating the tarball.
+ This removes the need for a tstamp commit before each release.
+
+
+Changes to individual pages
+---------------------------
+
+The manual pages (and other files in the repository) have been improved
+beyond what this changelog covers. To learn more about changes applied
+to individual pages, use git(1).
diff --git a/INSTALL b/INSTALL
index 75c5dff01..da1e53e6b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,13 +1,184 @@
-Run `make help` to see a list of targets and a brief description.
+Name
+ Install - instructions for installing the pages into the system
-Normally, you'll want to run `make install`, which will copy these manual
-pages to <$(DESTDIR)$(mandir)/man*>, which by default is
-</usr/local/share/man/man*>.
+Synopsis
+ sudo make [-j] install [V=1] [prefix=ARG] [DESTDIR=ARG] [...]
-To install to a different path, modify the appropriate directory variables.
-See <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>.
+Description
+ (a) Use a package manager
+ If you want to install the manual pages into your system, consider
+ installing them through your package manager from an official release,
+ instead of installing them from this repository. This repository
+ contains the newest manual pages, but using an official release and the
+ system package manager offers important benefits. On a Debian system
+ it would be:
-You can use multiple threads with this Makefile safely, which will run
-considerably faster: `make -j install`.
+ $ sudo apt-get install -V manpages-dev manpages
-The Makefile used by this project requires GNU make(1).
+ If you prefer to install the manual pages from this repository, maybe
+ because your system ships a too old version, consider updating the
+ package offered by your system. See the <RELEASE> file, and also
+ talk to the maintainer of the package in your distribution.
+
+ (b) Install manually from source
+ If you are contributing to the project, you may want to install the
+ manual pages from this repository to test them, instead of using an
+ official release. Or maybe your distribution installs packages from
+ source code without any package manager.
+
+ In most cases, you just want to install all of the manual pages, and
+ nothing else. To install them in the default system directory (per GNU
+ guidelines), use:
+
+ $ sudo make install
+
+ It takes a few seconds, so it's fine to do it in parallel with:
+
+ $ sudo make -j install
+
+ A few features can be used to tweak the install:
+
+ Directory Variables
+ To check about all of the directory variables available, compare the
+ GNU Coding Standards with the Makefile and the helper makefiles (see
+ the sections "Standards" and "Files" below). The most common ones that
+ you may use are:
+
+ - DESTDIR
+ - prefix
+
+ Command Variables
+ Some commands use flags. A command named 'command' will have a
+ variable COMMAND to specify an alternative command name. To append
+ flags to the default ones, set the variable EXTRA_COMMANDFLAGS. To
+ overwrite the flags, set the variable COMMANDFLAGS.
+
+ Verbose
+ Use V=1 for a more verbose output from the makefiles:
+
+ $ sudo make install V=1
+
+ Uninstall
+ You can uninstall the pages with the following command (but see the
+ "Caveats" section below):
+
+ $ sudo make uninstall
+
+ Targets
+ There are targets for more granular control, such as 'install-man3'.
+ See the help to know all of them:
+
+ $ make help
+
+ Dependencies
+ - Build-depends:
+ - Generic:
+ - echo(1)
+ - expr(1)
+ - find(1)
+ - grep(1)
+ - locale(1)
+ - make(1) - GNU Make is required.
+ - sed(1)
+ - sort(1)
+ - xargs(1)
+
+ - For installing:
+ - install(1)
+
+ - For uninstalling / cleaning:
+ - rm(1)
+ - rmdir(1)
+
+ - For linting man(7) source:
+ - eqn(1)
+ - grotty(1)
+ - head(1)
+ - mkdir(1)
+ - tail(1)
+ - tbl(1)
+ - troff(1) >= 1.23.0 - GNU troff is required.
+
+ - For linting C source:
+ - cc(1) - GCC or Clang
+ - clang-tidy(1)
+ - cpplint(1)
+ - iwyu(1)
+ - man(1)
+ - mkdir(1)
+ - pkg-config(1)
+ - tac(1)
+ - libbsd-dev
+
+ And one that isn't packaged, but can be extracted from the Linux
+ kernel source tree in <scripts/checkpatch.pl>:
+
+ - checkpatch(1)
+
+ - For building HTML pages:
+ - man2html(1)
+
+ - Depends:
+ - man(1)
+ - groff(1) | mandoc(1)
+
+ Lint (experimental)
+ You can lint both the manual pages, and the example C programs
+ contained in them. See 'make help' for a list of targets that can be
+ used.
+
+Files
+ Makefile, lib/install-man.mk, lib/install.mk
+ Main makefiles for installing (however, others may also be used by
+ inclusion).
+
+ lib/cmd.mk
+ Command variables.
+
+ lib/install-html.mk
+ Makefile to install HTML manual pages.
+
+ lib/verbose.mk
+ Handle verbose settings.
+
+ lib/*.mk
+ Other makefiles.
+
+ man*/*
+ Manual pages.
+
+ /usr/local/share/man/man*/*
+ Default location for installed pages.
+
+Standards
+ We follow closely the GNU Coding Standards:
+ <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>.
+ <https://www.gnu.org/prep/standards/html_node/Command-Variables.html>.
+
+ And the Filesystem Hierarchy Standard:
+ <https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html>
+
+ But deviate from them in some cases, the most notable case being the
+ use of directories for manual subsections, such as <man3type/>.
+
+Caveats
+ Uninstall
+ You can uninstall the pages. However, take into account that it will
+ only uninstall pages that exist in the repository. This means that if
+ you installed the manual pages from source from an older version of the
+ repository with 'make install', and some page was [re]moved later, it
+ won't be uninstalled. You should probably install with a prefix of
+ prefix=/opt/local/man-pages to be able to nuke the directory later with
+ 'rm -r /opt/local/man-pages'. However, you'll need to modify your
+ $MANPATH to be able to use those manual pages as if they were in a
+ system path.
+
+ Version and last-modified date
+ If you're an end user or a distributor, make sure you do this (install)
+ from a tarball, and not from the git repository. The manual pages in
+ the repository have placeholders for the version and last modified date,
+ which are filled when creating the tarball. You can create your own
+ tarball, for which you need to read the RELEASE file.
+
+See also
+ gmake(1)
diff --git a/MAINTAINER_NOTES b/MAINTAINER_NOTES
deleted file mode 100644
index 4001bd4db..000000000
--- a/MAINTAINER_NOTES
+++ /dev/null
@@ -1,11 +0,0 @@
-Externally generated pages
-==========================
-
-A few pages come from external sources. Fixes to the pages should really
-go to the upstream source.
-
-tzfile(5), zdump(8), and zic(8) come from the tz project
-(https://www.iana.org/time-zones).
-
-bpf-helpers(7) is autogenerated from the kernel sources using scripts.
-See man-pages commits 53666f6c3 and 19c7f7839 for details.
diff --git a/Makefile b/Makefile
index 40b7c05bf..66f02dea8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
# Conventions:
@@ -40,9 +40,6 @@ MAKEFLAGS += --warn-undefined-variables
srcdir := .
-include $(srcdir)/lib/cmd.mk
-
-
.PHONY: all
all: build
@:
@@ -74,6 +71,7 @@ help:
$(info lint-man Wrapper for lint-man-* targets)
$(info lint-man-groff Lint man pages with groff(1))
$(info lint-man-mandoc Lint man pages with mandoc(1))
+ $(info lint-man-tbl Lint man pages about '\" t' comment for tbl(1))
$(info )
$(info [un]install Alias for "[un]install-man")
$(info [un]install-man Wrapper for [un]install-man* targets)
@@ -97,26 +95,6 @@ help:
$(info dist-gz Create a compressed tarball (.tar.gz))
$(info dist-xz Create a compressed tarball (.tar.xz))
$(info )
- $(info builddirs-dist Create directories needed by "dist")
- $(info builddirs-html Create directories needed by "build-html")
- $(info builddirs-src Create directories needed by "build-src")
- $(info lintdirs Create directories needed by "lint")
- $(info installdirs Create directories needed by "install")
- $(info installdirs-html Create directories needed by "install-html")
- $(info installdirs-man Create directories needed by "install-man")
- $(info installdirs-man1 Create directories needed by "install-man1")
- $(info installdirs-man2 Create directories needed by "install-man2")
- $(info installdirs-man2type Create directories needed by "install-man2type")
- $(info installdirs-man3 Create directories needed by "install-man3")
- $(info installdirs-man3const Create directories needed by "install-man3const")
- $(info installdirs-man3head Create directories needed by "install-man3head")
- $(info installdirs-man3type Create directories needed by "install-man3type")
- $(info installdirs-man4 Create directories needed by "install-man4")
- $(info installdirs-man5 Create directories needed by "install-man5")
- $(info installdirs-man6 Create directories needed by "install-man6")
- $(info installdirs-man7 Create directories needed by "install-man7")
- $(info installdirs-man8 Create directories needed by "install-man8")
- $(info )
$(info help Print this help)
$(info )
$(info Variables:)
diff --git a/README b/README
index c5f4b31a7..c0e4369d2 100644
--- a/README
+++ b/README
@@ -1,19 +1,96 @@
-This package contains Linux man pages for sections 1 through 8.
-Some more information is given in the <man-pages-x.y.Announce> file.
+Name
+ Linux man-pages - manual pages for GNU/Linux
-Homepage
-========
-For information about the Linux man-pages project, see
-<http://www.kernel.org/doc/man-pages/index.html>.
+Synopsis
+ This package contains GNU/Linux manual pages for sections 1 through 8.
-Bug reports and contributing
-============================
-See the <CONTRIBUTING> file.
+Description
+ The manual pages in this project document primarily the Linux kernel
+ and the GNU C library, but also consider relevant differences in other
+ kernels or C libraries.
-Installing and uninstalling
-===========================
-See the <INSTALL> file.
+ These pages are most of the section 2, 3, 4, 5, 7 man pages for
+ GNU/Linux. A few pages are provided in sections 1 and 8 for commands
+ that are not documented in other packages, and there are a few pages in
+ sections 5 and 8 for the timezone utilities.
-Copyrights
-==========
-See the <man-pages-x.y.Announce> file.
+Files
+ CONTRIBUTING
+ Instructions for reporting bugs and contributing.
+
+ INSTALL
+ Instructions for installing and uninstalling.
+
+ MAINTAINER_NOTES
+ Notes for maintainers.
+
+ README
+ Main information about the project and the repository.
+
+ RELEASE
+ Instructions for releasing and distributing new versions.
+
+ Changes, Changes.old
+ Change log. Includes most relevant changes. However, it's not as
+ complete as the git(1) log.
+
+ Makefile, lib/*.mk
+ Build system. For help, consult the <INSTALL> file, and run 'make help'.
+
+ lsm
+ Linux software map. See also <https://lsm.qqx.org/>.
+
+ .mailmap
+ See gitmailmap(5).
+
+ LICENSES/*.txt
+ Licenses in use by the project.
+
+ etc/*
+ Configuration files for (linter) programs called by the build system.
+
+ man*/*
+ Manual pages.
+
+ scripts/*
+ Useful scripts for maintainers.
+
+ tmp/
+ Default directory for files created by the build system.
+
+Versions
+ Tarballs of releases starting from 2.00 are available at
+ <https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/>.
+
+ The git(1) repository covers the development since 1.70:
+ <git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git>
+
+ A secondary git(1) repository can be found at:
+ <git://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git>
+
+Caveats
+ Some projects provide their own manual pages, not related to the Linux
+ man-pages project.
+
+Bugs
+ See the <CONTRIBUTING> file.
+
+Maintainers
+ Alejandro Colomar <alx@kernel.org> <http://www.alejandro-colomar.es/>
+ 2020 - present (5.09 - HEAD)
+ Michael Kerrisk <mtk.manpages@gmail.com> <https://man7.org/>
+ 2004 - 2021 (2.00 - 5.13)
+ Andries Brouwer <aeb@cwi.nl> <https://www.win.tue.nl/~aeb>
+ 1995 - 2004 (1.6 - 1.70)
+ Rik Faith <https://www.cs.unc.edu/~faith/>
+ 1993 - 1995 (1.0 - 1.5)
+
+Copyright
+ Several free/open source licenses. See the <LICENSES/> directory, and
+ the comment at the top of each source file.
+
+See also
+ man-pages(7)
+
+ Website
+ <http://www.kernel.org/doc/man-pages/index.html>.
diff --git a/RELEASE b/RELEASE
new file mode 100644
index 000000000..7ac1545fc
--- /dev/null
+++ b/RELEASE
@@ -0,0 +1,213 @@
+Name
+ Release - instructions for releasing a new version
+
+Synopsis
+ Change log, git tag, tarball, LSM, email, and push.
+
+Description
+ This are the instructions to release a new official version of the
+ project. However, these should also be useful for those who simply
+ want to package a random commit (this is done for example by Gentoo).
+ For packaging a random commit without an official release, you only
+ need step (4) "Tarball".
+
+ Dependencies
+ The following list of dependencies states what the build system (the
+ makefiles) need to perform the relevant (dist) targets:
+
+ - echo(1)
+ - expr(1)
+ - find(1)
+ - git(1)
+ - grep(1)
+ - gzip(1)
+ - install(1)
+ - locale(1)
+ - make(1) - GNU Make is required.
+ - sed(1)
+ - sort(1)
+ - tar(1) - GNU tar is required.
+ - xargs(1)
+ - xz(1)
+
+ Apart from that, the following commands are also needed for other tasks
+ shown below:
+
+ - gpg(1)
+ - kup(1)
+
+ Steps
+ (1) Version
+
+ - Decide the version number:
+
+ $ old=6.01
+ $ new=6.02
+
+ (2) Changes
+
+ Fill the <Changes> file. For that you can check older commits,
+ like d4e80a7748 "Changes: Ready for 6.01". It needs manual
+ intervention, but in that commit log you can check a few commands
+ that will help.
+
+ - Remember to change the version number, the date, and the
+ location.
+
+ - Remove any headers not used for a specific release (usually\
+ happens with "New and changed links").
+
+ - The structure is a bit freestyle, but keep it organized.
+ man-pages-6.00 was a huge release, so it might help to check it:
+ 51228378bec7 "Changes: Ready for 6.00".
+
+ - Commit:
+
+ $ git add Changes
+ $ git commit -sm "Changes: Ready for ${new}"
+
+ (3) Tag
+
+ Create a signed tag. The tag message should note the most
+ important changes in the version being released, since it will be
+ read by users and packagers. It should include any information
+ that is especially relevant for them. Check old tags such as
+ 'man-pages-6.00' or 'man-pages-6.01'.
+
+ - Tag:
+
+ $ git tag -s man-pages-${new}
+
+ (4) Tarball
+
+ Creating the tarball will embed in the manual pages both the
+ version number, and the date of last modification (in the git
+ repository, the pages have placeholders for the date and the
+ version).
+
+ You need to create a set of tarballs, sign the .tar archive, and
+ upload the compressed tarballs to <kernel.org>.
+
+ In case you're creating a tarball for distributing a random
+ commit, it might be interesting to tweak a few parameters; check
+ the variables available at <lib/dist.mk>, and any makefiles
+ included by that one. See the "Versions" section below.
+
+ - Create the tarball:
+
+ $ make dist
+
+ Since it takes a few seconds, you may prefer to run it in
+ parallel:
+
+ $ make -j dist
+
+ Alternatively, you may want to only create a specific kind of
+ tarball with one of the following targets:
+
+ $ make dist-tar dist-xz dist-gz
+
+ - Sign the tarball:
+
+ $ cd tmp/
+ $ gpg --detach-sign --armor man-pages-${new}.tar
+
+ - Upload the tarball:
+
+ $ kup put man-pages-${new}.tar.xz man-pages-${new}.tar.asc \
+ /pub/linux/docs/man-pages/
+ $ cd ..
+
+ (5) LSM
+
+ Update the <lsm> file. Check old commits, like
+ c11cb1ca844d "Ready for 6.01".
+
+ - Update the project version number.
+
+ - Update the release date.
+
+ - Update the tarball name and size.
+
+ - Commit:
+
+ $ git add lsm
+ $ git commit -sm "lsm: Released ${new}"
+
+ - Send (email) the lsm file to <lsm@qqx.org> with the subject
+ "add".
+
+ (6) Email
+
+ Send an announce email to linux-man, LKML, libc-alpha, and
+ possibly others that might be interested in the release, such as
+ distribution maintainers, or those who have contributed to the
+ release.
+
+ The email should contain a mix of the git tag message, the
+ contents of Changes, and anything else that might be relevant.
+ Check old emails such as
+ <https://lore.kernel.org/linux-man/4ba6c215-6d28-1769-52d3-04941b962ff3@kernel.org/T/#u>.
+
+ The subject of the email should be "man-pages-${new} released".
+
+ (7) Changes.old
+
+ Move the contents of <Changes> to <Changes.old>, and prepare for
+ the next release.
+
+ - Copy contents of <Changes> to <Changes.old>:
+
+ $ (echo; echo) >> Changes.old
+ $ cat Changes >> Changes.old
+
+ - Empty <Changes>:
+
+ $ git checkout man-pages-${new}^^ -- Changes
+
+ - Commit:
+
+ $ git add Changes Changes.old
+ $ git commit -sm \
+ "Start of man-pages-NEXT: Move Changes to Changes.old"
+
+ (8) Push
+
+ You've finished. When you confirm it's good, push to the git
+ repository.
+
+ - Push:
+
+ $ git push
+ $ git push man-pages-${new}
+
+Files
+ Changes, Changes.old
+ Change log. Includes most relevant changes.
+
+ Makefile, lib/dist.mk, lib/version.mk
+ Main makefiles used for releasing (however, others may also be used by
+ inclusion).
+
+ lsm
+ Linux software map. See also <https://lsm.qqx.org/>.
+
+ tmp/man-pages-<version>.tar{,.xz,.gz}
+ Generated tarballs. You can generate all with 'make dist', or generate
+ only some of them, with 'make dist-tar', 'make dist-xz', or
+ 'make dist-gz'.
+
+Versions
+ Use the DISTVERSION variable when running make(1) to specify a version
+ different than the default, which is generated with git-describe(1).
+ This needs to be done from the git repository, and won't work from an
+ extracted tarball.
+
+ $ make dist-xz DISTVERSION=6.01+43
+
+Caveats
+ The version and date of last modification for each page is hardcoded
+ by the Makefile into the pages when the tarball is generated. This
+ means that it's not possible to generate a valid tarball from another
+ extracted tarball, since the version and date will not be updated.
+ Tarballs need to be created from the git(1) repository.
diff --git a/lib/build-html.mk b/lib/build-html.mk
index 412a1f6b0..060e07ed9 100644
--- a/lib/build-html.mk
+++ b/lib/build-html.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -39,11 +39,7 @@ $(_HTMLDIRS): %/.: | $$(dir %). $(_HTMLDIR)/.
.PHONY: build-html html
-build-html html: $(_HTMLPAGES) | builddirs-html
- @:
-
-.PHONY: builddirs-html
-builddirs-html: $(_HTMLDIRS)
+build-html html: $(_HTMLPAGES)
@:
diff --git a/lib/build-src.mk b/lib/build-src.mk
index 79c224edb..1ca99e98a 100644
--- a/lib/build-src.mk
+++ b/lib/build-src.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -58,7 +58,7 @@ _SRCPAGEDIRS := $(patsubst $(MANDIR)/%,$(_SRCDIR)/%.d,$(LINTMAN))
_UNITS_src_src := $(patsubst $(MANDIR)/%,$(_SRCDIR)/%,$(shell \
$(FIND) $(MANDIR)/man*/ -type f \
- | $(GREP) '$(MANEXT)$$' \
+ | $(GREP) '$(MANEXT)' \
| $(XARGS) $(GREP) -l '^\.TH ' \
| while read m; do \
<$$m \
@@ -100,7 +100,7 @@ $(_UNITS_src_bin): $(_SRCDIR)/%: $(_SRCDIR)/%.o
.PHONY: build-src-c
-build-src-c: $(_UNITS_src_c) | builddirs-src
+build-src-c: $(_UNITS_src_c)
@:
.PHONY: build-src-cc
@@ -111,10 +111,6 @@ build-src-cc: $(_UNITS_src_o)
build-src-ld: $(_UNITS_src_bin)
@:
-.PHONY: builddirs-src
-builddirs-src: $(_SRCDIRS)
- @:
-
.PHONY: build-src
build-src: build-src-ld
diff --git a/lib/build.mk b/lib/build.mk
index 3c8cc7013..d362819de 100644
--- a/lib/build.mk
+++ b/lib/build.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
diff --git a/lib/cmd.mk b/lib/cmd.mk
index 1396513cc..17f3a8ee5 100644
--- a/lib/cmd.mk
+++ b/lib/cmd.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -8,20 +8,27 @@ ifndef MAKEFILE_CMD_INCLUDED
MAKEFILE_CMD_INCLUDED := 1
-BC := bc
ECHO := echo
+EXPR := expr
FIND := find
GIT := git
GREP := grep
GZIP := gzip
+HEAD := head
+INSTALL := install
LOCALE := locale
PKG-CONFIG := pkg-config
SED := sed
SORT := sort
TAC := tac
+TAIL := tail
TAR := tar
XARGS := xargs
XZ := xz
+INSTALL_DATA := $(INSTALL) -m 644
+INSTALL_DIR := $(INSTALL) -m 755 -d
+RMDIR := rmdir --ignore-fail-on-non-empty
+
endif # MAKEFILE_CMD_INCLUDED
diff --git a/lib/dist.mk b/lib/dist.mk
index c95189fc4..76b155282 100644
--- a/lib/dist.mk
+++ b/lib/dist.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -28,7 +28,7 @@ compression := gz xz
dist := $(foreach x,$(compression),dist-$(x))
-$(_DISTPAGES): $(_DISTDIR)/man%: $(srcdir)/man% | $$(@D)/.
+$(_DISTPAGES): $(_DISTDIR)/man%: $(srcdir)/man% FORCE | $$(@D)/.
$(info INSTALL $@)
$(INSTALL_DATA) -T $< $@
$(SED) -i '/^.TH/s/(unreleased)/$(DISTVERSION)/' $@
@@ -57,15 +57,11 @@ $(DISTFILE).xz: %.xz: % | $$(@D)/.
.PHONY: dist-tar
-dist-tar: $(DISTFILE) | builddirs-dist
+dist-tar: $(DISTFILE)
@:
.PHONY: $(dist)
-$(dist): dist-%: $(DISTFILE).% | builddirs-dist
- @:
-
-.PHONY: builddirs-dist
-builddirs-dist: $(builddir)/.
+$(dist): dist-%: $(DISTFILE).%
@:
.PHONY: dist
diff --git a/lib/install-html.mk b/lib/install-html.mk
index 0ae4df9d8..2531ad503 100644
--- a/lib/install-html.mk
+++ b/lib/install-html.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -32,11 +32,7 @@ $(_htmldirs): %/.: | $$(dir %). $(_htmldir)/.
.PHONY: install-html
-install-html: $(_htmlpages) | installdirs-html
- @:
-
-.PHONY: installdirs-html
-installdirs-html: $(_htmldirs)
+install-html: $(_htmlpages)
@:
.PHONY: uninstall-html
diff --git a/lib/install-man.mk b/lib/install-man.mk
index e5b871bec..c3a32a89a 100644
--- a/lib/install-man.mk
+++ b/lib/install-man.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -112,21 +112,13 @@ $(_mandir_rmdir): $(uninstall_manX) FORCE
.PHONY: $(install_manX)
-$(install_manX): install-man%: $$(_man%pages) | installdirs-man%
+$(install_manX): install-man%: $$(_man%pages)
@:
.PHONY: install-man
install-man: $(install_manX)
@:
-.PHONY: $(installdirs_manX)
-$(installdirs_manX): installdirs-man%: $$(_man%dir)
- @:
-
-.PHONY: installdirs-man
-installdirs-man: $(installdirs_manX)
- @:
-
.PHONY: $(uninstall_manX)
$(uninstall_manX): uninstall-man%: $$(_man%pages_rm) $$(_man%dir_rmdir)
@:
diff --git a/lib/install.mk b/lib/install.mk
index a13c51e28..14b980a7f 100644
--- a/lib/install.mk
+++ b/lib/install.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -8,6 +8,9 @@ ifndef MAKEFILE_INSTALL_INCLUDED
MAKEFILE_INSTALL_INCLUDED := 1
+include $(srcdir)/lib/cmd.mk
+
+
DESTDIR :=
prefix := /usr/local
@@ -15,12 +18,6 @@ datarootdir := $(prefix)/share
docdir := $(datarootdir)/doc
-INSTALL := install
-INSTALL_DATA := $(INSTALL) -m 644
-INSTALL_DIR := $(INSTALL) -m 755 -d
-RMDIR := rmdir --ignore-fail-on-non-empty
-
-
%/.:
$(info INSTALL $(@D)/)
$(INSTALL_DIR) $(@D)
@@ -35,11 +32,7 @@ RMDIR := rmdir --ignore-fail-on-non-empty
.PHONY: install
-install: install-man | installdirs
- @:
-
-.PHONY: installdirs
-installdirs: | installdirs-man
+install: install-man
@:
.PHONY: uninstall
diff --git a/lib/lint-c.mk b/lib/lint-c.mk
index 9d27da786..c6bc11505 100644
--- a/lib/lint-c.mk
+++ b/lib/lint-c.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -74,7 +74,7 @@ $(_LINT_c_iwyu): %.lint-c.iwyu.touch: %.c
.PHONY: $(lint_c)
-$(lint_c): lint-c-%: $$(_LINT_c_%) | lintdirs
+$(lint_c): lint-c-%: $$(_LINT_c_%)
@:
.PHONY: lint-c
diff --git a/lib/lint-man.mk b/lib/lint-man.mk
index 33d45b60c..8e66291cc 100644
--- a/lib/lint-man.mk
+++ b/lib/lint-man.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -17,7 +17,7 @@ TMACDIR := $(SYSCONFDIR)/groff/tmac
MANWIDTH ?= 80
-TROFF_LINE_LENGTH := $(shell $(ECHO) $(MANWIDTH)-2 | $(BC))
+TROFF_LINE_LENGTH := $(shell $(EXPR) $(MANWIDTH) - 2)
TROFF_OUT_DEVICE := $(shell $(LOCALE) charmap \
| $(GREP) -i 'utf-*8' >/dev/null \
&& $(ECHO) utf8 \
@@ -66,9 +66,10 @@ MANDOC := mandoc
_LINT_man_groff :=$(patsubst $(MANDIR)/%,$(_LINTDIR)/%.lint-man.groff.touch,$(LINTMAN))
_LINT_man_mandoc:=$(patsubst $(MANDIR)/%,$(_LINTDIR)/%.lint-man.mandoc.touch,$(LINTMAN))
+_LINT_man_tbl :=$(patsubst $(MANDIR)/%,$(_LINTDIR)/%.lint-man.tbl.touch,$(LINTMAN))
-linters_man := groff mandoc
+linters_man := groff mandoc tbl
lint_man := $(foreach x,$(linters_man),lint-man-$(x))
@@ -79,17 +80,46 @@ $(_LINT_man_groff): $(_LINTDIR)/%.lint-man.groff.touch: $(MANDIR)/% | $$(@D)/.
| $(TROFF) $(TROFFFLAGS) \
| $(GROTTY) $(GROTTYFLAGS) \
| $(COL) $(COLFLAGS) \
- | (! $(GREP) -n '.\{$(MANWIDTH)\}.' >&2)
+ | (! $(GREP) -n '.\{$(MANWIDTH)\}.' | $(SED) 's,^,$<:,' >&2)
touch $@
$(_LINT_man_mandoc): $(_LINTDIR)/%.lint-man.mandoc.touch: $(MANDIR)/% | $$(@D)/.
$(info LINT (mandoc) $@)
- $(MANDOC) $(MANDOCFLAGS) $<
+ ! ($(MANDOC) $(MANDOCFLAGS) $< 2>&1 \
+ | $(GREP) -v 'STYLE: lower case character in document title:' \
+ | $(GREP) -v 'UNSUPP: ignoring macro in table:' \
+ | $(GREP) -v 'WARNING: cannot parse date, using it verbatim: TH (date)' \
+ | $(GREP) -v 'WARNING: empty block: UR' \
+ ||:; \
+ ) \
+ | $(GREP) '.' >&2
+ touch $@
+
+$(_LINT_man_tbl): $(_LINTDIR)/%.lint-man.tbl.touch: $(MANDIR)/% | $$(@D)/.
+ $(info LINT (tbl) $@)
+ if $(GREP) -q '^\.TS$$' $< && ! $(HEAD) -n1 $< | $(GREP) -q '\\" t$$'; \
+ then \
+ >&2 $(ECHO) "$<:1: missing '\\\" t' comment:"; \
+ >&2 $(HEAD) -n1 <$<; \
+ exit 1; \
+ fi
+ if $(HEAD) -n1 $< | $(GREP) -q '\\" t$$' && ! $(GREP) -q '^\.TS$$' $<; \
+ then \
+ >&2 $(ECHO) "$<:1: spurious '\\\" t' comment:"; \
+ >&2 $(HEAD) -n1 <$<; \
+ exit 1; \
+ fi
+ if $(TAIL) -n+2 <$< | $(GREP) -q '\\" t$$'; \
+ then \
+ >&2 $(ECHO) "$<: spurious '\\\" t' not in first line:"; \
+ >&2 $(GREP) -n '\\" t$$' $< /dev/null; \
+ exit 1; \
+ fi
touch $@
.PHONY: $(lint_man)
-$(lint_man): lint-man-%: $$(_LINT_man_%) | lintdirs
+$(lint_man): lint-man-%: $$(_LINT_man_%)
@:
.PHONY: lint-man
diff --git a/lib/lint.mk b/lib/lint.mk
index 1fb15c79a..9233372df 100644
--- a/lib/lint.mk
+++ b/lib/lint.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -31,10 +31,6 @@ lint := lint-c lint-man
$(_LINTDIRS): %/.: | $$(dir %). $(_LINTDIR)/.
-.PHONY: lintdirs
-lintdirs: $(_LINTDIRS) $(_SRCDIRS)
- @:
-
.PHONY: lint
lint: $(lint)
@:
diff --git a/lib/src.mk b/lib/src.mk
index e9df9a75a..3cce2085a 100644
--- a/lib/src.mk
+++ b/lib/src.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2021, 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2021, 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
@@ -12,7 +12,7 @@ include $(srcdir)/lib/cmd.mk
MANDIR := $(srcdir)
-MANEXT := \.[0-9]\w*
+MANEXT := \.[0-9]\w*$
MANPAGES := $(shell $(FIND) $(MANDIR)/man*/ -type f \
diff --git a/lib/verbose.mk b/lib/verbose.mk
index edd05e9fc..38180804f 100644
--- a/lib/verbose.mk
+++ b/lib/verbose.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-3.0
########################################################################
diff --git a/lib/version.mk b/lib/version.mk
index ba02a94cb..1a8fa53c2 100644
--- a/lib/version.mk
+++ b/lib/version.mk
@@ -1,5 +1,5 @@
########################################################################
-# Copyright (C) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# Copyright (C) 2022 Alejandro Colomar <alx@kernel.org>
# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
########################################################################
diff --git a/lsm b/lsm
new file mode 100644
index 000000000..527c14ec4
--- /dev/null
+++ b/lsm
@@ -0,0 +1,15 @@
+Begin4
+Title: Linux man-pages
+Version: 6.01
+Entered-date: 2022-10-18
+Description: Manual pages for GNU/Linux. This package contains
+ manual pages for sections 2, 3, 4, 5, and 7, and
+ subsections of those. Only a few pages are provided in
+ sections 1, 6, and 8, and none in 9.
+Keywords: man pages
+Maintained-by: Alejandro Colomar <alx@kernel.org>
+Primary-site: http://www.kernel.org/pub/linux/docs/man-pages
+ 2.6M man-pages-6.01.tar.gz
+Copying-policy: several; the pages are all freely distributable as long as
+ nroff source is provided
+End
diff --git a/man-pages-6.01.Announce b/man-pages-6.01.Announce
deleted file mode 100644
index 1411b05ae..000000000
--- a/man-pages-6.01.Announce
+++ /dev/null
@@ -1,61 +0,0 @@
-RELEASE
-The Linux man page maintainer proudly announces. . .
-
- man-pages-6.01.tar.gz - man pages for Linux
-
-Differences from the previous manual pages release are listed in
-the file "Changes".
-
-For further information, visit http://www.kernel.org/doc/man-pages/
-
-THE PAGES
-These pages are most of the section 2, 3, 4, 5, 7 man pages
-for Linux. A few pages are provided in sections 1 and 8 for commands
-that are not documented in other packages, and there are a few pages
-in sections 5 and 8 for the timezone utilities.
-
-[The timezone pages were taken from
-ftp://elsie.nci.nih.gov/pub/tzcode2001a.tar.gz.]
-[The section 3 man pages for the db routines have been taken from
-ftp://ftp.terra.net/pub/sleepycat/db.1.86.tar.gz.]
-[The rpc man pages were taken from the 4.4BSD-Lite CDROM.]
-
-Here is a breakdown of what this distribution contains:
-
- Section 1 = user commands (intro, plus a few other pages)
- Section 2 = system calls
- Subsection 2type = types provided by the kernel
- Section 3 = library calls
- Subsection 3const = library constants
- Subsection 3head = library header files
- Subsection 3type = library types
- Section 4 = devices (e.g., hd, sd)
- Section 5 = file formats and configuration files (e.g., wtmp, /etc/passwd)
- Section 6 = games (intro only)
- Section 7 = overviews, conventions, macro packages, etc.
- Section 8 = system administration (intro, plus a few other pages)
-
- This package contains no, or very few, section 1, 6, and 8 man pages
- because these should be distributed with the binaries they are written
- for. Sometimes Section 9 is used for man pages describing parts of
- the kernel.
-
- Note that only Section 2 is rather complete, but Section 3 contains
- several hundred man pages. If you want to write some man pages,
- or suggest improvements to existing pages, please visit
- http://www.kernel.org/doc/man-pages/ .
-
-
-Copyright information:
-
- These man pages are distributed under a variety of copyright licenses.
- Although these licenses permit free distribution of the nroff sources
- contained in this package, commercial distribution may impose other
- requirements (e.g., acknowledgement of copyright or inclusion of the
- raw nroff sources with the commercial distribution).
- If you distribute these man pages commercially, it is your
- responsibility to figure out your obligations. (For many man pages,
- these obligations require you to distribute nroff sources with any
- pre-formatted man pages that you provide.) Each file that contains
- nroff source for a man page also contains the author(s) name, email
- address, and copyright notice.
diff --git a/man-pages-6.01.lsm b/man-pages-6.01.lsm
deleted file mode 100644
index d1b31239f..000000000
--- a/man-pages-6.01.lsm
+++ /dev/null
@@ -1,14 +0,0 @@
-Begin4
-Title: Section 2, 3, 4, 5 and 7 man pages for Linux
-Version: 6.01
-Entered-date: 2022-10-18
-Description: Linux manual pages
-Keywords: man pages
-Author: several
-Maintained-by: Alejandro Colomar <alx.manpages@gmail.com>,
- Michael Kerrisk <mtk.manpages@gmail.com>
-Primary-site: http://www.kernel.org/pub/linux/docs/man-pages
- 2.6M man-pages-6.01.tar.gz
-Copying-policy: several; the pages are all freely distributable as long as
- nroff source is provided
-End
diff --git a/man1/getent.1 b/man1/getent.1
index 31decb37b..a9afa9c92 100644
--- a/man1/getent.1
+++ b/man1/getent.1
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH GETENT 1 2022-10-09 "Linux man-pages 6.01"
+.TH GETENT 1 2022-10-09 "Linux man-pages 6.02"
.SH NAME
getent \- get entries from Name Service Switch libraries
.SH SYNOPSIS
diff --git a/man1/iconv.1 b/man1/iconv.1
index e61c8a084..e773d873a 100644
--- a/man1/iconv.1
+++ b/man1/iconv.1
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ICONV 1 2022-10-09 "Linux man-pages 6.01"
+.TH iconv 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
iconv \- convert text from one character encoding to another
.SH SYNOPSIS
@@ -110,7 +110,7 @@ program must first allocate a conversion descriptor using
The operation of the latter function is influenced by the setting of the
.B GCONV_PATH
environment variable:
-.IP * 3
+.IP \(bu 3
If
.B GCONV_PATH
is not set,
@@ -121,7 +121,7 @@ and then, based on the configuration,
loads the gconv modules needed to perform the conversion.
If the system gconv module configuration cache file is not available
then the system gconv module configuration file is used.
-.IP *
+.IP \(bu
If
.B GCONV_PATH
is defined (as a colon-separated list of pathnames),
diff --git a/man1/intro.1 b/man1/intro.1
index 73633f17c..c9b5690e0 100644
--- a/man1/intro.1
+++ b/man1/intro.1
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INTRO 1 2022-10-09 "Linux man-pages 6.01"
+.TH intro 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to user commands
.SH DESCRIPTION
diff --git a/man1/ldd.1 b/man1/ldd.1
index 51cf1db9d..49bbfc2c7 100644
--- a/man1/ldd.1
+++ b/man1/ldd.1
@@ -8,7 +8,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH LDD 1 2022-10-09 "Linux man-pages 6.01"
+.TH LDD 1 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ldd \- print shared object dependencies
.SH SYNOPSIS
@@ -83,7 +83,7 @@ and perhaps to execution of the program itself.
.\" try_trace "$file"
.\" in glibc 2.15, for example), but many distro versions of
.\" ldd seem to remove that code path from the script.
-(In glibc versions before 2.27,
+(Before glibc 2.27,
.\" glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c
the upstream
.B ldd
diff --git a/man1/locale.1 b/man1/locale.1
index a742a4b16..5511878fc 100644
--- a/man1/locale.1
+++ b/man1/locale.1
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LOCALE 1 2022-10-09 "Linux man-pages 6.01"
+.TH locale 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
locale \- get locale-specific information
.SH SYNOPSIS
@@ -62,9 +62,9 @@ or locale categories (for example,
or
.BR LC_TIME ).
For each argument, the following is displayed:
-.IP * 3
+.IP \(bu 3
For a locale keyword, the value of that keyword to be displayed.
-.IP *
+.IP \(bu
For a locale category,
the values of all keywords in that category are displayed.
.PP
diff --git a/man1/localedef.1 b/man1/localedef.1
index 8a29afb61..d638de0fb 100644
--- a/man1/localedef.1
+++ b/man1/localedef.1
@@ -12,7 +12,7 @@
.\" Lars Wirzenius to document new functionality (as of GNU
.\" C library 2.3.5).
.\"
-.TH LOCALEDEF 1 2022-10-09 "Linux man-pages 6.01"
+.TH localedef 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
localedef \- compile locale definition files
.SH SYNOPSIS
@@ -57,7 +57,7 @@ etc.), and places the output in
The
.I outputpath
argument is interpreted as follows:
-.IP * 3
+.IP \(bu 3
If
.I outputpath
contains a slash character ('/'), it is interpreted as the name of the
@@ -66,7 +66,7 @@ In this case, there is a separate output file for each locale category
.RI ( LC_TIME ,
.IR LC_NUMERIC ,
and so on).
-.IP *
+.IP \(bu
If the
.B \-\-no\-archive
option is used,
@@ -74,7 +74,7 @@ option is used,
is the name of a subdirectory in
.I /usr/lib/locale
where per-category compiled files are placed.
-.IP *
+.IP \(bu
Otherwise,
.I outputpath
is the name of a locale and the compiled locale data is added to the
diff --git a/man1/memusage.1 b/man1/memusage.1
index ddabb37f3..2f29064b5 100644
--- a/man1/memusage.1
+++ b/man1/memusage.1
@@ -2,7 +2,7 @@
.\" and Copyright (C) 2014, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH MEMUSAGE 1 2022-10-09 "Linux man-pages 6.01"
+.TH MEMUSAGE 1 2022-10-09 "Linux man-pages 6.02"
.SH NAME
memusage \- profile memory usage of a program
.SH SYNOPSIS
diff --git a/man1/memusagestat.1 b/man1/memusagestat.1
index fa2c5f878..892ead3db 100644
--- a/man1/memusagestat.1
+++ b/man1/memusagestat.1
@@ -1,7 +1,7 @@
.\" Copyright (c) 2013, Peter Schiffer <pschiffe@redhat.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH MEMUSAGESTAT 1 2022-10-09 "Linux man-pages 6.01"
+.TH memusagestat 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
memusagestat \- generate graphic from memory profiling data
.SH SYNOPSIS
diff --git a/man1/mtrace.1 b/man1/mtrace.1
index e6a684645..47d016aef 100644
--- a/man1/mtrace.1
+++ b/man1/mtrace.1
@@ -1,7 +1,7 @@
.\" Copyright (c) 2013, Peter Schiffer (pschiffe@redhat.com)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH MTRACE 1 2022-10-09 "Linux man-pages 6.01"
+.TH mtrace 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mtrace \- interpret the malloc trace log
.SH SYNOPSIS
diff --git a/man1/pldd.1 b/man1/pldd.1
index fefc40d2c..02c65c4a8 100644
--- a/man1/pldd.1
+++ b/man1/pldd.1
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PLDD 1 2022-10-09 "Linux man-pages 6.01"
+.TH PLDD 1 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pldd \- display dynamic shared objects linked into a process
.SH SYNOPSIS
@@ -77,7 +77,7 @@ $ \fBgdb \-ex "set confirm off" \-ex "set height 0" \-ex "info shared" \e\fP
.EE
.in
.SH BUGS
-From glibc 2.19 to 2.29,
+From glibc 2.19 to glibc 2.29,
.B pldd
was broken: it just hung when executed.
.\" glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f
diff --git a/man1/sprof.1 b/man1/sprof.1
index cc6b62d4e..7eb7e15a1 100644
--- a/man1/sprof.1
+++ b/man1/sprof.1
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SPROF 1 2022-10-09 "Linux man-pages 6.01"
+.TH SPROF 1 2022-10-09 "Linux man-pages 6.02"
.SH NAME
sprof \- read and display shared object profiling data
.SH SYNOPSIS
diff --git a/man1/time.1 b/man1/time.1
index fb9616d94..d7ef7cb26 100644
--- a/man1/time.1
+++ b/man1/time.1
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH TIME 1 2022-10-09 "Linux man-pages 6.01"
+.TH time 1 2022-10-30 "Linux man-pages 6.02"
.SH NAME
time \- time a simple command or give resource usage
.SH SYNOPSIS
diff --git a/man2/_exit.2 b/man2/_exit.2
index e8fab60fd..bceafea82 100644
--- a/man2/_exit.2
+++ b/man2/_exit.2
@@ -6,7 +6,7 @@
.\" Modified Wed Jul 21 23:02:38 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified 2001-11-17, aeb
.\"
-.TH _EXIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH _exit 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
_exit, _Exit \- terminate the calling process
.SH LIBRARY
@@ -16,11 +16,11 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "noreturn void _exit(int " status );
+.BI "[[noreturn]] void _exit(int " status );
.PP
.B #include <stdlib.h>
.PP
-.BI "noreturn void _Exit(int " status );
+.BI "[[noreturn]] void _Exit(int " status );
.fi
.PP
.RS -4
@@ -111,7 +111,7 @@ to the parent process are performed only if this is
the last thread in the thread group.
.\" _exit() is used by pthread_exit() to terminate the calling thread
.PP
-In glibc up to version 2.3, the
+Up to glibc 2.3, the
.BR _exit ()
wrapper function invoked the kernel system call of the same name.
Since glibc 2.3, the wrapper function invokes
diff --git a/man2/_syscall.2 b/man2/_syscall.2
index 481bb2552..47999cd40 100644
--- a/man2/_syscall.2
+++ b/man2/_syscall.2
@@ -16,7 +16,7 @@
.\" 2007-10-23 mtk: created as a new page, by taking the content
.\" specific to the _syscall() macros from intro(2).
.\"
-.TH _SYSCALL 2 2022-10-09 "Linux man-pages 6.01"
+.TH _syscall 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
_syscall \- invoking a system call without library support (OBSOLETE)
.SH SYNOPSIS
diff --git a/man2/accept.2 b/man2/accept.2
index 599329630..6fbaa9912 100644
--- a/man2/accept.2
+++ b/man2/accept.2
@@ -10,7 +10,7 @@
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2008-12-04, mtk, Add documentation of accept4()
.\"
-.TH ACCEPT 2 2022-10-09 "Linux man-pages 6.01"
+.TH accept 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
accept, accept4 \- accept a connection on a socket
.SH LIBRARY
@@ -20,14 +20,14 @@ Standard C library
.nf
.B #include <sys/socket.h>
.PP
-.BI "int accept(int " sockfd ", struct sockaddr *restrict " addr ,
-.BI " socklen_t *restrict " addrlen );
+.BI "int accept(int " sockfd ", struct sockaddr *_Nullable restrict " addr ,
+.BI " socklen_t *_Nullable restrict " addrlen );
.PP
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/socket.h>
.PP
-.BI "int accept4(int " sockfd ", struct sockaddr *restrict " addr ,
-.BI " socklen_t *restrict " addrlen ", int " flags );
+.BI "int accept4(int " sockfd ", struct sockaddr *_Nullable restrict " addr ,
+.BI " socklen_t *_Nullable restrict " addrlen ", int " flags );
.fi
.SH DESCRIPTION
The
@@ -257,7 +257,7 @@ may be seen during a trace.
The
.BR accept4 ()
system call is available starting with Linux 2.6.28;
-support in glibc is available starting with version 2.10.
+support in glibc is available starting with glibc 2.10.
.SH STANDARDS
.BR accept ():
POSIX.1-2001, POSIX.1-2008,
diff --git a/man2/access.2 b/man2/access.2
index 36531ddc2..3d129779d 100644
--- a/man2/access.2
+++ b/man2/access.2
@@ -20,7 +20,7 @@
.\" Modified 2004-06-23 by Michael Kerrisk
.\" 2007-06-10, mtk, various parts rewritten, and added BUGS section.
.\"
-.TH ACCESS 2 2022-10-09 "Linux man-pages 6.01"
+.TH access 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
access, faccessat, faccessat2 \- check user's permissions for a file
.SH LIBRARY
@@ -276,11 +276,11 @@ Write access was requested to an executable which is being
executed.
.SH VERSIONS
.BR faccessat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.PP
.BR faccessat2 ()
-was added to Linux in version 5.8.
+was added in Linux 5.8.
.SH STANDARDS
.BR access ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
@@ -398,7 +398,7 @@ by making use of the
.BR faccessat2 ()
system call where it is provided by the underlying kernel.
.PP
-In kernel 2.4 (and earlier) there is some strangeness in the handling of
+In Linux 2.4 (and earlier) there is some strangeness in the handling of
.B X_OK
tests for superuser.
If all categories of execute permission are disabled
@@ -421,13 +421,13 @@ returns 0 for such files.
Early 2.6 kernels (up to and including 2.6.3)
also behaved in the same way as kernel 2.4.
.PP
-In kernels before 2.6.20,
+Before Linux 2.6.20,
these calls ignored the effect of the
.B MS_NOEXEC
flag if it was used to
.BR mount (2)
the underlying filesystem.
-Since kernel 2.6.20, the
+Since Linux 2.6.20, the
.B MS_NOEXEC
flag is honored.
.SH SEE ALSO
diff --git a/man2/acct.2 b/man2/acct.2
index f71b1e095..1c44b0620 100644
--- a/man2/acct.2
+++ b/man2/acct.2
@@ -9,7 +9,7 @@
.\" Modified 1998-11-04 by Tigran Aivazian <tigran@sco.com>
.\" Modified 2004-05-27, 2004-06-17, 2004-06-23 by Michael Kerrisk
.\"
-.TH ACCT 2 2022-10-09 "Linux man-pages 6.01"
+.TH acct 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
acct \- switch process accounting on or off
.SH LIBRARY
@@ -19,7 +19,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "int acct(const char *" filename );
+.BI "int acct(const char *_Nullable " filename );
.fi
.PP
.RS -4
diff --git a/man2/add_key.2 b/man2/add_key.2
index 8f2a26548..2e6caf9ba 100644
--- a/man2/add_key.2
+++ b/man2/add_key.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ADD_KEY 2 2022-10-09 "Linux man-pages 6.01"
+.TH add_key 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
add_key \- add a key to the kernel's key management facility
.SH LIBRARY
@@ -15,7 +15,7 @@ Standard C library
.B #include <keyutils.h>
.PP
.BI "key_serial_t add_key(const char *" type ", const char *" description ,
-.BI " const void *" payload ", size_t " plen ,
+.BI " const void " payload [. plen "], size_t " plen ,
.BI " key_serial_t " keyring ");"
.fi
.PP
diff --git a/man2/adjtimex.2 b/man2/adjtimex.2
index 8689e878b..e7bf28c09 100644
--- a/man2/adjtimex.2
+++ b/man2/adjtimex.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
.\" and Copyright (C) 2014, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -7,7 +8,7 @@
.\" Modified 1997-07-30 by Paul Slootman <paul@wurtel.demon.nl>
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH ADJTIMEX 2 2022-10-09 "Linux man-pages 6.01"
+.TH adjtimex 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
adjtimex, clock_adjtime, ntp_adjtime \- tune kernel clock
.SH LIBRARY
@@ -367,22 +368,22 @@ is a more portable interface for performing the same task as
.BR adjtimex ().
Other than the following points, it is identical to
.BR adjtimex ():
-.IP * 3
+.IP \(bu 3
The constants used in
.I modes
are prefixed with "MOD_" rather than "ADJ_", and have the same suffixes (thus,
.BR MOD_OFFSET ,
.BR MOD_FREQUENCY ,
and so on), other than the exceptions noted in the following points.
-.IP *
+.IP \(bu
.B MOD_CLKA
is the synonym for
.BR ADJ_OFFSET_SINGLESHOT .
-.IP *
+.IP \(bu
.B MOD_CLKB
is the synonym for
.BR ADJ_TICK .
-.IP *
+.IP \(bu
The is no synonym for
.BR ADJ_OFFSET_SS_READ ,
which is not described in the KAPI.
@@ -419,25 +420,25 @@ flags.
The system clock is not synchronized to a reliable server.
This value is returned when any of the following holds true:
.RS
-.IP * 3
+.IP \(bu 3
Either
.B STA_UNSYNC
or
.B STA_CLOCKERR
is set.
-.IP *
+.IP \(bu
.B STA_PPSSIGNAL
is clear and either
.B STA_PPSFREQ
or
.B STA_PPSTIME
is set.
-.IP *
+.IP \(bu
.B STA_PPSTIME
and
.B STA_PPSJITTER
are both set.
-.IP *
+.IP \(bu
.B STA_PPSFREQ
is set and either
.B STA_PPSWANDER
@@ -472,13 +473,13 @@ An attempt was made to set
.I buf.freq
to a value outside the range (\-33554432, +33554432).
.\" From a quick glance, it appears there was no clamping or range check
-.\" for buf.freq in kernels before 2.0
+.\" for buf.freq before Linux 2.0
.TP
.BR EINVAL " (kernels before Linux 2.6.26)"
An attempt was made to set
.I buf.offset
to a value outside the permitted range.
-In kernels before Linux 2.0, the permitted range was (\-131072, +131072).
+Before Linux 2.0, the permitted range was (\-131072, +131072).
From Linux 2.0 onwards, the permitted range was (\-512000, +512000).
.TP
.B EINVAL
diff --git a/man2/alarm.2 b/man2/alarm.2
index ac00460dd..995bad2c7 100644
--- a/man2/alarm.2
+++ b/man2/alarm.2
@@ -7,7 +7,7 @@
.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer <aeb@cwi.nl>
.\" Modified Wed Nov 6 03:46:05 1996 by Eric S. Raymond <esr@thyrsus.com>
.\"
-.TH ALARM 2 2022-10-09 "Linux man-pages 6.01"
+.TH alarm 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
alarm \- set an alarm clock for delivery of a signal
.SH LIBRARY
diff --git a/man2/alloc_hugepages.2 b/man2/alloc_hugepages.2
index a76b97d0f..1fd640dbd 100644
--- a/man2/alloc_hugepages.2
+++ b/man2/alloc_hugepages.2
@@ -2,13 +2,13 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ALLOC_HUGEPAGES 2 2022-10-09 "Linux man-pages 6.01"
+.TH alloc_hugepages 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
alloc_hugepages, free_hugepages \- allocate or free huge pages
.SH SYNOPSIS
.nf
-.BI "void *syscall(SYS_alloc_hugepages, int " key ", void *" addr \
-", size_t " len ,
+.BI "void *syscall(SYS_alloc_hugepages, int " key ", void " addr [. len "], \
+size_t " len ,
.BI " int " prot ", int " flag );
.\" asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr,
.\" unsigned long len, int prot, int flag);
@@ -25,7 +25,7 @@ The system calls
.BR alloc_hugepages ()
and
.BR free_hugepages ()
-were introduced in Linux 2.5.36 and removed again in 2.5.54.
+were introduced in Linux 2.5.36 and removed again in Linux 2.5.54.
They existed only on i386 and ia64 (when built with
.BR CONFIG_HUGETLB_PAGE ).
In Linux 2.4.20, the syscall numbers exist,
@@ -117,7 +117,7 @@ in the three variables HugePages_Total, HugePages_Free, Hugepagesize.
These extinct system calls were specific to Linux on Intel processors.
.SH NOTES
These system calls are gone;
-they existed only in Linux 2.5.36 through to 2.5.54.
+they existed only in Linux 2.5.36 through to Linux 2.5.54.
Now the hugetlbfs filesystem can be used instead.
Memory backed by huge pages (if the CPU supports them) is obtained by
using
diff --git a/man2/arch_prctl.2 b/man2/arch_prctl.2
index 14ec45667..69967c03c 100644
--- a/man2/arch_prctl.2
+++ b/man2/arch_prctl.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ARCH_PRCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH arch_prctl 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
arch_prctl \- set architecture-specific thread state
.SH LIBRARY
diff --git a/man2/bdflush.2 b/man2/bdflush.2
index ed87ed5a1..39f13768e 100644
--- a/man2/bdflush.2
+++ b/man2/bdflush.2
@@ -5,7 +5,7 @@
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH BDFLUSH 2 2022-10-09 "Linux man-pages 6.01"
+.TH bdflush 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
bdflush \- start, flush, or tune buffer-dirty-flush daemon
.SH SYNOPSIS
@@ -94,7 +94,7 @@ Caller does not have the
.B CAP_SYS_ADMIN
capability.
.SH VERSIONS
-Since version 2.23, glibc no longer supports this obsolete system call.
+Since glibc 2.23, glibc no longer supports this obsolete system call.
.SH STANDARDS
.BR bdflush ()
is Linux-specific and should not be used in programs
diff --git a/man2/bind.2 b/man2/bind.2
index c9386341c..359e6b180 100644
--- a/man2/bind.2
+++ b/man2/bind.2
@@ -18,7 +18,7 @@
.\" $Id: bind.2,v 1.3 1999/04/23 19:56:07 freitag Exp $
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH BIND 2 2022-10-09 "Linux man-pages 6.01"
+.TH bind 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
bind \- bind a name to a socket
.SH LIBRARY
diff --git a/man2/bpf.2 b/man2/bpf.2
index 461ed1541..52ce68d0c 100644
--- a/man2/bpf.2
+++ b/man2/bpf.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH BPF 2 2022-10-09 "Linux man-pages 6.01"
+.TH bpf 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
bpf \- perform a command on an extended BPF map or program
.SH SYNOPSIS
@@ -211,13 +211,13 @@ They allow sharing of data between eBPF kernel programs,
and also between kernel and user-space applications.
.PP
Each map type has the following attributes:
-.IP * 3
+.IP \(bu 3
type
-.IP *
+.IP \(bu
maximum number of elements
-.IP *
+.IP \(bu
key size in bytes
-.IP *
+.IP \(bu
value size in bytes
.PP
The following wrapper functions demonstrate how various
@@ -578,20 +578,20 @@ The following map types are supported:
.\" commit 0f8e4bd8a1fc8c4185f1630061d0a1f2d197a475
Hash-table maps have the following characteristics:
.RS
-.IP * 3
+.IP \(bu 3
Maps are created and destroyed by user-space programs.
Both user-space and eBPF programs
can perform lookup, update, and delete operations.
-.IP *
+.IP \(bu
The kernel takes care of allocating and freeing key/value pairs.
-.IP *
+.IP \(bu
The
.BR map_update_elem ()
helper will fail to insert new element when the
.I max_entries
limit is reached.
(This ensures that eBPF programs cannot exhaust memory.)
-.IP *
+.IP \(bu
.BR map_update_elem ()
replaces existing elements atomically.
.RE
@@ -603,7 +603,7 @@ optimized for speed of lookup.
.\" commit 28fbcfa08d8ed7c5a50d41a0433aad222835e8e3
Array maps have the following characteristics:
.RS
-.IP * 3
+.IP \(bu 3
Optimized for fastest possible lookup.
In the future the verifier/JIT compiler
may recognize lookup() operations that employ a constant key
@@ -616,16 +616,16 @@ In other words,
.BR array_map_lookup_elem ()
may be 'inlined' by the verifier/JIT compiler
while preserving concurrent access to this map from user space.
-.IP *
+.IP \(bu
All array elements pre-allocated and zero initialized at init time
-.IP *
+.IP \(bu
The key is an array index, and must be exactly four bytes.
-.IP *
+.IP \(bu
.BR map_delete_elem ()
fails with the error
.BR EINVAL ,
since elements cannot be deleted.
-.IP *
+.IP \(bu
.BR map_update_elem ()
replaces elements in a
.B nonatomic
@@ -644,13 +644,13 @@ This is quite often useful for aggregation and accounting of events.
.IP
Among the uses for array maps are the following:
.RS
-.IP * 3
+.IP \(bu 3
As "global" eBPF variables: an array of 1 element whose key is (index) 0
and where the value is a collection of 'global' variables which
eBPF programs can use to keep state between events.
-.IP *
+.IP \(bu
Aggregation of tracing events into a fixed set of buckets.
-.IP *
+.IP \(bu
Accounting of networking events, for example, number of packets and packet
sizes.
.RE
@@ -775,23 +775,23 @@ For further details of eBPF program types, see below.
The remaining fields of
.I bpf_attr
are set as follows:
-.IP * 3
+.IP \(bu 3
.I insns
is an array of
.I "struct bpf_insn"
instructions.
-.IP *
+.IP \(bu
.I insn_cnt
is the number of instructions in the program referred to by
.IR insns .
-.IP *
+.IP \(bu
.I license
is a license string, which must be GPL compatible to call helper functions
marked
.IR gpl_only .
(The licensing rules are the same as for kernel modules,
so that also dual licenses, such as "Dual BSD/GPL", may be used.)
-.IP *
+.IP \(bu
.I log_buf
is a pointer to a caller-allocated buffer in which the in-kernel
verifier can store the verification log.
@@ -799,7 +799,7 @@ This log is a multi-line string that can be checked by
the program author in order to understand how the verifier came to
the conclusion that the eBPF program is unsafe.
The format of the output can change at any time as the verifier evolves.
-.IP *
+.IP \(bu
.I log_size
size of the buffer pointed to by
.IR log_buf .
@@ -808,7 +808,7 @@ verifier messages, \-1 is returned and
.I errno
is set to
.BR ENOSPC .
-.IP *
+.IP \(bu
.I log_level
verbosity level of the verifier.
A value of zero means that the verifier will not provide a log;
@@ -1075,16 +1075,16 @@ However they may not store kernel pointers within
the maps and are presently limited to the following helper functions:
.\" [Linux 5.6] mtk: The list of available functions is, I think, governed
.\" by the check in net/core/filter.c::bpf_base_func_proto().
-.IP * 3
+.IP \(bu 3
get_random
.PD 0
-.IP *
+.IP \(bu
get_smp_processor_id
-.IP *
+.IP \(bu
tail_call
-.IP *
+.IP \(bu
ktime_get_ns
-.PD 1
+.PD
.PP
Unprivileged access may be blocked by writing the value 1 to the file
.IR /proc/sys/kernel/unprivileged_bpf_disabled .
@@ -1116,16 +1116,19 @@ files in the kernel source tree.
.PP
The kernel contains a just-in-time (JIT) compiler that translates
eBPF bytecode into native machine code for better performance.
-In kernels before Linux 4.15,
+Before Linux 4.15,
the JIT compiler is disabled by default,
but its operation can be controlled by writing one of the
following integer strings to the file
.IR /proc/sys/net/core/bpf_jit_enable :
-.IP 0 3
+.TP
+.B 0
Disable JIT compilation (default).
-.IP 1
+.TP
+.B 1
Normal compilation.
-.IP 2
+.TP
+.B 2
Debugging mode.
The generated opcodes are dumped in hexadecimal into the kernel log.
These opcodes can then be disassembled using the program
@@ -1148,37 +1151,37 @@ The JIT compiler for eBPF is currently
.\" and by checking the documentation for bpf_jit_enable in
.\" Documentation/sysctl/net.txt
available for the following architectures:
-.IP * 3
+.IP \(bu 3
x86-64 (since Linux 3.18; cBPF since Linux 3.0);
.\" commit 0a14842f5a3c0e88a1e59fac5c3025db39721f74
.PD 0
-.IP *
+.IP \(bu
ARM32 (since Linux 3.18; cBPF since Linux 3.4);
.\" commit ddecdfcea0ae891f782ae853771c867ab51024c2
-.IP *
+.IP \(bu
SPARC 32 (since Linux 3.18; cBPF since Linux 3.5);
.\" commit 2809a2087cc44b55e4377d7b9be3f7f5d2569091
-.IP *
+.IP \(bu
ARM-64 (since Linux 3.18);
.\" commit e54bcde3d69d40023ae77727213d14f920eb264a
-.IP *
+.IP \(bu
s390 (since Linux 4.1; cBPF since Linux 3.7);
.\" commit c10302efe569bfd646b4c22df29577a4595b4580
-.IP *
+.IP \(bu
PowerPC 64 (since Linux 4.8; cBPF since Linux 3.1);
.\" commit 0ca87f05ba8bdc6791c14878464efc901ad71e99
.\" commit 156d0e290e969caba25f1851c52417c14d141b24
-.IP *
+.IP \(bu
SPARC 64 (since Linux 4.12);
.\" commit 7a12b5031c6b947cc13918237ae652b536243b76
-.IP *
+.IP \(bu
x86-32 (since Linux 4.18);
.\" commit 03f5781be2c7b7e728d724ac70ba10799cc710d7
-.IP *
+.IP \(bu
MIPS 64 (since Linux 4.18; cBPF since Linux 3.16);
.\" commit c6610de353da5ca6eee5b8960e838a87a90ead0c
.\" commit f381bf6d82f032b7410185b35d000ea370ac706b
-.IP *
+.IP \(bu
riscv (since Linux 5.1).
.\" commit 2353ecc6f91fd15b893fa01bf85a1c7a823ee4f2
.PD
diff --git a/man2/brk.2 b/man2/brk.2
index 1e509c127..97391f559 100644
--- a/man2/brk.2
+++ b/man2/brk.2
@@ -7,7 +7,7 @@
.\" Modified Wed Jul 21 19:52:58 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Sun Aug 21 17:40:38 1994 by Rik Faith <faith@cs.unc.edu>
.\"
-.TH BRK 2 2022-10-09 "Linux man-pages 6.01"
+.TH brk 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
brk, sbrk \- change data segment size
.SH LIBRARY
@@ -35,7 +35,7 @@ Feature Test Macro Requirements for glibc (see
! (_POSIX_C_SOURCE >= 200112L))
.\" (_XOPEN_SOURCE >= 500 ||
.\" _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
- From glibc 2.12 to 2.19:
+ From glibc 2.12 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE
|| ((_XOPEN_SOURCE >= 500) &&
! (_POSIX_C_SOURCE >= 200112L))
diff --git a/man2/cacheflush.2 b/man2/cacheflush.2
index ca9548b0a..f15e1ac7f 100644
--- a/man2/cacheflush.2
+++ b/man2/cacheflush.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH CACHEFLUSH 2 2022-10-09 "Linux man-pages 6.01"
+.TH cacheflush 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
cacheflush \- flush contents of instruction and/or data cache
.SH LIBRARY
@@ -13,7 +13,7 @@ Standard C library
.nf
.B #include <sys/cachectl.h>
.PP
-.BI "int cacheflush(void *" addr ", int "nbytes ", int "cache );
+.BI "int cacheflush(void " addr [. nbytes "], int "nbytes ", int "cache );
.fi
.PP
.IR Note :
@@ -128,7 +128,7 @@ instead of
.I void *
for the parameters.
.SH BUGS
-Linux kernels older than version 2.6.11 ignore the
+Linux kernels older than Linux 2.6.11 ignore the
.I addr
and
.I nbytes
diff --git a/man2/capget.2 b/man2/capget.2
index 00391bb8e..27603d976 100644
--- a/man2/capget.2
+++ b/man2/capget.2
@@ -8,10 +8,10 @@
.\" Modified 2004-06-21, aeb
.\" Modified 2008-04-28, morgan of kernel.org
.\" Update in line with addition of file capabilities and
-.\" 64-bit capability sets in kernel 2.6.2[45].
+.\" 64-bit capability sets in Linux 2.6.2[45].
.\" Modified 2009-01-26, andi kleen
.\"
-.TH CAPGET 2 2022-10-09 "Linux man-pages 6.01"
+.TH capget 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
capget, capset \- set/get capabilities of thread(s)
.SH LIBRARY
@@ -100,7 +100,7 @@ and
.I struct __user_cap_data_struct
names because the typedefs are only pointers.
.PP
-Kernels prior to 2.6.25 prefer
+Kernels prior to Linux 2.6.25 prefer
32-bit capabilities with version
.BR _LINUX_CAPABILITY_VERSION_1 .
Linux 2.6.25 added 64-bit capability sets, with version
@@ -214,9 +214,9 @@ permitted set.
.B EPERM
An attempt was made to add a capability to the inheritable set, and either:
.RS
-.IP * 3
+.IP \(bu 3
that capability was not in the caller's bounding set; or
-.IP *
+.IP \(bu
the capability was not in the caller's permitted set
and the caller lacked the
.B CAP_SETPCAP
@@ -234,7 +234,7 @@ For kernels lacking VFS
support, the
.B CAP_SETPCAP
capability is required.
-(A bug in kernels before 2.6.11 meant that this error could also
+(A bug in kernels before Linux 2.6.11 meant that this error could also
occur if a thread without this capability tried to change its
own capabilities by specifying the
.I pid
diff --git a/man2/chdir.2 b/man2/chdir.2
index 67a099c6c..07b18aa4b 100644
--- a/man2/chdir.2
+++ b/man2/chdir.2
@@ -10,7 +10,7 @@
.\" Modified 1997-08-21 by Joseph S. Myers <jsm28@cam.ac.uk>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH CHDIR 2 2022-10-09 "Linux man-pages 6.01"
+.TH chdir 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
chdir, fchdir \- change working directory
.SH LIBRARY
diff --git a/man2/chmod.2 b/man2/chmod.2
index 4640a3fe3..89f6fdfa3 100644
--- a/man2/chmod.2
+++ b/man2/chmod.2
@@ -9,7 +9,7 @@
.\" <michael@cantor.informatik.rwth-aachen.de>: NFS details
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH CHMOD 2 2022-10-09 "Linux man-pages 6.01"
+.TH chmod 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
chmod, fchmod, fchmodat \- change permissions of a file
.SH LIBRARY
@@ -39,11 +39,11 @@ Feature Test Macro Requirements for glibc (see
Since glibc 2.24:
_POSIX_C_SOURCE >= 199309L
.\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
- Glibc 2.19 to 2.23
+ Glibc 2.19 to glibc 2.23
_POSIX_C_SOURCE
- Glibc 2.16 to 2.19:
+ Glibc 2.16 to glibc 2.19:
_BSD_SOURCE || _POSIX_C_SOURCE
- Glibc 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
|| _POSIX_C_SOURCE >= 200809L
Glibc 2.11 and earlier:
@@ -67,12 +67,12 @@ system calls change a file's mode bits.
(The file mode consists of the file permission bits plus the set-user-ID,
set-group-ID, and sticky bits.)
These system calls differ only in how the file is specified:
-.IP * 2
+.IP \(bu 3
.BR chmod ()
changes the mode of the file specified whose pathname is given in
.IR pathname ,
which is dereferenced if it is a symbolic link.
-.IP *
+.IP \(bu
.BR fchmod ()
changes the mode of the file referred to by the open file descriptor
.IR fd .
@@ -301,8 +301,8 @@ The file is marked immutable or append-only.
The named file resides on a read-only filesystem.
.SH VERSIONS
.BR fchmodat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR chmod (),
.BR fchmod ():
diff --git a/man2/chown.2 b/man2/chown.2
index 740f7169e..02b831e77 100644
--- a/man2/chown.2
+++ b/man2/chown.2
@@ -15,7 +15,7 @@
.\" (bsdgroups versus sysvgroups, and the effect of the parent
.\" directory's set-group-ID mode bit).
.\"
-.TH CHOWN 2 2022-10-09 "Linux man-pages 6.01"
+.TH chown 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
chown, fchown, lchown, fchownat \- change ownership of a file
.SH LIBRARY
@@ -65,16 +65,16 @@ The
and
.BR lchown ()
system calls differ only in how the file is specified:
-.IP * 2
+.IP \(bu 3
.BR chown ()
changes the ownership of the file specified by
.IR pathname ,
which is dereferenced if it is a symbolic link.
-.IP *
+.IP \(bu
.BR fchown ()
changes the ownership of the file referred to by the open file descriptor
.IR fd .
-.IP *
+.IP \(bu
.BR lchown ()
is like
.BR chown (),
@@ -107,8 +107,8 @@ this also should happen when root does the
the Linux behavior depends on the kernel version,
and since Linux 2.2.13, root is treated like other users.
.\" In Linux 2.0 kernels, superuser was like everyone else
-.\" In 2.2, up to 2.2.12, these bits were not cleared for superuser.
-.\" Since 2.2.13, superuser is once more like everyone else.
+.\" In Linux 2.2, up to Linux 2.2.12, these bits were not cleared for superuser.
+.\" Since Linux 2.2.13, superuser is once more like everyone else.
In case of a non-group-executable file (i.e., one for which the
.B S_IXGRP
bit is not set) the
@@ -279,8 +279,8 @@ The file is marked immutable or append-only.
The named file resides on a read-only filesystem.
.SH VERSIONS
.BR fchownat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR chown (),
.BR fchown (),
@@ -321,18 +321,18 @@ and
.BR "\-o\ sysvgroups" )
.BR mount (8)
options, then the rules are as follows:
-.IP * 2
+.IP \(bu 3
If the filesystem is mounted with
.BR "\-o\ grpid" ,
then the group of a new file is made
the same as that of the parent directory.
-.IP *
+.IP \(bu
If the filesystem is mounted with
.B \-o\ nogrpid
and the set-group-ID bit is disabled on the parent directory,
then the group of a new file is made the same as the
process's filesystem GID.
-.IP *
+.IP \(bu
If the filesystem is mounted with
.B \-o\ nogrpid
and the set-group-ID bit is enabled on the parent directory,
@@ -396,7 +396,7 @@ and
.BR lchown ()
wrapper functions transparently deal with the variations across kernel versions.
.PP
-In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
+Before Linux 2.1.81 (except 2.1.46),
.BR chown ()
did not follow symbolic links.
Since Linux 2.1.81,
diff --git a/man2/chroot.2 b/man2/chroot.2
index eb85b7953..ebad1a704 100644
--- a/man2/chroot.2
+++ b/man2/chroot.2
@@ -10,7 +10,7 @@
.\" Modified 1997-08-21 by Joseph S. Myers <jsm28@cam.ac.uk>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH CHROOT 2 2022-10-09 "Linux man-pages 6.01"
+.TH chroot 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
chroot \- change root directory
.SH LIBRARY
diff --git a/man2/clock_getres.2 b/man2/clock_getres.2
index 8e2f2b11d..c5853154c 100644
--- a/man2/clock_getres.2
+++ b/man2/clock_getres.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2003 Nick Clifford (zaf@nrc.co.nz), Jan 25, 2003
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl), Aug 24, 2003
.\" Copyright (c) 2020 Michael Kerrisk <mtk.manpages@gmail.com>
@@ -8,7 +9,7 @@
.\" 2003-08-24 aeb, large parts rewritten
.\" 2004-08-06 Christoph Lameter <clameter@sgi.com>, SMP note
.\"
-.TH CLOCK_GETRES 2 2022-10-09 "Linux man-pages 6.01"
+.TH clock_getres 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clock_getres, clock_gettime, clock_settime \- clock and time functions
.SH LIBRARY
@@ -23,7 +24,7 @@ Real-time library
.nf
.B #include <time.h>
.PP
-.BI "int clock_getres(clockid_t " clockid ", struct timespec *" res );
+.BI "int clock_getres(clockid_t " clockid ", struct timespec *_Nullable " res );
.PP
.BI "int clock_gettime(clockid_t " clockid ", struct timespec *" tp );
.BI "int clock_settime(clockid_t " clockid ", const struct timespec *" tp );
diff --git a/man2/clock_nanosleep.2 b/man2/clock_nanosleep.2
index 65baecf54..84328d585 100644
--- a/man2/clock_nanosleep.2
+++ b/man2/clock_nanosleep.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CLOCK_NANOSLEEP 2 2022-10-09 "Linux man-pages 6.01"
+.TH clock_nanosleep 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
clock_nanosleep \- high-resolution sleep with specifiable clock
.SH LIBRARY
@@ -20,7 +20,7 @@ Real-time library
.PP
.BI "int clock_nanosleep(clockid_t " clockid ", int " flags ,
.BI " const struct timespec *" request ,
-.BI " struct timespec *" remain );
+.BI " struct timespec *_Nullable " remain );
.fi
.PP
.RS -4
@@ -176,7 +176,7 @@ The kernel does not support sleeping against this
The
.BR clock_nanosleep ()
system call first appeared in Linux 2.6.
-Support is available in glibc since version 2.1.
+Support is available since glibc 2.1.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.SH NOTES
diff --git a/man2/clone.2 b/man2/clone.2
index f0d634f8c..c062b3a46 100644
--- a/man2/clone.2
+++ b/man2/clone.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1992 Drew Eckhardt <drew@cs.colorado.edu>, March 28, 1992
.\" and Copyright (c) Michael Kerrisk, 2001, 2002, 2005, 2013, 2019
.\"
@@ -10,7 +11,7 @@
.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 25 April 1998 by Xavier Leroy <Xavier.Leroy@inria.fr>
.\" Modified 26 Jun 2001 by Michael Kerrisk
-.\" Mostly upgraded to 2.4.x
+.\" Mostly upgraded to Linux 2.4.x
.\" Added prototype for sys_clone() plus description
.\" Added CLONE_THREAD with a brief description of thread groups
.\" Added CLONE_PARENT and revised entire page remove ambiguity
@@ -22,7 +23,7 @@
.\" Modified 26 Jun 2001 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Updated notes for 2.4.7+ behavior of CLONE_THREAD
.\" Modified 15 Oct 2002 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\" Added description for CLONE_NEWNS, which was added in 2.4.19
+.\" Added description for CLONE_NEWNS, which was added in Linux 2.4.19
.\" Slightly rephrased, aeb.
.\" Modified 1 Feb 2003 - added CLONE_SIGHAND restriction, aeb.
.\" Modified 1 Jan 2004 - various updates, aeb
@@ -37,7 +38,7 @@
.\" 2008-11-19, mtk, document CLONE_NEWIPC
.\" 2008-11-19, Jens Axboe, mtk, document CLONE_IO
.\"
-.TH CLONE 2 2022-10-09 "Linux man-pages 6.01"
+.TH clone 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clone, __clone2, clone3 \- create a child process
.SH LIBRARY
@@ -50,10 +51,12 @@ Standard C library
.B #define _GNU_SOURCE
.B #include <sched.h>
.PP
-.BI "int clone(int (*" "fn" ")(void *), void *" stack \
-", int " flags ", void *" "arg" ", ..."
-.BI " /* pid_t *" parent_tid ", void *" tls \
-", pid_t *" child_tid " */ );"
+.BI "int clone(int (*" "fn" ")(void *_Nullable), void *" stack \
+", int " flags ,
+.BI " void *_Nullable " "arg" ", ..." \
+" \fR/*\fP" " pid_t *_Nullable " parent_tid ,
+.BI " void *_Nullable " tls ,
+.BI " pid_t *_Nullable " child_tid " \fR*/\fP );"
.PP
/* For the prototype of the raw clone() system call, see NOTES */
.PP
@@ -95,14 +98,14 @@ and
below.
.PP
This page describes the following interfaces:
-.IP * 3
+.IP \(bu 3
The glibc
.BR clone ()
wrapper function and the underlying system call on which it is based.
The main text describes the wrapper function;
the differences for the raw system call
are described toward the end of this page.
-.IP *
+.IP \(bu
The newer
.BR clone3 ()
system call.
@@ -463,7 +466,7 @@ is nonsensical and disallowed.
.TP
.BR CLONE_DETACHED " (historical)"
For a while (during the Linux 2.5 development series)
-.\" added in 2.5.32; removed in 2.6.0-test4
+.\" added in Linux 2.5.32; removed in Linux 2.6.0-test4
there was a
.B CLONE_DETACHED
flag,
@@ -571,7 +574,7 @@ Among the possible use cases for
.B CLONE_INTO_CGROUP
are the following:
.RS
-.IP * 3
+.IP \(bu 3
Spawning a process into a cgroup different from the parent's cgroup
makes it possible for a service manager to directly spawn new
services into dedicated cgroups.
@@ -582,7 +585,7 @@ moved into the target cgroup.
Furthermore, spawning the child process directly into a target cgroup
is significantly cheaper than moving the child process into
the target cgroup after it has been created.
-.IP *
+.IP \(bu
The
.B CLONE_INTO_CGROUP
flag also allows the creation of
@@ -590,7 +593,7 @@ frozen child processes by spawning them into a frozen cgroup.
(See
.BR cgroups (7)
for a description of the freezer controller.)
-.IP *
+.IP \(bu
For threaded applications (or even thread implementations which
make use of cgroups to limit individual threads), it is possible to
establish a fixed cgroup layout before spawning each thread
@@ -663,7 +666,7 @@ This flag can't be specified in conjunction with
.TP
.BR CLONE_NEWNET " (since Linux 2.6.24)"
(The implementation of this flag was completed only
-by about kernel version 2.6.29.)
+by about Linux 2.6.29.)
.IP
If
.B CLONE_NEWNET
@@ -777,8 +780,8 @@ or
For security reasons,
.\" commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
.\" https://lwn.net/Articles/543273/
-.\" The fix actually went into 3.9 and into 3.8.3. However, user namespaces
-.\" were, for practical purposes, unusable in earlier 3.8.x because of the
+.\" The fix actually went into Linux 3.9 and into Linux 3.8.3. However, user namespaces
+.\" were, for practical purposes, unusable in earlier Linux 3.8.x because of the
.\" various filesystems that didn't support userns.
.B CLONE_NEWUSER
cannot be specified in conjunction with
@@ -846,7 +849,7 @@ that did this.)
The store operation completes before the clone call
returns control to user space.
.TP
-.BR CLONE_PID " (Linux 2.0 to 2.5.15)"
+.BR CLONE_PID " (Linux 2.0 to Linux 2.5.15)"
If
.B CLONE_PID
is set, the child process is created with the same process ID as
@@ -872,12 +875,12 @@ The close-on-exec flag is set on this new file descriptor.
PID file descriptors can be used for the purposes described in
.BR pidfd_open (2).
.RS
-.IP * 3
+.IP \(bu 3
When using
.BR clone3 (),
the PID file descriptor is placed at the location pointed to by
.IR cl_args.pidfd .
-.IP *
+.IP \(bu
When using
.BR clone (),
the PID file descriptor is placed at the location pointed to by
@@ -1588,7 +1591,7 @@ In the Linux 2.4.x series,
.B CLONE_THREAD
generally does not make the parent of the new thread the same
as the parent of the calling process.
-However, for kernel versions 2.4.7 to 2.4.18 the
+However, from Linux 2.4.7 to Linux 2.4.18 the
.B CLONE_THREAD
flag implied the
.B CLONE_PARENT
@@ -1808,7 +1811,7 @@ be used for the child's stack using
rather than
.BR malloc (3)
for the following reasons:
-.IP * 3
+.IP \(bu 3
.BR mmap (2)
allocates a block of memory that starts on a page
boundary and is a multiple of the page size.
@@ -1816,7 +1819,7 @@ This is useful if we want to establish a guard page (a page with protection
.BR PROT_NONE )
at the end of the stack using
.BR mprotect (2).
-.IP *
+.IP \(bu
We can specify the
.B MAP_STACK
flag to request a mapping that is suitable for a stack.
diff --git a/man2/close.2 b/man2/close.2
index fb73c411e..6566f1f03 100644
--- a/man2/close.2
+++ b/man2/close.2
@@ -13,7 +13,7 @@
.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
.\" added note about close(2) not guaranteeing that data is safe on close.
.\"
-.TH CLOSE 2 2022-10-09 "Linux man-pages 6.01"
+.TH close 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
close \- close a file descriptor
.SH LIBRARY
@@ -117,14 +117,14 @@ that may cause unintended side effects.
.PP
Furthermore, consider the following scenario where two threads are
performing operations on the same file descriptor:
-.IP 1. 3
+.IP (1) 5
One thread is blocked in an I/O system call on the file descriptor.
For example, it is trying to
.BR write (2)
to a pipe that is already full, or trying to
.BR read (2)
from a stream socket which currently has no available data.
-.IP 2.
+.IP (2)
Another thread closes the file descriptor.
.PP
The behavior in this situation varies across systems.
diff --git a/man2/close_range.2 b/man2/close_range.2
index 92e67b430..0c827f980 100644
--- a/man2/close_range.2
+++ b/man2/close_range.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CLOSE_RANGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH close_range 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
close_range \- close all file descriptors in a given range
.SH LIBRARY
@@ -75,7 +75,7 @@ Insufficient kernel memory was available.
.SH VERSIONS
.BR close_range ()
first appeared in Linux 5.9.
-Library support was added in glibc in version 2.34.
+Library support was added in glibc 2.34.
.SH STANDARDS
.BR close_range ()
is a nonstandard function that is also present on FreeBSD.
diff --git a/man2/connect.2 b/man2/connect.2
index d506f3103..78097ad15 100644
--- a/man2/connect.2
+++ b/man2/connect.2
@@ -16,7 +16,7 @@
.\" Modified 1998, 1999 by Andi Kleen
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH CONNECT 2 2022-10-09 "Linux man-pages 6.01"
+.TH connect 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
connect \- initiate a connection on a socket
.SH LIBRARY
@@ -86,7 +86,7 @@ set to
.BR AF_UNSPEC ;
thereafter, the socket can be connected to another address.
.RB ( AF_UNSPEC
-is supported on Linux since kernel 2.2.)
+is supported since Linux 2.2.)
.SH RETURN VALUE
If the connection or binding succeeds, zero is returned.
On error, \-1 is returned, and
@@ -108,13 +108,12 @@ in the path prefix.
The user tried to connect to a broadcast address without having the socket
broadcast flag enabled or the connection request failed because of a local
firewall rule.
-.IP
+.TP
.B EACCES
-can also be returned if an SELinux policy denied a connection (for
+It can also be returned if an SELinux policy denied a connection (for
example, if there is a policy saying that an HTTP proxy can only
connect to ports associated with HTTP servers, and the proxy tries to
connect to a different port).
-dd
.TP
.B EADDRINUSE
Local address is already in use.
diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2
index 60eabe156..e317fb95c 100644
--- a/man2/copy_file_range.2
+++ b/man2/copy_file_range.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH COPY_FILE_RANGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH copy_file_range 2 2022-12-14 "Linux man-pages 6.02"
.SH NAME
copy_file_range \- Copy a range of data from one file to another
.SH LIBRARY
@@ -13,8 +13,8 @@ Standard C library
.B #define _GNU_SOURCE
.B #include <unistd.h>
.PP
-.BI "ssize_t copy_file_range(int " fd_in ", off64_t *" off_in ,
-.BI " int " fd_out ", off64_t *" off_out ,
+.BI "ssize_t copy_file_range(int " fd_in ", off64_t *_Nullable " off_in ,
+.BI " int " fd_out ", off64_t *_Nullable " off_out ,
.BI " size_t " len ", unsigned int " flags );
.fi
.SH DESCRIPTION
@@ -35,14 +35,14 @@ The following semantics apply for
.IR off_in ,
and similar statements apply to
.IR off_out :
-.IP * 3
+.IP \(bu 3
If
.I off_in
is NULL, then bytes are read from
.I fd_in
starting from the file offset, and the file offset is
adjusted by the number of bytes copied.
-.IP *
+.IP \(bu
If
.I off_in
is not NULL, then
@@ -152,7 +152,8 @@ Out of memory.
.B ENOSPC
There is not enough space on the target filesystem to complete the copy.
.TP
-.BR EOPNOTSUPP " (since Linux 5.12)"
+.BR EOPNOTSUPP " (since Linux 5.19)"
+.\" commit 868f9f2f8e004bfe0d3935b1976f625b2924893b
The filesystem does not support this operation.
.TP
.B EOVERFLOW
@@ -171,11 +172,13 @@ or
refers to an active swap file.
.TP
.BR EXDEV " (before Linux 5.3)"
+.\" commit 5dae222a5ff0c269730393018a5539cc970a4726
The files referred to by
.IR fd_in " and " fd_out
are not on the same filesystem.
.TP
-.BR EXDEV " (since Linux 5.12)"
+.BR EXDEV " (since Linux 5.19)"
+.\" commit 868f9f2f8e004bfe0d3935b1976f625b2924893b
The files referred to by
.IR fd_in " and " fd_out
are not on the same filesystem,
@@ -188,16 +191,18 @@ system call first appeared in Linux 4.5, but glibc 2.27 provides a user-space
emulation when it is not available.
.\" https://sourceware.org/git/?p=glibc.git;a=commit;f=posix/unistd.h;h=bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f
.PP
-A major rework of the kernel implementation occurred in 5.3.
+A major rework of the kernel implementation occurred in Linux 5.3.
Areas of the API that weren't clearly defined were clarified and the API bounds
are much more strictly checked than on earlier kernels.
-Applications should target the behaviour and requirements of 5.3 kernels.
.PP
-Since Linux 5.12,
+Since Linux 5.19,
cross-filesystem copies can be achieved
when both filesystems are of the same type,
and that filesystem implements support for it.
-See BUGS for behavior prior to 5.12.
+See BUGS for behavior prior to Linux 5.19.
+.PP
+Applications should target the behaviour and requirements of Linux 5.19,
+that was also backported to earlier stable kernels.
.SH STANDARDS
The
.BR copy_file_range ()
@@ -223,7 +228,7 @@ such as the use of reflinks (i.e., two or more inodes that share
pointers to the same copy-on-write disk blocks)
or server-side-copy (in the case of NFS).
.SH BUGS
-In Linux kernels 5.3 to 5.11,
+In Linux 5.3 to Linux 5.18,
cross-filesystem copies were implemented by the kernel,
if the operation was not supported by individual filesystems.
However, on some virtual filesystems,
diff --git a/man2/create_module.2 b/man2/create_module.2
index 08d3c201e..2d97b497a 100644
--- a/man2/create_module.2
+++ b/man2/create_module.2
@@ -5,7 +5,7 @@
.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
.\" reformatting and rewordings by mtk
.\"
-.TH CREATE_MODULE 2 2022-10-09 "Linux man-pages 6.01"
+.TH create_module 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
create_module \- create a loadable module entry
.SH SYNOPSIS
@@ -16,7 +16,7 @@ create_module \- create a loadable module entry
.fi
.SH DESCRIPTION
.IR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
.BR create_module ()
attempts to create a loadable module entry and reserve the kernel memory
@@ -46,7 +46,7 @@ enough for the module.
.B ENOSYS
.BR create_module ()
is not supported in this version of the kernel
-(e.g., the kernel is version 2.6 or later).
+(e.g., Linux 2.6 or later).
.TP
.B EPERM
The caller was not privileged
@@ -54,7 +54,7 @@ The caller was not privileged
.B CAP_SYS_MODULE
capability).
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
@@ -63,7 +63,7 @@ is Linux-specific.
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
diff --git a/man2/delete_module.2 b/man2/delete_module.2
index 387e27475..15723df29 100644
--- a/man2/delete_module.2
+++ b/man2/delete_module.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DELETE_MODULE 2 2022-10-09 "Linux man-pages 6.01"
+.TH delete_module 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
delete_module \- unload a kernel module
.SH LIBRARY
@@ -38,15 +38,15 @@ as described below.
This system call requires privilege.
.PP
Module removal is attempted according to the following rules:
-.IP 1. 4
+.IP (1) 5
If there are other loaded modules that depend on
(i.e., refer to symbols defined in) this module,
then the call fails.
-.IP 2.
+.IP (2)
Otherwise, if the reference count for the module
(i.e., the number of processes currently using the module)
is zero, then the module is immediately unloaded.
-.IP 3.
+.IP (3)
If a module has a nonzero reference count,
then the behavior depends on the bits set in
.IR flags .
@@ -61,7 +61,7 @@ flag may additionally be specified.
The various combinations for
.I flags
have the following effect:
-.RS 4
+.RS
.TP
.B flags == O_NONBLOCK
The call returns immediately, with an error.
@@ -77,14 +77,14 @@ does not specify
.BR O_NONBLOCK ,
the following steps occur:
.RS
-.IP * 3
+.IP \(bu 3
The module is marked so that no new references are permitted.
-.IP *
+.IP \(bu
If the module's reference count is nonzero,
the caller is placed in an uninterruptible sleep state
.RB ( TASK_UNINTERRUPTIBLE )
until the reference count is zero, at which point the call unblocks.
-.IP *
+.IP \(bu
The module is unloaded in the usual way.
.RE
.RE
@@ -167,7 +167,7 @@ The
.BR delete_module ()
system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
diff --git a/man2/dup.2 b/man2/dup.2
index 8db35229a..6867d1336 100644
--- a/man2/dup.2
+++ b/man2/dup.2
@@ -14,7 +14,7 @@
.\" details for dup2().
.\" 2008-10-09, mtk: add description of dup3()
.\"
-.TH DUP 2 2022-10-09 "Linux man-pages 6.01"
+.TH dup 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
dup, dup2, dup3 \- duplicate a file descriptor
.SH LIBRARY
@@ -99,13 +99,13 @@ by a signal handler that allocates a file descriptor,
or because a parallel thread allocates a file descriptor.
.PP
Note the following points:
-.IP * 3
+.IP \(bu 3
If
.I oldfd
is not a valid file descriptor, then the call fails, and
.I newfd
is not closed.
-.IP *
+.IP \(bu
If
.I oldfd
is a valid file descriptor, and
@@ -122,7 +122,7 @@ does nothing, and returns
is the same as
.BR dup2 (),
except that:
-.IP * 3
+.IP \(bu 3
The caller can force the close-on-exec flag to be set
for the new file descriptor by specifying
.B O_CLOEXEC
@@ -131,7 +131,7 @@ in
See the description of the same flag in
.BR open (2)
for reasons why this may be useful.
-.IP *
+.IP \(bu
.\" Ulrich Drepper, LKML, 2008-10-09:
.\" We deliberately decided on this change. Otherwise, what is the
.\" result of dup3(fd, fd, O_CLOEXEC)?
@@ -199,9 +199,8 @@ in
.BR getrlimit (2)).
.SH VERSIONS
.BR dup3 ()
-was added to Linux in version 2.6.27;
-glibc support is available starting with
-version 2.9.
+was added in Linux 2.6.27;
+glibc support is available since glibc 2.9.
.SH STANDARDS
.BR dup (),
.BR dup2 ():
diff --git a/man2/epoll_create.2 b/man2/epoll_create.2
index 91afb576f..53c17baab 100644
--- a/man2/epoll_create.2
+++ b/man2/epoll_create.2
@@ -8,7 +8,7 @@
.\" Modified 2005-04-04 by Marko Kohtala <marko.kohtala@gmail.com>
.\" 2008-10-10, mtk: add description of epoll_create1()
.\"
-.TH EPOLL_CREATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH epoll_create 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
epoll_create, epoll_create1 \- open an epoll file descriptor
.SH LIBRARY
@@ -100,14 +100,14 @@ The system-wide limit on the total number of open files has been reached.
There was insufficient memory to create the kernel object.
.SH VERSIONS
.BR epoll_create ()
-was added to the kernel in version 2.6.
-Library support is provided in glibc starting with version 2.3.2.
+was added in Linux 2.6.
+Library support is provided in glibc 2.3.2.
.PP
.\" To be precise: kernel 2.5.44.
.\" The interface should be finalized by Linux kernel 2.5.66.
.BR epoll_create1 ()
-was added to the kernel in version 2.6.27.
-Library support is provided in glibc starting with version 2.9.
+was added in Linux 2.6.27.
+Library support is provided in glibc 2.9.
.SH STANDARDS
.BR epoll_create ()
and
diff --git a/man2/epoll_ctl.2 b/man2/epoll_ctl.2
index 3b4da62b4..8c459e389 100644
--- a/man2/epoll_ctl.2
+++ b/man2/epoll_ctl.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH EPOLL_CTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH epoll_ctl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
epoll_ctl \- control interface for an epoll file descriptor
.SH LIBRARY
@@ -15,7 +15,7 @@ Standard C library
.B #include <sys/epoll.h>
.PP
.BI "int epoll_ctl(int " epfd ", int " op ", int " fd \
-", struct epoll_event *" event );
+", struct epoll_event *_Nullable " event );
.fi
.SH DESCRIPTION
This system call is used to add, modify, or remove
@@ -371,10 +371,10 @@ This error can occur if
refers to, for example, a regular file or a directory.
.SH VERSIONS
.BR epoll_ctl ()
-was added to the kernel in version 2.6.
+was added to in Linux 2.6.
.\" To be precise: kernel 2.5.44.
.\" The interface should be finalized by Linux kernel 2.5.66.
-Library support is provided in glibc starting with version 2.3.2.
+Library support is provided in glibc 2.3.2.
.SH STANDARDS
.BR epoll_ctl ()
is Linux-specific.
@@ -384,7 +384,7 @@ The
interface supports all file descriptors that support
.BR poll (2).
.SH BUGS
-In kernel versions before 2.6.9, the
+Before Linux 2.6.9, the
.B EPOLL_CTL_DEL
operation required a non-null pointer in
.IR event ,
@@ -394,7 +394,7 @@ Since Linux 2.6.9,
can be specified as NULL
when using
.BR EPOLL_CTL_DEL .
-Applications that need to be portable to kernels before 2.6.9
+Applications that need to be portable to kernels before Linux 2.6.9
should specify a non-null pointer in
.IR event .
.PP
diff --git a/man2/epoll_wait.2 b/man2/epoll_wait.2
index fb971897e..eededce25 100644
--- a/man2/epoll_wait.2
+++ b/man2/epoll_wait.2
@@ -6,7 +6,7 @@
.\"
.\" 2007-04-30: mtk, Added description of epoll_pwait()
.\"
-.TH EPOLL_WAIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH epoll_wait 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
epoll_wait, epoll_pwait, epoll_pwait2 \-
wait for an I/O event on an epoll file descriptor
@@ -21,10 +21,11 @@ Standard C library
.BI " int " maxevents ", int " timeout );
.BI "int epoll_pwait(int " epfd ", struct epoll_event *" events ,
.BI " int " maxevents ", int " timeout ,
-.BI " const sigset_t *" sigmask );
+.BI " const sigset_t *_Nullable " sigmask );
.BI "int epoll_pwait2(int " epfd ", struct epoll_event *" events ,
-.BI " int " maxevents ", const struct timespec *" timeout ,
-.BI " const sigset_t *" sigmask );
+.BI " int " maxevents ", \
+const struct timespec *_Nullable " timeout ,
+.BI " const sigset_t *_Nullable " sigmask );
.fi
.SH DESCRIPTION
The
@@ -58,7 +59,7 @@ clock.
A call to
.BR epoll_wait ()
will block until either:
-.IP \(bu 2
+.IP \(bu 3
a file descriptor delivers an event;
.IP \(bu
the call is interrupted by a signal handler; or
@@ -208,17 +209,17 @@ file descriptor, or
is less than or equal to zero.
.SH VERSIONS
.BR epoll_wait ()
-was added to the kernel in version 2.6.
+was added in Linux 2.6.
.\" To be precise: kernel 2.5.44.
-.\" The interface should be finalized by Linux kernel 2.5.66.
-Library support is provided in glibc starting with version 2.3.2.
+.\" The interface should be finalized by Linux 2.5.66.
+Library support is provided in glibc 2.3.2.
.PP
.BR epoll_pwait ()
-was added to Linux in kernel 2.6.19.
-Library support is provided in glibc starting with version 2.6.
+was added in Linux 2.6.19.
+Library support is provided in glibc 2.6.
.PP
.BR epoll_pwait2 ()
-was added to Linux in kernel 5.11.
+was added in Linux 5.11.
.SH STANDARDS
.BR epoll_wait (),
.BR epoll_pwait (),
@@ -273,7 +274,7 @@ wrapper function specifies this argument as a fixed value
(equal to
.IR sizeof(sigset_t) ).
.SH BUGS
-In kernels before 2.6.37, a
+Before Linux 2.6.37, a
.I timeout
value larger than approximately
.I LONG_MAX / HZ
diff --git a/man2/eventfd.2 b/man2/eventfd.2
index 9fcc2f9bb..77edcd614 100644
--- a/man2/eventfd.2
+++ b/man2/eventfd.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\" starting from a version by Davide Libenzi <davidel@xmailserver.org>
.\"
@@ -5,7 +6,7 @@
.\"
.\" 2008-10-10, mtk: describe eventfd2(), and EFD_NONBLOCK and EFD_CLOEXEC
.\"
-.TH EVENTFD 2 2022-10-09 "Linux man-pages 6.01"
+.TH eventfd 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
eventfd \- create a file descriptor for event notification
.SH LIBRARY
@@ -62,7 +63,7 @@ to achieve the same result.
Provide semaphore-like semantics for reads from the new file descriptor.
See below.
.PP
-In Linux up to version 2.6.26, the
+Up to Linux 2.6.26, the
.I flags
argument is unused, and must be specified as zero.
.PP
@@ -91,21 +92,21 @@ and whether the
.B EFD_SEMAPHORE
flag was specified when creating the eventfd file descriptor:
.RS
-.IP * 3
+.IP \(bu 3
If
.B EFD_SEMAPHORE
was not specified and the eventfd counter has a nonzero value, then a
.BR read (2)
returns 8 bytes containing that value,
and the counter's value is reset to zero.
-.IP *
+.IP \(bu
If
.B EFD_SEMAPHORE
was specified and the eventfd counter has a nonzero value, then a
.BR read (2)
returns 8 bytes containing the value 1,
and the counter's value is decremented by 1.
-.IP *
+.IP \(bu
If the eventfd counter is zero at the time of the call to
.BR read (2),
then the call either blocks until the counter becomes nonzero
@@ -150,7 +151,7 @@ and
.BR select (2),
as follows:
.RS
-.IP * 3
+.IP \(bu 3
The file descriptor is readable
(the
.BR select (2)
@@ -160,7 +161,7 @@ argument; the
.B POLLIN
flag)
if the counter has a value greater than 0.
-.IP *
+.IP \(bu
The file descriptor is writable
(the
.BR select (2)
@@ -170,7 +171,7 @@ argument; the
.B POLLOUT
flag)
if it is possible to write a value of at least "1" without blocking.
-.IP *
+.IP \(bu
If an overflow of the counter value was detected,
then
.BR select (2)
@@ -247,13 +248,13 @@ There was insufficient memory to create a new
eventfd file descriptor.
.SH VERSIONS
.BR eventfd ()
-is available on Linux since kernel 2.6.22.
-Working support is provided in glibc since version 2.8.
+is available since Linux 2.6.22.
+Working support is provided since glibc 2.8.
.\" eventfd() is in glibc 2.7, but reportedly does not build
The
.BR eventfd2 ()
-system call (see NOTES) is available on Linux since kernel 2.6.27.
-Since version 2.9, the glibc
+system call (see NOTES) is available since Linux 2.6.27.
+Since glibc 2.9, the
.BR eventfd ()
wrapper will employ the
.BR eventfd2 ()
diff --git a/man2/execve.2 b/man2/execve.2
index bf44bf7a8..067cc99a3 100644
--- a/man2/execve.2
+++ b/man2/execve.2
@@ -14,7 +14,7 @@
.\" 2007-09-14 Ollie Wild <aaw@google.com>, mtk
.\" Add text describing limits on command-line arguments + environment
.\"
-.TH EXECVE 2 2022-10-09 "Linux man-pages 6.01"
+.TH EXECVE 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
execve \- execute program
.SH LIBRARY
@@ -24,8 +24,8 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "int execve(const char *" pathname ", char *const " argv [],
-.BI " char *const " envp []);
+.BI "int execve(const char *" pathname ", char *const _Nullable " argv [],
+.BI " char *const _Nullable " envp []);
.fi
.SH DESCRIPTION
.BR execve ()
@@ -110,12 +110,12 @@ The aforementioned transformations of the effective IDs are
.I not
performed (i.e., the set-user-ID and set-group-ID bits are ignored)
if any of the following is true:
-.IP * 3
+.IP \(bu 3
the
.I no_new_privs
attribute is set for the calling thread (see
.BR prctl (2));
-.IP *
+.IP \(bu
the underlying filesystem is mounted
.I nosuid
(the
@@ -123,7 +123,7 @@ the underlying filesystem is mounted
flag for
.BR mount (2));
or
-.IP *
+.IP \(bu
the calling process is being ptraced.
.PP
The capabilities of the program file (see
@@ -159,43 +159,43 @@ for binaries linked with glibc (see
All process attributes are preserved during an
.BR execve (),
except the following:
-.IP * 3
+.IP \(bu 3
The dispositions of any signals that are being caught are
reset to the default
.RB ( signal (7)).
-.IP *
+.IP \(bu
Any alternate signal stack is not preserved
.RB ( sigaltstack (2)).
-.IP *
+.IP \(bu
Memory mappings are not preserved
.RB ( mmap (2)).
-.IP *
+.IP \(bu
Attached System\ V shared memory segments are detached
.RB ( shmat (2)).
-.IP *
+.IP \(bu
POSIX shared memory regions are unmapped
.RB ( shm_open (3)).
-.IP *
+.IP \(bu
Open POSIX message queue descriptors are closed
.RB ( mq_overview (7)).
-.IP *
+.IP \(bu
Any open POSIX named semaphores are closed
.RB ( sem_overview (7)).
-.IP *
+.IP \(bu
POSIX timers are not preserved
.RB ( timer_create (2)).
-.IP *
+.IP \(bu
Any open directory streams are closed
.RB ( opendir (3)).
-.IP *
+.IP \(bu
Memory locks are not preserved
.RB ( mlock (2),
.BR mlockall (2)).
-.IP *
+.IP \(bu
Exit handlers are not preserved
.RB ( atexit (3),
.BR on_exit (3)).
-.IP *
+.IP \(bu
The floating-point environment is reset to the default (see
.BR fenv (3)).
.PP
@@ -204,7 +204,7 @@ in POSIX.1.
The following Linux-specific process attributes are also
not preserved during an
.BR execve ():
-.IP * 3
+.IP \(bu 3
The process's "dumpable" attribute is set to the value 1,
unless a set-user-ID program, a set-group-ID program,
or a program with capabilities is being executed,
@@ -221,52 +221,52 @@ directory to change to
.IR root:root ,
as described in
.BR proc (5).
-.IP *
+.IP \(bu
The
.BR prctl (2)
.B PR_SET_KEEPCAPS
flag is cleared.
-.IP *
+.IP \(bu
(Since Linux 2.4.36 / 2.6.23)
If a set-user-ID or set-group-ID program is being executed,
then the parent death signal set by
.BR prctl (2)
.B PR_SET_PDEATHSIG
flag is cleared.
-.IP *
+.IP \(bu
The process name, as set by
.BR prctl (2)
.B PR_SET_NAME
(and displayed by
.IR "ps\ \-o comm" ),
is reset to the name of the new executable file.
-.IP *
+.IP \(bu
The
.B SECBIT_KEEP_CAPS
.I securebits
flag is cleared.
See
.BR capabilities (7).
-.IP *
+.IP \(bu
The termination signal is reset to
.B SIGCHLD
(see
.BR clone (2)).
-.IP *
+.IP \(bu
The file descriptor table is unshared, undoing the effect of the
.B CLONE_FILES
flag of
.BR clone (2).
.PP
Note the following further points:
-.IP * 3
+.IP \(bu 3
All threads other than the calling thread are destroyed during an
.BR execve ().
Mutexes, condition variables, and other pthreads objects are not preserved.
-.IP *
+.IP \(bu
The equivalent of \fIsetlocale(LC_ALL, "C")\fP
is executed at program start-up.
-.IP *
+.IP \(bu
POSIX.1 specifies that the dispositions of any signals that
are ignored or set to the default are left unchanged.
POSIX.1 specifies one exception: if
@@ -274,16 +274,16 @@ POSIX.1 specifies one exception: if
is being ignored,
then an implementation may leave the disposition unchanged or
reset it to the default; Linux does the former.
-.IP *
+.IP \(bu
Any outstanding asynchronous I/O operations are canceled
.RB ( aio_read (3),
.BR aio_write (3)).
-.IP *
+.IP \(bu
For the handling of capabilities during
.BR execve (),
see
.BR capabilities (7).
-.IP *
+.IP \(bu
By default, file descriptors remain open across an
.BR execve ().
File descriptors that are marked close-on-exec are closed;
@@ -384,14 +384,14 @@ constant (either defined in
or available at run time using the call
.IR "sysconf(_SC_ARG_MAX)" ).
.PP
-On Linux prior to kernel 2.6.23, the memory used to store the
+Before Linux 2.6.23, the memory used to store the
environment and argument strings was limited to 32 pages
(defined by the kernel constant
.BR MAX_ARG_PAGES ).
On architectures with a 4-kB page size,
this yields a maximum size of 128\ kB.
.PP
-On kernel 2.6.23 and later, most architectures support a size limit
+On Linux 2.6.23 and later, most architectures support a size limit
derived from the soft
.B RLIMIT_STACK
resource limit (see
@@ -400,15 +400,15 @@ that is in force at the time of the
.BR execve ()
call.
(Architectures with no memory management unit are excepted:
-they maintain the limit that was in effect before kernel 2.6.23.)
+they maintain the limit that was in effect before Linux 2.6.23.)
This change allows programs to have a much larger
argument and/or environment list.
-.\" For some background on the changes to ARG_MAX in kernels 2.6.23 and
-.\" 2.6.25, see:
+.\" For some background on the changes to ARG_MAX in Linux 2.6.23 and
+.\" Linux 2.6.25, see:
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=5786
.\" http://bugzilla.kernel.org/show_bug.cgi?id=10095
.\" http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101,
-.\" checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
+.\" checked into Linux 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2.
For these architectures, the total size is limited to 1/4 of the allowed
stack size.
(Imposing the 1/4-limit
@@ -679,7 +679,7 @@ ignores the set-user-ID and set-group-ID bits on scripts.
.\" Linux versions have also had other security holes in
.\" .BR execve ()
.\" that could be exploited for denial of service by a suitably crafted
-.\" ELF binary. There are no known problems with 2.0.34 or 2.2.15.
+.\" ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15.
.SS execve() and EAGAIN
A more detailed explanation of the
.B EAGAIN
@@ -701,10 +701,10 @@ and that change caused the process to exceed its
.B RLIMIT_NPROC
resource limit (i.e., the number of processes belonging
to the new real UID exceeds the resource limit).
-From Linux 2.6.0 to 3.0, this caused the
+From Linux 2.6.0 to Linux 3.0, this caused the
.BR set*uid ()
call to fail.
-(Prior to 2.6,
+(Before Linux 2.6,
.\" commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
the resource limit was not imposed on processes that
changed their user IDs.)
@@ -774,7 +774,7 @@ Since UNIX\ V7, both are NULL.
.\" Linux versions have also had other security holes in
.\" .BR execve ()
.\" that could be exploited for denial of service by a suitably crafted
-.\" ELF binary. There are no known problems with 2.0.34 or 2.2.15.
+.\" ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15.
.SH EXAMPLES
The following program is designed to be execed by the second program below.
It just echoes its command-line arguments, one per line.
diff --git a/man2/execveat.2 b/man2/execveat.2
index 2c67c459d..b74e44931 100644
--- a/man2/execveat.2
+++ b/man2/execveat.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH EXECVEAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH execveat 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
execveat \- execute program relative to a directory file descriptor
.SH LIBRARY
@@ -15,7 +15,8 @@ Standard C library
.B #include <unistd.h>
.PP
.BI "int execveat(int " dirfd ", const char *" pathname ,
-.BI " const char *const " argv "[], const char *const " envp [],
+.BI " const char *const _Nullable " argv [],
+.BI " const char *const _Nullable " envp [],
.BI " int " flags );
.fi
.SH DESCRIPTION
@@ -146,8 +147,8 @@ is relative and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR execveat ()
-was added to Linux in kernel 3.19.
-Library support was added to glibc in version 2.34.
+was added in Linux 3.19.
+Library support was added in glibc 2.34.
.SH STANDARDS
The
.BR execveat ()
diff --git a/man2/exit_group.2 b/man2/exit_group.2
index 1d2e504ac..2e1c0bb7f 100644
--- a/man2/exit_group.2
+++ b/man2/exit_group.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH EXIT_GROUP 2 2022-10-09 "Linux man-pages 6.01"
+.TH exit_group 2 2022-11-05 "Linux man-pages 6.02"
.SH NAME
exit_group \- exit all threads in a process
.SH LIBRARY
@@ -13,7 +13,7 @@ Standard C library
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
-.BI "noreturn void syscall(SYS_exit_group, int " status );
+.BI "[[noreturn]] void syscall(SYS_exit_group, int " status );
.fi
.PP
.IR Note :
diff --git a/man2/fallocate.2 b/man2/fallocate.2
index 91ed2ce68..e5700bf8f 100644
--- a/man2/fallocate.2
+++ b/man2/fallocate.2
@@ -6,7 +6,7 @@
.\" 2011-09-19: Added FALLOC_FL_PUNCH_HOLE
.\" 2011-09-19: Substantial restructuring of the page
.\"
-.TH FALLOCATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH fallocate 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fallocate \- manipulate file space
.SH LIBRARY
@@ -125,18 +125,18 @@ Not all filesystems support
.BR FALLOC_FL_PUNCH_HOLE ;
if a filesystem doesn't support the operation, an error is returned.
The operation is supported on at least the following filesystems:
-.IP * 3
+.IP \(bu 3
XFS (since Linux 2.6.38)
-.IP *
+.IP \(bu
ext4 (since Linux 3.0)
.\" commit a4bb6b64e39abc0e41ca077725f2a72c868e7622
-.IP *
+.IP \(bu
Btrfs (since Linux 3.7)
-.IP *
+.IP \(bu
.BR tmpfs (5)
(since Linux 3.5)
.\" commit 83e4fa9c16e4af7122e31be3eca5d57881d236fe
-.IP *
+.IP \(bu
.BR gfs2 (5)
(since Linux 4.16)
.\" commit 4e56a6411fbce6f859566e17298114c2434391a4
@@ -235,16 +235,16 @@ Not all filesystems support
.BR FALLOC_FL_ZERO_RANGE ;
if a filesystem doesn't support the operation, an error is returned.
The operation is supported on at least the following filesystems:
-.IP * 3
+.IP \(bu 3
XFS (since Linux 3.15)
.\" commit 376ba313147b4172f3e8cf620b9fb591f3e8cdfa
-.IP *
+.IP \(bu
ext4, for extent-based files (since Linux 3.15)
.\" commit b8a8684502a0fc852afa0056c6bb2a9273f6fcc0
-.IP *
+.IP \(bu
SMB3 (since Linux 3.17)
.\" commit 30175628bf7f521e9ee31ac98fa6d6fe7441a556
-.IP *
+.IP \(bu
Btrfs (since Linux 4.16)
.\" commit f27451f229966874a8793995b8e6b74326d125df
.SS Increasing file space
@@ -390,7 +390,7 @@ or
but the file referred to by
.I fd
is not a regular file.
-.\" There was an inconsistency in 3.15-rc1, that should be resolved so that all
+.\" There was an inconsistency in Linux 3.15-rc1, that should be resolved so that all
.\" filesystems use this error for this case. (Tytso says ex4 will change.)
.\" http://thread.gmane.org/gmane.comp.file-systems.xfs.general/60485/focus=5521
.\" From: Michael Kerrisk (man-pages <mtk.manpages@...>
@@ -465,11 +465,11 @@ but the file referred to by
is currently being executed.
.SH VERSIONS
.BR fallocate ()
-is available on Linux since kernel 2.6.23.
-Support is provided by glibc since version 2.10.
+is available since Linux 2.6.23.
+Support is provided since glibc 2.10.
The
.B FALLOC_FL_*
-flags are defined in glibc headers only since version 2.18.
+flags are defined in glibc headers only since glibc 2.18.
.\" See http://sourceware.org/bugzilla/show_bug.cgi?id=14964
.SH STANDARDS
.BR fallocate ()
diff --git a/man2/fanotify_init.2 b/man2/fanotify_init.2
index b59d3a86f..d6ca3555d 100644
--- a/man2/fanotify_init.2
+++ b/man2/fanotify_init.2
@@ -1,7 +1,7 @@
\" Copyright (C) 2013, Heinrich Schuchardt <xypron.glpk@gmx.de>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH FANOTIFY_INIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH fanotify_init 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fanotify_init \- create and initialize fanotify group
.SH LIBRARY
@@ -434,7 +434,7 @@ An invalid value was passed in
or
.IR event_f_flags .
.B FAN_ALL_INIT_FLAGS
-(deprecated since Linux kernel version 4.20)
+(deprecated since Linux 4.20)
.\" commit 23c9deeb3285d34fd243abb3d6b9f07db60c3cf4
defines all allowable bits for
.IR flags .
@@ -461,8 +461,7 @@ The fanotify API is available only if the kernel was configured with
The operation is not permitted because the caller lacks a required capability.
.SH VERSIONS
.BR fanotify_init ()
-was introduced in version 2.6.36 of the Linux kernel and enabled in version
-2.6.37.
+was introduced in Linux 2.6.36 and enabled in Linux 2.6.37.
.PP
Prior to Linux 5.13,
.\" commit 7cea2a3c505e87a9d6afc78be4a7f7be636a73a7
@@ -484,24 +483,24 @@ The limitations imposed on an event listener created by a user without the
.B CAP_SYS_ADMIN
capability are as follows:
.RS
-.IP * 3
+.IP \(bu 3
The user cannot request for an unlimited event queue by using
.BR FAN_UNLIMITED_QUEUE .
-.IP * 3
+.IP \(bu
The user cannot request for an unlimited number of marks by using
.BR FAN_UNLIMITED_MARKS .
-.IP * 3
+.IP \(bu
The user cannot request to use either notification classes
.B FAN_CLASS_CONTENT
or
.BR FAN_CLASS_PRE_CONTENT .
This means that user cannot request permission events.
-.IP * 3
+.IP \(bu
The user is required to create a group that identifies filesystem objects by
file handles, for example, by providing the
.B FAN_REPORT_FID
flag.
-.IP * 3
+.IP \(bu
The user is limited to only mark inodes.
The ability to mark a mount or filesystem via
.BR fanotify_mark ()
@@ -510,7 +509,7 @@ through the use of
or
.B FAN_MARK_FILESYSTEM
is not permitted.
-.IP * 3
+.IP \(bu
The event object in the event queue is limited in terms of the information
that is made available to the unprivileged user.
A user will also not receive the pid that generated the event, unless the
@@ -519,16 +518,16 @@ listening process itself generated the event.
.SH STANDARDS
This system call is Linux-specific.
.SH BUGS
-The following bug was present in Linux kernels before version 3.18:
-.IP * 3
+The following bug was present before Linux 3.18:
+.IP \(bu 3
.\" Fixed by commit 0b37e097a648aa71d4db1ad108001e95b69a2da4
The
.B O_CLOEXEC
is ignored when passed in
.IR event_f_flags .
.PP
-The following bug was present in Linux kernels before version 3.14:
-.IP * 3
+The following bug was present before Linux 3.14:
+.IP \(bu 3
.\" Fixed by commit 48149e9d3a7e924010a0daab30a6197b7d7b6580
The
.I event_f_flags
diff --git a/man2/fanotify_mark.2 b/man2/fanotify_mark.2
index 701382567..42fe0c11b 100644
--- a/man2/fanotify_mark.2
+++ b/man2/fanotify_mark.2
@@ -1,7 +1,7 @@
.\" Copyright (C) 2013, Heinrich Schuchardt <xypron.glpk@gmx.de>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH FANOTIFY_MARK 2 2022-10-09 "Linux man-pages 6.01"
+.TH FANOTIFY_MARK 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fanotify_mark \- add, remove, or modify an fanotify mark on a filesystem
object
@@ -13,8 +13,8 @@ Standard C library
.B #include <sys/fanotify.h>
.PP
.BI "int fanotify_mark(int " fanotify_fd ", unsigned int " flags ,
-.BI " uint64_t " mask ", int " dirfd \
-", const char *" pathname );
+.BI " uint64_t " mask ", int " dirfd ,
+.BI " const char *_Nullable " pathname );
.fi
.SH DESCRIPTION
For an overview of the fanotify API, see
@@ -501,13 +501,13 @@ The filesystem object to be marked is determined by the file descriptor
.I dirfd
and the pathname specified in
.IR pathname :
-.IP * 3
+.IP \(bu 3
If
.I pathname
is NULL,
.I dirfd
defines the filesystem object to be marked.
-.IP *
+.IP \(bu
If
.I pathname
is NULL, and
@@ -515,13 +515,13 @@ is NULL, and
takes the special value
.BR AT_FDCWD ,
the current working directory is to be marked.
-.IP *
+.IP \(bu
If
.I pathname
is absolute, it defines the filesystem object to be marked, and
.I dirfd
is ignored.
-.IP *
+.IP \(bu
If
.I pathname
is relative, and
@@ -532,7 +532,7 @@ then the filesystem object to be marked is determined by interpreting
.I pathname
relative the directory referred to by
.IR dirfd .
-.IP *
+.IP \(bu
If
.I pathname
is relative, and
@@ -763,8 +763,7 @@ This error can be returned only with an fanotify group that identifies
filesystem objects by file handles.
.SH VERSIONS
.BR fanotify_mark ()
-was introduced in version 2.6.36 of the Linux kernel and enabled in version
-2.6.37.
+was introduced in Linux 2.6.36 and enabled in Linux 2.6.37.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
@@ -814,8 +813,8 @@ events for both the ELF binary and interpreter, respectively:
.EE
.in
.SH BUGS
-The following bugs were present in Linux kernels before version 3.16:
-.IP * 3
+The following bugs were present in before Linux 3.16:
+.IP \(bu 3
.\" Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563
If
.I flags
@@ -825,13 +824,13 @@ contains
and
.I pathname
must specify a valid filesystem object, even though this object is not used.
-.IP *
+.IP \(bu
.\" Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b
.BR readdir (2)
does not generate a
.B FAN_ACCESS
event.
-.IP *
+.IP \(bu
.\" Fixed by commit cc299a98eb13a9853675a9cbb90b30b4011e1406
If
.BR fanotify_mark ()
diff --git a/man2/fcntl.2 b/man2/fcntl.2
index fd196435c..bacbe42b8 100644
--- a/man2/fcntl.2
+++ b/man2/fcntl.2
@@ -44,7 +44,7 @@
.\" 2017-06-26, Jens Axboe <axboe@kernel.dk>
.\" Document F_{GET,SET}_RW_HINT and F_{GET,SET}_FILE_RW_HINT
.\"
-.TH FCNTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH fcntl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fcntl \- manipulate file descriptor
.SH LIBRARY
@@ -297,7 +297,7 @@ covers bytes
.IR l_start + l_len
up to and including
.IR l_start \-1.
-This is supported by Linux since kernel versions 2.4.21 and 2.5.49.
+This is supported since Linux 2.4.21 and Linux 2.5.49.
.PP
The
.I l_type
@@ -440,7 +440,7 @@ instead.
The record locks described above are associated with the process
(unlike the open file description locks described below).
This has some unfortunate consequences:
-.IP * 3
+.IP \(bu 3
If a process closes
.I any
file descriptor referring to a file,
@@ -456,7 +456,7 @@ or
.I /etc/mtab
when for some reason a library function decides to open, read,
and close the same file.
-.IP *
+.IP \(bu
The threads in a process share locks.
In other words,
a multithreaded program can't use record locking to ensure
@@ -776,8 +776,7 @@ would report the socket as having an "exceptional condition".)
.\" refers to a terminal device, then SIGIO
.\" signals are sent to the foreground process group of the terminal.
.IP
-The following was true in 2.6.x kernels up to and including
-kernel 2.6.11:
+The following was true in Linux 2.6.x up to and including Linux 2.6.11:
.RS
.IP
If a nonzero value is given to
@@ -931,7 +930,7 @@ is the signal to send instead, and in this case additional info
is available to the signal handler if installed with
.BR SA_SIGINFO .
.\"
-.\" The following was true only up until 2.6.11:
+.\" The following was true only up until Linux 2.6.11:
.\"
.\" Additionally, passing a nonzero value to
.\" .B F_SETSIG
@@ -1060,7 +1059,7 @@ values is specified in the integer
Take out a read lease.
This will cause the calling process to be notified when
the file is opened for writing or is truncated.
-.\" The following became true in kernel 2.6.10:
+.\" The following became true in Linux 2.6.10:
.\" See the man-pages-2.09 Changelog for further info.
A read lease can be placed only on a file descriptor that
is opened read-only.
@@ -1316,7 +1315,7 @@ so that multiple notifications can be queued.
.B NOTE:
New applications should use the
.I inotify
-interface (available since kernel 2.6.13),
+interface (available since Linux 2.6.13),
which provides a much superior interface for obtaining notifications of
filesystem events.
See
@@ -1904,7 +1903,7 @@ wrapper function transparently employs the more recent system call
where it is available.
.\"
.SS Record locks
-Since kernel 2.0, there is no interaction between the types of lock
+Since Linux 2.0, there is no interaction between the types of lock
placed by
.BR flock (2)
and
@@ -2020,7 +2019,7 @@ operation avoids this problem.
.\" indicate that ANY negative PGID value will cause F_GETOWN
.\" to misinterpret the return as an error. Some other architectures
.\" seem to have the same range check as i386.
-Since glibc version 2.11, glibc makes the kernel
+Since glibc 2.11, glibc makes the kernel
.B F_GETOWN
problem invisible by implementing
.B F_GETOWN
diff --git a/man2/flock.2 b/man2/flock.2
index 821ab9a72..9c6c9f91a 100644
--- a/man2/flock.2
+++ b/man2/flock.2
@@ -12,7 +12,7 @@
.\" FIXME Maybe document LOCK_MAND, LOCK_RW, LOCK_READ, LOCK_WRITE
.\" which only have effect for SAMBA.
.\"
-.TH FLOCK 2 2022-10-09 "Linux man-pages 6.01"
+.TH flock 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
flock \- apply or remove an advisory lock on an open file
.SH LIBRARY
@@ -131,7 +131,7 @@ possibly implemented in terms of
.BR fcntl (2),
appears on most UNIX systems.
.SH NOTES
-Since kernel 2.0,
+Since Linux 2.0,
.BR flock ()
is implemented as a system call in its own right rather
than being emulated in the GNU C library as a call to
@@ -186,7 +186,7 @@ and occurs on many other implementations.)
.\" Kernel 2.5.21 changed things a little: during lock conversion
.\" it is now the highest priority process that will get the lock -- mtk
.SS NFS details
-In Linux kernels up to 2.6.11,
+Up to Linux 2.6.11,
.BR flock ()
does not lock files over NFS
(i.e., the scope of locks was limited to the local system).
@@ -223,7 +223,7 @@ see the discussion of the
option in
.BR nfs (5).
.SS CIFS details
-In Linux kernels up to 5.4,
+Up to Linux 5.4,
.BR flock ()
is not propagated over SMB.
A file with such locks will not appear locked for remote clients.
diff --git a/man2/fork.2 b/man2/fork.2
index 49c9be194..260cafd6c 100644
--- a/man2/fork.2
+++ b/man2/fork.2
@@ -16,7 +16,7 @@
.\" Greatly expanded, to describe all attributes that differ
.\" parent and child.
.\"
-.TH FORK 2 2022-10-09 "Linux man-pages 6.01"
+.TH fork 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fork \- create a child process
.SH LIBRARY
@@ -50,30 +50,30 @@ performed by one of the processes do not affect the other.
.PP
The child process is an exact duplicate of the parent
process except for the following points:
-.IP * 3
+.IP \(bu 3
The child has its own unique process ID,
and this PID does not match the ID of any existing process group
.RB ( setpgid (2))
or session.
-.IP *
+.IP \(bu
The child's parent process ID is the same as the parent's process ID.
-.IP *
+.IP \(bu
The child does not inherit its parent's memory locks
.RB ( mlock (2),
.BR mlockall (2)).
-.IP *
+.IP \(bu
Process resource utilizations
.RB ( getrusage (2))
and CPU time counters
.RB ( times (2))
are reset to zero in the child.
-.IP *
+.IP \(bu
The child's set of pending signals is initially empty
.RB ( sigpending (2)).
-.IP *
+.IP \(bu
The child does not inherit semaphore adjustments from its parent
.RB ( semop (2)).
-.IP *
+.IP \(bu
The child does not inherit process-associated record locks from its parent
.RB ( fcntl (2)).
(On the other hand, it does inherit
@@ -81,12 +81,12 @@ The child does not inherit process-associated record locks from its parent
open file description locks and
.BR flock (2)
locks from its parent.)
-.IP *
+.IP \(bu
The child does not inherit timers from its parent
.RB ( setitimer (2),
.BR alarm (2),
.BR timer_create (2)).
-.IP *
+.IP \(bu
The child does not inherit outstanding asynchronous I/O operations
from its parent
.RB ( aio_read (3),
@@ -98,33 +98,33 @@ The process attributes in the preceding list are all specified
in POSIX.1.
The parent and child also differ with respect to the following
Linux-specific process attributes:
-.IP * 3
+.IP \(bu 3
The child does not inherit directory change notifications (dnotify)
from its parent
(see the description of
.B F_NOTIFY
in
.BR fcntl (2)).
-.IP *
+.IP \(bu
The
.BR prctl (2)
.B PR_SET_PDEATHSIG
setting is reset so that the child does not receive a signal
when its parent terminates.
-.IP *
+.IP \(bu
The default timer slack value is set to the parent's
current timer slack value.
See the description of
.B PR_SET_TIMERSLACK
in
.BR prctl (2).
-.IP *
+.IP \(bu
Memory mappings that have been marked with the
.BR madvise (2)
.B MADV_DONTFORK
flag are not inherited across a
.BR fork ().
-.IP *
+.IP \(bu
Memory in address ranges that have been marked with the
.BR madvise (2)
.B MADV_WIPEONFORK
@@ -133,12 +133,12 @@ flag is zeroed in the child after a
(The
.B MADV_WIPEONFORK
setting remains in place for those address ranges in the child.)
-.IP *
+.IP \(bu
The termination signal of the child is always
.B SIGCHLD
(see
.BR clone (2)).
-.IP *
+.IP \(bu
The port access permission bits set by
.BR ioperm (2)
are not inherited by the child;
@@ -146,7 +146,7 @@ the child must turn on any bits that it requires using
.BR ioperm (2).
.PP
Note the following further points:
-.IP * 3
+.IP \(bu 3
The child process is created with a single thread\(emthe
one that called
.BR fork ().
@@ -155,7 +155,7 @@ including the states of mutexes, condition variables,
and other pthreads objects; the use of
.BR pthread_atfork (3)
may be helpful for dealing with problems that this can cause.
-.IP *
+.IP \(bu
After a
.BR fork ()
in a multithreaded program,
@@ -163,7 +163,7 @@ the child can safely call only async-signal-safe functions (see
.BR signal\-safety (7))
until such time as it calls
.BR execve (2).
-.IP *
+.IP \(bu
The child inherits copies of the parent's set of open file descriptors.
Each file descriptor in the child refers to the same
open file description (see
@@ -177,7 +177,7 @@ and
.B F_SETSIG
in
.BR fcntl (2)).
-.IP *
+.IP \(bu
The child inherits copies of the parent's set of open message
queue descriptors (see
.BR mq_overview (7)).
@@ -186,7 +186,7 @@ open message queue description
as the corresponding file descriptor in the parent.
This means that the two file descriptors share the same flags
.RI ( mq_flags ).
-.IP *
+.IP \(bu
The child inherits copies of the parent's set of open directory streams (see
.BR opendir (3)).
POSIX.1 says that the corresponding directory streams
@@ -208,25 +208,25 @@ is set to indicate the error.
A system-imposed limit on the number of threads was encountered.
There are a number of limits that may trigger this error:
.RS
-.IP * 3
+.IP \(bu 3
the
.B RLIMIT_NPROC
soft resource limit (set via
.BR setrlimit (2)),
which limits the number of processes and threads for a real user ID,
was reached;
-.IP *
+.IP \(bu
the kernel's system-wide limit on the number of processes and threads,
.IR /proc/sys/kernel/threads\-max ,
was reached (see
.BR proc (5));
-.IP *
+.IP \(bu
the maximum number of PIDs,
.IR /proc/sys/kernel/pid_max ,
was reached (see
.BR proc (5));
or
-.IP *
+.IP \(bu
the PID limit
.RI ( pids.max )
imposed by the cgroup "process number" (PIDs) controller was reached.
@@ -268,7 +268,7 @@ is implemented using copy-on-write pages, so the only penalty that it incurs
is the time and memory required to duplicate the parent's page tables,
and to create a unique task structure for the child.
.SS C library/kernel differences
-Since version 2.3.3,
+Since glibc 2.3.3,
.\" nptl/sysdeps/unix/sysv/linux/fork.c
rather than invoking the kernel's
.BR fork ()
diff --git a/man2/fsync.2 b/man2/fsync.2
index e3c97b601..721b2345a 100644
--- a/man2/fsync.2
+++ b/man2/fsync.2
@@ -15,7 +15,7 @@
.\" 2006-04-28, mtk, substantial rewrite of various parts.
.\" 2012-02-27 Various changes by Christoph Hellwig <hch@lst.de>
.\"
-.TH FSYNC 2 2022-10-09 "Linux man-pages 6.01"
+.TH fsync 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
fsync, fdatasync \- synchronize a file's in-core state with storage device
.SH LIBRARY
diff --git a/man2/futex.2 b/man2/futex.2
index 2261f43bc..7c7d038e2 100644
--- a/man2/futex.2
+++ b/man2/futex.2
@@ -19,7 +19,7 @@
.\" FIXME Do we need to add some text regarding Torvald Riegel's 2015-01-24 mail
.\" http://thread.gmane.org/gmane.linux.kernel/1703405/focus=1873242
.\"
-.TH FUTEX 2 2022-10-09 "Linux man-pages 6.01"
+.TH futex 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
futex \- fast user-space locking
.SH LIBRARY
@@ -273,7 +273,7 @@ is one of the following:
.\"
.TP
.BR FUTEX_WAIT " (since Linux 2.6.0)"
-.\" Strictly speaking, since some time in 2.5.x
+.\" Strictly speaking, since some time in Linux 2.5.x
This operation tests that the value at the
futex word pointed to by the address
.I uaddr
@@ -405,7 +405,7 @@ are ignored.
.\"
.TP
.BR FUTEX_FD " (from Linux 2.6.0 up to and including Linux 2.6.25)"
-.\" Strictly speaking, from Linux 2.5.x to 2.6.25
+.\" Strictly speaking, from Linux 2.5.x to Linux 2.6.25
This operation creates a file descriptor that is associated with
the futex at
.IR uaddr .
@@ -604,20 +604,20 @@ In other words,
.B FUTEX_WAKE_OP
does the following:
.RS
-.IP * 3
+.IP \(bu 3
saves the original value of the futex word at
.I uaddr2
and performs an operation to modify the value of the futex at
.IR uaddr2 ;
this is an atomic read-modify-write memory access (i.e., using atomic
machine instructions of the respective architecture)
-.IP *
+.IP \(bu
wakes up a maximum of
.I val
waiters on the futex for the futex word at
.IR uaddr ;
and
-.IP *
+.IP \(bu
dependent on the results of a test of the original value of the
futex word at
.IR uaddr2 ,
@@ -876,15 +876,15 @@ for the implementation of very specific IPC mechanisms.)
The PI-futex operations described below differ from the other
futex operations in that they impose policy on the use of the value of the
futex word:
-.IP * 3
+.IP \(bu 3
If the lock is not acquired, the futex word's value shall be 0.
-.IP *
+.IP \(bu
If the lock is acquired, the futex word's value shall
be the thread ID (TID;
see
.BR gettid (2))
of the owning thread.
-.IP *
+.IP \(bu
If the lock is owned and there are threads contending for the lock,
then the
.B FUTEX_WAITERS
@@ -974,7 +974,7 @@ PI futexes are operated on by specifying one of the values listed below in
.IR futex_op .
Note that the PI futex operations must be used as paired operations
and are subject to some additional requirements:
-.IP * 3
+.IP \(bu 3
.BR FUTEX_LOCK_PI ,
.BR FUTEX_LOCK_PI2 ,
and
@@ -986,7 +986,7 @@ must be called only on a futex owned by the calling thread,
as defined by the value policy, otherwise the error
.B EPERM
results.
-.IP *
+.IP \(bu
.B FUTEX_WAIT_REQUEUE_PI
pairs with
.BR FUTEX_CMP_REQUEUE_PI .
@@ -1056,15 +1056,15 @@ user space atomically by setting the futex value to 0.
.\"
After that, the kernel:
.RS
-.IP 1. 3
+.IP (1) 5
Tries to find the thread which is associated with the owner TID.
-.IP 2.
+.IP (2)
Creates or reuses kernel state on behalf of the owner.
(If this is the first waiter, there is no kernel state for this
futex, so kernel state is created by locking the RT-mutex
and the futex owner is made the owner of the RT-mutex.
If there are existing waiters, then the existing state is reused.)
-.IP 3.
+.IP (3)
Attaches the waiter to the futex
(i.e., the waiter is enqueued on the RT-mutex waiter list).
.RE
@@ -1336,7 +1336,7 @@ operation.
.\" Related to the preceding, Darren proposed that somewhere, man-pages
.\" should document the following point:
.\"
-.\" While the Linux kernel, since 2.6.31, supports requeueing of
+.\" While the Linux kernel, since Linux 2.6.31, supports requeueing of
.\" priority-inheritance (PI) aware mutexes via the
.\" FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI futex operations,
.\" the glibc implementation does not yet take full advantage of this.
@@ -1524,7 +1524,7 @@ or
.B FUTEX_WAIT_BITSET
operation was interrupted by a signal (see
.BR signal (7)).
-In kernels before Linux 2.6.22, this error could also be returned for
+Before Linux 2.6.22, this error could also be returned for
a spurious wakeup; since Linux 2.6.22, this no longer happens.
.TP
.B EINVAL
@@ -1945,15 +1945,15 @@ main(int argc, char *argv[])
.BR sched (7)
.PP
The following kernel source files:
-.IP * 2
+.IP \(bu 3
.I Documentation/pi\-futex.txt
-.IP *
+.IP \(bu
.I Documentation/futex\-requeue\-pi.txt
-.IP *
+.IP \(bu
.I Documentation/locking/rt\-mutex.txt
-.IP *
+.IP \(bu
.I Documentation/locking/rt\-mutex\-design.txt
-.IP *
+.IP \(bu
.I Documentation/robust\-futex\-ABI.txt
.PP
Franke, H., Russell, R., and Kirwood, M., 2002.
diff --git a/man2/futimesat.2 b/man2/futimesat.2
index 7d05b9b43..d5fe5b273 100644
--- a/man2/futimesat.2
+++ b/man2/futimesat.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FUTIMESAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH futimesat 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
futimesat \- change timestamps of a file relative to a \
directory file descriptor
@@ -101,8 +101,8 @@ is relative and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR futimesat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
This system call is nonstandard.
It was implemented from a specification that was proposed for POSIX.1,
diff --git a/man2/get_kernel_syms.2 b/man2/get_kernel_syms.2
index 686d33356..74fc89012 100644
--- a/man2/get_kernel_syms.2
+++ b/man2/get_kernel_syms.2
@@ -5,7 +5,7 @@
.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
.\" reformatting and rewordings by mtk
.\"
-.TH GET_KERNEL_SYMS 2 2022-10-09 "Linux man-pages 6.01"
+.TH get_kernel_syms 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
get_kernel_syms \- retrieve exported kernel and module symbols
.SH SYNOPSIS
@@ -16,7 +16,7 @@ get_kernel_syms \- retrieve exported kernel and module symbols
.fi
.SH DESCRIPTION
.BR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
If
.I table
@@ -56,7 +56,7 @@ There is only one possible error return:
.BR get_kernel_syms ()
is not supported in this version of the kernel.
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
@@ -65,7 +65,7 @@ is Linux-specific.
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
diff --git a/man2/get_mempolicy.2 b/man2/get_mempolicy.2
index b8265956e..83678fd2b 100644
--- a/man2/get_mempolicy.2
+++ b/man2/get_mempolicy.2
@@ -24,7 +24,7 @@
.\" 2007-08-27, Lee Schermerhorn <Lee.Schermerhorn@hp.com>
.\" more precise specification of behavior.
.\"
-.TH GET_MEMPOLICY 2 2022-10-09 "Linux man-pages 6.01"
+.TH get_mempolicy 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
get_mempolicy \- retrieve NUMA memory policy for a thread
.SH LIBRARY
@@ -34,7 +34,9 @@ NUMA (Non-Uniform Memory Access) policy library
.B "#include <numaif.h>"
.nf
.PP
-.BI "long get_mempolicy(int *" mode ", unsigned long *" nodemask ,
+.BI "long get_mempolicy(int *" mode ,
+.BI " unsigned long " nodemask [(. maxnode " + ULONG_WIDTH - 1)"
+.B " / ULONG_WIDTH],"
.BI " unsigned long " maxnode ", void *" addr ,
.BI " unsigned long " flags );
.fi
@@ -236,7 +238,7 @@ cases.)
.SH VERSIONS
The
.BR get_mempolicy ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/get_robust_list.2 b/man2/get_robust_list.2
index c7ce04568..c2509a342 100644
--- a/man2/get_robust_list.2
+++ b/man2/get_robust_list.2
@@ -7,7 +7,7 @@
.\" FIXME Something could be added to this page (or exit(2))
.\" about exit_robust_list processing
.\"
-.TH GET_ROBUST_LIST 2 2022-10-09 "Linux man-pages 6.01"
+.TH get_robust_list 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
get_robust_list, set_robust_list \- get/set list of robust futexes
.SH LIBRARY
diff --git a/man2/getcpu.2 b/man2/getcpu.2
index adb242bfc..1011beb3e 100644
--- a/man2/getcpu.2
+++ b/man2/getcpu.2
@@ -9,7 +9,7 @@
.\"
.\" 2008, mtk, various edits
.\"
-.TH GETCPU 2 2022-10-09 "Linux man-pages 6.01"
+.TH getcpu 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getcpu \- determine CPU and NUMA node on which the calling thread is running
.SH LIBRARY
@@ -20,7 +20,8 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sched.h>
.PP
-.BI "int getcpu(unsigned int *" cpu ", unsigned int *" node );
+.BI "int getcpu(unsigned int *_Nullable " cpu ", \
+unsigned int *_Nullable " node );
.fi
.SH DESCRIPTION
The
@@ -65,7 +66,7 @@ is set to indicate the error.
Arguments point outside the calling process's address space.
.SH VERSIONS
.BR getcpu ()
-was added in kernel 2.6.19 for x86-64 and i386.
+was added in Linux 2.6.19 for x86-64 and i386.
Library support was added in glibc 2.29
(Earlier glibc versions did not provide a wrapper for this system call,
necessitating the use of
@@ -116,7 +117,7 @@ the returned information would be out of date.
The caching mechanism was considered to cause problems when
migrating threads between CPUs, and so the argument is now ignored.
.\"
-.\" ===== Before kernel 2.6.24: =====
+.\" ===== Before Linux 2.6.24: =====
.\" .I tcache
.\" is a pointer to a
.\" .IR "struct getcpu_cache"
@@ -132,7 +133,7 @@ migrating threads between CPUs, and so the argument is now ignored.
.\" will use it to speed up operation.
.\" The information inside the cache is private to the system call
.\" and should not be accessed by the user program.
-.\" The information placed in the cache can change between kernel releases.
+.\" The information placed in the cache can change between Linux releases.
.\"
.\" When no cache is specified
.\" .BR getcpu ()
diff --git a/man2/getdents.2 b/man2/getdents.2
index 2f2f80d44..235e1dd35 100644
--- a/man2/getdents.2
+++ b/man2/getdents.2
@@ -8,7 +8,7 @@
.\" Derived from 'readdir.2'.
.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
.\"
-.TH GETDENTS 2 2022-10-09 "Linux man-pages 6.01"
+.TH getdents 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
getdents, getdents64 \- get directory entries
.SH LIBRARY
@@ -26,7 +26,7 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <dirent.h>
.PP
-.BI "ssize_t getdents64(int " fd ", void *" dirp ", size_t " count );
+.BI "ssize_t getdents64(int " fd ", void " dirp [. count "], size_t " count );
.fi
.PP
.IR Note :
diff --git a/man2/getdomainname.2 b/man2/getdomainname.2
index 3a7d82769..7bcee3176 100644
--- a/man2/getdomainname.2
+++ b/man2/getdomainname.2
@@ -6,7 +6,7 @@
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2008-11-27 by mtk
.\"
-.TH GETDOMAINNAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH getdomainname 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
getdomainname, setdomainname \- get/set NIS domain name
.SH LIBRARY
diff --git a/man2/getgid.2 b/man2/getgid.2
index 7751a17f8..289d7cc61 100644
--- a/man2/getgid.2
+++ b/man2/getgid.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETGID 2 2022-10-09 "Linux man-pages 6.01"
+.TH getgid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
getgid, getegid \- get group identity
.SH LIBRARY
diff --git a/man2/getgroups.2 b/man2/getgroups.2
index 5173e1887..833ae6119 100644
--- a/man2/getgroups.2
+++ b/man2/getgroups.2
@@ -9,7 +9,7 @@
.\" 2008-05-03, mtk, expanded and rewrote parts of DESCRIPTION and RETURN
.\" VALUE, made style of page more consistent with man-pages style.
.\"
-.TH GETGROUPS 2 2022-10-09 "Linux man-pages 6.01"
+.TH getgroups 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
getgroups, setgroups \- get/set list of supplementary group IDs
.SH LIBRARY
@@ -23,7 +23,7 @@ Standard C library
.PP
.B #include <grp.h>
.PP
-.BI "int setgroups(size_t " size ", const gid_t *" list );
+.BI "int setgroups(size_t " size ", const gid_t *_Nullable " list );
.fi
.PP
.RS -4
diff --git a/man2/gethostname.2 b/man2/gethostname.2
index 8554190c4..9cbc2640e 100644
--- a/man2/gethostname.2
+++ b/man2/gethostname.2
@@ -9,7 +9,7 @@
.\" Modified 2004-06-17 by mtk
.\" Modified 2008-11-27 by mtk
.\"
-.TH GETHOSTNAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH gethostname 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
gethostname, sethostname \- get/set hostname
.SH LIBRARY
@@ -33,7 +33,7 @@ Feature Test Macro Requirements for glibc (see
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
|| /* Glibc 2.19 and earlier */ _BSD_SOURCE
.\" The above is something of a simplification
-.\" also in glibc before 2.3 there was a bit churn
+.\" also before glibc 2.3 there was a bit churn
.fi
.PP
.BR sethostname ():
@@ -98,7 +98,7 @@ is larger than the maximum allowed size.
.RB "(glibc " gethostname ())
.I len
is smaller than the actual size.
-(Before version 2.1, glibc uses
+(Before glibc 2.1, glibc uses
.B EINVAL
for this case.)
.TP
@@ -149,8 +149,8 @@ set to
in this case, a terminating null byte is not included in the returned
.IR name .
.PP
-Versions of glibc before 2.2
-.\" At least glibc 2.0 and 2.1, older versions not checked
+Versions of glibc before glibc 2.2
+.\" At least glibc 2.0 and glibc 2.1, older versions not checked
handle the case where the length of the
.I nodename
was greater than or equal to
diff --git a/man2/getitimer.2 b/man2/getitimer.2
index c7d4a55ee..333c4bbd7 100644
--- a/man2/getitimer.2
+++ b/man2/getitimer.2
@@ -10,7 +10,7 @@
.\" 2005-04-06 mtk, Matthias Lang <matthias@corelatus.se>
.\" Noted MAX_SEC_IN_JIFFIES ceiling
.\"
-.TH GETITIMER 2 2022-10-09 "Linux man-pages 6.01"
+.TH getitimer 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getitimer, setitimer \- get or set value of an interval timer
.SH LIBRARY
@@ -22,7 +22,7 @@ Standard C library
.PP
.BI "int getitimer(int " which ", struct itimerval *" curr_value );
.BI "int setitimer(int " which ", const struct itimerval *restrict " new_value ,
-.BI " struct itimerval *restrict " old_value );
+.BI " struct itimerval *_Nullable restrict " old_value );
.fi
.SH DESCRIPTION
These system calls provide access to interval timers, that is,
@@ -227,7 +227,7 @@ timer may expire before the signal from a previous expiration
has been delivered.
The second signal in such an event will be lost.
.PP
-On Linux kernels before 2.6.16, timer values are represented in jiffies.
+Before Linux 2.6.16, timer values are represented in jiffies.
If a request is made set a timer with a value whose jiffies
representation exceeds
.B MAX_SEC_IN_JIFFIES
@@ -243,10 +243,10 @@ the kernel uses a different internal representation for times,
and this ceiling is removed.
.PP
On certain systems (including i386),
-Linux kernels before version 2.6.12 have a bug which will produce
+Linux kernels before Linux 2.6.12 have a bug which will produce
premature timer expirations of up to one jiffy under some circumstances.
-This bug is fixed in kernel 2.6.12.
-.\" 4 Jul 2005: It looks like this bug may remain in 2.4.x.
+This bug is fixed in Linux 2.6.12.
+.\" 4 Jul 2005: It looks like this bug may remain in Linux 2.4.x.
.\" http://lkml.org/lkml/2005/7/1/165
.PP
POSIX.1-2001 says that
@@ -254,10 +254,10 @@ POSIX.1-2001 says that
should fail if a
.I tv_usec
value is specified that is outside of the range 0 to 999999.
-However, in kernels up to and including 2.6.21,
+However, up to and including Linux 2.6.21,
Linux does not give an error, but instead silently
adjusts the corresponding seconds value for the timer.
-From kernel 2.6.22 onward,
+From Linux 2.6.22 onward,
this nonconformance has been repaired:
an improper
.I tv_usec
diff --git a/man2/getpagesize.2 b/man2/getpagesize.2
index 15bc38f88..b6716d49b 100644
--- a/man2/getpagesize.2
+++ b/man2/getpagesize.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETPAGESIZE 2 2022-10-09 "Linux man-pages 6.01"
+.TH getpagesize 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getpagesize \- get memory page size
.SH LIBRARY
@@ -24,7 +24,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.20:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
diff --git a/man2/getpeername.2 b/man2/getpeername.2
index c645ebfdc..0f3edd0bc 100644
--- a/man2/getpeername.2
+++ b/man2/getpeername.2
@@ -11,7 +11,7 @@
.\" Modified 17 Jul 2002, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added 'socket' to NAME, so that "man -k socket" will show this page.
.\"
-.TH GETPEERNAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH getpeername 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
getpeername \- get name of connected peer socket
.SH LIBRARY
diff --git a/man2/getpid.2 b/man2/getpid.2
index 64c589c26..e58006c79 100644
--- a/man2/getpid.2
+++ b/man2/getpid.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETPID 2 2022-10-09 "Linux man-pages 6.01"
+.TH getpid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getpid, getppid \- get process identification
.SH LIBRARY
@@ -55,7 +55,7 @@ flag in
.BR clone (2).
.\"
.SS C library/kernel differences
-From glibc version 2.3.4 up to and including version 2.24,
+From glibc 2.3.4 up to and including Linux 2.24,
the glibc wrapper function for
.BR getpid ()
cached PIDs,
@@ -111,7 +111,7 @@ Furthermore, the complexity of the caching code had been
the source of a few bugs within glibc over the years.
.PP
Because of the aforementioned problems,
-since glibc version 2.25, the PID cache is removed:
+since glibc 2.25, the PID cache is removed:
.\" commit c579f48edba88380635ab98cb612030e3ed8691e
.\" https://sourceware.org/glibc/wiki/Release/2.25#pid_cache_removal
calls to
diff --git a/man2/getpriority.2 b/man2/getpriority.2
index 440afd2ff..bb18e95bc 100644
--- a/man2/getpriority.2
+++ b/man2/getpriority.2
@@ -14,7 +14,7 @@
.\" Clarified meaning of 0 value for 'who' argument
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH GETPRIORITY 2 2022-10-09 "Linux man-pages 6.01"
+.TH getpriority 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getpriority, setpriority \- get/set program scheduling priority
.SH LIBRARY
@@ -170,7 +170,7 @@ The details on the condition for
depend on the system.
The above description is what POSIX.1-2001 says, and seems to be followed on
all System\ V-like systems.
-Linux kernels before 2.6.12 required the real or
+Linux kernels before Linux 2.6.12 required the real or
effective user ID of the caller to match
the real user of the process \fIwho\fP (instead of its effective user ID).
Linux 2.6.12 and later require
diff --git a/man2/getrandom.2 b/man2/getrandom.2
index d1fbaaf76..a67fd55a6 100644
--- a/man2/getrandom.2
+++ b/man2/getrandom.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETRANDOM 2 2022-10-09 "Linux man-pages 6.01"
+.TH getrandom 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getrandom \- obtain a series of random bytes
.SH LIBRARY
@@ -14,7 +14,8 @@ Standard C library
.nf
.B #include <sys/random.h>
.PP
-.BI "ssize_t getrandom(void *"buf ", size_t " buflen ", unsigned int " flags );
+.BI "ssize_t getrandom(void " buf [. buflen "], size_t " buflen ", \
+unsigned int " flags );
.fi
.SH DESCRIPTION
The
@@ -156,8 +157,8 @@ The glibc wrapper function for
determined that the underlying kernel does not implement this system call.
.SH VERSIONS
.BR getrandom ()
-was introduced in version 3.17 of the Linux kernel.
-Support was added to glibc in version 2.25.
+was introduced in Linux 3.17.
+Support was added in glibc 2.25.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
@@ -184,7 +185,7 @@ that was opened by a library.
.\"
.SS Maximum number of bytes returned
As of Linux 3.19 the following limits apply:
-.IP * 3
+.IP \(bu 3
When reading from the
.I urandom
source, a maximum of 33554431 bytes is returned by a single call to
@@ -192,7 +193,7 @@ source, a maximum of 33554431 bytes is returned by a single call to
on systems where
.I int
has a size of 32 bits.
-.IP *
+.IP \(bu
When reading from the
.I random
source, a maximum of 512 bytes is returned.
@@ -283,7 +284,7 @@ but the careful programmer will check for this anyway!
.SH BUGS
As of Linux 3.19, the following bug exists:
.\" FIXME patch proposed https://lkml.org/lkml/2014/11/29/16
-.IP * 3
+.IP \(bu 3
Depending on CPU load,
.BR getrandom ()
does not react to interrupts before reading all bytes requested.
diff --git a/man2/getresuid.2 b/man2/getresuid.2
index d93b8be7a..b1ea5253d 100644
--- a/man2/getresuid.2
+++ b/man2/getresuid.2
@@ -5,7 +5,7 @@
.\"
.\" Modified, 2003-05-26, Michael Kerrisk, <mtk.manpages@gmail.com>
.\"
-.TH GETRESUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH getresuid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getresuid, getresgid \- get real, effective, and saved user/group IDs
.SH LIBRARY
@@ -41,9 +41,9 @@ is set to indicate the error.
One of the arguments specified an address outside the calling program's
address space.
.SH VERSIONS
-These system calls appeared on Linux starting with kernel 2.1.44.
+These system calls were added on Linux 2.1.44.
.PP
-The prototypes are given by glibc since version 2.3.2,
+The prototypes are given since glibc 2.3.2,
provided
.B _GNU_SOURCE
is defined.
diff --git a/man2/getrlimit.2 b/man2/getrlimit.2
index af6de5ddb..63ca6ce53 100644
--- a/man2/getrlimit.2
+++ b/man2/getrlimit.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
.\" and Copyright (c) 2002, 2004, 2005, 2008, 2010 Michael Kerrisk
.\"
@@ -41,7 +42,7 @@
.\" 2008-05-07, mtk / Peter Zijlstra, Added description of RLIMIT_RTTIME
.\" 2010-11-06, mtk: Added documentation of prlimit()
.\"
-.TH GETRLIMIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH GETRLIMIT 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getrlimit, setrlimit, prlimit \- get/set resource limits
.SH LIBRARY
@@ -54,8 +55,9 @@ Standard C library
.BI "int getrlimit(int " resource ", struct rlimit *" rlim );
.BI "int setrlimit(int " resource ", const struct rlimit *" rlim );
.PP
-.BI "int prlimit(pid_t " pid ", int " resource ", const struct rlimit *" new_limit ,
-.BI " struct rlimit *" old_limit );
+.BI "int prlimit(pid_t " pid ", int " resource ,
+.BI " const struct rlimit *_Nullable " new_limit ,
+.BI " struct rlimit *_Nullable " old_limit );
.fi
.PP
.RS -4
@@ -111,7 +113,7 @@ argument must be one of:
This is the maximum size of the process's virtual memory
(address space).
The limit is specified in bytes, and is rounded down to the system page size.
-.\" since 2.0.27 / 2.1.12
+.\" since Linux 2.0.27 / Linux 2.1.12
This limit affects calls to
.BR brk (2),
.BR mmap (2),
@@ -189,8 +191,8 @@ catch this signal instead, in which case the relevant system call (e.g.,
fails with the error
.BR EFBIG .
.TP
-.BR RLIMIT_LOCKS " (Linux 2.4.0 to 2.4.24)"
-.\" to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
+.BR RLIMIT_LOCKS " (Linux 2.4.0 to Linux 2.4.24)"
+.\" to be precise: Linux 2.4.0-test9; no longer in Linux 2.4.25 / Linux 2.5.65
This is a limit on the combined number of
.BR flock (2)
locks and
@@ -229,7 +231,7 @@ and
a process can lock bytes up to this limit in each of these
two categories.
.IP
-In Linux kernels before 2.6.9, this limit controlled the amount of
+Before Linux 2.6.9, this limit controlled the amount of
memory that could be locked by a privileged process.
Since Linux 2.6.9, no limits are placed on the amount of memory
that a privileged process may lock, and this limit instead governs
@@ -359,7 +361,7 @@ affects only calls to
.BR madvise (2)
specifying
.BR MADV_WILLNEED .
-.\" As at kernel 2.6.12, this limit still does nothing in 2.6 though
+.\" As at Linux 2.6.12, this limit still does nothing in Linux 2.6 though
.\" talk of making it do something has surfaced from time to time in LKML
.\" -- MTK, Jul 05
.TP
@@ -414,7 +416,7 @@ it is always possible to use
to queue one instance of any of the signals that are not already
queued to the process.
.\" This replaces the /proc/sys/kernel/rtsig-max system-wide limit
-.\" that was present in kernels <= 2.6.7. MTK Dec 04
+.\" that was present in Linux <= 2.6.7. MTK Dec 04
.TP
.B RLIMIT_STACK
This is the maximum size of the process stack, in bytes.
@@ -623,7 +625,7 @@ For backward compatibility, glibc also provides
All new applications should be written using
.BR setrlimit ().
.SS C library/kernel ABI differences
-Since version 2.13, the glibc
+Since glibc 2.13, the glibc
.BR getrlimit ()
and
.BR setrlimit ()
@@ -644,9 +646,9 @@ and
signals delivered when a process encountered the soft and hard
.B RLIMIT_CPU
limits were delivered one (CPU) second later than they should have been.
-This was fixed in kernel 2.6.8.
+This was fixed in Linux 2.6.8.
.PP
-In 2.6.x kernels before 2.6.17, a
+In Linux 2.6.x kernels before Linux 2.6.17, a
.B RLIMIT_CPU
limit of 0 is wrongly treated as "no limit" (like
.BR RLIM_INFINITY ).
@@ -657,9 +659,9 @@ but is actually treated as a limit of 1 second.
A kernel bug means that
.\" See https://lwn.net/Articles/145008/
.B RLIMIT_RTPRIO
-does not work in kernel 2.6.12; the problem is fixed in kernel 2.6.13.
+does not work in Linux 2.6.12; the problem is fixed in Linux 2.6.13.
.PP
-In kernel 2.6.12, there was an off-by-one mismatch
+In Linux 2.6.12, there was an off-by-one mismatch
between the priority ranges returned by
.BR getpriority (2)
and
@@ -667,7 +669,7 @@ and
This had the effect that the actual ceiling for the nice value
was calculated as
.IR "19\ \-\ rlim_cur" .
-This was fixed in kernel 2.6.13.
+This was fixed in Linux 2.6.13.
.\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
.PP
Since Linux 2.6.12,
@@ -697,7 +699,7 @@ The Linux-specific
.B RLIMIT_RTTIME
limit exhibits the same behavior when the soft limit is encountered.
.PP
-Kernels before 2.4.22 did not diagnose the error
+Kernels before Linux 2.4.22 did not diagnose the error
.B EINVAL
for
.BR setrlimit ()
@@ -757,7 +759,7 @@ wrapper function silently converted the limit value to
.BR RLIM_INFINITY .
In other words, the requested resource limit setting was silently ignored.
.PP
-Since version 2.13,
+Since glibc 2.13,
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201
glibc works around the limitations of the
.BR getrlimit ()
diff --git a/man2/getrusage.2 b/man2/getrusage.2
index 332e53a8d..0d093b209 100644
--- a/man2/getrusage.2
+++ b/man2/getrusage.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
.\" and Copyright (c) 2002 Michael Kerrisk
.\"
@@ -9,14 +10,14 @@
.\" history, etc., see getrlimit.2
.\"
.\" Modified 2004-11-16, mtk, Noted that the nonconformance
-.\" when SIGCHLD is being ignored is fixed in 2.6.9.
+.\" when SIGCHLD is being ignored is fixed in Linux 2.6.9.
.\" 2008-02-22, Sripathi Kodi <sripathik@in.ibm.com>: Document RUSAGE_THREAD
.\" 2008-05-25, mtk, clarify RUSAGE_CHILDREN + other clean-ups.
.\" 2010-05-24, Mark Hills <mark@pogo.org.uk>: Description of fields,
.\" document ru_maxrss
.\" 2010-05-24, mtk, enhanced description of various fields
.\"
-.TH GETRUSAGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH getrusage 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getrusage \- get resource usage
.SH LIBRARY
@@ -212,7 +213,7 @@ is Linux-specific.
Resource usage metrics are preserved across an
.BR execve (2).
.PP
-In Linux kernel versions before 2.6.9, if the disposition of
+Before Linux 2.6.9, if the disposition of
.B SIGCHLD
is set to
.B SIG_IGN
@@ -231,11 +232,11 @@ Ancient systems provided a
.BR vtimes ()
function with a similar purpose to
.BR getrusage ().
-For backward compatibility, glibc (up until version 2.32) also provides
+For backward compatibility, glibc (up until Linux 2.32) also provides
.BR vtimes ().
All new applications should be written using
.BR getrusage ().
-(Since version 2.33, glibc no longer provides an
+(Since Linux 2.33, glibc no longer provides an
.BR vtimes ()
implementation.)
.PP
diff --git a/man2/getsid.2 b/man2/getsid.2
index 69007c65f..a1f74d50d 100644
--- a/man2/getsid.2
+++ b/man2/getsid.2
@@ -5,7 +5,7 @@
.\"
.\" Modified Thu Oct 31 14:18:40 1996 by Eric S. Raymond <esr@y\thyrsus.com>
.\" Modified 2001-12-17, aeb
-.TH GETSID 2 2022-10-09 "Linux man-pages 6.01"
+.TH getsid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getsid \- get session ID
.SH LIBRARY
@@ -56,7 +56,7 @@ No process with process ID
.I pid
was found.
.SH VERSIONS
-This system call is available on Linux since version 2.0.
+This system call is available since Linux 2.0.
.\" Linux has this system call since Linux 1.3.44.
.\" There is libc support since libc 5.2.19.
.SH STANDARDS
diff --git a/man2/getsockname.2 b/man2/getsockname.2
index 23f63ad9d..e6e8980c9 100644
--- a/man2/getsockname.2
+++ b/man2/getsockname.2
@@ -9,7 +9,7 @@
.\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Sun Mar 28 21:26:46 1999 by Andries Brouwer <aeb@cwi.nl>
.\"
-.TH GETSOCKNAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH getsockname 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
getsockname \- get socket name
.SH LIBRARY
diff --git a/man2/getsockopt.2 b/man2/getsockopt.2
index 71bd9c35e..fb4795c1e 100644
--- a/man2/getsockopt.2
+++ b/man2/getsockopt.2
@@ -13,7 +13,7 @@
.\" Modified 1999 by Andi Kleen <ak@muc.de>.
.\" Removed most stuff because it is in socket.7 now.
.\"
-.TH GETSOCKOPT 2 2022-10-09 "Linux man-pages 6.01"
+.TH getsockopt 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
getsockopt, setsockopt \- get and set options on sockets
.SH LIBRARY
@@ -24,9 +24,11 @@ Standard C library
.B #include <sys/socket.h>
.PP
.BI "int getsockopt(int " sockfd ", int " level ", int " optname ,
-.BI " void *restrict " optval ", socklen_t *restrict " optlen );
+.BI " void " optval "[restrict *." optlen ],
+.BI " socklen_t *restrict " optlen );
.BI "int setsockopt(int " sockfd ", int " level ", int " optname ,
-.BI " const void *" optval ", socklen_t " optlen );
+.BI " const void " optval [. optlen ],
+.BI " socklen_t " optlen );
.fi
.SH DESCRIPTION
.BR getsockopt ()
diff --git a/man2/gettid.2 b/man2/gettid.2
index b16b9f124..30509c272 100644
--- a/man2/gettid.2
+++ b/man2/gettid.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETTID 2 2022-10-09 "Linux man-pages 6.01"
+.TH gettid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
gettid \- get thread identification
.SH LIBRARY
@@ -35,7 +35,7 @@ This call is always successful.
.SH VERSIONS
The
.BR gettid ()
-system call first appeared on Linux in kernel 2.4.11.
+system call first appeared in Linux 2.4.11.
Library support was added in glibc 2.30.
(Earlier glibc versions did not provide a wrapper for this system call,
necessitating the use of
diff --git a/man2/gettimeofday.2 b/man2/gettimeofday.2
index 4c08d1f50..88a80cb74 100644
--- a/man2/gettimeofday.2
+++ b/man2/gettimeofday.2
@@ -17,7 +17,7 @@
.\" Modified, 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirement.
.\"
-.TH GETTIMEOFDAY 2 2022-10-09 "Linux man-pages 6.01"
+.TH gettimeofday 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
gettimeofday, settimeofday \- get / set time
.SH LIBRARY
@@ -28,9 +28,9 @@ Standard C library
.B #include <sys/time.h>
.PP
.BI "int gettimeofday(struct timeval *restrict " tv ,
-.BI " struct timezone *restrict " tz );
+.BI " struct timezone *_Nullable restrict " tz );
.BI "int settimeofday(const struct timeval *" tv ,
-.BI " const struct timezone *" tz );
+.BI " const struct timezone *_Nullable " tz );
.fi
.PP
.RS -4
@@ -90,7 +90,7 @@ If either
or
.I tz
is NULL, the corresponding structure is not set or returned.
-.\" FIXME . The compilation warning looks to be going away in 2.17
+.\" FIXME . The compilation warning looks to be going away in glibc 2.17
.\" see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
(However, compilation warnings will result if
.I tv
diff --git a/man2/getuid.2 b/man2/getuid.2
index f3a0b3452..80899552a 100644
--- a/man2/getuid.2
+++ b/man2/getuid.2
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Historical remark, aeb, 2004-06-05
-.TH GETUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH getuid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
getuid, geteuid \- get user identity
.SH LIBRARY
diff --git a/man2/getunwind.2 b/man2/getunwind.2
index 0ac7cf9eb..1bae0a74c 100644
--- a/man2/getunwind.2
+++ b/man2/getunwind.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETUNWIND 2 2022-10-09 "Linux man-pages 6.01"
+.TH getunwind 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
getunwind \- copy the unwind data to caller's buffer
.SH LIBRARY
@@ -16,8 +16,8 @@ Standard C library
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
-.BI "[[deprecated]] long syscall(SYS_getunwind, void " *buf \
-", size_t " buf_size );
+.BI "[[deprecated]] long syscall(SYS_getunwind, void " buf [. buf_size ],
+.BI " size_t " buf_size );
.fi
.SH DESCRIPTION
.I Note: this system call is obsolete.
diff --git a/man2/getxattr.2 b/man2/getxattr.2
index a32472498..c47f458fc 100644
--- a/man2/getxattr.2
+++ b/man2/getxattr.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH GETXATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH getxattr 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
getxattr, lgetxattr, fgetxattr \- retrieve an extended attribute value
.SH LIBRARY
@@ -14,11 +14,11 @@ Standard C library
.B #include <sys/xattr.h>
.PP
.BI "ssize_t getxattr(const char *" path ", const char *" name ,
-.BI " void *" value ", size_t " size );
+.BI " void " value [. size "], size_t " size );
.BI "ssize_t lgetxattr(const char *" path ", const char *" name ,
-.BI " void *" value ", size_t " size );
+.BI " void " value [. size "], size_t " size );
.BI "ssize_t fgetxattr(int " fd ", const char *" name ,
-.BI " void *" value ", size_t " size );
+.BI " void " value [. size "], size_t " size );
.fi
.SH DESCRIPTION
Extended attributes are
@@ -119,8 +119,8 @@ In addition, the errors documented in
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
diff --git a/man2/idle.2 b/man2/idle.2
index d9d6e8046..1d66ad8c9 100644
--- a/man2/idle.2
+++ b/man2/idle.2
@@ -5,11 +5,11 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 21 Aug 1994 by Michael Chastain <mec@shell.portal.com>:
-.\" Added text about calling restriction (new in kernel 1.1.20 I believe).
+.\" Added text about calling restriction (new in Linux 1.1.20 I believe).
.\" N.B. calling "idle" from user process used to hang process!
.\" Modified Thu Oct 31 14:41:15 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" "
-.TH IDLE 2 2022-10-09 "Linux man-pages 6.01"
+.TH idle 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
idle \- make process 0 idle
.SH SYNOPSIS
diff --git a/man2/init_module.2 b/man2/init_module.2
index 6dd5c52d4..226a4f903 100644
--- a/man2/init_module.2
+++ b/man2/init_module.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INIT_MODULE 2 2022-10-09 "Linux man-pages 6.01"
+.TH init_module 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
init_module, finit_module \- load a kernel module
.SH LIBRARY
@@ -16,10 +16,11 @@ Standard C library
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
-.BI "int syscall(SYS_init_module, void *" module_image ", unsigned long " len ,
+.BI "int syscall(SYS_init_module, void " module_image [. len "], \
+unsigned long " len ,
.BI " const char *" param_values );
-.BI "int syscall(SYS_finit_module, int " fd ", const char *" param_values ,
-.BI " int " flags );
+.BI "int syscall(SYS_finit_module, int " fd ,
+.BI " const char *" param_values ", int " flags );
.fi
.PP
.IR Note :
@@ -256,7 +257,7 @@ The
.BR init_module ()
system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc versions before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it is (before glibc 2.23) sufficient to
manually declare the interface in your code;
diff --git a/man2/inotify_add_watch.2 b/man2/inotify_add_watch.2
index 962266121..deee2f494 100644
--- a/man2/inotify_add_watch.2
+++ b/man2/inotify_add_watch.2
@@ -6,7 +6,7 @@
.\" 2005-07-19 Robert Love <rlove@rlove.org> - initial version
.\" 2006-02-07 mtk, various changes
.\"
-.TH INOTIFY_ADD_WATCH 2 2022-10-09 "Linux man-pages 6.01"
+.TH inotify_add_watch 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
inotify_add_watch \- add a watch to an initialized inotify instance
.SH LIBRARY
diff --git a/man2/inotify_init.2 b/man2/inotify_init.2
index 3387425a3..a3db2e256 100644
--- a/man2/inotify_init.2
+++ b/man2/inotify_init.2
@@ -7,7 +7,7 @@
.\" 2006-02-07 mtk, minor changes
.\" 2008-10-10 mtk: add description of inotify_init1()
.\"
-.TH INOTIFY_INIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH inotify_init 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
inotify_init, inotify_init1 \- initialize an inotify instance
.SH LIBRARY
@@ -83,10 +83,10 @@ Insufficient kernel memory is available.
.SH VERSIONS
.BR inotify_init ()
first appeared in Linux 2.6.13;
-library support was added to glibc in version 2.4.
+library support was added in glibc 2.4.
.BR inotify_init1 ()
was added in Linux 2.6.27;
-library support was added to glibc in version 2.9.
+library support was added in glibc 2.9.
.SH STANDARDS
These system calls are Linux-specific.
.SH SEE ALSO
diff --git a/man2/inotify_rm_watch.2 b/man2/inotify_rm_watch.2
index 48af57963..9dca60ca8 100644
--- a/man2/inotify_rm_watch.2
+++ b/man2/inotify_rm_watch.2
@@ -5,7 +5,7 @@
.\" 2005-07-19 Robert Love <rlove@rlove.org> - initial version
.\" 2006-02-07 mtk, minor changes
.\"
-.TH INOTIFY_RM_WATCH 2 2022-10-09 "Linux man-pages 6.01"
+.TH inotify_rm_watch 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
inotify_rm_watch \- remove an existing watch from an inotify instance
.SH LIBRARY
diff --git a/man2/intro.2 b/man2/intro.2
index 35349f45b..80dc72a00 100644
--- a/man2/intro.2
+++ b/man2/intro.2
@@ -6,7 +6,7 @@
.\" new _syscall(2) page, and substantially enhanced and rewrote
.\" the remaining material on this page.
.\"
-.TH INTRO 2 2022-10-09 "Linux man-pages 6.01"
+.TH intro 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to system calls
.SH DESCRIPTION
@@ -21,13 +21,13 @@ Thus, making a system call looks the same as invoking a normal
library function.
.PP
In many cases, the C library wrapper function does nothing more than:
-.IP * 3
+.IP \(bu 3
copying arguments and the unique system call number to the
registers where the kernel expects them;
-.IP *
+.IP \(bu
trapping to kernel mode,
at which point the kernel does the real work of the system call;
-.IP *
+.IP \(bu
setting
.I errno
if the system call returns an error number when the kernel returns the
diff --git a/man2/io_cancel.2 b/man2/io_cancel.2
index 0cfb4d3e6..8ce00505d 100644
--- a/man2/io_cancel.2
+++ b/man2/io_cancel.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IO_CANCEL 2 2022-10-09 "Linux man-pages 6.01"
+.TH io_cancel 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
io_cancel \- cancel an outstanding asynchronous I/O operation
.SH LIBRARY
diff --git a/man2/io_destroy.2 b/man2/io_destroy.2
index 5b4e3cb02..d8e153ebe 100644
--- a/man2/io_destroy.2
+++ b/man2/io_destroy.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IO_DESTROY 2 2022-10-09 "Linux man-pages 6.01"
+.TH io_destroy 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
io_destroy \- destroy an asynchronous I/O context
.SH LIBRARY
diff --git a/man2/io_getevents.2 b/man2/io_getevents.2
index 11d22b4e7..f064bdb9e 100644
--- a/man2/io_getevents.2
+++ b/man2/io_getevents.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IO_GETEVENTS 2 2022-10-09 "Linux man-pages 6.01"
+.TH io_getevents 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
io_getevents \- read asynchronous I/O events from the completion queue
.SH LIBRARY
diff --git a/man2/io_setup.2 b/man2/io_setup.2
index a63ac2dfb..47938ce88 100644
--- a/man2/io_setup.2
+++ b/man2/io_setup.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IO_SETUP 2 2022-10-09 "Linux man-pages 6.01"
+.TH io_setup 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
io_setup \- create an asynchronous I/O context
.SH LIBRARY
diff --git a/man2/io_submit.2 b/man2/io_submit.2
index e6532596f..a3e59b461 100644
--- a/man2/io_submit.2
+++ b/man2/io_submit.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IO_SUBMIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH io_submit 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
io_submit \- submit asynchronous I/O blocks for processing
.SH LIBRARY
diff --git a/man2/ioctl.2 b/man2/ioctl.2
index a168e1130..8f7769914 100644
--- a/man2/ioctl.2
+++ b/man2/ioctl.2
@@ -10,7 +10,7 @@
.\" Modified 1999-06-25 by Rachael Munns <vashti@dream.org.uk>
.\" Modified 2000-09-21 by Andries Brouwer <aeb@cwi.nl>
.\"
-.TH IOCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl \- control device
.SH LIBRARY
diff --git a/man2/ioctl_console.2 b/man2/ioctl_console.2
index caf87f2c4..75bd06282 100644
--- a/man2/ioctl_console.2
+++ b/man2/ioctl_console.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1995 Jim Van Zandt <jrv@vanzandt.mv.com> and aeb
.\" Sun Feb 26 11:46:23 MET 1995
.\"
@@ -7,18 +8,18 @@
.\" Modified, Thu Apr 20 22:08:17 1995, jrv@vanzandt.mv.com
.\" Modified, Mon Sep 18 22:32:47 1995, hpa@storm.net (H. Peter Anvin)
.\" FIXME The following are not documented:
-.\" KDFONTOP (since 2.1.111)
-.\" KDGKBDIACRUC (since 2.6.24)
+.\" KDFONTOP (since Linux 2.1.111)
+.\" KDGKBDIACRUC (since Linux 2.6.24)
.\" KDSKBDIACR
-.\" KDSKBDIACRUC (since 2.6.24)
-.\" KDKBDREP (since 2.1.113)
-.\" KDMAPDISP (not implemented as at 2.6.27)
-.\" KDUNMAPDISP (not implemented as at 2.6.27)
-.\" VT_LOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG)
-.\" VT_UNLOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG)
-.\" VT_GETHIFONTMASK (since 2.6.18)
+.\" KDSKBDIACRUC (since Linux 2.6.24)
+.\" KDKBDREP (since Linux 2.1.113)
+.\" KDMAPDISP (not implemented as at Linux 2.6.27)
+.\" KDUNMAPDISP (not implemented as at Linux 2.6.27)
+.\" VT_LOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG)
+.\" VT_UNLOCKSWITCH (since Linux 1.3.47, needs CAP_SYS_TTY_CONFIG)
+.\" VT_GETHIFONTMASK (since Linux 2.6.18)
.\"
-.TH IOCTL_CONSOLE 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_console 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ioctl_console \- ioctls for console terminal and virtual consoles
.SH DESCRIPTION
@@ -673,7 +674,7 @@ Linux 2.5.71.
.BR TIOCLINUX ", " subcode = 0
Dump the screen.
Disappeared in Linux 1.1.92.
-(With kernel 1.1.92 or later, read from
+(With Linux 1.1.92 or later, read from
.I /dev/vcsN
or
.I /dev/vcsaN
@@ -747,7 +748,7 @@ variable
Dump screen width and height, cursor position, and all the
character-attribute pairs.
(Kernels 1.1.67 through 1.1.91 only.
-With kernel 1.1.92 or later, read from
+With Linux 1.1.92 or later, read from
.I /dev/vcsa*
instead.)
.TP
@@ -755,7 +756,7 @@ instead.)
Restore screen width and height, cursor position, and all the
character-attribute pairs.
(Kernels 1.1.67 through 1.1.91 only.
-With kernel 1.1.92 or later, write to
+With Linux 1.1.92 or later, write to
.I /dev/vcsa*
instead.)
.TP
@@ -767,16 +768,19 @@ VESA screen blanking mode is set to
which governs what
screen blanking does:
.RS
-.IP 0: 3
+.TP
+.B 0
Screen blanking is disabled.
-.IP 1:
+.TP
+.B 1
The current video adapter
register settings are saved, then the controller is programmed to turn off
the vertical synchronization pulses.
This puts the monitor into "standby" mode.
If your monitor has an Off_Mode timer, then
it will eventually power down by itself.
-.IP 2:
+.TP
+.B 2
The current settings are saved, then both the vertical and horizontal
synchronization pulses are turned off.
This puts the monitor into "off" mode.
diff --git a/man2/ioctl_fat.2 b/man2/ioctl_fat.2
index 88de4ce3b..9c256cbfb 100644
--- a/man2/ioctl_fat.2
+++ b/man2/ioctl_fat.2
@@ -1,7 +1,7 @@
.\" Copyright (C) 2014, Heinrich Schuchardt <xypron.glpk@gmx.de>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH IOCTL_FAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_fat 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_fat \- manipulating the FAT filesystem
.SH LIBRARY
diff --git a/man2/ioctl_ficlonerange.2 b/man2/ioctl_ficlonerange.2
index 58ca5f1c1..3a077b2c4 100644
--- a/man2/ioctl_ficlonerange.2
+++ b/man2/ioctl_ficlonerange.2
@@ -1,7 +1,7 @@
.\" Copyright (c) 2016, Oracle. All rights reserved.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH IOCTL_FICLONERANGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_ficlonerange 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_ficlonerange, ioctl_ficlone \-
share some the data of one file with another file
diff --git a/man2/ioctl_fideduperange.2 b/man2/ioctl_fideduperange.2
index bdef4c9f7..b27e08076 100644
--- a/man2/ioctl_fideduperange.2
+++ b/man2/ioctl_fideduperange.2
@@ -1,7 +1,7 @@
.\" Copyright (c) 2016, Oracle. All rights reserved.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH IOCTL_FIDEDUPERANGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_fideduperange 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_fideduperange \- share some the data of one file with another file
.SH LIBRARY
diff --git a/man2/ioctl_fslabel.2 b/man2/ioctl_fslabel.2
index e8a86b517..e87a6268b 100644
--- a/man2/ioctl_fslabel.2
+++ b/man2/ioctl_fslabel.2
@@ -1,7 +1,7 @@
.\" Copyright (c) 2018, Red Hat, Inc. All rights reserved.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH IOCTL_FSLABEL 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_fslabel 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_fslabel \- get or set a filesystem label
.SH LIBRARY
diff --git a/man2/ioctl_getfsmap.2 b/man2/ioctl_getfsmap.2
index 087833a61..bf686c7dd 100644
--- a/man2/ioctl_getfsmap.2
+++ b/man2/ioctl_getfsmap.2
@@ -1,7 +1,7 @@
.\" Copyright (c) 2017, Oracle. All rights reserved.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH IOCTL_GETFSMAP 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_getfsmap 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_getfsmap \- retrieve the physical layout of the filesystem
.SH LIBRARY
diff --git a/man2/ioctl_iflags.2 b/man2/ioctl_iflags.2
index 131b94b05..aa4df8b44 100644
--- a/man2/ioctl_iflags.2
+++ b/man2/ioctl_iflags.2
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH IOCTL_IFLAGS 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_iflags 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_iflags \- ioctl() operations for inode flags
.SH DESCRIPTION
diff --git a/man2/ioctl_ns.2 b/man2/ioctl_ns.2
index 2936520de..4a0c1148c 100644
--- a/man2/ioctl_ns.2
+++ b/man2/ioctl_ns.2
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH IOCTL_NS 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_ns 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioctl_ns \- ioctl() operations for Linux namespaces
.SH DESCRIPTION
diff --git a/man2/ioctl_tty.2 b/man2/ioctl_tty.2
index a66c164e5..b205885ee 100644
--- a/man2/ioctl_tty.2
+++ b/man2/ioctl_tty.2
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2002 Walter Harms <walter.harms@informatik.uni-oldenburg.de>
.\" and Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH IOCTL_TTY 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_tty 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ioctl_tty \- ioctls for terminals and serial lines
.SH LIBRARY
@@ -309,6 +310,23 @@ for the argument values
.BR TCIFLUSH ,
.BR TCOFLUSH ,
.BR TCIOFLUSH .
+.TP
+.B TIOCSERGETLSR
+Argument:
+.BI "int\~*" argp
+.IP
+Get line status register.
+Status register has
+.B TIOCSER_TEMT
+bit set when
+output buffer is empty and also hardware transmitter is physically empty.
+.IP
+Does not have to be supported by all serial tty drivers.
+.IP
+.BR tcdrain (3)
+does not wait and returns immediately when
+.B TIOCSER_TEMT
+bit is set.
.SS Faking input
.TP
.B TIOCSTI
@@ -328,9 +346,9 @@ or
.I /dev/tty0
to the given terminal.
If that was a pseudoterminal master, send it to the slave.
-In Linux before version 2.6.10,
+Before Linux 2.6.10,
anybody can do this as long as the output was not redirected yet;
-since version 2.6.10, only a process with the
+since Linux 2.6.10, only a process with the
.B CAP_SYS_ADMIN
capability may do this.
If output was redirected already, then
@@ -890,7 +908,6 @@ main(int argc, char *argv[])
.\" TIOCSERGWILD int *
.\" TIOCSERSWILD const int *
.\" TIOCSERGSTRUCT struct async_struct *
-.\" TIOCSERGETLSR int *
.\" TIOCSERGETMULTI struct serial_multiport_struct *
.\" TIOCSERSETMULTI const struct serial_multiport_struct *
.\" TIOCGSERIAL, TIOCSSERIAL (see above)
diff --git a/man2/ioctl_userfaultfd.2 b/man2/ioctl_userfaultfd.2
index a75d25e67..df9103f81 100644
--- a/man2/ioctl_userfaultfd.2
+++ b/man2/ioctl_userfaultfd.2
@@ -5,7 +5,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH IOCTL_USERFAULTFD 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioctl_userfaultfd 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ioctl_userfaultfd \- create a file descriptor for handling page faults in user
space
@@ -92,7 +92,7 @@ fields to bit masks representing all the available features and the generic
.BR ioctl (2)
operations available.
.PP
-For Linux kernel versions before 4.11, the
+Before Linux 4.11, the
.I features
field must be initialized to zero before the call to
.BR UFFDIO_API ,
@@ -321,7 +321,7 @@ Track minor page faults.
Since Linux 5.13,
only hugetlbfs ranges are compatible.
Since Linux 5.14,
-compatiblity with shmem ranges was added.
+compatibility with shmem ranges was added.
.PP
If the operation is successful, the kernel modifies the
.I ioctls
diff --git a/man2/ioperm.2 b/man2/ioperm.2
index 8c368e201..bb4e7d716 100644
--- a/man2/ioperm.2
+++ b/man2/ioperm.2
@@ -12,7 +12,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH IOPERM 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioperm 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ioperm \- set port input/output permissions
.SH LIBRARY
diff --git a/man2/iopl.2 b/man2/iopl.2
index 0b483d9c3..b155697be 100644
--- a/man2/iopl.2
+++ b/man2/iopl.2
@@ -10,7 +10,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH IOPL 2 2022-10-09 "Linux man-pages 6.01"
+.TH iopl 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
iopl \- change I/O privilege level
.SH LIBRARY
diff --git a/man2/ioprio_set.2 b/man2/ioprio_set.2
index f52b10037..f0c30c248 100644
--- a/man2/ioprio_set.2
+++ b/man2/ioprio_set.2
@@ -7,7 +7,7 @@
.\" with various additions by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"
-.TH IOPRIO_SET 2 2022-10-09 "Linux man-pages 6.01"
+.TH ioprio_set 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ioprio_get, ioprio_set \- get/set I/O scheduling class and priority
.SH LIBRARY
@@ -221,7 +221,7 @@ As at kernel 2.6.17 the only such scheduler is the Completely Fair Queuing
If no I/O scheduler has been set for a thread,
then by default the I/O priority will follow the CPU nice value
.RB ( setpriority (2)).
-In Linux kernels before version 2.6.24,
+Before Linux 2.6.24,
once an I/O priority had been set using
.BR ioprio_set (),
there was no way to reset the I/O scheduling behavior to the default.
@@ -333,7 +333,7 @@ Attempts to set very high priorities
require the
.B CAP_SYS_ADMIN
capability.
-Kernel versions up to 2.6.24 also required
+Up to Linux 2.6.24 also required
.B CAP_SYS_ADMIN
to set a very low priority
.RB ( IOPRIO_CLASS_IDLE ),
diff --git a/man2/ipc.2 b/man2/ipc.2
index 021c3b261..ab935e304 100644
--- a/man2/ipc.2
+++ b/man2/ipc.2
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH IPC 2 2022-10-09 "Linux man-pages 6.01"
+.TH ipc 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ipc \- System V IPC system calls
.SH LIBRARY
diff --git a/man2/kcmp.2 b/man2/kcmp.2
index 5693059ff..8abe63db9 100644
--- a/man2/kcmp.2
+++ b/man2/kcmp.2
@@ -5,7 +5,7 @@
.\"
.\" Kernel commit d97b46a64674a267bc41c9e16132ee2a98c3347d
.\"
-.TH KCMP 2 2022-10-09 "Linux man-pages 6.01"
+.TH kcmp 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
kcmp \- compare two processes to determine if they share a kernel resource
.SH LIBRARY
@@ -207,21 +207,25 @@ and
.I v2
are the addresses of appropriate resources, then the return value
is one of the following:
-.RS 4
-.IP 0 4
+.RS
+.TP
+.B 0
.I v1
is equal to
.IR v2 ;
in other words, the two processes share the resource.
-.IP 1
+.TP
+.B 1
.I v1
is less than
.IR v2 .
-.IP 2
+.TP
+.B 2
.I v1
is greater than
.IR v2 .
-.IP 3
+.TP
+.B 3
.I v1
is not equal to
.IR v2 ,
diff --git a/man2/kexec_load.2 b/man2/kexec_load.2
index 6a81b4c35..bf396218b 100644
--- a/man2/kexec_load.2
+++ b/man2/kexec_load.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH KEXEC_LOAD 2 2022-10-09 "Linux man-pages 6.01"
+.TH kexec_load 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
kexec_load, kexec_file_load \- load a new kernel for later execution
.SH LIBRARY
@@ -128,7 +128,7 @@ If these checks pass, the kernel copies the segment data to kernel memory.
Each segment specified in
.I segments
is copied as follows:
-.IP * 3
+.IP \(bu 3
.I buf
and
.I bufsz
@@ -139,14 +139,14 @@ The value in
may not exceed the value in the
.I memsz
field.
-.IP *
+.IP \(bu
.I mem
and
.I memsz
specify a physical address range that is the target of the copy.
The values specified in both fields must be multiples of
the system page size.
-.IP *
+.IP \(bu
.I bufsz
bytes are copied from the source buffer to the target kernel buffer.
If
diff --git a/man2/keyctl.2 b/man2/keyctl.2
index 365f39bfe..fd112c087 100644
--- a/man2/keyctl.2
+++ b/man2/keyctl.2
@@ -5,7 +5,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH KEYCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH keyctl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
keyctl \- manipulate the kernel's key management facility
.SH LIBRARY
@@ -173,7 +173,7 @@ Otherwise,
is treated as the description (name) of a keyring,
and the behavior is as follows:
.RS
-.IP * 3
+.IP \(bu 3
If a keyring with a matching description exists,
the process will attempt to subscribe to that keyring
as its session keyring if possible;
@@ -182,7 +182,7 @@ In order to subscribe to the keyring,
the caller must have
.I search
permission on the keyring.
-.IP *
+.IP \(bu
If a keyring with a matching description does not exist,
then a new keyring with the specified description is created,
and the process is subscribed to that keyring as its session keyring.
@@ -1393,7 +1393,7 @@ Should the timeout be reached,
the persistent keyring will be removed and
everything it pins can then be garbage collected.
.IP
-Persistent keyrings were added to Linux in kernel version 3.13.
+Persistent keyrings were added in Linux 3.13.
.IP
The arguments
.I arg4
@@ -1542,7 +1542,9 @@ as with SP800-108 (the counter KDF).
.\" keyutils commit d68a981e5db41d059ac782071c35d1e8f3aaf61c
This operation is exposed by
.I libkeyutils
-(from version 1.5.10 onwards) via the functions
+(from
+.I libkeyutils
+1.5.10 onwards) via the functions
.BR keyctl_dh_compute (3)
and
.BR keyctl_dh_compute_alloc (3).
@@ -1751,7 +1753,7 @@ or
(the key description)
exceeded the limit (32 bytes and 4096 bytes respectively).
.TP
-.BR EINVAL " (Linux kernels before 4.12)"
+.BR EINVAL " (before Linux 4.12)"
.I operation
was
.BR KEYCTL_DH_COMPUTE ,
@@ -1831,7 +1833,7 @@ exceeds
.B KEYCTL_KDF_MAX_OI_LEN
(which is 64 currently).
.TP
-.BR ENFILE " (Linux kernels before 3.13)"
+.BR ENFILE " (before Linux 3.13)"
.I operation
was
.B KEYCTL_LINK
@@ -2028,20 +2030,20 @@ Auth key description: .request_key_auth;1000;1000;0b010000;20d035bf
.PP
The last few lines of the above output show that the example program
was able to fetch:
-.IP * 3
+.IP \(bu 3
the description of the key to be instantiated,
which included the name of the key
.RI ( mykey );
-.IP *
+.IP \(bu
the payload of the authorization key, which consisted of the data
.RI ( somepayloaddata )
passed to
.BR request_key (2);
-.IP *
+.IP \(bu
the destination keyring that was specified in the call to
.BR request_key (2);
and
-.IP *
+.IP \(bu
the description of the authorization key,
where we can see that the name of the authorization key matches
the ID of the key that is to be instantiated
diff --git a/man2/kill.2 b/man2/kill.2
index 86d3a0d2d..8875b09c0 100644
--- a/man2/kill.2
+++ b/man2/kill.2
@@ -21,7 +21,7 @@
.\" Modified 2004-06-24 by aeb
.\" Modified, 2004-11-30, after idea from emmanuel.colbus@ensimag.imag.fr
.\"
-.TH KILL 2 2022-10-09 "Linux man-pages 6.01"
+.TH kill 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
kill \- send signal to a process
.SH LIBRARY
@@ -131,16 +131,16 @@ for the permissions required for an unprivileged process
to send a signal to another process.
.\" In the 0.* kernels things chopped and changed quite
.\" a bit - MTK, 24 Jul 02
-In kernels 1.0 to 1.2.2, a signal could be sent if the
+In Linux 1.0 to 1.2.2, a signal could be sent if the
effective user ID of the sender matched effective user ID of the target,
or the real user ID of the sender matched the real user ID of the target.
-From kernel 1.2.3 until 1.3.77, a signal could be sent if the
+From Linux 1.2.3 until 1.3.77, a signal could be sent if the
effective user ID of the sender matched either the real or effective
user ID of the target.
The current rules, which conform to POSIX.1, were adopted
-in kernel 1.3.78.
+in Linux 1.3.78.
.SH BUGS
-In 2.6 kernels up to and including 2.6.7,
+In Linux 2.6 up to and including Linux 2.6.7,
there was a bug that meant that when sending signals to a process group,
.BR kill ()
failed with the error
diff --git a/man2/landlock_add_rule.2 b/man2/landlock_add_rule.2
index 467494117..4dee498e5 100644
--- a/man2/landlock_add_rule.2
+++ b/man2/landlock_add_rule.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LANDLOCK_ADD_RULE 2 2022-10-09 "Linux man-pages 6.01"
+.TH landlock_add_rule 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
landlock_add_rule \- add a new Landlock rule to a ruleset
.SH LIBRARY
diff --git a/man2/landlock_create_ruleset.2 b/man2/landlock_create_ruleset.2
index ba8872346..bc29c1d6b 100644
--- a/man2/landlock_create_ruleset.2
+++ b/man2/landlock_create_ruleset.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LANDLOCK_CREATE_RULESET 2 2022-10-09 "Linux man-pages 6.01"
+.TH landlock_create_ruleset 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
landlock_create_ruleset \- create a new Landlock ruleset
.SH LIBRARY
diff --git a/man2/landlock_restrict_self.2 b/man2/landlock_restrict_self.2
index c4422cd7b..f0ef20207 100644
--- a/man2/landlock_restrict_self.2
+++ b/man2/landlock_restrict_self.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LANDLOCK_RESTRICT_SELF 2 2022-10-09 "Linux man-pages 6.01"
+.TH landlock_restrict_self 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
landlock_restrict_self \- enforce a Landlock ruleset
.SH LIBRARY
diff --git a/man2/link.2 b/man2/link.2
index c17b95aaa..fd3bc965f 100644
--- a/man2/link.2
+++ b/man2/link.2
@@ -9,7 +9,7 @@
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2005-04-04, as per suggestion by Michael Hardt for rename.2
.\"
-.TH LINK 2 2022-10-09 "Linux man-pages 6.01"
+.TH link 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
link, linkat \- make a new name for a file
.SH LIBRARY
@@ -153,7 +153,7 @@ linkat(AT_FDCWD, "/proc/self/fd/<fd>", newdirfd,
.EE
.in
.PP
-Before kernel 2.6.18, the
+Before Linux 2.6.18, the
.I flags
argument was unused, and had to be specified as 0.
.PP
@@ -336,8 +336,8 @@ is an empty string, and
refers to a directory.
.SH VERSIONS
.BR linkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR link ():
SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008.
@@ -360,8 +360,8 @@ POSIX.1-2001 says that
should dereference
.I oldpath
if it is a symbolic link.
-However, since kernel 2.0,
-.\" more precisely: since kernel 1.3.56
+However, since Linux 2.0,
+.\" more precisely: since Linux 1.3.56
Linux does not do so: if
.I oldpath
is a symbolic link, then
diff --git a/man2/listen.2 b/man2/listen.2
index 476e3dadd..8b3d0d475 100644
--- a/man2/listen.2
+++ b/man2/listen.2
@@ -14,7 +14,7 @@
.\" Modified 11 May 2001 by Sam Varshavchik <mrsam@courier-mta.com>
.\"
.\"
-.TH LISTEN 2 2022-10-09 "Linux man-pages 6.01"
+.TH listen 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
listen \- listen for connections on a socket
.SH LIBRARY
@@ -96,20 +96,20 @@ first appeared in 4.2BSD).
.SH NOTES
To accept connections, the following steps are performed:
.RS 4
-.IP 1. 4
+.IP (1) 5
A socket is created with
.BR socket (2).
-.IP 2.
+.IP (2)
The socket is bound to a local address using
.BR bind (2),
so that other sockets may be
.BR connect (2)ed
to it.
-.IP 3.
+.IP (3)
A willingness to accept incoming connections and a queue limit for incoming
connections are specified with
.BR listen ().
-.IP 4.
+.IP (4)
Connections are accepted with
.BR accept (2).
.RE
@@ -137,7 +137,7 @@ argument is greater than the value in
then it is silently capped to that value.
Since Linux 5.4, the default in this file is 4096;
in earlier kernels, the default value is 128.
-In kernels before 2.4.25, this limit was a hard coded value,
+Before Linux 2.4.25, this limit was a hard coded value,
.BR SOMAXCONN ,
with the value 128.
.\" The following is now rather historic information (MTK, Jun 05)
diff --git a/man2/listxattr.2 b/man2/listxattr.2
index b38f13ce6..0acf72c1d 100644
--- a/man2/listxattr.2
+++ b/man2/listxattr.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH LISTXATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH listxattr 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
listxattr, llistxattr, flistxattr \- list extended attribute names
.SH LIBRARY
@@ -14,11 +14,11 @@ Standard C library
.nf
.B #include <sys/xattr.h>
.PP
-.BI "ssize_t listxattr(const char *" path ", char *" list \
+.BI "ssize_t listxattr(const char *" path ", char *_Nullable " list \
", size_t " size );
-.BI "ssize_t llistxattr(const char *" path ", char *" list \
+.BI "ssize_t llistxattr(const char *" path ", char *_Nullable " list \
", size_t " size );
-.BI "ssize_t flistxattr(int " fd ", char *" list ", size_t " size );
+.BI "ssize_t flistxattr(int " fd ", char *_Nullable " list ", size_t " size );
.fi
.SH DESCRIPTION
Extended attributes are
@@ -133,8 +133,8 @@ In addition, the errors documented in
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
diff --git a/man2/llseek.2 b/man2/llseek.2
index b7cfa0144..4607dfe45 100644
--- a/man2/llseek.2
+++ b/man2/llseek.2
@@ -6,7 +6,7 @@
.\"
.\" Modified Thu Oct 31 15:16:23 1996 by Eric S. Raymond <esr@thyrsus.com>
.\"
-.TH LLSEEK 2 2022-10-09 "Linux man-pages 6.01"
+.TH LLSEEK 2 2022-10-09 "Linux man-pages 6.02"
.SH NAME
_llseek \- reposition read/write file offset
.SH LIBRARY
diff --git a/man2/lookup_dcookie.2 b/man2/lookup_dcookie.2
index b48827758..1a05b8b59 100644
--- a/man2/lookup_dcookie.2
+++ b/man2/lookup_dcookie.2
@@ -4,7 +4,7 @@
.\"
.\" Modified 2004-06-17 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH LOOKUP_DCOOKIE 2 2022-10-09 "Linux man-pages 6.01"
+.TH lookup_dcookie 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
lookup_dcookie \- return a directory entry's path
.SH LIBRARY
@@ -69,7 +69,7 @@ The buffer was not large enough to hold the path of the directory entry.
Available since Linux 2.5.43.
The
.B ENAMETOOLONG
-error return was added in 2.5.70.
+error return was added in Linux 2.5.70.
.SH STANDARDS
.BR lookup_dcookie ()
is Linux-specific.
diff --git a/man2/lseek.2 b/man2/lseek.2
index fe8bf8b40..7c1331140 100644
--- a/man2/lseek.2
+++ b/man2/lseek.2
@@ -15,7 +15,7 @@
.\" Modified 2003-08-21 by Andries Brouwer <aeb@cwi.nl>
.\" 2011-09-18, mtk, Added SEEK_DATA + SEEK_HOLE
.\"
-.TH LSEEK 2 2022-10-09 "Linux man-pages 6.01"
+.TH lseek 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
lseek \- reposition read/write file offset
.SH LIBRARY
@@ -60,7 +60,7 @@ If data is later written at this point, subsequent reads of the data
in the gap (a "hole") return null bytes (\(aq\e0\(aq) until
data is actually written into the gap.
.SS Seeking file data and holes
-Since version 3.1, Linux supports the following additional values for
+Since Linux 3.1, Linux supports the following additional values for
.IR whence :
.TP
.B SEEK_DATA
@@ -137,26 +137,26 @@ The
and
.B SEEK_DATA
operations are supported for the following filesystems:
-.IP * 3
+.IP \(bu 3
Btrfs (since Linux 3.1)
-.IP * 3
+.IP \(bu
OCFS (since Linux 3.2)
.\" commit 93862d5e1ab875664c6cc95254fc365028a48bb1
-.IP *
+.IP \(bu
XFS (since Linux 3.5)
-.IP *
+.IP \(bu
ext4 (since Linux 3.8)
-.IP *
+.IP \(bu
.BR tmpfs (5)
(since Linux 3.8)
-.IP *
+.IP \(bu
NFS (since Linux 3.18)
.\" commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0
.\" commit 24bab491220faa446d945624086d838af41d616c
-.IP *
+.IP \(bu
FUSE (since Linux 4.5)
.\" commit 0b5da8db145bfd44266ac964a2636a0cf8d7c286
-.IP *
+.IP \(bu
GFS2 (since Linux 4.15)
.\" commit 3a27411cb4bc3ce31db228e3569ad01b462a4310
.SH RETURN VALUE
diff --git a/man2/madvise.2 b/man2/madvise.2
index f6444b1ca..a2131f9f6 100644
--- a/man2/madvise.2
+++ b/man2/madvise.2
@@ -12,7 +12,7 @@
.\" 2011-09-18, Doug Goldstein <cardoe@cardoe.com>
.\" Document MADV_HUGEPAGE and MADV_NOHUGEPAGE
.\"
-.TH MADVISE 2 2022-10-09 "Linux man-pages 6.01"
+.TH madvise 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
madvise \- give advice about use of memory
.SH LIBRARY
@@ -22,7 +22,7 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int madvise(void *" addr ", size_t " length ", int " advice );
+.BI "int madvise(void " addr [. length "], size_t " length ", int " advice );
.fi
.PP
.RS -4
@@ -320,8 +320,6 @@ Enable Transparent Huge Pages (THP) for pages in the range specified by
.I addr
and
.IR length .
-Currently, Transparent Huge Pages work only with private anonymous pages (see
-.BR mmap (2)).
The kernel will regularly scan the areas marked as huge page candidates
to replace them with huge pages.
The kernel will also allocate huge pages directly when the region is
@@ -354,12 +352,48 @@ an access pattern that the developer knows in advance won't risk
to increase the memory footprint of the application when transparent
hugepages are enabled.
.IP
+.\" commit 99cb0dbd47a15d395bf3faa78dc122bc5efe3fc0
+Since Linux 5.4,
+automatic scan of eligible areas and replacement by huge pages works with
+private anonymous pages (see
+.BR mmap (2)),
+shmem pages,
+and file-backed pages.
+For all memory types,
+memory may only be replaced by huge pages on hugepage-aligned boundaries.
+For file-mapped memory
+\(emincluding tmpfs (see
+.BR tmpfs (2))\(em
+the mapping must also be naturally hugepage-aligned within the file.
+Additionally,
+for file-backed,
+non-tmpfs memory,
+the file must not be open for write and the mapping must be executable.
+.IP
+The VMA must not be marked
+.BR VM_NOHUGEPAGE ,
+.BR VM_HUGETLB ,
+.BR VM_IO ,
+.BR VM_DONTEXPAND ,
+.BR VM_MIXEDMAP ,
+or
+.BR VM_PFNMAP ,
+nor can it be stack memory or backed by a DAX-enabled device
+(unless the DAX device is hot-plugged as System RAM).
+The process must also not have
+.B PR_SET_THP_DISABLE
+set (see
+.BR prctl (2)).
+.IP
The
-.B MADV_HUGEPAGE
+.BR MADV_HUGEPAGE ,
+.BR MADV_NOHUGEPAGE ,
and
-.B MADV_NOHUGEPAGE
+.B MADV_COLLAPSE
operations are available only if the kernel was configured with
-.BR CONFIG_TRANSPARENT_HUGEPAGE .
+.B CONFIG_TRANSPARENT_HUGEPAGE
+and file/shmem memory is only supported if the kernel was configured with
+.BR CONFIG_READ_ONLY_THP_FOR_FS .
.TP
.BR MADV_NOHUGEPAGE " (since Linux 2.6.38)"
Ensures that memory in the address range specified by
@@ -368,6 +402,82 @@ and
.I length
will not be backed by transparent hugepages.
.TP
+.BR MADV_COLLAPSE " (since Linux 6.1)"
+.\" commit 7d8faaf155454f8798ec56404faca29a82689c77
+.\" commit 34488399fa08faaf664743fa54b271eb6f9e1321
+Perform a best-effort synchronous collapse of
+the native pages mapped by the memory range
+into Transparent Huge Pages (THPs).
+.B MADV_COLLAPSE
+operates on the current state of memory of the calling process and
+makes no persistent changes or guarantees on how pages will be mapped,
+constructed,
+or faulted in the future.
+.IP
+.B MADV_COLLAPSE
+supports private anonymous pages (see
+.BR mmap (2)),
+shmem pages,
+and file-backed pages.
+See
+.B MADV_HUGEPAGE
+for general information on memory requirements for THP.
+If the range provided spans multiple VMAs,
+the semantics of the collapse over each VMA is independent from the others.
+If collapse of a given huge page-aligned/sized region fails,
+the operation may continue to attempt collapsing
+the remainder of the specified memory.
+.B MADV_COLLAPSE
+will automatically clamp the provided range to be hugepage-aligned.
+.IP
+All non-resident pages covered by the range
+will first be swapped/faulted-in,
+before being copied onto a freshly allocated hugepage.
+If the native pages compose the same PTE-mapped hugepage,
+and are suitably aligned,
+allocation of a new hugepage may be elided and
+collapse may happen in-place.
+Unmapped pages will have their data directly initialized to 0
+in the new hugepage.
+However,
+for every eligible hugepage-aligned/sized region to be collapsed,
+at least one page must currently be backed by physical memory.
+.IP
+.B MADV_COLLAPSE
+is independent of any sysfs
+(see
+.BR sysfs (5))
+setting under
+.IR /sys/kernel/mm/transparent_hugepage ,
+both in terms of determining THP eligibility,
+and allocation semantics.
+See Linux kernel source file
+.I Documentation/admin\-guide/mm/transhuge.rst
+for more information.
+.B MADV_COLLAPSE
+also ignores
+.B huge=
+tmpfs mount when operating on tmpfs files.
+Allocation for the new hugepage may enter direct reclaim and/or compaction,
+regardless of VMA flags
+(though
+.B VM_NOHUGEPAGE
+is still respected).
+.IP
+When the system has multiple NUMA nodes,
+the hugepage will be allocated from
+the node providing the most native pages.
+.IP
+If all hugepage-sized/aligned regions covered by the provided range were
+either successfully collapsed,
+or were already PMD-mapped THPs,
+this operation will be deemed successful.
+Note that this doesn't guarantee anything about
+other possible mappings of the memory.
+In the event multiple hugepage-aligned/sized areas fail to collapse,
+only the most-recently\[en]failed code will be set in
+.IR errno .
+.TP
.BR MADV_DONTDUMP " (since Linux 3.4)"
.\" commit 909af768e88867016f427264ae39d27a57b6a8ed
.\" commit accb61fe7bb0f5c2a4102239e4981650f9048519
@@ -415,7 +525,7 @@ The
operation
can be applied only to private anonymous pages (see
.BR mmap (2)).
-In Linux before version 4.12,
+Before Linux 4.12,
.\" commit 93e06c7a645343d222c9a838834a51042eebbbf7
when freeing pages on a swapless system,
the pages in the given range are freed instantly,
@@ -587,6 +697,11 @@ A kernel resource was temporarily unavailable.
.B EBADF
The map exists, but the area maps something that isn't a file.
.TP
+.B EBUSY
+(for
+.BR MADV_COLLAPSE )
+Could not charge hugepage to cgroup: cgroup limit exceeded.
+.TP
.B EFAULT
.I advice
is
@@ -684,6 +799,11 @@ maximum resident set size.
Not enough memory: paging in failed.
.TP
.B ENOMEM
+(for
+.BR MADV_COLLAPSE )
+Not enough memory: could not allocate hugepage.
+.TP
+.B ENOMEM
Addresses in the specified range are not currently
mapped, or are outside the address space of the process.
.TP
@@ -758,6 +878,11 @@ that are not mapped, the Linux version of
ignores them and applies the call to the rest (but returns
.B ENOMEM
from the system call, as it should).
+.PP
+.I madvise(0,\ 0,\ advice)
+will return zero iff
+.I advice
+is supported by the kernel and can be relied on to probe for support.
.\" .SH HISTORY
.\" The
.\" .BR madvise ()
diff --git a/man2/mbind.2 b/man2/mbind.2
index aaaf8d7c9..81f290eb5 100644
--- a/man2/mbind.2
+++ b/man2/mbind.2
@@ -32,7 +32,7 @@
.\" Author: Lee Schermerhorn <lee.schermerhorn@hp.com>
.\" Date: Thu Oct 25 14:16:32 2012 +0200
.\"
-.TH MBIND 2 2022-10-09 "Linux man-pages 6.01"
+.TH mbind 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mbind \- set memory policy for a memory range
.SH LIBRARY
@@ -42,9 +42,10 @@ NUMA (Non-Uniform Memory Access) policy library
.nf
.B "#include <numaif.h>"
.PP
-.BI "long mbind(void *" addr ", unsigned long " len ", int " mode ,
-.BI " const unsigned long *" nodemask ", unsigned long " maxnode ,
-.BI " unsigned int " flags );
+.BI "long mbind(void " addr [. len "], unsigned long " len ", int " mode ,
+.BI " const unsigned long " nodemask [(. maxnode " + ULONG_WIDTH - 1)"
+.B " / ULONG_WIDTH],"
+.BI " unsigned long " maxnode ", unsigned int " flags );
.fi
.SH DESCRIPTION
.BR mbind ()
@@ -295,7 +296,7 @@ then the call fails with the error
if the existing pages in the memory range don't follow the policy.
.\" According to the kernel code, the following is not true
.\" --Lee Schermerhorn
-.\" In 2.6.16 or later the kernel will also try to move pages
+.\" In Linux 2.6.16 or later the kernel will also try to move pages
.\" to the requested node with this flag.
.PP
If
@@ -422,7 +423,7 @@ privilege.
.SH VERSIONS
The
.BR mbind ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
@@ -468,7 +469,7 @@ This method will work for
.BR set_mempolicy (2),
as well.
.PP
-Support for huge page policy was added with 2.6.16.
+Support for huge page policy was added with Linux 2.6.16.
For interleave policy to be effective on huge page mappings the
policied memory needs to be tens of megabytes or larger.
.PP
diff --git a/man2/membarrier.2 b/man2/membarrier.2
index c51cc3ece..3aa9f6d72 100644
--- a/man2/membarrier.2
+++ b/man2/membarrier.2
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2015-2017 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MEMBARRIER 2 2022-10-09 "Linux man-pages 6.01"
+.TH membarrier 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
membarrier \- issue memory barriers on a set of threads
.SH LIBRARY
diff --git a/man2/memfd_create.2 b/man2/memfd_create.2
index c71f6f9d7..b8c881f77 100644
--- a/man2/memfd_create.2
+++ b/man2/memfd_create.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH MEMFD_CREATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH memfd_create 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
memfd_create \- create an anonymous file
.SH LIBRARY
@@ -188,7 +188,7 @@ There was insufficient memory to create a new anonymous file.
The
.BR memfd_create ()
system call first appeared in Linux 3.17;
-glibc support was added in version 2.27.
+glibc support was added in glibc 2.27.
.TP
.B EPERM
The
@@ -259,20 +259,20 @@ by allowing a process to operate secure in the knowledge that
its peer can't modify the shared memory in an undesired fashion.
.PP
An example of the usage of the sealing mechanism is as follows:
-.IP 1. 3
+.IP (1) 5
The first process creates a
.BR tmpfs (5)
file using
.BR memfd_create ().
The call yields a file descriptor used in subsequent steps.
-.IP 2.
+.IP (2)
The first process
sizes the file created in the previous step using
.BR ftruncate (2),
maps it using
.BR mmap (2),
and populates the shared memory with the desired data.
-.IP 3.
+.IP (3)
The first process uses the
.BR fcntl (2)
.B F_ADD_SEALS
@@ -291,13 +291,13 @@ which will prevent future writes via
and
.BR write (2)
from succeeding while keeping existing shared writable mappings).
-.IP 4.
+.IP (4)
A second process obtains a file descriptor for the
.BR tmpfs (5)
file and maps it.
Among the possible ways in which this could happen are the following:
.RS
-.IP * 3
+.IP \(bu 3
The process that called
.BR memfd_create ()
could transfer the resulting file descriptor to the second process
@@ -307,7 +307,7 @@ and
.BR cmsg (3)).
The second process then maps the file using
.BR mmap (2).
-.IP *
+.IP \(bu
The second process is created via
.BR fork (2)
and thus automatically inherits the file descriptor and mapping.
@@ -315,7 +315,7 @@ and thus automatically inherits the file descriptor and mapping.
there is a natural trust relationship between the two processes,
since they are running under the same user ID.
Therefore, file sealing would not normally be necessary.)
-.IP *
+.IP \(bu
The second process opens the file
.IR /proc/<pid>/fd/<fd> ,
where
@@ -330,7 +330,7 @@ in that process.
The second process then maps the file using
.BR mmap (2).
.RE
-.IP 5.
+.IP (5)
The second process uses the
.BR fcntl (2)
.B F_GET_SEALS
diff --git a/man2/memfd_secret.2 b/man2/memfd_secret.2
index efb2a0d29..6b6c65156 100644
--- a/man2/memfd_secret.2
+++ b/man2/memfd_secret.2
@@ -7,7 +7,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH MEMFD_SECRET 2 2022-10-09 "Linux man-pages 6.01"
+.TH memfd_secret 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
memfd_secret \- create an anonymous RAM-based file
to access secret memory regions
diff --git a/man2/migrate_pages.2 b/man2/migrate_pages.2
index 530cd7cf5..6bc8c7bca 100644
--- a/man2/migrate_pages.2
+++ b/man2/migrate_pages.2
@@ -15,7 +15,7 @@
.\" permission notice identical to this one.
.\" %%%LICENSE_END
.\"
-.TH MIGRATE_PAGES 2 2022-10-09 "Linux man-pages 6.01"
+.TH migrate_pages 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
migrate_pages \- move all pages in a process to another set of nodes
.SH LIBRARY
@@ -137,7 +137,7 @@ could be found.
.SH VERSIONS
The
.BR migrate_pages ()
-system call first appeared on Linux in version 2.6.16.
+system call first appeared in Linux 2.6.16.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/mincore.2 b/man2/mincore.2
index 850e5b2e2..a74dd2582 100644
--- a/man2/mincore.2
+++ b/man2/mincore.2
@@ -11,7 +11,7 @@
.\" after message from <gordon.jin@intel.com>
.\" 2007-01-08 mtk, rewrote various parts
.\"
-.TH MINCORE 2 2022-10-09 "Linux man-pages 6.01"
+.TH mincore 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mincore \- determine whether pages are resident in memory
.SH LIBRARY
@@ -21,7 +21,7 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int mincore(void *" addr ", size_t " length ", unsigned char *" vec );
+.BI "int mincore(void " addr [. length "], size_t " length ", unsigned char *" vec );
.fi
.PP
.RS -4
@@ -130,7 +130,7 @@ and it is not available on all UNIX implementations.
.\" .BR mincore ()
.\" function first appeared in 4.4BSD.
.SH BUGS
-Before kernel 2.6.21,
+Before Linux 2.6.21,
.BR mincore ()
did not return correct information for
.B MAP_PRIVATE
diff --git a/man2/mkdir.2 b/man2/mkdir.2
index 898a9d4c1..4dbe07b19 100644
--- a/man2/mkdir.2
+++ b/man2/mkdir.2
@@ -5,7 +5,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH MKDIR 2 2022-10-09 "Linux man-pages 6.01"
+.TH mkdir 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mkdir, mkdirat \- create a directory
.SH LIBRARY
@@ -205,8 +205,8 @@ does not support the creation of directories.
refers to a file on a read-only filesystem.
.SH VERSIONS
.BR mkdirat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR mkdir ():
SVr4, BSD, POSIX.1-2001, POSIX.1-2008.
diff --git a/man2/mknod.2 b/man2/mknod.2
index 770adcc8d..7d1af906f 100644
--- a/man2/mknod.2
+++ b/man2/mknod.2
@@ -9,7 +9,7 @@
.\" Modified 2003-04-23 by Michael Kerrisk
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH MKNOD 2 2022-10-09 "Linux man-pages 6.01"
+.TH mknod 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mknod, mknodat \- create a special or ordinary file
.SH LIBRARY
@@ -242,8 +242,8 @@ does not support the type of node requested.
refers to a file on a read-only filesystem.
.SH VERSIONS
.BR mknodat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR mknod ():
SVr4, 4.4BSD, POSIX.1-2001 (but see below), POSIX.1-2008.
diff --git a/man2/mlock.2 b/man2/mlock.2
index d1687f9e7..1e3bd17d7 100644
--- a/man2/mlock.2
+++ b/man2/mlock.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH MLOCK 2 2022-10-09 "Linux man-pages 6.01"
+.TH mlock 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mlock, mlock2, munlock, mlockall, munlockall \- lock and unlock memory
.SH LIBRARY
@@ -14,9 +14,10 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int mlock(const void *" addr ", size_t " len );
-.BI "int mlock2(const void *" addr ", size_t " len ", unsigned int " flags );
-.BI "int munlock(const void *" addr ", size_t " len );
+.BI "int mlock(const void " addr [. len "], size_t " len );
+.BI "int mlock2(const void " addr [. len "], size_t " len ", \
+unsigned int " flags );
+.BI "int munlock(const void " addr [. len "], size_t " len );
.PP
.BI "int mlockall(int " flags );
.B int munlockall(void);
@@ -257,7 +258,7 @@ to perform the requested operation.
.SH VERSIONS
.BR mlock2 ()
is available since Linux 4.4;
-glibc support was added in version 2.27.
+glibc support was added in glibc 2.27.
.SH STANDARDS
.BR mlock (),
.BR munlock (),
@@ -464,9 +465,9 @@ a bug caused the
.B MCL_FUTURE
flag to be inherited across a
.BR fork (2).
-This was rectified in kernel 2.4.18.
+This was rectified in Linux 2.4.18.
.PP
-Since kernel 2.6.9, if a privileged process calls
+Since Linux 2.6.9, if a privileged process calls
.I mlockall(MCL_FUTURE)
and later drops privileges (loses the
.B CAP_IPC_LOCK
diff --git a/man2/mmap.2 b/man2/mmap.2
index 6418238c4..dd2286816 100644
--- a/man2/mmap.2
+++ b/man2/mmap.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1996 Andries Brouwer <aeb@cwi.nl>
.\" and Copyright (C) 2006, 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -8,7 +9,7 @@
.\" Modified 2001-10-04 by John Levon <moz@compsoc.man.ac.uk>
.\" Modified 2003-02-02 by Andi Kleen <ak@muc.de>
.\" Modified 2003-05-21 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\" MAP_LOCKED works from 2.5.37
+.\" MAP_LOCKED works from Linux 2.5.37
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2004-09-11 by aeb
.\" Modified 2004-12-08, from Eric Estievenart <eric.estievenart@free.fr>
@@ -17,7 +18,7 @@
.\" 2007-07-10, mtk, Added an example program.
.\" 2008-11-18, mtk, document MAP_STACK
.\"
-.TH MMAP 2 2022-10-09 "Linux man-pages 6.01"
+.TH mmap 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mmap, munmap \- map or unmap files or devices into memory
.SH LIBRARY
@@ -27,10 +28,10 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "void *mmap(void *" addr ", size_t " length \
+.BI "void *mmap(void " addr [. length "], size_t " length \
", int " prot ", int " flags ,
.BI " int " fd ", off_t " offset );
-.BI "int munmap(void *" addr ", size_t " length );
+.BI "int munmap(void " addr [. length "], size_t " length );
.fi
.PP
See NOTES for information on feature test macro requirements.
@@ -61,7 +62,7 @@ and attempt to create the mapping there.
If another mapping already exists there, the kernel picks a new address that
may or may not depend on the hint.
.\" Before Linux 2.6.24, the address was rounded up to the next page
-.\" boundary; since 2.6.24, it is rounded down!
+.\" boundary; since Linux 2.6.24, it is rounded down!
The address of the new mapping is returned as the result of the call.
.PP
The contents of a file mapping (as opposed to an anonymous mapping; see
@@ -248,7 +249,7 @@ Software that aspires to be portable should use the
.B MAP_FIXED
flag with care,
keeping in mind that the exact layout of a process's memory mappings
-is allowed to change significantly between kernel versions,
+is allowed to change significantly between Linux versions,
C library versions, and operating system releases.
.I Carefully read the discussion of this flag in NOTES!
.TP
@@ -376,7 +377,7 @@ See also the discussion of the file
.I /proc/sys/vm/overcommit_memory
in
.BR proc (5).
-In kernels before 2.6, this flag had effect only for
+Before Linux 2.6, this flag had effect only for
private writable mappings.
.TP
.BR MAP_POPULATE " (since Linux 2.5.46)"
@@ -611,7 +612,7 @@ argument asks for
.B PROT_EXEC
but the mapped area belongs to a file on a filesystem that
was mounted no-exec.
-.\" (Since 2.4.25 / 2.6.0.)
+.\" (Since Linux 2.4.25 / Linux 2.6.0.)
.TP
.B EPERM
The operation was prevented by a file seal; see
@@ -864,7 +865,7 @@ This page describes the interface provided by the glibc
.BR mmap ()
wrapper function.
Originally, this function invoked a system call of the same name.
-Since kernel 2.4, that system call has been superseded by
+Since Linux 2.4, that system call has been superseded by
.BR mmap2 (2),
and nowadays
.\" Since around glibc 2.1/2.2, depending on the platform.
@@ -880,7 +881,7 @@ On Linux, there are no guarantees like those suggested above under
By default, any process can be killed
at any moment when the system runs out of memory.
.PP
-In kernels before 2.6.7, the
+Before Linux 2.6.7, the
.B MAP_POPULATE
flag has effect only if
.I prot
@@ -892,11 +893,11 @@ SUSv3 specifies that
should fail if
.I length
is 0.
-However, in kernels before 2.6.12,
+However, before Linux 2.6.12,
.BR mmap ()
succeeded in this case: no mapping was created and the call returned
.IR addr .
-Since kernel 2.6.12,
+Since Linux 2.6.12,
.BR mmap ()
fails with the error
.B EINVAL
diff --git a/man2/mmap2.2 b/man2/mmap2.2
index 57e3e8fb1..b123c7890 100644
--- a/man2/mmap2.2
+++ b/man2/mmap2.2
@@ -6,7 +6,7 @@
.\" Added description of mmap2
.\" Modified, 2004-11-25, mtk -- removed stray #endif in prototype
.\"
-.TH MMAP2 2 2022-10-09 "Linux man-pages 6.01"
+.TH mmap2 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mmap2 \- map files or devices into memory
.SH LIBRARY
diff --git a/man2/modify_ldt.2 b/man2/modify_ldt.2
index 80b9185b8..51d8e55f8 100644
--- a/man2/modify_ldt.2
+++ b/man2/modify_ldt.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH MODIFY_LDT 2 2022-10-09 "Linux man-pages 6.01"
+.TH modify_ldt 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
modify_ldt \- get or set a per-process LDT entry
.SH LIBRARY
@@ -15,7 +15,7 @@ Standard C library
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
-.BI "int syscall(SYS_modify_ldt, int " func ", void *" ptr ,
+.BI "int syscall(SYS_modify_ldt, int " func ", void " ptr [. bytecount ],
.BI " unsigned long " bytecount );
.fi
.PP
diff --git a/man2/mount.2 b/man2/mount.2
index 40ab128ca..226b77126 100644
--- a/man2/mount.2
+++ b/man2/mount.2
@@ -17,7 +17,7 @@
.\" 2008-10-06, mtk: move umount*() material into separate umount.2 page.
.\" 2008-10-06, mtk: Add discussion of namespaces.
.\"
-.TH MOUNT 2 2022-10-09 "Linux man-pages 6.01"
+.TH mount 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mount \- mount filesystem
.SH LIBRARY
@@ -29,7 +29,7 @@ Standard C library
.PP
.BI "int mount(const char *" source ", const char *" target ,
.BI " const char *" filesystemtype ", unsigned long " mountflags ,
-.BI " const void *" data );
+.BI " const void *_Nullable " data );
.fi
.SH DESCRIPTION
.BR mount ()
@@ -73,17 +73,17 @@ The choice of which operation to perform is determined by
testing the bits set in
.IR mountflags ,
with the tests being conducted in the order listed here:
-.IP * 3
+.IP \(bu 3
Remount an existing mount:
.I mountflags
includes
.BR MS_REMOUNT .
-.IP *
+.IP \(bu
Create a bind mount:
.I mountflags
includes
.BR MS_BIND .
-.IP *
+.IP \(bu
Change the propagation type of an existing mount:
.I mountflags
includes one of
@@ -92,12 +92,12 @@ includes one of
.BR MS_SLAVE ,
or
.BR MS_UNBINDABLE .
-.IP *
+.IP \(bu
Move an existing mount to a new location:
.I mountflags
includes
.BR MS_MOVE .
-.IP *
+.IP \(bu
Create a new mount:
.I mountflags
includes none of the above flags.
@@ -134,17 +134,17 @@ Reduce on-disk updates of inode timestamps (atime, mtime, ctime)
by maintaining these changes only in memory.
The on-disk timestamps are updated only when:
.RS
-.IP (a) 4
+.IP \(bu 3
the inode needs to be updated for some change unrelated to file timestamps;
-.IP (b)
+.IP \(bu
the application employs
.BR fsync (2),
.BR syncfs (2),
or
.BR sync (2);
-.IP (c)
+.IP \(bu
an undeleted inode is evicted from memory; or
-.IP (d)
+.IP \(bu
more than 24 hours have passed since the inode was written to disk.
.RE
.IP
@@ -292,16 +292,16 @@ meaning that all mounts of the same filesystem share those flags.
(Previously, all of the flags were per-superblock.)
.PP
The per-mount-point flags are as follows:
-.IP * 3
+.IP \(bu 3
Since Linux 2.4:
.BR MS_NODEV ", " MS_NOEXEC ", and " MS_NOSUID
flags are settable on a per-mount-point basis.
-.IP *
+.IP \(bu
Additionally, since Linux 2.6.16:
.B MS_NOATIME
and
.BR MS_NODIRATIME .
-.IP *
+.IP \(bu
Additionally, since Linux 2.6.20:
.BR MS_RELATIME .
.PP
@@ -440,7 +440,7 @@ If
includes
.B MS_BIND
(available since Linux 2.4),
-.\" since 2.4.0-test9
+.\" since Linux 2.4.0-test9
then perform a bind mount.
A bind mount makes a file or a directory subtree visible at
another point within the single directory hierarchy.
@@ -843,7 +843,7 @@ The definitions of
.BR MS_STRICTATIME ,
and
.B MS_UNBINDABLE
-were added to glibc headers in version 2.12.
+were added to glibc headers in glibc 2.12.
.\"
.SH STANDARDS
This function is Linux-specific and should not be used in
@@ -852,7 +852,7 @@ programs intended to be portable.
Since Linux 2.4 a single filesystem can be mounted at
multiple mount points, and multiple mounts can be stacked
on the same mount point.
-.\" Multiple mounts on same mount point: since 2.3.99pre7.
+.\" Multiple mounts on same mount point: since Linux 2.3.99pre7.
.PP
The
.I mountflags
@@ -863,7 +863,7 @@ occupy the low order 16 bits of
.IR mountflags .)
Specifying
.B MS_MGC_VAL
-was required in kernel versions prior to 2.4,
+was required before Linux 2.4,
but since Linux 2.4 is no longer required and is ignored if specified.
.PP
The original
@@ -885,7 +885,7 @@ just silently ignored in this case.
.\" The change is in patch-2.4.0-prerelease.
.\"
.SS Mount namespaces
-Starting with kernel 2.4.19, Linux provides mount namespaces.
+Starting with Linux 2.4.19, Linux provides mount namespaces.
A mount namespace is the set of filesystem mounts that
are visible to a process.
Mount namespaces can be (and usually are)
diff --git a/man2/mount_setattr.2 b/man2/mount_setattr.2
index e2971d980..6115eeccb 100644
--- a/man2/mount_setattr.2
+++ b/man2/mount_setattr.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MOUNT_SETATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH mount_setattr 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mount_setattr \- change properties of a mount or mount tree
.SH LIBRARY
@@ -641,8 +641,8 @@ capability in the user namespace the filesystem was mounted in.
The underlying filesystem must support ID-mapped mounts.
Currently, the following filesystems support ID-mapped mounts:
.\" fs_flags = FS_ALLOW_IDMAP in kernel sources
-.PP
-.RS 3
+.IP
+.RS
.PD 0
.IP \(bu 3
.BR xfs (5)
diff --git a/man2/move_pages.2 b/man2/move_pages.2
index 2e9738961..d678c8b73 100644
--- a/man2/move_pages.2
+++ b/man2/move_pages.2
@@ -17,7 +17,7 @@
.\" (e.g., compare with recommendation in mbind(2)).
.\" Does this page need to give advice on this topic?
.\"
-.TH MOVE_PAGES 2 2022-10-09 "Linux man-pages 6.01"
+.TH move_pages 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
move_pages \- move individual pages of a process to another node
.SH LIBRARY
@@ -27,8 +27,10 @@ NUMA (Non-Uniform Memory Access) policy library
.nf
.B #include <numaif.h>
.PP
-.BI "long move_pages(int " pid ", unsigned long " count ", void **" pages ,
-.BI " const int *" nodes ", int *" status ", int " flags );
+.BI "long move_pages(int " pid ", unsigned long " count ", \
+void *" pages [. count ],
+.BI " const int " nodes [. count "], int " status [. count "], \
+int " flags );
.fi
.SH DESCRIPTION
.BR move_pages ()
@@ -53,13 +55,13 @@ is 0, then
moves pages of the calling process.
.PP
To move pages in another process requires the following privileges:
-.IP * 3
-In kernels up to and including Linux 4.12:
+.IP \(bu 3
+Up to and including Linux 4.12:
the caller must be privileged
.RB ( CAP_SYS_NICE )
or the real or effective user ID of the calling process must match the
real or saved-set user ID of the target process.
-.IP *
+.IP \(bu
The older rules allowed the caller to discover various
virtual address choices made by the kernel that could lead
to the defeat of address-space-layout randomization
@@ -216,7 +218,7 @@ to another user but did not have privilege to do so
Process does not exist.
.SH VERSIONS
.BR move_pages ()
-first appeared on Linux in version 2.6.18.
+first appeared in Linux 2.6.18.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/mprotect.2 b/man2/mprotect.2
index 6d16dc540..9a8ed07aa 100644
--- a/man2/mprotect.2
+++ b/man2/mprotect.2
@@ -10,7 +10,7 @@
.\" 2007-06-02, mtk: Fairly substantial rewrites and additions, and
.\" a much improved example program.
.\"
-.TH MPROTECT 2 2022-10-09 "Linux man-pages 6.01"
+.TH mprotect 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mprotect, pkey_mprotect \- set protection on a region of memory
.SH LIBRARY
@@ -20,12 +20,12 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int mprotect(void *" addr ", size_t " len ", int " prot );
+.BI "int mprotect(void " addr [. len "], size_t " len ", int " prot );
.PP
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.PP
-.BI "int pkey_mprotect(void *" addr ", size_t " len ", int " prot ", int " pkey ");"
+.BI "int pkey_mprotect(void " addr [. len "], size_t " len ", int " prot ", int " pkey ");"
.fi
.SH DESCRIPTION
.BR mprotect ()
@@ -176,7 +176,7 @@ Addresses in the range
.IR addr + len \-1]
are invalid for the address space of the process,
or specify one or more pages that are not mapped.
-(Before kernel 2.4.19, the error
+(Before Linux 2.4.19, the error
.B EFAULT
was incorrectly produced for these cases.)
.TP
diff --git a/man2/mq_getsetattr.2 b/man2/mq_getsetattr.2
index dbed4aaba..2ebbfb2f1 100644
--- a/man2/mq_getsetattr.2
+++ b/man2/mq_getsetattr.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_GETSETATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH mq_getsetattr 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mq_getsetattr \- get/set message queue attributes
.SH SYNOPSIS
diff --git a/man2/mremap.2 b/man2/mremap.2
index 673a48b6b..98e99f41a 100644
--- a/man2/mremap.2
+++ b/man2/mremap.2
@@ -8,7 +8,7 @@
.\" Update for Linux 1.3.87 and later
.\" 2005-10-11 mtk: Added NOTES for MREMAP_FIXED; revised EINVAL text.
.\"
-.TH MREMAP 2 2022-10-09 "Linux man-pages 6.01"
+.TH mremap 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mremap \- remap a virtual memory address
.SH LIBRARY
@@ -19,7 +19,7 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.PP
-.BI "void *mremap(void *" old_address ", size_t " old_size ,
+.BI "void *mremap(void " old_address [. old_size "], size_t " old_size ,
.BI " size_t " new_size ", int " flags ", ... /* void *" new_address " */);"
.fi
.SH DESCRIPTION
@@ -170,10 +170,10 @@ whole address space requested, but those mappings are of different types.
An invalid argument was given.
Possible causes are:
.RS
-.IP * 3
+.IP \(bu 3
\fIold_address\fP was not
page aligned;
-.IP *
+.IP \(bu
a value other than
.B MREMAP_MAYMOVE
or
@@ -182,15 +182,15 @@ or
.B MREMAP_DONTUNMAP
was specified in
.IR flags ;
-.IP *
+.IP \(bu
.I new_size
was zero;
-.IP *
+.IP \(bu
.I new_size
or
.I new_address
was invalid;
-.IP *
+.IP \(bu
the new address range specified by
.I new_address
and
@@ -199,29 +199,29 @@ overlapped the old address range specified by
.I old_address
and
.IR old_size ;
-.IP *
+.IP \(bu
.B MREMAP_FIXED
or
.B MREMAP_DONTUNMAP
was specified without also specifying
.BR MREMAP_MAYMOVE ;
-.IP *
+.IP \(bu
.B MREMAP_DONTUNMAP
was specified, but one or more pages in the range specified by
.I old_address
and
.I old_size
were not private anonymous;
-.IP *
+.IP \(bu
.B MREMAP_DONTUNMAP
was specified and
.I old_size
was not equal to
.IR new_size ;
-.IP *
+.IP \(bu
\fIold_size\fP was zero and \fIold_address\fP does not refer to a
shareable mapping (but see BUGS);
-.IP *
+.IP \(bu
\fIold_size\fP was zero and the
.B MREMAP_MAYMOVE
flag was not specified.
@@ -231,12 +231,12 @@ flag was not specified.
Not enough memory was available to complete the operation.
Possible causes are:
.RS
-.IP * 3
+.IP \(bu 3
The memory area cannot be expanded at the current virtual address, and the
.B MREMAP_MAYMOVE
flag is not set in \fIflags\fP.
Or, there is not enough (virtual) memory available.
-.IP *
+.IP \(bu
.B MREMAP_DONTUNMAP
was used causing a new mapping to be created that would exceed the
(virtual) memory available.
@@ -280,7 +280,7 @@ with
.B ENOMEM
if the area cannot be populated.
.PP
-Prior to version 2.4, glibc did not expose the definition of
+Prior to glibc 2.4, glibc did not expose the definition of
.BR MREMAP_FIXED ,
and the prototype for
.BR mremap ()
@@ -292,7 +292,7 @@ argument.
Possible applications for
.B MREMAP_DONTUNMAP
include:
-.IP * 3
+.IP \(bu 3
Non-cooperative
.BR userfaultfd (2):
an application can yank out a virtual address range using
@@ -301,7 +301,7 @@ and then employ a
.BR userfaultfd (2)
handler to handle the page faults that subsequently occur
as other threads in the process touch pages in the yanked range.
-.IP *
+.IP \(bu
Garbage collection:
.B MREMAP_DONTUNMAP
can be used in conjunction with
diff --git a/man2/msgctl.2 b/man2/msgctl.2
index d9068a290..f442ad3b5 100644
--- a/man2/msgctl.2
+++ b/man2/msgctl.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
.\" and Copyright 2004, 2005 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -15,7 +16,7 @@
.\" 2005-08-02, mtk: Added IPC_INFO, MSG_INFO, MSG_STAT descriptions
.\" 2018-03-20, dbueso: Added MSG_STAT_ANY description.
.\"
-.TH MSGCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH msgctl 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
msgctl \- System V message control operations
.SH LIBRARY
diff --git a/man2/msgget.2 b/man2/msgget.2
index f9bbee620..a73883b50 100644
--- a/man2/msgget.2
+++ b/man2/msgget.2
@@ -12,7 +12,7 @@
.\" Language and formatting clean-ups
.\" Added notes on /proc files
.\"
-.TH MSGGET 2 2022-10-09 "Linux man-pages 6.01"
+.TH msgget 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
msgget \- get a System V message queue identifier
.SH LIBRARY
@@ -90,7 +90,7 @@ then its associated data structure
(see
.BR msgctl (2))
is initialized as follows:
-.IP \(bu 2
+.IP \(bu 3
.I msg_perm.cuid
and
.I msg_perm.uid
@@ -194,7 +194,7 @@ Since Linux 3.19, the default value is 32,000.
On Linux, this limit can be read and modified via
.IR /proc/sys/kernel/msgmni .
.SS Linux notes
-Until version 2.3.20, Linux would return
+Until Linux 2.3.20, Linux would return
.B EIDRM
for a
.BR msgget ()
diff --git a/man2/msgop.2 b/man2/msgop.2
index b4de97d98..423a43334 100644
--- a/man2/msgop.2
+++ b/man2/msgop.2
@@ -17,7 +17,7 @@
.\" Language and formatting clean-ups
.\" Added notes on /proc files
.\"
-.TH MSGOP 2 2022-10-09 "Linux man-pages 6.01"
+.TH MSGOP 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
msgrcv, msgsnd \- System V message queue operations
.SH LIBRARY
@@ -27,10 +27,10 @@ Standard C library
.nf
.B #include <sys/msg.h>
.PP
-.BI "int msgsnd(int " msqid ", const void *" msgp ", size_t " msgsz \
-", int " msgflg );
+.BI "int msgsnd(int " msqid ", const void " msgp [. msgsz "], size_t " msgsz ,
+.BI " int " msgflg );
.PP
-.BI "ssize_t msgrcv(int " msqid ", void *" msgp ", size_t " msgsz \
+.BI "ssize_t msgrcv(int " msqid ", void " msgp [. msgsz "], size_t " msgsz \
", long " msgtyp ,
.BI " int " msgflg );
.fi
@@ -95,7 +95,7 @@ bytes, but this limit can be modified using
.BR msgctl (2).
A message queue is considered to be full if either of the following
conditions is true:
-.IP \(bu 2
+.IP \(bu 3
Adding a new message to the queue would cause the total number of bytes
in the queue to exceed the queue's maximum size (the
.I msg_qbytes
@@ -124,7 +124,7 @@ then the call instead fails with the error
A blocked
.BR msgsnd ()
call may also fail if:
-.IP \(bu 2
+.IP \(bu 3
the queue is removed,
in which case the system call fails with
.I errno
@@ -146,7 +146,7 @@ flag when establishing a signal handler.)
.PP
Upon successful completion the message queue data structure is updated
as follows:
-.IP \(bu 2
+.IP \(bu 3
.I msg_lspid
is set to the process ID of the calling process.
.IP \(bu
@@ -198,7 +198,7 @@ is specified in
the
.I msgtyp
argument specifies the type of message requested, as follows:
-.IP \(bu 2
+.IP \(bu 3
If
.I msgtyp
is 0,
@@ -285,7 +285,7 @@ If no message of the requested type is available and
isn't specified in
.IR msgflg ,
the calling process is blocked until one of the following conditions occurs:
-.IP \(bu 2
+.IP \(bu 3
A message of the desired type is placed in the queue.
.IP \(bu
The message queue is removed from the system.
diff --git a/man2/msync.2 b/man2/msync.2
index 7bc92dafa..dfab99a7e 100644
--- a/man2/msync.2
+++ b/man2/msync.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MSYNC 2 2022-10-09 "Linux man-pages 6.01"
+.TH msync 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
msync \- synchronize a file with a memory map
.SH LIBRARY
@@ -12,7 +12,7 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int msync(void *" addr ", size_t " length ", int " flags );
+.BI "int msync(void " addr [. length "], size_t " length ", int " flags );
.fi
.SH DESCRIPTION
.BR msync ()
diff --git a/man2/nanosleep.2 b/man2/nanosleep.2
index a79085f7b..20a05ded9 100644
--- a/man2/nanosleep.2
+++ b/man2/nanosleep.2
@@ -12,7 +12,7 @@
.\" NOTES: describe case where clock_nanosleep() can be preferable.
.\" NOTES: describe CLOCK_REALTIME versus CLOCK_NANOSLEEP
.\" Replace crufty discussion of HZ with a pointer to time(7).
-.TH NANOSLEEP 2 2022-10-09 "Linux man-pages 6.01"
+.TH nanosleep 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
nanosleep \- high-resolution sleep
.SH LIBRARY
@@ -22,7 +22,8 @@ Standard C library
.nf
.B #include <time.h>
.PP
-.BI "int nanosleep(const struct timespec *" req ", struct timespec *" rem );
+.BI "int nanosleep(const struct timespec *" req ,
+.BI " struct timespec *_Nullable " rem );
.fi
.PP
.RS -4
@@ -170,7 +171,7 @@ like
.B SCHED_FIFO
or
.BR SCHED_RR .
-This special extension was removed in kernel 2.5.39,
+This special extension was removed in Linux 2.5.39,
and is thus not available in Linux 2.6.0 and later kernels.
.SH BUGS
If a program that catches signals and uses
diff --git a/man2/nfsservctl.2 b/man2/nfsservctl.2
index 8bbbef222..d660e3f1f 100644
--- a/man2/nfsservctl.2
+++ b/man2/nfsservctl.2
@@ -2,7 +2,7 @@
.\" This text is in the public domain.
.\" %%%LICENSE_END
.\"
-.TH NFSSERVCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH nfsservctl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
nfsservctl \- syscall interface to kernel nfs daemon
.SH LIBRARY
@@ -62,8 +62,8 @@ On error, \-1 is returned, and
.I errno
is set to indicate the error.
.SH VERSIONS
-This system call was removed from the Linux kernel in version 3.1.
-Library support was removed from glibc in version 2.28.
+This system call was removed in Linux 3.1.
+Library support was removed in glibc 2.28.
.SH STANDARDS
This call is Linux-specific.
.SH SEE ALSO
diff --git a/man2/nice.2 b/man2/nice.2
index b848b5754..53caa0ffe 100644
--- a/man2/nice.2
+++ b/man2/nice.2
@@ -8,7 +8,7 @@
.\" Modified 2001-06-04 by aeb
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH NICE 2 2022-10-09 "Linux man-pages 6.01"
+.TH nice 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nice \- change process priority
.SH LIBRARY
diff --git a/man2/open.2 b/man2/open.2
index bba520c96..80c281fdc 100644
--- a/man2/open.2
+++ b/man2/open.2
@@ -28,7 +28,7 @@
.\" FIXME . Apr 08: The next POSIX revision has O_EXEC, O_SEARCH, and
.\" O_TTYINIT. Eventually these may need to be documented. --mtk
.\"
-.TH OPEN 2 2022-10-12 "Linux man-pages 6.01"
+.TH OPEN 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
open, openat, creat \- open and possibly create a file
.SH LIBRARY
@@ -261,8 +261,8 @@ and
.I sysvgroups
mount options described in
.BR mount (8).
-.\" As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
-.\" XFS (since 2.6.14).
+.\" As at Linux 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
+.\" XFS (since Linux 2.6.14).
.IP
The
.I mode
@@ -390,7 +390,7 @@ If \fIpathname\fP is not a directory, cause the open to fail.
.\" http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2
.\" [PATCH] open: O_DIRECTORY and O_CREAT together should fail
.\" O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
-This flag was added in kernel version 2.1.126, to
+This flag was added in Linux 2.1.126, to
avoid denial-of-service problems if
.BR opendir (3)
is called on a
@@ -502,11 +502,11 @@ when the file is
.IP
This flag can be employed only if one of the following conditions is true:
.RS
-.IP * 3
+.IP \(bu 3
The effective UID of the process
.\" Strictly speaking: the filesystem UID
matches the owner UID of the file.
-.IP *
+.IP \(bu
The calling process has the
.B CAP_FOWNER
capability in its user namespace and
@@ -541,14 +541,14 @@ error that can occur in this case is indistinguishable from the case where
an open fails because there are too many symbolic links found
while resolving components in the prefix part of the pathname.)
.IP
-This flag is a FreeBSD extension, which was added to Linux in version 2.1.126,
+This flag is a FreeBSD extension, which was added in Linux 2.1.126,
and has subsequently been standardized in POSIX.1-2008.
.IP
See also
.B O_PATH
below.
.\" The headers from glibc 2.0.100 and later include a
-.\" definition of this flag; \fIkernels before 2.1.126 will ignore it if
+.\" definition of this flag; \fIkernels before Linux 2.1.126 will ignore it if
.\" used\fP.
.TP
.BR O_NONBLOCK " or " O_NDELAY
@@ -617,40 +617,40 @@ The following operations
.I can
be performed on the resulting file descriptor:
.RS
-.IP * 3
+.IP \(bu 3
.BR close (2).
-.IP *
+.IP \(bu
.BR fchdir (2),
if the file descriptor refers to a directory
(since Linux 3.5).
.\" commit 332a2e1244bd08b9e3ecd378028513396a004a24
-.IP *
+.IP \(bu
.BR fstat (2)
(since Linux 3.6).
-.IP *
+.IP \(bu
.\" fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
.BR fstatfs (2)
(since Linux 3.12).
.\" fstatfs(): commit 9d05746e7b16d8565dddbe3200faa1e669d23bbf
-.IP *
+.IP \(bu
Duplicating the file descriptor
.RB ( dup (2),
.BR fcntl (2)
.BR F_DUPFD ,
etc.).
-.IP *
+.IP \(bu
Getting and setting file descriptor flags
.RB ( fcntl (2)
.B F_GETFD
and
.BR F_SETFD ).
-.IP *
+.IP \(bu
Retrieving open file status flags using the
.BR fcntl (2)
.B F_GETFL
operation: the returned flags will include the bit
.BR O_PATH .
-.IP *
+.IP \(bu
Passing the file descriptor as the
.I dirfd
argument of
@@ -663,7 +663,7 @@ with
(or via procfs using
.BR AT_SYMLINK_FOLLOW )
even if the file is not a directory.
-.IP *
+.IP \(bu
Passing the file descriptor to another process via a UNIX domain socket
(see
.B SCM_RIGHTS
@@ -843,7 +843,7 @@ There are two main use cases for
.\" Inspired by http://lwn.net/Articles/559147/
.BR O_TMPFILE :
.RS
-.IP * 3
+.IP \(bu 3
Improved
.BR tmpfile (3)
functionality: race-free creation of temporary files that
@@ -851,7 +851,7 @@ functionality: race-free creation of temporary files that
(2) can never be reached via any pathname;
(3) are not subject to symlink attacks; and
(4) do not require the caller to devise unique names.
-.IP *
+.IP \(bu
Creating a file that is initially invisible, which is then populated
with data and adjusted to have appropriate filesystem attributes
.RB ( fchown (2),
@@ -914,13 +914,13 @@ The
argument is used in conjunction with the
.I pathname
argument as follows:
-.IP * 3
+.IP \(bu 3
If the pathname given in
.I pathname
is absolute, then
.I dirfd
is ignored.
-.IP *
+.IP \(bu
If the pathname given in
.I pathname
is relative and
@@ -932,7 +932,7 @@ then
is interpreted relative to the current working
directory of the calling process (like
.BR open ()).
-.IP *
+.IP \(bu
If the pathname given in
.I pathname
is relative, then it is interpreted relative to the directory
@@ -1239,7 +1239,7 @@ see also
.B O_LARGEFILE
above.
This is the error specified by POSIX.1;
-in kernels before 2.6.24, Linux gave the error
+before Linux 2.6.24, Linux gave the error
.B EFBIG
for this case.
.\" See http://bugzilla.kernel.org/show_bug.cgi?id=7253
@@ -1286,8 +1286,8 @@ flag was specified, and an incompatible lease was held on the file
.BR fcntl (2)).
.SH VERSIONS
.BR openat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR open (),
.BR creat ()
@@ -1539,7 +1539,7 @@ new headers get at least
semantics on pre-2.6.33 kernels.
.\"
.SS C library/kernel differences
-Since version 2.26,
+Since glibc 2.26,
the glibc wrapper function for
.BR open ()
employs the
@@ -1547,7 +1547,7 @@ employs the
system call, rather than the kernel's
.BR open ()
system call.
-For certain architectures, this is also true in glibc versions before 2.26.
+For certain architectures, this is also true before glibc 2.26.
.\"
.SS NFS
There are many infelicities in the protocol underlying NFS, affecting
@@ -1678,10 +1678,10 @@ and
The use of the
.I dirfd
file descriptor also has other benefits:
-.IP * 3
+.IP \(bu 3
the file descriptor is a stable reference to the directory,
even if the directory is renamed; and
-.IP *
+.IP \(bu
the open file descriptor prevents the underlying filesystem from
being dismounted,
just as when a process has a current working directory on a filesystem.
@@ -1832,7 +1832,7 @@ FreeBSD 4.x introduced
a flag of the same name, but without alignment restrictions.
.PP
.B O_DIRECT
-support was added under Linux in kernel version 2.4.10.
+support was added in Linux 2.4.10.
Older Linux kernels simply ignore this flag.
Some filesystems may not implement the flag, in which case
.BR open ()
diff --git a/man2/open_by_handle_at.2 b/man2/open_by_handle_at.2
index d0b3da487..396f9b7a1 100644
--- a/man2/open_by_handle_at.2
+++ b/man2/open_by_handle_at.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH OPEN_BY_HANDLE_AT 2 2022-10-09 "Linux man-pages 6.01"
+.TH open_by_handle_at 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
name_to_handle_at, open_by_handle_at \- obtain handle
for a pathname and open file via a handle
@@ -126,7 +126,7 @@ and
.I dirfd
arguments identify the file for which a handle is to be obtained.
There are four distinct cases:
-.IP * 3
+.IP \(bu 3
If
.I pathname
is a nonempty string containing an absolute pathname,
@@ -134,7 +134,7 @@ then a handle is returned for the file referred to by that pathname.
In this case,
.I dirfd
is ignored.
-.IP *
+.IP \(bu
If
.I pathname
is a nonempty string containing a relative pathname and
@@ -145,7 +145,7 @@ then
.I pathname
is interpreted relative to the current working directory of the caller,
and a handle is returned for the file to which it refers.
-.IP *
+.IP \(bu
If
.I pathname
is a nonempty string containing a relative pathname and
@@ -158,7 +158,7 @@ and a handle is returned for the file to which it refers.
(See
.BR openat (2)
for an explanation of why "directory file descriptors" are useful.)
-.IP *
+.IP \(bu
If
.I pathname
is an empty string and
@@ -367,7 +367,7 @@ is not valid.
This error will occur if, for example, the file has been deleted.
.SH VERSIONS
These system calls first appeared in Linux 2.6.39.
-Library support is provided in glibc since version 2.14.
+Library support is provided since glibc 2.14.
.SH STANDARDS
These system calls are nonstandard Linux extensions.
.PP
diff --git a/man2/openat2.2 b/man2/openat2.2
index 33bb688b4..0b0fc2719 100644
--- a/man2/openat2.2
+++ b/man2/openat2.2
@@ -1,7 +1,7 @@
.\" Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH OPENAT2 2 2022-10-09 "Linux man-pages 6.01"
+.TH openat2 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
openat2 \- open and possibly create a file (extended)
.SH LIBRARY
@@ -251,7 +251,7 @@ for more details.)
Unknowingly opening magic links can be risky for some applications.
Examples of such risks include the following:
.RS
-.IP \(bu 2
+.IP \(bu 3
If the process opening a pathname is a controlling process that
currently has no controlling terminal (see
.BR credentials (7)),
@@ -503,7 +503,7 @@ be the size of the structure as specified by the user-space application, and
.I ksize
be the size of the structure which the kernel supports, then there are
three cases to consider:
-.IP \(bu 2
+.IP \(bu 3
If
.I ksize
equals
diff --git a/man2/outb.2 b/man2/outb.2
index c6d996c3f..f9bfabbdf 100644
--- a/man2/outb.2
+++ b/man2/outb.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH OUTB 2 2022-10-09 "Linux man-pages 6.01"
+.TH outb 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
outb, outw, outl, outsb, outsw, outsl,
inb, inw, inl, insb, insw, insl,
@@ -30,17 +30,17 @@ Standard C library
.BI "void outl(unsigned int " value ", unsigned short " port );
.BI "void outl_p(unsigned int " value ", unsigned short " port );
.PP
-.BI "void insb(unsigned short " port ", void *" addr ,
+.BI "void insb(unsigned short " port ", void " addr [. count ],
.BI " unsigned long " count );
-.BI "void insw(unsigned short " port ", void *" addr ,
+.BI "void insw(unsigned short " port ", void " addr [. count ],
.BI " unsigned long " count );
-.BI "void insl(unsigned short " port ", void *" addr ,
+.BI "void insl(unsigned short " port ", void " addr [. count ],
.BI " unsigned long " count );
-.BI "void outsb(unsigned short " port ", const void *" addr ,
+.BI "void outsb(unsigned short " port ", const void " addr [. count ],
.BI " unsigned long " count );
-.BI "void outsw(unsigned short " port ", const void *" addr ,
+.BI "void outsw(unsigned short " port ", const void " addr [. count ],
.BI " unsigned long " count );
-.BI "void outsl(unsigned short " port ", const void *" addr ,
+.BI "void outsl(unsigned short " port ", const void " addr [. count ],
.BI " unsigned long " count );
.fi
.SH DESCRIPTION
diff --git a/man2/pause.2 b/man2/pause.2
index ae99e006b..d712c456b 100644
--- a/man2/pause.2
+++ b/man2/pause.2
@@ -7,7 +7,7 @@
.\" Modified 1995 by Mike Battersby (mib@deakin.edu.au)
.\" Modified 2000 by aeb, following Michael Kerrisk
.\"
-.TH PAUSE 2 2022-10-09 "Linux man-pages 6.01"
+.TH pause 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pause \- wait for signal
.SH LIBRARY
diff --git a/man2/pciconfig_read.2 b/man2/pciconfig_read.2
index e1b7d8d4e..2e9f55657 100644
--- a/man2/pciconfig_read.2
+++ b/man2/pciconfig_read.2
@@ -5,7 +5,7 @@
.\" May be freely distributed and modified.
.\" %%%LICENSE_END
.\"
-.TH PCICONFIG_READ 2 2022-10-09 "Linux man-pages 6.01"
+.TH pciconfig_read 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pciconfig_read, pciconfig_write, pciconfig_iobase \-
pci device information handling
diff --git a/man2/perf_event_open.2 b/man2/perf_event_open.2
index d68e28c66..c20f111c1 100644
--- a/man2/perf_event_open.2
+++ b/man2/perf_event_open.2
@@ -5,7 +5,7 @@
.\" This document is based on the perf_event.h header file, the
.\" tools/perf/design.txt file, and a lot of bitter experience.
.\"
-.TH PERF_EVENT_OPEN 2 2022-10-09 "Linux man-pages 6.01"
+.TH perf_event_open 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
perf_event_open \- set up performance monitoring
.SH LIBRARY
@@ -374,7 +374,7 @@ is set to 64; this was the size of the first published struct.
is 72, corresponding to the addition of breakpoints in Linux 2.6.33.
.\" commit cb5d76999029ae7a517cb07dfa732c1b5a934fc2
.\" this was added much later when PERF_ATTR_SIZE_VER2 happened
-.\" but the actual attr_size had increased in 2.6.33
+.\" but the actual attr_size had increased in Linux 2.6.33
.B PERF_ATTR_SIZE_VER2
is 80 corresponding to the addition of branch sampling in Linux 3.4.
.\" commit cb5d76999029ae7a517cb07dfa732c1b5a934fc2
@@ -1070,16 +1070,20 @@ with how small this can be.
.IP
The possible values of this field are the following:
.RS
-.IP 0 3
+.TP
+.B 0
.B SAMPLE_IP
can have arbitrary skid.
-.IP 1
+.TP
+.B 1
.B SAMPLE_IP
must have constant skid.
-.IP 2
+.TP
+.B 2
.B SAMPLE_IP
requested to have 0 skid.
-.IP 3
+.TP
+.B 3
.B SAMPLE_IP
must have 0 skid.
See also the description of
@@ -1165,8 +1169,8 @@ Do not include user callchains.
.\" commit 13d7a2410fa637f450a29ecb515ac318ee40c741
.\" This is tricky; was committed during 3.12 development
.\" but right before release was disabled.
-.\" So while you could select mmap2 starting with 3.12
-.\" it did not work until 3.16
+.\" So while you could select mmap2 starting with Linux 3.12
+.\" it did not work until Linux 3.16
.\" commit a5a5ba72843dd05f991184d6cb9a4471acce1005
Generate an extended executable mmap record that contains enough
additional information to uniquely identify shared mappings.
@@ -1484,7 +1488,7 @@ data, the error
results.
.PP
Here is the layout of the data returned by a read:
-.IP * 2
+.IP \(bu 3
If
.B PERF_FORMAT_GROUP
was specified to allow reading all events in a group at once:
@@ -1502,7 +1506,7 @@ struct read_format {
};
.EE
.in
-.IP *
+.IP \(bu
If
.B PERF_FORMAT_GROUP
was
@@ -1564,7 +1568,7 @@ metadata page
that contains various
bits of information such as where the ring-buffer head is.
.PP
-Before kernel 2.6.39, there is a bug that means you must allocate an mmap
+Before Linux 2.6.39, there is a bug that means you must allocate an mmap
ring buffer when sampling even if you do not plan to access it.
.PP
The structure of the first metadata mmap page is as follows:
@@ -3333,14 +3337,18 @@ file can be set to restrict access to the performance counters.
.IP
.PD 0
.RS
-.IP 2 4
+.TP
+.B 2
allow only user-space measurements (default since Linux 4.6).
.\" default changed in commit 0161028b7c8aebef64194d3d73e43bc3b53b5c66
-.IP 1
+.TP
+.B 1
allow both kernel and user measurements (default before Linux 4.6).
-.IP 0
+.TP
+.B 0
allow access to CPU-specific data but not raw tracepoint samples.
-.IP \-1
+.TP
+.B \-1
no restrictions.
.RE
.PD
diff --git a/man2/perfmonctl.2 b/man2/perfmonctl.2
index 0d1d61723..f51805529 100644
--- a/man2/perfmonctl.2
+++ b/man2/perfmonctl.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PERFMONCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH perfmonctl 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
perfmonctl \- interface to IA-64 performance monitoring unit
.SH SYNOPSIS
@@ -12,7 +12,7 @@ perfmonctl \- interface to IA-64 performance monitoring unit
.B #include <syscall.h>
.B #include <perfmon.h>
.PP
-.BI "long perfmonctl(int " fd ", int " cmd ", void *" arg ", int " narg ");"
+.BI "long perfmonctl(int " fd ", int " cmd ", void " arg [. narg "], int " narg ");"
.fi
.PP
.IR Note :
diff --git a/man2/personality.2 b/man2/personality.2
index 6412a84a5..915706da8 100644
--- a/man2/personality.2
+++ b/man2/personality.2
@@ -10,7 +10,7 @@
.\" changed prototype, documented 0xffffffff, aeb, 030101
.\" Modified 2004-11-03 patch from Martin Schulze <joey@infodrom.org>
.\"
-.TH PERSONALITY 2 2022-10-09 "Linux man-pages 6.01"
+.TH personality 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
personality \- set the process execution domain
.SH LIBRARY
@@ -101,7 +101,8 @@ Have
.BR uname (2)
report a 2.6.40+ version number rather than a 3.x version number.
Added as a stopgap measure to support broken applications that
-could not handle the kernel version-numbering switch from 2.6.x to 3.x.
+could not handle the
+kernel version-numbering switch from Linux 2.6.x to Linux 3.x.
.TP
.BR WHOLE_SECONDS " (since Linux 1.2.0)"
No effect.
@@ -247,7 +248,7 @@ This system call first appeared in Linux 1.1.20
(and thus first in a stable kernel release with Linux 1.2.0);
library support was added in glibc 2.3.
.\" personality wrapper first appeared in glibc 1.90,
-.\" <sys/personality.h> was added later in 2.2.91.
+.\" <sys/personality.h> was added later in glibc 2.2.91.
.SH STANDARDS
.BR personality ()
is Linux-specific and should not be used in programs intended to
diff --git a/man2/pidfd_getfd.2 b/man2/pidfd_getfd.2
index 32f84d170..7189fb0df 100644
--- a/man2/pidfd_getfd.2
+++ b/man2/pidfd_getfd.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PIDFD_GETFD 2 2022-10-09 "Linux man-pages 6.01"
+.TH pidfd_getfd 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pidfd_getfd \- obtain a duplicate of another process's file descriptor
.SH LIBRARY
@@ -121,7 +121,7 @@ is similar to the use of
messages described in
.BR unix (7),
but differs in the following respects:
-.IP \(bu 2
+.IP \(bu 3
In order to pass a file descriptor using an
.B SCM_RIGHTS
message,
diff --git a/man2/pidfd_open.2 b/man2/pidfd_open.2
index 247afa13b..ea71b8be6 100644
--- a/man2/pidfd_open.2
+++ b/man2/pidfd_open.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PIDFD_OPEN 2 2022-10-09 "Linux man-pages 6.01"
+.TH pidfd_open 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pidfd_open \- obtain a file descriptor that refers to a process
.SH LIBRARY
@@ -107,7 +107,7 @@ call, its PID will not have been recycled and the returned
file descriptor will refer to the resulting zombie process.
Note, however, that this is guaranteed only if the following
conditions hold true:
-.IP \(bu 2
+.IP \(bu 3
the disposition of
.B SIGCHLD
has not been explicitly set to
@@ -146,7 +146,7 @@ A PID file descriptor returned by
with the
.B CLONE_PID
flag) can be used for the following purposes:
-.IP \(bu 2
+.IP \(bu 3
The
.BR pidfd_send_signal (2)
system call can be used to send a signal to the process referred to by
diff --git a/man2/pidfd_send_signal.2 b/man2/pidfd_send_signal.2
index 690cc4076..f2ec7fb0d 100644
--- a/man2/pidfd_send_signal.2
+++ b/man2/pidfd_send_signal.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PIDFD_SEND_SIGNAL 2 2022-10-09 "Linux man-pages 6.01"
+.TH pidfd_send_signal 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
pidfd_send_signal \- send a signal to a process specified by a file descriptor
.SH LIBRARY
@@ -15,9 +15,8 @@ Standard C library
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
-.BI "int syscall(SYS_pidfd_send_signal, int " pidfd ", int " sig \
-", siginfo_t *" info ,
-.BI " unsigned int " flags );
+.BI "int syscall(SYS_pidfd_send_signal, int " pidfd ", int " sig ,
+.BI " siginfo_t *_Nullable " info ", unsigned int " flags );
.fi
.PP
.IR Note :
@@ -53,20 +52,20 @@ implicitly supplied when a signal is sent using
.BR kill (2):
.PP
.PD 0
-.IP * 3
+.IP \(bu 3
.I si_signo
is set to the signal number;
-.IP *
+.IP \(bu
.I si_errno
is set to 0;
-.IP *
+.IP \(bu
.I si_code
is set to
.BR SI_USER ;
-.IP *
+.IP \(bu
.I si_pid
is set to the caller's PID; and
-.IP *
+.IP \(bu
.I si_uid
is set to the caller's real user ID.
.PD
@@ -132,15 +131,15 @@ The
argument is a PID file descriptor,
a file descriptor that refers to process.
Such a file descriptor can be obtained in any of the following ways:
-.IP * 3
+.IP \(bu 3
by opening a
.IR /proc/ pid
directory;
-.IP *
+.IP \(bu
using
.BR pidfd_open (2);
or
-.IP *
+.IP \(bu
via the PID file descriptor that is returned by a call to
.BR clone (2)
or
diff --git a/man2/pipe.2 b/man2/pipe.2
index 814113058..9b0a785e4 100644
--- a/man2/pipe.2
+++ b/man2/pipe.2
@@ -13,7 +13,7 @@
.\" to EXAMPLE text.
.\" 2008-10-10, mtk: add description of pipe2()
.\"
-.TH PIPE 2 2022-10-09 "Linux man-pages 6.01"
+.TH PIPE 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pipe, pipe2 \- create pipe
.SH LIBRARY
@@ -85,7 +85,7 @@ to the pipe is dealt with as a separate packet, and
from the pipe will read one packet at a time.
Note the following points:
.RS
-.IP * 3
+.IP \(bu 3
Writes of greater than
.B PIPE_BUF
bytes (see
@@ -95,7 +95,7 @@ The constant
.B PIPE_BUF
is defined in
.IR <limits.h> .
-.IP *
+.IP \(bu
If a
.BR read (2)
specifies a buffer size that is smaller than the next packet,
@@ -105,7 +105,7 @@ Specifying a buffer size of
.B PIPE_BUF
will be sufficient to read the largest possible packets
(see the previous point).
-.IP *
+.IP \(bu
Zero-length packets are not supported.
(A
.BR read (2)
@@ -194,9 +194,8 @@ and support for notifications
is not compiled into the kernel.
.SH VERSIONS
.BR pipe2 ()
-was added to Linux in version 2.6.27;
-glibc support is available starting with
-version 2.9.
+was added in Linux 2.6.27;
+glibc support is available starting with glibc 2.9.
.SH STANDARDS
.BR pipe ():
POSIX.1-2001, POSIX.1-2008.
diff --git a/man2/pivot_root.2 b/man2/pivot_root.2
index 47257b15f..938b62d8d 100644
--- a/man2/pivot_root.2
+++ b/man2/pivot_root.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PIVOT_ROOT 2 2022-10-09 "Linux man-pages 6.01"
+.TH pivot_root 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pivot_root \- change the root mount
.SH LIBRARY
@@ -47,29 +47,29 @@ and thus it should be followed by a
\fBchdir("/")\fP call.
.PP
The following restrictions apply:
-.IP \- 3
+.IP \(bu 3
.I new_root
and
.I put_old
must be directories.
-.IP \-
+.IP \(bu
.I new_root
and
.I put_old
must not be on the same mount as the current root.
-.IP \-
+.IP \(bu
\fIput_old\fP must be at or underneath \fInew_root\fP;
that is, adding some nonnegative
number of "\fI/..\fP" suffixes to the pathname pointed to by
.I put_old
must yield the same directory as \fInew_root\fP.
-.IP \-
+.IP \(bu
.I new_root
must be a path to a mount point, but can't be
.IR """/""" .
A path that is not already a mount point can be converted into one by
bind mounting the path onto itself.
-.IP \-
+.IP \(bu
The propagation type of the parent mount of
.I new_root
and the parent mount of the current root directory must not be
@@ -81,7 +81,7 @@ is an existing mount point, its propagation type must not be
These restrictions ensure that
.BR pivot_root ()
never propagates any changes to another mount namespace.
-.IP \-
+.IP \(bu
The current root directory must be a mount point.
.SH RETURN VALUE
On success, zero is returned.
diff --git a/man2/pkey_alloc.2 b/man2/pkey_alloc.2
index a7fb4394d..3e0e1fe6a 100644
--- a/man2/pkey_alloc.2
+++ b/man2/pkey_alloc.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PKEY_ALLOC 2 2022-10-09 "Linux man-pages 6.01"
+.TH pkey_alloc 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pkey_alloc, pkey_free \- allocate or free a protection key
.SH LIBRARY
@@ -87,7 +87,7 @@ of available pkeys.
.BR pkey_alloc ()
and
.BR pkey_free ()
-were added to Linux in kernel 4.9;
+were added in Linux 4.9;
library support was added in glibc 2.27.
.SH STANDARDS
The
diff --git a/man2/poll.2 b/man2/poll.2
index afc1d1b69..984a2e37e 100644
--- a/man2/poll.2
+++ b/man2/poll.2
@@ -7,7 +7,7 @@
.\" 2006-07-01, mtk, Added POLLRDHUP + various other wording and
.\" formatting changes.
.\"
-.TH POLL 2 2022-10-09 "Linux man-pages 6.01"
+.TH poll 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
poll, ppoll \- wait for some event on a file descriptor
.SH LIBRARY
@@ -23,7 +23,8 @@ Standard C library
.B #include <poll.h>
.PP
.BI "int ppoll(struct pollfd *" fds ", nfds_t " nfds ,
-.BI " const struct timespec *" tmo_p ", const sigset_t *" sigmask );
+.BI " const struct timespec *_Nullable " tmo_p ,
+.BI " const sigset_t *_Nullable " sigmask );
.fi
.SH DESCRIPTION
.BR poll ()
@@ -115,7 +116,7 @@ argument specifies the number of milliseconds that
.BR poll ()
should block waiting for a file descriptor to become ready.
The call will block until either:
-.IP \(bu 2
+.IP \(bu 3
a file descriptor becomes ready;
.IP \(bu
the call is interrupted by a signal handler; or
@@ -149,7 +150,7 @@ There is data to read.
There is some exceptional condition on the file descriptor.
Possibilities include:
.RS
-.IP \(bu 2
+.IP \(bu 3
There is out-of-band data on a TCP socket (see
.BR tcp (7)).
.IP \(bu
@@ -368,7 +369,7 @@ wrapper function provides emulation using
.PP
The
.BR ppoll ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
The
.BR ppoll ()
library call was added in glibc 2.4.
@@ -460,7 +461,7 @@ The program loops, repeatedly using
to monitor the file descriptors,
printing the number of ready file descriptors on return.
For each ready file descriptor, the program:
-.IP \(bu 2
+.IP \(bu 3
displays the returned
.I revents
field in a human-readable form;
@@ -516,7 +517,7 @@ All file descriptors closed; bye
In the above output, we see that
.BR poll ()
returned three times:
-.IP \(bu 2
+.IP \(bu 3
On the first return, the bits returned in the
.I revents
field were
diff --git a/man2/posix_fadvise.2 b/man2/posix_fadvise.2
index acde45de2..e3cbff21a 100644
--- a/man2/posix_fadvise.2
+++ b/man2/posix_fadvise.2
@@ -6,7 +6,7 @@
.\" 2005-04-08 mtk, noted kernel version and added BUGS
.\" 2010-10-09, mtk, document arm_fadvise64_64()
.\"
-.TH POSIX_FADVISE 2 2022-10-09 "Linux man-pages 6.01"
+.TH posix_fadvise 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
posix_fadvise \- predeclare an access pattern for file data
.SH LIBRARY
@@ -62,9 +62,9 @@ The specified data will be accessed in random order.
.B POSIX_FADV_NOREUSE
The specified data will be accessed only once.
.IP
-In kernels before 2.6.18, \fBPOSIX_FADV_NOREUSE\fP had the
+Before Linux 2.6.18, \fBPOSIX_FADV_NOREUSE\fP had the
same semantics as \fBPOSIX_FADV_WILLNEED\fP.
-This was probably a bug; since kernel 2.6.18, this flag is a no-op.
+This was probably a bug; since Linux 2.6.18, this flag is a no-op.
.TP
.B POSIX_FADV_WILLNEED
The specified data will be accessed in the near future.
@@ -121,7 +121,7 @@ An invalid value was specified for \fIadvice\fP.
The specified file descriptor refers to a pipe or FIFO.
.RB ( ESPIPE
is the error specified by POSIX,
-but before kernel version 2.6.16,
+but before Linux 2.6.16,
.\" commit 87ba81dba431232548ce29d5d224115d0c2355ac
Linux returned
.B EINVAL
@@ -131,7 +131,7 @@ Kernel support first appeared in Linux 2.5.60;
the underlying system call is called
.BR fadvise64 ().
.\" of fadvise64_64()
-Library support has been provided since glibc version 2.2,
+Library support has been provided since glibc 2.2,
via the wrapper function
.BR posix_fadvise ().
.PP
@@ -211,7 +211,7 @@ hidden from applications by the glibc
wrapper function,
which invokes the appropriate architecture-specific system call.
.SH BUGS
-In kernels before 2.6.6, if
+Before Linux 2.6.6, if
.I len
was specified as 0, then this was interpreted literally as "zero bytes",
rather than as meaning "all bytes through to the end of the file".
diff --git a/man2/prctl.2 b/man2/prctl.2
index 0a3cb40ee..7b48deeda 100644
--- a/man2/prctl.2
+++ b/man2/prctl.2
@@ -36,7 +36,7 @@
.\" 2014-11-10 Dave Hansen, document PR_MPX_{EN,DIS}ABLE_MANAGEMENT
.\"
.\"
-.TH PRCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH PRCTL 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
prctl \- operations on a process or thread
.SH LIBRARY
@@ -229,14 +229,14 @@ Set the state of the "dumpable" attribute,
which determines whether core dumps are produced for the calling process
upon delivery of a signal whose default behavior is to produce a core dump.
.IP
-In kernels up to and including 2.6.12,
+Up to and including Linux 2.6.12,
.I arg2
must be either 0
.RB ( SUID_DUMP_DISABLE ,
process is not dumpable) or 1
.RB ( SUID_DUMP_USER ,
process is dumpable).
-Between kernels 2.6.13 and 2.6.17,
+Between Linux 2.6.13 and Linux 2.6.17,
.\" commit abf75a5033d4da7b8a7e92321d74021d1fcfb502
the value 2 was also permitted,
which caused any binary which normally would not be dumped
@@ -258,17 +258,17 @@ However, it is reset to the current value contained in the file
in the following circumstances:
.\" See kernel/cred.c::commit_creds() (Linux 3.18 sources)
.RS
-.IP * 3
+.IP \(bu 3
The process's effective user or group ID is changed.
-.IP *
+.IP \(bu
The process's filesystem user or group ID is changed (see
.BR credentials (7)).
-.IP *
+.IP \(bu
The process executes
.RB ( execve (2))
a set-user-ID or set-group-ID program, resulting in a change
of either the effective user ID or the effective group ID.
-.IP *
+.IP \(bu
The process executes
.RB ( execve (2))
a program that has file capabilities (see
@@ -297,8 +297,8 @@ directory is affected as described in
Return (as the function result) the current state of the calling
process's dumpable attribute.
.\" Since Linux 2.6.13, the dumpable flag can have the value 2,
-.\" but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
-.\" flags has a nonzero value. This was fixed in 2.6.14.
+.\" but in Linux 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
+.\" flags has a nonzero value. This was fixed in Linux 2.6.14.
.\" prctl PR_SET_ENDIAN
.TP
.BR PR_SET_ENDIAN " (since Linux 2.6.18, PowerPC only)"
@@ -1561,23 +1561,23 @@ structure (see
.BR sigaction (2))
associated with the signal:
.RS
-.IP * 3
+.IP \(bu 3
.I si_signo
will contain
.BR SIGSYS .
-.IP *
+.IP \(bu
.I si_call_addr
will show the address of the system call instruction.
-.IP *
+.IP \(bu
.I si_syscall
and
.I si_arch
will indicate which system call was attempted.
-.IP *
+.IP \(bu
.I si_code
will contain
.BR SYS_USER_DISPATCH .
-.IP *
+.IP \(bu
.I si_errno
will be set to 0.
.RE
@@ -1672,7 +1672,7 @@ Irrespective of which mode is set,
addresses passed to certain interfaces
must always be untagged:
.RS
-.IP \(bu 2
+.IP \(bu 3
.BR brk (2),
.BR mmap (2),
.BR shmat (2),
@@ -1930,7 +1930,7 @@ to \fIarg2\fP.
is not currently implemented
(attempting to set this mode will yield the error
.BR EINVAL ).
-.\" PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
+.\" PR_TIMING_TIMESTAMP doesn't do anything in Linux 2.6.26-rc8,
.\" and looking at the patch history, it appears
.\" that it never did anything.
.\" prctl PR_GET_TIMING
@@ -2142,17 +2142,17 @@ is
.BR PR_SET_MM ,
and one of the following is true
.RS
-.IP * 3
+.IP \(bu 3
.I arg4
or
.I arg5
is nonzero;
-.IP *
+.IP \(bu
.I arg3
is greater than
.B TASK_SIZE
(the limit on the size of the user address space for this architecture);
-.IP *
+.IP \(bu
.I arg2
is
.BR PR_SET_MM_START_CODE ,
@@ -2162,7 +2162,7 @@ is
or
.BR PR_SET_MM_START_STACK ,
and the permissions of the corresponding memory area are not as required;
-.IP *
+.IP \(bu
.I arg2
is
.B PR_SET_MM_START_BRK
@@ -2328,18 +2328,18 @@ is
.B PR_SET_SYSCALL_USER_DISPATCH
and one of the following is true:
.RS
-.IP * 3
+.IP \(bu 3
.I arg2
is
.B PR_SYS_DISPATCH_OFF
and the remaining arguments are not 0;
-.IP * 3
+.IP \(bu
.I arg2
is
.B PR_SYS_DISPATCH_ON
and the memory range specified is outside the
address space of the process.
-.IP * 3
+.IP \(bu
.I arg2
is invalid.
.RE
diff --git a/man2/pread.2 b/man2/pread.2
index 11dcb4974..43bfecab5 100644
--- a/man2/pread.2
+++ b/man2/pread.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PREAD 2 2022-10-09 "Linux man-pages 6.01"
+.TH pread 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pread, pwrite \- read from or write to a file descriptor at a given offset
.SH LIBRARY
@@ -12,10 +12,10 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "ssize_t pread(int " fd ", void *" buf ", size_t " count \
-", off_t " offset );
-.BI "ssize_t pwrite(int " fd ", const void *" buf ", size_t " count \
-", off_t " offset );
+.BI "ssize_t pread(int " fd ", void " buf [. count "], size_t " count ,
+.BI " off_t " offset );
+.BI "ssize_t pwrite(int " fd ", const void " buf [. count "], size_t " count ,
+.BI " off_t " offset );
.fi
.PP
.RS -4
@@ -93,9 +93,8 @@ The
.BR pread ()
and
.BR pwrite ()
-system calls were added to Linux in
-version 2.1.60; the entries in the i386 system call table were added
-in 2.1.69.
+system calls were added in Linux 2.1.60;
+the entries in the i386 system call table were added in Linux 2.1.69.
C library support (including emulation using
.BR lseek (2)
on older kernels without the system calls) was added in glibc 2.1.
@@ -112,7 +111,7 @@ without being affected by changes to the file offset by other threads.
.\"
.SS C library/kernel differences
On Linux, the underlying system calls were renamed
-in kernel 2.6:
+in Linux 2.6:
.BR pread ()
became
.BR pread64 (),
diff --git a/man2/process_madvise.2 b/man2/process_madvise.2
index 242a94e82..faacb85bd 100644
--- a/man2/process_madvise.2
+++ b/man2/process_madvise.2
@@ -5,7 +5,7 @@
.\"
.\" Commit ecb8ac8b1f146915aa6b96449b66dd48984caacc
.\"
-.TH PROCESS_MADVISE 2 2022-10-09 "Linux man-pages 6.01"
+.TH process_madvise 2 2022-11-01 "Linux man-pages 6.02"
.SH NAME
process_madvise \- give advice about use of memory to a process
.SH LIBRARY
@@ -73,6 +73,10 @@ argument is one of the following values:
See
.BR madvise (2).
.TP
+.B MADV_COLLAPSE
+See
+.BR madvise (2).
+.TP
.B MADV_PAGEOUT
See
.BR madvise (2).
@@ -105,16 +109,20 @@ remote process.
No further elements will be processed beyond that point.
(See the discussion regarding partial advice in RETURN VALUE.)
.PP
-Permission to apply advice to another process is governed by a
+.\" commit 96cfe2c0fd23ea7c2368d14f769d287e7ae1082e
+Starting in Linux 5.12,
+permission to apply advice to another process is governed by
ptrace access mode
-.B PTRACE_MODE_READ_REALCREDS
+.B PTRACE_MODE_READ_FSCREDS
check (see
.BR ptrace (2));
in addition,
because of the performance implications of applying the advice,
the caller must have the
-.B CAP_SYS_ADMIN
-capability.
+.B CAP_SYS_NICE
+capability
+(see
+.BR capabilities (7)).
.SH RETURN VALUE
On success,
.BR process_madvise ()
@@ -169,6 +177,12 @@ The caller does not have permission to access the address space of the process
.TP
.B ESRCH
The target process does not exist (i.e., it has terminated and been waited on).
+.PP
+See
+.BR madvise (2)
+for
+.IR advice -specific
+errors.
.SH VERSIONS
This system call first appeared in Linux 5.10.
.\" commit ecb8ac8b1f146915aa6b96449b66dd48984caacc
@@ -180,6 +194,15 @@ configuration option.
The
.BR process_madvise ()
system call is Linux-specific.
+.SH NOTES
+When this system call first appeared in Linux 5.10,
+permission to apply advice to another process was entirely governed by
+ptrace access mode
+.B PTRACE_MODE_ATTACH_FSCREDS
+check (see
+.BR ptrace (2)).
+This requirement was relaxed in Linux 5.12 so that the caller didn't require
+full control over the target process.
.SH SEE ALSO
.BR madvise (2),
.BR pidfd_open (2),
diff --git a/man2/process_vm_readv.2 b/man2/process_vm_readv.2
index d0ff24516..0e195d496 100644
--- a/man2/process_vm_readv.2
+++ b/man2/process_vm_readv.2
@@ -6,7 +6,7 @@
.\"
.\" Commit fcf634098c00dd9cd247447368495f0b79be12d1
.\"
-.TH PROCESS_VM_READV 2 2022-10-09 "Linux man-pages 6.01"
+.TH process_vm_readv 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
process_vm_readv, process_vm_writev \-
transfer data between process address spaces
@@ -251,7 +251,7 @@ No process with ID
exists.
.SH VERSIONS
These system calls were added in Linux 3.2.
-Support is provided in glibc since version 2.15.
+Support is provided since glibc 2.15.
.SH STANDARDS
These system calls are nonstandard Linux extensions.
.SH NOTES
diff --git a/man2/ptrace.2 b/man2/ptrace.2
index 1e7dd68a9..2b248d300 100644
--- a/man2/ptrace.2
+++ b/man2/ptrace.2
@@ -83,7 +83,7 @@
.\"
.\" and others that can be found in the arch/*/include/uapi/asm/ptrace files
.\"
-.TH PTRACE 2 2022-10-09 "Linux man-pages 6.01"
+.TH ptrace 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ptrace \- process trace
.SH LIBRARY
@@ -834,7 +834,7 @@ Attach to the process specified in
.IR pid ,
making it a tracee of the calling process.
.\" No longer true (removed by Denys Vlasenko, 2011, who remarks:
-.\" "I think it isn't true in non-ancient 2.4 and in 2.6/3.x.
+.\" "I think it isn't true in non-ancient 2.4 and in Linux 2.6/3.x.
.\" Basically, it's not true for any Linux in practical use.
.\" ; the behavior of the tracee is as if it had done a
.\" .BR PTRACE_TRACEME .
@@ -1852,7 +1852,7 @@ set to
or
.IR (SIGTRAP|0x80) .
.\"
-.SS PTRACE_EVENT_SECCOMP stops (Linux 3.5 to 4.7)
+.SS PTRACE_EVENT_SECCOMP stops (Linux 3.5 to Linux 4.7)
The behavior of
.B PTRACE_EVENT_SECCOMP
stops and their interaction with other kinds
@@ -2179,7 +2179,7 @@ the pending signal is injected.
When one thread in a multithreaded process calls
.BR execve (2),
the kernel destroys all other threads in the process,
-.\" In kernel 3.1 sources, see fs/exec.c::de_thread()
+.\" In Linux 3.1 sources, see fs/exec.c::de_thread()
and resets the thread ID of the execing thread to the
thread group ID (process ID).
(Or, to put things another way, when a multithreaded process does an
@@ -2189,7 +2189,7 @@ at completion of the call, it appears as though the
occurred in the thread group leader, regardless of which thread did the
.BR execve (2).)
This resetting of the thread ID looks very confusing to tracers:
-.IP * 3
+.IP \(bu 3
All other threads stop in
.B PTRACE_EVENT_EXIT
stop, if the
@@ -2199,7 +2199,7 @@ Then all other threads except the thread group leader report
death as if they exited via
.BR _exit (2)
with exit code 0.
-.IP *
+.IP \(bu
The execing tracee changes its thread ID while it is in the
.BR execve (2).
(Remember, under ptrace, the "pid" returned from
@@ -2207,13 +2207,13 @@ The execing tracee changes its thread ID while it is in the
or fed into ptrace calls, is the tracee's thread ID.)
That is, the tracee's thread ID is reset to be the same as its process ID,
which is the same as the thread group leader's thread ID.
-.IP *
+.IP \(bu
Then a
.B PTRACE_EVENT_EXEC
stop happens, if the
.B PTRACE_O_TRACEEXEC
option was turned on.
-.IP *
+.IP \(bu
If the thread group leader has reported its
.B PTRACE_EVENT_EXIT
stop by this time,
@@ -2353,7 +2353,7 @@ Many of these bugs have been fixed, but as of Linux 2.6.38 several still
exist; see BUGS below.
.PP
As of Linux 2.6.38, the following is believed to work correctly:
-.IP * 3
+.IP \(bu 3
exit/death by signal is reported first to the tracer, then,
when the tracer consumes the
.BR waitpid (2)
@@ -2417,7 +2417,7 @@ unprivileged processes cannot trace processes that they
cannot send signals to or those running
set-user-ID/set-group-ID programs, for obvious reasons.
Alternatively, the process may already be being traced,
-or (on kernels before 2.6.26) be
+or (before Linux 2.6.26) be
.BR init (1)
(PID 1).
.TP
@@ -2443,7 +2443,7 @@ setting unused/ignored arguments to
or
.IR "(void\ *)\ 0".
.PP
-In Linux kernels before 2.6.26,
+Before Linux 2.6.26,
.\" See commit 00cd5c37afd5f431ac186dd131705048c0a11fdb
.BR init (1),
the process with PID 1, may not be traced.
@@ -2600,10 +2600,10 @@ on the target process.
files, the "calling process" is the one opening the file,
and the process with the corresponding PID is the "target process".)
The algorithm is as follows:
-.IP 1. 3
+.IP (1) 5
If the calling thread and the target thread are in the same
thread group, access is always allowed.
-.IP 2.
+.IP (2)
If the access mode specifies
.BR PTRACE_MODE_FSCREDS ,
then, for the check in the next step,
@@ -2620,12 +2620,12 @@ so use the caller's real UID and GID for the checks in the next step.
For historical reasons, the
.B PTRACE_MODE_REALCREDS
check uses the real IDs instead.)
-.IP 3.
+.IP (3)
Deny access if
.I neither
of the following is true:
.RS
-.IP \(bu 2
+.IP \(bu 3
The real, effective, and saved-set user IDs of the target
match the caller's user ID,
.I and
@@ -2636,7 +2636,7 @@ The caller has the
.B CAP_SYS_PTRACE
capability in the user namespace of the target.
.RE
-.IP 4.
+.IP (4)
Deny access if the target process "dumpable" attribute has a value other than 1
.RB ( SUID_DUMP_USER ;
see the discussion of
@@ -2646,7 +2646,7 @@ in
and the caller does not have the
.B CAP_SYS_PTRACE
capability in the user namespace of the target process.
-.IP 5.
+.IP (5)
The kernel LSM
.IR security_ptrace_access_check ()
interface is invoked to see if ptrace access is permitted.
@@ -2655,7 +2655,7 @@ The implementation of this interface in the commoncap LSM performs
the following steps:
.\" (in cap_ptrace_access_check()):
.RS
-.IP a) 3
+.IP (5.1) 7
If the access mode includes
.BR PTRACE_MODE_FSCREDS ,
then use the caller's
@@ -2667,12 +2667,12 @@ otherwise (the access mode specifies
so) use the caller's
.I permitted
capability set.
-.IP b)
+.IP (5.2)
Deny access if
.I neither
of the following is true:
.RS
-.IP \(bu 2
+.IP \(bu 3
The caller and the target process are in the same user namespace,
and the caller's capabilities are a superset of the target process's
.I permitted
@@ -2688,7 +2688,7 @@ Note that the commoncap LSM does not distinguish between
and
.BR PTRACE_MODE_ATTACH .
.RE
-.IP 6.
+.IP (6)
If access has not been denied by any of the preceding steps,
then access is allowed.
.\"
@@ -2715,14 +2715,14 @@ to gain additional credentials that may exist in memory
and thus expand the scope of the attack.
.PP
More precisely, the Yama LSM limits two types of operations:
-.IP * 3
+.IP \(bu 3
Any operation that performs a ptrace access mode
.B PTRACE_MODE_ATTACH
check\(emfor example,
.BR ptrace ()
.BR PTRACE_ATTACH .
(See the "Ptrace access mode checking" discussion above.)
-.IP *
+.IP \(bu
.BR ptrace ()
.BR PTRACE_TRACEME .
.PP
@@ -2813,11 +2813,11 @@ parameter, and the return value is the error flag.
The glibc wrapper function provides the API given in DESCRIPTION above,
with the result being returned via the function return value.
.SH BUGS
-On hosts with 2.6 kernel headers,
+On hosts with Linux 2.6 kernel headers,
.B PTRACE_SETOPTIONS
-is declared with a different value than the one for 2.4.
-This leads to applications compiled with 2.6 kernel
-headers failing when run on 2.4 kernels.
+is declared with a different value than the one for Linux 2.4.
+This leads to applications compiled with Linux 2.6 kernel
+headers failing when run on Linux 2.4.
This can be worked around by redefining
.B PTRACE_SETOPTIONS
to
diff --git a/man2/query_module.2 b/man2/query_module.2
index 19fc8a988..21e61fbb1 100644
--- a/man2/query_module.2
+++ b/man2/query_module.2
@@ -5,20 +5,21 @@
.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
.\" reformatting and rewordings by mtk
.\"
-.TH QUERY_MODULE 2 2022-10-09 "Linux man-pages 6.01"
+.TH query_module 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
query_module \- query the kernel for various bits pertaining to modules
.SH SYNOPSIS
.nf
.B #include <linux/module.h>
.PP
-.BI "[[deprecated]] int query_module(const char *" name ", int " which \
-", void *" buf ,
-.BI " size_t " bufsize ", size_t *" ret );
+.BI "[[deprecated]] int query_module(const char *" name ", int " which ,
+.BI " void " buf [. bufsize "], \
+size_t " bufsize ,
+.BI " size_t *" ret );
.fi
.SH DESCRIPTION
.IR Note :
-This system call is present only in kernels before Linux 2.6.
+This system call is present only before Linux 2.6.
.PP
.BR query_module ()
requests information from the kernel about loadable modules.
@@ -160,9 +161,9 @@ is set to the minimum size needed.
.B ENOSYS
.BR query_module ()
is not supported in this version of the kernel
-(e.g., the kernel is version 2.6 or later).
+(e.g., Linux 2.6 or later).
.SH VERSIONS
-This system call is present on Linux only up until kernel 2.4;
+This system call is present only up until Linux 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH STANDARDS
diff --git a/man2/quotactl.2 b/man2/quotactl.2
index 171fb92d0..39cd74263 100644
--- a/man2/quotactl.2
+++ b/man2/quotactl.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH QUOTACTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH quotactl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
quotactl \- manipulate disk quotas
.SH LIBRARY
@@ -17,8 +17,8 @@ Standard C library
" constants"
.RB " (or " <linux/dqblk_xfs.h> "; see NOTES) */"
.PP
-.BI "int quotactl(int " cmd ", const char *" special ", int " id \
-", caddr_t " addr );
+.BI "int quotactl(int " cmd ", const char *_Nullable " special ", int " id ,
+.BI " caddr_t " addr );
.fi
.SH DESCRIPTION
The quota system can be used to set per-user, per-group, and per-project limits
@@ -272,7 +272,7 @@ as follows:
/* uint64_t is an unsigned 64\-bit integer;
uint32_t is an unsigned 32\-bit integer */
-struct dqinfo { /* Defined since kernel 2.4.22 */
+struct dqinfo { /* Defined since Linux 2.4.22 */
uint64_t dqi_bgrace; /* Time before block soft limit
becomes hard limit */
uint64_t dqi_igrace; /* Time before inode soft limit
diff --git a/man2/read.2 b/man2/read.2
index d0bb9b9ab..f05f21833 100644
--- a/man2/read.2
+++ b/man2/read.2
@@ -13,7 +13,7 @@
.\" Modified Sat Jul 12 20:45:39 1997 by Michael Haardt
.\" <michael@cantor.informatik.rwth-aachen.de>
.\"
-.TH READ 2 2022-10-09 "Linux man-pages 6.01"
+.TH read 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
read \- read from a file descriptor
.SH LIBRARY
@@ -23,7 +23,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "ssize_t read(int " fd ", void *" buf ", size_t " count );
+.BI "ssize_t read(int " fd ", void " buf [. count "], size_t " count );
.fi
.SH DESCRIPTION
.BR read ()
@@ -212,7 +212,7 @@ and
.BR readv (2).
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
-However, on Linux before version 3.14,
+However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
.BR open (2))
diff --git a/man2/readahead.2 b/man2/readahead.2
index 6d4148780..a13b6eb29 100644
--- a/man2/readahead.2
+++ b/man2/readahead.2
@@ -5,7 +5,7 @@
.\" 2004-05-40 Created by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2004-10-05 aeb, minor correction
.\"
-.TH READAHEAD 2 2022-10-09 "Linux man-pages 6.01"
+.TH readahead 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
readahead \- initiate file readahead into page cache
.SH LIBRARY
@@ -67,7 +67,7 @@ can be applied.
The
.BR readahead ()
system call appeared in Linux 2.4.13;
-glibc support has been provided since version 2.3.
+glibc support has been provided since glibc 2.3.
.SH STANDARDS
The
.BR readahead ()
diff --git a/man2/readdir.2 b/man2/readdir.2
index 3cbfa046f..2f40ed8ad 100644
--- a/man2/readdir.2
+++ b/man2/readdir.2
@@ -7,7 +7,7 @@
.\" In 1.3.X, returns only one entry each time; return value is different.
.\" Modified 2004-12-01, mtk, fixed headers listed in SYNOPSIS
.\"
-.TH READDIR 2 2022-10-09 "Linux man-pages 6.01"
+.TH readdir 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
readdir \- read directory entry
.SH LIBRARY
diff --git a/man2/readlink.2 b/man2/readlink.2
index 64498b772..50b1ee247 100644
--- a/man2/readlink.2
+++ b/man2/readlink.2
@@ -13,7 +13,7 @@
.\" 2011-09-20, Guillem Jover <guillem@hadrons.org>:
.\" Added text on dynamically allocating buffer + example program
.\"
-.TH READLINK 2 2022-10-09 "Linux man-pages 6.01"
+.TH readlink 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
readlink, readlinkat \- read value of a symbolic link
.SH LIBRARY
@@ -188,8 +188,8 @@ is relative and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR readlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR readlink ():
4.4BSD
@@ -200,7 +200,7 @@ POSIX.1-2001, POSIX.1-2008.
.BR readlinkat ():
POSIX.1-2008.
.SH NOTES
-In versions of glibc up to and including glibc 2.4, the return type of
+Up to and including glibc 2.4, the return type of
.BR readlink ()
was declared as
.IR int .
diff --git a/man2/readv.2 b/man2/readv.2
index 2213c2a12..340f5c47e 100644
--- a/man2/readv.2
+++ b/man2/readv.2
@@ -9,7 +9,7 @@
.\" add more details.
.\" 2010-11-16, mtk, Added documentation of preadv() and pwritev()
.\"
-.TH READV 2 2022-10-09 "Linux man-pages 6.01"
+.TH readv 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
readv, writev, preadv, pwritev, preadv2, pwritev2 \-
read or write data into multiple buffers
@@ -372,16 +372,16 @@ performed the analogous task using a temporary buffer and a call to
.PP
The need for this extra effort in the glibc wrapper functions
went away with Linux 2.2 and later.
-However, glibc continued to provide this behavior until version 2.10.
-Starting with glibc version 2.9,
+However, glibc continued to provide this behavior until glibc 2.10.
+Starting with glibc 2.9,
the wrapper functions provide this behavior only if the library detects
-that the system is running a Linux kernel older than version 2.6.18
+that the system is running a Linux kernel older than Linux 2.6.18
(an arbitrarily selected kernel version).
And since glibc 2.20
-(which requires a minimum Linux kernel version of 2.6.32),
+(which requires a minimum of Linux 2.6.32),
the glibc wrapper functions always just directly invoke the system calls.
.SH BUGS
-Linux 5.9 and 5.10 have a bug where
+Linux 5.9 and Linux 5.10 have a bug where
.BR preadv2 ()
with the
.B RWF_NOWAIT
diff --git a/man2/reboot.2 b/man2/reboot.2
index d91f01d02..1b51e2031 100644
--- a/man2/reboot.2
+++ b/man2/reboot.2
@@ -5,7 +5,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH REBOOT 2 2022-10-09 "Linux man-pages 6.01"
+.TH reboot 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
reboot \- reboot or enable/disable Ctrl-Alt-Del
.SH LIBRARY
@@ -13,7 +13,7 @@ Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
-.RB "/* Since kernel version 2.1.30 there are symbolic names " LINUX_REBOOT_*
+.RB "/* Since Linux 2.1.30 there are symbolic names " LINUX_REBOOT_*
for the constants and a fourth argument to the call: */
.PP
.BR "#include <linux/reboot.h> " \
@@ -52,13 +52,13 @@ equals
equals
.B LINUX_REBOOT_MAGIC2
(that is, 672274793).
-However, since 2.1.17 also
+However, since Linux 2.1.17 also
.B LINUX_REBOOT_MAGIC2A
(that is, 85072278)
-and since 2.1.97 also
+and since Linux 2.1.97 also
.B LINUX_REBOOT_MAGIC2B
(that is, 369367448)
-and since 2.5.71 also
+and since Linux 2.5.71 also
.B LINUX_REBOOT_MAGIC2C
(that is, 537993216)
are permitted as values for
diff --git a/man2/recv.2 b/man2/recv.2
index 78b49cee8..f6f900ae8 100644
--- a/man2/recv.2
+++ b/man2/recv.2
@@ -10,7 +10,7 @@
.\" Modified 1998,1999 by Andi Kleen
.\" 2001-06-19 corrected SO_EE_OFFENDER, bug report by James Hawtin
.\"
-.TH RECV 2 2022-10-09 "Linux man-pages 6.01"
+.TH recv 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
recv, recvfrom, recvmsg \- receive a message from a socket
.SH LIBRARY
@@ -20,11 +20,12 @@ Standard C library
.nf
.B #include <sys/socket.h>
.PP
-.BI "ssize_t recv(int " sockfd ", void *" buf ", size_t " len ", int " flags );
-.BI "ssize_t recvfrom(int " sockfd ", void *restrict " buf ", size_t " len \
-", int " flags ,
-.BI " struct sockaddr *restrict " src_addr ,
-.BI " socklen_t *restrict " addrlen );
+.BI "ssize_t recv(int " sockfd ", void " buf [. len "], size_t " len ,
+.BI " int " flags );
+.BI "ssize_t recvfrom(int " sockfd ", void " buf "[restrict ." len "], size_t " len ,
+.BI " int " flags ,
+.BI " struct sockaddr *_Nullable restrict " src_addr ,
+.BI " socklen_t *_Nullable restrict " addrlen );
.BI "ssize_t recvmsg(int " sockfd ", struct msghdr *" msg ", int " flags );
.fi
.SH DESCRIPTION
diff --git a/man2/recvmmsg.2 b/man2/recvmmsg.2
index 91bb5d4fb..e1c2694ea 100644
--- a/man2/recvmmsg.2
+++ b/man2/recvmmsg.2
@@ -8,7 +8,7 @@
.\" Author: Arnaldo Carvalho de Melo <acme@redhat.com>
.\" Date: Mon Oct 12 23:40:10 2009 -0700
.\"
-.TH RECVMMSG 2 2022-10-09 "Linux man-pages 6.01"
+.TH recvmmsg 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
recvmmsg \- receive multiple messages on a socket
.SH LIBRARY
@@ -149,7 +149,7 @@ See also BUGS.
The
.BR recvmmsg ()
system call was added in Linux 2.6.33.
-Support in glibc was added in version 2.12.
+Support in glibc was added in glibc 2.12.
.SH STANDARDS
.BR recvmmsg ()
is Linux-specific.
diff --git a/man2/remap_file_pages.2 b/man2/remap_file_pages.2
index 369dfcda4..2ce30fb60 100644
--- a/man2/remap_file_pages.2
+++ b/man2/remap_file_pages.2
@@ -5,7 +5,7 @@
.\" 2003-12-10 Initial creation, Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2004-10-28 aeb, corrected prototype, prot must be 0
.\"
-.TH REMAP_FILE_PAGES 2 2022-10-09 "Linux man-pages 6.01"
+.TH remap_file_pages 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
remap_file_pages \- create a nonlinear file mapping
.SH LIBRARY
@@ -16,9 +16,9 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.PP
-.BI "[[deprecated]] int remap_file_pages(void *" addr ", size_t " size \
-", int " prot ,
-.BI " size_t " pgoff ", int " flags );
+.BI "[[deprecated]] int remap_file_pages(void " addr [. size "], size_t " size ,
+.BI " int " prot ", size_t " pgoff ", \
+int " flags );
.fi
.SH DESCRIPTION
.BR Note :
@@ -147,7 +147,7 @@ is invalid.
The
.BR remap_file_pages ()
system call appeared in Linux 2.5.46;
-glibc support was added in version 2.3.3.
+glibc support was added in glibc 2.3.3.
.SH STANDARDS
The
.BR remap_file_pages ()
diff --git a/man2/removexattr.2 b/man2/removexattr.2
index 5e0b3cd79..2987e98a0 100644
--- a/man2/removexattr.2
+++ b/man2/removexattr.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH REMOVEXATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH removexattr 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
removexattr, lremovexattr, fremovexattr \- remove an extended attribute
.SH LIBRARY
@@ -78,8 +78,8 @@ In addition, the errors documented in
.BR stat (2)
can also occur.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
diff --git a/man2/rename.2 b/man2/rename.2
index 2da1fc598..95e33d93d 100644
--- a/man2/rename.2
+++ b/man2/rename.2
@@ -10,7 +10,7 @@
.\" Modified Thu Mar 3 09:49:35 2005 by Michael Haardt <michael@moria.de>
.\" 2007-03-25, mtk, added various text to DESCRIPTION.
.\"
-.TH RENAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH rename 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
rename, renameat, renameat2 \- change the name or location of a file
.SH LIBRARY
@@ -187,19 +187,19 @@ can't be employed together with
requires support from the underlying filesystem.
Support for various filesystems was added as follows:
.RS
-.IP * 3
+.IP \(bu 3
ext4 (Linux 3.15);
.\" ext4: commit 0a7c3937a1f23f8cb5fc77ae01661e9968a51d0c
-.IP *
+.IP \(bu
btrfs, tmpfs, and cifs (Linux 3.17);
-.IP *
+.IP \(bu
xfs (Linux 4.0);
.\" btrfs: commit 80ace85c915d0f41016f82917218997b72431258
.\" tmpfs: commit 3b69ff51d087d265aa4af3a532fc4f20bf33e718
.\" cifs: commit 7c33d5972ce382bcc506d16235f1e9b7d22cbef8
.\"
-.\" gfs2 in 4.2?
-.IP *
+.\" gfs2 in Linux 4.2?
+.IP \(bu
Support for many other filesystems was added in Linux 4.9, including
ext2, minix, reiserfs, jfs, vfat, and bpf.
.\" Also affs, bfs, exofs, hfs, hfsplus, jffs2, logfs, msdos,
@@ -490,11 +490,11 @@ but the caller does not have the
capability.
.SH VERSIONS
.BR renameat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.PP
.BR renameat2 ()
-was added to Linux in kernel 3.15; library support was added in glibc 2.28.
+was added in Linux 3.15; library support was added in glibc 2.28.
.SH STANDARDS
.BR rename ():
4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008.
diff --git a/man2/request_key.2 b/man2/request_key.2
index 3784235b1..b2073719e 100644
--- a/man2/request_key.2
+++ b/man2/request_key.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH REQUEST_KEY 2 2022-10-09 "Linux man-pages 6.01"
+.TH request_key 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
request_key \- request a key from the kernel's key management facility
.SH LIBRARY
@@ -15,7 +15,7 @@ Linux Key Management Utilities
.B #include <keyutils.h>
.PP
.BI "key_serial_t request_key(const char *" type ", const char *" description ,
-.BI " const char *" callout_info ,
+.BI " const char *_Nullable " callout_info ,
.BI " key_serial_t " dest_keyring );
.fi
.SH DESCRIPTION
@@ -205,33 +205,33 @@ program to instantiate a key with the given
and
.IR description .
In this case, the following steps are performed:
-.IP a) 4
+.IP (1) 5
The kernel creates an uninstantiated key, U, with the requested
.I type
and
.IR description .
-.IP b)
+.IP (2)
The kernel creates an authorization key, V,
.\" struct request_key_auth, defined in security/keys/internal.h
that refers to the key U and records the facts that the caller of
.BR request_key ()
is:
.RS
-.IP (1) 4
+.IP (2.1) 7
the context in which the key U should be instantiated and secured, and
-.IP (2)
+.IP (2.2)
the context from which associated key requests may be satisfied.
.RE
.IP
The authorization key is constructed as follows:
.RS
-.IP * 3
+.IP \(bu 3
The key type is
.IR """.request_key_auth""" .
-.IP *
+.IP \(bu
The key's UID and GID are the same as the corresponding filesystem IDs
of the requesting process.
-.IP *
+.IP \(bu
The key grants
.IR view ,
.IR read ,
@@ -240,18 +240,18 @@ and
permissions to the key possessor as well as
.I view
permission for the key user.
-.IP *
+.IP \(bu
The description (name) of the key is the hexadecimal
string representing the ID of the key that is to be instantiated
in the requesting program.
-.IP *
+.IP \(bu
The payload of the key is taken from the data specified in
.IR callout_info .
-.IP *
+.IP \(bu
Internally, the kernel also records the PID of the process that called
.BR request_key ().
.RE
-.IP c)
+.IP (3)
The kernel creates a process that executes a user-space service such as
.BR request\-key (8)
with a new session keyring that contains a link to the authorization key, V.
@@ -261,7 +261,7 @@ with a new session keyring that contains a link to the authorization key, V.
.IP
This program is supplied with the following command-line arguments:
.RS
-.IP [0] 4
+.IP [0] 5
The string
.IR """/sbin/request\-key""" .
.IP [1]
@@ -295,17 +295,17 @@ each of the command-line arguments that is a key ID is encoded in
(unlike the key IDs shown in
.IR /proc/keys ,
which are shown as hexadecimal values).
-.IP d)
+.IP (4)
The program spawned in the previous step:
.RS
-.IP * 3
+.IP \(bu 3
Assumes the authority to instantiate the key U using the
.BR keyctl (2)
.B KEYCTL_ASSUME_AUTHORITY
operation (typically via the
.BR keyctl_assume_authority (3)
function).
-.IP *
+.IP \(bu
Obtains the callout data from the payload of the authorization key V
(using the
.BR keyctl (2)
@@ -314,7 +314,7 @@ operation (or, more commonly, the
.BR keyctl_read (3)
function) with a key ID value of
.BR KEY_SPEC_REQKEY_AUTH_KEY ).
-.IP *
+.IP \(bu
Instantiates the key
(or execs another program that performs that task),
specifying the payload and destination keyring.
diff --git a/man2/restart_syscall.2 b/man2/restart_syscall.2
index c1ed97bf8..68a7b9c7b 100644
--- a/man2/restart_syscall.2
+++ b/man2/restart_syscall.2
@@ -10,7 +10,7 @@
.\"
.\" See also Section 11.3.3 of Understanding the Linux Kernel, 3rd edition
.\"
-.TH RESTART_SYSCALL 2 2022-10-09 "Linux man-pages 6.01"
+.TH restart_syscall 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
restart_syscall \- restart a system call after interruption by a stop signal
.SH SYNOPSIS
diff --git a/man2/rmdir.2 b/man2/rmdir.2
index bdb6cf416..53e0c09c7 100644
--- a/man2/rmdir.2
+++ b/man2/rmdir.2
@@ -7,7 +7,7 @@
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH RMDIR 2 2022-10-09 "Linux man-pages 6.01"
+.TH rmdir 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
rmdir \- delete a directory
.SH LIBRARY
diff --git a/man2/rt_sigqueueinfo.2 b/man2/rt_sigqueueinfo.2
index 19f63f919..136cb88b7 100644
--- a/man2/rt_sigqueueinfo.2
+++ b/man2/rt_sigqueueinfo.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH RT_SIGQUEUEINFO 2 2022-10-09 "Linux man-pages 6.01"
+.TH rt_sigqueueinfo 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
rt_sigqueueinfo, rt_tgsigqueueinfo \- queue a signal and data
.SH LIBRARY
@@ -72,7 +72,7 @@ codes in the Linux kernel source file
If the signal is being sent to any process other than the caller itself,
the following restrictions apply:
.RS
-.IP * 3
+.IP \(bu 3
The code can't be a value greater than or equal to zero.
In particular, it can't be
.BR SI_USER ,
@@ -81,7 +81,7 @@ which is used by the kernel to indicate a signal sent by
and nor can it be
.BR SI_KERNEL ,
which is used to indicate a signal generated by the kernel.
-.IP *
+.IP \(bu
The code can't (since Linux 2.6.39) be
.BR SI_TKILL ,
which is used by the kernel to indicate a signal sent using
@@ -168,10 +168,10 @@ was found.
.SH VERSIONS
The
.BR rt_sigqueueinfo ()
-system call was added to Linux in version 2.2.
+system call was added in Linux 2.2.
The
.BR rt_tgsigqueueinfo ()
-system call was added to Linux in version 2.6.31.
+system call was added in Linux 2.6.31.
.SH STANDARDS
These system calls are Linux-specific.
.SH NOTES
diff --git a/man2/s390_guarded_storage.2 b/man2/s390_guarded_storage.2
index 68cedee09..822ac2392 100644
--- a/man2/s390_guarded_storage.2
+++ b/man2/s390_guarded_storage.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH S390_GUARDED_STORAGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH s390_guarded_storage 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
s390_guarded_storage \- operations with z/Architecture guarded storage facility
.SH LIBRARY
diff --git a/man2/s390_pci_mmio_write.2 b/man2/s390_pci_mmio_write.2
index 434e98086..642be7eba 100644
--- a/man2/s390_pci_mmio_write.2
+++ b/man2/s390_pci_mmio_write.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH S390_PCI_MMIO_WRITE 2 2022-10-09 "Linux man-pages 6.01"
+.TH s390_pci_mmio_write 2 2022-11-10 "Linux man-pages 6.02"
.SH NAME
s390_pci_mmio_write, s390_pci_mmio_read \- transfer data to/from PCI
MMIO memory page
@@ -16,9 +16,10 @@ Standard C library
.B #include <unistd.h>
.PP
.BI "int syscall(SYS_s390_pci_mmio_write, unsigned long " mmio_addr ,
-.BI " const void *" user_buffer ", size_t " length );
+.BI " const void " user_buffer [. length "], \
+size_t " length );
.BI "int syscall(SYS_s390_pci_mmio_read, unsigned long " mmio_addr ,
-.BI " void *" user_buffer ", size_t " length );
+.BI " void " user_buffer [. length "], size_t " length );
.fi
.PP
.IR Note :
diff --git a/man2/s390_runtime_instr.2 b/man2/s390_runtime_instr.2
index 120f613d0..951befa51 100644
--- a/man2/s390_runtime_instr.2
+++ b/man2/s390_runtime_instr.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH S390_RUNTIME_INSTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH s390_runtime_instr 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
s390_runtime_instr \- enable/disable s390 CPU run-time instrumentation
.SH LIBRARY
diff --git a/man2/s390_sthyi.2 b/man2/s390_sthyi.2
index 545cd20b1..3fcc2964e 100644
--- a/man2/s390_sthyi.2
+++ b/man2/s390_sthyi.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH S390_STHYI 2 2022-10-09 "Linux man-pages 6.01"
+.TH s390_sthyi 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
s390_sthyi \- emulate STHYI instruction
.SH LIBRARY
diff --git a/man2/sched_get_priority_max.2 b/man2/sched_get_priority_max.2
index 5ea13d646..316079246 100644
--- a/man2/sched_get_priority_max.2
+++ b/man2/sched_get_priority_max.2
@@ -7,7 +7,7 @@
.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\" revision
.\"
-.TH SCHED_GET_PRIORITY_MAX 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_get_priority_max 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sched_get_priority_max, sched_get_priority_min \- get static priority range
.SH LIBRARY
diff --git a/man2/sched_rr_get_interval.2 b/man2/sched_rr_get_interval.2
index 98792cfac..e009debf8 100644
--- a/man2/sched_rr_get_interval.2
+++ b/man2/sched_rr_get_interval.2
@@ -7,7 +7,7 @@
.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\" revision
.\"
-.TH SCHED_RR_GET_INTERVAL 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_rr_get_interval 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sched_rr_get_interval \- get the SCHED_RR interval for the named process
.SH LIBRARY
diff --git a/man2/sched_setaffinity.2 b/man2/sched_setaffinity.2
index edc0d6b61..12a94c032 100644
--- a/man2/sched_setaffinity.2
+++ b/man2/sched_setaffinity.2
@@ -12,7 +12,7 @@
.\" 2008-11-12, mtk, removed CPU_*() macro descriptions to a
.\" separate CPU_SET(3) page.
.\"
-.TH SCHED_SETAFFINITY 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_setaffinity 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sched_setaffinity, sched_getaffinity \- \
set and get a thread's CPU affinity mask
@@ -116,7 +116,7 @@ cgroups or the "cpuset" mechanism described in
.TP
.B EINVAL
.RB ( sched_getaffinity ()
-and, in kernels before 2.6.9,
+and, before Linux 2.6.9,
.BR sched_setaffinity ())
.I cpusetsize
is smaller than the size of the affinity mask used by the kernel.
diff --git a/man2/sched_setattr.2 b/man2/sched_setattr.2
index 47abb0aa9..8b9debd9a 100644
--- a/man2/sched_setattr.2
+++ b/man2/sched_setattr.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SCHED_SETATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_setattr 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sched_setattr, sched_getattr \-
set and get scheduling policy and attributes
@@ -407,7 +407,7 @@ instead of
.B E2BIG
for the case described in ERRORS.
.PP
-In Linux versions up to 5.3,
+Up to Linux 5.3,
.BR sched_getattr ()
failed with the error
.B EFBIG
diff --git a/man2/sched_setparam.2 b/man2/sched_setparam.2
index 5818bb8bc..ec2513859 100644
--- a/man2/sched_setparam.2
+++ b/man2/sched_setparam.2
@@ -8,7 +8,7 @@
.\" revision
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH SCHED_SETPARAM 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_setparam 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sched_setparam, sched_getparam \- set and get scheduling parameters
.SH LIBRARY
diff --git a/man2/sched_setscheduler.2 b/man2/sched_setscheduler.2
index 80404d9b0..14460bfc4 100644
--- a/man2/sched_setscheduler.2
+++ b/man2/sched_setscheduler.2
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH SCHED_SETSCHEDULER 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_setscheduler 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sched_setscheduler, sched_getscheduler \-
set and get scheduling policy/parameters
diff --git a/man2/sched_yield.2 b/man2/sched_yield.2
index c9866b738..addafff1c 100644
--- a/man2/sched_yield.2
+++ b/man2/sched_yield.2
@@ -7,7 +7,7 @@
.\" 1996-04-10 Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\" revision
.\"
-.TH SCHED_YIELD 2 2022-10-09 "Linux man-pages 6.01"
+.TH sched_yield 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sched_yield \- yield the processor
.SH LIBRARY
diff --git a/man2/seccomp.2 b/man2/seccomp.2
index d928bcf36..55e1c0340 100644
--- a/man2/seccomp.2
+++ b/man2/seccomp.2
@@ -6,7 +6,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SECCOMP 2 2022-10-09 "Linux man-pages 6.01"
+.TH seccomp 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
seccomp \- operate on Secure Computing state of the process
.SH LIBRARY
@@ -565,23 +565,23 @@ structure (see
.BR sigaction (2))
associated with signal:
.RS
-.IP * 3
+.IP \(bu 3
.I si_signo
will contain
.BR SIGSYS .
-.IP *
+.IP \(bu
.I si_call_addr
will show the address of the system call instruction.
-.IP *
+.IP \(bu
.I si_syscall
and
.I si_arch
will indicate which system call was attempted.
-.IP *
+.IP \(bu
.I si_code
will contain
.BR SYS_SECCOMP .
-.IP *
+.IP \(bu
.I si_errno
will contain the
.B SECCOMP_RET_DATA
@@ -655,7 +655,7 @@ appear to return the value that the tracer puts in the return value register.
.\" A related hole, using PTRACE_SYSCALL instead of SECCOMP_RET_TRACE, was
.\" changed in arch-specific commits, e.g. 93e35efb8de4 for X86 and
.\" 0f3912fd934c for ARM.
-Before kernel 4.8, the seccomp check will not be run again after the tracer is
+Before Linux 4.8, the seccomp check will not be run again after the tracer is
notified.
(This means that, on older kernels, seccomp-based sandboxes
.B "must not"
@@ -742,11 +742,11 @@ file, and whether kernel auditing is enabled
.IR audit=1 ).
.\" or auditing could be enabled via the netlink API (AUDIT_SET)
The rules are as follows:
-.IP * 3
+.IP \(bu 3
If the action is
.BR SECCOMP_RET_ALLOW ,
the action is not logged.
-.IP *
+.IP \(bu
Otherwise, if the action is either
.B SECCOMP_RET_KILL_PROCESS
or
@@ -754,18 +754,18 @@ or
and that action appears in the
.I actions_logged
file, the action is logged.
-.IP *
+.IP \(bu
Otherwise, if the filter has requested logging (the
.B SECCOMP_FILTER_FLAG_LOG
flag)
and the action appears in the
.I actions_logged
file, the action is logged.
-.IP *
+.IP \(bu
Otherwise, if kernel auditing is enabled and the process is being audited
.RB ( autrace (8)),
the action is logged.
-.IP *
+.IP \(bu
Otherwise, the action is not logged.
.SH RETURN VALUE
On success,
@@ -823,7 +823,7 @@ but the specified offset was not aligned to a 32-bit boundary or exceeded
.IR "sizeof(struct\~seccomp_data)" .
.TP
.B EINVAL
-.\" See kernel/seccomp.c::seccomp_may_assign_mode() in 3.18 sources
+.\" See kernel/seccomp.c::seccomp_may_assign_mode() in Linux 3.18 sources
A secure computing mode has already been set, and
.I operation
differs from the existing setting.
@@ -842,7 +842,7 @@ was not valid or the length of the filter program was zero or exceeded
Out of memory.
.TP
.B ENOMEM
-.\" ENOMEM in kernel/seccomp.c::seccomp_attach_filter() in 3.18 sources
+.\" ENOMEM in kernel/seccomp.c::seccomp_attach_filter() in Linux 3.18 sources
The total length of all filter programs attached
to the calling thread would exceed
.B MAX_INSNS_PER_PATH
@@ -900,22 +900,22 @@ Architecture support for seccomp BPF filtering
.\" Check by grepping for HAVE_ARCH_SECCOMP_FILTER in Kconfig files in
.\" kernel source. Last checked in Linux 4.16-rc source.
is available on the following architectures:
-.IP * 3
+.IP \(bu 3
x86-64, i386, x32 (since Linux 3.5)
.PD 0
-.IP *
+.IP \(bu
ARM (since Linux 3.8)
-.IP *
+.IP \(bu
s390 (since Linux 3.8)
-.IP *
+.IP \(bu
MIPS (since Linux 3.16)
-.IP *
+.IP \(bu
ARM-64 (since Linux 3.19)
-.IP *
+.IP \(bu
PowerPC (since Linux 4.3)
-.IP *
+.IP \(bu
Tile (since Linux 4.3)
-.IP *
+.IP \(bu
PA-RISC (since Linux 4.6)
.\" User mode Linux since Linux 4.6
.PD
@@ -923,7 +923,7 @@ PA-RISC (since Linux 4.6)
.SS Caveats
There are various subtleties to consider when applying seccomp filters
to a program, including the following:
-.IP * 3
+.IP \(bu 3
Some traditional system calls have user-space implementations in the
.BR vdso (7)
on many architectures.
@@ -938,7 +938,7 @@ seccomp filtering for these system calls will have no effect.
.BR vdso (7)
implementations may fall back to invoking the true system call,
in which case seccomp filters would see the system call.)
-.IP *
+.IP \(bu
Seccomp filtering is based on system call numbers.
However, applications typically do not directly invoke system calls,
but instead call wrapper functions in the C library which
@@ -987,7 +987,7 @@ filters if the bugs occur in rarely used application code paths.
.\"
.SS Seccomp-specific BPF details
Note the following BPF details specific to seccomp filters:
-.IP * 3
+.IP \(bu 3
The
.B BPF_H
and
@@ -995,13 +995,13 @@ and
size modifiers are not supported: all operations must load and store
(4-byte) words
.RB ( BPF_W ).
-.IP *
+.IP \(bu
To access the contents of the
.I seccomp_data
buffer, use the
.B BPF_ABS
addressing mode modifier.
-.IP *
+.IP \(bu
The
.B BPF_LEN
addressing mode modifier yields an immediate mode operand
@@ -1014,11 +1014,11 @@ The first three arguments are a system call number,
a numeric architecture identifier, and an error number.
The program uses these values to construct a BPF filter
that is used at run time to perform the following checks:
-.IP [1] 4
+.IP \(bu 3
If the program is not running on the specified architecture,
the BPF filter causes system calls to fail with the error
.BR ENOSYS .
-.IP [2]
+.IP \(bu
If the program attempts to execute the system call with the specified number,
the BPF filter causes the system call to fail, with
.I errno
diff --git a/man2/seccomp_unotify.2 b/man2/seccomp_unotify.2
index 9771c246a..830b8d063 100644
--- a/man2/seccomp_unotify.2
+++ b/man2/seccomp_unotify.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SECCOMP_UNOTIFY 2 2022-10-09 "Linux man-pages 6.01"
+.TH seccomp_unotify 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
seccomp_unotify \- Seccomp user-space notification mechanism
.SH LIBRARY
@@ -73,11 +73,11 @@ is running on a virtual machine inside the kernel.)
An overview of the steps performed by the target and the supervisor
is as follows:
.\"-------------------------------------
-.IP 1. 3
+.IP (1) 5
The target establishes a seccomp filter in the usual manner,
but with two differences:
.RS
-.IP \(bu 2
+.IP \(bu 3
The
.BR seccomp (2)
.I flags
@@ -107,7 +107,7 @@ In cases where it is appropriate, the seccomp filter returns the action value
This return value will trigger a notification event.
.RE
.\"-------------------------------------
-.IP 2.
+.IP (2)
In order that the supervisor can obtain notifications
using the listening file descriptor,
(a duplicate of) that file descriptor must be passed from
@@ -130,7 +130,7 @@ Another way to do this is through the use of
.\" I'm not sure whether that'd look better or worse in the
.\" end though, so maybe just ignore this comment.
.\"-------------------------------------
-.IP 3.
+.IP (3)
The supervisor will receive notification events
on the listening file descriptor.
These events are returned as structures of type
@@ -152,7 +152,7 @@ bytes for the response (a
structure)
that it will provide to the kernel (and thus the target).
.\"-------------------------------------
-.IP 4.
+.IP (4)
The target then performs its workload,
which includes system calls that will be controlled by the seccomp filter.
Whenever one of these system calls causes the filter to return the
@@ -164,7 +164,7 @@ instead, execution of the target is temporarily blocked inside
the kernel (in a sleep state that is interruptible by signals)
and a notification event is generated on the listening file descriptor.
.\"-------------------------------------
-.IP 5.
+.IP (5)
The supervisor can now repeatedly monitor the
listening file descriptor for
.BR SECCOMP_RET_USER_NOTIF -triggered
@@ -196,7 +196,7 @@ or
.\" behavior of SECCOMP_IOCTL_NOTIF_RECV.
.
.\"-------------------------------------
-.IP 6.
+.IP (6)
The
.I seccomp_notif
structure returned by the
@@ -235,7 +235,7 @@ In addition,
the supervisor can access other system information that is visible
in user space but which is not accessible from a seccomp filter.
.\"-------------------------------------
-.IP 7.
+.IP (7)
Having obtained information as per the previous step,
the supervisor may then choose to perform an action in response
to the target's system call
@@ -250,7 +250,7 @@ in the container's mount namespace.
However, the supervisor may be a more privileged process that
does have sufficient capabilities to perform the mount operation.
.\"-------------------------------------
-.IP 8.
+.IP (8)
The supervisor then sends a response to the notification.
The information in this response is used by the kernel to construct
a return value for the target's system call and provide
@@ -279,7 +279,7 @@ structure returned by the
operation;
the cookie allows the kernel to associate the response with the target.
.\"-------------------------------------
-.IP 9.
+.IP (9)
Once the notification has been sent,
the system call in the target thread unblocks,
returning the information that was provided by the supervisor
@@ -336,7 +336,7 @@ This is a cookie for the notification.
Each such cookie is guaranteed to be unique for the corresponding
seccomp filter.
.RS
-.IP \(bu 2
+.IP \(bu 3
The cookie can be used with the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
.BR ioctl (2)
@@ -438,19 +438,19 @@ returned by the
.B SECCOMP_IOCTL_NOTIF_RECV
operation terminates, and that process ID is reused by another process.
An example of this kind of race is the following
-.IP 1. 3
+.IP (1) 5
A notification is generated on the listening file descriptor.
The returned
.I seccomp_notif
contains the TID of the target thread (in the
.I pid
field of the structure).
-.IP 2.
+.IP (2)
The target terminates.
-.IP 3.
+.IP (3)
Another thread or process is created on the system that by chance reuses the
TID that was freed when the target terminated.
-.IP 4.
+.IP (4)
The supervisor
.BR open (2)s
the
@@ -539,7 +539,7 @@ Tell the kernel to execute the target's system call.
.RE
.PP
Two kinds of response are possible:
-.IP \(bu 2
+.IP \(bu 3
A response to the kernel telling it to execute the
target's system call.
In this case, the
@@ -906,7 +906,7 @@ flag can be monitored using
and
.BR select (2).
These interfaces indicate that the file descriptor is ready as follows:
-.IP \(bu 2
+.IP \(bu 3
When a notification is pending,
these interfaces indicate that the file descriptor is readable.
Following such an indication, a subsequent
@@ -999,35 +999,35 @@ Consider the following scenario, where the supervisor
tries to read the pathname argument of a target's blocked
.BR mount (2)
system call:
-.IP \(bu 2
+.IP (1) 5
From one of its functions
.RI ( func() ),
the target calls
.BR mount (2),
which triggers a user-space notification and causes the target to block.
-.IP \(bu
+.IP (2)
The supervisor receives the notification, opens
.IR /proc/ tid /mem ,
and (successfully) performs the
.B SECCOMP_IOCTL_NOTIF_ID_VALID
check.
-.IP \(bu
+.IP (3)
The target receives a signal, which causes the
.BR mount (2)
to abort.
-.IP \(bu
+.IP (4)
The signal handler executes in the target, and returns.
-.IP \(bu
+.IP (5)
Upon return from the handler, the execution of
.I func()
resumes, and it returns (and perhaps other functions are called,
overwriting the memory that had been used for the stack frame of
.IR func() ).
-.IP \(bu
+.IP (6)
Using the address provided in the notification information,
the supervisor reads from the target's memory location that used to
contain the pathname.
-.IP \(bu
+.IP (7)
The supervisor now calls
.BR mount (2)
with some arbitrary bytes obtained in the previous step.
@@ -1102,19 +1102,19 @@ that it acquired on behalf of the target.
.\"
.SS Interaction with SA_RESTART signal handlers
Consider the following scenario:
-.IP \(bu 2
+.IP (1) 5
The target process has used
.BR sigaction (2)
to install a signal handler with the
.B SA_RESTART
flag.
-.IP \(bu
+.IP (2)
The target has made a system call that triggered a seccomp
user-space notification and the target is currently blocked
until the supervisor sends a notification response.
-.IP \(bu
+.IP (3)
A signal is delivered to the target and the signal handler is executed.
-.IP \(bu
+.IP (4)
When (if) the supervisor attempts to send a notification response, the
.B SECCOMP_IOCTL_NOTIF_SEND
.BR ioctl (2))
@@ -1205,7 +1205,7 @@ the supervisor examines the memory of the target process (using
to discover the pathname argument that was supplied to the
.BR mkdir (2)
call, and performs one of the following actions:
-.IP \(bu 2
+.IP \(bu 3
If the pathname begins with the prefix "/tmp/",
then the supervisor attempts to create the specified directory,
and then spoofs a return for the target process based on the return
diff --git a/man2/select.2 b/man2/select.2
index 6634cd70d..f8aa5353f 100644
--- a/man2/select.2
+++ b/man2/select.2
@@ -15,9 +15,9 @@
.\" Modified Thu Feb 9 22:32:09 CET 2001 by bert hubert <ahu@ds9a.nl>, aeb
.\" Modified Mon Nov 11 14:35:00 PST 2002 by Ben Woodard <ben@zork.net>
.\" 2005-03-11, mtk, modified pselect() text (it is now a system
-.\" call in 2.6.16.
+.\" call in Linux 2.6.16.
.\"
-.TH SELECT 2 2022-10-09 "Linux man-pages 6.01"
+.TH select 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO, fd_set \-
synchronous I/O multiplexing
@@ -30,19 +30,21 @@ Standard C library
.PP
.BR typedef " /* ... */ " fd_set;
.PP
-.BI "int select(int " nfds ", fd_set *restrict " readfds ,
-.BI " fd_set *restrict " writefds ", fd_set *restrict " exceptfds ,
-.BI " struct timeval *restrict " timeout );
+.BI "int select(int " nfds ", fd_set *_Nullable restrict " readfds ,
+.BI " fd_set *_Nullable restrict " writefds ,
+.BI " fd_set *_Nullable restrict " exceptfds ,
+.BI " struct timeval *_Nullable restrict " timeout );
.PP
.BI "void FD_CLR(int " fd ", fd_set *" set );
.BI "int FD_ISSET(int " fd ", fd_set *" set );
.BI "void FD_SET(int " fd ", fd_set *" set );
.BI "void FD_ZERO(fd_set *" set );
.PP
-.BI "int pselect(int " nfds ", fd_set *restrict " readfds ,
-.BI " fd_set *restrict " writefds ", fd_set *restrict " exceptfds ,
-.BI " const struct timespec *restrict " timeout ,
-.BI " const sigset_t *restrict " sigmask );
+.BI "int pselect(int " nfds ", fd_set *_Nullable restrict " readfds ,
+.BI " fd_set *_Nullable restrict " writefds ,
+.BI " fd_set *_Nullable restrict " exceptfds ,
+.BI " const struct timespec *_Nullable restrict " timeout ,
+.BI " const sigset_t *_Nullable restrict " sigmask );
.fi
.PP
.RS -4
@@ -203,7 +205,7 @@ structure (shown below) that specifies the interval that
should block waiting for a file descriptor to become ready.
The call will block until either:
.RS
-.IP \(bu 2
+.IP \(bu 3
a file descriptor becomes ready;
.IP \(bu
the call is interrupted by a signal handler; or
@@ -241,7 +243,7 @@ The operation of
and
.BR pselect ()
is identical, other than these three differences:
-.IP \(bu 2
+.IP \(bu 3
.BR select ()
uses a timeout that is a
.I struct timeval
@@ -420,7 +422,7 @@ is invalid.
Unable to allocate memory for internal tables.
.SH VERSIONS
.BR pselect ()
-was added to Linux in kernel 2.6.16.
+was added in Linux 2.6.16.
Prior to this,
.BR pselect ()
was emulated in glibc (but see BUGS).
@@ -620,7 +622,7 @@ that did not take a
.I sigmask
argument.
.PP
-In glibc versions 2.1 to 2.2.1,
+From glibc 2.1 to glibc 2.2.1,
one must define
.B _GNU_SOURCE
in order to obtain the declaration of
@@ -665,7 +667,7 @@ According to POSIX, any such file descriptor that is specified in one
of the sets should result in the error
.BR EBADF .
.PP
-Starting with version 2.1, glibc provided an emulation of
+Starting with glibc 2.1, glibc provided an emulation of
.BR pselect ()
that was implemented using
.BR sigprocmask (2)
diff --git a/man2/select_tut.2 b/man2/select_tut.2
index 4b48780d1..6b322e50f 100644
--- a/man2/select_tut.2
+++ b/man2/select_tut.2
@@ -9,7 +9,7 @@
.\" various other changes
.\" 2008-01-26, mtk, substantial changes and rewrites
.\"
-.TH SELECT_TUT 2 2022-10-09 "Linux man-pages 6.01"
+.TH SELECT_TUT 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
select, pselect \- synchronous I/O multiplexing
.SH LIBRARY
@@ -234,7 +234,7 @@ can fail with the error
\fBEINTR\fP,
and calls to
.BR read (2),
-.BR recv (2)
+.BR recv (2),
.BR write (2),
and
.BR send (2)
diff --git a/man2/semctl.2 b/man2/semctl.2
index 1558c5bf3..f34d24d0d 100644
--- a/man2/semctl.2
+++ b/man2/semctl.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
.\" and Copyright 2004, 2005 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -19,7 +20,7 @@
.\" 2005-08-02, mtk: Added IPC_INFO, SEM_INFO, SEM_STAT descriptions.
.\" 2018-03-20, dbueso: Added SEM_STAT_ANY description.
.\"
-.TH SEMCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH semctl 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
semctl \- System V semaphore control operations
.SH LIBRARY
diff --git a/man2/semget.2 b/man2/semget.2
index f169c3d1f..3d47f5a12 100644
--- a/man2/semget.2
+++ b/man2/semget.2
@@ -14,7 +14,7 @@
.\" Rewrote BUGS note about semget()'s failure to initialize
.\" semaphore values
.\"
-.TH SEMGET 2 2022-10-09 "Linux man-pages 6.01"
+.TH semget 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
semget \- get a System V semaphore set identifier
.SH LIBRARY
@@ -95,7 +95,7 @@ initializes the set's associated data structure,
(see
.BR semctl (2)),
as follows:
-.IP \(bu 2
+.IP \(bu 3
.I sem_perm.cuid
and
.I sem_perm.uid
@@ -245,7 +245,7 @@ call:
.TP
.B SEMMNI
System-wide limit on the number of semaphore sets.
-On Linux systems before version 3.19,
+Before Linux 3.19,
the default value for this limit was 128.
Since Linux 3.19,
.\" commit e843e7d2c88b7db107a86bd2c7145dc715c058f4
@@ -256,7 +256,7 @@ On Linux, this limit can be read and modified via the fourth field of
.TP
.B SEMMSL
Maximum number of semaphores per semaphore ID.
-On Linux systems before version 3.19,
+Before Linux 3.19,
the default value for this limit was 250.
Since Linux 3.19,
.\" commit e843e7d2c88b7db107a86bd2c7145dc715c058f4
diff --git a/man2/semop.2 b/man2/semop.2
index 96234fcde..9953507ae 100644
--- a/man2/semop.2
+++ b/man2/semop.2
@@ -12,7 +12,7 @@
.\" 2005-04-08, mtk, Noted kernel version numbers for semtimedop()
.\" 2007-07-09, mtk, Added an EXAMPLE code segment.
.\"
-.TH SEMOP 2 2022-10-09 "Linux man-pages 6.01"
+.TH semop 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
semop, semtimedop \- System V semaphore operations
.SH LIBRARY
@@ -24,7 +24,7 @@ Standard C library
.PP
.BI "int semop(int " semid ", struct sembuf *" sops ", size_t " nsops );
.BI "int semtimedop(int " semid ", struct sembuf *" sops ", size_t " nsops ,
-.BI " const struct timespec *" timeout );
+.BI " const struct timespec *_Nullable " timeout );
.fi
.PP
.RS -4
@@ -142,7 +142,7 @@ Otherwise,
(the count of threads waiting until this semaphore's value becomes zero)
is incremented by one and the thread sleeps until
one of the following occurs:
-.IP \(bu 2
+.IP \(bu 3
.I semval
becomes 0, at which time the value of
.I semzcnt
@@ -207,7 +207,7 @@ Otherwise,
(the counter of threads waiting for this semaphore's value to increase)
is incremented by one and the thread sleeps until
one of the following occurs:
-.IP \(bu 2
+.IP \(bu 3
.I semval
becomes greater than or equal to the absolute value of
.IR sem_op :
@@ -358,10 +358,10 @@ the implementation dependent maximum value for
.SH VERSIONS
.BR semtimedop ()
first appeared in Linux 2.5.52,
-and was subsequently backported into kernel 2.4.22.
+and was subsequently backported into Linux 2.4.22.
Glibc support for
.BR semtimedop ()
-first appeared in version 2.3.3.
+first appeared in Linux 2.3.3.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, SVr4.
.\" SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC.
@@ -475,10 +475,10 @@ Linux adopts a third approach: decreasing the semaphore value
as far as possible (i.e., to zero) and allowing process
termination to proceed immediately.
.PP
-In kernels 2.6.x, x <= 10, there is a bug that in some circumstances
+In Linux 2.6.x, x <= 10, there is a bug that in some circumstances
prevents a thread that is waiting for a semaphore value to become
zero from being woken up when the value does actually become zero.
-This bug is fixed in kernel 2.6.11.
+This bug is fixed in Linux 2.6.11.
.\" The bug report:
.\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2
.\" the fix:
diff --git a/man2/send.2 b/man2/send.2
index 018e49c7e..f866f4f50 100644
--- a/man2/send.2
+++ b/man2/send.2
@@ -9,7 +9,7 @@
.\" Modified Oct 2003 by aeb
.\" Modified 2004-07-01 by mtk
.\"
-.TH SEND 2 2022-10-09 "Linux man-pages 6.01"
+.TH send 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
send, sendto, sendmsg \- send a message on a socket
.SH LIBRARY
@@ -19,9 +19,9 @@ Standard C library
.nf
.B #include <sys/socket.h>
.PP
-.BI "ssize_t send(int " sockfd ", const void *" buf ", size_t " len \
+.BI "ssize_t send(int " sockfd ", const void " buf [. len "], size_t " len \
", int " flags );
-.BI "ssize_t sendto(int " sockfd ", const void *" buf ", size_t " len \
+.BI "ssize_t sendto(int " sockfd ", const void " buf [. len "], size_t " len \
", int " flags ,
.BI " const struct sockaddr *" dest_addr ", socklen_t " addrlen );
.BI "ssize_t sendmsg(int " sockfd ", const struct msghdr *" msg \
@@ -142,7 +142,7 @@ The
.I flags
argument is the bitwise OR
of zero or more of the following flags.
-.\" FIXME . ? document MSG_PROXY (which went away in 2.3.15)
+.\" FIXME . ? document MSG_PROXY (which went away in Linux 2.3.15)
.TP
.BR MSG_CONFIRM " (since Linux 2.3.15)"
Tell the link layer that forward progress happened: you got a successful
diff --git a/man2/sendfile.2 b/man2/sendfile.2
index d0a5390e4..a582afa34 100644
--- a/man2/sendfile.2
+++ b/man2/sendfile.2
@@ -16,7 +16,7 @@
.\"
.\" 2005-03-31 Martin Pool <mbp@sourcefrog.net> mmap() improvements
.\"
-.TH SENDFILE 2 2022-10-09 "Linux man-pages 6.01"
+.TH sendfile 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sendfile \- transfer data between file descriptors
.SH LIBRARY
@@ -26,8 +26,9 @@ Standard C library
.nf
.B #include <sys/sendfile.h>
.PP
-.BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", off_t *" \
- offset ", size_t" " count" );
+.BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", \
+off_t *_Nullable " offset ,
+.BI " size_t" " count" );
.\" The below is too ugly. Comments about glibc versions belong
.\" in the notes, not in the header.
.\"
@@ -96,7 +97,7 @@ argument must correspond to a file which supports
operations
(i.e., it cannot be a socket).
.PP
-In Linux kernels before 2.6.33,
+Before Linux 2.6.33,
.I out_fd
must refer to a socket.
Since Linux 2.6.33 it can be any file.
@@ -212,7 +213,9 @@ The glibc
wrapper function transparently deals with the kernel differences.
.PP
Applications may wish to fall back to
-.BR read (2)/ write (2)
+.BR read (2)
+and
+.BR write (2)
in the case where
.BR sendfile ()
fails with
diff --git a/man2/sendmmsg.2 b/man2/sendmmsg.2
index 76fa13e6f..dc8b56b4f 100644
--- a/man2/sendmmsg.2
+++ b/man2/sendmmsg.2
@@ -5,7 +5,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SENDMMSG 2 2022-10-09 "Linux man-pages 6.01"
+.TH sendmmsg 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sendmmsg \- send multiple messages on a socket
.SH LIBRARY
@@ -130,7 +130,7 @@ See also BUGS.
The
.BR sendmmsg ()
system call was added in Linux 3.0.
-Support in glibc was added in version 2.14.
+Support in glibc was added in Linux 2.14.
.SH STANDARDS
.BR sendmmsg ()
is Linux-specific.
diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2
index f65ddb519..1fa3f74e2 100644
--- a/man2/set_mempolicy.2
+++ b/man2/set_mempolicy.2
@@ -24,7 +24,7 @@
.\" 2007-08-27, Lee Schermerhorn <Lee.Schermerhorn@hp.com>
.\" more precise specification of behavior.
.\"
-.TH SET_MEMPOLICY 2 2022-10-09 "Linux man-pages 6.01"
+.TH set_mempolicy 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
set_mempolicy \- set default NUMA memory policy for a thread and its children
.SH LIBRARY
@@ -322,7 +322,7 @@ Insufficient kernel memory was available.
.SH VERSIONS
The
.BR set_mempolicy ()
-system call was added to the Linux kernel in version 2.6.7.
+system call was added in Linux 2.6.7.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/set_thread_area.2 b/man2/set_thread_area.2
index 1f386f1b2..9a55c81aa 100644
--- a/man2/set_thread_area.2
+++ b/man2/set_thread_area.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH SET_THREAD_AREA 2 2022-10-09 "Linux man-pages 6.01"
+.TH set_thread_area 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
get_thread_area, set_thread_area \- manipulate thread-local storage information
.SH LIBRARY
diff --git a/man2/set_tid_address.2 b/man2/set_tid_address.2
index b8823ce7f..c4a3fe158 100644
--- a/man2/set_tid_address.2
+++ b/man2/set_tid_address.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SET_TID_ADDRESS 2 2022-10-09 "Linux man-pages 6.01"
+.TH set_tid_address 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
set_tid_address \- set pointer to thread ID
.SH LIBRARY
diff --git a/man2/seteuid.2 b/man2/seteuid.2
index 19f2ec9fd..dec1f8a55 100644
--- a/man2/seteuid.2
+++ b/man2/seteuid.2
@@ -6,7 +6,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH SETEUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH seteuid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
seteuid, setegid \- set effective user or group ID
.SH LIBRARY
diff --git a/man2/setfsgid.2 b/man2/setfsgid.2
index 317ecd297..8f4e51724 100644
--- a/man2/setfsgid.2
+++ b/man2/setfsgid.2
@@ -9,7 +9,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH SETFSGID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setfsgid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
setfsgid \- set group identity used for filesystem checks
.SH LIBRARY
@@ -49,7 +49,7 @@ saved set-group-ID, or current the filesystem user ID.
On both success and failure,
this call returns the previous filesystem group ID of the caller.
.SH VERSIONS
-This system call is present in Linux since version 1.2.
+This system call is present since Linux 1.2.
.\" This system call is present since Linux 1.1.44
.\" and in libc since libc 4.7.6.
.SH STANDARDS
diff --git a/man2/setfsuid.2 b/man2/setfsuid.2
index d46c7556b..a6ec9d2c1 100644
--- a/man2/setfsuid.2
+++ b/man2/setfsuid.2
@@ -9,7 +9,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH SETFSUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setfsuid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
setfsuid \- set user identity used for filesystem checks
.SH LIBRARY
@@ -60,7 +60,7 @@ saved set-user-ID, or current filesystem user ID.
On both success and failure,
this call returns the previous filesystem user ID of the caller.
.SH VERSIONS
-This system call is present in Linux since version 1.2.
+This system call is present since Linux 1.2.
.\" This system call is present since Linux 1.1.44
.\" and in libc since libc 4.7.6.
.SH STANDARDS
diff --git a/man2/setgid.2 b/man2/setgid.2
index 080dd12ca..c55507fc2 100644
--- a/man2/setgid.2
+++ b/man2/setgid.2
@@ -7,7 +7,7 @@
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2002-03-09 by aeb
.\"
-.TH SETGID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setgid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setgid \- set group identity
.SH LIBRARY
diff --git a/man2/setns.2 b/man2/setns.2
index 8454185bf..737a5f0f6 100644
--- a/man2/setns.2
+++ b/man2/setns.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-only
.\"
-.TH SETNS 2 2022-10-09 "Linux man-pages 6.01"
+.TH setns 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
setns \- reassociate thread with a namespace
.SH LIBRARY
@@ -23,7 +23,7 @@ system call allows the calling thread to move into different namespaces.
The
.I fd
argument is one of the following:
-.IP \(bu 2
+.IP \(bu 3
a file descriptor referring to one of the magic links in a
.IR /proc/ pid /ns/
directory (or a bind mount to such a link);
@@ -305,8 +305,8 @@ is a PID file descriptor but the process it refers to no longer exists
.SH VERSIONS
The
.BR setns ()
-system call first appeared in Linux in kernel 3.0;
-library support was added to glibc in version 2.14.
+system call first appeared in Linux 3.0;
+library support was added in glibc 2.14.
.SH STANDARDS
The
.BR setns ()
diff --git a/man2/setpgid.2 b/man2/setpgid.2
index 18c8b2ef2..0e14cf86c 100644
--- a/man2/setpgid.2
+++ b/man2/setpgid.2
@@ -17,7 +17,7 @@
.\" 2007-07-25, mtk, fairly substantial rewrites and rearrangements
.\" of text.
.\"
-.TH SETPGID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setpgid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setpgid, getpgid, setpgrp, getpgrp \- set/get process group
.SH LIBRARY
diff --git a/man2/setresuid.2 b/man2/setresuid.2
index 37b8b753b..db59c85ce 100644
--- a/man2/setresuid.2
+++ b/man2/setresuid.2
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified, 2003-05-26, Michael Kerrisk, <mtk.manpages@gmail.com>
-.TH SETRESUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setresuid 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
setresuid, setresgid \- set real, effective, and saved user or group ID
.SH LIBRARY
@@ -104,7 +104,7 @@ they also appear on HP-UX and some of the BSDs.
.SH NOTES
Under HP-UX and FreeBSD, the prototype is found in
.IR <unistd.h> .
-Under Linux, the prototype is provided by glibc since version 2.3.2.
+Under Linux, the prototype is provided since glibc 2.3.2.
.PP
The original Linux
.BR setresuid ()
diff --git a/man2/setreuid.2 b/man2/setreuid.2
index 658a23df8..4b3de45c6 100644
--- a/man2/setreuid.2
+++ b/man2/setreuid.2
@@ -15,7 +15,7 @@
.\" 2004-07-04 by aeb
.\" 2004-05-27 by Michael Kerrisk
.\"
-.TH SETREUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setreuid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setreuid, setregid \- set real and/or effective user or group ID
.SH LIBRARY
diff --git a/man2/setsid.2 b/man2/setsid.2
index 8b92d36d0..e73eff929 100644
--- a/man2/setsid.2
+++ b/man2/setsid.2
@@ -9,7 +9,7 @@
.\" tiny changes from a man page by Charles Livingston).
.\" Modified Sun Jul 21 14:45:46 1996 <aeb@cwi.nl>
.\"
-.TH SETSID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setsid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setsid \- creates a session and sets the process group ID
.SH LIBRARY
diff --git a/man2/setuid.2 b/man2/setuid.2
index e56a2dfa4..7c69e2df2 100644
--- a/man2/setuid.2
+++ b/man2/setuid.2
@@ -8,7 +8,7 @@
.\" <richard@greenend.org.uk>, aeb 970616.
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
-.TH SETUID 2 2022-10-09 "Linux man-pages 6.01"
+.TH setuid 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setuid \- set user identity
.SH LIBRARY
diff --git a/man2/setup.2 b/man2/setup.2
index 9dee02914..93f3cb3c3 100644
--- a/man2/setup.2
+++ b/man2/setup.2
@@ -11,7 +11,7 @@
.\" Modified Wed Nov 6 04:05:28 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Sat Jan 29 01:08:23 2000 by aeb
.\"
-.TH SETUP 2 2022-10-09 "Linux man-pages 6.01"
+.TH setup 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
setup \- setup devices and filesystems, mount root filesystem
.SH LIBRARY
diff --git a/man2/setxattr.2 b/man2/setxattr.2
index 67f7a68ba..98ebbe4eb 100644
--- a/man2/setxattr.2
+++ b/man2/setxattr.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH SETXATTR 2 2022-10-09 "Linux man-pages 6.01"
+.TH setxattr 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
setxattr, lsetxattr, fsetxattr \- set an extended attribute value
.SH LIBRARY
@@ -14,11 +14,11 @@ Standard C library
.B #include <sys/xattr.h>
.PP
.BI "int setxattr(const char *" path ", const char *" name ,
-.BI " const void *" value ", size_t " size ", int " flags );
+.BI " const void " value [. size "], size_t " size ", int " flags );
.BI "int lsetxattr(const char *" path ", const char *" name ,
-.BI " const void *" value ", size_t " size ", int " flags );
+.BI " const void " value [. size "], size_t " size ", int " flags );
.BI "int fsetxattr(int " fd ", const char *" name ,
-.BI " const void *" value ", size_t " size ", int " flags );
+.BI " const void " value [. size "], size_t " size ", int " flags );
.fi
.SH DESCRIPTION
Extended attributes are
@@ -138,8 +138,8 @@ or
.I value
exceeds a filesystem-specific limit.
.SH VERSIONS
-These system calls have been available on Linux since kernel 2.4;
-glibc support is provided since version 2.3.
+These system calls have been available since Linux 2.4;
+glibc support is provided since glibc 2.3.
.SH STANDARDS
These system calls are Linux-specific.
.\" .SH AUTHORS
diff --git a/man2/sgetmask.2 b/man2/sgetmask.2
index 97a6b9bb1..2d3d59037 100644
--- a/man2/sgetmask.2
+++ b/man2/sgetmask.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SGETMASK 2 2022-10-09 "Linux man-pages 6.01"
+.TH sgetmask 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sgetmask, ssetmask \- manipulation of signal mask (obsolete)
.SH LIBRARY
diff --git a/man2/shmctl.2 b/man2/shmctl.2
index b60553fd7..e29abb13d 100644
--- a/man2/shmctl.2
+++ b/man2/shmctl.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Luigi P. Bai (lpb@softint.com) July 28, 1993
.\" and Copyright 1993 Giorgio Ciucci <giorgio@crcc.it>
.\" and Copyright 2004, 2005 Michael Kerrisk <mtk.manpages@gmail.com>
@@ -16,14 +17,14 @@
.\" Updated shmid_ds structure definitions
.\" Added information on SHM_DEST and SHM_LOCKED flags
.\" Noted that CAP_IPC_LOCK is not required for SHM_UNLOCK
-.\" since kernel 2.6.9
+.\" since Linux 2.6.9
.\" Modified, 2004-11-25, mtk, notes on 2.6.9 RLIMIT_MEMLOCK changes
.\" 2005-04-25, mtk -- noted aberrant Linux behavior w.r.t. new
.\" attaches to a segment that has already been marked for deletion.
.\" 2005-08-02, mtk: Added IPC_INFO, SHM_INFO, SHM_STAT descriptions.
.\" 2018-03-20, dbueso: Added SHM_STAT_ANY description.
.\"
-.TH SHMCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH shmctl 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
shmctl \- System V shared memory control
.SH LIBRARY
@@ -325,12 +326,12 @@ will be set.
.BR SHM_UNLOCK " (Linux-specific)"
Unlock the segment, allowing it to be swapped out.
.PP
-In kernels before 2.6.10, only a privileged process
+Before Linux 2.6.10, only a privileged process
could employ
.B SHM_LOCK
and
.BR SHM_UNLOCK .
-Since kernel 2.6.10, an unprivileged process can employ these operations
+Since Linux 2.6.10, an unprivileged process can employ these operations
if its effective UID matches the owner or creator UID of the segment, and
(for
.BR SHM_LOCK )
@@ -338,10 +339,10 @@ the amount of memory to be locked falls within the
.B RLIMIT_MEMLOCK
resource limit (see
.BR setrlimit (2)).
-.\" There was some weirdness in 2.6.9: SHM_LOCK and SHM_UNLOCK could
+.\" There was some weirdness in Linux 2.6.9: SHM_LOCK and SHM_UNLOCK could
.\" be applied to a segment, regardless of ownership of the segment.
.\" This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed
-.\" in 2.6.10. MTK, May 2005
+.\" in Linux 2.6.10. MTK, May 2005
.SH RETURN VALUE
A successful
.B IPC_INFO
@@ -402,7 +403,7 @@ operation, the index value specified in
referred to an array slot that is currently unused.
.TP
.B ENOMEM
-(In kernels since 2.6.9),
+(Since Linux 2.6.9),
.B SHM_LOCK
was specified and the size of the to-be-locked segment would mean
that the total bytes in locked shared memory segments would exceed
@@ -429,7 +430,7 @@ and the process was not privileged (Linux: did not have the
.B CAP_SYS_ADMIN
capability).
.IP
-Or (in kernels before 2.6.9),
+Or (before Linux 2.6.9),
.B SHM_LOCK
or
.B SHM_UNLOCK
diff --git a/man2/shmget.2 b/man2/shmget.2
index 253213e2d..5963362bb 100644
--- a/man2/shmget.2
+++ b/man2/shmget.2
@@ -15,7 +15,7 @@
.\" Language and formatting clean-ups
.\" Added notes on /proc files
.\"
-.TH SHMGET 2 2022-10-09 "Linux man-pages 6.01"
+.TH shmget 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
shmget \- allocates a System V shared memory segment
.SH LIBRARY
@@ -161,7 +161,7 @@ its associated data structure,
(see
.BR shmctl (2)),
is initialized as follows:
-.IP \(bu 2
+.IP \(bu 3
.I shm_perm.cuid
and
.I shm_perm.uid
@@ -383,7 +383,7 @@ The implementation has no specific limits for the per-process maximum
number of shared memory segments
.RB ( SHMSEG ).
.SS Linux notes
-Until version 2.3.30, Linux would return
+Until Linux 2.3.30, Linux would return
.B EIDRM
for a
.BR shmget ()
diff --git a/man2/shmop.2 b/man2/shmop.2
index a1dde935e..0df8b1931 100644
--- a/man2/shmop.2
+++ b/man2/shmop.2
@@ -17,7 +17,7 @@
.\" Changed wording and placement of sentence regarding attachment
.\" of segments marked for destruction
.\"
-.TH SHMOP 2 2022-10-09 "Linux man-pages 6.01"
+.TH SHMOP 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
shmat, shmdt \- System V shared memory operations
.SH LIBRARY
@@ -27,7 +27,8 @@ Standard C library
.nf
.B #include <sys/shm.h>
.PP
-.BI "void *shmat(int " shmid ", const void *" shmaddr ", int " shmflg );
+.BI "void *shmat(int " shmid ", const void *_Nullable " shmaddr ", \
+int " shmflg );
.BI "int shmdt(const void *" shmaddr );
.fi
.SH DESCRIPTION
@@ -39,7 +40,7 @@ to the address space of the calling process.
The attaching address is specified by
.I shmaddr
with one of the following criteria:
-.IP \(bu 2
+.IP \(bu 3
If
.I shmaddr
is NULL,
@@ -107,7 +108,7 @@ call updates the members of the
structure (see
.BR shmctl (2))
associated with the shared memory segment as follows:
-.IP \(bu 2
+.IP \(bu 3
.I shm_atime
is set to the current time.
.IP \(bu
@@ -134,7 +135,7 @@ On a successful
call, the system updates the members of the
.I shmid_ds
structure associated with the shared memory segment as follows:
-.IP \(bu 2
+.IP \(bu 3
.I shm_dtime
is set to the current time.
.IP \(bu
@@ -196,7 +197,7 @@ can fail with one of the following errors:
There is no shared memory segment attached at
.IR shmaddr ;
or,
-.\" The following since 2.6.17-rc1:
+.\" The following since Linux 2.6.17-rc1:
.I shmaddr
is not aligned on a page boundary.
.SH STANDARDS
diff --git a/man2/shutdown.2 b/man2/shutdown.2
index e2b5db474..254cf664d 100644
--- a/man2/shutdown.2
+++ b/man2/shutdown.2
@@ -9,7 +9,7 @@
.\" Modified Tue Oct 22 22:04:51 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 1998 by Andi Kleen
.\"
-.TH SHUTDOWN 2 2022-10-09 "Linux man-pages 6.01"
+.TH shutdown 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
shutdown \- shut down part of a full-duplex connection
.SH LIBRARY
diff --git a/man2/sigaction.2 b/man2/sigaction.2
index 2ef5fd5b8..b6f98dac8 100644
--- a/man2/sigaction.2
+++ b/man2/sigaction.2
@@ -25,7 +25,7 @@
.\" 2015-01-17, Kees Cook <keescook@chromium.org>
.\" Added notes on ptrace SIGTRAP and SYS_SECCOMP.
.\"
-.TH SIGACTION 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigaction 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sigaction, rt_sigaction \- examine and change a signal action
.SH LIBRARY
@@ -35,8 +35,9 @@ Standard C library
.nf
.B #include <signal.h>
.PP
-.BI "int sigaction(int " signum ", const struct sigaction *restrict " act ,
-.BI " struct sigaction *restrict " oldact );
+.BI "int sigaction(int " signum ,
+.BI " const struct sigaction *_Nullable restrict " act ,
+.BI " struct sigaction *_Nullable restrict " oldact );
.fi
.PP
.RS -4
@@ -113,13 +114,13 @@ Some further details of the purpose of this field can be found in
specifies the action to be associated with
.I signum
and can be one of the following:
-.IP * 2
+.IP \(bu 3
.B SIG_DFL
for the default action.
-.IP *
+.IP \(bu
.B SIG_IGN
to ignore this signal.
-.IP *
+.IP \(bu
A pointer to a signal handling function.
This function receives the signal number as its only argument.
.PP
@@ -386,7 +387,7 @@ are defined for all signals.
is generally unused on Linux.)
The rest of the struct may be a union, so that one should
read only the fields that are meaningful for the given signal:
-.IP * 2
+.IP \(bu 3
Signals sent with
.BR kill (2)
and
@@ -401,7 +402,7 @@ with the values specified by the sender of the signal;
see
.BR sigqueue (3)
for more details.
-.IP *
+.IP \(bu
Signals sent by POSIX.1b timers (since Linux 2.6) fill in
.I si_overrun
and
@@ -417,7 +418,7 @@ field is the timer overrun count;
this is the same information as is obtained by a call to
.BR timer_getoverrun (2).
These fields are nonstandard Linux extensions.
-.IP *
+.IP \(bu
Signals sent for message queue notification (see the description of
.B SIGEV_SIGNAL
in
@@ -432,7 +433,7 @@ supplied to
with the process ID of the message sender; and
.IR si_uid ,
with the real user ID of the message sender.
-.IP *
+.IP \(bu
.B SIGCHLD
fills in
.IR si_pid ", " si_uid ", " si_status ", " si_utime ", and " si_stime ,
@@ -458,28 +459,28 @@ these fields do not include the times used by waited-for children (unlike
.BR getrusage (2)
and
.BR times (2)).
-In kernels up to 2.6, and since 2.6.27, these fields report
+Up to Linux 2.6, and since Linux 2.6.27, these fields report
CPU time in units of
.IR sysconf(_SC_CLK_TCK) .
-In 2.6 kernels before 2.6.27,
+In Linux 2.6 kernels before Linux 2.6.27,
a bug meant that these fields reported time in units
of the (configurable) system jiffy (see
.BR time (7)).
.\" FIXME .
.\" When si_utime and si_stime where originally implemented, the
.\" measurement unit was HZ, which was the same as clock ticks
-.\" (sysconf(_SC_CLK_TCK)). In 2.6, HZ became configurable, and
+.\" (sysconf(_SC_CLK_TCK)). In Linux 2.6, HZ became configurable, and
.\" was *still* used as the unit to return the info these fields,
.\" with the result that the field values depended on the
.\" configured HZ. Of course, the should have been measured in
.\" USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
.\" convert to seconds. I have a queued patch to fix this:
.\" http://thread.gmane.org/gmane.linux.kernel/698061/ .
-.\" This patch made it into 2.6.27.
+.\" This patch made it into Linux 2.6.27.
.\" But note that these fields still don't return the times of
.\" waited-for children (as is done by getrusage() and times()
.\" and wait4()). Solaris 8 does include child times.
-.IP *
+.IP \(bu
.BR SIGILL ,
.BR SIGFPE ,
.BR SIGSEGV ,
@@ -543,7 +544,7 @@ suberror of
.B SIGSEGV
populates
.IR si_pkey .
-.IP *
+.IP \(bu
.BR SIGIO / SIGPOLL
(the two names are synonyms on Linux)
fills in
@@ -563,7 +564,7 @@ for further details, see the description of
.B F_SETSIG
in
.BR fcntl (2).
-.IP *
+.IP \(bu
.BR SIGSYS ,
generated (since Linux 3.5)
.\" commit a0727e8ce513fe6890416da960181ceb10fbfae6
@@ -612,15 +613,15 @@ the definitions of most of these symbols are obtained from
by defining feature test macros (before including
.I any
header file) as follows:
-.IP * 3
+.IP \(bu 3
.B _XOPEN_SOURCE
with the value 500 or greater;
-.IP *
+.IP \(bu
.B _XOPEN_SOURCE
and
.BR _XOPEN_SOURCE_EXTENDED ;
or
-.IP *
+.IP \(bu
.B _POSIX_C_SOURCE
with the value 200809L or greater.
.PP
@@ -657,7 +658,7 @@ AIO completed.
.B SI_SIGIO
Queued
.B SIGIO
-(only in kernels up to Linux 2.2; from Linux 2.4 onward
+(only up to Linux 2.2; from Linux 2.4 onward
.BR SIGIO / SIGPOLL
fills in
.I si_code
@@ -667,9 +668,9 @@ as described below).
.BR tkill (2)
or
.BR tgkill (2).
-.\" SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
+.\" SI_DETHREAD is defined in Linux 2.6.9 sources, but isn't implemented
.\" It appears to have been an idea that was tried during 2.5.6
-.\" through to 2.5.24 and then was backed out.
+.\" through to Linux 2.5.24 and then was backed out.
.RE
.PP
The following values can be placed in
@@ -1117,14 +1118,14 @@ for all of the fields of the
.I siginfo_t
that are relevant for that signal.
.PP
-In kernels up to and including 2.6.13, specifying
+Up to and including Linux 2.6.13, specifying
.B SA_NODEFER
in
.I sa_flags
prevents not only the delivered signal from being masked during
execution of the handler, but also the signals specified in
.IR sa_mask .
-This bug was fixed in kernel 2.6.14.
+This bug was fixed in Linux 2.6.14.
.\" commit 69be8f189653cd81aae5a74e26615b12871bb72e
.SH EXAMPLES
See
diff --git a/man2/sigaltstack.2 b/man2/sigaltstack.2
index 8251f7241..e2dda7342 100644
--- a/man2/sigaltstack.2
+++ b/man2/sigaltstack.2
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2001, 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" aeb, various minor fixes
-.TH SIGALTSTACK 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigaltstack 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigaltstack \- set and/or get signal stack context
.SH LIBRARY
@@ -13,8 +14,8 @@ Standard C library
.nf
.B #include <signal.h>
.PP
-.BI "int sigaltstack(const stack_t *restrict " ss \
-", stack_t *restrict " old_ss );
+.BI "int sigaltstack(const stack_t *_Nullable restrict " ss ,
+.BI " stack_t *_Nullable restrict " old_ss );
.fi
.PP
.RS -4
diff --git a/man2/signal.2 b/man2/signal.2
index 39fcf8507..b46b9f913 100644
--- a/man2/signal.2
+++ b/man2/signal.2
@@ -13,7 +13,7 @@
.\" various sections.
.\" 2008-07-11, mtk: rewrote and expanded portability discussion.
.\"
-.TH SIGNAL 2 2022-10-09 "Linux man-pages 6.01"
+.TH signal 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
signal \- ANSI C signal handling
.SH LIBRARY
@@ -219,11 +219,11 @@ sa.sa_flags = SA_RESTART;
.in
.PP
The situation on Linux is as follows:
-.IP * 2
+.IP \(bu 3
The kernel's
.BR signal ()
system call provides System\ V semantics.
-.IP *
+.IP \(bu
By default, in glibc 2 and later, the
.BR signal ()
wrapper function does not invoke the kernel system call.
diff --git a/man2/signalfd.2 b/man2/signalfd.2
index 9499fa43f..ec6ababc2 100644
--- a/man2/signalfd.2
+++ b/man2/signalfd.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH SIGNALFD 2 2022-10-09 "Linux man-pages 6.01"
+.TH signalfd 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
signalfd \- create a file descriptor for accepting signals
.SH LIBRARY
@@ -86,7 +86,7 @@ flag in
.BR open (2)
for reasons why this may be useful.
.PP
-In Linux up to version 2.6.26, the
+Up to Linux 2.6.26, the
.I flags
argument is unused, and must be specified as zero.
.PP
@@ -329,12 +329,12 @@ Could not mount (internal) anonymous inode device.
There was insufficient memory to create a new signalfd file descriptor.
.SH VERSIONS
.BR signalfd ()
-is available on Linux since kernel 2.6.22.
-Working support is provided in glibc since version 2.8.
+is available since Linux 2.6.22.
+Working support is provided since glibc 2.8.
.\" signalfd() is in glibc 2.7, but reportedly does not build
The
.BR signalfd4 ()
-system call (see NOTES) is available on Linux since kernel 2.6.27.
+system call (see NOTES) is available since Linux 2.6.27.
.SH STANDARDS
.BR signalfd ()
and
@@ -428,13 +428,13 @@ wrapper function will use
.BR signalfd4 ()
where it is available.
.SH BUGS
-In kernels before 2.6.25, the
+Before Linux 2.6.25, the
.I ssi_ptr
and
.I ssi_int
fields are not filled in with the data accompanying a signal sent by
.BR sigqueue (3).
-.\" The fix also was put into 2.6.24.5
+.\" The fix also was put into Linux 2.6.24.5
.SH EXAMPLES
The program below accepts the signals
.B SIGINT
diff --git a/man2/sigpending.2 b/man2/sigpending.2
index de05c1295..ba7fae541 100644
--- a/man2/sigpending.2
+++ b/man2/sigpending.2
@@ -6,7 +6,7 @@
.\"
.\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2
.\"
-.TH SIGPENDING 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigpending 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sigpending, rt_sigpending \- examine pending signals
.SH LIBRARY
@@ -95,7 +95,7 @@ wrapper function hides these details from us, transparently calling
when the kernel provides it.
.\"
.SH BUGS
-In versions of glibc up to and including 2.2.1,
+Up to and including glibc 2.2.1,
there is a bug in the wrapper function for
.BR sigpending ()
which means that information about pending real-time signals
diff --git a/man2/sigprocmask.2 b/man2/sigprocmask.2
index 08ace934d..878f87514 100644
--- a/man2/sigprocmask.2
+++ b/man2/sigprocmask.2
@@ -6,7 +6,7 @@
.\"
.\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2
.\"
-.TH SIGPROCMASK 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigprocmask 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
sigprocmask, rt_sigprocmask \- examine and change blocked signals
.SH LIBRARY
@@ -17,22 +17,23 @@ Standard C library
.PP
.nf
/* Prototype for the glibc wrapper function */
-.BI "int sigprocmask(int " how ", const sigset_t *restrict " set ,
-.BI " sigset_t *restrict " oldset );
+.BI "int sigprocmask(int " how ", const sigset_t *_Nullable restrict " set ,
+.BI " sigset_t *_Nullable restrict " oldset );
.PP
.BR "#include <signal.h>" " /* Definition of " SIG_* " constants */"
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.PP
/* Prototype for the underlying system call */
-.BI "int syscall(SYS_rt_sigprocmask, int " how ", const kernel_sigset_t *" set ,
-.BI " kernel_sigset_t *" oldset \
-", size_t " sigsetsize );
+.BI "int syscall(SYS_rt_sigprocmask, int " how ,
+.BI " const kernel_sigset_t *_Nullable " set ,
+.BI " kernel_sigset_t *_Nullable " oldset ,
+.BI " size_t " sigsetsize );
.PP
/* Prototype for the legacy system call */
.BI "[[deprecated]] int syscall(SYS_sigprocmask, int " how ,
-.BI " const old_kernel_sigset_t *" set ,
-.BI " old_kernel_sigset_t *" oldset );
+.BI " const old_kernel_sigset_t *_Nullable " set ,
+.BI " old_kernel_sigset_t *_Nullable " oldset );
.fi
.PP
.RS -4
diff --git a/man2/sigreturn.2 b/man2/sigreturn.2
index 02451c06d..6c19a5e5e 100644
--- a/man2/sigreturn.2
+++ b/man2/sigreturn.2
@@ -7,7 +7,7 @@
.\" 2008-06-26, mtk, added some more detail on the work done by sigreturn()
.\" 2014-12-05, mtk, rewrote all of the rest of the original page
.\"
-.TH SIGRETURN 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigreturn 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sigreturn, rt_sigreturn \- return from signal handler and cleanup stack frame
.SH LIBRARY
@@ -26,7 +26,7 @@ when the process is rescheduled onto the CPU),
it creates a new frame on the user-space stack where it
saves various pieces of process context
(processor status word, registers, signal mask, and signal stack settings).
-.\" See arch/x86/kernel/signal.c::__setup_frame() [in 3.17 source code]
+.\" See arch/x86/kernel/signal.c::__setup_frame() [in Linux 3.17 source code]
.PP
The kernel also arranges that, during the transition back to user mode,
the signal handler is called, and that, upon return from the handler,
diff --git a/man2/sigsuspend.2 b/man2/sigsuspend.2
index 62552bdba..b3e06b08a 100644
--- a/man2/sigsuspend.2
+++ b/man2/sigsuspend.2
@@ -6,7 +6,7 @@
.\"
.\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2
.\"
-.TH SIGSUSPEND 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigsuspend 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sigsuspend, rt_sigsuspend \- wait for a signal
.SH LIBRARY
diff --git a/man2/sigwaitinfo.2 b/man2/sigwaitinfo.2
index b447a21b5..c4e0b55f5 100644
--- a/man2/sigwaitinfo.2
+++ b/man2/sigwaitinfo.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGWAITINFO 2 2022-10-09 "Linux man-pages 6.01"
+.TH sigwaitinfo 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
sigwaitinfo, sigtimedwait, rt_sigtimedwait \- synchronously wait
for queued signals
@@ -14,9 +14,9 @@ Standard C library
.B #include <signal.h>
.PP
.BI "int sigwaitinfo(const sigset_t *restrict " set ,
-.BI " siginfo_t *restrict " info );
+.BI " siginfo_t *_Nullable restrict " info );
.BI "int sigtimedwait(const sigset_t *restrict " set ,
-.BI " siginfo_t *restrict " info ,
+.BI " siginfo_t *_Nullable restrict " info ,
.BI " const struct timespec *restrict " timeout );
.fi
.PP
diff --git a/man2/socket.2 b/man2/socket.2
index c0b844d1f..cded9c476 100644
--- a/man2/socket.2
+++ b/man2/socket.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1983, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -11,7 +12,7 @@
.\" Modified 2002-07-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH SOCKET 2 2022-10-09 "Linux man-pages 6.01"
+.TH socket 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
socket \- create an endpoint for communication
.SH LIBRARY
diff --git a/man2/socketcall.2 b/man2/socketcall.2
index 18bf6809b..de0de2fa3 100644
--- a/man2/socketcall.2
+++ b/man2/socketcall.2
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH SOCKETCALL 2 2022-10-09 "Linux man-pages 6.01"
+.TH socketcall 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
socketcall \- socket system calls
.SH LIBRARY
diff --git a/man2/socketpair.2 b/man2/socketpair.2
index ffd7cc27e..49781ab7f 100644
--- a/man2/socketpair.2
+++ b/man2/socketpair.2
@@ -11,7 +11,7 @@
.\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2008-10-11, mtk: Add description of SOCK_NONBLOCK and SOCK_CLOEXEC
.\"
-.TH SOCKETPAIR 2 2022-10-09 "Linux man-pages 6.01"
+.TH socketpair 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
socketpair \- create a pair of connected sockets
.SH LIBRARY
diff --git a/man2/splice.2 b/man2/splice.2
index 5c947a74c..2e192db52 100644
--- a/man2/splice.2
+++ b/man2/splice.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SPLICE 2 2022-10-09 "Linux man-pages 6.01"
+.TH splice 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
splice \- splice data to/from a pipe
.SH LIBRARY
@@ -14,9 +14,9 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
.PP
-.BI "ssize_t splice(int " fd_in ", off64_t *" off_in ", int " fd_out ,
-.BI " off64_t *" off_out ", size_t " len \
-", unsigned int " flags );
+.BI "ssize_t splice(int " fd_in ", off64_t *_Nullable " off_in ,
+.BI " int " fd_out ", off64_t *_Nullable " off_out ,
+.BI " size_t " len ", unsigned int " flags );
.\" Return type was long before glibc 2.7
.fi
.SH DESCRIPTION
@@ -35,13 +35,13 @@ The following semantics apply for
.I fd_in
and
.IR off_in :
-.IP * 3
+.IP \(bu 3
If
.I fd_in
refers to a pipe, then
.I off_in
must be NULL.
-.IP *
+.IP \(bu
If
.I fd_in
does not refer to a pipe and
@@ -50,7 +50,7 @@ is NULL, then bytes are read from
.I fd_in
starting from the file offset,
and the file offset is adjusted appropriately.
-.IP *
+.IP \(bu
If
.I fd_in
does not refer to a pipe and
@@ -152,7 +152,7 @@ The target filesystem doesn't support splicing.
.TP
.B EINVAL
The target file is opened in append mode.
-.\" The append-mode error is given since 2.6.27; in earlier kernels,
+.\" The append-mode error is given since Linux 2.6.27; in earlier kernels,
.\" splice() in append mode was broken
.TP
.B EINVAL
@@ -180,7 +180,7 @@ was not NULL, but the corresponding file descriptor refers to a pipe.
The
.BR splice ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
@@ -193,14 +193,14 @@ provide user-space programs with full control over an arbitrary
kernel buffer, implemented within the kernel using the same type
of buffer that is used for a pipe.
In overview, these system calls perform the following tasks:
-.IP \(bu 2
+.TP
.BR splice ()
moves data from the buffer to an arbitrary file descriptor, or vice versa,
or from one buffer to another.
-.IP \(bu
+.TP
.BR tee (2)
"copies" the data from one buffer to another.
-.IP \(bu
+.TP
.BR vmsplice (2)
"copies" data from user space into the buffer.
.PP
diff --git a/man2/spu_create.2 b/man2/spu_create.2
index 5f0b65c1d..313c38142 100644
--- a/man2/spu_create.2
+++ b/man2/spu_create.2
@@ -8,7 +8,7 @@
.\" 2007-07-10, some polishing by mtk
.\" 2007-09-28, updates for newer kernels by Jeremy Kerr <jk@ozlabs.org>
.\"
-.TH SPU_CREATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH spu_create 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
spu_create \- create a new spu context
.SH LIBRARY
@@ -247,7 +247,7 @@ By convention, it gets mounted in
.SH VERSIONS
The
.BR spu_create ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
This call is Linux-specific and implemented only on the PowerPC
architecture.
diff --git a/man2/spu_run.2 b/man2/spu_run.2
index 2914cd188..ea49072b9 100644
--- a/man2/spu_run.2
+++ b/man2/spu_run.2
@@ -9,7 +9,7 @@
.\" 2007-09-28, updates for newer kernels, added example
.\" by Jeremy Kerr <jk@ozlabs.org>
.\"
-.TH SPU_RUN 2 2022-10-09 "Linux man-pages 6.01"
+.TH spu_run 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
spu_run \- execute an SPU context
.SH LIBRARY
@@ -184,7 +184,7 @@ loaded.
.SH VERSIONS
The
.BR spu_run ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
This call is Linux-specific and implemented only by the PowerPC
architecture.
diff --git a/man2/stat.2 b/man2/stat.2
index b1576e7ea..79f064a71 100644
--- a/man2/stat.2
+++ b/man2/stat.2
@@ -16,7 +16,7 @@
.\" 2007-06-08 mtk: Added example program
.\" 2007-07-05 mtk: Added details on underlying system call interfaces
.\"
-.TH STAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH stat 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
stat, fstat, lstat, fstatat \- get file status
.SH LIBRARY
@@ -308,8 +308,8 @@ on a file whose size exceeds
bytes.
.SH VERSIONS
.BR fstatat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR stat (),
.BR fstat (),
diff --git a/man2/statfs.2 b/man2/statfs.2
index dd6570e86..5853173f6 100644
--- a/man2/statfs.2
+++ b/man2/statfs.2
@@ -5,7 +5,7 @@
.\" Modified 2003-08-17 by Walter Harms
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH STATFS 2 2022-10-09 "Linux man-pages 6.01"
+.TH statfs 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
statfs, fstatfs \- get filesystem statistics
.SH LIBRARY
diff --git a/man2/statx.2 b/man2/statx.2
index 611a476f9..0442a6c18 100644
--- a/man2/statx.2
+++ b/man2/statx.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2017 David Howells <dhowells@redhat.com>
.\"
.\" Derived from the stat.2 manual page:
@@ -7,7 +8,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH STATX 2 2022-10-12 "Linux man-pages 6.01"
+.TH statx 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
statx \- get file status (extended)
.SH LIBRARY
@@ -590,7 +591,7 @@ is relative and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR statx ()
-was added to Linux in kernel 4.11; library support was added in glibc 2.28.
+was added in Linux 4.11; library support was added in glibc 2.28.
.SH STANDARDS
.BR statx ()
is Linux-specific.
diff --git a/man2/stime.2 b/man2/stime.2
index d3a98db32..aa3e864ca 100644
--- a/man2/stime.2
+++ b/man2/stime.2
@@ -7,7 +7,7 @@
.\" Modified 2001-03-16 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH STIME 2 2022-10-09 "Linux man-pages 6.01"
+.TH stime 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
stime \- set time
.SH SYNOPSIS
diff --git a/man2/subpage_prot.2 b/man2/subpage_prot.2
index 96f641e18..0484d51c1 100644
--- a/man2/subpage_prot.2
+++ b/man2/subpage_prot.2
@@ -4,10 +4,10 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Various pieces of text taken from the kernel source and the commentary
-.\" in kernel commit fa28237cfcc5827553044cbd6ee52e33692b0faa
+.\" in Linux commit fa28237cfcc5827553044cbd6ee52e33692b0faa
.\" both written by Paul Mackerras <paulus@samba.org>
.\"
-.TH SUBPAGE_PROT 2 2022-10-09 "Linux man-pages 6.01"
+.TH subpage_prot 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
subpage_prot \- define a subpage protection for an address range
.SH LIBRARY
diff --git a/man2/swapon.2 b/man2/swapon.2
index 1557d31d5..6b846173f 100644
--- a/man2/swapon.2
+++ b/man2/swapon.2
@@ -22,7 +22,7 @@
.\" Author: Rafael Aquini <aquini@redhat.com>
.\" Date: Wed Jul 3 15:02:46 2013 -0700
.\"
-.TH SWAPON 2 2022-10-09 "Linux man-pages 6.01"
+.TH swapon 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
swapon, swapoff \- start/stop swapping to file/device
.SH LIBRARY
@@ -160,11 +160,11 @@ The partition or path must be prepared with
There is an upper limit on the number of swap files that may be used,
defined by the kernel constant
.BR MAX_SWAPFILES .
-Before kernel 2.4.10,
+Before Linux 2.4.10,
.B MAX_SWAPFILES
has the value 8;
-since kernel 2.4.10, it has the value 32.
-Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)
+since Linux 2.4.10, it has the value 32.
+Since Linux 2.6.18, the limit is decreased by 2 (thus: 30)
if the kernel is built with the
.B CONFIG_MIGRATION
option
@@ -172,20 +172,20 @@ option
.BR mbind (2)
and
.BR migrate_pages (2)).
-Since kernel 2.6.32, the limit is further decreased by 1
+Since Linux 2.6.32, the limit is further decreased by 1
if the kernel is built with the
.B CONFIG_MEMORY_FAILURE
option.
-Since kernel 5.14, the limit is further decreased by 4
+Since Linux 5.14, the limit is further decreased by 4
if the kernel is built with the
.B CONFIG_DEVICE_PRIVATE
option.
.PP
-Discard of swap pages was introduced in kernel 2.6.29,
+Discard of swap pages was introduced in Linux 2.6.29,
then made conditional
on the
.B SWAP_FLAG_DISCARD
-flag in kernel 2.6.36,
+flag in Linux 2.6.36,
.\" To be precise: 2.6.35.5
which still discards the
entire swap area when
diff --git a/man2/symlink.2 b/man2/symlink.2
index 2c0eef78a..b8c1692e8 100644
--- a/man2/symlink.2
+++ b/man2/symlink.2
@@ -10,7 +10,7 @@
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH SYMLINK 2 2022-10-09 "Linux man-pages 6.01"
+.TH symlink 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
symlink, symlinkat \- make a new name for a file
.SH LIBRARY
@@ -72,7 +72,7 @@ The permissions of a symbolic link are irrelevant; the ownership is
ignored when following the link
(except when the
.I protected_symlinks
-feature in enabled, as explained in
+feature is enabled, as explained in
.BR proc (5)),
but is checked when removal or
renaming of the link is requested and the link is in a directory with
@@ -216,8 +216,8 @@ does not support the creation of symbolic links.
is on a read-only filesystem.
.SH VERSIONS
.BR symlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR symlink ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
diff --git a/man2/sync.2 b/man2/sync.2
index e60ae4e88..af7040e1a 100644
--- a/man2/sync.2
+++ b/man2/sync.2
@@ -13,7 +13,7 @@
.\" Modified 2001-10-10 by aeb, following Michael Kerrisk.
.\" 2011-09-07, mtk, Added syncfs() documentation,
.\"
-.TH SYNC 2 2022-10-09 "Linux man-pages 6.01"
+.TH sync 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sync, syncfs \- commit filesystem caches to disk
.SH LIBRARY
@@ -90,7 +90,7 @@ storage space.
.SH VERSIONS
.BR syncfs ()
first appeared in Linux 2.6.39;
-library support was added to glibc in version 2.14.
+library support was added in glibc 2.14.
.SH STANDARDS
.BR sync ():
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
@@ -121,7 +121,7 @@ provide the same guarantees as
called on every file in
the system or filesystem respectively.
.PP
-In mainline kernel versions prior to 5.8,
+In mainline kernel versions prior to Linux 5.8,
.BR syncfs ()
will fail only when passed a bad file descriptor
.RB ( EBADF ).
@@ -133,7 +133,7 @@ to be written back since the last
.BR syncfs ()
call.
.SH BUGS
-Before version 1.3.20 Linux did not wait for I/O to complete
+Before Linux 1.3.20, Linux did not wait for I/O to complete
before returning.
.SH SEE ALSO
.BR sync (1),
diff --git a/man2/sync_file_range.2 b/man2/sync_file_range.2
index 7823e1c3e..44a08d68f 100644
--- a/man2/sync_file_range.2
+++ b/man2/sync_file_range.2
@@ -7,7 +7,7 @@
.\" Andrew Morton's comments in fs/sync.c
.\" 2010-10-09, mtk, Document sync_file_range2()
.\"
-.TH SYNC_FILE_RANGE 2 2022-10-09 "Linux man-pages 6.01"
+.TH sync_file_range 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sync_file_range \- sync a file segment with disk
.SH LIBRARY
@@ -156,7 +156,7 @@ refers to something other than a regular file, a block device, or
a directory.
.SH VERSIONS
.BR sync_file_range ()
-appeared on Linux in kernel 2.6.17.
+appeared in Linux 2.6.17.
.SH STANDARDS
This system call is Linux-specific, and should be avoided
in portable programs.
diff --git a/man2/syscall.2 b/man2/syscall.2
index 760779b3e..aa0ff6ed8 100644
--- a/man2/syscall.2
+++ b/man2/syscall.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -11,7 +12,7 @@
.\" 2015-01-17, Kees Cook <keescook@chromium.org>
.\" Added mips and arm64.
.\"
-.TH SYSCALL 2 2022-10-09 "Linux man-pages 6.01"
+.TH syscall 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
syscall \- indirect system call
.SH LIBRARY
@@ -176,6 +177,7 @@ arm64 svc #0 w8 x0 x1 -
blackfin excpt 0x0 P0 R0 - -
i386 int $0x80 eax eax edx -
ia64 break 0x100000 r15 r8 r9 r10 1, 6
+loongarch syscall 0 a7 a0 - -
m68k trap #0 d0 d0 - -
microblaze brki r14,8 r12 r3 - -
mips syscall v0 v0 v1 a3 1, 6
@@ -196,7 +198,7 @@ xtensa syscall a2 a2 - -
.TE
.PP
Notes:
-.IP [1] 4
+.IP \(bu 3
On a few architectures,
a register is used as a boolean
(0 indicating no error, and \-1 indicating an error) to signal that the
@@ -212,20 +214,20 @@ On powerpc64, the summary overflow bit
in field 0 of the condition register
.RI ( cr0 )
is used.
-.IP [2]
+.IP \(bu
.I NR
is the system call number.
-.IP [3]
+.IP \(bu
For s390 and s390x,
.I NR
(the system call number) may be passed directly with
.I "svc\ NR"
if it is less than 256.
-.IP [4]
+.IP \(bu
On SuperH additional trap numbers are supported for historic reasons, but
.BR trapa #31
is the recommended "unified" ABI.
-.IP [5]
+.IP \(bu
The x32 ABI shares syscall table with x86-64 ABI, but there are some
nuances:
.RS
@@ -265,7 +267,7 @@ but passes an 8-byte
.I pos
argument in a single register and not two, as is done in every other ABI.
.RE
-.IP [6]
+.IP \(bu
Some architectures
(namely, Alpha, IA-64, MIPS, SuperH, sparc/32, and sparc/64)
use an additional register ("Retval2" in the above table)
@@ -301,6 +303,7 @@ arm64 x0 x1 x2 x3 x4 x5 -
blackfin R0 R1 R2 R3 R4 R5 -
i386 ebx ecx edx esi edi ebp -
ia64 out0 out1 out2 out3 out4 out5 -
+loongarch a0 a1 a2 a3 a4 a5 a6
m68k d1 d2 d3 d4 d5 a0 -
microblaze r5 r6 r7 r8 r9 r10 -
mips/o32 a0 a1 a2 a3 - - - 1
@@ -322,7 +325,7 @@ xtensa a6 a3 a4 a5 a8 a9 -
.TE
.PP
Notes:
-.IP [1] 4
+.IP \(bu 3
The mips/o32 system call convention passes
arguments 5 through 8 on the user stack.
.if t \{\
diff --git a/man2/syscalls.2 b/man2/syscalls.2
index 117c01f22..8148298cd 100644
--- a/man2/syscalls.2
+++ b/man2/syscalls.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\" with some input from Stepan Kasal <kasal@ucw.cz>
.\"
@@ -8,7 +9,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SYSCALLS 2 2022-10-09 "Linux man-pages 6.01"
+.TH syscalls 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
syscalls \- Linux system calls
.SH SYNOPSIS
@@ -68,68 +69,68 @@ column indicates the kernel version
for those system calls that were new in Linux 2.2,
or have appeared since that kernel version.
Note the following points:
-.IP * 3
+.IP \(bu 3
Where no kernel version is indicated,
-the system call appeared in kernel 1.0 or earlier.
-.IP *
+the system call appeared in Linux 1.0 or earlier.
+.IP \(bu
Where a system call is marked "1.2"
-this means the system call probably appeared in a 1.1.x kernel version,
+this means the system call probably appeared in a Linux 1.1.x kernel version,
and first appeared in a stable kernel with 1.2.
(Development of the 1.2 kernel was initiated from a branch of kernel
1.0.6 via the 1.1.x unstable kernel series.)
-.IP *
+.IP \(bu
Where a system call is marked "2.0"
-this means the system call probably appeared in a 1.3.x kernel version,
-and first appeared in a stable kernel with 2.0.
-(Development of the 2.0 kernel was initiated from a branch of kernel
-1.2.x, somewhere around 1.2.10,
-via the 1.3.x unstable kernel series.)
-.\" Was kernel 2.0 started from a branch of 1.2.10?
+this means the system call probably appeared in a Linux 1.3.x kernel version,
+and first appeared in a stable kernel with Linux 2.0.
+(Development of the Linux 2.0 kernel was initiated from a branch of
+Linux 1.2.x, somewhere around Linux 1.2.10,
+via the Linux 1.3.x unstable kernel series.)
+.\" Was Linux 2.0 started from a branch of Linux 1.2.10?
.\" At least from the timestamps of the tarballs of
-.\" of 1.2.10 and 1.3.0, that's how it looks, but in
+.\" of Linux 1.2.10 and Linux 1.3.0, that's how it looks, but in
.\" fact the diff doesn't seem very clear, the
-.\" 1.3.0 .tar.bz is much bigger (2.0 MB) than the
-.\" 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
-.\" timestamps of some files in 1.3.0 seem to be older
-.\" than those in 1.2.10. All of this suggests
+.\" Linux 1.3.0 .tar.bz is much bigger (2.0 MB) than the
+.\" Linux 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the
+.\" timestamps of some files in Linux 1.3.0 seem to be older
+.\" than those in Linux 1.2.10. All of this suggests
.\" that there might not have been a clean branch point.
-.IP *
+.IP \(bu
Where a system call is marked "2.2"
-this means the system call probably appeared in a 2.1.x kernel version,
-and first appeared in a stable kernel with 2.2.0.
-(Development of the 2.2 kernel was initiated from a branch of kernel
-2.0.21 via the 2.1.x unstable kernel series.)
-.IP *
+this means the system call probably appeared in a Linux 2.1.x kernel version,
+and first appeared in a stable kernel with Linux 2.2.0.
+(Development of the Linux 2.2 kernel was initiated from a branch of kernel
+Linux 2.0.21 via the Linux 2.1.x unstable kernel series.)
+.IP \(bu
Where a system call is marked "2.4"
-this means the system call probably appeared in a 2.3.x kernel version,
-and first appeared in a stable kernel with 2.4.0.
-(Development of the 2.4 kernel was initiated from a branch of
-kernel 2.2.8 via the 2.3.x unstable kernel series.)
-.IP *
+this means the system call probably appeared in a Linux 2.3.x kernel version,
+and first appeared in a stable kernel with Linux 2.4.0.
+(Development of the Linux 2.4 kernel was initiated from a branch of
+Linux 2.2.8 via the Linux 2.3.x unstable kernel series.)
+.IP \(bu
Where a system call is marked "2.6"
-this means the system call probably appeared in a 2.5.x kernel version,
-and first appeared in a stable kernel with 2.6.0.
-(Development of kernel 2.6 was initiated from a branch
-of kernel 2.4.15 via the 2.5.x unstable kernel series.)
-.IP *
-Starting with kernel 2.6.0, the development model changed,
-and new system calls may appear in each 2.6.x release.
+this means the system call probably appeared in a Linux 2.5.x kernel version,
+and first appeared in a stable kernel with Linux 2.6.0.
+(Development of Linux 2.6 was initiated from a branch
+of Linux 2.4.15 via the Linux 2.5.x unstable kernel series.)
+.IP \(bu
+Starting with Linux 2.6.0, the development model changed,
+and new system calls may appear in each Linux 2.6.x release.
In this case, the exact version number where the system call appeared
is shown.
-This convention continues with the 3.x kernel series,
-which followed on from kernel 2.6.39; and the 4.x kernel series,
-which followed on from kernel 3.19; and the 5.x kernel series,
-which followed on from kernel 4.20.
-.IP *
+This convention continues with the Linux 3.x kernel series,
+which followed on from Linux 2.6.39; and the Linux 4.x kernel series,
+which followed on from Linux 3.19; and the Linux 5.x kernel series,
+which followed on from Linux 4.20.
+.IP \(bu
In some cases, a system call was added to a stable kernel
series after it branched from the previous stable kernel
series, and then backported into the earlier stable kernel series.
-For example some system calls that appeared in 2.6.x were also backported
-into a 2.4.x release after 2.4.15.
+For example some system calls that appeared in Linux 2.6.x were also backported
+into a Linux 2.4.x release after Linux 2.4.15.
When this is so, the version where the system call appeared
in both of the major kernel series is listed.
.PP
-The list of system calls that are available as at kernel 5.14
+The list of system calls that are available as at Linux 5.14
(or in a few cases only on older kernels) is as follows:
.\"
.\" Looking at scripts/checksyscalls.sh in the kernel source is
@@ -874,7 +875,7 @@ and
exist as library routines.
The slot for
.BR phys (2)
-is in use since kernel 2.1.116 for
+is in use since Linux 2.1.116 for
.BR umount (2);
.BR phys (2)
will never be implemented.
@@ -887,7 +888,7 @@ and may never be in the standard kernel.
.PP
There was briefly
.BR set_zone_reclaim (2),
-added in Linux 2.6.13, and removed in 2.6.16;
+added in Linux 2.6.13, and removed in Linux 2.6.16;
this system call was never available to user space.
.\"
.SS System calls on removed ports
@@ -897,9 +898,9 @@ since been removed from the kernel:
AVR32 (port removed in Linux 4.12)
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
.BR pread (2)
-.IP *
+.IP \(bu
.BR pwrite (2)
.PD
.RE
@@ -907,22 +908,22 @@ AVR32 (port removed in Linux 4.12)
Blackfin (port removed in Linux 4.17)
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
.BR bfin_spinlock (2)
(added in Linux 2.6.22)
-.IP *
+.IP \(bu
.BR dma_memcpy (2)
(added in Linux 2.6.22)
-.IP *
+.IP \(bu
.BR pread (2)
(added in Linux 2.6.22)
-.IP *
+.IP \(bu
.BR pwrite (2)
(added in Linux 2.6.22)
-.IP *
+.IP \(bu
.BR sram_alloc (2)
(added in Linux 2.6.22)
-.IP *
+.IP \(bu
.BR sram_free (2)
(added in Linux 2.6.22)
.PD
@@ -931,16 +932,16 @@ Blackfin (port removed in Linux 4.17)
Metag (port removed in Linux 4.17)
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
.BR metag_get_tls (2)
(add in Linux 3.9)
-.IP *
+.IP \(bu
.BR metag_set_fpu_flags (2)
(add in Linux 3.9)
-.IP *
+.IP \(bu
.BR metag_set_tls (2)
(add in Linux 3.9)
-.IP *
+.IP \(bu
.BR metag_setglobalbit (2)
(add in Linux 3.9)
.PD
@@ -949,7 +950,7 @@ Metag (port removed in Linux 4.17)
Tile (port removed in Linux 4.17)
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
.BR cmpxchg_badaddr (2)
(added in Linux 2.6.36)
.PD
@@ -987,7 +988,7 @@ system call is invoked, and that ABI compatibility is
preserved for old binaries.)
Examples of systems calls that exist in multiple versions are
the following:
-.IP * 3
+.IP \(bu 3
By now there are three different versions of
.BR stat (2):
.IR sys_stat ()
@@ -1008,7 +1009,7 @@ A similar story applies for
.BR lstat (2)
and
.BR fstat (2).
-.IP *
+.IP \(bu
Similarly, the defines
.IR __NR_oldolduname ,
.IR __NR_olduname ,
@@ -1019,14 +1020,14 @@ refer to the routines
.IR sys_uname (),
and
.IR sys_newuname ().
-.IP *
+.IP \(bu
In Linux 2.0, a new version of
.BR vm86 (2)
appeared, with the old and the new kernel routines being named
.IR sys_vm86old ()
and
.IR sys_vm86 ().
-.IP *
+.IP \(bu
In Linux 2.4, a new version of
.BR getrlimit (2)
appeared, with the old and the new kernel routines being named
@@ -1037,7 +1038,7 @@ and
.IR sys_getrlimit ()
(slot
.IR __NR_ugetrlimit ).
-.IP *
+.IP \(bu
Linux 2.4 increased the size of user and group IDs from 16 to 32 bits.
.\" 64-bit off_t changes: ftruncate64, *stat64,
.\" fcntl64 (because of the flock structure), getdents64, *statfs64
@@ -1049,7 +1050,7 @@ To support this change, a range of system calls were added
.BR setresuid32 (2)),
superseding earlier calls of the same name without the
"32" suffix.
-.IP *
+.IP \(bu
Linux 2.4 added support for applications on 32-bit architectures
to access large files (i.e., files for which the sizes and
file offsets can't be represented in 32 bits.)
@@ -1072,15 +1073,15 @@ On newer platforms that only have 64-bit file access and 32-bit UIDs/GIDs
the UID/GID and file access system calls.
On platforms (typically, 32-bit platforms) where the *64 and *32 calls exist,
the other versions are obsolete.
-.IP *
+.IP \(bu
The
.I rt_sig*
-calls were added in kernel 2.2 to support the addition
+calls were added in Linux 2.2 to support the addition
of real-time signals (see
.BR signal (7)).
These system calls supersede the older system calls of the same
name without the "rt_" prefix.
-.IP *
+.IP \(bu
The
.BR select (2)
and
@@ -1122,7 +1123,7 @@ s390x is the only 64-bit architecture that has
.\" and
.\" .IR sys_sysctl ().
.\"
-.\" In kernel 2.1.81,
+.\" In Linux 2.1.81,
.\" .BR lchown (2)
.\" and
.\" .BR chown (2)
@@ -1135,27 +1136,27 @@ s390x is the only 64-bit architecture that has
.\"
.\"
.SS "Architecture-specific details: Alpha"
-.IP * 3
+.TP
.BR getxgid (2)
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided
instead of
\fBgetgid\fP(2) and \fBgetegid\fP(2).
-.IP *
+.TP
.BR getxpid (2)
returns a pair of PID and parent PID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetpid\fP(2) and \fBgetppid\fP(2).
-.IP *
+.TP
.BR old_adjtimex (2)
is a variant of \fBadjtimex\fP(2) that uses \fIstruct timeval32\fP,
for compatibility with OSF/1.
-.IP *
+.TP
.BR getxuid (2)
returns a pair of GID and effective GID via registers
\fBr0\fP and \fBr20\fP; it is provided instead of
\fBgetuid\fP(2) and \fBgeteuid\fP(2).
-.IP *
+.TP
.BR sethae (2)
is used for configuring the Host Address Extension register on
low-cost Alphas in order to access address space beyond first 27 bits.
diff --git a/man2/sysctl.2 b/man2/sysctl.2
index 8efafd6f6..fe8b9032f 100644
--- a/man2/sysctl.2
+++ b/man2/sysctl.2
@@ -7,7 +7,7 @@
.\" Modified Tue Oct 22 22:28:41 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Mon Jan 5 20:31:04 1998 by aeb.
.\"
-.TH SYSCTL 2 2022-10-09 "Linux man-pages 6.01"
+.TH sysctl 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sysctl \- read/write system parameters
.SH SYNOPSIS
@@ -75,7 +75,7 @@ non-NULL, but allowed zero room in
was not found.
.SH VERSIONS
This system call first appeared in Linux 1.3.57.
-It was removed in Linux 5.5; glibc support was removed in version 2.32.
+It was removed in Linux 5.5; glibc support was removed in glibc 2.32.
.SH STANDARDS
This call is Linux-specific, and should not be used in programs
intended to be portable.
diff --git a/man2/sysfs.2 b/man2/sysfs.2
index 9d694efd7..3b23f9b1c 100644
--- a/man2/sysfs.2
+++ b/man2/sysfs.2
@@ -4,7 +4,7 @@
.\"
.\" Created Wed Aug 9 1995 Thomas K. Dyas <tdyas@eden.rutgers.edu>
.\"
-.TH SYSFS 2 2022-10-09 "Linux man-pages 6.01"
+.TH sysfs 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sysfs \- get filesystem type information
.SH SYNOPSIS
diff --git a/man2/sysinfo.2 b/man2/sysinfo.2
index 4a6f16e07..6b0533367 100644
--- a/man2/sysinfo.2
+++ b/man2/sysinfo.2
@@ -12,7 +12,7 @@
.\" Modified Tue Oct 22 22:29:51 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Mon Aug 25 16:06:11 1997 by Nicolás Lichtmaier <nick@debian.org>
.\"
-.TH SYSINFO 2 2022-10-09 "Linux man-pages 6.01"
+.TH sysinfo 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sysinfo \- return system information
.SH LIBRARY
diff --git a/man2/syslog.2 b/man2/syslog.2
index 4a2510608..655f0c8cb 100644
--- a/man2/syslog.2
+++ b/man2/syslog.2
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl)
.\" and Copyright (C) 2012, 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -9,7 +10,7 @@
.\" 2008-02-15, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Update LOG_BUF_LEN details; update RETURN VALUE section.
.\"
-.TH SYSLOG 2 2022-10-09 "Linux man-pages 6.01"
+.TH syslog 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
syslog, klogctl \- read and/or clear kernel message ring buffer;
set console_loglevel
@@ -54,13 +55,13 @@ are stored (regardless of their log level).
In early kernels,
.B LOG_BUF_LEN
had the value 4096;
-from kernel 1.3.54, it was 8192;
-from kernel 2.1.113, it was 16384;
-since kernel 2.4.23/2.6, the value is a kernel configuration option
+from Linux 1.3.54, it was 8192;
+from Linux 2.1.113, it was 16384;
+since Linux 2.4.23/2.6, the value is a kernel configuration option
.RB ( CONFIG_LOG_BUF_SHIFT ,
default value dependent on the architecture).
.\" Under "General setup" ==> "Kernel log buffer size"
-.\" For 2.6, precisely the option seems to have appeared in 2.5.55.
+.\" For Linux 2.6, precisely the option seems to have appeared in Linux 2.5.55.
Since Linux 2.6.6, the size can be queried with command type 10 (see below).
.SS Commands
The \fItype\fP argument determines the action taken by this function.
@@ -209,7 +210,7 @@ and
arguments are ignored.
.PP
All commands except 3 and 10 require privilege.
-In Linux kernels before 2.6.37,
+In Linux kernels before Linux 2.6.37,
command types 3 and 10 are allowed to unprivileged processes;
since Linux 2.6.37,
these commands are allowed to unprivileged processes only if
diff --git a/man2/tee.2 b/man2/tee.2
index 0969223ce..18366fc1f 100644
--- a/man2/tee.2
+++ b/man2/tee.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TEE 2 2022-10-09 "Linux man-pages 6.01"
+.TH tee 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
tee \- duplicating pipe content
.SH LIBRARY
@@ -104,7 +104,7 @@ Out of memory.
The
.BR tee ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/time.2 b/man2/time.2
index 8f58af621..709030762 100644
--- a/man2/time.2
+++ b/man2/time.2
@@ -6,7 +6,7 @@
.\" Modified Sat Jul 24 14:13:40 1993 by Rik Faith <faith@cs.unc.edu>
.\" Additions by Joseph S. Myers <jsm28@cam.ac.uk>, 970909
.\"
-.TH TIME 2 2022-10-09 "Linux man-pages 6.01"
+.TH time 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
time \- get time in seconds
.SH LIBRARY
@@ -16,7 +16,7 @@ Standard C library
.nf
.B #include <time.h>
.PP
-.BI "time_t time(time_t *" tloc );
+.BI "time_t time(time_t *_Nullable " tloc );
.fi
.SH DESCRIPTION
.BR time ()
diff --git a/man2/timer_create.2 b/man2/timer_create.2
index 36c7fe4f8..331ea689c 100644
--- a/man2/timer_create.2
+++ b/man2/timer_create.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TIMER_CREATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH timer_create 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
timer_create \- create a POSIX per-process timer
.SH LIBRARY
@@ -14,7 +14,8 @@ Real-time library
.BR "#include <signal.h>" " /* Definition of " SIGEV_* " constants */"
.B #include <time.h>
.PP
-.BI "int timer_create(clockid_t " clockid ", struct sigevent *restrict " sevp ,
+.BI "int timer_create(clockid_t " clockid ,
+.BI " struct sigevent *_Nullable restrict " sevp ,
.BI " timer_t *restrict " timerid );
.fi
.PP
@@ -49,7 +50,7 @@ A nonsettable monotonically increasing clock that measures time
from some unspecified point in the past that does not change
after system startup.
.\" Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
-.\" in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
+.\" in Linux 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
.TP
.BR CLOCK_PROCESS_CPUTIME_ID " (since Linux 2.6.12)"
A clock that measures (user and system) CPU time consumed by
@@ -58,7 +59,7 @@ A clock that measures (user and system) CPU time consumed by
.BR CLOCK_THREAD_CPUTIME_ID " (since Linux 2.6.12)"
A clock that measures (user and system) CPU time consumed by
the calling thread.
-.\" The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
+.\" The CLOCK_MONOTONIC_RAW that was added in Linux 2.6.28 can't be used
.\" to create a timer -- mtk, Feb 2009
.TP
.BR CLOCK_BOOTTIME " (Since Linux 2.6.39)"
@@ -245,21 +246,21 @@ The timers created by
.BR timer_create ()
are commonly known as "POSIX (interval) timers".
The POSIX timers API consists of the following interfaces:
-.IP * 3
-.BR timer_create ():
+.TP
+.BR timer_create ()
Create a timer.
-.IP *
-.BR timer_settime (2):
+.TP
+.BR timer_settime (2)
Arm (start) or disarm (stop) a timer.
-.IP *
-.BR timer_gettime (2):
+.TP
+.BR timer_gettime (2)
Fetch the time remaining until the next expiration of a timer,
along with the interval setting of the timer.
-.IP *
-.BR timer_getoverrun (2):
+.TP
+.BR timer_getoverrun (2)
Return the overrun count for the last timer expiration.
-.IP *
-.BR timer_delete (2):
+.TP
+.BR timer_delete (2)
Disarm and delete a timer.
.PP
Since Linux 3.10, the
@@ -281,7 +282,7 @@ option.
Part of the implementation of the POSIX timers API is provided by glibc.
.\" See nptl/sysdeps/unix/sysv/linux/timer_create.c
In particular:
-.IP * 3
+.IP \(bu 3
Much of the functionality for
.B SIGEV_THREAD
is implemented within glibc, rather than the kernel.
@@ -295,14 +296,14 @@ value of
.B SIGEV_THREAD_ID
along with a real-time signal that is reserved by the implementation (see
.BR nptl (7)).
-.IP *
+.IP \(bu
The implementation of the default case where
.I evp
is NULL is handled inside glibc,
which invokes the underlying system call with a suitably populated
.I sigevent
structure.
-.IP *
+.IP \(bu
The timer IDs presented at user level are maintained by glibc,
which maps these IDs to the timer IDs employed by the kernel.
.\" See the glibc source file kernel-posix-timers.h for the structure
@@ -314,7 +315,7 @@ Prior to this,
glibc provided an incomplete user-space implementation
.RB ( CLOCK_REALTIME
timers only) using POSIX threads,
-and in glibc versions before 2.17,
+and before glibc 2.17,
.\" glibc commit 93a78ac437ba44f493333d7e2a4b0249839ce460
the implementation falls back to this technique on systems
running pre-2.6 Linux kernels.
diff --git a/man2/timer_delete.2 b/man2/timer_delete.2
index fd91063b2..66865f885 100644
--- a/man2/timer_delete.2
+++ b/man2/timer_delete.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TIMER_DELETE 2 2022-10-09 "Linux man-pages 6.01"
+.TH timer_delete 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timer_delete \- delete a POSIX per-process timer
.SH LIBRARY
diff --git a/man2/timer_getoverrun.2 b/man2/timer_getoverrun.2
index 29edeb8c6..694c9a2d6 100644
--- a/man2/timer_getoverrun.2
+++ b/man2/timer_getoverrun.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TIMER_GETOVERRUN 2 2022-10-09 "Linux man-pages 6.01"
+.TH timer_getoverrun 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timer_getoverrun \- get overrun count for a POSIX per-process timer
.SH LIBRARY
diff --git a/man2/timer_settime.2 b/man2/timer_settime.2
index bef69d5aa..a110b0997 100644
--- a/man2/timer_settime.2
+++ b/man2/timer_settime.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TIMER_SETTIME 2 2022-10-09 "Linux man-pages 6.01"
+.TH timer_settime 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
timer_settime, timer_gettime \- arm/disarm and fetch
state of POSIX per-process timer
@@ -16,7 +16,7 @@ Real-time library
.PP
.BI "int timer_settime(timer_t " timerid ", int " flags ,
.BI " const struct itimerspec *restrict " new_value ,
-.BI " struct itimerspec *restrict " old_value );
+.BI " struct itimerspec *_Nullable restrict " old_value );
.BI "int timer_gettime(timer_t " timerid ", struct itimerspec *" curr_value );
.fi
.PP
diff --git a/man2/timerfd_create.2 b/man2/timerfd_create.2
index fcfc37225..18e12ff27 100644
--- a/man2/timerfd_create.2
+++ b/man2/timerfd_create.2
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH TIMERFD_CREATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH TIMERFD_CREATE 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
timerfd_create, timerfd_settime, timerfd_gettime \-
timers that notify via file descriptors
@@ -17,7 +17,7 @@ Standard C library
.PP
.BI "int timerfd_settime(int " fd ", int " flags ,
.BI " const struct itimerspec *" new_value ,
-.BI " struct itimerspec *" old_value );
+.BI " struct itimerspec *_Nullable " old_value );
.BI "int timerfd_gettime(int " fd ", struct itimerspec *" curr_value );
.fi
.SH DESCRIPTION
@@ -464,13 +464,13 @@ is not properly initialized (one of the
falls outside the range zero to 999,999,999).
.TP
.B EINVAL
-.\" This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
+.\" This case only checked since Linux 2.6.29, and Linux 2.2.2[78].some-stable-version.
.\" In older kernel versions, no check was made for invalid flags.
.I flags
is invalid.
.SH VERSIONS
-These system calls are available on Linux since kernel 2.6.25.
-Library support is provided by glibc since version 2.8.
+These system calls are available since Linux 2.6.25.
+Library support is provided since glibc 2.8.
.SH STANDARDS
These system calls are Linux-specific.
.SH NOTES
@@ -480,7 +480,7 @@ or
.B CLOCK_REALTIME_ALARM
timer that was created with
.BR timerfd_create ():
-.IP (a) 4
+.IP (1) 5
The timer has been started
.RB ( timerfd_settime ())
with the
@@ -488,13 +488,13 @@ with the
and
.B TFD_TIMER_CANCEL_ON_SET
flags;
-.IP (b)
+.IP (2)
A discontinuous change (e.g.,
.BR settimeofday (2))
is subsequently made to the
.B CLOCK_REALTIME
clock; and
-.IP (c)
+.IP (3)
the caller once more calls
.BR timerfd_settime ()
to rearm the timer (without first doing a
@@ -502,7 +502,7 @@ to rearm the timer (without first doing a
on the file descriptor).
.PP
In this case the following occurs:
-.IP \(bu 2
+.IP \(bu 3
The
.BR timerfd_settime ()
returns \-1 with
diff --git a/man2/times.2 b/man2/times.2
index 054f31639..427f40ad5 100644
--- a/man2/times.2
+++ b/man2/times.2
@@ -9,13 +9,13 @@
.\" Modified 13 Jun 02, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added note on nonstandard behavior when SIGCHLD is ignored.
.\" Modified 2004-11-16, mtk, Noted that the nonconformance when
-.\" SIGCHLD is being ignored is fixed in 2.6.9; other minor changes
-.\" Modified 2004-12-08, mtk, in 2.6 times() return value changed
+.\" SIGCHLD is being ignored is fixed in Linux 2.6.9; other minor changes
+.\" Modified 2004-12-08, mtk, in Linux 2.6 times() return value changed
.\" 2005-04-13, mtk
.\" Added notes on nonstandard behavior: Linux allows 'buf' to
.\" be NULL, but POSIX.1 doesn't specify this and it's nonportable.
.\"
-.TH TIMES 2 2022-10-09 "Linux man-pages 6.01"
+.TH times 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
times \- get process times
.SH LIBRARY
@@ -114,7 +114,7 @@ In POSIX.1-1996 the symbol \fBCLK_TCK\fP (defined in
is mentioned as obsolescent.
It is obsolete now.
.PP
-In Linux kernel versions before 2.6.9,
+Before Linux 2.6.9,
if the disposition of
.B SIGCHLD
is set to
diff --git a/man2/tkill.2 b/man2/tkill.2
index c9ca154a4..c41d07528 100644
--- a/man2/tkill.2
+++ b/man2/tkill.2
@@ -6,7 +6,7 @@
.\" 2004-05-31, added tgkill, ahu, aeb
.\" 2008-01-15 mtk -- rewrote DESCRIPTION
.\"
-.TH TKILL 2 2022-10-09 "Linux man-pages 6.01"
+.TH tkill 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
tkill, tgkill \- send a signal to a thread
.SH LIBRARY
@@ -115,7 +115,7 @@ was added in Linux 2.5.75.
.PP
Library support for
.BR tgkill ()
-was added to glibc in version 2.30.
+was added in glibc 2.30.
.SH STANDARDS
.BR tkill ()
and
diff --git a/man2/truncate.2 b/man2/truncate.2
index bff2754aa..eaa074a0f 100644
--- a/man2/truncate.2
+++ b/man2/truncate.2
@@ -12,7 +12,7 @@
.\" Modified 2002-04-06 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH TRUNCATE 2 2022-10-09 "Linux man-pages 6.01"
+.TH truncate 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
truncate, ftruncate \- truncate a file to a specified length
.SH LIBRARY
diff --git a/man2/umask.2 b/man2/umask.2
index e8ff52da3..9c9952862 100644
--- a/man2/umask.2
+++ b/man2/umask.2
@@ -11,7 +11,7 @@
.\" <nick@debian.com> with Lars Wirzenius <liw@iki.fi> suggestion
.\" 2006-05-13, mtk, substantial rewrite of description of 'mask'
.\" 2008-01-09, mtk, a few rewrites and additions.
-.TH UMASK 2 2022-10-09 "Linux man-pages 6.01"
+.TH umask 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
umask \- set file mode creation mask
.SH LIBRARY
diff --git a/man2/umount.2 b/man2/umount.2
index 98c7ee6f0..4ffb84c4c 100644
--- a/man2/umount.2
+++ b/man2/umount.2
@@ -7,7 +7,7 @@
.\" 2008-10-06, mtk: Created this as a new page by splitting
.\" umount/umount2 material out of mount.2
.\"
-.TH UMOUNT 2 2022-10-09 "Linux man-pages 6.01"
+.TH umount 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
umount, umount2 \- unmount filesystem
.SH LIBRARY
@@ -86,7 +86,7 @@ or
.BR MNT_DETACH .
.TP
.BR UMOUNT_NOFOLLOW " (since Linux 2.6.34)"
-.\" Later added to 2.6.33-stable
+.\" Later added to Linux 2.6.33-stable
Don't dereference
.I target
if it is a symbolic link.
@@ -159,7 +159,7 @@ The caller does not have the required privileges.
and
.B MNT_EXPIRE
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=10092
-are available in glibc since version 2.11.
+are available since glibc 2.11.
.SH STANDARDS
These functions are Linux-specific and should not be used in
programs intended to be portable.
diff --git a/man2/uname.2 b/man2/uname.2
index bb4cdf1db..0f437567e 100644
--- a/man2/uname.2
+++ b/man2/uname.2
@@ -4,7 +4,7 @@
.\"
.\" 2007-07-05 mtk: Added details on underlying system call interfaces
.\"
-.TH UNAME 2 2022-10-09 "Linux man-pages 6.01"
+.TH uname 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
uname \- get name and information about current kernel
.SH LIBRARY
diff --git a/man2/unimplemented.2 b/man2/unimplemented.2
index 625a5871f..1d4e6fba9 100644
--- a/man2/unimplemented.2
+++ b/man2/unimplemented.2
@@ -4,7 +4,7 @@
.\"
.\" Updated, aeb, 980612
.\"
-.TH UNIMPLEMENTED 2 2022-10-09 "Linux man-pages 6.01"
+.TH UNIMPLEMENTED 2 2022-10-09 "Linux man-pages 6.02"
.SH NAME
afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream,
lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security,
diff --git a/man2/unlink.2 b/man2/unlink.2
index bac68c802..dac8997bd 100644
--- a/man2/unlink.2
+++ b/man2/unlink.2
@@ -10,7 +10,7 @@
.\" Modified 2001-05-17 by aeb
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH UNLINK 2 2022-10-09 "Linux man-pages 6.01"
+.TH unlink 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
unlink, unlinkat \- delete a name and possibly the file it refers to
.SH LIBRARY
@@ -163,7 +163,7 @@ An I/O error occurred.
.B EISDIR
.I pathname
refers to a directory.
-(This is the non-POSIX value returned by Linux since 2.1.132.)
+(This is the non-POSIX value returned since Linux 2.1.132.)
.TP
.B ELOOP
Too many symbolic links were encountered in translating
@@ -254,8 +254,8 @@ is relative and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR unlinkat ()
-was added to Linux in kernel 2.6.16;
-library support was added to glibc in version 2.4.
+was added in Linux 2.6.16;
+library support was added in glibc 2.4.
.SH STANDARDS
.BR unlink ():
SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
diff --git a/man2/unshare.2 b/man2/unshare.2
index daca3935b..a992aa395 100644
--- a/man2/unshare.2
+++ b/man2/unshare.2
@@ -15,7 +15,7 @@
.\" by clone, which would require porting and maintaining all commands
.\" such as login, and su, that establish a user session.
.\"
-.TH UNSHARE 2 2022-10-09 "Linux man-pages 6.01"
+.TH unshare 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
unshare \- disassociate parts of the process execution context
.SH LIBRARY
@@ -422,7 +422,7 @@ error above.
.SH VERSIONS
The
.BR unshare ()
-system call was added to Linux in kernel 2.6.16.
+system call was added in Linux 2.6.16.
.SH STANDARDS
The
.BR unshare ()
diff --git a/man2/uselib.2 b/man2/uselib.2
index 109c32c41..fa1ecaeaf 100644
--- a/man2/uselib.2
+++ b/man2/uselib.2
@@ -8,7 +8,7 @@
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2005-01-09 by aeb
.\"
-.TH USELIB 2 2022-10-09 "Linux man-pages 6.01"
+.TH USELIB 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
uselib \- load shared library
.SH SYNOPSIS
@@ -62,7 +62,7 @@ intended to be portable.
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
-glibc versions before 2.23 did export an ABI for this system call.
+glibc before glibc 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
diff --git a/man2/userfaultfd.2 b/man2/userfaultfd.2
index fb492883d..8a6f50b38 100644
--- a/man2/userfaultfd.2
+++ b/man2/userfaultfd.2
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH USERFAULTFD 2 2022-10-09 "Linux man-pages 6.01"
+.TH userfaultfd 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
userfaultfd \- create a file descriptor for handling page faults in user space
.SH LIBRARY
@@ -77,7 +77,7 @@ and unread events are flushed.
.PP
Userfaultfd supports three modes of registration:
.TP
-.BR UFFDIO_REGISTER_MODE_MISSING " (since 4.10)"
+.BR UFFDIO_REGISTER_MODE_MISSING " (since Linux 4.10)"
When registered with
.B UFFDIO_REGISTER_MODE_MISSING
mode, user-space will receive a page-fault notification
@@ -89,7 +89,7 @@ or an
.B UFFDIO_ZEROPAGE
ioctl.
.TP
-.BR UFFDIO_REGISTER_MODE_MINOR " (since 5.13)"
+.BR UFFDIO_REGISTER_MODE_MINOR " (since Linux 5.13)"
When registered with
.B UFFDIO_REGISTER_MODE_MINOR
mode, user-space will receive a page-fault notification
@@ -102,7 +102,7 @@ until the page fault is resolved from user-space by an
.B UFFDIO_CONTINUE
ioctl.
.TP
-.BR UFFDIO_REGISTER_MODE_WP " (since 5.7)"
+.BR UFFDIO_REGISTER_MODE_WP " (since Linux 5.7)"
When registered with
.B UFFDIO_REGISTER_MODE_WP
mode, user-space will receive a page-fault notification
@@ -176,8 +176,8 @@ single threaded non-cooperative userfaultfd manager implementations.
.\" fault events in multi-threaded monitor.
.\" .PP
.\" FIXME elaborate about non-cooperating mode, describe its limitations
-.\" for kernels before 4.11, features added in 4.11
-.\" and limitations remaining in 4.11
+.\" for kernels before Linux 4.11, features added in Linux 4.11
+.\" and limitations remaining in Linux 4.11
.\" Maybe it's worth adding a dedicated sub-section...
.\"
.PP
@@ -269,7 +269,7 @@ userfaultfd can be used only with anonymous private memory mappings.
Since Linux 4.11,
userfaultfd can be also used with hugetlbfs and shared memory mappings.
.\"
-.SS Userfaultfd write-protect mode (since 5.7)
+.SS Userfaultfd write-protect mode (since Linux 5.7)
Since Linux 5.7, userfaultfd supports write-protect mode for anonymous memory.
The user needs to first check availability of this feature using
.B UFFDIO_API
@@ -334,7 +334,7 @@ should have the flag
.B UFFDIO_WRITEPROTECT_MODE_WP
cleared upon the faulted page or range.
.\"
-.SS Userfaultfd minor fault mode (since 5.13)
+.SS Userfaultfd minor fault mode (since Linux 5.13)
Since Linux 5.13,
userfaultfd supports minor fault mode.
In this mode,
diff --git a/man2/ustat.2 b/man2/ustat.2
index e062e0c47..bb66f3edf 100644
--- a/man2/ustat.2
+++ b/man2/ustat.2
@@ -7,7 +7,7 @@
.\" Modified 2001-03-22 by aeb
.\" Modified 2003-08-04 by aeb
.\"
-.TH USTAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH ustat 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ustat \- get filesystem statistics
.SH LIBRARY
@@ -70,10 +70,10 @@ does not refer to a device containing a mounted filesystem.
.B ENOSYS
The mounted filesystem referenced by
.I dev
-does not support this operation, or any version of Linux before
-1.3.16.
+does not support this operation,
+or any version of Linux before Linux 1.3.16.
.SH VERSIONS
-Since version 2.28, glibc no longer provides a wrapper for this system call.
+Since glibc 2.28, glibc no longer provides a wrapper for this system call.
.SH STANDARDS
SVr4.
.\" SVr4 documents additional error conditions ENOLINK, ECOMM, and EINTR
diff --git a/man2/utime.2 b/man2/utime.2
index f23b4db95..42bd22fb0 100644
--- a/man2/utime.2
+++ b/man2/utime.2
@@ -8,7 +8,7 @@
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" Modified 2004-10-10 by Andries Brouwer <aeb@cwi.nl>
.\"
-.TH UTIME 2 2022-10-09 "Linux man-pages 6.01"
+.TH utime 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
utime, utimes \- change file last access and modification times
.SH LIBRARY
@@ -18,11 +18,13 @@ Standard C library
.nf
.B #include <utime.h>
.PP
-.BI "int utime(const char *" filename ", const struct utimbuf *" times );
+.BI "int utime(const char *" filename ,
+.BI " const struct utimbuf *_Nullable " times );
.PP
.B #include <sys/time.h>
.PP
-.BI "int utimes(const char *" filename ", const struct timeval " times [2]);
+.BI "int utimes(const char *" filename ,
+.BI " const struct timeval " times "[_Nullable 2]);"
.fi
.SH DESCRIPTION
.B Note:
diff --git a/man2/utimensat.2 b/man2/utimensat.2
index d4078a707..4218ab84f 100644
--- a/man2/utimensat.2
+++ b/man2/utimensat.2
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH UTIMENSAT 2 2022-10-09 "Linux man-pages 6.01"
+.TH utimensat 2 2022-12-15 "Linux man-pages 6.02"
.SH NAME
utimensat, futimens \- change file timestamps with nanosecond precision
.SH LIBRARY
@@ -15,8 +16,8 @@ Standard C library
.B #include <sys/stat.h>
.PP
.BI "int utimensat(int " dirfd ", const char *" pathname ,
-.BI " const struct timespec " times "[2], int " flags );
-.BI "int futimens(int " fd ", const struct timespec " times [2]);
+.BI " const struct timespec " times "[_Nullable 2], int " flags );
+.BI "int futimens(int " fd ", const struct timespec " times "[_Nullable 2]);"
.fi
.PP
.RS -4
@@ -112,15 +113,15 @@ is NULL, or both
fields specify
.BR UTIME_NOW ),
either:
-.IP 1. 3
+.IP \(bu 3
the caller must have write access to the file;
.\" 2.6.22 was broken here -- for futimens() the check is
.\" based on whether or not the file descriptor is writable,
.\" not on whether the caller's effective UID has write
.\" permission for the file referred to by the descriptor.
-.IP 2.
+.IP \(bu
the caller's effective user ID must match the owner of the file; or
-.IP 3.
+.IP \(bu
the caller must have appropriate privileges.
.PP
To make any change other than setting both timestamps to the
@@ -339,20 +340,20 @@ field is
.BR UTIME_OMIT )
and either:
.RS
-.IP * 3
+.IP \(bu 3
the caller's effective user ID does not match the owner of file,
and the caller is not privileged
(Linux: does not have the
.B CAP_FOWNER
capability); or,
-.IP *
+.IP \(bu
.\" Linux 2.6.22 was broken here:
.\" it was not consistent with the old utimes() implementation,
.\" since the case when both tv_nsec fields are UTIME_NOW, was not
.\" treated like the (times == NULL) case.
the file is marked append-only or immutable (see
.BR chattr (1)).
-.\" EXT2_IMMUTABLE_FL EXT_APPPEND_FL and similar flags for
+.\" EXT2_IMMUTABLE_FL EXT_APPEND_FL and similar flags for
.\" other filesystems.
.\"
.\" Why the inconsistency (which is described under NOTES) between
@@ -369,8 +370,8 @@ Search permission is denied for one of the prefix components of
.IR pathname .
.SH VERSIONS
.BR utimensat ()
-was added to Linux in kernel 2.6.22;
-glibc support was added with version 2.6.
+was added in Linux 2.6.22;
+glibc support was added with glibc 2.6.
.PP
Support for
.BR futimens ()
@@ -459,10 +460,10 @@ Several bugs afflict
.BR utimensat ()
and
.BR futimens ()
-on kernels before 2.6.26.
+before Linux 2.6.26.
These bugs are either nonconformances with the POSIX.1 draft specification
or inconsistencies with historical Linux behavior.
-.IP * 3
+.IP \(bu 3
POSIX.1 specifies that if one of the
.I tv_nsec
fields has the value
@@ -477,7 +478,7 @@ Instead, the value of the
field is required to be 0 (or the error
.B EINVAL
results).
-.IP *
+.IP \(bu
Various bugs mean that for the purposes of permission checking,
the case where both
.I tv_nsec
@@ -579,7 +580,7 @@ value is returned in case of an error.
.\" .BR UTIME_NOW .
.\" Instead, the call fails with the error
.\" .BR EPERM .
-.IP *
+.IP \(bu
POSIX.1 says that a process that has \fIwrite access to the file\fP
can make a call with
.I times
diff --git a/man2/vfork.2 b/man2/vfork.2
index b04c03325..6c02b1b4f 100644
--- a/man2/vfork.2
+++ b/man2/vfork.2
@@ -6,7 +6,7 @@
.\" 1999-11-10: Merged text taken from the page contributed by
.\" Reed H. Petty (rhp@draper.net)
.\"
-.TH VFORK 2 2022-10-09 "Linux man-pages 6.01"
+.TH vfork 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
vfork \- create a child process and block parent
.SH LIBRARY
@@ -167,11 +167,11 @@ and
.BR vfork (),
there are various reasons why Linux and other systems have retained
.BR vfork ():
-.IP * 3
+.IP \(bu 3
Some performance-critical applications require the small performance
advantage conferred by
.BR vfork ().
-.IP *
+.IP \(bu
.BR vfork ()
can be implemented on systems that lack a memory-management unit (MMU), but
.BR fork (2)
@@ -182,13 +182,14 @@ from the standard; the POSIX rationale for the
.BR posix_spawn (3)
function notes that that function,
which provides functionality equivalent to
-.BR fork (2)+ exec (3),
+.BR fork (2)+\c
+.BR exec (3),
is designed to be implementable on systems that lack an MMU.)
.\" http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork
.\" http://developers.sun.com/solaris/articles/subprocess/subprocess.html
.\" http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html
.\"
-.IP *
+.IP \(bu
On systems where memory is constrained,
.BR vfork ()
avoids the need to temporarily commit memory (see the description of
@@ -281,8 +282,8 @@ see
.UE .
In Linux, it has been equivalent to
.BR fork (2)
-until 2.2.0-pre6 or so.
-Since 2.2.0-pre9 (on i386, somewhat later on
+until Linux 2.2.0-pre6 or so.
+Since Linux 2.2.0-pre9 (on i386, somewhat later on
other architectures) it is an independent system call.
Support was added in glibc 2.0.112.
.SH BUGS
@@ -299,7 +300,7 @@ signals; rather, output or
.IR ioctl s
are allowed and input attempts result in an end-of-file indication."
.\"
-.\" As far as I can tell, the following is not true in 2.6.19:
+.\" As far as I can tell, the following is not true in Linux 2.6.19:
.\" Currently (Linux 2.3.25),
.\" .BR strace (1)
.\" cannot follow
diff --git a/man2/vhangup.2 b/man2/vhangup.2
index 4eab5f7cf..9ff43620e 100644
--- a/man2/vhangup.2
+++ b/man2/vhangup.2
@@ -5,7 +5,7 @@
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on capability requirements
.\"
-.TH VHANGUP 2 2022-10-09 "Linux man-pages 6.01"
+.TH vhangup 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
vhangup \- virtually hangup the current terminal
.SH LIBRARY
diff --git a/man2/vm86.2 b/man2/vm86.2
index 29ca5621f..97f027766 100644
--- a/man2/vm86.2
+++ b/man2/vm86.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH VM86 2 2022-10-09 "Linux man-pages 6.01"
+.TH vm86 2 2022-10-30 "Linux man-pages 6.02"
.SH NAME
vm86old, vm86 \- enter virtual 8086 mode
.SH LIBRARY
diff --git a/man2/vmsplice.2 b/man2/vmsplice.2
index 7e71d99cc..1355e4bf9 100644
--- a/man2/vmsplice.2
+++ b/man2/vmsplice.2
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH VMSPLICE 2 2022-10-09 "Linux man-pages 6.01"
+.TH vmsplice 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
vmsplice \- splice user pages to/from a pipe
.SH LIBRARY
@@ -136,7 +136,7 @@ Out of memory.
The
.BR vmsplice ()
system call first appeared in Linux 2.6.17;
-library support was added to glibc in version 2.5.
+library support was added in glibc 2.5.
.SH STANDARDS
This system call is Linux-specific.
.SH NOTES
diff --git a/man2/wait.2 b/man2/wait.2
index 9a9f09920..14102875b 100644
--- a/man2/wait.2
+++ b/man2/wait.2
@@ -26,7 +26,7 @@
.\" 2005-05-10, mtk, __W* flags can't be used with waitid()
.\" 2008-07-04, mtk, removed erroneous text about SA_NOCLDSTOP
.\"
-.TH WAIT 2 2022-10-09 "Linux man-pages 6.01"
+.TH wait 2 2022-12-03 "Linux man-pages 6.02"
.SH NAME
wait, waitpid, waitid \- wait for process to change state
.SH LIBRARY
@@ -36,8 +36,8 @@ Standard C library
.nf
.B #include <sys/wait.h>
.PP
-.BI "pid_t wait(int *" "wstatus" );
-.BI "pid_t waitpid(pid_t " pid ", int *" wstatus ", int " options );
+.BI "pid_t wait(int *_Nullable " "wstatus" );
+.BI "pid_t waitpid(pid_t " pid ", int *_Nullable " wstatus ", int " options );
.PP
.BI "int waitid(idtype_t " idtype ", id_t " id \
", siginfo_t *" infop ", int " options );
@@ -113,17 +113,21 @@ argument, as described below.
The value of
.I pid
can be:
-.IP "< \-1"
+.TP
+.RB "< " \-1
meaning wait for any child process whose process group ID is
equal to the absolute value of
.IR pid .
-.IP \-1
+.TP
+.B \-1
meaning wait for any child process.
-.IP 0
+.TP
+.B 0
meaning wait for any child process whose process group ID is
equal to that of the calling process at the time of the call to
.BR waitpid ().
-.IP "> 0"
+.TP
+.RB "> " 0
meaning wait for the child whose process ID is equal to the
value of
.IR pid .
@@ -235,17 +239,20 @@ The
and
.I id
arguments select the child(ren) to wait for, as follows:
-.IP "\fIidtype\fP == \fBP_PID\fP"
+.TP
+.IR idtype " == " \fBP_PID\fP
Wait for the child whose process ID matches
.IR id .
-.IP "\fIidtype\fP == \fBP_PIDFD\fP (since Linux 5.4)"
+.TP
+.IR idtype " == " \fBP_PIDFD\fP " (since Linux 5.4)"
.\" commit 3695eae5fee0605f316fbaad0b9e3de791d7dfaf
Wait for the child referred to by the PID file descriptor specified in
.IR id .
(See
.BR pidfd_open (2)
for further information on PID file descriptors.)
-.IP "\fIidtype\fP == \fBP_PGID\fP"
+.TP
+.IR idtype " == " \fBP_PGID\fP
Wait for any child whose process group ID matches
.IR id .
Since Linux 5.4,
@@ -254,7 +261,8 @@ if
.I id
is zero, then wait for any child that is in the same process group
as the caller's process group at the time of the call.
-.IP "\fIidtype\fP == \fBP_ALL\fP"
+.TP
+.IR idtype " == " \fBP_ALL\fP
Wait for any child;
.I id
is ignored.
diff --git a/man2/wait4.2 b/man2/wait4.2
index 947dcfaf5..f13156b61 100644
--- a/man2/wait4.2
+++ b/man2/wait4.2
@@ -10,7 +10,7 @@
.\" Rewrote much of this page, and removed much duplicated text,
.\" replacing with pointers to wait.2
.\"
-.TH WAIT4 2 2022-10-09 "Linux man-pages 6.01"
+.TH wait4 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
wait3, wait4 \- wait for process to change state, BSD style
.SH LIBRARY
@@ -20,9 +20,10 @@ Standard C library
.nf
.B #include <sys/wait.h>
.PP
-.BI "pid_t wait3(int *" "wstatus" ", int " options ", struct rusage *" rusage );
-.BI "pid_t wait4(pid_t " pid ", int *" wstatus ", int " options ,
-.BI " struct rusage *" rusage );
+.BI "pid_t wait3(int *_Nullable " "wstatus" ", int " options ,
+.BI " struct rusage *_Nullable " rusage );
+.BI "pid_t wait4(pid_t " pid ", int *_Nullable " wstatus ", int " options ,
+.BI " struct rusage *_Nullable " rusage );
.fi
.PP
.RS -4
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
|| (_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 600))
- From glibc 2.19 to 2.25:
+ From glibc 2.19 to glibc 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Glibc 2.19 and earlier:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
diff --git a/man2/write.2 b/man2/write.2
index e6de6713c..e72dcd057 100644
--- a/man2/write.2
+++ b/man2/write.2
@@ -16,7 +16,7 @@
.\" gave some examples of why this might occur.
.\" Noted what happens if write() is interrupted by a signal.
.\"
-.TH WRITE 2 2022-10-09 "Linux man-pages 6.01"
+.TH write 2 2022-12-04 "Linux man-pages 6.02"
.SH NAME
write \- write to a file descriptor
.SH LIBRARY
@@ -26,7 +26,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "ssize_t write(int " fd ", const void *" buf ", size_t " count );
+.BI "ssize_t write(int " fd ", const void " buf [. count "], size_t " count );
.fi
.SH DESCRIPTION
.BR write ()
@@ -297,7 +297,7 @@ and
.BR writev (2).
And among the effects that should be atomic across threads (and processes)
are updates of the file offset.
-However, on Linux before version 3.14,
+However, before Linux 3.14,
this was not the case: if two processes that share
an open file description (see
.BR open (2))
diff --git a/man2type/open_how.2type b/man2type/open_how.2type
index 032d724d9..04f75f536 100644
--- a/man2type/open_how.2type
+++ b/man2type/open_how.2type
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH OPEN_HOW 2type 2022-10-09 "Linux man-pages 6.01"
+.TH open_how 2type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
open_how \- how to open a pathname
.SH LIBRARY
diff --git a/man3/CPU_SET.3 b/man3/CPU_SET.3
index 6cbe350a1..adf0632b8 100644
--- a/man3/CPU_SET.3
+++ b/man3/CPU_SET.3
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CPU_SET 3 2022-10-09 "Linux man-pages 6.01"
+.TH CPU_SET 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
CPU_SET, CPU_CLR, CPU_ISSET, CPU_ZERO, CPU_COUNT,
CPU_AND, CPU_OR, CPU_XOR, CPU_EQUAL,
diff --git a/man3/INFINITY.3 b/man3/INFINITY.3
index 70c45c1d3..e992642f2 100644
--- a/man3/INFINITY.3
+++ b/man3/INFINITY.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INFINITY 3 2022-10-09 "Linux man-pages 6.01"
+.TH INFINITY 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
INFINITY, NAN, HUGE_VAL, HUGE_VALF, HUGE_VALL \- floating-point constants
.SH LIBRARY
diff --git a/man3/MAX.3 b/man3/MAX.3
index 7e37ef5fb..f58e9fc66 100644
--- a/man3/MAX.3
+++ b/man3/MAX.3
@@ -1,8 +1,8 @@
-.\" Copyright (C) 2021 Alejandro Colomar <alx.manpages@gmail.com>
+.\" Copyright (C) 2021 Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH MAX 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
MAX, MIN \- maximum or minimum of two values
.SH LIBRARY
diff --git a/man3/MB_CUR_MAX.3 b/man3/MB_CUR_MAX.3
index f692079c7..6714fe5e9 100644
--- a/man3/MB_CUR_MAX.3
+++ b/man3/MB_CUR_MAX.3
@@ -9,7 +9,7 @@
.\"
.\" Modified, aeb, 990824
.\"
-.TH MB_CUR_MAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH MB_CUR_MAX 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
MB_CUR_MAX \- maximum length of a multibyte character in the current locale
.SH LIBRARY
diff --git a/man3/MB_LEN_MAX.3 b/man3/MB_LEN_MAX.3
index 838dac7c3..c67e7688b 100644
--- a/man3/MB_LEN_MAX.3
+++ b/man3/MB_LEN_MAX.3
@@ -9,7 +9,7 @@
.\"
.\" Modified, aeb, 990824
.\"
-.TH MB_LEN_MAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH MB_LEN_MAX 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
MB_LEN_MAX \- maximum multibyte length of a character across all locales
.SH LIBRARY
diff --git a/man3/_Generic.3 b/man3/_Generic.3
index c799bbfab..b36739ba7 100644
--- a/man3/_Generic.3
+++ b/man3/_Generic.3
@@ -1,8 +1,8 @@
-.\" Copyright (C) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+.\" Copyright (C) 2022 Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH _Generic 3 2022-10-09 "Linux man-pages 6.01"
+.TH _Generic 3 2022-11-12 "Linux man-pages 6.02"
.SH NAME
_Generic \- type-generic selection
.SH SYNOPSIS
@@ -27,12 +27,101 @@ that will behave differently depending on the type of the argument.
.SH STANDARDS
C11 and later.
.SH EXAMPLES
+The following code demonstrates how to write
+a macro similar to C++'s
+.BR \%static_cast (),
+which will allow casting safely between a limited set of types.
+It is useful for example when calling
+system calls or library functions that use compatible structures,
+like for example
+.BR bind (2)
+with
+.BR \%sockaddr (3type).
+.IP
+.EX
+/* This code is in the public domain. */
+
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+#define sockaddr_cast(t, p) \e
+ _Generic(&*(p), \e
+ struct sockaddr *: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr_in *: (t) (p), \e
+ struct sockaddr_in6 *: (t) (p), \e
+ struct sockaddr_un *: (t) (p), \e
+ default: (p)), \e
+ struct sockaddr **: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr_in **: (t) (p), \e
+ struct sockaddr_in6 **: (t) (p), \e
+ struct sockaddr_un **: (t) (p), \e
+ default: (p)), \e
+ const struct sockaddr *: \e
+ _Generic((t) NULL, \e
+ const struct sockaddr_in *: (t) (p), \e
+ const struct sockaddr_in6 *: (t) (p), \e
+ const struct sockaddr_un *: (t) (p), \e
+ default: (p)), \e
+ \e
+ struct sockaddr_in *: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ struct sockaddr_in **: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr **: (t) (p), \e
+ default: (p)), \e
+ const struct sockaddr_in *: \e
+ _Generic((t) NULL, \e
+ const struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ \e
+ struct sockaddr_in6 *: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ struct sockaddr_in6 **: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr **: (t) (p), \e
+ default: (p)), \e
+ const struct sockaddr_in6 *: \e
+ _Generic((t) NULL, \e
+ const struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ \e
+ struct sockaddr_un *: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ struct sockaddr_un **: \e
+ _Generic((typeof_unqual(t)) NULL, \e
+ struct sockaddr **: (t) (p), \e
+ default: (p)), \e
+ const struct sockaddr_un *: \e
+ _Generic((t) NULL, \e
+ const struct sockaddr *: (t) (p), \e
+ default: (p)), \e
+ \e
+ default: \e
+ (p) \e
+ )
+
+socklen_t slen;
+struct sockaddr_un sun;
+
+slen = sizeof(ss);
+getsockname(sfd, sockaddr_cast(struct sockaddr *, &sun), &slen);
+.EE
+.PP
The following program demonstrates how to write
a replacement for the standard
.BR imaxabs (3)
function, which being a function can't really provide what it promises:
seamlessly upgrading to the widest available type.
-.PP
+.IP
.\" SRC BEGIN (_Generic.c)
.EX
#include <stdint.h>
diff --git a/man3/_Static_assert.3 b/man3/_Static_assert.3
new file mode 100644
index 000000000..30f63531c
--- /dev/null
+++ b/man3/_Static_assert.3
@@ -0,0 +1 @@
+.so man3/static_assert.3
diff --git a/man3/__ppc_get_timebase.3 b/man3/__ppc_get_timebase.3
index de6332d3b..74011c6f4 100644
--- a/man3/__ppc_get_timebase.3
+++ b/man3/__ppc_get_timebase.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH __PPC_GET_TIMEBASE 3 2022-10-09 "Linux man-pages 6.01"
+.TH __ppc_get_timebase 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
__ppc_get_timebase, __ppc_get_timebase_freq \- get the current value
of the Time Base Register on Power architecture and its frequency.
@@ -40,10 +40,10 @@ which the Time Base Register is updated.
GNU C Library support for
.\" commit d9dc34cd569bcfe714fe8c708e58c028106e8b2e
.BR __ppc_get_timebase ()
-has been provided since version 2.16 and
+has been provided since glibc 2.16 and
.\" commit 8ad11b9a9cf1de82bd7771306b42070b91417c11
.BR __ppc_get_timebase_freq ()
-has been available since version 2.17.
+has been available since glibc 2.17.
.SH STANDARDS
Both functions are nonstandard GNU extensions.
.SH EXAMPLES
diff --git a/man3/__ppc_set_ppr_med.3 b/man3/__ppc_set_ppr_med.3
index 2be8aa899..2df23530c 100644
--- a/man3/__ppc_set_ppr_med.3
+++ b/man3/__ppc_set_ppr_med.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2015, 2016 IBM Corporation.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH __PPC_SET_PPR_MED 3 2022-10-09 "Linux man-pages 6.01"
+.TH __ppc_set_ppr_med 3 2022-12-15 "Linux man-pages 6.02"
Programmer's Manual"
.SH NAME
__ppc_set_ppr_med, __ppc_set_ppr_very_low, __ppc_set_ppr_low,
@@ -31,20 +32,20 @@ By adjusting the PPR value the programmer may improve system
throughput by causing system resources to be used more
efficiently, especially in contention situations.
The available unprivileged states are covered by the following functions:
-.IP * 3
+.TP
.BR __ppc_set_ppr_med ()
sets the Program Priority Register value to
.I medium
(default).
-.IP *
+.TP
.BR __ppc_set_ppr_very_low ()
sets the Program Priority Register value to
.IR "very low" .
-.IP *
+.TP
.BR __ppc_set_ppr_low ()
sets the Program Priority Register value to
.IR low .
-.IP *
+.TP
.BR __ppc_set_ppr_med_low ()
sets the Program Priority Register value to
.IR "medium low" .
@@ -53,7 +54,7 @@ The privileged state
.I medium high
may also be set during certain time intervals by problem-state (unprivileged)
programs, with the following function:
-.IP * 3
+.TP
.BR __ppc_set_ppr_med_high ()
sets the Program Priority to
.IR "medium high" .
@@ -67,12 +68,12 @@ The functions
.BR __ppc_set_ppr_low (),
and
.BR __ppc_set_ppr_med_low ()
-are provided by glibc since version 2.18.
+are provided since glibc 2.18.
The functions
.BR __ppc_set_ppr_very_low ()
and
.BR __ppc_set_ppr_med_high ()
-first appeared in glibc in version 2.23.
+first appeared in glibc 2.23.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/__ppc_yield.3 b/man3/__ppc_yield.3
index 8c7d05cf6..b0eae5854 100644
--- a/man3/__ppc_yield.3
+++ b/man3/__ppc_yield.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2015, IBM Corporation.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH __PPC_YIELD 3 2022-10-09 "Linux man-pages 6.01"
+.TH __ppc_yield 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
__ppc_yield, __ppc_mdoio, __ppc_mdoom \-
Hint the processor to release shared resources
@@ -41,7 +42,7 @@ resources dedicated to the executing processor are released until all
outstanding storage accesses to cacheable storage for which the data
is not in the cache have been completed.
.SH VERSIONS
-These functions first appeared in glibc in version 2.18.
+These functions first appeared in glibc 2.18.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/__setfpucw.3 b/man3/__setfpucw.3
index 853c2673b..83bd3b124 100644
--- a/man3/__setfpucw.3
+++ b/man3/__setfpucw.3
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH __SETFPUCW 3 2022-10-09 "Linux man-pages 6.01"
+.TH __setfpucw 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
__setfpucw \- set FPU control word on i386 architecture (obsolete)
.SH LIBRARY
@@ -57,11 +57,11 @@ can be used.
Set FPU control word on the i386 architecture to
.RS
.PD 0
-.IP - 2
+.IP \(bu 3
extended precision
-.IP -
+.IP \(bu
rounding to nearest
-.IP -
+.IP \(bu
exceptions on overflow, zero divide and NaN
.PD
.RE
diff --git a/man3/a64l.3 b/man3/a64l.3
index a73284c3c..bdcd1073f 100644
--- a/man3/a64l.3
+++ b/man3/a64l.3
@@ -1,3 +1,4 @@
+'\" t
\t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
@@ -5,7 +6,7 @@
.\"
.\" Corrected, aeb, 2002-05-30
.\"
-.TH A64L 3 2022-10-09 "Linux man-pages 6.01"
+.TH a64l 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
a64l, l64a \- convert between long and base-64
.SH LIBRARY
@@ -29,7 +30,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
@@ -98,7 +99,7 @@ If
.I value
is zero, it returns an empty string.
.PP
-These functions are broken in glibc before 2.2.5
+These functions are broken before glibc 2.2.5
(puts most significant digit first).
.PP
This is not the encoding used by
diff --git a/man3/abort.3 b/man3/abort.3
index 793d40fcb..f0123494e 100644
--- a/man3/abort.3
+++ b/man3/abort.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2007 (C) Michael Kerrisk <mtk.manpages@gmail.com>
.\" some parts Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
@@ -11,7 +12,7 @@
.\" Modified Fri Aug 4 10:51:53 2000 - patch from Joseph S. Myers
.\" 2007-12-15, mtk, Mostly rewritten
.\"
-.TH ABORT 3 2022-10-09 "Linux man-pages 6.01"
+.TH abort 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
abort \- cause abnormal process termination
.SH LIBRARY
@@ -21,7 +22,7 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.B noreturn void abort(void);
+.B [[noreturn]] void abort(void);
.fi
.SH DESCRIPTION
The
diff --git a/man3/abs.3 b/man3/abs.3
index 81d3635cf..0bdbe08ea 100644
--- a/man3/abs.3
+++ b/man3/abs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -11,7 +12,7 @@
.\" Modified Sat Jul 24 21:45:37 1993, Rik Faith (faith@cs.unc.edu)
.\" Modified Sat Dec 16 15:02:59 2000, Joseph S. Myers
.\"
-.TH ABS 3 2022-10-09 "Linux man-pages 6.01"
+.TH abs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
abs, labs, llabs, imaxabs \- compute the absolute value of an integer
.SH LIBRARY
@@ -95,11 +96,10 @@ is not defined.
.PP
The
.BR llabs ()
-function is included in glibc since version 2.0.
+function is included since glibc 2.0.
The
.BR imaxabs ()
-function is included in
-glibc since version 2.1.1.
+function is included since glibc 2.1.1.
.PP
For
.BR llabs ()
diff --git a/man3/acos.3 b/man3/acos.3
index 240dff075..f5c4965aa 100644
--- a/man3/acos.3
+++ b/man3/acos.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-25 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ACOS 3 2022-10-09 "Linux man-pages 6.01"
+.TH acos 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
acos, acosf, acosl \- arc cosine function
.SH LIBRARY
diff --git a/man3/acosh.3 b/man3/acosh.3
index 03c3ed5e7..5c47f07cd 100644
--- a/man3/acosh.3
+++ b/man3/acosh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-25 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ACOSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH acosh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
acosh, acoshf, acoshl \- inverse hyperbolic cosine function
.SH LIBRARY
diff --git a/man3/addseverity.3 b/man3/addseverity.3
index d1e6e5cf7..23d7d2e7a 100644
--- a/man3/addseverity.3
+++ b/man3/addseverity.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\" adapted glibc info page
.\"
.\" polished a little, aeb
-.TH ADDSEVERITY 3 2022-10-09 "Linux man-pages 6.01"
+.TH addseverity 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
addseverity \- introduce new severity classes
.SH LIBRARY
@@ -62,7 +63,7 @@ Possible errors include: out of memory, attempt to remove a
nonexistent or default severity class.
.SH VERSIONS
.BR addseverity ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/adjtime.3 b/man3/adjtime.3
index 83e25bb6d..e747e422e 100644
--- a/man3/adjtime.3
+++ b/man3/adjtime.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ADJTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH adjtime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
adjtime \- correct the time to synchronize the system clock
.SH LIBRARY
diff --git a/man3/aio_cancel.3 b/man3/aio_cancel.3
index a41d3cbb0..59c521672 100644
--- a/man3/aio_cancel.3
+++ b/man3/aio_cancel.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_CANCEL 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_cancel 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_cancel \- cancel an outstanding asynchronous I/O request
.SH LIBRARY
diff --git a/man3/aio_error.3 b/man3/aio_error.3
index 904d0a8d4..b76609436 100644
--- a/man3/aio_error.3
+++ b/man3/aio_error.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_ERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_error 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_error \- get error status of asynchronous I/O operation
.SH LIBRARY
@@ -27,16 +28,18 @@ for a description of the
structure.)
.SH RETURN VALUE
This function returns one of the following:
-.IP * 3
-.BR EINPROGRESS ,
+.TP
+.B EINPROGRESS
if the request has not been
completed yet.
-.IP *
-.BR ECANCELED ,
+.TP
+.B ECANCELED
if the request was canceled.
-.IP *
-0, if the request completed successfully.
-.IP *
+.TP
+.B 0
+if the request completed successfully.
+.TP
+.RB "> " 0
A positive error number, if the asynchronous I/O operation failed.
This is the same value that would have been stored in the
.I errno
diff --git a/man3/aio_fsync.3 b/man3/aio_fsync.3
index 768a6c86f..369425a34 100644
--- a/man3/aio_fsync.3
+++ b/man3/aio_fsync.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_FSYNC 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_fsync 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_fsync \- asynchronous file synchronization
.SH LIBRARY
diff --git a/man3/aio_init.3 b/man3/aio_init.3
index af55b0229..09b5de7bd 100644
--- a/man3/aio_init.3
+++ b/man3/aio_init.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH AIO_INIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_init 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
aio_init \- asynchronous I/O initialization
.SH LIBRARY
diff --git a/man3/aio_read.3 b/man3/aio_read.3
index 9a3ea09e8..f4b8c0ed7 100644
--- a/man3/aio_read.3
+++ b/man3/aio_read.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_READ 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_read 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_read \- asynchronous read
.SH LIBRARY
diff --git a/man3/aio_return.3 b/man3/aio_return.3
index 250123738..1332db132 100644
--- a/man3/aio_return.3
+++ b/man3/aio_return.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_RETURN 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_return 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_return \- get return status of asynchronous I/O operation
.SH LIBRARY
diff --git a/man3/aio_suspend.3 b/man3/aio_suspend.3
index 3d35ebc0d..e2e4ce105 100644
--- a/man3/aio_suspend.3
+++ b/man3/aio_suspend.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\" and Copyright (C) 2010 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_SUSPEND 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_suspend 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_suspend \- wait for asynchronous I/O operation or timeout
.SH LIBRARY
@@ -21,13 +22,13 @@ Real-time library
The
.BR aio_suspend ()
function suspends the calling thread until one of the following occurs:
-.IP * 3
+.IP \(bu 3
One or more of the asynchronous I/O requests in the list
.I aiocb_list
has completed.
-.IP *
+.IP \(bu
A signal is delivered.
-.IP *
+.IP \(bu
.I timeout
is not NULL and the specified time interval has passed.
(For details of the
diff --git a/man3/aio_write.3 b/man3/aio_write.3
index fe80841b5..5ba2aee6b 100644
--- a/man3/aio_write.3
+++ b/man3/aio_write.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH AIO_WRITE 3 2022-10-09 "Linux man-pages 6.01"
+.TH aio_write 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
aio_write \- asynchronous write
.SH LIBRARY
diff --git a/man3/alloca.3 b/man3/alloca.3
index ce86589df..63e6c7599 100644
--- a/man3/alloca.3
+++ b/man3/alloca.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1980, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
@@ -12,7 +13,7 @@
.\" Various rewrites and additions (notes on longjmp() and SIGSEGV).
.\" Weaken warning against use of alloca() (as per Debian bug 461100).
.\"
-.TH ALLOCA 3 2022-10-09 "Linux man-pages 6.01"
+.TH alloca 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
alloca \- allocate memory that is automatically freed
.SH LIBRARY
@@ -66,7 +67,9 @@ The
.BR alloca ()
function is machine- and compiler-dependent.
Because it allocates from the stack, it's faster than
-.BR malloc (3)/ free (3).
+.BR malloc (3)
+and
+.BR free (3).
In certain cases,
it can also simplify memory deallocation in applications that use
.BR longjmp (3)
diff --git a/man3/argz_add.3 b/man3/argz_add.3
index 63c1922c3..11abbabab 100644
--- a/man3/argz_add.3
+++ b/man3/argz_add.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" based on the description in glibc source and infopages
.\"
.\" Corrections and additions, aeb
-.TH ARGZ_ADD 3 2022-10-09 "Linux man-pages 6.01"
+.TH argz_add 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
argz_add, argz_add_sep, argz_append, argz_count, argz_create,
argz_create_sep, argz_delete, argz_extract, argz_insert,
diff --git a/man3/asin.3 b/man3/asin.3
index f64a6bf74..f15199738 100644
--- a/man3/asin.3
+++ b/man3/asin.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-25 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ASIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH asin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
asin, asinf, asinl \- arc sine function
.SH LIBRARY
diff --git a/man3/asinh.3 b/man3/asinh.3
index e8572dddb..90bda57fc 100644
--- a/man3/asinh.3
+++ b/man3/asinh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ASINH 3 2022-10-09 "Linux man-pages 6.01"
+.TH asinh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
asinh, asinhf, asinhl \- inverse hyperbolic sine function
.SH LIBRARY
diff --git a/man3/asprintf.3 b/man3/asprintf.3
index acc332e4a..3229d4e39 100644
--- a/man3/asprintf.3
+++ b/man3/asprintf.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Text fragments inspired by Martin Schulze <joey@infodrom.org>.
.\"
-.TH ASPRINTF 3 2022-10-09 "Linux man-pages 6.01"
+.TH asprintf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
asprintf, vasprintf \- print to allocated string
.SH LIBRARY
diff --git a/man3/assert.3 b/man3/assert.3
index 5c6b7cea9..9532cff28 100644
--- a/man3/assert.3
+++ b/man3/assert.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Modified Sat Jul 24 21:42:42 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Tue Oct 22 23:44:11 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Thu Jun 2 23:44:11 2016 by Nikos Mavrogiannopoulos <nmav@redhat.com>
-.TH ASSERT 3 2022-10-09 "Linux man-pages 6.01"
+.TH assert 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
assert \- abort the program if assertion is false
.SH LIBRARY
diff --git a/man3/assert_perror.3 b/man3/assert_perror.3
index ff0d4473e..d5d7dfbf4 100644
--- a/man3/assert_perror.3
+++ b/man3/assert_perror.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" This replaces an earlier man page written by Walter Harms
.\" <walter.harms@informatik.uni-oldenburg.de>.
.\"
-.TH ASSERT_PERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH assert_perror 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
assert_perror \- test errnum and abort
.SH LIBRARY
diff --git a/man3/atan.3 b/man3/atan.3
index 23341cfd6..b33ec2eba 100644
--- a/man3/atan.3
+++ b/man3/atan.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ATAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH atan 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atan, atanf, atanl \- arc tangent function
.SH LIBRARY
diff --git a/man3/atan2.3 b/man3/atan2.3
index db89d2c32..90b0a21cf 100644
--- a/man3/atan2.3
+++ b/man3/atan2.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ATAN2 3 2022-10-09 "Linux man-pages 6.01"
+.TH atan2 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atan2, atan2f, atan2l \- arc tangent function of two variables
.SH LIBRARY
diff --git a/man3/atanh.3 b/man3/atanh.3
index de568ec86..84efedc0f 100644
--- a/man3/atanh.3
+++ b/man3/atanh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ATANH 3 2022-10-09 "Linux man-pages 6.01"
+.TH atanh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atanh, atanhf, atanhl \- inverse hyperbolic tangent function
.SH LIBRARY
@@ -144,7 +145,7 @@ is set to
.B EDOM
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10, glibc does the right thing.
+Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
.BR acosh (3),
.BR asinh (3),
diff --git a/man3/atexit.3 b/man3/atexit.3
index 00b970106..88efb8279 100644
--- a/man3/atexit.3
+++ b/man3/atexit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu)
.\" Modified 2003-10-25, Walter Harms
.\"
-.TH ATEXIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH atexit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atexit \- register a function to be called at normal process termination
.SH LIBRARY
diff --git a/man3/atof.3 b/man3/atof.3
index fe752dd0a..02ef3bbe8 100644
--- a/man3/atof.3
+++ b/man3/atof.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Mon Mar 29 22:39:24 1993, David Metcalfe
.\" Modified Sat Jul 24 21:39:22 1993, Rik Faith (faith@cs.unc.edu)
-.TH ATOF 3 2022-10-09 "Linux man-pages 6.01"
+.TH atof 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atof \- convert a string to a double
.SH LIBRARY
diff --git a/man3/atoi.3 b/man3/atoi.3
index 3f6345fb1..aefd03ce0 100644
--- a/man3/atoi.3
+++ b/man3/atoi.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 21:38:42 1993, Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Dec 17 18:35:06 2000, Joseph S. Myers
.\"
-.TH ATOI 3 2022-10-09 "Linux man-pages 6.01"
+.TH atoi 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
atoi, atol, atoll \- convert a string to an integer
.SH LIBRARY
@@ -99,7 +100,7 @@ only.
.\" is not provided by glibc.
.\" The
.\" .BR atoll ()
-.\" function is present in glibc 2 since version 2.0.2, but
+.\" function is present since glibc 2.0.2, but
.\" not in libc4 or libc5.
.SH NOTES
POSIX.1 leaves the return value of
diff --git a/man3/backtrace.3 b/man3/backtrace.3
index a20b5d855..46dca842c 100644
--- a/man3/backtrace.3
+++ b/man3/backtrace.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\" drawing on material by Justin Pryzby <pryzbyj@justinpryzby.com>
.\"
@@ -24,7 +25,7 @@
.\"
.\" References:
.\" glibc manual and source
-.TH BACKTRACE 3 2022-10-09 "Linux man-pages 6.01"
+.TH BACKTRACE 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
backtrace, backtrace_symbols, backtrace_symbols_fd \- support
for application self-debugging
@@ -35,10 +36,11 @@ Standard C library
.nf
.B #include <execinfo.h>
.PP
-.BI "int backtrace(void **" buffer ", int " size );
+.BI "int backtrace(void *" buffer [. size "], int " size );
.PP
-.BI "char **backtrace_symbols(void *const *" buffer ", int " size );
-.BI "void backtrace_symbols_fd(void *const *" buffer ", int " size ", int " fd );
+.BI "char **backtrace_symbols(void *const " buffer [. size "], int " size );
+.BI "void backtrace_symbols_fd(void *const " buffer [. size "], int " size ", \
+int " fd );
.fi
.SH DESCRIPTION
.BR backtrace ()
@@ -133,7 +135,7 @@ on error, NULL is returned.
.BR backtrace_symbols (),
and
.BR backtrace_symbols_fd ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -159,17 +161,17 @@ These functions are GNU extensions.
These functions make some assumptions about how a function's return
address is stored on the stack.
Note the following:
-.IP * 3
+.IP \(bu 3
Omission of the frame pointers (as
implied by any of
.BR gcc (1)'s
nonzero optimization levels) may cause these assumptions to be
violated.
-.IP *
+.IP \(bu
Inlined functions do not have stack frames.
-.IP *
+.IP \(bu
Tail-call optimization causes one stack frame to replace another.
-.IP *
+.IP \(bu
.BR backtrace ()
and
.BR backtrace_symbols_fd ()
diff --git a/man3/basename.3 b/man3/basename.3
index 5aff34e90..babc5f02a 100644
--- a/man3/basename.3
+++ b/man3/basename.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 2000 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Created, 14 Dec 2000 by Michael Kerrisk
.\"
-.TH BASENAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH basename 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
basename, dirname \- parse pathname components
.SH LIBRARY
diff --git a/man3/bcmp.3 b/man3/bcmp.3
index eae0e8b95..02f30233c 100644
--- a/man3/bcmp.3
+++ b/man3/bcmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 21:36:50 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Tue Oct 22 23:47:36 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH BCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH bcmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bcmp \- compare byte sequences
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.nf
.B #include <strings.h>
.PP
-.BI "[[deprecated]] int bcmp(const void *" s1 ", const void *" s2 ", size_t " n );
+.BI "[[deprecated]] int bcmp(const void " s1 [. n "], const void " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/bcopy.3 b/man3/bcopy.3
index 401d91449..23bc5cf20 100644
--- a/man3/bcopy.3
+++ b/man3/bcopy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Sun Feb 26 14:52:00 1995 by Rik Faith <faith@cs.unc.edu>
.\" Modified Tue Oct 22 23:48:10 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" "
-.TH BCOPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH bcopy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bcopy \- copy byte sequence
.SH LIBRARY
@@ -20,7 +21,8 @@ Standard C library
.nf
.B #include <strings.h>
.PP
-.BI "[[deprecated]] void bcopy(const void *" src ", void *" dest ", size_t " n );
+.BI "[[deprecated]] void bcopy(const void " src [. n "], void " dest [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/bindresvport.3 b/man3/bindresvport.3
index b8477e7cf..4fba757f3 100644
--- a/man3/bindresvport.3
+++ b/man3/bindresvport.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2007, Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" 2007-05-31, mtk: Rewrite and substantial additional text.
.\" 2008-12-03, mtk: Rewrote some pieces and fixed some errors
.\"
-.TH BINDRESVPORT 3 2022-10-09 "Linux man-pages 6.01"
+.TH bindresvport 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bindresvport \- bind a socket to a privileged IP port
.SH LIBRARY
diff --git a/man3/bsd_signal.3 b/man3/bsd_signal.3
index 9cd8ebf09..36e87b606 100644
--- a/man3/bsd_signal.3
+++ b/man3/bsd_signal.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH BSD_SIGNAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH bsd_signal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bsd_signal \- signal handling with BSD semantics
.SH LIBRARY
diff --git a/man3/bsearch.3 b/man3/bsearch.3
index 249cb3ee4..9b89cb6f9 100644
--- a/man3/bsearch.3
+++ b/man3/bsearch.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Mon Mar 29 22:41:16 1993, David Metcalfe
.\" Modified Sat Jul 24 21:35:16 1993, Rik Faith (faith@cs.unc.edu)
-.TH BSEARCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH bsearch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bsearch \- binary search of a sorted array
.SH LIBRARY
@@ -18,9 +19,11 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "void *bsearch(const void *" key ", const void *" base ,
+.BI "void *bsearch(const void " key [. size "], \
+const void " base [. size " * ." nmemb ],
.BI " size_t " nmemb ", size_t " size ,
-.BI " int (*" compar ")(const void *, const void *));"
+.BI " int (*" compar ")(const void [." size "], \
+const void [." size ]));
.fi
.SH DESCRIPTION
The
diff --git a/man3/bstring.3 b/man3/bstring.3
index 708aa4fbd..7e4a359e7 100644
--- a/man3/bstring.3
+++ b/man3/bstring.3
@@ -9,7 +9,7 @@
.\" Modified 1993-04-12, David Metcalfe
.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-01-20, Walter Harms
-.TH BSTRING 3 2022-10-09 "Linux man-pages 6.01"
+.TH BSTRING 3 2022-11-10 "Linux man-pages 6.02"
.SH NAME
bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem,
memmove, memset \- byte string operations
@@ -20,28 +20,29 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "int bcmp(const void *" s1 ", const void *" s2 ", size_t " n );
+.BI "int bcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
.PP
-.BI "void bcopy(const void *" src ", void *" dest ", size_t " n );
+.BI "void bcopy(const void " src [. n "], void " dest [. n "], size_t " n );
.PP
-.BI "void bzero(void *" s ", size_t " n );
+.BI "void bzero(void " s [. n "], size_t " n );
.PP
-.BI "void *memccpy(void *" dest ", const void *" src ", int " c ", size_t " n );
+.BI "void *memccpy(void " dest [. n "], const void " src [. n "], int " c ", \
+size_t " n );
.PP
-.BI "void *memchr(const void *" s ", int " c ", size_t " n );
+.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
.PP
-.BI "int memcmp(const void *" s1 ", const void *" s2 ", size_t " n );
+.BI "int memcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
.PP
-.BI "void *memcpy(void *" dest ", const void *" src ", size_t " n );
+.BI "void *memcpy(void " dest [. n "], const void " src [. n "], size_t " n );
.PP
-.BI "void *memfrob(void *" s ", size_t " n );
+.BI "void *memfrob(void " s [. n "], size_t " n );
.PP
-.BI "void *memmem(const void *" haystack ", size_t " haystacklen ,
-.BI " const void *" needle ", size_t " needlelen );
+.BI "void *memmem(const void " haystack [. haystacklen "], size_t " haystacklen ,
+.BI " const void " needle [. needlelen "], size_t " needlelen );
.PP
-.BI "void *memmove(void *" dest ", const void *" src ", size_t " n );
+.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
.PP
-.BI "void *memset(void *" s ", int " c ", size_t " n );
+.BI "void *memset(void " s [. n "], int " c ", size_t " n );
.fi
.SH DESCRIPTION
The byte string functions perform operations on strings (byte arrays)
diff --git a/man3/bswap.3 b/man3/bswap.3
index 501eeb393..76611552b 100644
--- a/man3/bswap.3
+++ b/man3/bswap.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH BSWAP 3 2022-10-09 "Linux man-pages 6.01"
+.TH BSWAP 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
bswap_16, bswap_32, bswap_64 \- reverse order of bytes
.SH LIBRARY
diff --git a/man3/btowc.3 b/man3/btowc.3
index 312ca5b40..2243d16cd 100644
--- a/man3/btowc.3
+++ b/man3/btowc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH BTOWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH btowc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
btowc \- convert single byte to wide character
.SH LIBRARY
diff --git a/man3/btree.3 b/man3/btree.3
index abf0515ac..902075e4e 100644
--- a/man3/btree.3
+++ b/man3/btree.3
@@ -5,7 +5,7 @@
.\"
.\" @(#)btree.3 8.4 (Berkeley) 8/18/94
.\"
-.TH BTREE 3 2022-10-09 "Linux man-pages 6.01"
+.TH btree 3 2022-12-04 "Linux man-pages 6.02"
.\".UC 7
.SH NAME
btree \- btree database access method
@@ -21,8 +21,8 @@ Standard C library
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
diff --git a/man3/byteorder.3 b/man3/byteorder.3
index 4df941db4..582ad4c4b 100644
--- a/man3/byteorder.3
+++ b/man3/byteorder.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 21:29:05 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Thu Jul 26 14:06:20 2001 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH BYTEORDER 3 2022-10-09 "Linux man-pages 6.01"
+.TH BYTEORDER 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
htonl, htons, ntohl, ntohs \- convert values between host and network
byte order
diff --git a/man3/bzero.3 b/man3/bzero.3
index bbf406d35..1471db5f4 100644
--- a/man3/bzero.3
+++ b/man3/bzero.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH BZERO 3 2022-10-09 "Linux man-pages 6.01"
+.TH bzero 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
bzero, explicit_bzero \- zero a byte string
.SH LIBRARY
@@ -12,11 +13,11 @@ Standard C library
.nf
.B #include <strings.h>
.PP
-.BI "void bzero(void *" s ", size_t " n );
+.BI "void bzero(void " s [. n "], size_t " n );
.PP
.B #include <string.h>
.PP
-.BI "void explicit_bzero(void *" s ", size_t " n );
+.BI "void explicit_bzero(void " s [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
@@ -101,7 +102,7 @@ are never optimized away by the compiler.
The
.BR explicit_bzero ()
function does not solve all problems associated with erasing sensitive data:
-.IP 1. 3
+.IP \(bu 3
The
.BR explicit_bzero ()
function does
@@ -114,7 +115,7 @@ a register and in "scratch" stack areas.
The
.BR explicit_bzero ()
function is not aware of these copies, and can't erase them.
-.IP 2.
+.IP \(bu
In some circumstances,
.BR explicit_bzero ()
can
diff --git a/man3/cabs.3 b/man3/cabs.3
index bec486223..ba7bf916b 100644
--- a/man3/cabs.3
+++ b/man3/cabs.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CABS 3 2022-10-09 "Linux man-pages 6.01"
+.TH cabs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cabs, cabsf, cabsl \- absolute value of a complex number
.SH LIBRARY
@@ -21,7 +22,7 @@ These functions return the absolute value of the complex number
.IR z .
The result is a real number.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/cacos.3 b/man3/cacos.3
index 4120a2377..9d0bd6b33 100644
--- a/man3/cacos.3
+++ b/man3/cacos.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CACOS 3 2022-10-09 "Linux man-pages 6.01"
+.TH cacos 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cacos, cacosf, cacosl \- complex arc cosine
.SH LIBRARY
@@ -31,7 +32,7 @@ One has:
cacos(z) = \-i * clog(z + i * csqrt(1 \- z * z))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/cacosh.3 b/man3/cacosh.3
index 7b5d867d1..8627eb056 100644
--- a/man3/cacosh.3
+++ b/man3/cacosh.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2002 Walter Harms(walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CACOSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH cacosh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cacosh, cacoshf, cacoshl \- complex arc hyperbolic cosine
.SH LIBRARY
@@ -34,7 +35,7 @@ One has:
cacosh(z) = 2 * clog(csqrt((z + 1) / 2) + csqrt((z \- 1) / 2))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/canonicalize_file_name.3 b/man3/canonicalize_file_name.3
index 187fb0913..bc2bfb883 100644
--- a/man3/canonicalize_file_name.3
+++ b/man3/canonicalize_file_name.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2013 Michael Kerrisk <mtk.manpages@gmail.com>
.\" (Replaces an earlier page by Walter Harms and Michael Kerrisk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CANONICALIZE_FILE_NAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH canonicalize_file_name 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
canonicalize_file_name \- return the canonicalized absolute pathname
.SH LIBRARY
diff --git a/man3/carg.3 b/man3/carg.3
index 05ba16cb7..8b61478a7 100644
--- a/man3/carg.3
+++ b/man3/carg.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CARG 3 2022-10-09 "Linux man-pages 6.01"
+.TH carg 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
carg, cargf, cargl \- calculate the complex argument
.SH LIBRARY
@@ -62,7 +63,7 @@ tan(carg(z)) = cimag(z) / creal(z)
.SH RETURN VALUE
The return value is in the range of [\-pi,pi].
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/casin.3 b/man3/casin.3
index abee3cc82..fef6e2f26 100644
--- a/man3/casin.3
+++ b/man3/casin.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CASIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH casin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
casin, casinf, casinl \- complex arc sine
.SH LIBRARY
@@ -30,7 +31,7 @@ One has:
casin(z) = \-i clog(iz + csqrt(1 \- z * z))
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/casinh.3 b/man3/casinh.3
index 9e3a73f2d..699be1a02 100644
--- a/man3/casinh.3
+++ b/man3/casinh.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CASINH 3 2022-10-09 "Linux man-pages 6.01"
+.TH casinh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
casinh, casinhf, casinhl \- complex arc sine hyperbolic
.SH LIBRARY
@@ -32,7 +33,7 @@ casinh(z) = clog(z + csqrt(z * z + 1))
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/catan.3 b/man3/catan.3
index 50f6341e0..0d6b7b745 100644
--- a/man3/catan.3
+++ b/man3/catan.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CATAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH catan 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
catan, catanf, catanl \- complex arc tangents
.SH LIBRARY
@@ -31,7 +32,7 @@ catan(z) = (clog(1 + i * z) \- clog(1 \- i * z)) / (2 * i)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/catanh.3 b/man3/catanh.3
index a30c05329..de5955851 100644
--- a/man3/catanh.3
+++ b/man3/catanh.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright (C) 2011 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CATANH 3 2022-10-09 "Linux man-pages 6.01"
+.TH catanh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
catanh, catanhf, catanhl \- complex arc tangents hyperbolic
.SH LIBRARY
@@ -33,7 +34,7 @@ catanh(z) = 0.5 * (clog(1 + z) \- clog(1 \- z))
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/catgets.3 b/man3/catgets.3
index e5def0b0a..c43164849 100644
--- a/man3/catgets.3
+++ b/man3/catgets.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 1993 Mitchum DSouza <m.dsouza@mrc-applied-psychology.cambridge.ac.uk>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Updated, aeb, 980809
-.TH CATGETS 3 2022-10-09 "Linux man-pages 6.01"
+.TH CATGETS 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
catgets \- get message from a message catalog
.SH LIBRARY
diff --git a/man3/catopen.3 b/man3/catopen.3
index c24cffe02..d110808a3 100644
--- a/man3/catopen.3
+++ b/man3/catopen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Mitchum DSouza <m.dsouza@mrc-applied-psychology.cambridge.ac.uk>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Modified Thu Dec 13 22:51:19 2001 by Martin Schulze <joey@infodrom.org>
.\" Modified 2001-12-14 aeb
.\"
-.TH CATOPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH catopen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
catopen, catclose \- open/close a message catalog
.SH LIBRARY
diff --git a/man3/cbrt.3 b/man3/cbrt.3
index edd21776b..9200f520c 100644
--- a/man3/cbrt.3
+++ b/man3/cbrt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Modified 2002-07-27 Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH CBRT 3 2022-10-09 "Linux man-pages 6.01"
+.TH cbrt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cbrt, cbrtf, cbrtl \- cube root function
.SH LIBRARY
diff --git a/man3/ccos.3 b/man3/ccos.3
index fa8b4f24f..71a3b0fa2 100644
--- a/man3/ccos.3
+++ b/man3/ccos.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CCOS 3 2022-10-09 "Linux man-pages 6.01"
+.TH ccos 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ccos, ccosf, ccosl \- complex cosine function
.SH LIBRARY
@@ -28,7 +29,7 @@ ccos(z) = (exp(i * z) + exp(\-i * z)) / 2
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ccosh.3 b/man3/ccosh.3
index a7cce4db0..74d585701 100644
--- a/man3/ccosh.3
+++ b/man3/ccosh.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CCOSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH ccosh 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ccosh, ccoshf, ccoshl \- complex hyperbolic cosine
.SH LIBRARY
@@ -28,7 +28,7 @@ ccosh(z) = (exp(z)+exp(\-z))/2
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH STANDARDS
C99, POSIX.1-2001, POSIX.1-2008.
.SH SEE ALSO
diff --git a/man3/ceil.3 b/man3/ceil.3
index 0422ad31d..da3b53c10 100644
--- a/man3/ceil.3
+++ b/man3/ceil.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CEIL 3 2022-10-09 "Linux man-pages 6.01"
+.TH ceil 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ceil, ceilf, ceill \- ceiling function: smallest integral value not
less than argument
diff --git a/man3/cexp.3 b/man3/cexp.3
index f4965d32f..f20175d25 100644
--- a/man3/cexp.3
+++ b/man3/cexp.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CEXP 3 2022-10-09 "Linux man-pages 6.01"
+.TH cexp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cexp, cexpf, cexpl \- complex exponential function
.SH LIBRARY
@@ -29,7 +30,7 @@ cexp(I * z) = ccos(z) + I * csin(z)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/cexp2.3 b/man3/cexp2.3
index 698f87cb4..e729366dc 100644
--- a/man3/cexp2.3
+++ b/man3/cexp2.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CEXP2 3 2022-10-09 "Linux man-pages 6.01"
+.TH cexp2 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
cexp2, cexp2f, cexp2l \- base-2 exponent of a complex number
.SH LIBRARY
@@ -22,7 +22,7 @@ The function returns 2 raised to the power of
.SH STANDARDS
These function names are reserved for future use in C99.
.PP
-As at version 2.31, these functions are not provided in glibc.
+As at glibc 2.31, these functions are not provided in glibc.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
.BR cabs (3),
diff --git a/man3/cfree.3 b/man3/cfree.3
index 3593b7ae7..ae0970b9f 100644
--- a/man3/cfree.3
+++ b/man3/cfree.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH CFREE 3 2022-10-09 "Linux man-pages 6.01"
+.TH CFREE 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cfree \- free allocated memory
.SH LIBRARY
@@ -20,10 +21,12 @@ Standard C library
.BI "void cfree(void *" ptr );
.PP
/* In SCO OpenServer */
-.BI "void cfree(char *" ptr ", unsigned int " num ", unsigned int " size );
+.BI "void cfree(char " ptr [. size " * ." num "], unsigned int " num ", \
+unsigned int " size );
.PP
/* In Solaris watchmalloc.so.1 */
-.BI "void cfree(void *" ptr ", size_t " nelem ", size_t " elsize );
+.BI "void cfree(void " ptr [. elsize " * ." nelem "], size_t " nelem ", \
+size_t " elsize );
.fi
.PP
.RS -4
@@ -43,7 +46,7 @@ This function should never be used.
Use
.BR free (3)
instead.
-Starting with version 2.26, it has been removed from glibc.
+Starting with glibc 2.26, it has been removed from glibc.
.SS 1-arg cfree
In glibc, the function
.BR cfree ()
@@ -106,7 +109,7 @@ The
.BR cfree ()
function was removed
.\" commit 025b33ae84bb8f15b2748a1d8605dca453fce112
-from glibc in version 2.26.
+in glibc 2.26.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/cimag.3 b/man3/cimag.3
index a03975c34..1145e5293 100644
--- a/man3/cimag.3
+++ b/man3/cimag.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CIMAG 3 2022-10-09 "Linux man-pages 6.01"
+.TH cimag 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cimag, cimagf, cimagl \- get imaginary part of a complex number
.SH LIBRARY
@@ -28,7 +29,7 @@ z = creal(z) + I * cimag(z)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/circleq.3 b/man3/circleq.3
index 43b1f0228..cf5465ad2 100644
--- a/man3/circleq.3
+++ b/man3/circleq.3
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH CIRCLEQ 3 2022-10-09 "Linux man-pages 6.01"
+.TH CIRCLEQ 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
CIRCLEQ_EMPTY,
CIRCLEQ_ENTRY,
diff --git a/man3/clearenv.3 b/man3/clearenv.3
index 1e8e47d94..8aa5670af 100644
--- a/man3/clearenv.3
+++ b/man3/clearenv.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2001 John Levon <moz@compsoc.man.ac.uk>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Additions, aeb, 2001-10-17.
-.TH CLEARENV 3 2022-10-09 "Linux man-pages 6.01"
+.TH clearenv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clearenv \- clear the environment
.SH LIBRARY
@@ -23,7 +24,7 @@ Feature Test Macro Requirements for glibc (see
.PP
.BR clearenv ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/clock.3 b/man3/clock.3
index dc46d40a3..57d2de7b7 100644
--- a/man3/clock.3
+++ b/man3/clock.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -6,7 +7,7 @@
.\" Modified 14 Jun 2002, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added notes on differences from other UNIX systems with respect to
.\" waited-for children.
-.TH CLOCK 3 2022-10-09 "Linux man-pages 6.01"
+.TH clock 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clock \- determine processor time
.SH LIBRARY
diff --git a/man3/clock_getcpuclockid.3 b/man3/clock_getcpuclockid.3
index 1b38f8182..fbbfb5a73 100644
--- a/man3/clock_getcpuclockid.3
+++ b/man3/clock_getcpuclockid.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CLOCK_GETCPUCLOCKID 3 2022-10-09 "Linux man-pages 6.01"
+.TH clock_getcpuclockid 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clock_getcpuclockid \- obtain ID of a process CPU-time clock
.SH LIBRARY
@@ -69,7 +70,7 @@ There is no process with the ID
.SH VERSIONS
The
.BR clock_getcpuclockid ()
-function is available in glibc since version 2.2.
+function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/clog.3 b/man3/clog.3
index 307cda568..d98e37117 100644
--- a/man3/clog.3
+++ b/man3/clog.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CLOG 3 2022-10-09 "Linux man-pages 6.01"
+.TH clog 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clog, clogf, clogl \- natural logarithm of a complex number
.SH LIBRARY
@@ -42,7 +43,7 @@ Note that
.I z
close to zero will cause an overflow.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/clog10.3 b/man3/clog10.3
index bf4c81419..9c67278fd 100644
--- a/man3/clog10.3
+++ b/man3/clog10.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CLOG10 3 2022-10-09 "Linux man-pages 6.01"
+.TH clog10 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clog10, clog10f, clog10l \- base-10 logarithm of a complex number
.SH LIBRARY
@@ -45,7 +46,7 @@ Note that
.I z
close to zero will cause an overflow.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/clog2.3 b/man3/clog2.3
index 106a6f133..220099f2a 100644
--- a/man3/clog2.3
+++ b/man3/clog2.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CLOG2 3 2022-10-09 "Linux man-pages 6.01"
+.TH clog2 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
clog2, clog2f, clog2l \- base-2 logarithm of a complex number
.SH LIBRARY
@@ -33,7 +33,7 @@ close to zero will cause an overflow.
.SH STANDARDS
These function names are reserved for future use in C99.
.PP
-Not yet in glibc, as at version 2.19.
+Not yet in glibc, as at glibc 2.19.
.\" But reserved in NAMESPACE.
.SH SEE ALSO
.BR cabs (3),
diff --git a/man3/closedir.3 b/man3/closedir.3
index 3f7f8c9e4..44a2ef8db 100644
--- a/man3/closedir.3
+++ b/man3/closedir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 21:25:52 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl)
-.TH CLOSEDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH closedir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
closedir \- close a directory
.SH LIBRARY
diff --git a/man3/cmsg.3 b/man3/cmsg.3
index 42d82ae2c..73dcc06e1 100644
--- a/man3/cmsg.3
+++ b/man3/cmsg.3
@@ -8,7 +8,7 @@
.\" %%%LICENSE_END
.\"
.\" $Id: cmsg.3,v 1.8 2000/12/20 18:10:31 ak Exp $
-.TH CMSG 3 2022-10-09 "Linux man-pages 6.01"
+.TH CMSG 3 2022-10-29 "Linux man-pages 6.02"
.SH NAME
CMSG_ALIGN, CMSG_SPACE, CMSG_NXTHDR, CMSG_FIRSTHDR \- access ancillary data
.SH LIBRARY
@@ -71,7 +71,7 @@ The sequence of
.I cmsghdr
structures should never be accessed directly.
Instead, use only the following macros:
-.IP * 3
+.TP
.BR CMSG_FIRSTHDR ()
returns a pointer to the first
.I cmsghdr
@@ -81,7 +81,7 @@ data buffer associated with the passed
It returns NULL if there isn't enough space for a
.I cmsghdr
in the buffer.
-.IP *
+.TP
.BR CMSG_NXTHDR ()
returns the next valid
.I cmsghdr
@@ -96,17 +96,17 @@ structures (e.g., to be sent with
that buffer should first be zero-initialized
to ensure the correct operation of
.BR CMSG_NXTHDR ().
-.IP *
+.TP
.BR CMSG_ALIGN (),
given a length, returns it including the required alignment.
This is a
constant expression.
-.IP *
+.TP
.BR CMSG_SPACE ()
returns the number of bytes an ancillary element with payload of the
passed data length occupies.
This is a constant expression.
-.IP *
+.TP
.BR CMSG_DATA ()
returns a pointer to the data portion of a
.IR cmsghdr .
@@ -116,7 +116,7 @@ Applications should not cast it to a pointer type matching the payload,
but should instead use
.BR memcpy (3)
to copy data to or from a suitably declared object.
-.IP *
+.TP
.BR CMSG_LEN ()
returns the value to store in the
.I cmsg_len
diff --git a/man3/confstr.3 b/man3/confstr.3
index 42e68236b..cf0e6d73c 100644
--- a/man3/confstr.3
+++ b/man3/confstr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,12 +6,12 @@
.\" Modified Sat Jul 24 19:53:02 1993 by Rik Faith (faith@cs.unc.edu)
.\"
.\" FIXME Many more values for 'name' are supported, some of which
-.\" are documented under 'info confstr'.
+.\" are documented under 'info libc confstr'.
.\" See <bits/confname.h> for the rest.
.\" These should all be added to this page.
.\" See also the POSIX.1-2001 specification of confstr()
.\"
-.TH CONFSTR 3 2022-10-09 "Linux man-pages 6.01"
+.TH confstr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
confstr \- get configuration dependent string variables
.SH LIBRARY
@@ -20,7 +21,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "size_t confstr(int " "name" ", char *" buf ", size_t " size );
+.BI "size_t confstr(int " "name" ", char " buf [. size "], size_t " size );
.fi
.PP
.RS -4
diff --git a/man3/conj.3 b/man3/conj.3
index bb3581a9e..24136867b 100644
--- a/man3/conj.3
+++ b/man3/conj.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CONJ 3 2022-10-09 "Linux man-pages 6.01"
+.TH conj 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
conj, conjf, conjl \- calculate the complex conjugate
.SH LIBRARY
@@ -29,7 +30,7 @@ cabs(z) = csqrt(z * conj(z))
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/copysign.3 b/man3/copysign.3
index 339539d71..2cf449010 100644
--- a/man3/copysign.3
+++ b/man3/copysign.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-08-10 by Walter Harms (walter.harms@informatik.uni-oldenburg.de)
-.TH COPYSIGN 3 2022-10-09 "Linux man-pages 6.01"
+.TH copysign 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
copysign, copysignf, copysignl \- copy sign of a number
.SH LIBRARY
diff --git a/man3/cos.3 b/man3/cos.3
index 9df1bfc61..907ace9d6 100644
--- a/man3/cos.3
+++ b/man3/cos.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -11,7 +12,7 @@
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH COS 3 2022-10-09 "Linux man-pages 6.01"
+.TH cos 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cos, cosf, cosl \- cosine function
.SH LIBRARY
@@ -101,7 +102,7 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6780
.I errno
to
diff --git a/man3/cosh.3 b/man3/cosh.3
index 57fd320be..ddf5933d6 100644
--- a/man3/cosh.3
+++ b/man3/cosh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH COSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH cosh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cosh, coshf, coshl \- hyperbolic cosine function
.SH LIBRARY
@@ -117,7 +118,7 @@ The variant returning
also conforms to
SVr4, 4.3BSD.
.SH BUGS
-In glibc version 2.3.4 and earlier,
+In glibc 2.3.4 and earlier,
an overflow floating-point
.RB ( FE_OVERFLOW )
exception is not raised when an overflow occurs.
diff --git a/man3/cpow.3 b/man3/cpow.3
index 5a91d4ecf..f0273028b 100644
--- a/man3/cpow.3
+++ b/man3/cpow.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CPOW 3 2022-10-09 "Linux man-pages 6.01"
+.TH cpow 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cpow, cpowf, cpowl \- complex power function
.SH LIBRARY
@@ -24,9 +25,9 @@ raised to the power
.I z
(with a branch cut for
.I x
-along the negative real axis.)
+along the negative real axis).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/cproj.3 b/man3/cproj.3
index ae19acc28..12cd67202 100644
--- a/man3/cproj.3
+++ b/man3/cproj.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CPROJ 3 2022-10-09 "Linux man-pages 6.01"
+.TH cproj 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cproj, cprojf, cprojl \- project into Riemann Sphere
.SH LIBRARY
@@ -27,7 +28,7 @@ itself.
Every complex infinite value is projected to a single infinite value,
namely to positive infinity on the real axis.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/creal.3 b/man3/creal.3
index 333ee0450..5bfaa0d2e 100644
--- a/man3/creal.3
+++ b/man3/creal.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CREAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH creal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
creal, crealf, creall \- get real part of a complex number
.SH LIBRARY
@@ -26,7 +27,7 @@ One has:
z = creal(z) + I * cimag(z)
.fi
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/crypt.3 b/man3/crypt.3
index 387243318..0186274d0 100644
--- a/man3/crypt.3
+++ b/man3/crypt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Michael Haardt (michael@cantor.informatik.rwth.aachen.de)
.\" Sat Sep 3 22:00:30 MET DST 1994
.\"
@@ -14,7 +15,7 @@
.\" added _XOPEN_SOURCE, aeb, 970705
.\" added GNU MD5 stuff, aeb, 011223
.\"
-.TH CRYPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH crypt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
crypt, crypt_r \- password and data encryption
.SH LIBRARY
diff --git a/man3/csin.3 b/man3/csin.3
index 69e29d44b..bd7e04681 100644
--- a/man3/csin.3
+++ b/man3/csin.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CSIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH csin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
csin, csinf, csinl \- complex sine function
.SH LIBRARY
@@ -28,7 +29,7 @@ csin(z) = (exp(i * z) \- exp(\-i * z)) / (2 * i)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/csinh.3 b/man3/csinh.3
index 2ebea5b0b..e9ca0c01c 100644
--- a/man3/csinh.3
+++ b/man3/csinh.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CSINH 3 2022-10-09 "Linux man-pages 6.01"
+.TH csinh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
csinh, csinhf, csinhl \- complex hyperbolic sine
.SH LIBRARY
@@ -28,7 +29,7 @@ csinh(z) = (exp(z)\-exp(\-z))/2
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/csqrt.3 b/man3/csqrt.3
index f93fd48fc..2fc25e9df 100644
--- a/man3/csqrt.3
+++ b/man3/csqrt.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CSQRT 3 2022-10-09 "Linux man-pages 6.01"
+.TH csqrt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
csqrt, csqrtf, csqrtl \- complex square root
.SH LIBRARY
@@ -24,7 +25,7 @@ with a branch cut along the negative real axis.
\fIcsqrt(\-1\-eps*I)\fP will be close to \-I, \fIif eps\fP is a small positive
real number.)
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ctan.3 b/man3/ctan.3
index 9cf6ca557..5a0f46f84 100644
--- a/man3/ctan.3
+++ b/man3/ctan.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CTAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH ctan 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ctan, ctanf, ctanl \- complex tangent function
.SH LIBRARY
@@ -28,7 +29,7 @@ ctan(z) = csin(z) / ccos(z)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ctanh.3 b/man3/ctanh.3
index 2c51a4907..c22e2e0a0 100644
--- a/man3/ctanh.3
+++ b/man3/ctanh.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH CTANH 3 2022-10-09 "Linux man-pages 6.01"
+.TH ctanh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ctanh, ctanhf, ctanhl \- complex hyperbolic tangent
.SH LIBRARY
@@ -29,7 +30,7 @@ ctanh(z) = csinh(z) / ccosh(z)
.EE
.in
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ctermid.3 b/man3/ctermid.3
index 91bb9b6ca..4d13abec4 100644
--- a/man3/ctermid.3
+++ b/man3/ctermid.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 19:51:06 1993 by Rik Faith (faith@cs.unc.edu)
-.TH CTERMID 3 2022-10-09 "Linux man-pages 6.01"
+.TH ctermid 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ctermid \- get controlling terminal name
.SH LIBRARY
@@ -68,6 +69,6 @@ terminal; it may, for example, be
.PP
It is not assured that the program can open the terminal.
.\" in glibc 2.3.x, x >= 4, the glibc headers threw an error
-.\" if ctermid() was given an argument; fixed in 2.4.
+.\" if ctermid() was given an argument; fixed in glibc 2.4.
.SH SEE ALSO
.BR ttyname (3)
diff --git a/man3/ctime.3 b/man3/ctime.3
index 834df59ef..798858635 100644
--- a/man3/ctime.3
+++ b/man3/ctime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -12,7 +13,7 @@
.\" Modified 2001-12-13, joey, aeb
.\" Modified 2004-11-16, mtk
.\"
-.TH CTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH ctime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r,
localtime_r \- transform date and time to broken-down time or ASCII
diff --git a/man3/daemon.3 b/man3/daemon.3
index ba2a6e823..9744e213e 100644
--- a/man3/daemon.3
+++ b/man3/daemon.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -5,7 +6,7 @@
.\"
.\" @(#)daemon.3 8.1 (Berkeley) 6/9/93
.\" Added mentioning of glibc weirdness wrt unistd.h. 5/11/98, Al Viro
-.TH DAEMON 3 2022-10-09 "Linux man-pages 6.01"
+.TH daemon 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
daemon \- run in the background
.SH LIBRARY
diff --git a/man3/dbopen.3 b/man3/dbopen.3
index 87089eab1..ceb2018a9 100644
--- a/man3/dbopen.3
+++ b/man3/dbopen.3
@@ -5,7 +5,7 @@
.\"
.\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94
.\"
-.TH DBOPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH dbopen 3 2022-12-04 "Linux man-pages 6.02"
.UC 7
.SH NAME
dbopen \- database access methods
@@ -25,8 +25,8 @@ Standard C library
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
diff --git a/man3/des_crypt.3 b/man3/des_crypt.3
index 143f7b33c..c2cd8e320 100644
--- a/man3/des_crypt.3
+++ b/man3/des_crypt.3
@@ -1,3 +1,4 @@
+'\" t
.\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI;
.\"
.\" Taken from libc4 sources, which say:
@@ -9,7 +10,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH DES_CRYPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH des_crypt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED \- fast
DES encryption
@@ -22,9 +23,11 @@ Standard C library
.\" .B #include <des_crypt.h>
.B #include <rpc/des_crypt.h>
.PP
-.BI "int ecb_crypt(char *" key ", char *" data ", unsigned int " datalen ,
+.BI "int ecb_crypt(char *" key ", char " data [. datalen "], \
+unsigned int " datalen ,
.BI " unsigned int " mode );
-.BI "int cbc_crypt(char *" key ", char *" data ", unsigned int " datalen ,
+.BI "int cbc_crypt(char *" key ", char " data [. datalen "], \
+unsigned int " datalen ,
.BI " unsigned int " mode ", char *" ivec );
.PP
.BI "void des_setparity(char *" key );
@@ -127,7 +130,7 @@ is false only for the first two statuses.
.\" So far the Sun page
.\" Some additions - aeb
.SH VERSIONS
-These functions were added to glibc in version 2.1.
+These functions were added in glibc 2.1.
.PP
Because they employ the DES block cipher,
which is no longer considered secure,
diff --git a/man3/difftime.3 b/man3/difftime.3
index 2c69de384..5d850fb57 100644
--- a/man3/difftime.3
+++ b/man3/difftime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:48:17 1993 by Rik Faith (faith@cs.unc.edu)
-.TH DIFFTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH difftime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
difftime \- calculate time difference
.SH LIBRARY
diff --git a/man3/dirfd.3 b/man3/dirfd.3
index eb120ed09..7743f5f42 100644
--- a/man3/dirfd.3
+++ b/man3/dirfd.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DIRFD 3 2022-10-09 "Linux man-pages 6.01"
+.TH dirfd 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dirfd \- get directory stream file descriptor
.SH LIBRARY
@@ -81,7 +82,7 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2008.
This function was a BSD extension, present in 4.3BSD-Reno, not in 4.2BSD.
-.\" It is present in libc5 (since 5.1.2) and in glibc2.
+.\" It is present in libc5 (since 5.1.2) and in glibc 2.
.SH SEE ALSO
.BR open (2),
.BR openat (2),
diff --git a/man3/div.3 b/man3/div.3
index c24d1eb3f..18f52bce8 100644
--- a/man3/div.3
+++ b/man3/div.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -11,7 +12,7 @@
.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-08-10, 2003-11-01 Walter Harms, aeb
.\"
-.TH DIV 3 2022-10-09 "Linux man-pages 6.01"
+.TH div 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
div, ldiv, lldiv, imaxdiv \- compute quotient and remainder of
an integer division
diff --git a/man3/dl_iterate_phdr.3 b/man3/dl_iterate_phdr.3
index 5726290bb..e084c4b1a 100644
--- a/man3/dl_iterate_phdr.3
+++ b/man3/dl_iterate_phdr.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003, 2017 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DL_ITERATE_PHDR 3 2022-10-09 "Linux man-pages 6.01"
+.TH DL_ITERATE_PHDR 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dl_iterate_phdr \- walk through list of shared objects
.SH LIBRARY
@@ -183,7 +184,7 @@ function returns whatever value was returned by the last call to
.IR callback .
.SH VERSIONS
.BR dl_iterate_phdr ()
-has been supported in glibc since version 2.2.4.
+has been supported since glibc 2.2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/dladdr.3 b/man3/dladdr.3
index 47068d548..7377cd680 100644
--- a/man3/dladdr.3
+++ b/man3/dladdr.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (C) 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2008 Petr Baudis <pasky@suse.cz> (dladdr caveat)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DLADDR 3 2022-10-09 "Linux man-pages 6.01"
+.TH DLADDR 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dladdr, dladdr1 \- translate address to symbolic information
.SH LIBRARY
diff --git a/man3/dlerror.3 b/man3/dlerror.3
index 525b049ef..e0edfb18c 100644
--- a/man3/dlerror.3
+++ b/man3/dlerror.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 1995 Yggdrasil Computing, Incorporated.
.\" and Copyright 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH DLERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH dlerror 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dlerror \- obtain error diagnostic for functions in the dlopen API
.SH LIBRARY
diff --git a/man3/dlinfo.3 b/man3/dlinfo.3
index e275f2a13..eb7c456be 100644
--- a/man3/dlinfo.3
+++ b/man3/dlinfo.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DLINFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH DLINFO 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dlinfo \- obtain information about a dynamically loaded object
.SH LIBRARY
@@ -102,7 +103,7 @@ The
request described below allows applications to size the buffer suitably.
The caller must perform the following steps:
.RS
-.IP 1. 3
+.IP (1) 5
Use a
.B RTLD_DI_SERINFOSIZE
request to populate a
@@ -112,12 +113,12 @@ structure with the size
of the structure needed for the subsequent
.B RTLD_DI_SERINFO
request.
-.IP 2.
+.IP (2)
Allocate a
.I Dl_serinfo
buffer of the correct size
.RI ( dls_size ).
-.IP 3.
+.IP (3)
Use a further
.B RTLD_DI_SERINFOSIZE
request to populate the
@@ -125,7 +126,7 @@ request to populate the
and
.I dls_cnt
fields of the buffer allocated in the previous step.
-.IP 4.
+.IP (4)
Use a
.B RTLD_DI_SERINFO
to obtain the library search paths.
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index 8e517418b..c42f10d3d 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 Yggdrasil Computing, Incorporated.
.\" written by Adam J. Richter (adam@yggdrasil.com),
.\" with typesetting help from Daniel Quinlan (quinlan@yggdrasil.com).
@@ -13,7 +14,7 @@
.\" Modified by Walter Harms: dladdr, dlvsym
.\" Modified by Petr Baudis <pasky@suse.cz>, 2008-12-04: dladdr caveat
.\"
-.TH DLOPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH DLOPEN 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dlclose, dlopen, dlmopen \-
open and close a shared object
@@ -67,32 +68,32 @@ Otherwise, the dynamic linker searches for the object as follows
(see
.BR ld.so (8)
for further details):
-.IP o 4
+.IP \(bu 3
(ELF only) If the calling object
(i.e., the shared library or executable from which
.BR dlopen ()
is called)
contains a DT_RPATH tag, and does not contain a DT_RUNPATH tag,
then the directories listed in the DT_RPATH tag are searched.
-.IP o
+.IP \(bu
If, at the time that the program was started, the environment variable
.B LD_LIBRARY_PATH
was defined to contain a colon-separated list of directories,
then these are searched.
(As a security measure, this variable is ignored for set-user-ID and
set-group-ID programs.)
-.IP o
+.IP \(bu
(ELF only) If the calling object
contains a DT_RUNPATH tag, then the directories listed in that tag
are searched.
-.IP o
+.IP \(bu
The cache file
.I /etc/ld.so.cache
(maintained by
.BR ldconfig (8))
is checked to see whether it contains an entry for
.IR filename .
-.IP o
+.IP \(bu
The directories
.I /lib
and
diff --git a/man3/dlsym.3 b/man3/dlsym.3
index 55bb3a1bc..d6559cc83 100644
--- a/man3/dlsym.3
+++ b/man3/dlsym.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 1995 Yggdrasil Computing, Incorporated.
.\" and Copyright 2003, 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH DLSYM 3 2022-10-09 "Linux man-pages 6.01"
+.TH DLSYM 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dlsym, dlvsym \- obtain address of a symbol in a shared object or executable
.SH LIBRARY
diff --git a/man3/drand48.3 b/man3/drand48.3
index af9251146..69eb95cbc 100644
--- a/man3/drand48.3
+++ b/man3/drand48.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:46:03 1993 by Rik Faith (faith@cs.unc.edu)
-.TH DRAND48 3 2022-10-09 "Linux man-pages 6.01"
+.TH drand48 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
lcong48 \- generate uniformly distributed pseudo-random numbers
@@ -49,7 +50,7 @@ All functions shown above:
.\" .BR lcong48 ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/drand48_r.3 b/man3/drand48_r.3
index e8b942381..36ffc4d40 100644
--- a/man3/drand48_r.3
+++ b/man3/drand48_r.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2003 Walter Harms, 2004 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Created 2004-10-31. Text taken from a page by Walter Harms, 2003-09-08
.\"
-.TH DRAND48_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH drand48_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
drand48_r, erand48_r, lrand48_r, nrand48_r, mrand48_r, jrand48_r,
srand48_r, seed48_r, lcong48_r
@@ -55,7 +56,7 @@ All functions shown above:
.\" .BR seed48_r (),
.\" .BR lcong48_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/duplocale.3 b/man3/duplocale.3
index dd22121d3..2f99d6710 100644
--- a/man3/duplocale.3
+++ b/man3/duplocale.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH DUPLOCALE 3 2022-10-09 "Linux man-pages 6.01"
+.TH duplocale 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
duplocale \- duplicate a locale object
.SH LIBRARY
@@ -57,16 +57,16 @@ Insufficient memory to create the duplicate locale object.
.SH VERSIONS
The
.BR duplocale ()
-function first appeared in version 2.3 of the GNU C library.
+function were added in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
Duplicating a locale can serve the following purposes:
-.IP * 3
+.IP \(bu 3
To create a copy of a locale object in which one of more categories
are to be modified (using
.BR newlocale (3)).
-.IP *
+.IP \(bu
To obtain a handle for the current locale which can used in
other functions that employ a locale handle, such as
.BR toupper_l (3).
diff --git a/man3/dysize.3 b/man3/dysize.3
index d7ba67f9d..0570cb746 100644
--- a/man3/dysize.3
+++ b/man3/dysize.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2001 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" aeb: some corrections
-.TH DYSIZE 3 2022-10-09 "Linux man-pages 6.01"
+.TH dysize 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dysize \- get number of days for a given year
.SH LIBRARY
diff --git a/man3/ecvt.3 b/man3/ecvt.3
index 5f2e9cb68..8f9ce3500 100644
--- a/man3/ecvt.3
+++ b/man3/ecvt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 19:40:39 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Fri Jun 25 12:10:47 1999 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH ECVT 3 2022-10-09 "Linux man-pages 6.01"
+.TH ecvt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ecvt, fcvt \- convert a floating-point number to a string
.SH LIBRARY
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* Glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19 */ _SVID_SOURCE
- Glibc versions 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Before glibc 2.12:
diff --git a/man3/ecvt_r.3 b/man3/ecvt_r.3
index b0829e383..d6262bf7d 100644
--- a/man3/ecvt_r.3
+++ b/man3/ecvt_r.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\"
.\" Corrected return types; from Fabian; 2004-10-05
.\"
-.TH ECVT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH ecvt_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ecvt_r, fcvt_r, qecvt_r, qfcvt_r \- convert a floating-point number to a string
.SH LIBRARY
@@ -42,7 +43,7 @@ Feature Test Macro Requirements for glibc (see
.BR qecvt_r (),
.BR qfcvt_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/encrypt.3 b/man3/encrypt.3
index dfc8b02ff..e9c4dbfa7 100644
--- a/man3/encrypt.3
+++ b/man3/encrypt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2000 Nicolás Lichtmaier <nick@debian.org>
.\" Created 2000-07-22 00:52-0300
.\"
@@ -8,7 +9,7 @@
.\"
.\" Modified 2003-04-04, aeb
.\"
-.TH ENCRYPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH encrypt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
encrypt, setkey, encrypt_r, setkey_r \- encrypt 64-bit messages
.SH LIBRARY
diff --git a/man3/end.3 b/man3/end.3
index 4b7e0f056..e5f32de10 100644
--- a/man3/end.3
+++ b/man3/end.3
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH END 3 2022-10-09 "Linux man-pages 6.01"
+.TH end 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
etext, edata, end \- end of program segments
.SH SYNOPSIS
diff --git a/man3/endian.3 b/man3/endian.3
index a423a314d..57b3f61f1 100644
--- a/man3/endian.3
+++ b/man3/endian.3
@@ -5,7 +5,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ENDIAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH ENDIAN 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
htobe16, htole16, be16toh, le16toh, htobe32, htole32, be32toh, le32toh,
htobe64, htole64, be64toh, le64toh \-
@@ -80,7 +80,7 @@ from big-endian order to host byte order.
The functions with names of the form "le\fInn\fPtoh" convert
from little-endian order to host byte order.
.SH VERSIONS
-These functions were added to glibc in version 2.9.
+These functions were added in glibc 2.9.
.SH STANDARDS
These functions are nonstandard.
Similar functions are present on the BSDs,
diff --git a/man3/envz_add.3 b/man3/envz_add.3
index 0c8578060..9a2a9a1e8 100644
--- a/man3/envz_add.3
+++ b/man3/envz_add.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" based on the description in glibc source and infopages
.\"
.\" Corrections and additions, aeb
-.TH ENVZ_ADD 3 2022-10-09 "Linux man-pages 6.01"
+.TH envz_add 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
envz_add, envz_entry, envz_get, envz_merge,
envz_remove, envz_strip \- environment string support
diff --git a/man3/erf.3 b/man3/erf.3
index 5cdba7eeb..c1a8131dd 100644
--- a/man3/erf.3
+++ b/man3/erf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH ERF 3 2022-10-09 "Linux man-pages 6.01"
+.TH erf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
erf, erff, erfl \- error function
.SH LIBRARY
diff --git a/man3/erfc.3 b/man3/erfc.3
index 66459bfa8..65c93940c 100644
--- a/man3/erfc.3
+++ b/man3/erfc.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ERFC 3 2022-10-09 "Linux man-pages 6.01"
+.TH erfc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
erfc, erfcf, erfcl \- complementary error function
.SH LIBRARY
diff --git a/man3/err.3 b/man3/err.3
index 27c9eb321..be676df65 100644
--- a/man3/err.3
+++ b/man3/err.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -8,7 +9,7 @@
.\"
.\" 2011-09-10, mtk, Converted from mdoc to man macros
.\"
-.TH ERR 3 2022-10-09 "Linux man-pages 6.01"
+.TH err 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
err, verr, errx, verrx, warn, vwarn, warnx, vwarnx \- formatted error messages
.SH LIBRARY
@@ -18,16 +19,16 @@ Standard C library
.nf
.B #include <err.h>
.PP
-.BI "noreturn void err(int " eval ", const char *" fmt ", ...);"
-.BI "noreturn void errx(int " eval ", const char *" fmt ", ...);"
+.BI "[[noreturn]] void err(int " eval ", const char *" fmt ", ...);"
+.BI "[[noreturn]] void errx(int " eval ", const char *" fmt ", ...);"
.PP
.BI "void warn(const char *" fmt ", ...);"
.BI "void warnx(const char *" fmt ", ...);"
.PP
.B #include <stdarg.h>
.PP
-.BI "noreturn void verr(int " eval ", const char *" fmt ", va_list " args );
-.BI "noreturn void verrx(int " eval ", const char *" fmt ", va_list " args );
+.BI "[[noreturn]] void verr(int " eval ", const char *" fmt ", va_list " args );
+.BI "[[noreturn]] void verrx(int " eval ", const char *" fmt ", va_list " args );
.PP
.BI "void vwarn(const char *" fmt ", va_list " args );
.BI "void vwarnx(const char *" fmt ", va_list " args );
diff --git a/man3/errno.3 b/man3/errno.3
index ba7ae2cbd..bab317c3c 100644
--- a/man3/errno.3
+++ b/man3/errno.3
@@ -9,7 +9,7 @@
.\" 2006-02-09 Kurt Wall, mtk
.\" Added non-POSIX errors
.\"
-.TH ERRNO 3 2022-10-09 "Linux man-pages 6.01"
+.TH errno 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
errno \- number of last error
.SH LIBRARY
@@ -140,16 +140,16 @@ EACCES 13 Permission denied
.SS List of error names
In the list of the symbolic error names below,
various names are marked as follows:
-.IP * 3
-.IR POSIX.1-2001 :
+.TP
+.I POSIX.1-2001
The name is defined by POSIX.1-2001,
and is defined in later POSIX.1 versions, unless otherwise indicated.
-.IP *
-.IR POSIX.1-2008 :
+.TP
+.I POSIX.1-2008
The name is defined in POSIX.1-2008,
but was not present in earlier POSIX.1 standards.
-.IP *
-.IR C99 :
+.TP
+.I C99
The name is defined by C99.
.PP
Below is a list of the symbolic error names that are defined on Linux:
@@ -329,7 +329,7 @@ Attempting to link in too many shared libraries.
.B ELIBEXEC
Cannot exec a shared library directly.
.TP
-.B ELNRANGE
+.B ELNRNG
.\" ELNRNG appears to be used by a few drivers
Link number out of range.
.TP
@@ -589,7 +589,7 @@ Operation would block (may be same value as
(POSIX.1-2001).
.TP
.B EXDEV
-Improper link (POSIX.1-2001).
+Invalid cross-device link (POSIX.1-2001).
.TP
.B EXFULL
Exchange full.
diff --git a/man3/error.3 b/man3/error.3
index 8edbdfb0b..5e36b2df3 100644
--- a/man3/error.3
+++ b/man3/error.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2006 Justin Pryzby <pryzbyj@justinpryzby.com>
.\" and Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -24,7 +25,7 @@
.\"
.\" References:
.\" glibc manual and source
-.TH ERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH error 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
error, error_at_line, error_message_count, error_one_per_line,
error_print_progname \- glibc error reporting functions
diff --git a/man3/ether_aton.3 b/man3/ether_aton.3
index f12dd6399..abd5a8efb 100644
--- a/man3/ether_aton.3
+++ b/man3/ether_aton.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Ian Redfern (redferni@logica.com)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\"
.\" Minor additions, aeb, 2013-06-21
.\"
-.TH ETHER_ATON 3 2022-10-09 "Linux man-pages 6.01"
+.TH ether_aton 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line,
ether_ntoa_r, ether_aton_r \- Ethernet address manipulation routines
diff --git a/man3/euidaccess.3 b/man3/euidaccess.3
index 568370f24..2881a3811 100644
--- a/man3/euidaccess.3
+++ b/man3/euidaccess.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH EUIDACCESS 3 2022-10-09 "Linux man-pages 6.01"
+.TH euidaccess 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
euidaccess, eaccess \- check effective user's permissions for a file
.SH LIBRARY
@@ -52,7 +53,7 @@ As for
.SH VERSIONS
The
.BR eaccess ()
-function was added to glibc in version 2.4.
+function was added in glibc 2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/exec.3 b/man3/exec.3
index ab0abd0b9..923edde53 100644
--- a/man3/exec.3
+++ b/man3/exec.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -10,7 +11,7 @@
.\" Modified, 24 Jun 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added note on casting NULL
.\"
-.TH EXEC 3 2022-10-09 "Linux man-pages 6.01"
+.TH EXEC 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
execl, execlp, execle, execv, execvp, execvpe \- execute a file
.SH LIBRARY
diff --git a/man3/exit.3 b/man3/exit.3
index 118b0f2d4..1391da827 100644
--- a/man3/exit.3
+++ b/man3/exit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -6,7 +7,7 @@
.\" could be listed on this page. See, for example, the list in the
.\" POSIX exit(3p) page.
.\"
-.TH EXIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH exit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
exit \- cause normal process termination
.SH LIBRARY
@@ -16,7 +17,7 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "noreturn void exit(int " status );
+.BI "[[noreturn]] void exit(int " status );
.fi
.SH DESCRIPTION
The
diff --git a/man3/exp.3 b/man3/exp.3
index 565505e59..93d65487f 100644
--- a/man3/exp.3
+++ b/man3/exp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH EXP 3 2022-10-09 "Linux man-pages 6.01"
+.TH exp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
exp, expf, expl \- base-e exponential function
.SH LIBRARY
diff --git a/man3/exp10.3 b/man3/exp10.3
index 05a523bbf..a1a9f349b 100644
--- a/man3/exp10.3
+++ b/man3/exp10.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 1995-08-14 by Arnt Gulbrandsen <agulbra@troll.no>
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH EXP10 3 2022-10-09 "Linux man-pages 6.01"
+.TH exp10 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
exp10, exp10f, exp10l \- base-10 exponential function
.SH LIBRARY
@@ -47,7 +48,7 @@ when calling these functions.
For a discussion of the errors that can occur for these functions, see
.BR exp (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -70,7 +71,7 @@ T} Thread safety MT-Safe
.SH STANDARDS
These functions are GNU extensions.
.SH BUGS
-Prior to version 2.19, the glibc implementation of these functions did not set
+Before glibc 2.19, the glibc implementation of these functions did not set
.I errno
to
.B ERANGE
diff --git a/man3/exp2.3 b/man3/exp2.3
index bd63db8d3..8145b0490 100644
--- a/man3/exp2.3
+++ b/man3/exp2.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH EXP2 3 2022-10-09 "Linux man-pages 6.01"
+.TH exp2 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
exp2, exp2f, exp2l \- base-2 exponential function
.SH LIBRARY
@@ -58,7 +59,7 @@ when calling these functions.
For a discussion of the errors that can occur for these functions, see
.BR exp (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/expm1.3 b/man3/expm1.3
index 5de92302b..ba4b138c8 100644
--- a/man3/expm1.3
+++ b/man3/expm1.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" Modified 2002-07-27 Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH EXPM1 3 2022-10-09 "Linux man-pages 6.01"
+.TH expm1 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
expm1, expm1f, expm1l \- exponential minus 1
.SH LIBRARY
@@ -137,7 +138,7 @@ for some large negative
.I x
values (where the function result approaches \-1).
.PP
-Before approximately glibc version 2.11,
+Before approximately glibc 2.11,
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6814
.\" e.g., expm1(1e5) through expm1(1.00199970127e5),
.\" but not expm1(1.00199970128e5) and beyond.
@@ -148,11 +149,11 @@ for some large positive
.I x
values.
.PP
-Before version 2.11,
-.\" It looks like the fix was in 2.11, or possibly 2.12.
-.\" I have no test system for 2.11, but 2.12 passes.
+Before glibc 2.11,
+.\" It looks like the fix was in glibc 2.11, or possibly glibc 2.12.
+.\" I have no test system for glibc 2.11, but glibc 2.12 passes.
.\" From the source (sysdeps/i386/fpu/s_expm1.S) it looks
-.\" like the changes were in 2.11.
+.\" like the changes were in glibc 2.11.
the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6788
.I errno
diff --git a/man3/fabs.3 b/man3/fabs.3
index 451a880e2..5c6b62e2f 100644
--- a/man3/fabs.3
+++ b/man3/fabs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 19:42:04 1993 by Rik Faith (faith@cs.unc.edu)
.\" Added fabsl, fabsf, aeb, 2001-06-07
.\"
-.TH FABS 3 2022-10-09 "Linux man-pages 6.01"
+.TH fabs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fabs, fabsf, fabsl \- absolute value of floating-point number
.SH LIBRARY
diff --git a/man3/fclose.3 b/man3/fclose.3
index b6c300891..530e57439 100644
--- a/man3/fclose.3
+++ b/man3/fclose.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -13,7 +14,7 @@
.\"
.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
.\"
-.TH FCLOSE 3 2022-10-09 "Linux man-pages 6.01"
+.TH fclose 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fclose \- close a stream
.SH LIBRARY
diff --git a/man3/fcloseall.3 b/man3/fcloseall.3
index 11b0ef75f..4539f6acc 100644
--- a/man3/fcloseall.3
+++ b/man3/fcloseall.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FCLOSEALL 3 2022-10-09 "Linux man-pages 6.01"
+.TH fcloseall 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fcloseall \- close all open streams
.SH LIBRARY
diff --git a/man3/fdim.3 b/man3/fdim.3
index d4d84b558..d53ee3e40 100644
--- a/man3/fdim.3
+++ b/man3/fdim.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2003 Walter Harms, Andries Brouwer
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH FDIM 3 2022-10-09 "Linux man-pages 6.01"
+.TH FDIM 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fdim, fdimf, fdiml \- positive difference
.SH LIBRARY
@@ -65,7 +66,7 @@ An overflow floating-point exception
.RB ( FE_OVERFLOW )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -88,7 +89,7 @@ T} Thread safety MT-Safe
.SH STANDARDS
C99, POSIX.1-2001, POSIX.1-2008.
.SH BUGS
-Before glibc version 2.24
+Before glibc 2.24
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6796
on certain architectures (e.g., x86, but not x86_64)
these functions did not set
diff --git a/man3/fenv.3 b/man3/fenv.3
index 0fb700e5d..2130f57b1 100644
--- a/man3/fenv.3
+++ b/man3/fenv.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -5,7 +6,7 @@
.\" 2000-08-14 added GNU additions from Andreas Jaeger
.\" 2000-12-05 some changes inspired by acahalan's remarks
.\"
-.TH FENV 3 2022-10-09 "Linux man-pages 6.01"
+.TH FENV 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag,
fetestexcept, fegetenv, fegetround, feholdexcept, fesetround,
@@ -161,15 +162,20 @@ defined in
which indicates the implementation-defined rounding
behavior for floating-point addition.
This identifier has one of the following values:
-.IP \-1
+.TP
+.B \-1
The rounding mode is not determinable.
-.IP 0
+.TP
+.B 0
Rounding is toward 0.
-.IP 1
+.TP
+.B 1
Rounding is toward nearest number.
-.IP 2
+.TP
+.B 2
Rounding is toward positive infinity.
-.IP 3
+.TP
+.B 3
Rounding is toward negative infinity.
.PP
Other values represent machine-dependent, nonstandard rounding modes.
@@ -235,7 +241,7 @@ These functions return zero on success and nonzero if an error occurred.
.\" This was corrected in Corrigendum 1 (ISO/IEC 9899:1999/Cor.1:2001(E))
.\" of the C99 Standard.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -285,7 +291,7 @@ It is defined only if
is defined.
The C99 standard does not define a way to set individual bits in the
floating-point mask, for example, to trap on specific flags.
-Since version 2.2, glibc supports the functions
+Since glibc 2.2, glibc supports the functions
.BR feenableexcept ()
and
.BR fedisableexcept ()
diff --git a/man3/ferror.3 b/man3/ferror.3
index 056823220..2c606db53 100644
--- a/man3/ferror.3
+++ b/man3/ferror.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" and Copyright (C) 2021 Michael Kerrisk <mtk.manpages@gmail.com>
.\" All rights reserved.
@@ -13,7 +14,7 @@
.\"
.\" Converted for Linux, Mon Nov 29 14:24:40 1993, faith@cs.unc.edu
.\"
-.TH FERROR 3 2022-10-18 "Linux man-pages 6.01"
+.TH ferror 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
clearerr, feof, ferror \- check and reset stream status
.SH LIBRARY
diff --git a/man3/fexecve.3 b/man3/fexecve.3
index 29b1cc521..8cedc9f3e 100644
--- a/man3/fexecve.3
+++ b/man3/fexecve.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006, 2014, Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FEXECVE 3 2022-10-09 "Linux man-pages 6.01"
+.TH fexecve 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fexecve \- execute program specified via file descriptor
.SH LIBRARY
diff --git a/man3/fflush.3 b/man3/fflush.3
index c885fcbf9..761c9f6be 100644
--- a/man3/fflush.3
+++ b/man3/fflush.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -14,7 +15,7 @@
.\" Modified 2000-07-22 by Nicolás Lichtmaier <nick@debian.org>
.\" Modified 2001-10-16 by John Levon <moz@compsoc.man.ac.uk>
.\"
-.TH FFLUSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH fflush 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fflush \- flush a stream
.SH LIBRARY
diff --git a/man3/ffs.3 b/man3/ffs.3
index 546aa9274..463834849 100644
--- a/man3/ffs.3
+++ b/man3/ffs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\"
.\" Modified 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH FFS 3 2022-10-09 "Linux man-pages 6.01"
+.TH ffs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ffs, ffsl, ffsll \- find first bit set in a word
.SH LIBRARY
@@ -38,7 +39,7 @@ Feature Test Macro Requirements for glibc (see
Since glibc 2.12:
_XOPEN_SOURCE >= 700
|| ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Before glibc 2.12:
none
diff --git a/man3/fgetc.3 b/man3/fgetc.3
index 07d5005f9..06b5f6768 100644
--- a/man3/fgetc.3
+++ b/man3/fgetc.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Wed Jul 28 11:12:07 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Fri Sep 8 15:48:13 1995 by Andries Brouwer (aeb@cwi.nl)
-.TH FGETC 3 2022-10-09 "Linux man-pages 6.01"
+.TH fgetc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetc, fgets, getc, getchar, ungetc \- input of characters and strings
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.BI "int getc(FILE *" stream );
.B "int getchar(void);"
.PP
-.BI "char *fgets(char *restrict " s ", int " size ", FILE *restrict " stream );
+.BI "char *fgets(char " s "[restrict ." size "], int " size ", \
+FILE *restrict " stream );
.PP
.BI "int ungetc(int " c ", FILE *" stream );
.fi
diff --git a/man3/fgetgrent.3 b/man3/fgetgrent.3
index 9687bbde3..b6a2a7b6c 100644
--- a/man3/fgetgrent.3
+++ b/man3/fgetgrent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:38:44 1993 by Rik Faith (faith@cs.unc.edu)
-.TH FGETGRENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH fgetgrent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetgrent \- get group file entry
.SH LIBRARY
diff --git a/man3/fgetpwent.3 b/man3/fgetpwent.3
index 41b36ab20..c93e06e0c 100644
--- a/man3/fgetpwent.3
+++ b/man3/fgetpwent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 19:37:37 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Mon May 27 22:40:48 1996 by Martin Schulze (joey@linux.de)
.\"
-.TH FGETPWENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH fgetpwent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetpwent \- get password file entry
.SH LIBRARY
diff --git a/man3/fgetwc.3 b/man3/fgetwc.3
index 543194639..3a1976d9b 100644
--- a/man3/fgetwc.3
+++ b/man3/fgetwc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +11,7 @@
.\" ISO/IEC 9899:1999
.\"
.\" Modified Tue Oct 16 23:18:40 BST 2001 by John Levon <moz@compsoc.man.ac.uk>
-.TH FGETWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH fgetwc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetwc, getwc \- read a wide character from a FILE stream
.SH LIBRARY
diff --git a/man3/fgetws.3 b/man3/fgetws.3
index 374ed0fe0..eda596647 100644
--- a/man3/fgetws.3
+++ b/man3/fgetws.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +11,7 @@
.\" ISO/IEC 9899:1999
.\"
.\" Modified Tue Oct 16 23:18:40 BST 2001 by John Levon <moz@compsoc.man.ac.uk>
-.TH FGETWS 3 2022-10-09 "Linux man-pages 6.01"
+.TH fgetws 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetws \- read a wide-character string from a FILE stream
.SH LIBRARY
@@ -20,7 +21,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *fgetws(wchar_t *restrict " ws ", int " n \
+.BI "wchar_t *fgetws(wchar_t " ws "[restrict ." n "], int " n \
", FILE *restrict " stream );
.fi
.SH DESCRIPTION
diff --git a/man3/fileno.3 b/man3/fileno.3
index f7bb43429..7e9a8cd85 100644
--- a/man3/fileno.3
+++ b/man3/fileno.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" and Copyright (C) 2021 Michael Kerrisk <mtk.manpages@gmail.com>
.\" All rights reserved.
@@ -11,7 +12,7 @@
.\" Converted for Linux, Mon Nov 29 14:24:40 1993, faith@cs.unc.edu
.\" Added remark on EBADF for fileno, aeb, 2001-03-22
.\"
-.TH FILENO 3 2022-10-09 "Linux man-pages 6.01"
+.TH fileno 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fileno \- obtain file descriptor of a stdio stream
.SH LIBRARY
diff --git a/man3/finite.3 b/man3/finite.3
index fdd1d52bb..d12d515ac 100644
--- a/man3/finite.3
+++ b/man3/finite.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FINITE 3 2022-10-09 "Linux man-pages 6.01"
+.TH finite 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
finite, finitef, finitel, isinf, isinff, isinfl, isnan, isnanf, isnanl \-
BSD floating-point classification functions
@@ -35,26 +36,26 @@ Feature Test Macro Requirements for glibc (see
.BR finitef (),
.BR finitel ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.PP
.BR isinf ():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.BR isinff (),
.BR isinfl ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
.BR isnan ():
.nf
_XOPEN_SOURCE || _ISOC99_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
@@ -62,7 +63,7 @@ Feature Test Macro Requirements for glibc (see
.BR isnanl ():
.nf
_XOPEN_SOURCE >= 600
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/flockfile.3 b/man3/flockfile.3
index e390acce9..7dbebe90d 100644
--- a/man3/flockfile.3
+++ b/man3/flockfile.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FLOCKFILE 3 2022-10-09 "Linux man-pages 6.01"
+.TH flockfile 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
flockfile, ftrylockfile, funlockfile \- lock FILE for stdio
.SH LIBRARY
diff --git a/man3/floor.3 b/man3/floor.3
index e525a97f2..d33b28b04 100644
--- a/man3/floor.3
+++ b/man3/floor.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FLOOR 3 2022-10-09 "Linux man-pages 6.01"
+.TH floor 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
floor, floorf, floorl \- largest integral value not greater than argument
.SH LIBRARY
diff --git a/man3/fma.3 b/man3/fma.3
index 622656528..83ada78ad 100644
--- a/man3/fma.3
+++ b/man3/fma.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" Modified 2004-11-15, Added further text on FLT_ROUNDS
.\" as suggested by AEB and Fabian Kreutz
.\"
-.TH FMA 3 2022-10-09 "Linux man-pages 6.01"
+.TH fma 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fma, fmaf, fmal \- floating-point multiply and add
.SH LIBRARY
@@ -141,7 +142,7 @@ These functions do not set
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6801
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/fmax.3 b/man3/fmax.3
index aecee683b..7b48d4bd7 100644
--- a/man3/fmax.3
+++ b/man3/fmax.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH FMAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH fmax 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fmax, fmaxf, fmaxl \- determine maximum of two floating-point numbers
.SH LIBRARY
@@ -47,7 +48,7 @@ If both arguments are NaN, a NaN is returned.
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/fmemopen.3 b/man3/fmemopen.3
index ccccc9743..b80347c2b 100644
--- a/man3/fmemopen.3
+++ b/man3/fmemopen.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2005, 2012, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH FMEMOPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH fmemopen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fmemopen \- open memory as stream
.SH LIBRARY
@@ -12,7 +13,8 @@ Standard C library
.nf
.B #include <stdio.h>
.PP
-.BI "FILE *fmemopen(void *"buf ", size_t "size ", const char *" mode ");"
+.BI "FILE *fmemopen(void " buf [. size "], size_t " size ", \
+const char *" mode );
.fi
.PP
.RS -4
@@ -184,13 +186,13 @@ returned by this function
.BR fileno (3)
will return an error if called on the returned stream).
.PP
-With version 2.22, binary mode (see below) was removed,
+With glibc 2.22, binary mode (see below) was removed,
many longstanding bugs in the implementation of
.BR fmemopen ()
were fixed, and a new versioned symbol was created for this interface.
.\"
.SS Binary mode
-From version 2.9 to 2.21, the glibc implementation of
+From glibc 2.9 to glibc 2.21, the glibc implementation of
.BR fmemopen ()
supported a "binary" mode,
enabled by specifying the letter \(aqb\(aq as the second character in
@@ -219,7 +221,7 @@ Binary mode was removed in glibc 2.22; a \(aqb\(aq specified in
.I mode
has no effect.
.SH BUGS
-In versions of glibc before 2.22, if
+Before glibc 2.22, if
.I size
is specified as zero,
.BR fmemopen ()
@@ -228,9 +230,9 @@ fails with the error
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=11216
It would be more consistent if this case successfully created
a stream that then returned end-of-file on the first attempt at reading;
-since version 2.22, the glibc implementation provides that behavior.
+since glibc 2.22, the glibc implementation provides that behavior.
.PP
-In versions of glibc before 2.22,
+Before glibc 2.22,
specifying append mode ("a" or "a+") for
.BR fmemopen ()
sets the initial buffer position to the first null byte, but
@@ -240,7 +242,7 @@ the end of the stream)
does not force subsequent writes to append at the end of the stream.
This bug is fixed in glibc 2.22.
.PP
-In versions of glibc before 2.22, if the
+Before glibc 2.22, if the
.I mode
argument to
.BR fmemopen ()
@@ -257,7 +259,7 @@ However, in this case the glibc
sets the buffer position to \-1.
This bug is fixed in glibc 2.22.
.PP
-In versions of glibc before 2.22,
+Before glibc 2.22,
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=14292
when a call to
.BR fseek (3)
diff --git a/man3/fmin.3 b/man3/fmin.3
index 96f889064..3dd45f984 100644
--- a/man3/fmin.3
+++ b/man3/fmin.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH FMIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH fmin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fmin, fminf, fminl \- determine minimum of two floating-point numbers
.SH LIBRARY
@@ -47,7 +48,7 @@ If both arguments are NaN, a NaN is returned.
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/fmod.3 b/man3/fmod.3
index f1fcb9d61..f41d8d736 100644
--- a/man3/fmod.3
+++ b/man3/fmod.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH FMOD 3 2022-10-09 "Linux man-pages 6.01"
+.TH fmod 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fmod, fmodf, fmodl \- floating-point remainder function
.SH LIBRARY
@@ -143,7 +144,7 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6784
.I errno
to
diff --git a/man3/fmtmsg.3 b/man3/fmtmsg.3
index 6dc8d82d0..37ab00ca2 100644
--- a/man3/fmtmsg.3
+++ b/man3/fmtmsg.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -8,7 +9,7 @@
.\" The function is quite complex and deserves an example
.\"
.\" Polished, aeb, 2003-11-01
-.TH FMTMSG 3 2022-10-09 "Linux man-pages 6.01"
+.TH fmtmsg 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fmtmsg \- print formatted error messages
.SH LIBRARY
@@ -219,7 +220,7 @@ is the string printed when a message of this class is processed by
.BR fmtmsg ().
.SH VERSIONS
.BR fmtmsg ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/fnmatch.3 b/man3/fnmatch.3
index bf8705ba8..fce0496c9 100644
--- a/man3/fnmatch.3
+++ b/man3/fnmatch.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Modified Sat Jul 24 19:35:54 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Mon Oct 16 00:16:29 2000 following Joseph S. Myers
.\"
-.TH FNMATCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH fnmatch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fnmatch \- match filename or pathname
.SH LIBRARY
diff --git a/man3/fopen.3 b/man3/fopen.3
index 4c99c2a9c..30bca87fc 100644
--- a/man3/fopen.3
+++ b/man3/fopen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -13,7 +14,7 @@
.\" Modified, aeb, 960421, 970806
.\" Modified, joey, aeb, 2002-01-03
.\"
-.TH FOPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH fopen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fopen, fdopen, freopen \- stream open functions
.SH LIBRARY
@@ -381,7 +382,7 @@ and
.BR freopen ()
limits the number of characters examined in
.I mode
-to 7 (or, in glibc versions before 2.14, to 6,
+to 7 (or, before glibc 2.14, to 6,
which was not enough to include possible specifications such as "rb+cmxe").
The current implementation of
.BR fdopen ()
diff --git a/man3/fopencookie.3 b/man3/fopencookie.3
index 6b0b178b0..23c8d214e 100644
--- a/man3/fopencookie.3
+++ b/man3/fopencookie.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FOPENCOOKIE 3 2022-10-09 "Linux man-pages 6.01"
+.TH fopencookie 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fopencookie \- opening a custom stream
.SH LIBRARY
@@ -31,10 +32,10 @@ which provides a stream interface to data that is stored in a
buffer in memory.
.PP
In order to create a custom stream the programmer must:
-.IP * 3
+.IP \(bu 3
Implement four "hook" functions that are used internally by the
standard I/O library when performing I/O on the stream.
-.IP *
+.IP \(bu
Define a "cookie" data type,
a structure that provides bookkeeping information
(e.g., where to store data) used by the aforementioned hook functions.
@@ -45,7 +46,7 @@ when passed to
.BR fopencookie ()),
but automatically supplies the cookie
as the first argument when calling the hook functions.
-.IP *
+.IP \(bu
Call
.BR fopencookie ()
to open a new stream and associate the cookie and hook functions
diff --git a/man3/fpathconf.3 b/man3/fpathconf.3
index cdfb3e1aa..744dcd18c 100644
--- a/man3/fpathconf.3
+++ b/man3/fpathconf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (C) 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -19,7 +20,7 @@
.\" _PC_SYMLINK_MAX,
.\" _PC_2_SYMLINKS
.\"
-.TH FPATHCONF 3 2022-10-09 "Linux man-pages 6.01"
+.TH fpathconf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fpathconf, pathconf \- get configuration values for files
.SH LIBRARY
@@ -156,7 +157,7 @@ or
must refer to a terminal.
.SH RETURN VALUE
The return value of these functions is one of the following:
-.IP * 3
+.IP \(bu 3
On error, \-1 is returned and
.I errno
is set to indicate the error
@@ -165,7 +166,7 @@ is set to indicate the error
indicating that
.I name
is invalid).
-.IP *
+.IP \(bu
If
.I name
corresponds to a maximum or minimum limit, and that limit is indeterminate,
@@ -177,13 +178,13 @@ is not changed.
to zero before the call, and then check whether
.I errno
is nonzero when \-1 is returned.)
-.IP *
+.IP \(bu
If
.I name
corresponds to an option,
a positive value is returned if the option is supported,
and \-1 is returned if the option is not supported.
-.IP *
+.IP \(bu
Otherwise,
the current value of the option or limit is returned.
This value will not be more restrictive than
diff --git a/man3/fpclassify.3 b/man3/fpclassify.3
index 12324981e..518874096 100644
--- a/man3/fpclassify.3
+++ b/man3/fpclassify.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" This was done with the help of the glibc manual.
.\"
.\" 2004-10-31, aeb, corrected
-.TH FPCLASSIFY 3 2022-10-09 "Linux man-pages 6.01"
+.TH fpclassify 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fpclassify, isfinite, isnormal, isnan, isinf \- floating-point
classification macros
diff --git a/man3/fpurge.3 b/man3/fpurge.3
index 236d1ea36..3bada9348 100644
--- a/man3/fpurge.3
+++ b/man3/fpurge.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FPURGE 3 2022-10-09 "Linux man-pages 6.01"
+.TH fpurge 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fpurge, __fpurge \- purge a stream
.SH LIBRARY
diff --git a/man3/fputwc.3 b/man3/fputwc.3
index ee43ebd60..6aa770255 100644
--- a/man3/fputwc.3
+++ b/man3/fputwc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH FPUTWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH fputwc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fputwc, putwc \- write a wide character to a FILE stream
.SH LIBRARY
diff --git a/man3/fputws.3 b/man3/fputws.3
index 106d89026..5fb42e4df 100644
--- a/man3/fputws.3
+++ b/man3/fputws.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH FPUTWS 3 2022-10-09 "Linux man-pages 6.01"
+.TH fputws 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fputws \- write a wide-character string to a FILE stream
.SH LIBRARY
diff --git a/man3/fread.3 b/man3/fread.3
index 430aa5fff..72941123e 100644
--- a/man3/fread.3
+++ b/man3/fread.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" and Copyright (c) 2020 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
.\" All rights reserved.
@@ -15,7 +16,7 @@
.\" Modified Thu Apr 20 20:43:53 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\" Modified Fri May 17 10:21:51 1996 by Martin Schulze <joey@infodrom.north.de>
.\"
-.TH FREAD 3 2022-10-09 "Linux man-pages 6.01"
+.TH fread 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fread, fwrite \- binary stream input/output
.SH LIBRARY
@@ -25,10 +26,11 @@ Standard C library
.nf
.B #include <stdio.h>
.PP
-.BI "size_t fread(void *restrict " ptr ", size_t " size ", size_t " nmemb ,
+.BI "size_t fread(void " ptr "[restrict ." size " * ." nmemb ],
+.BI " size_t " size ", size_t " nmemb ,
.BI " FILE *restrict " stream );
-.BI "size_t fwrite(const void *restrict " ptr ", size_t " size \
-", size_t " nmemb ,
+.BI "size_t fwrite(const void " ptr "[restrict ." size " * ." nmemb ],
+.BI " size_t " size ", size_t " nmemb ,
.BI " FILE *restrict " stream );
.fi
.SH DESCRIPTION
diff --git a/man3/frexp.3 b/man3/frexp.3
index 48a357710..1f8fd7687 100644
--- a/man3/frexp.3
+++ b/man3/frexp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH FREXP 3 2022-10-09 "Linux man-pages 6.01"
+.TH frexp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
frexp, frexpf, frexpl \- convert floating-point number to fractional
and integral components
diff --git a/man3/fseek.3 b/man3/fseek.3
index 06eb2183e..33aa65c85 100644
--- a/man3/fseek.3
+++ b/man3/fseek.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -11,7 +12,7 @@
.\"
.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu
.\"
-.TH FSEEK 3 2022-10-09 "Linux man-pages 6.01"
+.TH fseek 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fgetpos, fseek, fsetpos, ftell, rewind \- reposition a stream
.SH LIBRARY
diff --git a/man3/fseeko.3 b/man3/fseeko.3
index 435eb3835..4c51eda15 100644
--- a/man3/fseeko.3
+++ b/man3/fseeko.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FSEEKO 3 2022-10-09 "Linux man-pages 6.01"
+.TH fseeko 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fseeko, ftello \- seek to or report file position
.SH LIBRARY
@@ -73,7 +74,7 @@ is set to indicate the error.
See the ERRORS in
.BR fseek (3).
.SH VERSIONS
-These functions are available under glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ftime.3 b/man3/ftime.3
index 7e6827da5..1d020be6c 100644
--- a/man3/ftime.3
+++ b/man3/ftime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Michael Haardt
.\" (michael@moria.de)
.\" Fri Apr 2 11:32:09 MET DST 1993
@@ -8,7 +9,7 @@
.\" Modified Sun Oct 18 17:31:43 1998 by Andries Brouwer (aeb@cwi.nl)
.\" 2008-06-23, mtk, minor rewrites, added some details
.\"
-.TH FTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH ftime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ftime \- return date and time
.SH LIBRARY
diff --git a/man3/ftok.3 b/man3/ftok.3
index 590d860ad..e68216dee 100644
--- a/man3/ftok.3
+++ b/man3/ftok.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -6,7 +7,7 @@
.\" Changed data type of proj_id; minor fixes
.\" aeb: further fixes; added notes.
.\"
-.TH FTOK 3 2022-10-09 "Linux man-pages 6.01"
+.TH ftok 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ftok \- convert a pathname and a project identifier to a System V IPC key
.SH LIBRARY
diff --git a/man3/fts.3 b/man3/fts.3
index a867387cd..c40292b5e 100644
--- a/man3/fts.3
+++ b/man3/fts.3
@@ -1,3 +1,4 @@
+'\" t
.\" $NetBSD: fts.3,v 1.13.2.1 1997/11/14 02:09:32 mrg Exp $
.\"
.\" Copyright (c) 1989, 1991, 1993, 1994
@@ -9,7 +10,7 @@
.\"
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH FTS 3 2022-10-09 "Linux man-pages 6.01"
+.TH fts 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fts, fts_open, fts_read, fts_children, fts_set, fts_close \- \
traverse a file hierarchy
@@ -786,7 +787,7 @@ T} Thread safety MT-Unsafe
.SH STANDARDS
4.4BSD.
.SH BUGS
-In versions of glibc before 2.23,
+Before glibc 2.23,
.\" Fixed by commit 8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=15838
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=11460
diff --git a/man3/ftw.3 b/man3/ftw.3
index 4c8c709ae..02ced7eed 100644
--- a/man3/ftw.3
+++ b/man3/ftw.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de)
.\" and copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
.\" and copyright (c) 2006 Justin Pryzby <justinpryzby@users.sf.net>
@@ -14,7 +15,7 @@
.\" 2006-05-24, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Added an example program.
.\"
-.TH FTW 3 2022-10-09 "Linux man-pages 6.01"
+.TH ftw 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ftw, nftw \- file tree walk
.SH LIBRARY
@@ -306,7 +307,7 @@ is never called for a directory that would be a descendant of itself.
is an older function that offers a subset of the functionality of
.BR nftw ().
The notable differences are as follows:
-.IP * 3
+.IP \(bu 3
.BR ftw ()
has no
.I flags
@@ -316,11 +317,11 @@ It behaves the same as when
is called with
.I flags
specified as zero.
-.IP *
+.IP \(bu
The callback function,
.IR fn (),
is not supplied with a fourth argument.
-.IP *
+.IP \(bu
The range of values that is passed via the
.I typeflag
argument supplied to
@@ -351,7 +352,7 @@ and that value is returned as the result of
.BR nftw ().
.SH VERSIONS
.BR nftw ()
-is available under glibc since version 2.1.
+is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/futimes.3 b/man3/futimes.3
index caf088c0d..c815af5b2 100644
--- a/man3/futimes.3
+++ b/man3/futimes.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006, 2008, Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FUTIMES 3 2022-10-09 "Linux man-pages 6.01"
+.TH futimes 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
futimes, lutimes \- change file timestamps
.SH LIBRARY
@@ -76,7 +77,7 @@ is available since glibc 2.3.
.BR lutimes ()
is available since glibc 2.6, and is implemented using the
.BR utimensat (2)
-system call, which is supported since kernel 2.6.22.
+system call, which is supported since Linux 2.6.22.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/fwide.3 b/man3/fwide.3
index d5224be7b..513ff35f6 100644
--- a/man3/fwide.3
+++ b/man3/fwide.3
@@ -8,7 +8,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH FWIDE 3 2022-10-09 "Linux man-pages 6.01"
+.TH fwide 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
fwide \- set and determine the orientation of a FILE stream
.SH LIBRARY
diff --git a/man3/gamma.3 b/man3/gamma.3
index 57ba57c8c..8758ac97a 100644
--- a/man3/gamma.3
+++ b/man3/gamma.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" Modified 2003-11-18, aeb: historical remarks
.\"
-.TH GAMMA 3 2022-10-09 "Linux man-pages 6.01"
+.TH gamma 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gamma, gammaf, gammal \- (logarithm of the) gamma function
.SH LIBRARY
diff --git a/man3/gcvt.3 b/man3/gcvt.3
index 6a548d30b..ddd9f5ac2 100644
--- a/man3/gcvt.3
+++ b/man3/gcvt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:32:25 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GCVT 3 2022-10-09 "Linux man-pages 6.01"
+.TH gcvt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gcvt \- convert a floating-point number to a string
.SH LIBRARY
@@ -31,7 +32,7 @@ Feature Test Macro Requirements for glibc (see
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
|| /* Glibc >= 2.20 */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19 */ _SVID_SOURCE
- Glibc versions 2.12 to 2.16:
+ Glibc 2.12 to glibc 2.16:
(_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
|| _SVID_SOURCE
Before glibc 2.12:
diff --git a/man3/get_nprocs.3 b/man3/get_nprocs.3
index 63c03bac7..3851e1d15 100644
--- a/man3/get_nprocs.3
+++ b/man3/get_nprocs.3
@@ -1 +1,96 @@
-.so man3/get_nprocs_conf.3
+'\" t
+.\" Copyright (c) 2012, Petr Benas
+.\" and Copyright (c) 2012, Michael Kerrisk <mtk.man-pages@gmail.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH get_nprocs 3 2022-12-15 "Linux man-pages 6.02"
+.SH NAME
+get_nprocs, get_nprocs_conf \- get number of processors
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <sys/sysinfo.h>
+.PP
+.B int get_nprocs(void);
+.B int get_nprocs_conf(void);
+.fi
+.SH DESCRIPTION
+The function
+.BR get_nprocs_conf ()
+returns the number of processors configured by the operating system.
+.PP
+The function
+.BR get_nprocs ()
+returns the number of processors currently available in the system.
+This may be less than the number returned by
+.BR get_nprocs_conf ()
+because processors may be offline (e.g., on hotpluggable systems).
+.SH RETURN VALUE
+As given in DESCRIPTION.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.nh
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR get_nprocs (),
+.BR get_nprocs_conf ()
+T} Thread safety MT-Safe
+.TE
+.hy
+.ad
+.sp 1
+.SH STANDARDS
+These functions are GNU extensions.
+.SH NOTES
+The current
+.\" glibc 2.15
+implementation of these functions is rather expensive,
+since they open and parse files in the
+.I /sys
+filesystem each time they are called.
+.PP
+The following
+.BR sysconf (3)
+calls make use of the functions documented on this page
+to return the same information.
+.PP
+.in +4n
+.EX
+np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */
+np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */
+.EE
+.in
+.SH EXAMPLES
+The following example shows how
+.BR get_nprocs ()
+and
+.BR get_nprocs_conf ()
+can be used.
+.PP
+.\" SRC BEGIN (get_nprocs_conf.c)
+.EX
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/sysinfo.h>
+
+int
+main(void)
+{
+ printf("This system has %d processors configured and "
+ "%d processors available.\en",
+ get_nprocs_conf(), get_nprocs());
+ exit(EXIT_SUCCESS);
+}
+.EE
+.\" SRC END
+.SH SEE ALSO
+.BR nproc (1)
diff --git a/man3/get_nprocs_conf.3 b/man3/get_nprocs_conf.3
index 1044a1be8..7de3e2b31 100644
--- a/man3/get_nprocs_conf.3
+++ b/man3/get_nprocs_conf.3
@@ -1,95 +1 @@
-.\" Copyright (c) 2012, Petr Benas
-.\" and Copyright (c) 2012, Michael Kerrisk <mtk.man-pages@gmail.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.TH GET_NPROCS 3 2022-10-09 "Linux man-pages 6.01"
-.SH NAME
-get_nprocs, get_nprocs_conf \- get number of processors
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <sys/sysinfo.h>
-.PP
-.B int get_nprocs(void);
-.B int get_nprocs_conf(void);
-.fi
-.SH DESCRIPTION
-The function
-.BR get_nprocs_conf ()
-returns the number of processors configured by the operating system.
-.PP
-The function
-.BR get_nprocs ()
-returns the number of processors currently available in the system.
-This may be less than the number returned by
-.BR get_nprocs_conf ()
-because processors may be offline (e.g., on hotpluggable systems).
-.SH RETURN VALUE
-As given in DESCRIPTION.
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.BR get_nprocs (),
-.BR get_nprocs_conf ()
-T} Thread safety MT-Safe
-.TE
-.hy
-.ad
-.sp 1
-.SH STANDARDS
-These functions are GNU extensions.
-.SH NOTES
-The current
-.\" glibc 2.15
-implementation of these functions is rather expensive,
-since they open and parse files in the
-.I /sys
-filesystem each time they are called.
-.PP
-The following
-.BR sysconf (3)
-calls make use of the functions documented on this page
-to return the same information.
-.PP
-.in +4n
-.EX
-np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */
-np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */
-.EE
-.in
-.SH EXAMPLES
-The following example shows how
-.BR get_nprocs ()
-and
-.BR get_nprocs_conf ()
-can be used.
-.PP
-.\" SRC BEGIN (get_nprocs_conf.c)
-.EX
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/sysinfo.h>
-
-int
-main(void)
-{
- printf("This system has %d processors configured and "
- "%d processors available.\en",
- get_nprocs_conf(), get_nprocs());
- exit(EXIT_SUCCESS);
-}
-.EE
-.\" SRC END
-.SH SEE ALSO
-.BR nproc (1)
+.so man3/get_nprocs.3
diff --git a/man3/get_phys_pages.3 b/man3/get_phys_pages.3
index 8e71e014e..0f26603ab 100644
--- a/man3/get_phys_pages.3
+++ b/man3/get_phys_pages.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GET_PHYS_PAGES 3 2022-10-09 "Linux man-pages 6.01"
+.TH get_phys_pages 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
get_phys_pages, get_avphys_pages \- get total and available physical
page counts
diff --git a/man3/getaddrinfo.3 b/man3/getaddrinfo.3
index 0d2ea0cb6..e9415f3e6 100644
--- a/man3/getaddrinfo.3
+++ b/man3/getaddrinfo.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2007, 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (c) 2006 Ulrich Drepper <drepper@redhat.com>
.\" A few pieces of an earlier version remain:
@@ -21,7 +22,7 @@
.\" FIXME . glibc's 2.9 NEWS file documents DCCP and UDP-lite support
.\" and is SCTP support now also there?
.\"
-.TH GETADDRINFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH getaddrinfo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getaddrinfo, freeaddrinfo, gai_strerror \- network address and
service translation
@@ -321,7 +322,7 @@ field of the first of the
.I addrinfo
structures in the returned list is set to point to the
official name of the host.
-.\" In glibc prior to 2.3.4, the ai_canonname of each addrinfo
+.\" Prior to glibc 2.3.4, the ai_canonname of each addrinfo
.\" structure was set pointing to the canonical name; that was
.\" more than POSIX.1-2001 specified, or other implementations provided.
.\" MTK, Aug 05
@@ -329,7 +330,7 @@ official name of the host.
The remaining fields of each returned
.I addrinfo
structure are initialized as follows:
-.IP * 2
+.IP \(bu 3
The
.IR ai_family ,
.IR ai_socktype ,
@@ -352,7 +353,7 @@ or
and
.I ai_protocol
returns the protocol for the socket.
-.IP *
+.IP \(bu
A pointer to the socket address is placed in the
.I ai_addr
field, and the length of the socket address, in bytes,
diff --git a/man3/getaddrinfo_a.3 b/man3/getaddrinfo_a.3
index 40c6933d8..0f5f7ffda 100644
--- a/man3/getaddrinfo_a.3
+++ b/man3/getaddrinfo_a.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2009 Petr Baudis <pasky@suse.cz>
.\" and clean-ups and additions (C) Copyright 2010 Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" References: http://people.redhat.com/drepper/asynchnl.pdf,
.\" http://www.imperialviolet.org/2005/06/01/asynchronous-dns-lookups-with-glibc.html
.\"
-.TH GETADDRINFO_A 3 2022-10-09 "Linux man-pages 6.01"
+.TH getaddrinfo_a 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getaddrinfo_a, gai_suspend, gai_error, gai_cancel \- asynchronous
network address and service translation
@@ -168,13 +169,13 @@ The
argument specifies the size of the array
.IR list .
The call blocks until one of the following occurs:
-.IP * 3
+.IP \(bu 3
One or more of the operations in
.I list
completes.
-.IP *
+.IP \(bu
The call is interrupted by a signal that is caught.
-.IP *
+.IP \(bu
The time interval specified in
.I timeout
elapses.
@@ -304,7 +305,7 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
These functions are GNU extensions;
-they first appeared in glibc in version 2.2.3.
+they first appeared in glibc 2.2.3.
.SH NOTES
The interface of
.BR getaddrinfo_a ()
diff --git a/man3/getauxval.3 b/man3/getauxval.3
index 87e8b0c62..767ad9665 100644
--- a/man3/getauxval.3
+++ b/man3/getauxval.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2012 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" See also https://lwn.net/Articles/519085/
.\"
-.TH GETAUXVAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH GETAUXVAL 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getauxval \- retrieve a value from the auxiliary vector
.SH LIBRARY
@@ -212,7 +213,7 @@ could be found in the auxiliary vector.
.SH VERSIONS
The
.BR getauxval ()
-function was added to glibc in version 2.16.
+function was added in glibc 2.16.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/getcontext.3 b/man3/getcontext.3
index 94f3a1fde..49406e9b9 100644
--- a/man3/getcontext.3
+++ b/man3/getcontext.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETCONTEXT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getcontext 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getcontext, setcontext \- get or set the user context
.SH LIBRARY
@@ -163,11 +164,13 @@ citing portability issues, and
recommending that applications be rewritten to use POSIX threads instead.
.SH NOTES
The earliest incarnation of this mechanism was the
-.BR setjmp (3)/ longjmp (3)
+.BR setjmp (3)/\c
+.BR longjmp (3)
mechanism.
Since that does not define
the handling of the signal context, the next stage was the
-.BR sigsetjmp (3)/ siglongjmp (3)
+.BR sigsetjmp (3)/\c
+.BR siglongjmp (3)
pair.
The present mechanism gives much more control.
On the other hand,
diff --git a/man3/getcwd.3 b/man3/getcwd.3
index bb4254c81..330412abb 100644
--- a/man3/getcwd.3
+++ b/man3/getcwd.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Mon Dec 11 13:32:51 MET 2000 by aeb
.\" Modified Thu Apr 22 03:49:15 CEST 2002 by Roger Luethi <rl@hellgate.ch>
.\"
-.TH GETCWD 3 2022-10-09 "Linux man-pages 6.01"
+.TH getcwd 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getcwd, getwd, get_current_dir_name \- get current working directory
.SH LIBRARY
@@ -19,7 +20,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "char *getcwd(char *" buf ", size_t " size );
+.BI "char *getcwd(char " buf [. size "], size_t " size );
.B "char *get_current_dir_name(void);"
.PP
.BI "[[deprecated]] char *getwd(char " buf [PATH_MAX]);
@@ -39,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
diff --git a/man3/getdate.3 b/man3/getdate.3
index dde2850db..3d059ebef 100644
--- a/man3/getdate.3
+++ b/man3/getdate.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2001 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" Modified, 2001-12-26, aeb
.\" 2008-09-07, mtk, Various rewrites; added an example program.
.\"
-.TH GETDATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH getdate 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getdate, getdate_r \- convert a date-plus-time string to broken-down time
.SH LIBRARY
diff --git a/man3/getdirentries.3 b/man3/getdirentries.3
index 3624d83bf..b11ffd707 100644
--- a/man3/getdirentries.3
+++ b/man3/getdirentries.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\" Portions extracted from /usr/include/dirent.h are:
.\" Copyright 1991, 1992 Free Software Foundation
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETDIRENTRIES 3 2022-10-09 "Linux man-pages 6.01"
+.TH getdirentries 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getdirentries \- get directory entries in a filesystem-independent format
.SH LIBRARY
@@ -14,7 +15,8 @@ Standard C library
.nf
.B #include <dirent.h>
.PP
-.BI "ssize_t getdirentries(int " fd ", char *restrict " buf ", size_t " nbytes ,
+.BI "ssize_t getdirentries(int " fd ", char " buf "[restrict ." nbytes "], \
+size_t " nbytes ,
.BI " off_t *restrict " basep );
.fi
.PP
diff --git a/man3/getdtablesize.3 b/man3/getdtablesize.3
index c63ebadfb..0cad06ac6 100644
--- a/man3/getdtablesize.3
+++ b/man3/getdtablesize.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 2002-04-15 by Roger Luethi <rl@hellgate.ch> and aeb
.\"
-.TH GETDTABLESIZE 3 2022-10-09 "Linux man-pages 6.01"
+.TH getdtablesize 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getdtablesize \- get file descriptor table size
.SH LIBRARY
@@ -26,7 +27,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.20:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
diff --git a/man3/getentropy.3 b/man3/getentropy.3
index 7628800d5..f641f7c6e 100644
--- a/man3/getentropy.3
+++ b/man3/getentropy.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETENTROPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH getentropy 3 2022-11-10 "Linux man-pages 6.02"
.SH NAME
getentropy \- fill a buffer with random bytes
.SH LIBRARY
@@ -12,7 +12,7 @@ Standard C library
.nf
.B #include <unistd.h>
.PP
-.BI "int getentropy(void *" buffer ", size_t " length );
+.BI "int getentropy(void " buffer [. length "], size_t " length );
.fi
.PP
.RS -4
diff --git a/man3/getenv.3 b/man3/getenv.3
index d0afa3699..913879cce 100644
--- a/man3/getenv.3
+++ b/man3/getenv.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2007, 2012 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 19:30:29 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Fri Feb 14 21:47:50 1997 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH GETENV 3 2022-10-09 "Linux man-pages 6.01"
+.TH getenv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getenv, secure_getenv \- get an environment variable
.SH LIBRARY
@@ -50,14 +51,14 @@ function is just like
except that it returns NULL in cases where "secure execution" is required.
Secure execution is required if one of the following conditions
was true when the program run by the calling process was loaded:
-.IP * 3
+.IP \(bu 3
the process's effective user ID did not match its real user ID or
the process's effective group ID did not match its real group ID
(typically this is the result of executing a set-user-ID or
set-group-ID program);
-.IP *
+.IP \(bu
the effective capability bit was set on the executable file; or
-.IP *
+.IP \(bu
the process has a nonempty permitted capability set.
.PP
Secure execution may also be required if triggered
diff --git a/man3/getfsent.3 b/man3/getfsent.3
index 5548938ce..967d0e437 100644
--- a/man3/getfsent.3
+++ b/man3/getfsent.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Inspired by a page written by Walter Harms.
.\"
-.TH GETFSENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getfsent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getfsent, getfsspec, getfsfile, setfsent, endfsent \- handle fstab entries
.SH LIBRARY
diff --git a/man3/getgrent.3 b/man3/getgrent.3
index 114ae7712..fda8a7701 100644
--- a/man3/getgrent.3
+++ b/man3/getgrent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:29:54 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GETGRENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getgrent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getgrent, setgrent, endgrent \- get group file entry
.SH LIBRARY
@@ -33,7 +34,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.PP
diff --git a/man3/getgrent_r.3 b/man3/getgrent_r.3
index c2358fc51..486b2bb44 100644
--- a/man3/getgrent_r.3
+++ b/man3/getgrent_r.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH GETGRENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getgrent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getgrent_r, fgetgrent_r \- get group file entry reentrantly
.SH LIBRARY
@@ -13,10 +14,10 @@ Standard C library
.B #include <grp.h>
.PP
.BI "int getgrent_r(struct group *restrict " gbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " gbufp );
.BI "int fgetgrent_r(FILE *restrict " stream ", struct group *restrict " gbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " gbufp );
.fi
.PP
diff --git a/man3/getgrnam.3 b/man3/getgrnam.3
index 82f521448..c056500a6 100644
--- a/man3/getgrnam.3
+++ b/man3/getgrnam.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2003-11-15 by aeb
.\"
-.TH GETGRNAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH getgrnam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getgrnam, getgrnam_r, getgrgid, getgrgid_r \- get group file entry
.SH LIBRARY
@@ -26,10 +27,10 @@ Standard C library
.PP
.BI "int getgrnam_r(const char *restrict " name \
", struct group *restrict " grp ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " result );
.BI "int getgrgid_r(gid_t " gid ", struct group *restrict " grp ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " result );
.fi
.PP
@@ -238,8 +239,8 @@ situation: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others.
.\" more precisely:
.\" AIX 5.1 - gives ESRCH
.\" OSF1 4.0g - gives EWOULDBLOCK
-.\" libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
-.\" glibc since version 2.7 - give 0
+.\" libc, glibc up to glibc 2.6, Irix 6.5 - give ENOENT
+.\" since glibc 2.7 - give 0
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
diff --git a/man3/getgrouplist.3 b/man3/getgrouplist.3
index df0eb029f..65804b1cf 100644
--- a/man3/getgrouplist.3
+++ b/man3/getgrouplist.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
@@ -6,7 +7,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETGROUPLIST 3 2022-10-09 "Linux man-pages 6.01"
+.TH getgrouplist 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getgrouplist \- get list of groups to which a user belongs
.SH LIBRARY
@@ -104,7 +105,7 @@ T} Thread safety MT-Safe locale
.SH STANDARDS
This function is nonstandard; it appears on most BSDs.
.SH BUGS
-In glibc versions before 2.3.3,
+Before glibc 2.3.3,
the implementation of this function contains a buffer-overrun bug:
it returns the complete list of groups for
.I user
diff --git a/man3/gethostbyname.3 b/man3/gethostbyname.3
index dbec1e315..7e4801727 100644
--- a/man3/gethostbyname.3
+++ b/man3/gethostbyname.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -15,7 +16,7 @@
.\" Modified 2002-08-05, Michael Kerrisk
.\" Modified 2004-10-31, Andries Brouwer
.\"
-.TH GETHOSTBYNAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH gethostbyname 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gethostbyname, gethostbyaddr, sethostent, gethostent, endhostent,
h_errno,
@@ -36,8 +37,8 @@ Standard C library
.B [[deprecated]] extern int h_errno;
.PP
.BI "[[deprecated]] struct hostent *gethostbyname(const char *" name );
-.BI "[[deprecated]] struct hostent *gethostbyaddr(const void *" addr ,
-.BI " socklen_t " len ", int " type );
+.BI "[[deprecated]] struct hostent *gethostbyaddr(const void " addr [. len ],
+.BI " socklen_t " len ", int " type );
.PP
.BI "[[deprecated]] void herror(const char *" s );
.BI "[[deprecated]] const char *hstrerror(int " err );
@@ -50,27 +51,27 @@ Standard C library
.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
.PP
.BI "int gethostent_r(struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.PP
.B [[deprecated]]
-.BI "int gethostbyaddr_r(const void *restrict " addr ", socklen_t " len \
-", int " type ,
+.BI "int gethostbyaddr_r(const void " addr "[restrict ." len "], socklen_t " len ,
+.BI " int " type ,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
.BI "int gethostbyname_r(const char *restrict " name ,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
.BI "int gethostbyname2_r(const char *restrict " name ", int " af,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.fi
@@ -97,7 +98,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.19:
_DEFAULT_SOURCE
- Glibc 2.8 to 2.19:
+ Glibc 2.8 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE
Before glibc 2.8:
none
@@ -107,7 +108,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.19
_DEFAULT_SOURCE || _POSIX_C_SOURCE < 200809L
- Glibc 2.12 to 2.19:
+ Glibc 2.12 to glibc 2.19:
_BSD_SOURCE || _SVID_SOURCE || _POSIX_C_SOURCE < 200809L
Before glibc 2.12:
none
diff --git a/man3/gethostid.3 b/man3/gethostid.3
index bcc458695..8599bf723 100644
--- a/man3/gethostid.3
+++ b/man3/gethostid.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\"
.\" Updated with additions from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
@@ -6,7 +7,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH GETHOSTID 3 2022-10-09 "Linux man-pages 6.01"
+.TH gethostid 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gethostid, sethostid \- get or set the unique identifier of the current host
.SH LIBRARY
@@ -121,7 +122,7 @@ In the glibc implementation, the
.I hostid
is stored in the file
.IR /etc/hostid .
-(In glibc versions before 2.2, the file
+(Before glibc 2.2, the file
.I /var/adm/hostid
was used.)
.\" libc5 used /etc/hostid; libc4 didn't have these functions
diff --git a/man3/getifaddrs.3 b/man3/getifaddrs.3
index 5dbc1b291..83a7de609 100644
--- a/man3/getifaddrs.3
+++ b/man3/getifaddrs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2008 Petr Baudis <pasky@suse.cz>
.\" and copyright (c) 2009, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" for glibc specificities, provide an example.
.\" 2009-01-14 mtk, many edits and changes, rewrote example program.
.\"
-.TH GETIFADDRS 3 2022-10-09 "Linux man-pages 6.01"
+.TH getifaddrs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getifaddrs, freeifaddrs \- get interface addresses
.SH LIBRARY
diff --git a/man3/getipnodebyname.3 b/man3/getipnodebyname.3
index d20635cbd..e1983e00b 100644
--- a/man3/getipnodebyname.3
+++ b/man3/getipnodebyname.3
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References: RFC 2553
-.TH GETIPNODEBYNAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH getipnodebyname 3 2022-11-10 "Linux man-pages 6.02"
.SH NAME
getipnodebyname, getipnodebyaddr, freehostent \- get network
hostnames and addresses
@@ -18,7 +18,7 @@ Standard C library
.PP
.BI "[[deprecated]] struct hostent *getipnodebyname(const char *" name ", int " af ,
.BI " int " flags ", int *" error_num );
-.BI "[[deprecated]] struct hostent *getipnodebyaddr(const void *" addr ,
+.BI "[[deprecated]] struct hostent *getipnodebyaddr(const void " addr [. len ],
.BI " size_t " len ", int " af ,
.BI " int *" "error_num" );
.BI "[[deprecated]] void freehostent(struct hostent *" "ip" );
diff --git a/man3/getline.3 b/man3/getline.3
index 9bab3e649..88e376ba1 100644
--- a/man3/getline.3
+++ b/man3/getline.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2001 John Levon <moz@compsoc.man.ac.uk>
.\" Based in part on GNU libc documentation
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETLINE 3 2022-10-09 "Linux man-pages 6.01"
+.TH getline 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getline, getdelim \- delimited string input
.SH LIBRARY
diff --git a/man3/getloadavg.3 b/man3/getloadavg.3
index 28fb833e9..1ad9af233 100644
--- a/man3/getloadavg.3
+++ b/man3/getloadavg.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -7,7 +8,7 @@
.\"
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH GETLOADAVG 3 2022-10-09 "Linux man-pages 6.01"
+.TH getloadavg 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getloadavg \- get system load averages
.SH LIBRARY
@@ -52,7 +53,7 @@ the number of samples actually retrieved is returned.
.\" function appeared in
.\" 4.3BSD Reno .
.SH VERSIONS
-This function is available in glibc since version 2.2.
+This function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/getlogin.3 b/man3/getlogin.3
index 9fdfea5f6..05b11b398 100644
--- a/man3/getlogin.3
+++ b/man3/getlogin.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Changed Tue Sep 19 01:49:29 1995, aeb: moved from man2 to man3
.\" added ref to /etc/utmp, added BUGS section, etc.
.\" modified 2003 Walter Harms, aeb - added getlogin_r, note on stdin use
-.TH GETLOGIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH getlogin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getlogin, getlogin_r, cuserid \- get username
.SH LIBRARY
@@ -16,7 +17,7 @@ Standard C library
.B #include <unistd.h>
.PP
.B "char *getlogin(void);"
-.BI "int getlogin_r(char *" buf ", size_t " bufsize );
+.BI "int getlogin_r(char " buf [. bufsize "], size_t " bufsize );
.PP
.B #include <stdio.h>
.PP
diff --git a/man3/getmntent.3 b/man3/getmntent.3
index 5c08f792a..f6a6c0065 100644
--- a/man3/getmntent.3
+++ b/man3/getmntent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 21:46:57 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 961109, 031115, aeb
.\"
-.TH GETMNTENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getmntent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getmntent, setmntent, addmntent, endmntent, hasmntopt,
getmntent_r \- get filesystem descriptor file entry
@@ -37,7 +38,7 @@ Standard C library
.PP
.BI "struct mntent *getmntent_r(FILE *restrict " streamp ,
.BI " struct mntent *restrict " mntbuf ,
-.BI " char *restrict " buf ", int " buflen );
+.BI " char " buf "[restrict ." buflen "], int " buflen );
.fi
.PP
.RS -4
diff --git a/man3/getnameinfo.3 b/man3/getnameinfo.3
index acf9fe4bb..598fadc32 100644
--- a/man3/getnameinfo.3
+++ b/man3/getnameinfo.3
@@ -1,3 +1,4 @@
+'\" t
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This page is in the public domain.
.\" %%%LICENSE_END
@@ -7,7 +8,7 @@
.\" 2004-12-14, mtk, Added EAI_OVERFLOW error
.\" 2004-12-14 Fixed description of error return
.\"
-.TH GETNAMEINFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH getnameinfo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getnameinfo \- address-to-name translation in protocol-independent manner
.SH LIBRARY
@@ -20,9 +21,9 @@ Standard C library
.PP
.BI "int getnameinfo(const struct sockaddr *restrict " addr \
", socklen_t " addrlen ,
-.BI " char *restrict " host ", socklen_t " hostlen ,
-.BI " char *restrict " serv ", socklen_t " servlen \
-", int " flags );
+.BI " char " host "[restrict ." hostlen "], socklen_t " hostlen ,
+.BI " char " serv "[restrict ." servlen "], socklen_t " servlen ,
+.BI " int " flags );
.fi
.PP
.RS -4
@@ -210,7 +211,7 @@ suitable for error reporting.
.I /etc/resolv.conf
.SH VERSIONS
.BR getnameinfo ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -262,7 +263,7 @@ header file.
The latter is a guess based on the services listed
in the current Assigned Numbers RFC.
.PP
-Before glibc version 2.2, the
+Before glibc 2.2, the
.I hostlen
and
.I servlen
diff --git a/man3/getnetent.3 b/man3/getnetent.3
index c44d85b4e..0d78db92f 100644
--- a/man3/getnetent.3
+++ b/man3/getnetent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 21:48:06 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GETNETENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getnetent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent \-
get network entry
@@ -176,7 +177,7 @@ then data races could occur.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc versions before 2.2, the
+Before glibc 2.2, the
.I net
argument of
.BR getnetbyaddr ()
diff --git a/man3/getnetent_r.3 b/man3/getnetent_r.3
index ad6684c16..bfb040aa5 100644
--- a/man3/getnetent_r.3
+++ b/man3/getnetent_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETNETENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getnetent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getnetent_r, getnetbyname_r, getnetbyaddr_r \- get
network entry (reentrant)
@@ -15,17 +16,17 @@ Standard C library
.B #include <netdb.h>
.PP
.BI "int getnetent_r(struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.BI "int getnetbyname_r(const char *restrict " name ,
.BI " struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.BI "int getnetbyaddr_r(uint32_t " net ", int " type ,
.BI " struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.PP
diff --git a/man3/getopt.3 b/man3/getopt.3
index fdae8f93c..712049359 100644
--- a/man3/getopt.3
+++ b/man3/getopt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright 2006-2008, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -19,7 +20,7 @@
.\" the start of optstring
.\" Modified 2006-12-15, mtk, Added getopt() example program.
.\"
-.TH GETOPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getopt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getopt, getopt_long, getopt_long_only,
optarg, optind, opterr, optopt \- Parse command-line options
@@ -174,14 +175,14 @@ can detect two kinds of errors:
and (2) a missing option argument
(i.e., an option at the end of the command line without an expected argument).
Such errors are handled and reported as follows:
-.IP * 3
+.IP \(bu 3
By default,
.BR getopt ()
prints an error message on standard error,
places the erroneous option character in
.IR optopt ,
and returns \(aq?\(aq as the function result.
-.IP *
+.IP \(bu
If the caller has set the global variable
.I opterr
to zero, then
@@ -192,7 +193,7 @@ the function return value is \(aq?\(aq.
(By default,
.I opterr
has a nonzero value.)
-.IP *
+.IP \(bu
If the first character
(following any optional \(aq+\(aq or \(aq\-\(aq described above)
of \fIoptstring\fP
@@ -324,7 +325,7 @@ This variable was used by
wildcard expansion and so should not be considered as options.
This behavior was removed in
.BR bash (1)
-version 2.01, but the support remains in glibc.
+2.01, but the support remains in glibc.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/getpass.3 b/man3/getpass.3
index 080e22039..98812aa7c 100644
--- a/man3/getpass.3
+++ b/man3/getpass.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH GETPASS 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpass 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpass \- get a password
.SH LIBRARY
@@ -24,7 +25,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.2.2:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.2.2:
none
diff --git a/man3/getprotoent.3 b/man3/getprotoent.3
index f3b8cdf17..3fec0bcb9 100644
--- a/man3/getprotoent.3
+++ b/man3/getprotoent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:26:03 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GETPROTOENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getprotoent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getprotoent, getprotobyname, getprotobynumber, setprotoent,
endprotoent \- get protocol entry
diff --git a/man3/getprotoent_r.3 b/man3/getprotoent_r.3
index 03e4bfa3a..558ed6a9d 100644
--- a/man3/getprotoent_r.3
+++ b/man3/getprotoent_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETPROTOENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getprotoent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getprotoent_r, getprotobyname_r, getprotobynumber_r \- get
protocol entry (reentrant)
@@ -15,15 +16,15 @@ Standard C library
.B #include <netdb.h>
.PP
.BI "int getprotoent_r(struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.BI "int getprotobyname_r(const char *restrict " name ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.BI "int getprotobynumber_r(int " proto ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.PP
.fi
diff --git a/man3/getpt.3 b/man3/getpt.3
index 2bf5086f2..a1f6cb12c 100644
--- a/man3/getpt.3
+++ b/man3/getpt.3
@@ -1,10 +1,11 @@
+'\" t
.\" This man page was written by Jeremy Phelps <jphelps@notreached.net>.
.\"
.\" %%%LICENSE_START(FREELY_REDISTRIBUTABLE)
.\" Redistribute and modify at will.
.\" %%%LICENSE_END
.\"
-.TH GETPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpt \- open a new pseudoterminal master
.SH LIBRARY
@@ -44,7 +45,7 @@ can fail with various errors described in
.BR open (2).
.SH VERSIONS
.BR getpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/getpw.3 b/man3/getpw.3
index dbeddbb71..dde01a9ec 100644
--- a/man3/getpw.3
+++ b/man3/getpw.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 19:23:25 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Mon May 27 21:37:47 1996 by Martin Schulze (joey@linux.de)
.\"
-.TH GETPW 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpw 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpw \- reconstruct password line entry
.SH LIBRARY
diff --git a/man3/getpwent.3 b/man3/getpwent.3
index 6d0a1f573..49a96031e 100644
--- a/man3/getpwent.3
+++ b/man3/getpwent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 19:22:14 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Mon May 27 21:37:47 1996 by Martin Schulze (joey@linux.de)
.\"
-.TH GETPWENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpwent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpwent, setpwent, endpwent \- get password file entry
.SH LIBRARY
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/getpwent_r.3 b/man3/getpwent_r.3
index 57e635eba..1fe9f0c4a 100644
--- a/man3/getpwent_r.3
+++ b/man3/getpwent_r.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH GETPWENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpwent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpwent_r, fgetpwent_r \- get passwd file entry reentrantly
.SH LIBRARY
@@ -13,11 +14,11 @@ Standard C library
.B #include <pwd.h>
.PP
.BI "int getpwent_r(struct passwd *restrict " pwbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " pwbufp );
.BI "int fgetpwent_r(FILE *restrict " stream \
", struct passwd *restrict " pwbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " pwbufp );
.fi
.PP
diff --git a/man3/getpwnam.3 b/man3/getpwnam.3
index 50b460dd3..76580ea56 100644
--- a/man3/getpwnam.3
+++ b/man3/getpwnam.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -14,7 +15,7 @@
.\" Modified 2003-11-15 by aeb
.\" 2008-11-07, mtk, Added an example program for getpwnam_r().
.\"
-.TH GETPWNAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH getpwnam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getpwnam, getpwnam_r, getpwuid, getpwuid_r \- get password file entry
.SH LIBRARY
@@ -28,12 +29,12 @@ Standard C library
.BI "struct passwd *getpwnam(const char *" name );
.BI "struct passwd *getpwuid(uid_t " uid );
.PP
-.BI "int getpwnam_r(const char *restrict " name \
-", struct passwd *restrict " pwd ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI "int getpwnam_r(const char *restrict " name ", \
+struct passwd *restrict " pwd ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " result );
.BI "int getpwuid_r(uid_t " uid ", struct passwd *restrict " pwd ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " result );
.fi
.PP
@@ -248,8 +249,8 @@ situation: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM, and probably others.
.\" more precisely:
.\" AIX 5.1 - gives ESRCH
.\" OSF1 4.0g - gives EWOULDBLOCK
-.\" libc, glibc up to version 2.6, Irix 6.5 - give ENOENT
-.\" glibc since version 2.7 - give 0
+.\" libc, glibc up to glibc 2.6, Irix 6.5 - give ENOENT
+.\" since glibc 2.7 - give 0
.\" FreeBSD 4.8, OpenBSD 3.2, NetBSD 1.6 - give EPERM
.\" SunOS 5.8 - gives EBADF
.\" Tru64 5.1b, HP-UX-11i, SunOS 5.7 - give 0
diff --git a/man3/getrpcent.3 b/man3/getrpcent.3
index a4dbf475e..8b3d5fc20 100644
--- a/man3/getrpcent.3
+++ b/man3/getrpcent.3
@@ -1,3 +1,4 @@
+'\" t
.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
.\"
.\" %%%LICENSE_START(BSD_ONELINE_CDROM)
@@ -5,7 +6,7 @@
.\" %%%LICENSE_END
.\"
.\" @(#)getrpcent.3n 2.2 88/08/02 4.0 RPCSRC; from 1.11 88/03/14 SMI
-.TH GETRPCENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getrpcent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent \- get
RPC entry
diff --git a/man3/getrpcent_r.3 b/man3/getrpcent_r.3
index 03b8c520c..580f6208b 100644
--- a/man3/getrpcent_r.3
+++ b/man3/getrpcent_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETRPCENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getrpcent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getrpcent_r, getrpcbyname_r, getrpcbynumber_r \- get
RPC entry (reentrant)
@@ -14,13 +15,13 @@ Standard C library
.nf
.B #include <netdb.h>
.PP
-.BI "int getrpcent_r(struct rpcent *" result_buf ", char *" buf ,
+.BI "int getrpcent_r(struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.BI "int getrpcbyname_r(const char *" name ,
-.BI " struct rpcent *" result_buf ", char *" buf ,
+.BI " struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.BI "int getrpcbynumber_r(int " number ,
-.BI " struct rpcent *" result_buf ", char *" buf ,
+.BI " struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.PP
.fi
diff --git a/man3/getrpcport.3 b/man3/getrpcport.3
index efea1ce37..fc628423e 100644
--- a/man3/getrpcport.3
+++ b/man3/getrpcport.3
@@ -1,3 +1,4 @@
+'\" t
.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
.\"
.\" %%%LICENSE_START(BSD_ONELINE_CDROM)
@@ -5,7 +6,7 @@
.\" %%%LICENSE_END
.\"
.\" @(#)getrpcport.3r 2.2 88/08/02 4.0 RPCSRC; from 1.12 88/02/26 SMI
-.TH GETRPCPORT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getrpcport 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getrpcport \- get RPC port number
.SH LIBRARY
diff --git a/man3/gets.3 b/man3/gets.3
index 805bb7e97..42514b8ac 100644
--- a/man3/gets.3
+++ b/man3/gets.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -6,7 +7,7 @@
.\" Modified Fri Sep 8 15:48:13 1995 by Andries Brouwer (aeb@cwi.nl)
.\" Modified 2013-12-31, David Malcolm <dmalcolm@redhat.com>
.\" Split gets(3) into its own page; fgetc() et al. move to fgetc(3)
-.TH GETS 3 2022-10-09 "Linux man-pages 6.01"
+.TH gets 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gets \- get a string from standard input (DEPRECATED)
.SH LIBRARY
@@ -65,7 +66,7 @@ POSIX.1-2008 marks
obsolescent.
ISO C11 removes the specification of
.BR gets ()
-from the C language, and since version 2.16,
+from the C language, and since glibc 2.16,
glibc header files don't expose the function declaration if the
.B _ISOC11_SOURCE
feature test macro is defined.
diff --git a/man3/getservent.3 b/man3/getservent.3
index 0241624ce..36fe6c00e 100644
--- a/man3/getservent.3
+++ b/man3/getservent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -11,7 +12,7 @@
.\" Modified Mon Apr 22 01:50:54 1996 by Martin Schulze <joey@infodrom.north.de>
.\" 2001-07-25 added a clause about NULL proto (Martin Michlmayr or David N. Welton)
.\"
-.TH GETSERVENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getservent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getservent, getservbyname, getservbyport, setservent, endservent \-
get service entry
diff --git a/man3/getservent_r.3 b/man3/getservent_r.3
index 1ab993bed..eee14d4f0 100644
--- a/man3/getservent_r.3
+++ b/man3/getservent_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETSERVENT_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH getservent_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getservent_r, getservbyname_r, getservbyport_r \- get
service entry (reentrant)
@@ -15,17 +16,17 @@ Standard C library
.B #include <netdb.h>
.PP
.BI "int getservent_r(struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.BI "int getservbyname_r(const char *restrict " name ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.BI "int getservbyport_r(int " port ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.PP
.fi
diff --git a/man3/getspnam.3 b/man3/getspnam.3
index b782a421c..c7ba9961a 100644
--- a/man3/getspnam.3
+++ b/man3/getspnam.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) and
.\" Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH GETSPNAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH getspnam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,
fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent,
@@ -34,14 +35,18 @@ Standard C library
.B #include <shadow.h>
.PP
.BI "int getspent_r(struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.BI "int getspnam_r(const char *" name ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.PP
.BI "int fgetspent_r(FILE *" stream ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.BI "int sgetspent_r(const char *" s ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.fi
.PP
.RS -4
diff --git a/man3/getsubopt.3 b/man3/getsubopt.3
index fbd201640..3d23d881a 100644
--- a/man3/getsubopt.3
+++ b/man3/getsubopt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2007 Justin Pryzby <pryzbyj@justinpryzby.com>
.\"
@@ -22,7 +23,7 @@
.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\" %%%LICENSE_END
.\"
-.TH GETSUBOPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getsubopt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getsubopt \- parse suboption arguments from a string
.SH LIBRARY
diff --git a/man3/getttyent.3 b/man3/getttyent.3
index c0a100d3c..4294d835a 100644
--- a/man3/getttyent.3
+++ b/man3/getttyent.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH GETTTYENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getttyent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getttyent, getttynam, setttyent, endttyent \- get ttys file entry
.SH LIBRARY
diff --git a/man3/getusershell.3 b/man3/getusershell.3
index 553ed9d0c..404020d3d 100644
--- a/man3/getusershell.3
+++ b/man3/getusershell.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 19:17:53 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GETUSERSHELL 3 2022-10-09 "Linux man-pages 6.01"
+.TH getusershell 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getusershell, setusershell, endusershell \- get permitted user shells
.SH LIBRARY
diff --git a/man3/getutent.3 b/man3/getutent.3
index a41fc692f..c60cb9713 100644
--- a/man3/getutent.3
+++ b/man3/getutent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 Mark D. Roth (roth@uiuc.edu)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +10,7 @@
.\" Modified Thu Jul 25 14:43:46 MET DST 1996 by Michael Haardt
.\" <michael@cantor.informatik.rwth-aachen.de>
.\"
-.TH GETUTENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH getutent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getutent, getutid, getutline, pututline, setutent, endutent,
utmpname \- access utmp file entries
diff --git a/man3/getutmp.3 b/man3/getutmp.3
index ddbd42154..43ccd595d 100644
--- a/man3/getutmp.3
+++ b/man3/getutmp.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETUTMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH getutmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getutmp, getutmpx \- copy utmp structure to utmpx, and vice versa
.SH LIBRARY
@@ -34,7 +35,7 @@ function performs the converse operation.
.SH RETURN VALUE
These functions do not return a value.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.1.
+These functions were added in glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/getw.3 b/man3/getw.3
index 69419d593..3a53bc616 100644
--- a/man3/getw.3
+++ b/man3/getw.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GETW 3 2022-10-09 "Linux man-pages 6.01"
+.TH getw 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getw, putw \- input and output of words (ints)
.SH LIBRARY
@@ -26,7 +27,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.3.3:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
Before glibc 2.3.3:
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE
diff --git a/man3/getwchar.3 b/man3/getwchar.3
index ae508de9d..0c02055dc 100644
--- a/man3/getwchar.3
+++ b/man3/getwchar.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +10,7 @@
.\" http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH GETWCHAR 3 2022-10-09 "Linux man-pages 6.01"
+.TH getwchar 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getwchar \- read a wide character from standard input
.SH LIBRARY
diff --git a/man3/glob.3 b/man3/glob.3
index f7a47ee4c..402ef2bd8 100644
--- a/man3/glob.3
+++ b/man3/glob.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -11,7 +12,7 @@
.\" Expanded the description of various flags
.\" Various wording fixes.
.\"
-.TH GLOB 3 2022-10-09 "Linux man-pages 6.01"
+.TH glob 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
glob, globfree \- find pathnames matching a pattern, free memory from glob()
.SH LIBRARY
diff --git a/man3/gnu_get_libc_version.3 b/man3/gnu_get_libc_version.3
index f05f9f20f..55bc0c6f2 100644
--- a/man3/gnu_get_libc_version.3
+++ b/man3/gnu_get_libc_version.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GNU_GET_LIBC_VERSION 3 2022-10-09 "Linux man-pages 6.01"
+.TH gnu_get_libc_version 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gnu_get_libc_version, gnu_get_libc_release \- get glibc version and release
.SH LIBRARY
@@ -28,7 +29,7 @@ available on the system.
This will be a string such as
.IR "stable" .
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/grantpt.3 b/man3/grantpt.3
index 1f7026530..5f7339a6c 100644
--- a/man3/grantpt.3
+++ b/man3/grantpt.3
@@ -1,8 +1,9 @@
+'\" t
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This page is in the public domain. - aeb
.\" %%%LICENSE_END
.\"
-.TH GRANTPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH grantpt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
grantpt \- grant access to the slave pseudoterminal
.SH LIBRARY
@@ -67,7 +68,7 @@ The
argument is valid but not associated with a master pseudoterminal.
.SH VERSIONS
.BR grantpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/group_member.3 b/man3/group_member.3
index 347fa3c95..124e5a9c9 100644
--- a/man3/group_member.3
+++ b/man3/group_member.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH GROUP_MEMBER 3 2022-10-09 "Linux man-pages 6.01"
+.TH group_member 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
group_member \- test whether a process is in a group
.SH LIBRARY
diff --git a/man3/gsignal.3 b/man3/gsignal.3
index f6444cdd1..1c4ef9cf5 100644
--- a/man3/gsignal.3
+++ b/man3/gsignal.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" This replaces an earlier man page written by Walter Harms
.\" <walter.harms@informatik.uni-oldenburg.de>.
-.TH GSIGNAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH gsignal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
gsignal, ssignal \- software signal facility
.SH LIBRARY
diff --git a/man3/hash.3 b/man3/hash.3
index 25a43c20c..b354f2548 100644
--- a/man3/hash.3
+++ b/man3/hash.3
@@ -5,7 +5,7 @@
.\"
.\" @(#)hash.3 8.6 (Berkeley) 8/18/94
.\"
-.TH HASH 3 2022-10-09 "Linux man-pages 6.01"
+.TH hash 3 2022-12-04 "Linux man-pages 6.02"
.UC 7
.SH NAME
hash \- hash database access method
@@ -21,8 +21,8 @@ Standard C library
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
diff --git a/man3/hsearch.3 b/man3/hsearch.3
index e3419d305..e45a36731 100644
--- a/man3/hsearch.3
+++ b/man3/hsearch.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Ulrich Drepper (drepper@karlsruhe.gmd.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" 2008-09-03, mtk, restructured somewhat, in part after suggestions from
.\" Timothy S. Nelson <wayland@wayland.id.au>
.\"
-.TH HSEARCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH hsearch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
hcreate, hdestroy, hsearch, hcreate_r, hdestroy_r,
hsearch_r \- hash table management
@@ -276,7 +277,7 @@ allow it to free them.
SVr4 and POSIX.1-2001 specify that \fIaction\fP
is significant only for unsuccessful searches, so that an \fBENTER\fP
should not do anything for a successful search.
-In libc and glibc (before version 2.3), the
+In libc and glibc (before glibc 2.3), the
implementation violates the specification,
updating the \fIdata\fP for the given \fIkey\fP in this case.
.PP
diff --git a/man3/hypot.3 b/man3/hypot.3
index 825d0f3bc..9f9c858af 100644
--- a/man3/hypot.3
+++ b/man3/hypot.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH HYPOT 3 2022-10-09 "Linux man-pages 6.01"
+.TH HYPOT 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
hypot, hypotf, hypotl \- Euclidean distance function
.SH LIBRARY
diff --git a/man3/iconv.3 b/man3/iconv.3
index 1ebc4d410..ce46f16ba 100644
--- a/man3/iconv.3
+++ b/man3/iconv.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +11,7 @@
.\" 2000-06-30 correction by Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
.\" 2000-11-15 aeb, fixed prototype
.\"
-.TH ICONV 3 2022-10-09 "Linux man-pages 6.01"
+.TH iconv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iconv \- perform character set conversion
.SH LIBRARY
@@ -71,21 +72,21 @@ function can also convert a sequence of input bytes
to an update to the conversion state without producing any output bytes;
such input is called a \fIshift sequence\fP.
The conversion can stop for four reasons:
-.IP 1. 3
+.IP \(bu 3
An invalid multibyte sequence is encountered in the input.
In this case,
it sets \fIerrno\fP to \fBEILSEQ\fP and returns
.IR (size_t)\ \-1 .
\fI*inbuf\fP
is left pointing to the beginning of the invalid multibyte sequence.
-.IP 2.
+.IP \(bu
The input byte sequence has been entirely converted,
that is, \fI*inbytesleft\fP has gone down to 0.
In this case,
.BR iconv ()
returns the number of
nonreversible conversions performed during this call.
-.IP 3.
+.IP \(bu
An incomplete multibyte sequence is encountered in the input, and the
input byte sequence terminates after it.
In this case, it sets \fIerrno\fP to
@@ -93,7 +94,7 @@ In this case, it sets \fIerrno\fP to
.IR (size_t)\ \-1 .
\fI*inbuf\fP is left pointing to the
beginning of the incomplete multibyte sequence.
-.IP 4.
+.IP \(bu
The output buffer has no more room for the next converted character.
In this case, it sets \fIerrno\fP to \fBE2BIG\fP and returns
.IR (size_t)\ \-1 .
@@ -141,7 +142,7 @@ An invalid multibyte sequence has been encountered in the input.
.B EINVAL
An incomplete multibyte sequence has been encountered in the input.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/iconv_close.3 b/man3/iconv_close.3
index 8180dffff..3930b13cf 100644
--- a/man3/iconv_close.3
+++ b/man3/iconv_close.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -6,7 +7,7 @@
.\" GNU glibc-2 source code and manual
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH ICONV_CLOSE 3 2022-10-09 "Linux man-pages 6.01"
+.TH iconv_close 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iconv_close \- deallocate descriptor for character set conversion
.SH LIBRARY
@@ -32,7 +33,7 @@ returns 0; otherwise, it returns \-1 and sets
.I errno
to indicate the error.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/iconv_open.3 b/man3/iconv_open.3
index 4d0a0fd0a..b40cc4d49 100644
--- a/man3/iconv_open.3
+++ b/man3/iconv_open.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -10,7 +11,7 @@
.\" 2007-03-31 Bruno Haible, Describe the glibc/libiconv //TRANSLIT
.\" and //IGNORE extensions for 'tocode'.
.\"
-.TH ICONV_OPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH iconv_open 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iconv_open \- allocate descriptor for character set conversion
.SH LIBRARY
@@ -100,7 +101,7 @@ to
is not supported by the
implementation.
.SH VERSIONS
-This function is available in glibc since version 2.1.
+This function is available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/if_nameindex.3 b/man3/if_nameindex.3
index b25683c0e..b51dafa59 100644
--- a/man3/if_nameindex.3
+++ b/man3/if_nameindex.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2012 YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
.\" and Copyright (c) 2012 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH IF_NAMEINDEX 3 2022-10-09 "Linux man-pages 6.01"
+.TH if_nameindex 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
if_nameindex, if_freenameindex \- get network interface names and indexes
.SH LIBRARY
diff --git a/man3/if_nametoindex.3 b/man3/if_nametoindex.3
index 3050cf0e2..8dca3199c 100644
--- a/man3/if_nametoindex.3
+++ b/man3/if_nametoindex.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH IF_NAMETOINDEX 3 2022-10-09 "Linux man-pages 6.01"
+.TH if_nametoindex 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
if_nametoindex, if_indextoname \- mappings between network interface
names and indexes
diff --git a/man3/ilogb.3 b/man3/ilogb.3
index f20bb2d41..e9479872b 100644
--- a/man3/ilogb.3
+++ b/man3/ilogb.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -6,7 +7,7 @@
.\"
.\" Inspired by a page by Walter Harms created 2002-08-10
.\"
-.TH ILOGB 3 2022-10-09 "Linux man-pages 6.01"
+.TH ilogb 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ilogb, ilogbf, ilogbl \- get integer exponent of a floating-point value
.SH LIBRARY
@@ -130,15 +131,15 @@ T} Thread safety MT-Safe
C99, POSIX.1-2001, POSIX.1-2008.
.SH BUGS
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6794
-Before version 2.16, the following bugs existed in the
+Before glibc 2.16, the following bugs existed in the
glibc implementation of these functions:
-.IP * 3
+.IP \(bu 3
The domain error case where
.I x
is 0 or a NaN did not cause
.I errno
to be set or (on some architectures) raise a floating-point exception.
-.IP * 3
+.IP \(bu
The domain error case where
.I x
is an infinity did not cause
diff --git a/man3/index.3 b/man3/index.3
index 8162676db..96f1ba8fe 100644
--- a/man3/index.3
+++ b/man3/index.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Mon Apr 12 12:54:34 1993, David Metcalfe
.\" Modified Sat Jul 24 19:13:52 1993, Rik Faith (faith@cs.unc.edu)
-.TH INDEX 3 2022-10-09 "Linux man-pages 6.01"
+.TH index 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
index, rindex \- locate character in string
.SH LIBRARY
diff --git a/man3/inet.3 b/man3/inet.3
index 5d8095d9e..7980b7e05 100644
--- a/man3/inet.3
+++ b/man3/inet.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -19,7 +20,7 @@
.\" Add discussion of Classful Addressing, noting that it is obsolete.
.\" Added an EXAMPLE program.
.\"
-.TH INET 3 2022-10-09 "Linux man-pages 6.01"
+.TH INET 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof,
inet_netof \- Internet address manipulation routines
diff --git a/man3/inet_net_pton.3 b/man3/inet_net_pton.3
index d8dba49cd..335b7ba9b 100644
--- a/man3/inet_net_pton.3
+++ b/man3/inet_net_pton.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INET_NET_PTON 3 2022-10-09 "Linux man-pages 6.01"
+.TH inet_net_pton 3 2022-11-10 "Linux man-pages 6.02"
.SH NAME
inet_net_pton, inet_net_ntop \- Internet network number conversion
.SH LIBRARY
@@ -13,9 +13,11 @@ Resolver library
.B #include <arpa/inet.h>
.PP
.BI "int inet_net_pton(int " af ", const char *" pres ,
-.BI " void *" netp ", size_t " nsize );
-.BI "char *inet_net_ntop(int " af ", const void *" netp ", int " bits ,
-.BI " char *" pres ", size_t " psize );
+.BI " void " netp [. nsize "], size_t " nsize );
+.BI "char *inet_net_ntop(int " af ,
+.BI " const void " netp [(. bits " - CHAR_BIT + 1) / CHAR_BIT],"
+.BI " int " bits ,
+.BI " char " pres [. psize "], size_t " psize );
.fi
.PP
.RS -4
@@ -181,34 +183,34 @@ an explicit size value, then that size becomes the return value of
Otherwise, the return value,
.IR bits ,
is inferred as follows:
-.IP * 3
+.IP \(bu 3
If the most significant byte of the network number is
greater than or equal to 240,
then
.I bits
is 32.
-.IP * 3
+.IP \(bu
Otherwise,
if the most significant byte of the network number is
greater than or equal to 224,
then
.I bits
is 4.
-.IP * 3
+.IP \(bu
Otherwise,
if the most significant byte of the network number is
greater than or equal to 192,
then
.I bits
is 24.
-.IP * 3
+.IP \(bu
Otherwise,
if the most significant byte of the network number is
greater than or equal to 128,
then
.I bits
is 16.
-.IP *
+.IP \(bu
Otherwise,
.I bits
is 8.
diff --git a/man3/inet_ntop.3 b/man3/inet_ntop.3
index a6af84ff1..d0e27e32b 100644
--- a/man3/inet_ntop.3
+++ b/man3/inet_ntop.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2000 Sam Varshavchik <mrsam@courier-mta.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References: RFC 2553
-.TH INET_NTOP 3 2022-10-09 "Linux man-pages 6.01"
+.TH inet_ntop 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
inet_ntop \- convert IPv4 and IPv6 addresses from binary to text form
.SH LIBRARY
@@ -14,7 +15,7 @@ Standard C library
.B #include <arpa/inet.h>
.PP
.BI "const char *inet_ntop(int " af ", const void *restrict " src ,
-.BI " char *restrict " dst ", socklen_t " size );
+.BI " char " dst "[restrict ." size "], socklen_t " size );
.fi
.SH DESCRIPTION
This function converts the network address structure
diff --git a/man3/inet_pton.3 b/man3/inet_pton.3
index 37334ed5a..1068a68f6 100644
--- a/man3/inet_pton.3
+++ b/man3/inet_pton.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2000 Sam Varshavchik <mrsam@courier-mta.com>
.\" and Copyright (c) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References: RFC 2553
-.TH INET_PTON 3 2022-10-09 "Linux man-pages 6.01"
+.TH inet_pton 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
inet_pton \- convert IPv4 and IPv6 addresses from text to binary form
.SH LIBRARY
@@ -63,14 +64,14 @@ which must be
(16) bytes (128 bits) long.
The allowed formats for IPv6 addresses follow these rules:
.RS
-.IP 1. 3
+.IP \(bu 3
The preferred format is
.IR x:x:x:x:x:x:x:x .
This form consists of eight hexadecimal numbers,
each of which expresses a 16-bit value (i.e., each
.I x
can be up to 4 hex digits).
-.IP 2.
+.IP \(bu
A series of contiguous zero values in the preferred format
can be abbreviated to
.IR :: .
@@ -83,7 +84,7 @@ can be abbreviated as
.IR ::1 .
The wildcard address, consisting of all zeros, can be written as
.IR :: .
-.IP 3.
+.IP \(bu
An alternate format is useful for expressing IPv4-mapped IPv6 addresses.
This form is written as
.IR x:x:x:x:x:x:d.d.d.d ,
diff --git a/man3/initgroups.3 b/man3/initgroups.3
index 92ef24346..47fb149f2 100644
--- a/man3/initgroups.3
+++ b/man3/initgroups.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
.\" Modified 2004-10-10 by aeb
.\"
-.TH INITGROUPS 3 2022-10-09 "Linux man-pages 6.01"
+.TH initgroups 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
initgroups \- initialize the supplementary group access list
.SH LIBRARY
diff --git a/man3/insque.3 b/man3/insque.3
index 037efe637..ff113d580 100644
--- a/man3/insque.3
+++ b/man3/insque.3
@@ -1,3 +1,4 @@
+'\" t
.\" peter memishian -- meem@gnu.ai.mit.edu
.\" $Id: insque.3,v 1.2 1996/10/30 21:03:39 meem Exp meem $
.\" and Copyright (c) 2010, Michael Kerrisk <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" mtk, 2010-09-09: Noted glibc 2.4 bug, added info on circular
.\" lists, added example program
.\"
-.TH INSQUE 3 2022-10-09 "Linux man-pages 6.01"
+.TH insque 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
insque, remque \- insert/remove an item from a queue
.SH LIBRARY
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/intro.3 b/man3/intro.3
index 1b1036b97..d17651bf7 100644
--- a/man3/intro.3
+++ b/man3/intro.3
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 2007-10-23 mtk, Nearly a complete rewrite of the earlier page.
-.TH INTRO 3 2022-10-09 "Linux man-pages 6.01"
+.TH intro 3 2022-12-12 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to library functions
.SH DESCRIPTION
@@ -64,6 +64,37 @@ For further information on feature test macros, see
.\" .IP (3X)
.\" Various special libraries. The manual pages documenting their functions
.\" specify the library names.
+.SS Subsections
+Section 3 of this manual is organized into subsections
+that reflect the complex structure of the standard C library
+and its many implementations:
+.IP \(bu 3
+3const
+.IP \(bu
+3head
+.IP \(bu
+3type
+.PP
+This difficult history frequently makes it a poor example to follow
+in design, implementation, and presentation.
+.PP
+Ideally,
+a library for the C language
+is designed such that each header file
+presents the interface to a coherent software module.
+It provides a small number of function declarations
+and exposes only data types and constants that
+are required for use of those functions.
+Together,
+these are termed an API or
+.IR "application program interface" .
+Types and constants to be shared among multiple APIs
+shopuld be placed in header files that declare no functions.
+This organization permits a C library module
+to be documented concisely with one header file per manual page.
+Such an approach
+improves the readability and accessibility of library documentation,
+and thereby the usability of the software.
.SH STANDARDS
Certain terms and abbreviations are used to indicate UNIX variants
and standards to which calls in this section conform.
diff --git a/man3/isalpha.3 b/man3/isalpha.3
index edb7787f2..4a6c54040 100644
--- a/man3/isalpha.3
+++ b/man3/isalpha.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Modified Sat Sep 2 21:52:01 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\" Modified Mon May 27 22:55:26 1996 by Martin Schulze (joey@linux.de)
.\"
-.TH ISALPHA 3 2022-10-09 "Linux man-pages 6.01"
+.TH isalpha 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower,
isprint, ispunct, isspace, isupper, isxdigit,
@@ -62,7 +63,7 @@ Feature Test Macro Requirements for glibc (see
.BR isascii ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.PP
diff --git a/man3/isatty.3 b/man3/isatty.3
index 315b10f32..82a342a79 100644
--- a/man3/isatty.3
+++ b/man3/isatty.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ISATTY 3 2022-10-09 "Linux man-pages 6.01"
+.TH isatty 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
isatty \- test whether a file descriptor refers to a terminal
.SH LIBRARY
diff --git a/man3/isfdtype.3 b/man3/isfdtype.3
index e7ca31f03..67eb6e5a9 100644
--- a/man3/isfdtype.3
+++ b/man3/isfdtype.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ISFDTYPE 3 2022-10-09 "Linux man-pages 6.01"
+.TH isfdtype 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
isfdtype \- test file type of a file descriptor
.SH LIBRARY
diff --git a/man3/isgreater.3 b/man3/isgreater.3
index e5d39d92c..cd7716a48 100644
--- a/man3/isgreater.3
+++ b/man3/isgreater.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" 2002-07-27 Walter Harms
.\" this was done with the help of the glibc manual
.\"
-.TH ISGREATER 3 2022-10-09 "Linux man-pages 6.01"
+.TH isgreater 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
isgreater, isgreaterequal, isless, islessequal, islessgreater,
isunordered \- floating-point relational tests without exception for NaN
diff --git a/man3/iswalnum.3 b/man3/iswalnum.3
index 77f474c3d..291f82774 100644
--- a/man3/iswalnum.3
+++ b/man3/iswalnum.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWALNUM 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswalnum 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswalnum \- test for alphanumeric wide character
.SH LIBRARY
diff --git a/man3/iswalpha.3 b/man3/iswalpha.3
index f4cb2aaef..53db1c476 100644
--- a/man3/iswalpha.3
+++ b/man3/iswalpha.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWALPHA 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswalpha 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswalpha \- test for alphabetic wide character
.SH LIBRARY
diff --git a/man3/iswblank.3 b/man3/iswblank.3
index 5b44a030b..d41509b56 100644
--- a/man3/iswblank.3
+++ b/man3/iswblank.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWBLANK 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswblank 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswblank \- test for whitespace wide character
.SH LIBRARY
diff --git a/man3/iswcntrl.3 b/man3/iswcntrl.3
index 5b39ea47a..01e99b77a 100644
--- a/man3/iswcntrl.3
+++ b/man3/iswcntrl.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWCNTRL 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswcntrl 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswcntrl \- test for control wide character
.SH LIBRARY
diff --git a/man3/iswctype.3 b/man3/iswctype.3
index 2eeb9d92e..30b1bbc5c 100644
--- a/man3/iswctype.3
+++ b/man3/iswctype.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWCTYPE 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswctype 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswctype \- wide-character classification
.SH LIBRARY
@@ -27,7 +28,7 @@ is a wide character having the character property designated by
.I desc
(or in other words: belongs to the character class designated by
.IR desc ),
-the
+then the
.BR iswctype ()
function returns nonzero.
Otherwise, it
diff --git a/man3/iswdigit.3 b/man3/iswdigit.3
index ab00103a7..10705356b 100644
--- a/man3/iswdigit.3
+++ b/man3/iswdigit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWDIGIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswdigit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswdigit \- test for decimal digit wide character
.SH LIBRARY
diff --git a/man3/iswgraph.3 b/man3/iswgraph.3
index 0ebd8e317..3e1f3bed5 100644
--- a/man3/iswgraph.3
+++ b/man3/iswgraph.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWGRAPH 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswgraph 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswgraph \- test for graphic wide character
.SH LIBRARY
diff --git a/man3/iswlower.3 b/man3/iswlower.3
index 1b5a012b2..b980e1f77 100644
--- a/man3/iswlower.3
+++ b/man3/iswlower.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWLOWER 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswlower 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswlower \- test for lowercase wide character
.SH LIBRARY
diff --git a/man3/iswprint.3 b/man3/iswprint.3
index c5af1ac38..4dea03380 100644
--- a/man3/iswprint.3
+++ b/man3/iswprint.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWPRINT 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswprint 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswprint \- test for printing wide character
.SH LIBRARY
diff --git a/man3/iswpunct.3 b/man3/iswpunct.3
index e0eac6d15..4338eb681 100644
--- a/man3/iswpunct.3
+++ b/man3/iswpunct.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWPUNCT 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswpunct 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswpunct \- test for punctuation or symbolic wide character
.SH LIBRARY
diff --git a/man3/iswspace.3 b/man3/iswspace.3
index cc2df5f1a..78759304a 100644
--- a/man3/iswspace.3
+++ b/man3/iswspace.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWSPACE 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswspace 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswspace \- test for whitespace wide character
.SH LIBRARY
diff --git a/man3/iswupper.3 b/man3/iswupper.3
index fb42ebc8b..551172a0d 100644
--- a/man3/iswupper.3
+++ b/man3/iswupper.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWUPPER 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswupper 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswupper \- test for uppercase wide character
.SH LIBRARY
diff --git a/man3/iswxdigit.3 b/man3/iswxdigit.3
index e7c1e84ba..e3b373924 100644
--- a/man3/iswxdigit.3
+++ b/man3/iswxdigit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH ISWXDIGIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH iswxdigit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iswxdigit \- test for hexadecimal digit wide character
.SH LIBRARY
diff --git a/man3/j0.3 b/man3/j0.3
index 9737f0738..b9ef73626 100644
--- a/man3/j0.3
+++ b/man3/j0.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2004-11-12 as per suggestion by Fabian Kreutz/AEB
.\" 2008-07-24, mtk, moved yxx() material into separate y0.3 page
.\"
-.TH J0 3 2022-10-09 "Linux man-pages 6.01"
+.TH j0 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
j0, j0f, j0l, j1, j1f, j1l, jn, jnf, jnl \-
Bessel functions of the first kind
diff --git a/man3/key_setsecret.3 b/man3/key_setsecret.3
index 28f753ef4..a6e863278 100644
--- a/man3/key_setsecret.3
+++ b/man3/key_setsecret.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" I had no way the check the functions out
.\" be careful
-.TH KEY_SETSECRET 3 2022-10-09 "Linux man-pages 6.01"
+.TH key_setsecret 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
key_decryptsession, key_encryptsession, key_setsecret, key_gendes,
key_secretkey_is_set \- interfaces to rpc keyserver daemon
diff --git a/man3/killpg.3 b/man3/killpg.3
index c6f6c966a..185a05abe 100644
--- a/man3/killpg.3
+++ b/man3/killpg.3
@@ -11,7 +11,7 @@
.\" Added notes on CAP_KILL
.\" Modified 2004-06-21 by aeb
.\"
-.TH KILLPG 3 2022-10-09 "Linux man-pages 6.01"
+.TH killpg 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
killpg \- send signal to a process group
.SH LIBRARY
diff --git a/man3/ldexp.3 b/man3/ldexp.3
index 98638fa55..db4a19998 100644
--- a/man3/ldexp.3
+++ b/man3/ldexp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -11,7 +12,7 @@
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2004-10-31 by aeb
.\"
-.TH LDEXP 3 2022-10-09 "Linux man-pages 6.01"
+.TH ldexp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ldexp, ldexpf, ldexpl \- multiply floating-point number by integral power of 2
.SH LIBRARY
diff --git a/man3/lgamma.3 b/man3/lgamma.3
index cb74544b0..cd26194d5 100644
--- a/man3/lgamma.3
+++ b/man3/lgamma.3
@@ -6,7 +6,7 @@
.\"
.\" based on glibc infopages
.\"
-.TH LGAMMA 3 2022-10-09 "Linux man-pages 6.01"
+.TH lgamma 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
lgamma, lgammaf, lgammal, lgamma_r, lgammaf_r, lgammal_r, signgam \-
log gamma function
@@ -170,6 +170,6 @@ is set to
.BR EDOM ;
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10, glibc does the right thing.
+Since glibc 2.10, glibc does the right thing.
.SH SEE ALSO
.BR tgamma (3)
diff --git a/man3/lio_listio.3 b/man3/lio_listio.3
index 33f722950..41dc19284 100644
--- a/man3/lio_listio.3
+++ b/man3/lio_listio.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2010, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH LIO_LISTIO 3 2022-10-09 "Linux man-pages 6.01"
+.TH lio_listio 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lio_listio \- initiate a list of I/O requests
.SH LIBRARY
diff --git a/man3/list.3 b/man3/list.3
index 357353cc7..551b4428a 100644
--- a/man3/list.3
+++ b/man3/list.3
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH LIST 3 2022-10-09 "Linux man-pages 6.01"
+.TH LIST 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
LIST_EMPTY,
LIST_ENTRY,
diff --git a/man3/localeconv.3 b/man3/localeconv.3
index 6b586e2ee..a175f5734 100644
--- a/man3/localeconv.3
+++ b/man3/localeconv.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 19:01:20 1993 by Rik Faith (faith@cs.unc.edu)
-.TH LOCALECONV 3 2022-10-09 "Linux man-pages 6.01"
+.TH localeconv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
localeconv \- get numeric formatting information
.SH LIBRARY
diff --git a/man3/lockf.3 b/man3/lockf.3
index fab6cf30a..88908d3cf 100644
--- a/man3/lockf.3
+++ b/man3/lockf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1997 Nicolás Lichtmaier <nick@debian.org>
.\" Created Thu Aug 7 00:44:00 ART 1997
.\"
@@ -6,7 +7,7 @@
.\" Added section stuff, aeb, 2002-04-22.
.\" Corrected include file, drepper, 2003-06-15.
.\"
-.TH LOCKF 3 2022-10-09 "Linux man-pages 6.01"
+.TH lockf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lockf \- apply, test or remove a POSIX lock on an open file
.SH LIBRARY
@@ -28,7 +29,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/log.3 b/man3/log.3
index 661ab5951..30a36c82f 100644
--- a/man3/log.3
+++ b/man3/log.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH LOG 3 2022-10-09 "Linux man-pages 6.01"
+.TH log 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
log, logf, logl \- natural logarithmic function
.SH LIBRARY
diff --git a/man3/log10.3 b/man3/log10.3
index 4d84b17be..8966bbc1d 100644
--- a/man3/log10.3
+++ b/man3/log10.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH LOG10 3 2022-10-09 "Linux man-pages 6.01"
+.TH log10 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
log10, log10f, log10l \- base-10 logarithmic function
.SH LIBRARY
diff --git a/man3/log1p.3 b/man3/log1p.3
index c6e798b2b..6e9c0e22d 100644
--- a/man3/log1p.3
+++ b/man3/log1p.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -6,7 +7,7 @@
.\"
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH LOG1P 3 2022-10-09 "Linux man-pages 6.01"
+.TH LOG1P 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
log1p, log1pf, log1pl \- logarithm of 1 plus argument
.SH LIBRARY
@@ -131,14 +132,14 @@ T} Thread safety MT-Safe
C99, POSIX.1-2001, POSIX.1-2008.
.\" BSD
.SH BUGS
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6792
.I errno
to
.B EDOM
when a domain error occurred.
.PP
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6792
.I errno
to
diff --git a/man3/log2.3 b/man3/log2.3
index 7be67338a..51a9f11f0 100644
--- a/man3/log2.3
+++ b/man3/log2.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH LOG2 3 2022-10-09 "Linux man-pages 6.01"
+.TH log2 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
log2, log2f, log2l \- base-2 logarithmic function
.SH LIBRARY
@@ -59,7 +60,7 @@ when calling these functions.
For a discussion of the errors that can occur for these functions, see
.BR log (3).
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/logb.3 b/man3/logb.3
index d0b987730..efdbe6b5d 100644
--- a/man3/logb.3
+++ b/man3/logb.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -6,7 +7,7 @@
.\"
.\" Inspired by a page by Walter Harms created 2002-08-10
.\"
-.TH LOGB 3 2022-10-09 "Linux man-pages 6.01"
+.TH logb 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
logb, logbf, logbl \- get exponent of a floating-point value
.SH LIBRARY
diff --git a/man3/login.3 b/man3/login.3
index bc9754eaa..4d2d2815a 100644
--- a/man3/login.3
+++ b/man3/login.3
@@ -1,9 +1,10 @@
+'\" t
.\" Derived from text written by Martin Schulze (or taken from glibc.info)
.\" and text written by Paul Thompson - both copyright 2002.
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH LOGIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH login 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
login, logout \- write utmp and wtmp entries
.SH LIBRARY
diff --git a/man3/lrint.3 b/man3/lrint.3
index 705e6f6b7..13964585d 100644
--- a/man3/lrint.3
+++ b/man3/lrint.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LRINT 3 2022-10-09 "Linux man-pages 6.01"
+.TH lrint 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lrint, lrintf, lrintl, llrint, llrintf, llrintl \- round to nearest integer
.SH LIBRARY
@@ -77,7 +78,7 @@ These functions do not set
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6798
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/lround.3 b/man3/lround.3
index 8f2d95f67..f66202a83 100644
--- a/man3/lround.3
+++ b/man3/lround.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LROUND 3 2022-10-09 "Linux man-pages 6.01"
+.TH lround 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lround, lroundf, lroundl, llround, llroundf, llroundl \- round to
nearest integer
@@ -80,7 +81,7 @@ These functions do not set
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6797
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/lsearch.3 b/man3/lsearch.3
index e754f5303..5cd36c12e 100644
--- a/man3/lsearch.3
+++ b/man3/lsearch.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Corrected prototype and include, aeb, 990927
-.TH LSEARCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH lsearch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lfind, lsearch \- linear search of an array
.SH LIBRARY
@@ -13,10 +14,16 @@ Standard C library
.nf
.B #include <search.h>
.PP
-.BI "void *lfind(const void *" key ", const void *" base ", size_t *" nmemb ,
-.BI " size_t " size ", int(*" compar ")(const void *, const void *));"
-.BI "void *lsearch(const void *" key ", void *" base ", size_t *" nmemb ,
-.BI " size_t " size ", int(*" compar ")(const void *, const void *));"
+.BI "void *lfind(const void " key [. size "], \
+const void " base [. size " * ." nmemb ],
+.BI " size_t *" nmemb ", size_t " size ,
+.BI " int(*" compar ")(const void [." size "], \
+const void [." size ]));
+.BI "void *lsearch(const void " key [. size "], \
+void " base [. size " * ." nmemb ],
+.BI " size_t *" nmemb ", size_t " size ,
+.BI " int(*" compar ")(const void [." size "], \
+const void [." size ]));
.fi
.SH DESCRIPTION
.BR lfind ()
diff --git a/man3/lseek64.3 b/man3/lseek64.3
index 171aa6647..0ce981cbe 100644
--- a/man3/lseek64.3
+++ b/man3/lseek64.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright (c) 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LSEEK64 3 2022-10-09 "Linux man-pages 6.01"
+.TH lseek64 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lseek64 \- reposition 64-bit read/write file offset
.SH LIBRARY
@@ -97,7 +98,7 @@ is available only when one compiles with
.PP
The function
.BR lseek64 ()
-.\" in glibc 2.0.94, not in 2.0.6
+.\" in glibc 2.0.94, not in glibc 2.0.6
is available since glibc 2.1.
.\"
.SS llseek()
diff --git a/man3/makecontext.3 b/man3/makecontext.3
index decfba300..c20cf5bb0 100644
--- a/man3/makecontext.3
+++ b/man3/makecontext.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl)
.\" and Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -5,7 +6,7 @@
.\"
.\" 2006-08-02, mtk, Added example program
.\"
-.TH MAKECONTEXT 3 2022-10-09 "Linux man-pages 6.01"
+.TH makecontext 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
makecontext, swapcontext \- manipulate user context
.SH LIBRARY
@@ -88,7 +89,7 @@ Insufficient stack space left.
.BR makecontext ()
and
.BR swapcontext ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -142,7 +143,7 @@ However, doing this is not guaranteed to be portable,
is undefined according to the standards,
and won't work on architectures where pointers are larger than
.IR int s.
-Nevertheless, starting with version 2.8, glibc makes some changes to
+Nevertheless, starting with glibc 2.8, glibc makes some changes to
.BR makecontext (),
to permit this on some 64-bit architectures (e.g., x86-64).
.SH EXAMPLES
diff --git a/man3/makedev.3 b/man3/makedev.3
index d608133d0..32375342e 100644
--- a/man3/makedev.3
+++ b/man3/makedev.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MAKEDEV 3 2022-10-09 "Linux man-pages 6.01"
+.TH makedev 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
makedev, major, minor \- manage a device number
.SH LIBRARY
diff --git a/man3/mallinfo.3 b/man3/mallinfo.3
index 2ee4125ee..a46a14fbc 100644
--- a/man3/mallinfo.3
+++ b/man3/mallinfo.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLINFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH mallinfo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mallinfo, mallinfo2 \- obtain memory allocation information
.SH LIBRARY
diff --git a/man3/malloc.3 b/man3/malloc.3
index 842c93e21..3c63ddaa4 100644
--- a/man3/malloc.3
+++ b/man3/malloc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright i2007, 2012, 2018, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -11,7 +12,7 @@
.\" FIXME . Review http://austingroupbugs.net/view.php?id=374
.\" to see what changes are required on this page.
.\"
-.TH MALLOC 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc, free, calloc, realloc, reallocarray \- allocate and free dynamic memory
.SH LIBRARY
@@ -227,7 +228,7 @@ limit described in
.BR getrlimit (2).
.SH VERSIONS
.BR reallocarray ()
-first appeared in glibc in version 2.26.
+was added in glibc 2.26.
.PP
.BR malloc ()
and related functions rejected sizes greater than
@@ -339,7 +340,9 @@ handling, size-zero allocations, and overflow checking;
otherwise, other library routines may crash or operate incorrectly.
For example, if the replacement
.IR free ()
-does not preserve errno, then seemingly unrelated library routines may
+does not preserve
+.IR errno ,
+then seemingly unrelated library routines may
fail without having a valid reason in
.IR errno .
Private memory allocators may also need to replace other glibc functions;
diff --git a/man3/malloc_get_state.3 b/man3/malloc_get_state.3
index 5f42bf948..35076e29a 100644
--- a/man3/malloc_get_state.3
+++ b/man3/malloc_get_state.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOC_GET_STATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc_get_state 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc_get_state, malloc_set_state \-
record and restore state of malloc implementation
@@ -18,7 +19,7 @@ Standard C library
.fi
.SH DESCRIPTION
.IR Note :
-these function are removed in glibc version 2.25.
+these function are removed in glibc 2.25.
.PP
The
.BR malloc_get_state ()
diff --git a/man3/malloc_hook.3 b/man3/malloc_hook.3
index 3d69596e1..3d5cf4c2b 100644
--- a/man3/malloc_hook.3
+++ b/man3/malloc_hook.3
@@ -5,7 +5,7 @@
.\" Heavily based on glibc documentation
.\" Polished, added docs, removed glibc doc bug, 2002-07-20, aeb
.\"
-.TH MALLOC_HOOK 3 2022-10-09 "Linux man-pages 6.01"
+.TH MALLOC_HOOK 3 2022-10-09 "Linux man-pages 6.02"
.SH NAME
__malloc_hook, __malloc_initialize_hook,
__memalign_hook, __free_hook, __realloc_hook,
diff --git a/man3/malloc_info.3 b/man3/malloc_info.3
index c713bbab1..0ef29127a 100644
--- a/man3/malloc_info.3
+++ b/man3/malloc_info.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOC_INFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc_info 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc_info \- export malloc state to a stream
.SH LIBRARY
@@ -42,7 +43,7 @@ is set to indicate the error.
was nonzero.
.SH VERSIONS
.BR malloc_info ()
-was added to glibc in version 2.10.
+was added in glibc 2.10.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/malloc_stats.3 b/man3/malloc_stats.3
index 2473d37cf..8c5003edf 100644
--- a/man3/malloc_stats.3
+++ b/man3/malloc_stats.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOC_STATS 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc_stats 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc_stats \- print memory allocation statistics
.SH LIBRARY
diff --git a/man3/malloc_trim.3 b/man3/malloc_trim.3
index 107107866..5b945b253 100644
--- a/man3/malloc_trim.3
+++ b/man3/malloc_trim.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOC_TRIM 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc_trim 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc_trim \- release free memory from the heap
.SH LIBRARY
diff --git a/man3/malloc_usable_size.3 b/man3/malloc_usable_size.3
index e5edc483a..ccb9e9c6d 100644
--- a/man3/malloc_usable_size.3
+++ b/man3/malloc_usable_size.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOC_USABLE_SIZE 3 2022-10-09 "Linux man-pages 6.01"
+.TH malloc_usable_size 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
malloc_usable_size \- obtain size of block of memory allocated from heap
.SH LIBRARY
diff --git a/man3/mallopt.3 b/man3/mallopt.3
index 01c4ec539..0ee02b3b8 100644
--- a/man3/mallopt.3
+++ b/man3/mallopt.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MALLOPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH MALLOPT 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
mallopt \- set memory allocation parameters
.SH LIBRARY
@@ -111,7 +111,7 @@ If this bit is set, then,
after printing any error message specified by bit 0,
the program is terminated by calling
.BR abort (3).
-In glibc versions since 2.4,
+Since glibc 2.4,
if bit 0 is also set,
then, between printing the error message and aborting,
the program also prints a stack trace in the manner of
@@ -137,18 +137,24 @@ Combining the above details,
the following numeric values are meaningful for
.BR M_CHECK_ACTION :
.RS 12
-.IP 0 3
+.TP
+.B 0
Ignore error conditions; continue execution (with undefined results).
-.IP 1
+.TP
+.B 1
Print a detailed error message and continue execution.
-.IP 2
+.TP
+.B 2
Abort the program.
-.IP 3
+.TP
+.B 3
Print detailed error message, stack trace, and memory mappings,
and abort the program.
-.IP 5
+.TP
+.B 5
Print a simple error message and continue execution.
-.IP 7
+.TP
+.B 7
Print simple error message, stack trace, and memory mappings,
and abort the program.
.RE
@@ -156,7 +162,7 @@ and abort the program.
Since glibc 2.3.4, the default value for the
.B M_CHECK_ACTION
parameter is 3.
-In glibc version 2.3.3 and earlier, the default value is 1.
+In glibc 2.3.3 and earlier, the default value is 1.
.IP
Using a nonzero
.B M_CHECK_ACTION
@@ -279,13 +285,13 @@ to modify the program break.
(The measurement unit for this parameter is bytes.)
This parameter has an effect in the following circumstances:
.RS
-.IP * 3
+.IP \(bu 3
When the program break is increased, then
.B M_TOP_PAD
bytes are added to the
.BR sbrk (2)
request.
-.IP *
+.IP \(bu
When the heap is trimmed as a consequence of calling
.BR free (3)
(see the discussion of
diff --git a/man3/matherr.3 b/man3/matherr.3
index 9e11cec34..9c2a1bf50 100644
--- a/man3/matherr.3
+++ b/man3/matherr.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MATHERR 3 2022-10-09 "Linux man-pages 6.01"
+.TH matherr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
matherr \- SVID math library exception handling
.SH LIBRARY
diff --git a/man3/mblen.3 b/man3/mblen.3
index 325396531..678601566 100644
--- a/man3/mblen.3
+++ b/man3/mblen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH mblen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mblen \- determine number of bytes in next multibyte character
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "int mblen(const char *" s ", size_t " n );
+.BI "int mblen(const char " s [. n "], size_t " n );
.fi
.SH DESCRIPTION
If
diff --git a/man3/mbrlen.3 b/man3/mbrlen.3
index 21328c77d..f332622df 100644
--- a/man3/mbrlen.3
+++ b/man3/mbrlen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBRLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbrlen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbrlen \- determine number of bytes in next multibyte character
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbrlen(const char *restrict " s ", size_t " n ,
+.BI "size_t mbrlen(const char " s "[restrict ." n "], size_t " n ,
.BI " mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
diff --git a/man3/mbrtowc.3 b/man3/mbrtowc.3
index 342058aac..b76183757 100644
--- a/man3/mbrtowc.3
+++ b/man3/mbrtowc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +10,7 @@
.\" http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBRTOWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbrtowc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbrtowc \- convert a multibyte sequence to a wide character
.SH LIBRARY
@@ -19,9 +20,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbrtowc(wchar_t *restrict " pwc ", const char *restrict " s \
-", size_t " n ,
-.BI " mbstate_t *restrict " ps );
+.BI "size_t mbrtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n ],
+.BI " size_t " n ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
The main case for this function is when
diff --git a/man3/mbsinit.3 b/man3/mbsinit.3
index 556e378e7..04440bef8 100644
--- a/man3/mbsinit.3
+++ b/man3/mbsinit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBSINIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbsinit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbsinit \- test for initial shift state
.SH LIBRARY
diff --git a/man3/mbsnrtowcs.3 b/man3/mbsnrtowcs.3
index 4ab2c9fdd..efcc91046 100644
--- a/man3/mbsnrtowcs.3
+++ b/man3/mbsnrtowcs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH MBSNRTOWCS 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbsnrtowcs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbsnrtowcs \- convert a multibyte string to a wide-character string
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbsnrtowcs(wchar_t *restrict " dest ", const char **restrict " src ,
+.BI "size_t mbsnrtowcs(wchar_t " dest "[restrict ." len "], const char **restrict " src ,
.BI " size_t " nms ", size_t " len \
", mbstate_t *restrict " ps );
.fi
@@ -78,7 +79,7 @@ by one and
by the number of bytes consumed.
The
conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
An invalid multibyte sequence has been encountered.
In this case,
.I *src
@@ -89,7 +90,7 @@ and
.I errno
is set to
.BR EILSEQ .
-.IP 2.
+.IP \(bu
The
.I nms
limit forces a stop,
@@ -105,7 +106,7 @@ next multibyte sequence to be converted, and the number of wide characters
written to
.I dest
is returned.
-.IP 3.
+.IP \(bu
The multibyte string has been completely converted, including the
terminating null wide character (\(aq\e0\(aq)
(which has the side effect of bringing back
diff --git a/man3/mbsrtowcs.3 b/man3/mbsrtowcs.3
index 76cb3b87a..519088ad1 100644
--- a/man3/mbsrtowcs.3
+++ b/man3/mbsrtowcs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBSRTOWCS 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbsrtowcs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbsrtowcs \- convert a multibyte string to a wide-character string
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbsrtowcs(wchar_t *restrict " dest ", const char **restrict " src ,
+.BI "size_t mbsrtowcs(wchar_t " dest "[restrict ." len "], const char **restrict " src ,
.BI " size_t " len ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
@@ -50,7 +51,7 @@ by one and
.I *src
by the number of bytes consumed.
The conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
An invalid multibyte sequence has been encountered.
In this case,
.I *src
@@ -61,7 +62,7 @@ and
.I errno
is set to
.BR EILSEQ .
-.IP 2.
+.IP \(bu
.I len
non-L\(aq\e0\(aq wide characters have been stored at
.IR dest .
@@ -72,7 +73,7 @@ multibyte sequence to be converted,
and the number of wide characters written to
.I dest
is returned.
-.IP 3.
+.IP \(bu
The multibyte string has been completely converted, including the
terminating null wide character (\(aq\e0\(aq), which has the side
effect of bringing back
diff --git a/man3/mbstowcs.3 b/man3/mbstowcs.3
index 841044aff..a45476cf9 100644
--- a/man3/mbstowcs.3
+++ b/man3/mbstowcs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\" and Copyright 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -9,7 +10,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBSTOWCS 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbstowcs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbstowcs \- convert a multibyte string to a wide-character string
.SH LIBRARY
@@ -19,7 +20,8 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "size_t mbstowcs(wchar_t *restrict " dest ", const char *restrict " src ,
+.BI "size_t mbstowcs(wchar_t " dest "[restrict ." n "], \
+const char *restrict " src ,
.BI " size_t " n );
.fi
.SH DESCRIPTION
@@ -41,12 +43,12 @@ The sequence of characters in the string
.I src
shall begin in the initial shift state.
The conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
An invalid multibyte sequence has been encountered.
In this case,
.I (size_t)\ \-1
is returned.
-.IP 2.
+.IP \(bu
.I n
non-L\(aq\e0\(aq wide characters have been stored at
.IR dest .
@@ -54,7 +56,7 @@ In this case, the number of wide characters written to
.I dest
is returned, but the
shift state at this point is lost.
-.IP 3.
+.IP \(bu
The multibyte string has been completely converted, including the
terminating null character (\(aq\e0\(aq).
In this case, the number of wide characters written to
diff --git a/man3/mbtowc.3 b/man3/mbtowc.3
index 134c122c7..114d61502 100644
--- a/man3/mbtowc.3
+++ b/man3/mbtowc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH MBTOWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH mbtowc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mbtowc \- convert a multibyte sequence to a wide character
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "int mbtowc(wchar_t *restrict " pwc ", const char *restrict " s \
-", size_t " n );
+.BI "int mbtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The main case for this function is when
diff --git a/man3/mcheck.3 b/man3/mcheck.3
index 8b88513d1..3ad5cf763 100644
--- a/man3/mcheck.3
+++ b/man3/mcheck.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MCHECK 3 2022-10-09 "Linux man-pages 6.01"
+.TH mcheck 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mcheck, mcheck_check_all, mcheck_pedantic, mprobe \- heap consistency checking
.SH LIBRARY
diff --git a/man3/memccpy.3 b/man3/memccpy.3
index f418aefd3..301b71df8 100644
--- a/man3/memccpy.3
+++ b/man3/memccpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:57:24 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMCCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH memccpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memccpy \- copy memory area
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "void *memccpy(void *restrict " dest ", const void *restrict " src ,
+.BI "void *memccpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
.BI " int " c ", size_t " n );
.fi
.SH DESCRIPTION
diff --git a/man3/memchr.3 b/man3/memchr.3
index cce542d11..bb03e2639 100644
--- a/man3/memchr.3
+++ b/man3/memchr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -9,7 +10,7 @@
.\" Modified Wed Feb 20 21:09:36 2002, Ian Redfern (redferni@logica.com)
.\" 2008-07-09, mtk, add rawmemchr()
.\"
-.TH MEMCHR 3 2022-10-09 "Linux man-pages 6.01"
+.TH memchr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memchr, memrchr, rawmemchr \- scan memory for a character
.SH LIBRARY
@@ -19,9 +20,9 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "void *memchr(const void *" s ", int " c ", size_t " n );
-.BI "void *memrchr(const void *" s ", int " c ", size_t " n );
-.BI "void *rawmemchr(const void *" s ", int " c );
+.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
+.BI "void *memrchr(const void " s [. n "], int " c ", size_t " n );
+.BI "void *rawmemchr(const void " s [. n "], int " c );
.fi
.PP
.RS -4
@@ -100,10 +101,10 @@ function returns a pointer to the matching byte, if one is found.
If no matching byte is found, the result is unspecified.
.SH VERSIONS
.BR rawmemchr ()
-first appeared in glibc in version 2.1.
+first appeared in glibc 2.1.
.PP
.BR memrchr ()
-first appeared in glibc in version 2.2.
+first appeared in glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/memcmp.3 b/man3/memcmp.3
index e77d58643..1dceb1fa8 100644
--- a/man3/memcmp.3
+++ b/man3/memcmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:55:27 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH memcmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memcmp \- compare memory areas
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "int memcmp(const void *" s1 ", const void *" s2 ", size_t " n );
+.BI "int memcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/memcpy.3 b/man3/memcpy.3
index 81a79891c..9829a59fa 100644
--- a/man3/memcpy.3
+++ b/man3/memcpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -8,7 +9,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:41:09 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH memcpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memcpy \- copy memory area
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "void *memcpy(void *restrict " dest ", const void *restrict " src \
-", size_t " n );
+.BI "void *memcpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/memfrob.3 b/man3/memfrob.3
index e5ce1133e..58e672b11 100644
--- a/man3/memfrob.3
+++ b/man3/memfrob.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:54:45 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMFROB 3 2022-10-09 "Linux man-pages 6.01"
+.TH memfrob 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memfrob \- frobnicate (obfuscate) a memory area
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.PP
-.BI "void *memfrob(void *" s ", size_t " n );
+.BI "void *memfrob(void " s [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/memmem.3 b/man3/memmem.3
index 6f542a264..f2b50fe41 100644
--- a/man3/memmem.3
+++ b/man3/memmem.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:50:48 1993 by Rik Faith (faith@cs.unc.edu)
.\" Interchanged 'needle' and 'haystack'; added history, aeb, 980113.
-.TH MEMMEM 3 2022-10-09 "Linux man-pages 6.01"
+.TH memmem 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memmem \- locate a substring
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.PP
-.BI "void *memmem(const void *" haystack ", size_t " haystacklen ,
-.BI " const void *" needle ", size_t " needlelen );
+.BI "void *memmem(const void " haystack [. haystacklen "], size_t " haystacklen ,
+.BI " const void " needle [. needlelen "], size_t " needlelen );
.fi
.SH DESCRIPTION
The
@@ -58,7 +59,10 @@ T} Thread safety MT-Safe
.sp 1
.SH STANDARDS
This function is not specified in POSIX.1,
-but is present on a number of other systems.
+but is present on a number of other systems,
+including:
+musl libc 0.9.7;
+FreeBSD 6.0, OpenBSD 5.4, NetBSD, and Illumos.
.SH BUGS
.\" This function was broken in Linux libraries up to and including libc 5.0.9;
.\" there the
diff --git a/man3/memmove.3 b/man3/memmove.3
index ef4d210d2..ca78a307d 100644
--- a/man3/memmove.3
+++ b/man3/memmove.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:49:59 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMMOVE 3 2022-10-09 "Linux man-pages 6.01"
+.TH memmove 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memmove \- copy memory area
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "void *memmove(void *" dest ", const void *" src ", size_t " n );
+.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/mempcpy.3 b/man3/mempcpy.3
index 0815e84ba..aed3b27f7 100644
--- a/man3/mempcpy.3
+++ b/man3/mempcpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" Heavily based on glibc infopages, copyright Free Software Foundation
.\"
.\" aeb, 2003, polished a little
-.TH MEMPCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH mempcpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mempcpy, wmempcpy \- copy memory area
.SH LIBRARY
@@ -16,15 +17,15 @@ Standard C library
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.PP
-.BI "void *mempcpy(void *restrict " dest ", const void *restrict " src \
-", size_t " n );
+.BI "void *mempcpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
+.BI " size_t " n );
.PP
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmempcpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
-.BI " size_t " n );
+.BI "wchar_t *wmempcpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.SH DESCRIPTION
The
@@ -58,7 +59,7 @@ wide characters.
.IR n .
.SH VERSIONS
.BR mempcpy ()
-first appeared in glibc in version 2.1.
+first appeared in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/memset.3 b/man3/memset.3
index a80c28473..53878123b 100644
--- a/man3/memset.3
+++ b/man3/memset.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:49:23 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEMSET 3 2022-10-09 "Linux man-pages 6.01"
+.TH memset 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
memset \- fill memory with a constant byte
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "void *memset(void *" s ", int " c ", size_t " n );
+.BI "void *memset(void " s [. n "], int " c ", size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/mkdtemp.3 b/man3/mkdtemp.3
index 40ecb788f..a5fdd5772 100644
--- a/man3/mkdtemp.3
+++ b/man3/mkdtemp.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2001 John Levon <moz@compsoc.man.ac.uk>
.\" Based on mkstemp(3), Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and GNU libc documentation
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH MKDTEMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH mkdtemp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mkdtemp \- create a unique temporary directory
.SH LIBRARY
diff --git a/man3/mkfifo.3 b/man3/mkfifo.3
index 30fa6a60b..aeaa6cf77 100644
--- a/man3/mkfifo.3
+++ b/man3/mkfifo.3
@@ -1,3 +1,4 @@
+'\" t
.\" This manpage is Copyright (C) 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
.\" and Copyright (C) 2006, 2014 Michael Kerrisk
.\"
@@ -5,7 +6,7 @@
.\"
.\" changed section from 2 to 3, aeb, 950919
.\"
-.TH MKFIFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH mkfifo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mkfifo, mkfifoat \- make a FIFO special file (a named pipe)
.SH LIBRARY
@@ -163,10 +164,10 @@ is a file descriptor referring to a file other than a directory.
\fIpathname\fP refers to a read-only filesystem.
.SH VERSIONS
.BR mkfifoat ()
-was added to glibc in version 2.4.
+was added in glibc 2.4.
It is implemented using
.BR mknodat (2),
-available on Linux since kernel 2.6.16.
+available since Linux 2.6.16.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/mkstemp.3 b/man3/mkstemp.3
index 2e1f122f0..b691bb54c 100644
--- a/man3/mkstemp.3
+++ b/man3/mkstemp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2008, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -12,7 +13,7 @@
.\" Modified 990328, aeb
.\" 2008-06-19, mtk, Added mkostemp(); various other changes
.\"
-.TH MKSTEMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH mkstemp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mkstemp, mkostemp, mkstemps, mkostemps \- create a unique temporary file
.SH LIBRARY
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
+ || /* Glibc >= 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
@@ -48,7 +49,7 @@ Feature Test Macro Requirements for glibc (see
.PP
.BR mkstemps ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
diff --git a/man3/mktemp.3 b/man3/mktemp.3
index 6056d5984..d378eedbe 100644
--- a/man3/mktemp.3
+++ b/man3/mktemp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -11,7 +12,7 @@
.\" (prompted by Scott Burkett <scottb@IntNet.net>)
.\" Modified Sun Mar 28 23:44:38 1999 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH MKTEMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH mktemp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mktemp \- make a unique temporary filename
.SH LIBRARY
@@ -33,7 +34,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
diff --git a/man3/modf.3 b/man3/modf.3
index 31ae4ff98..ae205e8b2 100644
--- a/man3/modf.3
+++ b/man3/modf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH MODF 3 2022-10-09 "Linux man-pages 6.01"
+.TH modf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
modf, modff, modfl \- extract signed integral and fractional values from
floating-point number
diff --git a/man3/mpool.3 b/man3/mpool.3
index f348d5ee5..6409fd92b 100644
--- a/man3/mpool.3
+++ b/man3/mpool.3
@@ -5,7 +5,7 @@
.\"
.\" @(#)mpool.3 8.1 (Berkeley) 6/4/93
.\"
-.TH MPOOL 3 2022-10-09 "Linux man-pages 6.01"
+.TH mpool 3 2022-12-04 "Linux man-pages 6.02"
.UC 7
.SH NAME
mpool \- shared memory buffer pool
@@ -33,8 +33,8 @@ Standard C library
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
diff --git a/man3/mq_close.3 b/man3/mq_close.3
index 29408208e..b8f78c11d 100644
--- a/man3/mq_close.3
+++ b/man3/mq_close.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_CLOSE 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_close 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_close \- close a message queue descriptor
.SH LIBRARY
@@ -20,7 +21,7 @@ closes the message queue descriptor
.IR mqdes .
.PP
If the calling process has attached a notification request (see
-.RB ( mq_notify (3))
+.BR mq_notify (3))
to this message queue via
.IR mqdes ,
then this request is removed,
diff --git a/man3/mq_getattr.3 b/man3/mq_getattr.3
index 55bf10c97..3441df854 100644
--- a/man3/mq_getattr.3
+++ b/man3/mq_getattr.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_GETATTR 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_getattr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_getattr, mq_setattr \- get/set message queue attributes
.SH LIBRARY
diff --git a/man3/mq_notify.3 b/man3/mq_notify.3
index a9c2d51f3..953240874 100644
--- a/man3/mq_notify.3
+++ b/man3/mq_notify.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_NOTIFY 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_notify 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_notify \- register for notification when a message is available
.SH LIBRARY
diff --git a/man3/mq_open.3 b/man3/mq_open.3
index fcc6d449d..e7d1b33f0 100644
--- a/man3/mq_open.3
+++ b/man3/mq_open.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_OPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_open 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_open \- open a message queue
.SH LIBRARY
@@ -285,7 +286,7 @@ without the preceding slash (i.e.,
.IR name+1 )
to the system call.
.SH BUGS
-In kernels before 2.6.14,
+Before Linux 2.6.14,
the process umask was not applied to the permissions specified in
.IR mode .
.SH SEE ALSO
diff --git a/man3/mq_receive.3 b/man3/mq_receive.3
index c13cf76e2..e646a7aa0 100644
--- a/man3/mq_receive.3
+++ b/man3/mq_receive.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_RECEIVE 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_receive 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_receive, mq_timedreceive \- receive a message from a message queue
.SH LIBRARY
@@ -12,13 +13,14 @@ Real-time library
.nf
.B #include <mqueue.h>
.PP
-.BI "ssize_t mq_receive(mqd_t " mqdes ", char *" msg_ptr ,
+.BI "ssize_t mq_receive(mqd_t " mqdes ", char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int *" msg_prio );
.PP
.B #include <time.h>
.B #include <mqueue.h>
.PP
-.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", char *restrict " msg_ptr ,
+.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", \
+char *restrict " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int *restrict " msg_prio ,
.BI " const struct timespec *restrict " abs_timeout );
.fi
diff --git a/man3/mq_send.3 b/man3/mq_send.3
index 7dbf3a29a..2940a809b 100644
--- a/man3/mq_send.3
+++ b/man3/mq_send.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_SEND 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_send 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_send, mq_timedsend \- send a message to a message queue
.SH LIBRARY
@@ -12,13 +13,13 @@ Real-time library
.nf
.B #include <mqueue.h>
.PP
-.BI "int mq_send(mqd_t " mqdes ", const char *" msg_ptr ,
+.BI "int mq_send(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int " msg_prio );
.PP
.B #include <time.h>
.B #include <mqueue.h>
.PP
-.BI "int mq_timedsend(mqd_t " mqdes ", const char *" msg_ptr ,
+.BI "int mq_timedsend(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int " msg_prio ,
.BI " const struct timespec *" abs_timeout );
.fi
diff --git a/man3/mq_unlink.3 b/man3/mq_unlink.3
index 716d0b6e0..dbc696f47 100644
--- a/man3/mq_unlink.3
+++ b/man3/mq_unlink.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_UNLINK 3 2022-10-09 "Linux man-pages 6.01"
+.TH mq_unlink 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_unlink \- remove a message queue
.SH LIBRARY
diff --git a/man3/mtrace.3 b/man3/mtrace.3
index e41a8d090..d1b5b11ed 100644
--- a/man3/mtrace.3
+++ b/man3/mtrace.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2012 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MTRACE 3 2022-10-09 "Linux man-pages 6.01"
+.TH mtrace 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mtrace, muntrace \- malloc tracing
.SH LIBRARY
diff --git a/man3/nan.3 b/man3/nan.3
index bd7cbd5b3..14a064732 100644
--- a/man3/nan.3
+++ b/man3/nan.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -6,7 +7,7 @@
.\"
.\" Corrections by aeb
.\"
-.TH NAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH nan 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
nan, nanf, nanl \- return 'Not a Number'
.SH LIBRARY
@@ -66,7 +67,7 @@ On IEEE 754 systems, there are many representations of NaN, and
selects one.
On other systems it may do nothing.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/netlink.3 b/man3/netlink.3
index f95970e76..34d502804 100644
--- a/man3/netlink.3
+++ b/man3/netlink.3
@@ -5,7 +5,7 @@
.\" Based on the original comments from Alexey Kuznetsov
.\" $Id: netlink.3,v 1.1 1999/05/14 17:17:24 freitag Exp $
.\"
-.TH NETLINK 3 2022-10-09 "Linux man-pages 6.01"
+.TH netlink 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
netlink \- Netlink macros
.SH LIBRARY
diff --git a/man3/newlocale.3 b/man3/newlocale.3
index 1117a6fb7..4e45c9d1d 100644
--- a/man3/newlocale.3
+++ b/man3/newlocale.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH NEWLOCALE 3 2022-10-09 "Linux man-pages 6.01"
+.TH newlocale 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
newlocale, freelocale \- create, modify, and free a locale object
.SH LIBRARY
@@ -38,13 +38,13 @@ returning a reference to the new or modified object as the function result.
Whether the call creates a new object or modifies an existing object
is determined by the value of
.IR base :
-.IP * 3
+.IP \(bu 3
If
.I base
is
.IR "(locale_t)\ 0" ,
a new object is created.
-.IP *
+.IP \(bu
If
.I base
refers to valid existing locale object
@@ -187,7 +187,7 @@ The
.BR newlocale ()
and
.BR freelocale ()
-functions first appeared in version 2.3 of the GNU C library.
+functions first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
@@ -211,7 +211,7 @@ Having created and initialized the locale object,
the program then applies it using
.BR uselocale (3),
and then tests the effect of the locale changes by:
-.IP 1. 3
+.IP (1) 5
Displaying a floating-point number with a fractional part.
This output will be affected by the
.B LC_NUMERIC
@@ -219,7 +219,7 @@ setting.
In many European-language locales,
the fractional part of the number is separated from the integer part
using a comma, rather than a period.
-.IP 2.
+.IP (2)
Displaying the date.
The format and language of the output will be affected by the
.B LC_TIME
diff --git a/man3/nextafter.3 b/man3/nextafter.3
index f06b74036..91459b62c 100644
--- a/man3/nextafter.3
+++ b/man3/nextafter.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -6,7 +7,7 @@
.\"
.\" Based on glibc infopages
.\"
-.TH NEXTAFTER 3 2022-10-09 "Linux man-pages 6.01"
+.TH NEXTAFTER 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl \-
floating-point number manipulation
@@ -186,12 +187,12 @@ C99, POSIX.1-2001, POSIX.1-2008.
This function is defined in IEC 559 (and the appendix with
recommended functions in IEEE 754/IEEE 854).
.SH BUGS
-In glibc version 2.5 and earlier, these functions do not raise an underflow
+In glibc 2.5 and earlier, these functions do not raise an underflow
floating-point
.RB ( FE_UNDERFLOW )
exception when an underflow occurs.
.PP
-Before glibc version 2.23
+Before glibc 2.23
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6799
these functions did not set
.IR errno .
diff --git a/man3/nextup.3 b/man3/nextup.3
index 6f36a4c06..827a6e74c 100644
--- a/man3/nextup.3
+++ b/man3/nextup.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2016, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH NEXTUP 3 2022-10-09 "Linux man-pages 6.01"
+.TH nextup 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
nextup, nextupf, nextupl, nextdown, nextdownf, nextdownl \-
return next floating-point number toward positive/negative infinity
@@ -63,7 +64,7 @@ and similarly for the other types.
See DESCRIPTION.
.\" .SH ERRORS
.SH VERSIONS
-These functions first appeared in glibc in version 2.24.
+These functions were added in glibc 2.24.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/nl_langinfo.3 b/man3/nl_langinfo.3
index b7e805972..108141e4d 100644
--- a/man3/nl_langinfo.3
+++ b/man3/nl_langinfo.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2001 Markus Kuhn <mkuhn@acm.org>
.\" and Copyright (c) 2015 Sam Varshavchik <mrsam@courier-mta.com>
.\" and Copyright (c) 2015 Michael Kerrisk <mtk.manpages@gmail.com>
@@ -10,7 +11,7 @@
.\"
.\" Corrected prototype, 2002-10-18, aeb
.\"
-.TH NL_LANGINFO 3 2022-10-09 "Linux man-pages 6.01"
+.TH nl_langinfo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
nl_langinfo, nl_langinfo_l \- query language and locale information
.SH LIBRARY
diff --git a/man3/ntp_gettime.3 b/man3/ntp_gettime.3
index 4a37605cc..444cdaad8 100644
--- a/man3/ntp_gettime.3
+++ b/man3/ntp_gettime.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2016 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH NTP_GETTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH ntp_gettime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ntp_gettime, ntp_gettimex \- get time parameters (NTP daemon interface)
.SH LIBRARY
diff --git a/man3/offsetof.3 b/man3/offsetof.3
index 83cc4540a..5808805c8 100644
--- a/man3/offsetof.3
+++ b/man3/offsetof.3
@@ -25,7 +25,7 @@
.\" References:
.\" /usr/lib/gcc/i486-linux-gnu/4.1.1/include/stddef.h
.\" glibc-doc
-.TH OFFSETOF 3 2022-10-09 "Linux man-pages 6.01"
+.TH offsetof 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
offsetof \- offset of a structure member
.SH LIBRARY
diff --git a/man3/on_exit.3 b/man3/on_exit.3
index 9c4deba10..c585d7c77 100644
--- a/man3/on_exit.3
+++ b/man3/on_exit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified 1993-04-02, David Metcalfe
.\" Modified 1993-07-25, Rik Faith (faith@cs.unc.edu)
-.TH ON_EXIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH on_exit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
on_exit \- register a function to be called at normal process termination
.SH LIBRARY
diff --git a/man3/open_memstream.3 b/man3/open_memstream.3
index 286037431..65708228b 100644
--- a/man3/open_memstream.3
+++ b/man3/open_memstream.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2005, 2012, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" 2008-12-04, Petr Baudis <pasky@suse.cz>: Document open_wmemstream()
.\"
-.TH OPEN_MEMSTREAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH open_memstream 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
open_memstream, open_wmemstream \- open a dynamic memory buffer stream
.SH LIBRARY
@@ -128,7 +129,7 @@ returned by these functions
.BR fileno (3)
will return an error if called on the returned stream).
.SH BUGS
-In glibc before version 2.7, seeking past the end of a stream created by
+Before glibc 2.7, seeking past the end of a stream created by
.BR open_memstream ()
does not enlarge the buffer; instead the
.BR fseek (3)
diff --git a/man3/opendir.3 b/man3/opendir.3
index c4d547d47..9c3a8d0e1 100644
--- a/man3/opendir.3
+++ b/man3/opendir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -9,7 +10,7 @@
.\" Modified Sat Jul 24 18:46:01 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl)
.\" 2007-07-30 Ulrich Drepper <drepper@redhat.com>: document fdopendir().
-.TH OPENDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH opendir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
opendir, fdopendir \- open a directory
.SH LIBRARY
@@ -90,7 +91,7 @@ Insufficient memory to complete the operation.
\fIname\fP is not a directory.
.SH VERSIONS
.BR fdopendir ()
-is available in glibc since version 2.4.
+is available since glibc 2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/openpty.3 b/man3/openpty.3
index 43ca9f9d2..6dbf82027 100644
--- a/man3/openpty.3
+++ b/man3/openpty.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) OpenBSD Group
.\" All rights reserved.
.\"
@@ -7,7 +8,7 @@
.\"
.\" Added -lutil remark, 030718
.\"
-.TH OPENPTY 3 2022-10-09 "Linux man-pages 6.01"
+.TH openpty 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
openpty, login_tty, forkpty \- terminal utility functions
.SH LIBRARY
@@ -158,7 +159,7 @@ and
.BR forkpty ()
in glibc 2.8.
.PP
-In versions of glibc before 2.0.92,
+Before glibc 2.0.92,
.BR openpty ()
returns file descriptors for a BSD pseudoterminal pair;
since glibc 2.0.92,
diff --git a/man3/perror.3 b/man3/perror.3
index 83535b0bd..6b812d646 100644
--- a/man3/perror.3
+++ b/man3/perror.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1994 Michael Haardt (michael@moria.de), 1994-06-04
.\" Copyright (c) 1995 Michael Haardt
.\" (michael@cantor.informatik.rwth-aachen.de), 1995-03-16
@@ -9,7 +10,7 @@
.\" (msmith@falcon.mercer.peachnet.edu) and various other changes.
.\" Modified 1996-05-16 by Martin Schulze (joey@infodrom.north.de)
.\"
-.TH PERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH perror 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
perror \- print a system error message
.SH LIBRARY
@@ -37,7 +38,7 @@ Feature Test Macro Requirements for glibc (see
.IR sys_errlist ,
.IR sys_nerr :
.nf
- From glibc 2.19 to 2.31:
+ From glibc 2.19 to glibc 2.31:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE
@@ -99,7 +100,7 @@ the value of
.I errno
should be saved.
.SH VERSIONS
-Since glibc version 2.32, the declarations of
+Since glibc 2.32, the declarations of
.I sys_errlist
and
.I sys_nerr
diff --git a/man3/popen.3 b/man3/popen.3
index 7931a0463..f44baad70 100644
--- a/man3/popen.3
+++ b/man3/popen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -9,7 +10,7 @@
.\" Modified Sat May 18 20:37:44 1996 by Martin Schulze (joey@linux.de)
.\" Modified 7 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk)
.\"
-.TH POPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH popen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
popen, pclose \- pipe stream to or from a process
.SH LIBRARY
diff --git a/man3/posix_fallocate.3 b/man3/posix_fallocate.3
index 46e97088a..d68b811ec 100644
--- a/man3/posix_fallocate.3
+++ b/man3/posix_fallocate.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH POSIX_FALLOCATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH posix_fallocate 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
posix_fallocate \- allocate file space
.SH LIBRARY
@@ -146,16 +147,16 @@ system call, which is MT-safe.
If the underlying filesystem does not support
.BR fallocate (2),
then the operation is emulated with the following caveats:
-.IP * 2
+.IP \(bu 3
The emulation is inefficient.
-.IP *
+.IP \(bu
There is a race condition where concurrent writes from another thread or
process could be overwritten with null bytes.
-.IP *
+.IP \(bu
There is a race condition where concurrent file size increases by
another thread or process could result in a file whose size is smaller
than expected.
-.IP *
+.IP \(bu
If
.I fd
has been opened with the
diff --git a/man3/posix_madvise.3 b/man3/posix_madvise.3
index c83c1a70d..0d5164b9f 100644
--- a/man3/posix_madvise.3
+++ b/man3/posix_madvise.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH POSIX_MADVISE 3 2022-10-09 "Linux man-pages 6.01"
+.TH posix_madvise 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
posix_madvise \- give advice about patterns of memory usage
.SH LIBRARY
@@ -12,7 +12,7 @@ Standard C library
.nf
.B #include <sys/mman.h>
.PP
-.BI "int posix_madvise(void *" addr ", size_t " len ", int " advice );
+.BI "int posix_madvise(void " addr [. len "], size_t " len ", int " advice );
.fi
.PP
.RS -4
@@ -88,7 +88,7 @@ the caller's address space.
.SH VERSIONS
Support for
.BR posix_madvise ()
-first appeared in glibc version 2.2.
+was added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.SH NOTES
diff --git a/man3/posix_memalign.3 b/man3/posix_memalign.3
index 0da7d1c52..6e9d4ac35 100644
--- a/man3/posix_memalign.3
+++ b/man3/posix_memalign.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2001 by John Levon <moz@compsoc.man.ac.uk>
.\" Based in part on GNU libc documentation.
.\"
@@ -6,7 +7,7 @@
.\" 2001-10-11, 2003-08-22, aeb, added some details
.\" 2012-03-23, Michael Kerrisk <mtk.manpages@mail.com>
.\" Document pvalloc() and aligned_alloc()
-.TH POSIX_MEMALIGN 3 2022-10-09 "Linux man-pages 6.01"
+.TH posix_memalign 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
posix_memalign, aligned_alloc, memalign, valloc, pvalloc \-
allocate aligned memory
@@ -46,7 +47,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && !(_POSIX_C_SOURCE >= 200112L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
@@ -154,7 +155,7 @@ have been available since at least glibc 2.0.
.PP
The function
.BR aligned_alloc ()
-was added to glibc in version 2.16.
+was added in glibc 2.16.
.PP
The function
.BR posix_memalign ()
diff --git a/man3/posix_openpt.3 b/man3/posix_openpt.3
index 3778003d2..053992f9e 100644
--- a/man3/posix_openpt.3
+++ b/man3/posix_openpt.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2004 Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH POSIX_OPENPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH posix_openpt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
posix_openpt \- open a pseudoterminal device
.SH LIBRARY
@@ -56,7 +57,7 @@ See
.SH VERSIONS
Glibc support for
.BR posix_openpt ()
-has been provided since version 2.2.1.
+has been provided since glibc 2.2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/posix_spawn.3 b/man3/posix_spawn.3
index 6e47c8ead..fee477c0a 100644
--- a/man3/posix_spawn.3
+++ b/man3/posix_spawn.3
@@ -8,7 +8,7 @@
.\" POSIX 1003.1-2004 documentation
.\" (http://www.opengroup.org/onlinepubs/009695399)
.\"
-.TH POSIX_SPAWN 3 2022-10-09 "Linux man-pages 6.01"
+.TH posix_spawn 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
posix_spawn, posix_spawnp \- spawn a process
.SH LIBRARY
@@ -85,15 +85,13 @@ with the understanding that
differs only on the point just described.
.PP
The remaining arguments to these two functions are as follows:
-.IP * 3
-The
+.TP
.I pid
-argument points to a buffer that is used to return the process ID
+points to a buffer that is used to return the process ID
of the new child process.
-.IP *
-The
+.TP
.I file_actions
-argument points to a
+points to a
.I "spawn file actions object"
that specifies file-related actions to be performed in the child
between the
@@ -108,10 +106,9 @@ call using
and the
.BR posix_spawn_file_actions_* ()
functions.
-.IP *
-The
+.TP
.I attrp
-argument points to an
+points to an
.I attributes objects
that specifies various attributes of the created child process.
This object is initialized and populated before the
@@ -121,12 +118,11 @@ call using
and the
.BR posix_spawnattr_* ()
functions.
-.IP *
-The
+.TP
.I argv
-and
+.TQ
.I envp
-arguments specify the argument list and environment for the program
+specify the argument list and environment for the program
that is executed in the child process, as for
.BR execve (2).
.PP
@@ -172,7 +168,7 @@ Before glibc 2.24, the child process is created using
instead of
.BR fork (2)
when either of the following is true:
-.IP * 3
+.IP \(bu 3
the
.I spawn-flags
element of the attributes object pointed to by
@@ -180,7 +176,7 @@ element of the attributes object pointed to by
contains the GNU-specific flag
.BR POSIX_SPAWN_USEVFORK ;
or
-.IP *
+.IP \(bu
.I file_actions
is NULL and the
.I spawn-flags
@@ -218,20 +214,20 @@ These operations are controlled by the attributes object pointed to by
and the file actions object pointed to by
.IR file_actions .
In the child, processing is done in the following sequence:
-.IP 1. 3
+.IP (1) 5
Process attribute actions: signal mask, signal default handlers,
scheduling algorithm and parameters,
process group, and effective user and group IDs
are changed as specified by the attributes object pointed to by
.IR attrp .
-.IP 2.
+.IP (2)
File actions, as specified in the
.I file_actions
argument,
are performed in the order that they were specified using calls to the
.BR posix_spawn_file_actions_add* ()
functions.
-.IP 3.
+.IP (3)
File descriptors with the
.B FD_CLOEXEC
flag set are closed.
@@ -310,7 +306,7 @@ of the object pointed to by
Set the scheduling policy algorithm and parameters of the child,
as follows:
.RS
-.IP * 3
+.IP \(bu 3
The scheduling policy is set to the value specified in the
.I spawn-schedpolicy
attribute
@@ -319,7 +315,7 @@ attribute
.\" .BR posix_spawnattr_setpolicy (3))
of the object pointed to by
.IR attrp .
-.IP *
+.IP \(bu
The scheduling parameters are set to the value specified in the
.I spawn-schedparam
attribute
@@ -389,7 +385,7 @@ The
feature test macro must be defined to obtain the definition of this constant.
.\" This flag has been accepted in POSIX, see:
.\" http://austingroupbugs.net/view.php?id=1044
-.\" and has been implemented in glibc since version 2.26
+.\" and has been implemented since glibc 2.26
.\" commit daeb1fa2e1b33323e719015f5f546988bd4cc73b
.PP
If
diff --git a/man3/pow.3 b/man3/pow.3
index 9fe2a830d..4ea1c033d 100644
--- a/man3/pow.3
+++ b/man3/pow.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 1995-08-14 by Arnt Gulbrandsen <agulbra@troll.no>
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH POW 3 2022-10-09 "Linux man-pages 6.01"
+.TH pow 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pow, powf, powl \- power functions
.SH LIBRARY
@@ -353,7 +354,7 @@ A number of bugs
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866
in the glibc implementation of
.BR pow ()
-were fixed in glibc version 2.16.
+were fixed in glibc 2.16.
.PP
In glibc 2.9 and earlier,
.\"
@@ -364,14 +365,14 @@ is set to
.B EDOM
instead of the POSIX-mandated
.BR ERANGE .
-Since version 2.10,
+Since glibc 2.10,
.\" or possibly 2.9, I haven't found the source code change
.\" and I don't have a 2.9 system to test
glibc does the right thing.
.PP
-In version 2.3.2 and earlier,
-.\" Actually, 2.3.2 is the earliest test result I have; so yet
-.\" to confirm if this error occurs only in 2.3.2.
+In glibc 2.3.2 and earlier,
+.\" Actually, glibc 2.3.2 is the earliest test result I have; so yet
+.\" to confirm if this error occurs only in glibc 2.3.2.
when an overflow or underflow error occurs, glibc's
.BR pow ()
generates a bogus invalid floating-point exception
diff --git a/man3/pow10.3 b/man3/pow10.3
index 01375b7ba..404451f14 100644
--- a/man3/pow10.3
+++ b/man3/pow10.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2004 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH POW10 3 2022-10-09 "Linux man-pages 6.01"
+.TH pow10 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pow10, pow10f, pow10l \- base-10 power functions
.SH LIBRARY
@@ -29,7 +30,7 @@ in TS\ 18661-4:2015.
Those latter functions should be used in preference
to the functions described in this page.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
Since glibc 2.27,
.\" glibc commit 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e
the use of these functions in new programs is no longer supported.
diff --git a/man3/printf.3 b/man3/printf.3
index fbd0a1ae2..282411d20 100644
--- a/man3/printf.3
+++ b/man3/printf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
.\"
.\" Earlier versions of this page influenced the present text.
@@ -12,7 +13,7 @@
.\" 2000-07-26 jsm28@hermes.cam.ac.uk - three small fixes
.\" 2000-10-16 jsm28@hermes.cam.ac.uk - more fixes
.\"
-.TH PRINTF 3 2022-10-09 "Linux man-pages 6.01"
+.TH printf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
printf, fprintf, dprintf, sprintf, snprintf, vprintf, vfprintf, vdprintf,
vsprintf, vsnprintf \- formatted output conversion
@@ -30,7 +31,7 @@ Standard C library
.BI " const char *restrict " format ", ...);"
.BI "int sprintf(char *restrict " str ,
.BI " const char *restrict " format ", ...);"
-.BI "int snprintf(char *restrict " str ", size_t " size ,
+.BI "int snprintf(char " str "[restrict ." size "], size_t " size ,
.BI " const char *restrict " format ", ...);"
.PP
.BI "int vprintf(const char *restrict " format ", va_list " ap );
@@ -40,7 +41,7 @@ Standard C library
.BI " const char *restrict " format ", va_list " ap );
.BI "int vsprintf(char *restrict " str ,
.BI " const char *restrict " format ", va_list " ap );
-.BI "int vsnprintf(char *restrict " str ", size_t " size ,
+.BI "int vsnprintf(char " str "[restrict ." size "], size_t " size ,
.BI " const char *restrict " format ", va_list " ap );
.fi
.PP
@@ -1023,7 +1024,7 @@ The glibc implementation of the functions
and
.BR vsnprintf ()
conforms to the C99 standard, that is, behaves as described above,
-since glibc version 2.1.
+since glibc 2.1.
Until glibc 2.0.6, they would return \-1
when the output was truncated.
.\" .SH HISTORY
@@ -1199,8 +1200,8 @@ make_message(const char *fmt, ...)
}
.EE
.PP
-If truncation occurs in glibc versions prior to 2.0.6, this is treated as an
-error instead of being handled gracefully.
+If truncation occurs in glibc versions prior to glibc 2.0.6,
+this is treated as an error instead of being handled gracefully.
.SH SEE ALSO
.BR printf (1),
.BR asprintf (3),
diff --git a/man3/profil.3 b/man3/profil.3
index 116a984e4..5f61a7dc9 100644
--- a/man3/profil.3
+++ b/man3/profil.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Modified Fri Jun 23 01:35:19 1995 Andries Brouwer <aeb@cwi.nl>
.\" (prompted by Bas V. de Bakker <bas@phys.uva.nl>)
.\" Corrected (and moved to man3), 980612, aeb
-.TH PROFIL 3 2022-10-09 "Linux man-pages 6.01"
+.TH profil 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
profil \- execution time profile
.SH LIBRARY
diff --git a/man3/program_invocation_name.3 b/man3/program_invocation_name.3
index 4fa18c208..f3a3518db 100644
--- a/man3/program_invocation_name.3
+++ b/man3/program_invocation_name.3
@@ -21,7 +21,7 @@
.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\" %%%LICENSE_END
.\"
-.TH INVOCATION_NAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH program_invocation_name 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
program_invocation_name, program_invocation_short_name \- \
obtain name used to invoke calling program
diff --git a/man3/psignal.3 b/man3/psignal.3
index e8f1028e7..d6e46f438 100644
--- a/man3/psignal.3
+++ b/man3/psignal.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:45:17 1993 by Rik Faith (faith@cs.unc.edu)
-.TH PSIGNAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH psignal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
psignal, psiginfo \- print signal description
.SH LIBRARY
@@ -77,7 +78,7 @@ functions return no value.
.SH VERSIONS
The
.BR psiginfo ()
-function was added to glibc in version 2.10.
+function was added in glibc 2.10.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -99,14 +100,14 @@ T} Thread safety MT-Safe locale
.SH STANDARDS
POSIX.1-2008, 4.3BSD.
.SH BUGS
-In glibc versions up to 2.12,
+Up to glibc 2.12,
.BR psiginfo ()
had the following bugs:
-.IP * 3
+.IP \(bu 3
In some circumstances, a trailing newline is not printed.
.\" FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=12107
.\" Reportedly now fixed; check glibc 2.13
-.IP *
+.IP \(bu
Additional details are not displayed for real-time signals.
.\" FIXME . http://sourceware.org/bugzilla/show_bug.cgi?id=12108
.\" Reportedly now fixed; check glibc 2.13
diff --git a/man3/pthread_atfork.3 b/man3/pthread_atfork.3
index 1858718b5..dd41ba8d4 100644
--- a/man3/pthread_atfork.3
+++ b/man3/pthread_atfork.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATFORK 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_atfork 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pthread_atfork \- register fork handlers
.SH LIBRARY
@@ -25,17 +25,17 @@ The handlers are executed in the context of the thread that calls
.BR fork (2).
.PP
Three kinds of handler can be registered:
-.IP * 3
+.IP \(bu 3
.I prepare
specifies a handler that is executed in the parent process before
.BR fork (2)
processing starts.
-.IP *
+.IP \(bu
.I parent
specifies a handler that is executed in the parent process after
.BR fork (2)
processing completes.
-.IP *
+.IP \(bu
.I child
specifies a handler that is executed in the child process after
.BR fork (2)
diff --git a/man3/pthread_attr_init.3 b/man3/pthread_attr_init.3
index 20bb804ec..57134e219 100644
--- a/man3/pthread_attr_init.3
+++ b/man3/pthread_attr_init.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_INIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_init 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_init, pthread_attr_destroy \- initialize and destroy
thread attributes object
diff --git a/man3/pthread_attr_setaffinity_np.3 b/man3/pthread_attr_setaffinity_np.3
index 724c941db..1a5523e56 100644
--- a/man3/pthread_attr_setaffinity_np.3
+++ b/man3/pthread_attr_setaffinity_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETAFFINITY_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setaffinity_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setaffinity_np, pthread_attr_getaffinity_np \- set/get
CPU affinity attribute in thread attributes object
@@ -85,7 +86,7 @@ is too small).
.RB ( pthread_attr_setaffinity_np ())
Could not allocate memory.
.SH VERSIONS
-These functions are provided by glibc since version 2.3.4.
+These functions are provided since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_attr_setdetachstate.3 b/man3/pthread_attr_setdetachstate.3
index ae0531b97..6e2cc92d5 100644
--- a/man3/pthread_attr_setdetachstate.3
+++ b/man3/pthread_attr_setdetachstate.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETDETACHSTATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setdetachstate 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setdetachstate, pthread_attr_getdetachstate \-
set/get detach state attribute in thread attributes object
diff --git a/man3/pthread_attr_setguardsize.3 b/man3/pthread_attr_setguardsize.3
index 64ef0695a..4f8099fdd 100644
--- a/man3/pthread_attr_setguardsize.3
+++ b/man3/pthread_attr_setguardsize.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETGUARDSIZE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setguardsize 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setguardsize, pthread_attr_getguardsize \- set/get guard size
attribute in thread attributes object
@@ -83,7 +84,7 @@ On Linux these functions always succeed
(but portable and future-proof applications should nevertheless
handle a possible error return).
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_attr_setinheritsched.3 b/man3/pthread_attr_setinheritsched.3
index 31a283f93..6e6005846 100644
--- a/man3/pthread_attr_setinheritsched.3
+++ b/man3/pthread_attr_setinheritsched.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETINHERITSCHED 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setinheritsched 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setinheritsched, pthread_attr_getinheritsched \- set/get
inherit-scheduler attribute in thread attributes object
diff --git a/man3/pthread_attr_setschedparam.3 b/man3/pthread_attr_setschedparam.3
index f4fba3cd3..beff4b774 100644
--- a/man3/pthread_attr_setschedparam.3
+++ b/man3/pthread_attr_setschedparam.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSCHEDPARAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setschedparam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setschedparam, pthread_attr_getschedparam \- set/get
scheduling parameter attributes in thread attributes object
diff --git a/man3/pthread_attr_setschedpolicy.3 b/man3/pthread_attr_setschedpolicy.3
index d9a406d2a..0ea354674 100644
--- a/man3/pthread_attr_setschedpolicy.3
+++ b/man3/pthread_attr_setschedpolicy.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSCHEDPOLICY 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setschedpolicy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setschedpolicy, pthread_attr_getschedpolicy \- set/get
scheduling policy attribute in thread attributes object
diff --git a/man3/pthread_attr_setscope.3 b/man3/pthread_attr_setscope.3
index f3782e1e3..c071cde23 100644
--- a/man3/pthread_attr_setscope.3
+++ b/man3/pthread_attr_setscope.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSCOPE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setscope 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setscope, pthread_attr_getscope \- set/get contention scope
attribute in thread attributes object
diff --git a/man3/pthread_attr_setsigmask_np.3 b/man3/pthread_attr_setsigmask_np.3
index 66474d2d0..687abc983 100644
--- a/man3/pthread_attr_setsigmask_np.3
+++ b/man3/pthread_attr_setsigmask_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSIGMASK_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setsigmask_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setsigmask_np, pthread_attr_getsigmask_np \- set/get
signal mask attribute in thread attributes object
@@ -68,7 +69,7 @@ On error, these functions return a positive error number.
.RB ( pthread_attr_setsigmask_np ())
Could not allocate memory.
.SH VERSIONS
-These functions are provided by glibc since version 2.32.
+These functions are provided since glibc 2.32.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -107,7 +108,7 @@ that can be used to manipulate and inspect signal sets, see
In the absence of
.BR pthread_attr_setsigmask_np ()
it is possible to create a thread with a desired signal mask as follows:
-.IP \(bu 2
+.IP \(bu 3
The creating thread uses
.BR pthread_sigmask (3)
to save its current signal mask and set its mask to block all signals.
diff --git a/man3/pthread_attr_setstack.3 b/man3/pthread_attr_setstack.3
index 3c9165955..8f248a367 100644
--- a/man3/pthread_attr_setstack.3
+++ b/man3/pthread_attr_setstack.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSTACK 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setstack 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setstack, pthread_attr_getstack \- set/get stack
attributes in thread attributes object
@@ -15,7 +16,8 @@ POSIX threads library
.B #include <pthread.h>
.PP
.BI "int pthread_attr_setstack(pthread_attr_t *" attr ,
-.BI " void *" stackaddr ", size_t " stacksize );
+.BI " void " stackaddr [. stacksize ],
+.BI " size_t " stacksize );
.BI "int pthread_attr_getstack(const pthread_attr_t *restrict " attr ,
.BI " void **restrict " stackaddr ,
.BI " size_t *restrict " stacksize );
@@ -88,7 +90,7 @@ and
.I stacksize
is not both readable and writable by the caller.
.SH VERSIONS
-These functions are provided by glibc since version 2.2.
+These functions are provided since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_attr_setstackaddr.3 b/man3/pthread_attr_setstackaddr.3
index 18d35f8f5..8e40a5a82 100644
--- a/man3/pthread_attr_setstackaddr.3
+++ b/man3/pthread_attr_setstackaddr.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSTACKADDR 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setstackaddr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setstackaddr, pthread_attr_getstackaddr \-
set/get stack address attribute in thread attributes object
@@ -60,7 +61,7 @@ No errors are defined
(but applications should nevertheless
handle a possible error return).
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_attr_setstacksize.3 b/man3/pthread_attr_setstacksize.3
index 6b5383a68..6e454cd90 100644
--- a/man3/pthread_attr_setstacksize.3
+++ b/man3/pthread_attr_setstacksize.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_ATTR_SETSTACKSIZE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_attr_setstacksize 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_attr_setstacksize, pthread_attr_getstacksize \- set/get stack size
attribute in thread attributes object
@@ -60,7 +61,7 @@ if
.I stacksize
is not a multiple of the system page size.
.SH VERSIONS
-These functions are provided by glibc since version 2.1.
+These functions are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_cancel.3 b/man3/pthread_cancel.3
index 50d5c1b05..a94401b9b 100644
--- a/man3/pthread_cancel.3
+++ b/man3/pthread_cancel.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_CANCEL 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_cancel 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_cancel \- send a cancelation request to a thread
.SH LIBRARY
@@ -59,17 +60,17 @@ A list of functions that are or may be cancelation points is provided in
When a cancelation requested is acted on, the following steps occur for
.I thread
(in this order):
-.IP 1. 3
+.IP (1) 5
Cancellation clean-up handlers are popped
(in the reverse of the order in which they were pushed) and called.
(See
.BR pthread_cleanup_push (3).)
-.IP 2.
+.IP (2)
Thread-specific data destructors are called,
in an unspecified order.
(See
.BR pthread_key_create (3).)
-.IP 3.
+.IP (3)
The thread is terminated.
(See
.BR pthread_exit (3).)
diff --git a/man3/pthread_cleanup_push.3 b/man3/pthread_cleanup_push.3
index 632c0578f..3f98d1368 100644
--- a/man3/pthread_cleanup_push.3
+++ b/man3/pthread_cleanup_push.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_CLEANUP_PUSH 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_cleanup_push 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_cleanup_push, pthread_cleanup_pop \- push and pop
thread cancelation clean-up handlers
@@ -46,11 +47,11 @@ is nonzero.
.PP
A cancelation clean-up handler is popped from the stack
and executed in the following circumstances:
-.IP 1. 3
+.IP \(bu 3
When a thread is canceled,
all of the stacked clean-up handlers are popped and executed in
the reverse of the order in which they were pushed onto the stack.
-.IP 2.
+.IP \(bu
When a thread terminates by calling
.BR pthread_exit (3),
all clean-up handlers are executed as described in the preceding point.
@@ -60,7 +61,7 @@ called if the thread terminates by
performing a
.I return
from the thread start function.)
-.IP 3.
+.IP \(bu
When a thread calls
.BR pthread_cleanup_pop ()
with a nonzero
diff --git a/man3/pthread_cleanup_push_defer_np.3 b/man3/pthread_cleanup_push_defer_np.3
index cf5035d66..7d0cf8c08 100644
--- a/man3/pthread_cleanup_push_defer_np.3
+++ b/man3/pthread_cleanup_push_defer_np.3
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_CLEANUP_PUSH_DEFER_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_cleanup_push_defer_np 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np \- push and pop
thread cancelation clean-up handlers while saving cancelability type
diff --git a/man3/pthread_create.3 b/man3/pthread_create.3
index 92c86ed79..773bfa3d2 100644
--- a/man3/pthread_create.3
+++ b/man3/pthread_create.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_CREATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_create 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_create \- create a new thread
.SH LIBRARY
@@ -29,13 +30,13 @@ is passed as the sole argument of
.IR start_routine ().
.PP
The new thread terminates in one of the following ways:
-.IP * 2
+.IP \(bu 3
It calls
.BR pthread_exit (3),
specifying an exit status value that is available to another thread
in the same process that calls
.BR pthread_join (3).
-.IP *
+.IP \(bu
It returns from
.IR start_routine ().
This is equivalent to calling
@@ -43,10 +44,10 @@ This is equivalent to calling
with the value supplied in the
.I return
statement.
-.IP *
+.IP \(bu
It is canceled (see
.BR pthread_cancel (3)).
-.IP *
+.IP \(bu
Any of the threads in the process calls
.BR exit (3),
or the main thread performs a return from
diff --git a/man3/pthread_detach.3 b/man3/pthread_detach.3
index bcef4462c..f516f53d9 100644
--- a/man3/pthread_detach.3
+++ b/man3/pthread_detach.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_DETACH 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_detach 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_detach \- detach a thread
.SH LIBRARY
diff --git a/man3/pthread_equal.3 b/man3/pthread_equal.3
index 5f2736aa0..36427f003 100644
--- a/man3/pthread_equal.3
+++ b/man3/pthread_equal.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_EQUAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_equal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_equal \- compare thread IDs
.SH LIBRARY
diff --git a/man3/pthread_exit.3 b/man3/pthread_exit.3
index 8629b64b9..abda18f11 100644
--- a/man3/pthread_exit.3
+++ b/man3/pthread_exit.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_EXIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_exit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_exit \- terminate calling thread
.SH LIBRARY
@@ -13,7 +14,7 @@ POSIX threads library
.nf
.B #include <pthread.h>
.PP
-.BI "noreturn void pthread_exit(void *" retval );
+.BI "[[noreturn]] void pthread_exit(void *" retval );
.fi
.SH DESCRIPTION
The
diff --git a/man3/pthread_getattr_default_np.3 b/man3/pthread_getattr_default_np.3
index bb4f651f3..c54b25a88 100644
--- a/man3/pthread_getattr_default_np.3
+++ b/man3/pthread_getattr_default_np.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_GETATTR_DEFAULT_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_getattr_default_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_getattr_default_np, pthread_setattr_default_np, \-
get or set default thread-creation attributes
@@ -28,13 +29,13 @@ The default attributes are set using the attributes supplied in
.IR *attr ,
a previously initialized thread attributes object.
Note the following details about the supplied attributes object:
-.IP * 3
+.IP \(bu 3
The attribute settings in the object must be valid.
-.IP *
+.IP \(bu
The
.I stack address
attribute must not be set in the object.
-.IP *
+.IP \(bu
Setting the
.I stack size
attribute to zero means leave the default stack size unchanged.
@@ -58,7 +59,7 @@ is invalid, or the stack address attribute is set in
.RB ( pthread_setattr_default_np ())
Insufficient memory.
.SH VERSIONS
-These functions are available in glibc since version 2.18.
+These functions are available since glibc 2.18.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_getattr_np.3 b/man3/pthread_getattr_np.3
index c78587684..c46f95f28 100644
--- a/man3/pthread_getattr_np.3
+++ b/man3/pthread_getattr_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_GETATTR_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_getattr_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_getattr_np \- get attributes of created thread
.SH LIBRARY
@@ -30,13 +31,13 @@ the corresponding attribute values passed in the
object that was used to create the thread using
.BR pthread_create (3).
In particular, the following attributes may differ:
-.IP * 2
+.IP \(bu 3
the detach state, since a joinable thread may have detached itself
after creation;
-.IP *
+.IP \(bu
the stack size,
which the implementation may align to a suitable boundary.
-.IP *
+.IP \(bu
and the guard size,
which the implementation may round upward to a multiple of the page size,
or ignore (i.e., treat as 0),
@@ -75,7 +76,7 @@ if the
.B RLIMIT_STACK
resource limit is not supported.
.SH VERSIONS
-This function is available in glibc since version 2.2.3.
+This function is available since glibc 2.2.3.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_getcpuclockid.3 b/man3/pthread_getcpuclockid.3
index f145b5065..949606c49 100644
--- a/man3/pthread_getcpuclockid.3
+++ b/man3/pthread_getcpuclockid.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_GETCPUCLOCKID 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_getcpuclockid 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_getcpuclockid \- retrieve ID of a thread's CPU time clock
.SH LIBRARY
@@ -45,7 +46,7 @@ No thread with the ID
.I thread
could be found.
.SH VERSIONS
-This function is available in glibc since version 2.2.
+This function is available since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_join.3 b/man3/pthread_join.3
index bc2e32147..732a4bfa3 100644
--- a/man3/pthread_join.3
+++ b/man3/pthread_join.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_JOIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_join 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_join \- join with a terminated thread
.SH LIBRARY
diff --git a/man3/pthread_kill.3 b/man3/pthread_kill.3
index 0b12c1fa6..3518ad71e 100644
--- a/man3/pthread_kill.3
+++ b/man3/pthread_kill.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_KILL 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_kill 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_kill \- send a signal to a thread
.SH LIBRARY
diff --git a/man3/pthread_kill_other_threads_np.3 b/man3/pthread_kill_other_threads_np.3
index de697fc39..f2c3add3b 100644
--- a/man3/pthread_kill_other_threads_np.3
+++ b/man3/pthread_kill_other_threads_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_KILL_OTHER_THREADS_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_kill_other_threads_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_kill_other_threads_np \- terminate all other threads in process
.SH LIBRARY
diff --git a/man3/pthread_mutex_consistent.3 b/man3/pthread_mutex_consistent.3
index 5c7105cfa..c1bd43433 100644
--- a/man3/pthread_mutex_consistent.3
+++ b/man3/pthread_mutex_consistent.3
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_MUTEX_CONSISTENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_mutex_consistent 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pthread_mutex_consistent \- make a robust mutex consistent
.SH LIBRARY
@@ -46,7 +46,7 @@ it returns a positive error number to indicate the error.
The mutex is either not robust or is not in an inconsistent state.
.SH VERSIONS
.BR pthread_mutex_consistent ()
-was added to glibc in version 2.12.
+was added in glibc 2.12.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
diff --git a/man3/pthread_mutexattr_getpshared.3 b/man3/pthread_mutexattr_getpshared.3
index 406f068ea..5d56f3fa3 100644
--- a/man3/pthread_mutexattr_getpshared.3
+++ b/man3/pthread_mutexattr_getpshared.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_MUTEXATTR_GETPSHARED 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_mutexattr_getpshared 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared \- get/set
process-shared mutex attribute
diff --git a/man3/pthread_mutexattr_init.3 b/man3/pthread_mutexattr_init.3
index 26cda92d1..9965c1e73 100644
--- a/man3/pthread_mutexattr_init.3
+++ b/man3/pthread_mutexattr_init.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_MUTEXATTR_INIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_mutexattr_init 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pthread_mutexattr_init, pthread_mutexattr_destroy \- initialize and
destroy a mutex attributes object
diff --git a/man3/pthread_mutexattr_setrobust.3 b/man3/pthread_mutexattr_setrobust.3
index 09a4ed97e..ae1b8c10f 100644
--- a/man3/pthread_mutexattr_setrobust.3
+++ b/man3/pthread_mutexattr_setrobust.3
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_MUTEXATTR_SETROBUST 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_mutexattr_setrobust 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pthread_mutexattr_getrobust, pthread_mutexattr_setrobust
\- get and set the robustness attribute of a mutex attributes object
@@ -124,7 +124,7 @@ was passed to
.BR pthread_mutexattr_getrobust ()
and
.BR pthread_mutexattr_setrobust ()
-were added to glibc in version 2.12.
+were added in glibc 2.12.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
diff --git a/man3/pthread_rwlockattr_setkind_np.3 b/man3/pthread_rwlockattr_setkind_np.3
index 827da3aab..d0e396df4 100644
--- a/man3/pthread_rwlockattr_setkind_np.3
+++ b/man3/pthread_rwlockattr_setkind_np.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_RWLOCKATTR_SETKIND_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_rwlockattr_setkind_np 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np \- set/get
the read-write lock kind of the thread read-write lock attribute object
diff --git a/man3/pthread_self.3 b/man3/pthread_self.3
index f3c01efbf..f42621f80 100644
--- a/man3/pthread_self.3
+++ b/man3/pthread_self.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SELF 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_self 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_self \- obtain ID of the calling thread
.SH LIBRARY
diff --git a/man3/pthread_setaffinity_np.3 b/man3/pthread_setaffinity_np.3
index dd77ef416..c5e38d760 100644
--- a/man3/pthread_setaffinity_np.3
+++ b/man3/pthread_setaffinity_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETAFFINITY_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setaffinity_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setaffinity_np, pthread_getaffinity_np \- set/get
CPU affinity of a thread
@@ -94,7 +95,7 @@ No thread with the ID
.I thread
could be found.
.SH VERSIONS
-These functions are provided by glibc since version 2.3.4.
+These functions are provided since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_setcancelstate.3 b/man3/pthread_setcancelstate.3
index 52a16ae0f..d8be05d3f 100644
--- a/man3/pthread_setcancelstate.3
+++ b/man3/pthread_setcancelstate.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETCANCELSTATE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setcancelstate 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setcancelstate, pthread_setcanceltype \-
set cancelability state and type
diff --git a/man3/pthread_setconcurrency.3 b/man3/pthread_setconcurrency.3
index 1ebb9e068..6d43314a2 100644
--- a/man3/pthread_setconcurrency.3
+++ b/man3/pthread_setconcurrency.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2009 Michael Kerrisk, <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETCONCURRENCY 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setconcurrency 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setconcurrency, pthread_getconcurrency \- set/get
the concurrency level
@@ -60,7 +61,7 @@ error ("the value specified by
.I new_level
would cause a system resource to be exceeded").
.SH VERSIONS
-These functions are available in glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_setname_np.3 b/man3/pthread_setname_np.3
index 211de41d1..d374fd2e2 100644
--- a/man3/pthread_setname_np.3
+++ b/man3/pthread_setname_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (C) 2012 Chandan Apsangi <chandan.jc@gmail.com>
.\" and Copyright (C) 2013 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETNAME_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setname_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setname_np, pthread_getname_np \- set/get the name of a thread
.SH LIBRARY
@@ -15,7 +16,8 @@ POSIX threads library
.B #include <pthread.h>
.PP
.BI "int pthread_setname_np(pthread_t " thread ", const char *" name );
-.BI "int pthread_getname_np(pthread_t " thread ", char *" name ", size_t " size );
+.BI "int pthread_getname_np(pthread_t " thread ", char " name [. size "], \
+size_t " size );
.fi
.SH DESCRIPTION
By default, all the threads created using
@@ -79,7 +81,7 @@ If either of these functions fails to open
then the call may fail with one of the errors described in
.BR open (2).
.SH VERSIONS
-These functions first appeared in glibc in version 2.12.
+These functions were added in glibc 2.12.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_setschedparam.3 b/man3/pthread_setschedparam.3
index 6bf80c621..74386d7c7 100644
--- a/man3/pthread_setschedparam.3
+++ b/man3/pthread_setschedparam.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETSCHEDPARAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setschedparam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setschedparam, pthread_getschedparam \- set/get
scheduling policy and parameters of a thread
diff --git a/man3/pthread_setschedprio.3 b/man3/pthread_setschedprio.3
index 5caec8829..0b3e395ea 100644
--- a/man3/pthread_setschedprio.3
+++ b/man3/pthread_setschedprio.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SETSCHEDPRIO 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_setschedprio 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_setschedprio \- set scheduling priority of a thread
.SH LIBRARY
@@ -60,7 +61,7 @@ POSIX.1 also documents an
to an unsupported value") error for
.BR pthread_setschedparam (3).
.SH VERSIONS
-This function is available in glibc since version 2.3.4.
+This function is available since glibc 2.3.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_sigmask.3 b/man3/pthread_sigmask.3
index a08f1ee80..8c871f1fa 100644
--- a/man3/pthread_sigmask.3
+++ b/man3/pthread_sigmask.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SIGMASK 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_sigmask 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_sigmask \- examine and change mask of blocked signals
.SH LIBRARY
diff --git a/man3/pthread_sigqueue.3 b/man3/pthread_sigqueue.3
index 4965846d6..268478a8c 100644
--- a/man3/pthread_sigqueue.3
+++ b/man3/pthread_sigqueue.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2010 Michael Kerrisk, <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SIGQUEUE 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_sigqueue 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_sigqueue \- queue a signal and data to a thread
.SH LIBRARY
diff --git a/man3/pthread_spin_init.3 b/man3/pthread_spin_init.3
index 389bdd51f..652dfb735 100644
--- a/man3/pthread_spin_init.3
+++ b/man3/pthread_spin_init.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SPIN_INIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_spin_init 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pthread_spin_init, pthread_spin_destroy \- initialize or destroy a spin lock
.SH LIBRARY
@@ -104,7 +104,7 @@ a new spin lock.
.B ENOMEM
Insufficient memory to initialize the spin lock.
.SH VERSIONS
-These functions first appeared in glibc in version 2.2.
+These functions were added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.PP
diff --git a/man3/pthread_spin_lock.3 b/man3/pthread_spin_lock.3
index b4903fccb..17ff5434b 100644
--- a/man3/pthread_spin_lock.3
+++ b/man3/pthread_spin_lock.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_SPIN_LOCK 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_spin_lock 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock \-
lock and unlock a spin lock
@@ -83,7 +83,7 @@ fails with the following errors:
.B EBUSY
The spin lock is currently locked by another thread.
.SH VERSIONS
-These functions first appeared in glibc in version 2.2.
+These functions were added in glibc 2.2.
.SH STANDARDS
POSIX.1-2001.
.SH NOTES
diff --git a/man3/pthread_testcancel.3 b/man3/pthread_testcancel.3
index 1c7b71d8c..ea1b404a7 100644
--- a/man3/pthread_testcancel.3
+++ b/man3/pthread_testcancel.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_TESTCANCEL 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_testcancel 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_testcancel \- request delivery of any pending cancelation request
.SH LIBRARY
diff --git a/man3/pthread_tryjoin_np.3 b/man3/pthread_tryjoin_np.3
index a1e1e9508..12aa0ed7e 100644
--- a/man3/pthread_tryjoin_np.3
+++ b/man3/pthread_tryjoin_np.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_TRYJOIN_NP 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_tryjoin_np 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_tryjoin_np, pthread_timedjoin_np \- try to join with a
terminated thread
@@ -92,7 +93,7 @@ terminated.
never returns the error
.BR EINTR .
.SH VERSIONS
-These functions first appeared in glibc in version 2.3.3.
+These functions were added in glibc 2.3.3.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/pthread_yield.3 b/man3/pthread_yield.3
index 751fffc3d..d3663aefd 100644
--- a/man3/pthread_yield.3
+++ b/man3/pthread_yield.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2009 Michael Kerrisk, <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREAD_YIELD 3 2022-10-09 "Linux man-pages 6.01"
+.TH pthread_yield 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
pthread_yield \- yield the processor
.SH LIBRARY
diff --git a/man3/ptsname.3 b/man3/ptsname.3
index 2835a242d..6cd6d139d 100644
--- a/man3/ptsname.3
+++ b/man3/ptsname.3
@@ -1,10 +1,11 @@
+'\" t
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This page is in the public domain. - aeb
.\" %%%LICENSE_END
.\"
.\" 2004-12-17, mtk, added description of ptsname_r() + ERRORS
.\"
-.TH PTSNAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH ptsname 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ptsname, ptsname_r \- get the name of the slave pseudoterminal
.SH LIBRARY
@@ -14,8 +15,8 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "char *ptsname(int " fd ");"
-.BI "int ptsname_r(int " fd ", char *" buf ", size_t " buflen ");"
+.BI "char *ptsname(int " fd );
+.BI "int ptsname_r(int " fd ", char " buf [. buflen "], size_t " buflen );
.fi
.PP
.RS -4
@@ -90,7 +91,7 @@ only)
is too small.
.SH VERSIONS
.BR ptsname ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/putenv.3 b/man3/putenv.3
index 5ec864bee..543bf4de8 100644
--- a/man3/putenv.3
+++ b/man3/putenv.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -13,7 +14,7 @@
.\" Modified Mon Oct 11 11:11:11 1999 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Wed Nov 10 00:02:26 1999 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Sun May 20 22:17:20 2001 by Andries Brouwer (aeb@cwi.nl)
-.TH PUTENV 3 2022-10-09 "Linux man-pages 6.01"
+.TH putenv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
putenv \- change or add an environment variable
.SH LIBRARY
@@ -35,7 +36,7 @@ Feature Test Macro Requirements for glibc (see
.BR putenv ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
@@ -100,7 +101,7 @@ one in glibc 2.0 is not, but the glibc 2.1 version is.
.\" In no case will the old storage associated
.\" to the environment variable itself be freed.
.PP
-Since version 2.1.2, the glibc implementation conforms to SUSv2:
+Since glibc 2.1.2, the glibc implementation conforms to SUSv2:
the pointer \fIstring\fP given to
.BR putenv ()
is used.
@@ -111,7 +112,8 @@ changing it later will change the environment.
with an automatic variable
as the argument, then return from the calling function while \fIstring\fP
is still part of the environment.)
-However, glibc versions 2.0 to 2.1.1 differ: a copy of the string is used.
+However, from glibc 2.0 to glibc 2.1.1, it differs:r
+a copy of the string is used.
On the one hand this causes a memory leak, and on the other hand
it violates SUSv2.
.PP
diff --git a/man3/putgrent.3 b/man3/putgrent.3
index 08d6536a1..31980ec8b 100644
--- a/man3/putgrent.3
+++ b/man3/putgrent.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH PUTGRENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH putgrent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
putgrent \- write a group database entry to a file
.SH LIBRARY
diff --git a/man3/putpwent.3 b/man3/putpwent.3
index b224a2793..41c5b0011 100644
--- a/man3/putpwent.3
+++ b/man3/putpwent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:43:46 1993 by Rik Faith (faith@cs.unc.edu)
-.TH PUTPWENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH putpwent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
putpwent \- write a password file entry
.SH LIBRARY
diff --git a/man3/puts.3 b/man3/puts.3
index 91b124f23..45d4a4e35 100644
--- a/man3/puts.3
+++ b/man3/puts.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 18:42:59 1993 by Rik Faith (faith@cs.unc.edu)
-.TH PUTS 3 2022-10-09 "Linux man-pages 6.01"
+.TH puts 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fputc, fputs, putc, putchar, puts \- output of characters and strings
.SH LIBRARY
diff --git a/man3/putwchar.3 b/man3/putwchar.3
index 6c6ec9adc..c85a953cc 100644
--- a/man3/putwchar.3
+++ b/man3/putwchar.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -9,7 +10,7 @@
.\" http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH PUTWCHAR 3 2022-10-09 "Linux man-pages 6.01"
+.TH putwchar 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
putwchar \- write a wide character to standard output
.SH LIBRARY
diff --git a/man3/qecvt.3 b/man3/qecvt.3
index 147815832..161111369 100644
--- a/man3/qecvt.3
+++ b/man3/qecvt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" This replaces an earlier man page written by Walter Harms
.\" <walter.harms@informatik.uni-oldenburg.de>.
.\"
-.TH QECVT 3 2022-10-09 "Linux man-pages 6.01"
+.TH qecvt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
qecvt, qfcvt, qgcvt \- convert a floating-point number to a string
.SH LIBRARY
diff --git a/man3/qsort.3 b/man3/qsort.3
index 750bea6fd..82ef61ce6 100644
--- a/man3/qsort.3
+++ b/man3/qsort.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -14,7 +15,7 @@
.\" and Ben Bacarisse <software@bsb.me.uk>
.\" Document qsort_r()
.\"
-.TH QSORT 3 2022-10-09 "Linux man-pages 6.01"
+.TH QSORT 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
qsort, qsort_r \- sort an array
.SH LIBRARY
@@ -24,10 +25,14 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "void qsort(void *" base ", size_t " nmemb ", size_t " size ,
-.BI " int (*" compar ")(const void *, const void *));"
-.BI "void qsort_r(void *" base ", size_t " nmemb ", size_t " size ,
-.BI " int (*" compar ")(const void *, const void *, void *),"
+.BI "void qsort(void " base [. size " * ." nmemb "], size_t " nmemb ", \
+size_t " size ,
+.BI " int (*" compar ")(const void [." size "], \
+const void [." size ]));
+.BI "void qsort_r(void " base [. size " * ." nmemb "], size_t " nmemb ", \
+size_t " size ,
+.BI " int (*" compar ")(const void [." size "], \
+const void [." size "], void *),"
.BI " void *" arg ");"
.fi
.PP
@@ -78,7 +83,7 @@ and
functions return no value.
.SH VERSIONS
.BR qsort_r ()
-was added to glibc in version 2.8.
+was added in glibc 2.8.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/raise.3 b/man3/raise.3
index d983b4a3b..f1932e6c2 100644
--- a/man3/raise.3
+++ b/man3/raise.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (C) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -6,7 +7,7 @@
.\" Modified Sat Jul 24 18:40:56 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 1995 by Mike Battersby (mib@deakin.edu.au)
.\"
-.TH RAISE 3 2022-10-09 "Linux man-pages 6.01"
+.TH raise 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
raise \- send a signal to the caller
.SH LIBRARY
@@ -64,9 +65,9 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, C89, C99.
.SH NOTES
-Since version 2.3.3, glibc implements
+Since glibc 2.3.3,
.BR raise ()
-by calling
+is implemented by calling
.BR tgkill (2),
.\" 2.3.2 used the obsolete tkill(), if available.
if the kernel supports that system call.
diff --git a/man3/rand.3 b/man3/rand.3
index 0a6f4f426..f52a8c93c 100644
--- a/man3/rand.3
+++ b/man3/rand.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -18,7 +19,7 @@
.\" Modified 2003-11-15, aeb, added rand_r
.\" 2010-09-13, mtk, added example program
.\"
-.TH RAND 3 2022-10-09 "Linux man-pages 6.01"
+.TH rand 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rand, rand_r, srand \- pseudo-random number generator
.SH LIBRARY
diff --git a/man3/random.3 b/man3/random.3
index 7f7554662..574206117 100644
--- a/man3/random.3
+++ b/man3/random.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 18:13:39 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Aug 20 21:47:07 2000, aeb
.\"
-.TH RANDOM 3 2022-10-09 "Linux man-pages 6.01"
+.TH random 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
random, srandom, initstate, setstate \- random number generator
.SH LIBRARY
@@ -23,7 +24,7 @@ Standard C library
.B long random(void);
.BI "void srandom(unsigned int " seed );
.PP
-.BI "char *initstate(unsigned int " seed ", char *" state ", size_t " n );
+.BI "char *initstate(unsigned int " seed ", char " state [. n "], size_t " n );
.BI "char *setstate(char *" state );
.fi
.PP
@@ -39,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/random_r.3 b/man3/random_r.3
index c9394c43f..9f3f0080a 100644
--- a/man3/random_r.3
+++ b/man3/random_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH RANDOM_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH random_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
random_r, srandom_r, initstate_r, setstate_r \- reentrant
random number generator
@@ -18,7 +19,8 @@ Standard C library
.BI " int32_t *restrict " result );
.BI "int srandom_r(unsigned int " seed ", struct random_data *" buf );
.PP
-.BI "int initstate_r(unsigned int " seed ", char *restrict " statebuf ,
+.BI "int initstate_r(unsigned int " seed ", \
+char " statebuf "[restrict ." statelen ],
.BI " size_t " statelen ", struct random_data *restrict " buf );
.BI "int setstate_r(char *restrict " statebuf ,
.BI " struct random_data *restrict " buf );
@@ -34,7 +36,7 @@ Feature Test Macro Requirements for glibc (see
.BR initstate_r (),
.BR setstate_r ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/rcmd.3 b/man3/rcmd.3
index 5a3da8b13..46e0ed15f 100644
--- a/man3/rcmd.3
+++ b/man3/rcmd.3
@@ -1,3 +1,4 @@
+'\" t
.\" $NetBSD: rcmd.3,v 1.9 1996/05/28 02:07:39 mrg Exp $
.\"
.\" Copyright (c) 1983, 1991, 1993
@@ -12,7 +13,7 @@
.\"
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH RCMD 3 2022-10-09 "Linux man-pages 6.01"
+.TH rcmd 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rcmd, rresvport, iruserok, ruserok, rcmd_af,
rresvport_af, iruserok_af, ruserok_af \- routines for returning a
@@ -249,7 +250,7 @@ The functions
.BR rresvport_af (),
and
.BR ruserok_af ()
-functions are provide in glibc since version 2.2.
+functions are provided since glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -290,7 +291,7 @@ and are not present on as wide a range of systems.
.BR iruserok ()
and
.BR iruserok_af ()
-are declared in glibc headers only since version 2.12.
+are declared in glibc headers only since glibc 2.12.
.\" Bug filed 25 Nov 2007:
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399
.SH SEE ALSO
diff --git a/man3/re_comp.3 b/man3/re_comp.3
index e8334f956..f836e4f47 100644
--- a/man3/re_comp.3
+++ b/man3/re_comp.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Wed Jun 14 16:10:28 BST 1995 Wilf. (G.Wilford@@ee.surrey.ac.uk)
.\"
-.TH RE_COMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH re_comp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
re_comp, re_exec \- BSD regex functions
.SH LIBRARY
diff --git a/man3/readdir.3 b/man3/readdir.3
index 8864a3512..43ccf0ead 100644
--- a/man3/readdir.3
+++ b/man3/readdir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2008, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -13,7 +14,7 @@
.\" 2007-07-30 Ulrich Drepper <drepper@redhat.com>, mtk:
.\" Rework discussion of nonstandard structure fields.
.\"
-.TH READDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH readdir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
readdir \- read a directory
.SH LIBRARY
@@ -94,9 +95,9 @@ if further actions depend on the type of the file.
.IP
When a suitable feature test macro is defined
.RB ( _DEFAULT_SOURCE
-on glibc versions since 2.19, or
+since glibc 2.19, or
.B _BSD_SOURCE
-on glibc versions 2.19 and earlier),
+on glibc 2.19 and earlier),
glibc defines the following macro constants for the value returned in
.IR d_type :
.RS
diff --git a/man3/readdir_r.3 b/man3/readdir_r.3
index ee93646e3..e65a08292 100644
--- a/man3/readdir_r.3
+++ b/man3/readdir_r.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (C) 2008, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2016 Florian Weimer <fweimer@redhat.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH READDIR_R 3 2022-10-09 "Linux man-pages 6.01"
+.TH readdir_r 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
readdir_r \- read a directory
.SH LIBRARY
@@ -56,17 +57,17 @@ It is recommended that applications use
.BR readdir (3)
instead of
.BR readdir_r ().
-Furthermore, since version 2.24, glibc deprecates
+Furthermore, since glibc 2.24, glibc deprecates
.BR readdir_r ().
The reasons are as follows:
-.IP * 3
+.IP \(bu 3
On systems where
.B NAME_MAX
is undefined, calling
.BR readdir_r ()
may be unsafe because the interface does not allow the caller to specify
the length of the buffer used for the returned directory entry.
-.IP *
+.IP \(bu
On some systems,
.BR readdir_r ()
can't read directory entries with very long names.
@@ -80,7 +81,7 @@ On some other systems,
may return a success status, but the returned
.I d_name
field may not be null terminated or may be truncated.
-.IP *
+.IP \(bu
In the current POSIX.1 specification (POSIX.1-2008),
.BR readdir (3)
is not required to be thread-safe.
@@ -97,7 +98,7 @@ using
with external synchronization is still preferable to the use of
.BR readdir_r (),
for the reasons given in the points above.
-.IP *
+.IP \(bu
It is expected that a future version of POSIX.1
.\" FIXME .
.\" http://www.austingroupbugs.net/view.php?id=696
diff --git a/man3/realpath.3 b/man3/realpath.3
index 098949e68..5ca1a8a01 100644
--- a/man3/realpath.3
+++ b/man3/realpath.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1999 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" Rewritten old page, 990824, aeb@cwi.nl
.\" 2004-12-14, mtk, added discussion of resolved_path == NULL
.\"
-.TH REALPATH 3 2022-10-09 "Linux man-pages 6.01"
+.TH realpath 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
realpath \- return the canonicalized absolute pathname
.SH LIBRARY
@@ -29,7 +30,7 @@ Feature Test Macro Requirements for glibc (see
.nf
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
.fi
.SH DESCRIPTION
@@ -93,7 +94,7 @@ Read or search permission was denied for a component of the path prefix.
.I path
is NULL.
.\" (In libc5 this would just cause a segfault.)
-(In glibc versions before 2.3,
+(Before glibc 2.3,
this error is also returned if
.I resolved_path
is NULL.)
diff --git a/man3/recno.3 b/man3/recno.3
index f6e271943..cdd3469d4 100644
--- a/man3/recno.3
+++ b/man3/recno.3
@@ -5,7 +5,7 @@
.\"
.\" @(#)recno.3 8.5 (Berkeley) 8/18/94
.\"
-.TH RECNO 3 2022-10-09 "Linux man-pages 6.01"
+.TH recno 3 2022-12-04 "Linux man-pages 6.02"
.UC 7
.SH NAME
recno \- record number database access method
@@ -21,8 +21,8 @@ Standard C library
.fi
.SH DESCRIPTION
.IR "Note well" :
-This page documents interfaces provided in glibc up until version 2.1.
-Since version 2.2, glibc no longer provides these interfaces.
+This page documents interfaces provided up until glibc 2.1.
+Since glibc 2.2, glibc no longer provides these interfaces.
Probably, you are looking for the APIs provided by the
.I libdb
library instead.
diff --git a/man3/regex.3 b/man3/regex.3
index 3aa7b4fd0..41ad78922 100644
--- a/man3/regex.3
+++ b/man3/regex.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Modified 8 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk)
.\"
.\" show the synopsis section nicely
-.TH REGEX 3 2022-10-09 "Linux man-pages 6.01"
+.TH REGEX 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
regcomp, regexec, regerror, regfree \- POSIX regex functions
.SH LIBRARY
@@ -21,11 +22,12 @@ Standard C library
.BI " int " cflags );
.BI "int regexec(const regex_t *restrict " preg \
", const char *restrict " string ,
-.BI " size_t " nmatch ", regmatch_t " pmatch "[restrict]\
-, int " eflags );
+.BI " size_t " nmatch ", regmatch_t " pmatch "[restrict ." nmatch ],
+.BI " int " eflags );
.PP
.BI "size_t regerror(int " errcode ", const regex_t *restrict " preg ,
-.BI " char *restrict " errbuf ", size_t " errbuf_size );
+.BI " char " errbuf "[restrict ." errbuf_size "], \
+size_t " errbuf_size );
.BI "void regfree(regex_t *" preg );
.fi
.SH DESCRIPTION
diff --git a/man3/remainder.3 b/man3/remainder.3
index 691068f3a..b7f4fb884 100644
--- a/man3/remainder.3
+++ b/man3/remainder.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -14,7 +15,7 @@
.\" (walter.harms@informatik.uni-oldenburg.de)
.\" Modified 2003-11-18, 2004-10-05 aeb
.\"
-.TH REMAINDER 3 2022-10-09 "Linux man-pages 6.01"
+.TH remainder 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
drem, dremf, dreml, remainder, remainderf, remainderl \- \
floating-point remainder function
diff --git a/man3/remove.3 b/man3/remove.3
index 9c2446877..8e9dae6ac 100644
--- a/man3/remove.3
+++ b/man3/remove.3
@@ -1,3 +1,4 @@
+'\" t
.\" This file is derived from unlink.2, which has the following copyright:
.\"
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
@@ -8,7 +9,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH REMOVE 3 2022-10-09 "Linux man-pages 6.01"
+.TH remove 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
remove \- remove a file or directory
.SH LIBRARY
diff --git a/man3/remquo.3 b/man3/remquo.3
index 2e04cff13..d058e415e 100644
--- a/man3/remquo.3
+++ b/man3/remquo.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" based on glibc infopages
.\" polished, aeb
.\"
-.TH REMQUO 3 2022-10-09 "Linux man-pages 6.01"
+.TH remquo 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
remquo, remquof, remquol \- remainder and part of quotient
.SH LIBRARY
@@ -111,7 +112,7 @@ These functions do not set
.\" FIXME . Is it intentional that these functions do not set errno?
.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6802
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/resolver.3 b/man3/resolver.3
index a87c86f46..6baac54ae 100644
--- a/man3/resolver.3
+++ b/man3/resolver.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and (C) Copyright 2015 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -10,7 +11,7 @@
.\" Modified 1993-07-25 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2004-10-31 by aeb
.\"
-.TH RESOLVER 3 2022-10-09 "Linux man-pages 6.01"
+.TH RESOLVER 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
res_ninit, res_nquery, res_nsearch, res_nquerydomain, res_nmkquery, res_nsend,
res_nclose,
@@ -35,34 +36,35 @@ Resolver library
.PP
.BI "int res_nquery(res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.BI "int res_nsearch(res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.BI "int res_nquerydomain(res_state " statep ,
.BI " const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char *" answer ,
+.BI " int " class ", int " type ", unsigned char " answer [. anslen ],
.BI " int " anslen );
.PP
.BI "int res_nmkquery(res_state " statep ,
.BI " int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char *" data ", int " datalen ,
+.BI " int " type ", const unsigned char " data [. datalen "], \
+int " datalen ,
.BI " const unsigned char *" newrr ,
-.BI " unsigned char *" buf ", int " buflen );
+.BI " unsigned char " buf [. buflen "], int " buflen );
.PP
.BI "int res_nsend(res_state " statep ,
-.BI " const unsigned char *" msg ", int " msglen ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " const unsigned char " msg [. msglen "], int " msglen ,
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
-.BI "int dn_comp(const char *" exp_dn ", unsigned char *" comp_dn ,
+.BI "int dn_comp(const char *" exp_dn ", unsigned char " comp_dn [. length ],
.BI " int " length ", unsigned char **" dnptrs ,
.BI " unsigned char **" lastdnptr );
.PP
.BI "int dn_expand(const unsigned char *" msg ,
.BI " const unsigned char *" eomorig ,
-.BI " const unsigned char *" comp_dn ", char *" exp_dn ,
+.BI " const unsigned char *" comp_dn ", char " exp_dn [. length ],
.BI " int " length );
.PP
.B [[deprecated]] extern struct __res_state _res;
@@ -71,26 +73,27 @@ Resolver library
.PP
.B [[deprecated]]
.BI "int res_query(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.B [[deprecated]]
.BI "int res_search(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.B [[deprecated]]
.BI "int res_querydomain(const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char *" answer ,
+.BI " int " class ", int " type ", unsigned char " answer [. anslen ],
.BI " int " anslen );
.PP
.B [[deprecated]]
.BI "int res_mkquery(int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char *" data ", int " datalen ,
+.BI " int " type ", const unsigned char " data [. datalen "], \
+int " datalen ,
.BI " const unsigned char *" newrr ,
-.BI " unsigned char *" buf ", int " buflen );
+.BI " unsigned char " buf [. buflen "], int " buflen );
.PP
.B [[deprecated]]
-.BI "int res_send(const unsigned char *" msg ", int " msglen ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI "int res_send(const unsigned char " msg [. msglen "], int " msglen ,
+.BI " unsigned char " answer [. anslen "], int " anslen );
.fi
.SH DESCRIPTION
.B Note:
@@ -270,7 +273,7 @@ Accept authoritative answers only.
.BR res_send ()
continues until
it finds an authoritative answer or returns an error.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.B RES_USEVC
@@ -278,7 +281,7 @@ Use TCP connections for queries rather than UDP datagrams.
.TP
.BR RES_PRIMARY " (unimplemented; deprecated in glibc 2.25)"
Query primary domain name server only.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.B RES_IGNTC
@@ -354,20 +357,20 @@ time.
Disable the modern BIND checking of incoming hostnames and mail names
for invalid characters such as underscore (_), non-ASCII,
or control characters.
-This option was present in glibc until version 2.24;
+This option was present until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.BR RES_KEEPTSIG " (unimplemented; deprecated in glibc 2.25)"
Do not strip TSIG records.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
.BR RES_BLAST " (unimplemented; deprecated in glibc 2.25)"
Send each query simultaneously and recursively to all servers.
-This option was present but unimplemented in glibc until version 2.24;
+This option was present but unimplemented until glibc 2.24;
since glibc 2.25, it is deprecated, and its usage produces a warning.
.TP
-.BR RES_USEBSTRING " (glibc 2.3.4 to 2.24)"
+.BR RES_USEBSTRING " (glibc 2.3.4 to glibc 2.24)"
Make reverse IPv6 lookups using the bit-label format described in RFC 2673;
if this option is not set (which is the default), then nibble format is used.
This option was removed in glibc 2.25,
@@ -380,7 +383,7 @@ Use
zone in IPv6 reverse lookup instead of
.IR ip6.int ,
which is deprecated since glibc 2.3.4.
-This option is present in glibc up to and including version 2.24,
+This option is present up to and including glibc 2.24,
where it is enabled by default.
In glibc 2.25, this option was removed.
.TP
@@ -388,8 +391,8 @@ In glibc 2.25, this option was removed.
Enables support for the DNS extensions (EDNS0) described in RFC 2671.
.TP
.BR RES_SNGLKUP " (since glibc 2.10)"
-By default, glibc performs IPv4 and IPv6 lookups in parallel since
-version 2.9.
+By default, glibc performs IPv4 and IPv6 lookups in parallel
+since glibc 2.9.
Some appliance DNS servers cannot handle these queries properly
and make the requests time out.
This option disables the behavior and makes glibc
diff --git a/man3/rewinddir.3 b/man3/rewinddir.3
index 47f4538d7..ec9793921 100644
--- a/man3/rewinddir.3
+++ b/man3/rewinddir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:29:11 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl)
-.TH REWINDDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH rewinddir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rewinddir \- reset directory stream
.SH LIBRARY
diff --git a/man3/rexec.3 b/man3/rexec.3
index ceeb64759..7457efda5 100644
--- a/man3/rexec.3
+++ b/man3/rexec.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -10,7 +11,7 @@
.\"
.\" 2013-06-21, mtk, Converted from mdoc to man macros
.\"
-.TH REXEC 3 2022-10-09 "Linux man-pages 6.01"
+.TH rexec 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rexec, rexec_af \- return stream to a remote command
.SH LIBRARY
@@ -125,7 +126,7 @@ or
.SH VERSIONS
The
.BR rexec_af ()
-function was added to glibc in version 2.2.
+function was added in glibc 2.2.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/rint.3 b/man3/rint.3
index 451bf6068..11a71b740 100644
--- a/man3/rint.3
+++ b/man3/rint.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH RINT 3 2022-10-09 "Linux man-pages 6.01"
+.TH rint 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl \- round
to nearest integer
diff --git a/man3/round.3 b/man3/round.3
index 1b4ae867d..5efdf0e1c 100644
--- a/man3/round.3
+++ b/man3/round.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2001 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ROUND 3 2022-10-09 "Linux man-pages 6.01"
+.TH round 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
round, roundf, roundl \- round to nearest integer, away from zero
.SH LIBRARY
@@ -57,7 +58,7 @@ itself is returned.
No errors occur.
POSIX.1-2001 documents a range error for overflows, but see NOTES.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/rpc.3 b/man3/rpc.3
index b684ca301..b9498f860 100644
--- a/man3/rpc.3
+++ b/man3/rpc.3
@@ -1,3 +1,4 @@
+'\" t
.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
.\"
.\" %%%LICENSE_START(BSD_ONELINE_CDROM)
@@ -8,7 +9,7 @@
.\"
.\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
.\"
-.TH RPC 3 2022-10-09 "Linux man-pages 6.01"
+.TH rpc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rpc \- library routines for remote procedure calls
.SH LIBRARY
@@ -74,7 +75,7 @@ This is the default authentication used by RPC.
.PP
.nf
.BI "AUTH *authunix_create(char *" host ", uid_t " uid ", gid_t " gid ,
-.BI " int " len ", gid_t *" aup_gids );
+.BI " int " len ", gid_t " aup_gids [. len ]);
.fi
.IP
Create and return an RPC authentication handle that contains
diff --git a/man3/rpmatch.3 b/man3/rpmatch.3
index ad8445d19..79dfc865c 100644
--- a/man3/rpmatch.3
+++ b/man3/rpmatch.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2006 Justin Pryzby <pryzbyj@justinpryzby.com>
.\"
.\" %%%LICENSE_START(PERMISSIVE_MISC)
@@ -26,7 +27,7 @@
.\"
.\" 2006-05-19, mtk, various edits and example program
.\"
-.TH RPMATCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH rpmatch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rpmatch \- determine if the answer to a question is affirmative or negative
.SH LIBRARY
diff --git a/man3/rtime.3 b/man3/rtime.3
index a92ebe4aa..f0ff763ce 100644
--- a/man3/rtime.3
+++ b/man3/rtime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2003 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -7,7 +8,7 @@
.\"
.\" Slightly polished, aeb, 2003-04-06
.\"
-.TH RTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH rtime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rtime \- get time from a remote machine
.SH LIBRARY
diff --git a/man3/rtnetlink.3 b/man3/rtnetlink.3
index 6bf36bbb5..69b708bf7 100644
--- a/man3/rtnetlink.3
+++ b/man3/rtnetlink.3
@@ -9,7 +9,7 @@
.\"
.\" $Id: rtnetlink.3,v 1.2 1999/05/18 10:35:10 freitag Exp $
.\"
-.TH RTNETLINK 3 2022-10-09 "Linux man-pages 6.01"
+.TH rtnetlink 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
rtnetlink \- macros to manipulate rtnetlink messages
.SH LIBRARY
diff --git a/man3/scalb.3 b/man3/scalb.3
index 9d8b94151..e48553172 100644
--- a/man3/scalb.3
+++ b/man3/scalb.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SCALB 3 2022-10-09 "Linux man-pages 6.01"
+.TH scalb 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
scalb, scalbf, scalbl \- multiply floating-point number
by integral power of radix (OBSOLETE)
diff --git a/man3/scalbln.3 b/man3/scalbln.3
index 571664ec1..7a444bfc8 100644
--- a/man3/scalbln.3
+++ b/man3/scalbln.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2004 Andries Brouwer <aeb@cwi.nl>.
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SCALBLN 3 2022-10-09 "Linux man-pages 6.01"
+.TH scalbln 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl \-
multiply floating-point number by integral power of radix
@@ -123,7 +124,7 @@ An underflow floating-point exception
.RB ( FE_UNDERFLOW )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/scandir.3 b/man3/scandir.3
index 80d2d5969..b3a9e54f3 100644
--- a/man3/scandir.3
+++ b/man3/scandir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -20,7 +21,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH SCANDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH SCANDIR 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
scandir, scandirat, alphasort, versionsort \- scan
a directory for matching entries
@@ -181,10 +182,10 @@ is a relative pathname and
is a file descriptor referring to a file other than a directory.
.SH VERSIONS
.BR versionsort ()
-was added to glibc in version 2.1.
+was added in glibc 2.1.
.PP
.BR scandirat ()
-was added to glibc in version 2.15.
+was added in glibc 2.15.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/scanf.3 b/man3/scanf.3
index a91aaf890..45aba9f0e 100644
--- a/man3/scanf.3
+++ b/man3/scanf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -21,7 +22,7 @@
.\" Add ERRORS section.
.\" Document the 'a' and 'm' modifiers for dynamic string allocation.
.\"
-.TH SCANF 3 2022-10-09 "Linux man-pages 6.01"
+.TH scanf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- input format conversion
.SH LIBRARY
@@ -386,6 +387,7 @@ No conversion is done (but initial white space characters are discarded),
and assignment does not occur.
.TP
.B d
+.IR Deprecated .
Matches an optionally signed decimal integer;
the next pointer must be a pointer to
.IR int .
@@ -400,6 +402,7 @@ the next pointer must be a pointer to
.\" is silently ignored, causing old programs to fail mysteriously.)
.TP
.B i
+.IR Deprecated .
Matches an optionally signed integer; the next pointer must be a pointer to
.IR int .
The integer is read in base 16 if it begins with
@@ -412,15 +415,18 @@ and in base 10 otherwise.
Only characters that correspond to the base are used.
.TP
.B o
+.IR Deprecated .
Matches an unsigned octal integer; the next pointer must be a pointer to
.IR "unsigned int" .
.TP
.B u
+.IR Deprecated .
Matches an unsigned decimal integer; the next pointer must be a
pointer to
.IR "unsigned int" .
.TP
.B x
+.IR Deprecated .
Matches an unsigned hexadecimal integer
(that may optionally begin with a prefix of
.I 0x
@@ -431,27 +437,33 @@ be a pointer to
.IR "unsigned int" .
.TP
.B X
+.IR Deprecated .
Equivalent to
.BR x .
.TP
.B f
+.IR Deprecated .
Matches an optionally signed floating-point number; the next pointer must
be a pointer to
.IR float .
.TP
.B e
+.IR Deprecated .
Equivalent to
.BR f .
.TP
.B g
+.IR Deprecated .
Equivalent to
.BR f .
.TP
.B E
+.IR Deprecated .
Equivalent to
.BR f .
.TP
.B a
+.IR Deprecated .
(C99) Equivalent to
.BR f .
.TP
@@ -576,10 +588,6 @@ is NULL.
.TP
.B ENOMEM
Out of memory.
-.TP
-.B ERANGE
-The result of an integer conversion would exceed the size
-that can be stored in the corresponding integer type.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -609,9 +617,6 @@ The functions
and
.BR sscanf ()
conform to C89 and C99 and POSIX.1-2001.
-These standards do not specify the
-.B ERANGE
-error.
.PP
The
.B q
@@ -678,7 +683,7 @@ is interpreted as a specifier for floating-point numbers (see above).
.PP
Support for the
.B m
-modifier was added to glibc starting with version 2.7,
+modifier was added to glibc 2.7,
and new programs should use that modifier instead of
.BR a .
.PP
@@ -687,12 +692,12 @@ As well as being standardized by POSIX, the
modifier has the following further advantages over
the use of
.BR a :
-.IP * 2
+.IP \(bu 3
It may also be applied to
.B %c
conversion specifiers (e.g.,
.BR %3mc ).
-.IP *
+.IP \(bu
It avoids ambiguity with respect to the
.B %a
floating-point conversion specifier (and is unaffected by
diff --git a/man3/sched_getcpu.3 b/man3/sched_getcpu.3
index 801c377c4..cf9e1f456 100644
--- a/man3/sched_getcpu.3
+++ b/man3/sched_getcpu.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SCHED_GETCPU 3 2022-10-09 "Linux man-pages 6.01"
+.TH sched_getcpu 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sched_getcpu \- determine CPU on which the calling thread is running
.SH LIBRARY
diff --git a/man3/seekdir.3 b/man3/seekdir.3
index 006abacda..a5bbc28d8 100644
--- a/man3/seekdir.3
+++ b/man3/seekdir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:25:21 1993 by Rik Faith (faith@cs.unc.edu)
.\"
-.TH SEEKDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH seekdir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
seekdir \- set the position of the next readdir() call in the directory
stream.
@@ -30,7 +31,7 @@ Feature Test Macro Requirements for glibc (see
.BR seekdir ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
@@ -68,7 +69,7 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc up to version 2.1.1, the type of the
+Up to glibc 2.1.1, the type of the
.I loc
argument was
.IR off_t .
diff --git a/man3/sem_close.3 b/man3/sem_close.3
index 8644d00de..220ab18a8 100644
--- a/man3/sem_close.3
+++ b/man3/sem_close.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_CLOSE 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_close 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_close \- close a named semaphore
.SH LIBRARY
diff --git a/man3/sem_destroy.3 b/man3/sem_destroy.3
index 196065b07..c67f080a7 100644
--- a/man3/sem_destroy.3
+++ b/man3/sem_destroy.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_DESTROY 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_destroy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_destroy \- destroy an unnamed semaphore
.SH LIBRARY
diff --git a/man3/sem_getvalue.3 b/man3/sem_getvalue.3
index 965e2b985..81241b6ad 100644
--- a/man3/sem_getvalue.3
+++ b/man3/sem_getvalue.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_GETVALUE 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_getvalue 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_getvalue \- get the value of a semaphore
.SH LIBRARY
diff --git a/man3/sem_init.3 b/man3/sem_init.3
index da3ae388d..95a031541 100644
--- a/man3/sem_init.3
+++ b/man3/sem_init.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_INIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_init 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_init \- initialize an unnamed semaphore
.SH LIBRARY
diff --git a/man3/sem_open.3 b/man3/sem_open.3
index 6a9a8c1c0..6532d124e 100644
--- a/man3/sem_open.3
+++ b/man3/sem_open.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_OPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_open 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_open \- initialize and open a named semaphore
.SH LIBRARY
diff --git a/man3/sem_post.3 b/man3/sem_post.3
index 305d17fe1..50be95c44 100644
--- a/man3/sem_post.3
+++ b/man3/sem_post.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_POST 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_post 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_post \- unlock a semaphore
.SH LIBRARY
diff --git a/man3/sem_unlink.3 b/man3/sem_unlink.3
index b376afec3..7ee62517d 100644
--- a/man3/sem_unlink.3
+++ b/man3/sem_unlink.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_UNLINK 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_unlink 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_unlink \- remove a named semaphore
.SH LIBRARY
diff --git a/man3/sem_wait.3 b/man3/sem_wait.3
index 0dc75d261..f4fbb68f2 100644
--- a/man3/sem_wait.3
+++ b/man3/sem_wait.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_WAIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH sem_wait 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sem_wait, sem_timedwait, sem_trywait \- lock a semaphore
.SH LIBRARY
diff --git a/man3/setaliasent.3 b/man3/setaliasent.3
index 5e729e845..3b8cc6067 100644
--- a/man3/setaliasent.3
+++ b/man3/setaliasent.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" Polished a bit, added a little, aeb
.\"
-.TH SETALIASENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH setaliasent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setaliasent, endaliasent, getaliasent, getaliasent_r,
getaliasbyname, getaliasbyname_r \- read an alias entry
@@ -20,13 +21,15 @@ Standard C library
.PP
.B "struct aliasent *getaliasent(void);"
.BI "int getaliasent_r(struct aliasent *restrict " result ,
-.BI " char *restrict " buffer ", size_t " buflen ,
+.BI " char " buffer "[restrict ." buflen "], \
+size_t " buflen ,
.BI " struct aliasent **restrict " res );
.PP
.BI "struct aliasent *getaliasbyname(const char *" name );
.BI "int getaliasbyname_r(const char *restrict " name ,
.BI " struct aliasent *restrict " result ,
-.BI " char *restrict " buffer ", size_t " buflen ,
+.BI " char " buffer "[restrict ." buflen "], \
+size_t " buflen ,
.BI " struct aliasent **restrict " res );
.fi
.SH DESCRIPTION
diff --git a/man3/setbuf.3 b/man3/setbuf.3
index d72a57df7..2d7fa1754 100644
--- a/man3/setbuf.3
+++ b/man3/setbuf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1980, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
@@ -17,7 +18,7 @@
.\" Correction, 2000-03-03, Andreas Jaeger <aj@suse.de>
.\" Added return value for setvbuf, aeb,
.\"
-.TH SETBUF 3 2022-10-09 "Linux man-pages 6.01"
+.TH setbuf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setbuf, setbuffer, setlinebuf, setvbuf \- stream buffering operations
.SH LIBRARY
@@ -27,11 +28,11 @@ Standard C library
.nf
.B #include <stdio.h>
.PP
-.BI "int setvbuf(FILE *restrict " stream ", char *restrict " buf ,
+.BI "int setvbuf(FILE *restrict " stream ", char " buf "[restrict ." size ],
.BI " int " mode ", size_t " size );
.PP
.BI "void setbuf(FILE *restrict " stream ", char *restrict " buf );
-.BI "void setbuffer(FILE *restrict " stream ", char *restrict " buf ,
+.BI "void setbuffer(FILE *restrict " stream ", char " buf "[restrict ." size ],
.BI " size_t " size );
.BI "void setlinebuf(FILE *" stream );
.fi
diff --git a/man3/setenv.3 b/man3/setenv.3
index 305b4cf5e..99c306da7 100644
--- a/man3/setenv.3
+++ b/man3/setenv.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2004, 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -14,7 +15,7 @@
.\" Noted nonstandard behavior of setenv() if name contains '='
.\" 2005-08-12, mtk, glibc 2.3.4 fixed the "name contains '='" bug
.\"
-.TH SETENV 3 2022-10-09 "Linux man-pages 6.01"
+.TH setenv 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setenv \- change or add an environment variable
.SH LIBRARY
@@ -141,7 +142,7 @@ contains an \(aq=\(aq character, then
.BR setenv ()
should fail with the error
.BR EINVAL ;
-however, versions of glibc before 2.3.4 allowed an \(aq=\(aq sign in
+however, versions of glibc before glibc 2.3.4 allowed an \(aq=\(aq sign in
.IR name .
.SH SEE ALSO
.BR clearenv (3),
diff --git a/man3/setjmp.3 b/man3/setjmp.3
index 7f985d521..cb73c31a2 100644
--- a/man3/setjmp.3
+++ b/man3/setjmp.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH SETJMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH setjmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setjmp, sigsetjmp, longjmp, siglongjmp \- performing a nonlocal goto
.SH LIBRARY
@@ -15,8 +16,8 @@ Standard C library
.BI "int setjmp(jmp_buf " env );
.BI "int sigsetjmp(sigjmp_buf " env ", int " savesigs );
.PP
-.BI "noreturn void longjmp(jmp_buf " env ", int " val );
-.BI "noreturn void siglongjmp(sigjmp_buf " env ", int " val );
+.BI "[[noreturn]] void longjmp(jmp_buf " env ", int " val );
+.BI "[[noreturn]] void siglongjmp(sigjmp_buf " env ", int " val );
.fi
.PP
.RS -4
@@ -160,7 +161,7 @@ is a function
that will not.
The behavior under Linux depends on the glibc version
and the setting of feature test macros.
-On Linux with glibc versions before 2.19,
+Before glibc 2.19,
.BR setjmp ()
follows the System V behavior by default,
but the BSD behavior is provided if the
@@ -301,12 +302,12 @@ that occur upon a return from the initial call to
the behavior is undefined if the program subsequently makes a call to
a non-async-signal-safe function.
The only way of avoiding undefined behavior is to ensure one of the following:
-.IP * 3
+.IP \(bu 3
After long jumping from the signal handler,
the program does not call any non-async-signal-safe functions
and does not return from the initial call to
.IR main ().
-.IP *
+.IP \(bu
Any signal whose handler performs a long jump must be blocked during
.I every
call to a non-async-signal-safe function and
diff --git a/man3/setlocale.3 b/man3/setlocale.3
index 8c795f029..825d2e0d5 100644
--- a/man3/setlocale.3
+++ b/man3/setlocale.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright 1999 by Bruno Haible (haible@clisp.cons.org)
.\"
@@ -9,7 +10,7 @@
.\" Modified Tue Aug 24 17:11:01 1999 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Tue Feb 6 03:31:55 2001 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH SETLOCALE 3 2022-10-09 "Linux man-pages 6.01"
+.TH setlocale 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setlocale \- set the current locale
.SH LIBRARY
@@ -152,7 +153,7 @@ setlocale(LC_ALL, "");
.in
.PP
after program initialization, and then:
-.IP \(bu 2
+.IP \(bu 3
using the values returned from a
.BR localeconv (3)
call for locale-dependent information;
diff --git a/man3/setlogmask.3 b/man3/setlogmask.3
index b15ec759f..dae2314f1 100644
--- a/man3/setlogmask.3
+++ b/man3/setlogmask.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SETLOGMASK 3 2022-10-09 "Linux man-pages 6.01"
+.TH setlogmask 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setlogmask \- set log priority mask
.SH LIBRARY
@@ -54,7 +55,7 @@ This function returns the previous log priority mask.
.SH ERRORS
None.
.\" .SH NOTES
-.\" The glibc logmask handling was broken in versions before glibc 2.1.1.
+.\" The glibc logmask handling was broken before glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/setnetgrent.3 b/man3/setnetgrent.3
index 69f927dfd..4cb96d637 100644
--- a/man3/setnetgrent.3
+++ b/man3/setnetgrent.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" based on glibc infopages
.\" polished - aeb
.\"
-.TH SETNETGRENT 3 2022-10-09 "Linux man-pages 6.01"
+.TH setnetgrent 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr \-
handle network group entries
@@ -23,7 +24,7 @@ Standard C library
.BI " char **restrict " user ", char **restrict " domain );
.BI "int getnetgrent_r(char **restrict " host ,
.BI " char **restrict " user ", char **restrict " domain ,
-.BI " char *restrict " buf ", size_t " buflen );
+.BI " char " buf "[restrict ." buflen "], size_t " buflen );
.PP
.BI "int innetgr(const char *" netgroup ", const char *" host ,
.BI " const char *" user ", const char *" domain );
diff --git a/man3/shm_open.3 b/man3/shm_open.3
index 5a031c9c2..c6374add0 100644
--- a/man3/shm_open.3
+++ b/man3/shm_open.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2002, 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SHM_OPEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH shm_open 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
shm_open, shm_unlink \- create/open or unlink POSIX shared memory objects
.SH LIBRARY
@@ -368,8 +369,8 @@ main(int argc, char *argv[])
/* Map the object into the caller\(aqs address space. */
- *shmp = mmap(NULL, sizeof(*shmp), PROT_READ | PROT_WRITE,
- MAP_SHARED, fd, 0);
+ shmp = mmap(NULL, sizeof(*shmp), PROT_READ | PROT_WRITE,
+ MAP_SHARED, fd, 0);
if (shmp == MAP_FAILED)
errExit("mmap");
diff --git a/man3/siginterrupt.3 b/man3/siginterrupt.3
index ff709ed93..51ce35f03 100644
--- a/man3/siginterrupt.3
+++ b/man3/siginterrupt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:40:51 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Apr 14 16:20:34 1996 by Andries Brouwer (aeb@cwi.nl)
-.TH SIGINTERRUPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH siginterrupt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
siginterrupt \- allow signals to interrupt system calls
.SH LIBRARY
diff --git a/man3/signbit.3 b/man3/signbit.3
index d758219e4..431101a51 100644
--- a/man3/signbit.3
+++ b/man3/signbit.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -6,7 +7,7 @@
.\"
.\" Based on glibc infopages, copyright Free Software Foundation
.\"
-.TH SIGNBIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH signbit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
signbit \- test sign of a real floating-point number
.SH LIBRARY
diff --git a/man3/significand.3 b/man3/significand.3
index 8100e16bc..70eef979d 100644
--- a/man3/significand.3
+++ b/man3/significand.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" heavily based on glibc infopages, copyright Free Software Foundation
.\"
-.TH SIGNIFICAND 3 2022-10-09 "Linux man-pages 6.01"
+.TH significand 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
significand, significandf, significandl \-
get mantissa of floating-point number
diff --git a/man3/sigpause.3 b/man3/sigpause.3
index 235eafcd9..8bc111bd4 100644
--- a/man3/sigpause.3
+++ b/man3/sigpause.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2004 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGPAUSE 3 2022-10-09 "Linux man-pages 6.01"
+.TH sigpause 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigpause \- atomically release blocked signals and wait for interrupt
.SH LIBRARY
@@ -101,11 +102,11 @@ or
is defined.
Otherwise, the System V version is used,
and feature test macros must be defined as follows to obtain the declaration:
-.IP * 3
+.IP \(bu 3
Since glibc 2.26:
_XOPEN_SOURCE >= 500
.\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
-.IP *
+.IP \(bu
Glibc 2.25 and earlier: _XOPEN_SOURCE
.PP
Since glibc 2.19, only the System V version is exposed by
diff --git a/man3/sigqueue.3 b/man3/sigqueue.3
index 954295c09..edf639f8f 100644
--- a/man3/sigqueue.3
+++ b/man3/sigqueue.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2002 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" added note on self-signaling, aeb, 2002-06-07
.\" added note on CAP_KILL, mtk, 2004-06-16
.\"
-.TH SIGQUEUE 3 2022-10-09 "Linux man-pages 6.01"
+.TH sigqueue 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigqueue \- queue a signal and data to a process
.SH LIBRARY
diff --git a/man3/sigset.3 b/man3/sigset.3
index 0d515f0a1..5fd4b4938 100644
--- a/man3/sigset.3
+++ b/man3/sigset.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2005 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGSET 3 2022-10-09 "Linux man-pages 6.01"
+.TH sigset 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigset, sighold, sigrelse, sigignore \- System V signal API
.SH LIBRARY
@@ -187,7 +188,7 @@ and
.BR sigsuspend (2)
instead.
.SH NOTES
-These functions appeared in glibc version 2.1.
+These functions appeared in glibc 2.1.
.PP
The
.I sighandler_t
@@ -229,7 +230,7 @@ See
.BR sigpause (3)
for details.
.SH BUGS
-In versions of glibc before 2.2,
+Before glibc 2.2,
.BR sigset ()
did not unblock
.I sig
@@ -238,7 +239,7 @@ if
was specified as a value other than
.BR SIG_HOLD .
.PP
-In versions of glibc before 2.5,
+Before glibc 2.5,
.BR sigset ()
does not correctly return the previous disposition of the signal
in two cases.
diff --git a/man3/sigsetops.3 b/man3/sigsetops.3
index 42d4f11f7..b0f924c37 100644
--- a/man3/sigsetops.3
+++ b/man3/sigsetops.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1994 Mike Battersby
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 2007-10-26 mdw added wording that a sigset_t must be initialized
.\" prior to use
.\"
-.TH SIGSETOPS 3 2022-10-09 "Linux man-pages 6.01"
+.TH SIGSETOPS 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigemptyset, sigfillset, sigaddset, sigdelset, sigismember \- POSIX
signal set operations
diff --git a/man3/sigvec.3 b/man3/sigvec.3
index 1bb2e361c..56b99bdd6 100644
--- a/man3/sigvec.3
+++ b/man3/sigvec.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2005 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGVEC 3 2022-10-09 "Linux man-pages 6.01"
+.TH sigvec 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigvec, sigblock, sigsetmask, siggetmask, sigmask \- BSD signal API
.SH LIBRARY
@@ -208,7 +209,7 @@ See the ERRORS under
and
.BR sigprocmask (2).
.SH VERSIONS
-Starting with version 2.21, the GNU C library no longer exports the
+Starting with glibc 2.21, the GNU C library no longer exports the
.BR sigvec ()
function as part of the ABI.
(To ensure backward compatibility,
diff --git a/man3/sigwait.3 b/man3/sigwait.3
index d95e06c69..8e9c71fc2 100644
--- a/man3/sigwait.3
+++ b/man3/sigwait.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGWAIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH sigwait 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sigwait \- wait for a signal
.SH LIBRARY
@@ -45,12 +46,12 @@ The operation of
is the same as
.BR sigwaitinfo (2),
except that:
-.IP * 2
+.IP \(bu 3
.BR sigwait ()
returns only the signal number, rather than a
.I siginfo_t
structure describing the signal.
-.IP *
+.IP \(bu
The return values of the two functions are different.
.SH RETURN VALUE
On success,
diff --git a/man3/sin.3 b/man3/sin.3
index 4269ac139..08f1002be 100644
--- a/man3/sin.3
+++ b/man3/sin.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH SIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH sin 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sin, sinf, sinl \- sine function
.SH LIBRARY
@@ -105,7 +106,7 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6781
.I errno
to
diff --git a/man3/sincos.3 b/man3/sincos.3
index 5492db801..17aa58ebe 100644
--- a/man3/sincos.3
+++ b/man3/sincos.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH SINCOS 3 2022-10-09 "Linux man-pages 6.01"
+.TH SINCOS 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sincos, sincosf, sincosl \- calculate sin and cos simultaneously
.SH LIBRARY
@@ -67,7 +68,7 @@ An invalid floating-point exception
.RB ( FE_INVALID )
is raised.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -102,7 +103,7 @@ cc \-O \-lm \-fno\-builtin prog.c
.EE
.in
.SH BUGS
-Before version 2.22, the glibc implementation did not set
+Before glibc 2.22, the glibc implementation did not set
.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=15467
.I errno
to
diff --git a/man3/sinh.3 b/man3/sinh.3
index d10a0a9d5..a6f5cbaa7 100644
--- a/man3/sinh.3
+++ b/man3/sinh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH SINH 3 2022-10-09 "Linux man-pages 6.01"
+.TH sinh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sinh, sinhf, sinhl \- hyperbolic sine function
.SH LIBRARY
diff --git a/man3/sleep.3 b/man3/sleep.3
index 9449edfc2..02b851260 100644
--- a/man3/sleep.3
+++ b/man3/sleep.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 18:16:02 1993 by Rik Faith (faith@cs.unc.edu)
-.TH SLEEP 3 2022-10-09 "Linux man-pages 6.01"
+.TH sleep 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sleep \- sleep for a specified number of seconds
.SH LIBRARY
diff --git a/man3/slist.3 b/man3/slist.3
index d15bf5772..eec1ca526 100644
--- a/man3/slist.3
+++ b/man3/slist.3
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH SLIST 3 2022-10-09 "Linux man-pages 6.01"
+.TH SLIST 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
SLIST_EMPTY,
SLIST_ENTRY,
diff --git a/man3/sockatmark.3 b/man3/sockatmark.3
index 4ed4c9da4..83cda60f8 100644
--- a/man3/sockatmark.3
+++ b/man3/sockatmark.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2006, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SOCKATMARK 3 2022-10-09 "Linux man-pages 6.01"
+.TH sockatmark 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sockatmark \- determine whether socket is at out-of-band mark
.SH LIBRARY
@@ -54,7 +55,7 @@ is not a file descriptor to which
can be applied.
.SH VERSIONS
.BR sockatmark ()
-was added to glibc in version 2.2.4.
+was added in glibc 2.2.4.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/sqrt.3 b/man3/sqrt.3
index d5e0a1b78..fe6fc91f6 100644
--- a/man3/sqrt.3
+++ b/man3/sqrt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -11,7 +12,7 @@
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH SQRT 3 2022-10-09 "Linux man-pages 6.01"
+.TH sqrt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sqrt, sqrtf, sqrtl \- square root function
.SH LIBRARY
diff --git a/man3/stailq.3 b/man3/stailq.3
index ed4425f1c..0aea3ae12 100644
--- a/man3/stailq.3
+++ b/man3/stailq.3
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH STAILQ 3 2022-10-09 "Linux man-pages 6.01"
+.TH STAILQ 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
.\"SIMPLEQ_CONCAT,
SIMPLEQ_EMPTY,
diff --git a/man3/static_assert.3 b/man3/static_assert.3
new file mode 100644
index 000000000..67f2bb8ca
--- /dev/null
+++ b/man3/static_assert.3
@@ -0,0 +1,118 @@
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH static_assert 3 2022-12-02 "Linux man-pages 6.02"
+.SH NAME
+static_assert, _Static_assert \- fail compilation if assertion is false
+.SH LIBRARY
+Standard C library
+.RI ( libc )
+.SH SYNOPSIS
+.nf
+.B #include <assert.h>
+.PP
+.BI "void static_assert(scalar " constant-expression ", const char *" msg );
+.PP
+/* Since C23: */
+.BI "void static_assert(scalar " constant-expression );
+.fi
+.SH DESCRIPTION
+This macro is similar to
+.BR \%assert (3),
+but it works at compile time,
+generating a compilation error (with an optional message)
+when the input is false (i.e., compares equal to zero).
+.PP
+If the input is nonzero,
+no code is emitted.
+.PP
+.I msg
+must be a string literal.
+Since C23, this argument is optional.
+.PP
+There's a keyword,
+.BR \%_Static_assert (),
+that behaves identically,
+and can be used without including
+.IR <assert.h> .
+.SH RETURN VALUE
+No value is returned.
+.SH VERSIONS
+In C11,
+the second argument
+.RI ( msg )
+was mandatory;
+since C23,
+it can be omitted.
+.SH STANDARDS
+C11 and later.
+.SH EXAMPLES
+.BR static_assert ()
+can't be used in some places,
+like for example at global scope.
+For that,
+a macro
+.BR \%must_be ()
+can be written in terms of
+.BR \%static_assert ().
+The following program uses the macro to get the size of an array safely.
+.PP
+.in +4n
+.\" SRC BEGIN (must_be.c)
+.EX
+#include <assert.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/*
+ * This macro behaves like static_assert(), failing to
+ * compile if its argument is not true. However, it always
+ * returns 0, which allows using it everywhere an expression
+ * can be used.
+ */
+#define must_be(e) \e
+( \e
+ 0 * (int) sizeof( \e
+ struct { \e
+ static_assert(e); \e
+ int ISO_C_forbids_a_struct_with_no_members; \e
+ } \e
+ ) \e
+)
+
+#define is_same_type(a, b) \e
+ __builtin_types_compatible_p(typeof(a), typeof(b))
+
+#define is_array(arr) (!is_same_type((arr), &*(arr)))
+#define must_be_array(arr) must_be(is_array(arr))
+
+#define sizeof_array(arr) (sizeof(arr) + must_be_array(arr))
+#define nitems(arr) (sizeof((arr)) / sizeof((arr)[0]) \e
+ + must_be_array(arr))
+
+int foo[10];
+int8_t bar[sizeof_array(foo)];
+
+int
+main(void)
+{
+ for (size_t i = 0; i < nitems(foo); i++) {
+ foo[i] = i;
+ }
+
+ memcpy(bar, foo, sizeof_array(bar));
+
+ for (size_t i = 0; i < nitems(bar); i++) {
+ printf("%d,", bar[i]);
+ }
+
+ exit(EXIT_SUCCESS);
+}
+.EE
+.in
+.SH SEE ALSO
+.BR assert (3)
diff --git a/man3/statvfs.3 b/man3/statvfs.3
index 65c2ec6f9..1b7ec7a87 100644
--- a/man3/statvfs.3
+++ b/man3/statvfs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\"
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH STATVFS 3 2022-10-09 "Linux man-pages 6.01"
+.TH statvfs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
statvfs, fstatvfs \- get filesystem statistics
.SH LIBRARY
@@ -209,7 +210,7 @@ and
.BR fstatfs (2)
to support this library call.
.PP
-In glibc versions before 2.13,
+Before glibc 2.13,
.\" glibc commit 3cdaa6adb113a088fdfb87aa6d7747557eccc58d
.BR statvfs ()
populated the bits of the
@@ -220,7 +221,7 @@ However, starting with Linux 2.6.36, the underlying
.BR statfs (2)
system call provides the necessary information via the
.I f_flags
-field, and since glibc version 2.13, the
+field, and since glibc 2.13, the
.BR statvfs ()
function will use information from that field rather than scanning
.IR /proc/mounts .
diff --git a/man3/stdarg.3 b/man3/stdarg.3
index 405d7987c..7e1aa21a1 100644
--- a/man3/stdarg.3
+++ b/man3/stdarg.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -12,7 +13,7 @@
.\" Converted for Linux, Mon Nov 29 15:11:11 1993, faith@cs.unc.edu
.\" Additions, 2001-10-14, aeb
.\"
-.TH STDARG 3 2022-10-09 "Linux man-pages 6.01"
+.TH stdarg 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
stdarg, va_start, va_arg, va_end, va_copy \- variable argument lists
.SH LIBRARY
diff --git a/man3/stdin.3 b/man3/stdin.3
index 3ac86d86d..9ae989234 100644
--- a/man3/stdin.3
+++ b/man3/stdin.3
@@ -10,7 +10,7 @@
.\" 2005-06-16 mtk, mentioned freopen()
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH STDIN 3 2022-10-09 "Linux man-pages 6.01"
+.TH stdin 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
stdin, stdout, stderr \- standard I/O streams
.SH LIBRARY
diff --git a/man3/stdio.3 b/man3/stdio.3
index 660f8fc60..37a12d5b9 100644
--- a/man3/stdio.3
+++ b/man3/stdio.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
@@ -8,7 +9,7 @@
.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu
.\" Modified, 2001-12-26, aeb
.\"
-.TH STDIO 3 2022-10-09 "Linux man-pages 6.01"
+.TH stdio 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
stdio \- standard input/output library functions
.SH LIBRARY
diff --git a/man3/stdio_ext.3 b/man3/stdio_ext.3
index 897581d79..83fd96cbe 100644
--- a/man3/stdio_ext.3
+++ b/man3/stdio_ext.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH STDIO_EXT 3 2022-10-09 "Linux man-pages 6.01"
+.TH STDIO_EXT 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
__fbufsize, __flbf, __fpending, __fpurge, __freadable,
__freading, __fsetlocking, __fwritable, __fwriting, _flushlbf \-
diff --git a/man3/stpcpy.3 b/man3/stpcpy.3
index a718b94b3..ff7476a84 100644
--- a/man3/stpcpy.3
+++ b/man3/stpcpy.3
@@ -1,114 +1 @@
-.\" Copyright 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.TH STPCPY 3 2022-10-09 "Linux man-pages 6.01"
-.SH NAME
-stpcpy \- copy a string returning a pointer to its end
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <string.h>
-.PP
-.BI "char *stpcpy(char *restrict " dest ", const char *restrict " src );
-.fi
-.PP
-.RS -4
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.RE
-.PP
-.BR stpcpy ():
-.nf
- Since glibc 2.10:
- _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
- _GNU_SOURCE
-.fi
-.SH DESCRIPTION
-The
-.BR stpcpy ()
-function copies the string pointed to by
-.I src
-(including the terminating null byte (\(aq\e0\(aq)) to the array pointed to by
-.IR dest .
-The strings may not overlap, and the destination string
-.I dest
-must be large enough to receive the copy.
-.SH RETURN VALUE
-.BR stpcpy ()
-returns a pointer to the
-.B end
-of the string
-.I dest
-(that is, the address of the terminating null byte)
-rather than the beginning.
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.BR stpcpy ()
-T} Thread safety MT-Safe
-.TE
-.hy
-.ad
-.sp 1
-.SH STANDARDS
-This function was added to POSIX.1-2008.
-Before that, it was not part of
-the C or POSIX.1 standards, nor customary on UNIX systems.
-It first appeared at least as early as 1986,
-in the Lattice C AmigaDOS compiler,
-then in the GNU fileutils and GNU textutils in 1989,
-and in the GNU C library by 1992.
-It is also present on the BSDs.
-.SH BUGS
-This function may overrun the buffer
-.IR dest .
-.SH EXAMPLES
-For example, this program uses
-.BR stpcpy ()
-to concatenate
-.B foo
-and
-.B bar
-to produce
-.BR foobar ,
-which it then prints.
-.PP
-.\" SRC BEGIN (stpcpy.c)
-.EX
-#define _GNU_SOURCE
-#include <stdio.h>
-#include <string.h>
-
-int
-main(void)
-{
- char buffer[20];
- char *to = buffer;
-
- to = stpcpy(to, "foo");
- to = stpcpy(to, "bar");
- printf("%s\en", buffer);
-}
-.EE
-.\" SRC END
-.SH SEE ALSO
-.BR bcopy (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR memmove (3),
-.BR stpncpy (3),
-.BR strcpy (3),
-.BR string (3),
-.BR wcpcpy (3)
+.so man3/strcpy.3
diff --git a/man3/stpecpy.3 b/man3/stpecpy.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/stpecpy.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3/stpecpyx.3 b/man3/stpecpyx.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/stpecpyx.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3/stpncpy.3 b/man3/stpncpy.3
index 8cb0d442a..345faaaaa 100644
--- a/man3/stpncpy.3
+++ b/man3/stpncpy.3
@@ -1,14 +1,14 @@
-.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+'\" t
+.\" Copyright 2022 Alejandro Colomar <alx@kernel.org>
.\"
-.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.\" References consulted:
-.\" GNU glibc-2 source code and manual
-.\"
-.\" Corrected, aeb, 990824
-.TH STPNCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH stpncpy 3 2022-12-20 "Linux man-pages 6.02"
.SH NAME
-stpncpy \- copy a fixed-size string, returning a pointer to its end
+stpncpy, strncpy
+\- zero a fixed-width buffer and
+copy a string into a character sequence with truncation
+and zero the rest of it
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
@@ -16,8 +16,12 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "char *stpncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.BI "char *stpncpy(char " dst "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
+.BI "char *strncpy(char " dst "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
.fi
.PP
.RS -4
@@ -33,54 +37,44 @@ Feature Test Macro Requirements for glibc (see
_GNU_SOURCE
.fi
.SH DESCRIPTION
-The
-.BR stpncpy ()
-function copies at most
-.I n
-characters from the string
-pointed to by
-.IR src ,
-including the terminating null byte (\(aq\e0\(aq),
-to the array pointed to by
-.IR dest .
-Exactly
-.I n
-characters are written at
-.IR dest .
-If the length
-.I strlen(src)
-is smaller than
-.IR n ,
-the
-remaining characters in the array pointed to by
-.I dest
-are filled
-with null bytes (\(aq\e0\(aq),
-If the length
-.I strlen(src)
-is greater than or equal to
-.IR n ,
-the string pointed to by
-.I dest
-will
-not be null-terminated.
+These functions copy the string pointed to by
+.I src
+into a null-padded character sequence at the fixed-width buffer pointed to by
+.IR dst .
+If the destination buffer,
+limited by its size,
+isn't large enough to hold the copy,
+the resulting character sequence is truncated.
+For the difference between the two functions, see RETURN VALUE.
.PP
-The strings may not overlap.
+An implementation of these functions might be:
.PP
-The programmer must ensure that there is room for at least
-.I n
-characters
-at
-.IR dest .
+.in +4n
+.EX
+char *
+stpncpy(char *restrict dst, const char *restrict src, size_t sz)
+{
+ bzero(dst, sz);
+ return mempcpy(dst, src, strnlen(src, sz));
+}
+
+char *
+strncpy(char *restrict dst, const char *restrict src, size_t sz)
+{
+ stpncpy(dst, src, sz);
+ return dst;
+}
+.EE
+.in
.SH RETURN VALUE
+.TP
.BR stpncpy ()
-returns a pointer to the terminating null byte
-in
-.IR dest ,
-or, if
-.I dest
-is not null-terminated,
-.IR dest + n .
+returns a pointer to
+one after the last character in the destination character sequence.
+.TP
+.BR strncpy ()
+returns
+.IR dst .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -92,16 +86,74 @@ lbx lb lb
l l l.
Interface Attribute Value
T{
-.BR stpncpy ()
+.BR stpncpy (),
+.BR strncpy ()
T} Thread safety MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
-This function was added to POSIX.1-2008.
-Before that, it was a GNU extension.
-It first appeared in version 1.07 of the GNU C library in 1993.
+.TP
+.BR stpncpy ()
+POSIX.1-2008.
+.\" Before that, it was a GNU extension.
+.\" It first appeared in glibc 1.07 in 1993.
+.TP
+.BR strncpy ()
+POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+.SH CAVEATS
+The name of these functions is confusing.
+These functions produce a null-padded character sequence,
+not a string (see
+.BR string_copying (7)).
+.PP
+It's impossible to distinguish truncation by the result of the call,
+from a character sequence that just fits the destination buffer;
+truncation should be detected by
+comparing the length of the input string
+with the size of the destination buffer.
+.PP
+If you're going to use this function in chained calls,
+it would be useful to develop a similar function that accepts
+a pointer to the end (one after the last element) of the destination buffer
+instead of its size.
+.SH EXAMPLES
+.\" SRC BEGIN (stpncpy.c)
+.EX
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main(void)
+{
+ char *p;
+ char buf1[20];
+ char buf2[20];
+ size_t len;
+
+ if (sizeof(buf1) < strlen("Hello world!"))
+ warnx("stpncpy: truncating character sequence");
+ p = stpncpy(buf1, "Hello world!", sizeof(buf1));
+ len = p \- buf1;
+
+ printf("[len = %zu]: ", len);
+ printf("%.*s\en", (int) len, buf1); // "Hello world!"
+
+ if (sizeof(buf2) < strlen("Hello world!"))
+ warnx("strncpy: truncating character sequence");
+ strncpy(buf2, "Hello world!", sizeof(buf));
+ len = strnlen(buf2, sizeof(buf2));
+
+ printf("[len = %zu]: ", len);
+ printf("%.*s\en", (int) len, buf2); // "Hello world!"
+
+ exit(EXIT_SUCCESS);
+}
+.EE
+.\" SRC END
.SH SEE ALSO
-.BR strncpy (3),
-.BR wcpncpy (3)
+.BR wcpncpy (3),
+.BR string_copying (7)
diff --git a/man3/strcasecmp.3 b/man3/strcasecmp.3
index 451dbf520..1c96d6044 100644
--- a/man3/strcasecmp.3
+++ b/man3/strcasecmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:12:45 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRCASECMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH strcasecmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strcasecmp, strncasecmp \- compare two strings ignoring case
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.B #include <strings.h>
.PP
.BI "int strcasecmp(const char *" s1 ", const char *" s2 );
-.BI "int strncasecmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncasecmp(const char " s1 [. n "], const char " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/strcat.3 b/man3/strcat.3
index e43c62e20..ff7476a84 100644
--- a/man3/strcat.3
+++ b/man3/strcat.3
@@ -1,227 +1 @@
-.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.\" References consulted:
-.\" Linux libc source code
-.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
-.\" 386BSD man pages
-.\" Modified Sat Jul 24 18:11:47 1993 by Rik Faith (faith@cs.unc.edu)
-.\" 2007-06-15, Marc Boyer <marc.boyer@enseeiht.fr> + mtk
-.\" Improve discussion of strncat().
-.TH STRCAT 3 2022-10-09 "Linux man-pages 6.01"
-.SH NAME
-strcat, strncat \- concatenate two strings
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <string.h>
-.PP
-.BI "char *strcat(char *restrict " dest ", const char *restrict " src );
-.BI "char *strncat(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
-.fi
-.SH DESCRIPTION
-The
-.BR strcat ()
-function appends the
-.I src
-string to the
-.I dest
-string,
-overwriting the terminating null byte (\(aq\e0\(aq) at the end of
-.IR dest ,
-and then adds a terminating null byte.
-The strings may not overlap, and the
-.I dest
-string must have
-enough space for the result.
-If
-.I dest
-is not large enough, program behavior is unpredictable;
-.IR "buffer overruns are a favorite avenue for attacking secure programs" .
-.PP
-The
-.BR strncat ()
-function is similar, except that
-.IP * 3
-it will use at most
-.I n
-bytes from
-.IR src ;
-and
-.IP *
-.I src
-does not need to be null-terminated if it contains
-.I n
-or more bytes.
-.PP
-As with
-.BR strcat (),
-the resulting string in
-.I dest
-is always null-terminated.
-.PP
-If
-.I src
-contains
-.I n
-or more bytes,
-.BR strncat ()
-writes
-.I n+1
-bytes to
-.I dest
-.RI ( n
-from
-.I src
-plus the terminating null byte).
-Therefore, the size of
-.I dest
-must be at least
-.IR "strlen(dest)+n+1" .
-.PP
-A simple implementation of
-.BR strncat ()
-might be:
-.PP
-.in +4n
-.EX
-char *
-strncat(char *dest, const char *src, size_t n)
-{
- size_t dest_len = strlen(dest);
- size_t i;
-
- for (i = 0 ; i < n && src[i] != \(aq\e0\(aq ; i++)
- dest[dest_len + i] = src[i];
- dest[dest_len + i] = \(aq\e0\(aq;
-
- return dest;
-}
-.EE
-.in
-.SH RETURN VALUE
-The
-.BR strcat ()
-and
-.BR strncat ()
-functions return a pointer to the resulting string
-.IR dest .
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.BR strcat (),
-.BR strncat ()
-T} Thread safety MT-Safe
-.TE
-.hy
-.ad
-.sp 1
-.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
-Some systems (the BSDs, Solaris, and others) provide the following function:
-.PP
-.in +4n
-.EX
-size_t strlcat(char *dest, const char *src, size_t size);
-.EE
-.in
-.PP
-This function appends the null-terminated string
-.I src
-to the string
-.IR dest ,
-copying at most
-.I size\-strlen(dest)\-1
-from
-.IR src ,
-and adds a terminating null byte to the result,
-.I unless
-.I size
-is less than
-.IR strlen(dest) .
-This function fixes the buffer overrun problem of
-.BR strcat (),
-but the caller must still handle the possibility of data loss if
-.I size
-is too small.
-The function returns the length of the string
-.BR strlcat ()
-tried to create; if the return value is greater than or equal to
-.IR size ,
-data loss occurred.
-If data loss matters, the caller
-.I must
-either check the arguments before the call, or test the function return value.
-.BR strlcat ()
-is not present in glibc and is not standardized by POSIX,
-.\" https://lwn.net/Articles/506530/
-but is available on Linux via the
-.I libbsd
-library.
-.\"
-.SH EXAMPLES
-Because
-.BR strcat ()
-and
-.BR strncat ()
-must find the null byte that terminates the string
-.I dest
-using a search that starts at the beginning of the string,
-the execution time of these functions
-scales according to the length of the string
-.IR dest .
-This can be demonstrated by running the program below.
-(If the goal is to concatenate many strings to one target,
-then manually copying the bytes from each source string
-while maintaining a pointer to the end of the target string
-will provide better performance.)
-.\"
-.SS Program source
-\&
-.\" SRC BEGIN (strcat.c)
-.EX
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <time.h>
-
-int
-main(void)
-{
-#define LIM 4000000
- char p[LIM + 1]; /* +1 for terminating null byte */
- time_t base;
-
- base = time(NULL);
- p[0] = \(aq\e0\(aq;
-
- for (unsigned int j = 0; j < LIM; j++) {
- if ((j % 10000) == 0)
- printf("%u %jd\en", j, (intmax_t) (time(NULL) \- base));
- strcat(p, "a");
- }
-}
-.EE
-.\" SRC END
-.SH SEE ALSO
-.BR bcopy (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR strcpy (3),
-.BR string (3),
-.BR strncpy (3),
-.BR wcscat (3),
-.BR wcsncat (3)
+.so man3/strcpy.3
diff --git a/man3/strchr.3 b/man3/strchr.3
index 8f4d8284f..024d8ae5b 100644
--- a/man3/strchr.3
+++ b/man3/strchr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" 2006-05-19, Justin Pryzby <pryzbyj@justinpryzby.com>
.\" Document strchrnul(3).
.\"
-.TH STRCHR 3 2022-10-09 "Linux man-pages 6.01"
+.TH strchr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strchr, strrchr, strchrnul \- locate character in string
.SH LIBRARY
@@ -83,7 +84,7 @@ or a pointer to the null byte at the end of
if the character is not found.
.SH VERSIONS
.BR strchrnul ()
-first appeared in glibc in version 2.1.1.
+was added in glibc 2.1.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/strcmp.3 b/man3/strcmp.3
index 45aa35d73..9398e4733 100644
--- a/man3/strcmp.3
+++ b/man3/strcmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -10,7 +11,7 @@
.\" Modified Sat Jul 24 18:08:52 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2001-08-31, aeb
.\"
-.TH STRCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH strcmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strcmp, strncmp \- compare two strings
.SH LIBRARY
@@ -21,7 +22,7 @@ Standard C library
.B #include <string.h>
.PP
.BI "int strcmp(const char *" s1 ", const char *" s2 );
-.BI "int strncmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncmp(const char " s1 [. n "], const char " s2 [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
@@ -36,7 +37,7 @@ The comparison is done using unsigned characters.
.PP
.BR strcmp ()
returns an integer indicating the result of the comparison, as follows:
-.IP \(bu 2
+.IP \(bu 3
0, if the
.I s1
and
diff --git a/man3/strcoll.3 b/man3/strcoll.3
index 3e3da3a14..722198552 100644
--- a/man3/strcoll.3
+++ b/man3/strcoll.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:40:44 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRCOLL 3 2022-10-09 "Linux man-pages 6.01"
+.TH strcoll 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strcoll \- compare two strings using the current locale
.SH LIBRARY
diff --git a/man3/strcpy.3 b/man3/strcpy.3
index 1e104f829..8ab5d0877 100644
--- a/man3/strcpy.3
+++ b/man3/strcpy.3
@@ -1,20 +1,11 @@
-.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
+'\" t
+.\" Copyright 2022 Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.\" References consulted:
-.\" Linux libc source code
-.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
-.\" 386BSD man pages
-.\" Modified Sat Jul 24 18:06:49 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Fri Aug 25 23:17:51 1995 by Andries Brouwer (aeb@cwi.nl)
-.\" Modified Wed Dec 18 00:47:18 1996 by Andries Brouwer (aeb@cwi.nl)
-.\" 2007-06-15, Marc Boyer <marc.boyer@enseeiht.fr> + mtk
-.\" Improve discussion of strncpy().
-.\"
-.TH STRCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH strcpy 3 2022-12-21 "Linux man-pages 6.02"
.SH NAME
-strcpy, strncpy \- copy a string
+stpcpy, strcpy, strcat \- copy or catenate a string
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
@@ -22,80 +13,89 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "char *strcpy(char *restrict " dest ", const char *restrict " src );
-.BI "char *strncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.BI "char *stpcpy(char *restrict " dst ", const char *restrict " src );
+.BI "char *strcpy(char *restrict " dst ", const char *restrict " src );
+.BI "char *strcat(char *restrict " dst ", const char *restrict " src );
+.fi
+.PP
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.PP
+.BR stpcpy ():
+.nf
+ Since glibc 2.10:
+ _POSIX_C_SOURCE >= 200809L
+ Before glibc 2.10:
+ _GNU_SOURCE
.fi
.SH DESCRIPTION
-The
+.TP
+.BR stpcpy ()
+.TQ
.BR strcpy ()
-function copies the string pointed to by
+These functions copy the string pointed to by
.IR src ,
-including the terminating null byte (\(aq\e0\(aq),
-to the buffer pointed to by
-.IR dest .
-The strings may not overlap, and the destination string
-.I dest
-must be large enough to receive the copy.
-.I Beware of buffer overruns!
-(See BUGS.)
-.PP
-The
-.BR strncpy ()
-function is similar, except that at most
-.I n
-bytes of
-.I src
-are copied.
-.BR Warning :
-If there is no null byte
-among the first
-.I n
-bytes of
+into a string
+at the buffer pointed to by
+.IR dst .
+The programmer is responsible for allocating a destination buffer large enough,
+that is,
+.IR "strlen(src) + 1" .
+For the difference between the two functions, see RETURN VALUE.
+.TP
+.BR strcat ()
+This function catenates the string pointed to by
.IR src ,
-the string placed in
-.I dest
-will not be null-terminated.
-.PP
-If the length of
-.I src
-is less than
-.IR n ,
-.BR strncpy ()
-writes additional null bytes to
-.I dest
-to ensure that a total of
-.I n
-bytes are written.
+after the string pointed to by
+.I dst
+(overwriting its terminating null byte).
+The programmer is responsible for allocating a destination buffer large enough,
+that is,
+.IR "strlen(dst) + strlen(src) + 1" .
.PP
-A simple implementation of
-.BR strncpy ()
-might be:
+An implementation of these functions might be:
.PP
.in +4n
.EX
char *
-strncpy(char *dest, const char *src, size_t n)
+stpcpy(char *restrict dst, const char *restrict src)
{
- size_t i;
+ char *p;
+
+ p = mempcpy(dst, src, strlen(src));
+ *p = \(aq\e0\(aq;
+
+ return p;
+}
- for (i = 0; i < n && src[i] != \(aq\e0\(aq; i++)
- dest[i] = src[i];
- for ( ; i < n; i++)
- dest[i] = \(aq\e0\(aq;
+char *
+strcpy(char *restrict dst, const char *restrict src)
+{
+ stpcpy(dst, src);
+ return dst;
+}
- return dest;
+char *
+strcat(char *restrict dst, const char *restrict src)
+{
+ stpcpy(dst + strlen(dst), src);
+ return dst;
}
.EE
.in
.SH RETURN VALUE
-The
+.TP
+.BR stpcpy ()
+This function returns
+a pointer to the terminating null byte of the copied string.
+.TP
.BR strcpy ()
-and
-.BR strncpy ()
-functions return a pointer to
-the destination string
-.IR dest .
+.TQ
+.BR strcat ()
+These functions return
+.IR dst .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -107,129 +107,92 @@ lbx lb lb
l l l.
Interface Attribute Value
T{
+.BR stpcpy (),
.BR strcpy (),
-.BR strncpy ()
+.BR strcat ()
T} Thread safety MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
-POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
-.SH NOTES
-Some programmers consider
-.BR strncpy ()
-to be inefficient and error prone.
-If the programmer knows (i.e., includes code to test!)
-that the size of
-.I dest
-is greater than
-the length of
-.IR src ,
-then
+.TP
+.BR stpcpy ()
+POSIX.1-2008.
+.TP
.BR strcpy ()
-can be used.
-.PP
-One valid (and intended) use of
-.BR strncpy ()
-is to copy a C string to a fixed-length buffer
-while ensuring both that the buffer is not overflowed
-and that unused bytes in the destination buffer are zeroed out
-(perhaps to prevent information leaks if the buffer is to be
-written to media or transmitted to another process via an
-interprocess communication technique).
+.TQ
+.BR strcat ()
+POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+.SH CAVEATS
+The strings
+.I src
+and
+.I dst
+may not overlap.
.PP
-If there is no terminating null byte in the first
-.I n
-bytes of
-.IR src ,
-.BR strncpy ()
-produces an unterminated string in
-.IR dest .
-If
-.I buf
-has length
-.IR buflen ,
-you can force termination using something like the following:
+If the destination buffer is not large enough,
+the behavior is undefined.
+See
+.B _FORTIFY_SOURCE
+in
+.BR feature_test_macros (7).
.PP
-.in +4n
+.BR strcat ()
+can be very inefficient.
+Read about
+.UR https://www.joelonsoftware.com/\:2001/12/11/\:back\-to\-basics/
+Shlemiel the painter
+.UE .
+.SH EXAMPLES
+.\" SRC BEGIN (strcpy.c)
.EX
-if (buflen > 0) {
- strncpy(buf, str, buflen \- 1);
- buf[buflen \- 1]= \(aq\e0\(aq;
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main(void)
+{
+ char *p;
+ char *buf1;
+ char *buf2;
+ size_t len, maxsize;
+
+ maxsize = strlen("Hello ") + strlen("world") + strlen("!") + 1;
+ buf1 = malloc(sizeof(*buf1) * maxsize);
+ if (buf1 == NULL)
+ err(EXIT_FAILURE, "malloc()");
+ buf2 = malloc(sizeof(*buf2) * maxsize);
+ if (buf2 == NULL)
+ err(EXIT_FAILURE, "malloc()");
+
+ p = buf1;
+ p = stpcpy(p, "Hello ");
+ p = stpcpy(p, "world");
+ p = stpcpy(p, "!");
+ len = p \- buf1;
+
+ printf("[len = %zu]: ", len);
+ puts(buf1); // "Hello world!"
+ free(buf1);
+
+ strcpy(buf2, "Hello ");
+ strcat(buf2, "world");
+ strcat(buf2, "!");
+ len = strlen(buf2);
+
+ printf("[len = %zu]: ", len);
+ puts(buf2); // "Hello world!"
+ free(buf2);
+
+ exit(EXIT_SUCCESS);
}
.EE
-.in
-.PP
-(Of course, the above technique ignores the fact that, if
-.I src
-contains more than
-.I "buflen\ \-\ 1"
-bytes, information is lost in the copying to
-.IR dest .)
-.\"
-.SS strlcpy()
-Some systems (the BSDs, Solaris, and others) provide the following function:
-.PP
-.in +4n
-.EX
-size_t strlcpy(char *dest, const char *src, size_t size);
-.EE
-.in
-.PP
-.\" http://static.usenix.org/event/usenix99/full_papers/millert/millert_html/index.html
-.\" "strlcpy and strlcat - consistent, safe, string copy and concatenation"
-.\" 1999 USENIX Annual Technical Conference
-This function is similar to
-.BR strncpy (),
-but it copies at most
-.I size\-1
-bytes to
-.IR dest ,
-always adds a terminating null byte,
-and does not pad the destination with (further) null bytes.
-This function fixes some of the problems of
-.BR strcpy ()
-and
-.BR strncpy (),
-but the caller must still handle the possibility of data loss if
-.I size
-is too small.
-The return value of the function is the length of
-.IR src ,
-which allows truncation to be easily detected:
-if the return value is greater than or equal to
-.IR size ,
-truncation occurred.
-If loss of data matters, the caller
-.I must
-either check the arguments before the call,
-or test the function return value.
-.BR strlcpy ()
-is not present in glibc and is not standardized by POSIX,
-.\" https://lwn.net/Articles/506530/
-but is available on Linux via the
-.I libbsd
-library.
-.SH BUGS
-If the destination string of a
-.BR strcpy ()
-is not large enough, then anything might happen.
-Overflowing fixed-length string buffers is a favorite cracker technique
-for taking complete control of the machine.
-Any time a program reads or copies data into a buffer,
-the program first needs to check that there's enough space.
-This may be unnecessary if you can show that overflow is impossible,
-but be careful: programs can get changed over time,
-in ways that may make the impossible possible.
+.\" SRC END
.SH SEE ALSO
-.BR bcopy (3),
-.BR memccpy (3),
-.BR memcpy (3),
-.BR memmove (3),
-.BR stpcpy (3),
-.BR stpncpy (3),
.BR strdup (3),
.BR string (3),
.BR wcscpy (3),
-.BR wcsncpy (3)
+.BR string_copying (7)
diff --git a/man3/strdup.3 b/man3/strdup.3
index 2eb581f36..a674fbfa1 100644
--- a/man3/strdup.3
+++ b/man3/strdup.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:41:34 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Wed Oct 17 01:12:26 2001 by John Levon <moz@compsoc.man.ac.uk>
-.TH STRDUP 3 2022-10-09 "Linux man-pages 6.01"
+.TH strdup 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strdup, strndup, strdupa, strndupa \- duplicate a string
.SH LIBRARY
@@ -20,9 +21,9 @@ Standard C library
.PP
.BI "char *strdup(const char *" s );
.PP
-.BI "char *strndup(const char *" s ", size_t " n );
+.BI "char *strndup(const char " s [. n "], size_t " n );
.BI "char *strdupa(const char *" s );
-.BI "char *strndupa(const char *" s ", size_t " n );
+.BI "char *strndupa(const char " s [. n "], size_t " n );
.fi
.PP
.RS -4
diff --git a/man3/strerror.3 b/man3/strerror.3
index adfa46ef5..11ea1a4bd 100644
--- a/man3/strerror.3
+++ b/man3/strerror.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2005, 2014, 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -16,7 +17,7 @@
.\" 2005-12-13, mtk, Substantial rewrite of strerror_r() description
.\" Addition of extra material on portability and standards.
.\"
-.TH STRERROR 3 2022-10-09 "Linux man-pages 6.01"
+.TH strerror 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \-
return string describing error number
@@ -31,10 +32,10 @@ Standard C library
.BI "const char *strerrorname_np(int " errnum );
.BI "const char *strerrordesc_np(int " errnum );
.PP
-.BI "int strerror_r(int " errnum ", char *" buf ", size_t " buflen );
+.BI "int strerror_r(int " errnum ", char " buf [. buflen "], size_t " buflen );
/* XSI-compliant */
.PP
-.BI "char *strerror_r(int " errnum ", char *" buf ", size_t " buflen );
+.BI "char *strerror_r(int " errnum ", char " buf [. buflen "], size_t " buflen );
/* GNU-specific */
.PP
.BI "char *strerror_l(int " errnum ", locale_t " locale );
@@ -190,7 +191,7 @@ On error,
a (positive) error number is returned (since glibc 2.13),
or \-1 is returned and
.I errno
-is set to indicate the error (glibc versions before 2.13).
+is set to indicate the error (before glibc 2.13).
.PP
POSIX.1-2001 and POSIX.1-2008 require that a successful call to
.BR strerror ()
diff --git a/man3/strfmon.3 b/man3/strfmon.3
index 1bb063ad8..d39561dbf 100644
--- a/man3/strfmon.3
+++ b/man3/strfmon.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH STRFMON 3 2022-10-09 "Linux man-pages 6.01"
+.TH strfmon 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strfmon, strfmon_l \- convert monetary value to a string
.SH LIBRARY
@@ -12,9 +13,10 @@ Standard C library
.nf
.B #include <monetary.h>
.PP
-.BI "ssize_t strfmon(char *restrict " s ", size_t " max ,
+.BI "ssize_t strfmon(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ", ...);"
-.BI "ssize_t strfmon_l(char *restrict " s ", size_t " max ", locale_t " locale ,
+.BI "ssize_t strfmon_l(char " s "[restrict ." max "], size_t " max ", \
+locale_t " locale ,
.BI " const char *restrict " format ", ...);"
.fi
.SH DESCRIPTION
diff --git a/man3/strfromd.3 b/man3/strfromd.3
index 596729ae6..f4e22cbf0 100644
--- a/man3/strfromd.3
+++ b/man3/strfromd.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 2016, IBM Corporation.
.\" Written by Wainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com>
.\"
@@ -9,7 +10,7 @@
.\" ISO/IEC TS 18661-1 technical specification.
.\" snprintf and other man.3 pages.
.\"
-.TH STRFROMD 3 2022-10-09 "Linux man-pages 6.01"
+.TH strfromd 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strfromd, strfromf, strfroml \- convert a floating-point value into
a string
@@ -20,11 +21,11 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "int strfromd(char *restrict " str ", size_t " n ,
+.BI "int strfromd(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", double " fp ");"
-.BI "int strfromf(char *restrict " str ", size_t " n ,
+.BI "int strfromf(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", float "fp ");"
-.BI "int strfroml(char *restrict " str ", size_t " n ,
+.BI "int strfroml(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", long double " fp ");"
.fi
.PP
@@ -153,7 +154,7 @@ The
.BR strfromf (),
and
.BR strfroml ()
-functions are available in glibc since version 2.25.
+functions are available since glibc 2.25.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7)
diff --git a/man3/strfry.3 b/man3/strfry.3
index b028f3a22..d71d5b6e4 100644
--- a/man3/strfry.3
+++ b/man3/strfry.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:39:43 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRFRY 3 2022-10-09 "Linux man-pages 6.01"
+.TH strfry 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strfry \- randomize a string
.SH LIBRARY
diff --git a/man3/strftime.3 b/man3/strftime.3
index 79a978e90..298110fb2 100644
--- a/man3/strftime.3
+++ b/man3/strftime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -14,7 +15,7 @@
.\" 2005-11-22 mtk, added Glibc Notes covering optional 'flag' and
.\" 'width' components of conversion specifications.
.\"
-.TH STRFTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH strftime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strftime \- format date and time
.SH LIBRARY
@@ -24,11 +25,11 @@ Standard C library
.nf
.B #include <time.h>
.PP
-.BI "size_t strftime(char *restrict " s ", size_t " max ,
+.BI "size_t strftime(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm );
.PP
-.BI "size_t strftime_l(char *restrict " s ", size_t " max ,
+.BI "size_t strftime_l(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm ,
.BI " locale_t " locale );
diff --git a/man3/string.3 b/man3/string.3
index eb784e090..5d90e0deb 100644
--- a/man3/string.3
+++ b/man3/string.3
@@ -7,7 +7,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:54:31 1993, Rik Faith (faith@cs.unc.edu)
-.TH STRING 3 2022-10-09 "Linux man-pages 6.01"
+.TH STRING 3 2022-12-06 "Linux man-pages 6.02"
.SH NAME
stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn,
strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk,
@@ -26,7 +26,8 @@ and
.I s2
ignoring case.
.TP
-.BI "int strncasecmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncasecmp(const char " s1 [. n "], const char " s2 [. n "], \
+size_t " n );
Compare the first
.I n
bytes of the strings
@@ -112,18 +113,21 @@ Randomly swap the characters in
Return the length of the string
.IR s .
.TP
-.BI "char *strncat(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.nf
+.BI "char *strncat(char " dest "[restrict strlen(." dest ") + ." n " + 1],"
+.BI " const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
Append at most
.I n
-bytes from the string
+bytes from the unterminated string
.I src
to the string
.IR dest ,
returning a pointer to
.IR dest .
.TP
-.BI "int strncmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncmp(const char " s1 [. n "], const char " s2 [. n "], size_t " n );
Compare at most
.I n
bytes of the strings
@@ -131,17 +135,6 @@ bytes of the strings
and
.IR s2 .
.TP
-.BI "char *strncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
-Copy at most
-.I n
-bytes from string
-.I src
-to
-.IR dest ,
-returning a pointer to the start of
-.IR dest .
-.TP
.BI "char *strpbrk(const char *" s ", const char *" accept );
Return a pointer to the first occurrence in the string
.I s
@@ -179,14 +172,32 @@ Extract tokens from the string
that are delimited by one of the bytes in
.IR delim .
.TP
-.BI "size_t strxfrm(char *restrict " dst ", const char *restrict " src \
-", size_t " n );
+.nf
+.BI "size_t strxfrm(char " dst "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
Transforms
.I src
to the current locale and copies the first
.I n
bytes to
.IR dst .
+.SS Obsolete functions
+.TP
+.nf
+.BI "char *strncpy(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
+Copy at most
+.I n
+bytes from string
+.I src
+to
+.IR dest ,
+returning a pointer to the start of
+.IR dest .
.SH DESCRIPTION
The string functions perform operations on null-terminated
strings.
diff --git a/man3/strlen.3 b/man3/strlen.3
index 9258a7503..fc8320bf6 100644
--- a/man3/strlen.3
+++ b/man3/strlen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:02:26 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH strlen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strlen \- calculate the length of a string
.SH LIBRARY
diff --git a/man3/strncat.3 b/man3/strncat.3
index dc3a1ca1c..5b9735bfc 100644
--- a/man3/strncat.3
+++ b/man3/strncat.3
@@ -1 +1,131 @@
-.so man3/strcat.3
+'\" t
+.\" Copyright 2022 Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.TH strncat 3 2022-12-21 "Linux man-pages 6.02"
+.SH NAME
+strncat \- concatenate a null-padded character sequence into a string
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <string.h>
+.PP
+.BI "char *strncat(char *restrict " dst ", const char " src "[restrict ." sz ],
+.BI " size_t " sz );
+.fi
+.SH DESCRIPTION
+This function catenates the input character sequence
+contained in a null-padded fixed-width buffer,
+into a string at the buffer pointed to by
+.IR dst .
+The programmer is responsible for allocating a destination buffer large enough,
+that is,
+.IR "strlen(dst) + strnlen(src, sz) + 1" .
+.PP
+An implementation of this function might be:
+.PP
+.in +4n
+.EX
+char *
+strncat(char *restrict dst, const char *restrict src, size_t sz)
+{
+ int len;
+ char *p;
+
+ len = strnlen(src, sz);
+ p = dst + strlen(dst);
+ p = mempcpy(p, src, len);
+ *p = \(aq\e0\(aq;
+
+ return dst;
+}
+.EE
+.in
+.SH RETURN VALUE
+.BR strncat ()
+returns
+.IR dst .
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.ad l
+.nh
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR strncat ()
+T} Thread safety MT-Safe
+.TE
+.hy
+.ad
+.sp 1
+.SH STANDARDS
+POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
+.SH CAVEATS
+The name of this function is confusing.
+This function has no relation to
+.BR strncpy (3).
+.PP
+If the destination buffer is not large enough,
+the behavior is undefined.
+See
+.B _FORTIFY_SOURCE
+in
+.BR feature_test_macros (7).
+.SH BUGS
+This function can be very inefficient.
+Read about
+.UR https://www.joelonsoftware.com/\:2001/12/11/\:back\-to\-basics/
+Shlemiel the painter
+.UE .
+.SH EXAMPLES
+.\" SRC BEGIN (strncat.c)
+.EX
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define nitems(arr) (sizeof((arr)) / sizeof((arr)[0]))
+
+int
+main(void)
+{
+ size_t maxsize;
+
+ // Null-padded fixed-width character sequences
+ char pre[4] = "pre.";
+ char new_post[50] = ".foo.bar";
+
+ // Strings
+ char post[] = ".post";
+ char src[] = "some_long_body.post";
+ char *dest;
+
+ maxsize = nitems(pre) + strlen(src) \- strlen(post) +
+ nitems(new_post) + 1;
+ dest = malloc(sizeof(*dest) * maxsize);
+ if (dest == NULL)
+ err(EXIT_FAILURE, "malloc()");
+
+ dest[0] = \(aq\e0\(aq; // There's no 'cpy' function to this 'cat'.
+ strncat(dest, pre, nitems(pre));
+ strncat(dest, src, strlen(src) \- strlen(post));
+ strncat(dest, new_post, nitems(new_post));
+
+ puts(dest); // "pre.some_long_body.foo.bar"
+ free(dest);
+ exit(EXIT_SUCCESS);
+}
+.EE
+.\" SRC END
+.in
+.SH SEE ALSO
+.BR string (3),
+.BR string_copying (3)
diff --git a/man3/strncpy.3 b/man3/strncpy.3
index ff7476a84..4710b0201 100644
--- a/man3/strncpy.3
+++ b/man3/strncpy.3
@@ -1 +1 @@
-.so man3/strcpy.3
+.so man3/stpncpy.3
diff --git a/man3/strnlen.3 b/man3/strnlen.3
index 895e2a048..b8c9a2c37 100644
--- a/man3/strnlen.3
+++ b/man3/strnlen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -5,7 +6,7 @@
.\" References consulted:
.\" GNU glibc-2 source code and manual
.\"
-.TH STRNLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH strnlen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strnlen \- determine the length of a fixed-size string
.SH LIBRARY
@@ -15,7 +16,7 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "size_t strnlen(const char *" s ", size_t " maxlen );
+.BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen );
.fi
.PP
.RS -4
diff --git a/man3/strpbrk.3 b/man3/strpbrk.3
index 5bc17bfb1..3ca6283c1 100644
--- a/man3/strpbrk.3
+++ b/man3/strpbrk.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 18:01:24 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRPBRK 3 2022-10-09 "Linux man-pages 6.01"
+.TH strpbrk 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strpbrk \- search a string for any of a set of bytes
.SH LIBRARY
diff --git a/man3/strptime.3 b/man3/strptime.3
index 40d0e4e12..4b0e1098b 100644
--- a/man3/strptime.3
+++ b/man3/strptime.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" Modified, aeb, 2001-08-31
.\" Modified, wharms 2001-11-12, remark on white space and example
.\"
-.TH STRPTIME 3 2022-10-09 "Linux man-pages 6.01"
+.TH strptime 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strptime \- convert a string representation of time to a time tm structure
.SH LIBRARY
diff --git a/man3/strsep.3 b/man3/strsep.3
index 082d3a475..83b5b55be 100644
--- a/man3/strsep.3
+++ b/man3/strsep.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified Mon Jan 20 12:04:18 1997 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Tue Jan 23 20:23:07 2001 by Andries Brouwer (aeb@cwi.nl)
.\"
-.TH STRSEP 3 2022-10-09 "Linux man-pages 6.01"
+.TH strsep 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strsep \- extract token from string
.SH LIBRARY
@@ -95,11 +96,11 @@ conforms to C89/C99 and hence is more portable.
.SH BUGS
Be cautious when using this function.
If you do use it, note that:
-.IP * 2
+.IP \(bu 3
This function modifies its first argument.
-.IP *
+.IP \(bu
This function cannot be used on constant strings.
-.IP *
+.IP \(bu
The identity of the delimiting character is lost.
.SH EXAMPLES
The program below is a port of the one found in
diff --git a/man3/strsignal.3 b/man3/strsignal.3
index 07f537197..53031968a 100644
--- a/man3/strsignal.3
+++ b/man3/strsignal.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright (C) 2020 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -8,7 +9,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 17:59:03 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRSIGNAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH strsignal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strsignal, sigabbrev_np, sigdescr_np, sys_siglist \-
return string describing signal
@@ -39,7 +40,7 @@ Feature Test Macro Requirements for glibc (see
.PP
.BR strsignal ():
.nf
- From glibc 2.10 to 2.31:
+ From glibc 2.10 to glibc 2.31:
_POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
@@ -114,7 +115,7 @@ and
.BR sigabbrev_np ()
first appeared in glibc 2.32.
.PP
-Starting with version 2.32,
+Starting with glibc 2.32,
.\" glibc commit b1ccfc061feee9ce616444ded8e1cd5acf9fa97f
the
.I sys_siglist
diff --git a/man3/strspn.3 b/man3/strspn.3
index 8845019c4..87e6cc869 100644
--- a/man3/strspn.3
+++ b/man3/strspn.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 17:57:50 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRSPN 3 2022-10-09 "Linux man-pages 6.01"
+.TH strspn 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strspn, strcspn \- get length of a prefix substring
.SH LIBRARY
diff --git a/man3/strstr.3 b/man3/strstr.3
index 0b3fb13c0..ce12e8276 100644
--- a/man3/strstr.3
+++ b/man3/strstr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Added history, aeb, 980113.
.\" 2005-05-05 mtk: added strcasestr()
.\"
-.TH STRSTR 3 2022-10-09 "Linux man-pages 6.01"
+.TH strstr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strstr, strcasestr \- locate a substring
.SH LIBRARY
diff --git a/man3/strtod.3 b/man3/strtod.3
index 0de5ef9b7..e2f6373e8 100644
--- a/man3/strtod.3
+++ b/man3/strtod.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
@@ -14,7 +15,7 @@
.\" (michael@cantor.informatik.rwth-aachen.de)
.\" Added strof, strtold, aeb, 2001-06-07
.\"
-.TH STRTOD 3 2022-10-09 "Linux man-pages 6.01"
+.TH strtod 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strtod, strtof, strtold \- convert ASCII string to floating-point number
.SH LIBRARY
diff --git a/man3/strtoimax.3 b/man3/strtoimax.3
index 1260d36f3..4817e59d3 100644
--- a/man3/strtoimax.3
+++ b/man3/strtoimax.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH STRTOIMAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH strtoimax 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strtoimax, strtoumax \- convert string to integer
.SH LIBRARY
diff --git a/man3/strtok.3 b/man3/strtok.3
index ea05e27d9..47db904bf 100644
--- a/man3/strtok.3
+++ b/man3/strtok.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2005, 2013 Michael Kerrisk <mtk.manpages@gmail.com>
.\" a few fragments from an earlier (1996) version by
.\" Andries Brouwer (aeb@cwi.nl) remain.
@@ -9,7 +10,7 @@
.\" 2005-11-17, mtk: Substantial parts rewritten
.\" 2013-05-19, mtk: added much further detail on the operation of strtok()
.\"
-.TH STRTOK 3 2022-10-09 "Linux man-pages 6.01"
+.TH strtok 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strtok, strtok_r \- extract tokens from strings
.SH LIBRARY
@@ -188,13 +189,13 @@ that is being used to parse
.SH BUGS
Be cautious when using these functions.
If you do use them, note that:
-.IP * 2
+.IP \(bu 3
These functions modify their first argument.
-.IP *
+.IP \(bu
These functions cannot be used on constant strings.
-.IP *
+.IP \(bu
The identity of the delimiting byte is lost.
-.IP *
+.IP \(bu
The
.BR strtok ()
function uses a static buffer while parsing, so it's not thread safe.
diff --git a/man3/strtol.3 b/man3/strtol.3
index 1bb78f24a..257142237 100644
--- a/man3/strtol.3
+++ b/man3/strtol.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2006 Michael Kerrisk <mtk.manpages@ganil.com>
.\"
@@ -9,7 +10,7 @@
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:53:39 1993 by Rik Faith (faith@cs.unc.edu)
.\" Added correction due to nsd@bbc.com (Nick Duffek) - aeb, 950610
-.TH STRTOL 3 2022-10-09 "Linux man-pages 6.01"
+.TH strtol 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strtol, strtoll, strtoq \- convert a string to a long integer
.SH LIBRARY
diff --git a/man3/strtoul.3 b/man3/strtoul.3
index 82cc36028..1cbfe3349 100644
--- a/man3/strtoul.3
+++ b/man3/strtoul.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Fixed typo, aeb, 950823
.\" 2002-02-22, joey, mihtjel: Added strtoull()
.\"
-.TH STRTOUL 3 2022-10-09 "Linux man-pages 6.01"
+.TH strtoul 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strtoul, strtoull, strtouq \- convert a string to an unsigned long integer
.SH LIBRARY
diff --git a/man3/strverscmp.3 b/man3/strverscmp.3
index 128dc842c..fabfe52b3 100644
--- a/man3/strverscmp.3
+++ b/man3/strverscmp.3
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
.\" and Copyright (C) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH STRVERSCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH strverscmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strverscmp \- compare two version strings
.SH LIBRARY
diff --git a/man3/strxfrm.3 b/man3/strxfrm.3
index 5d08f2e22..ff0f015ea 100644
--- a/man3/strxfrm.3
+++ b/man3/strxfrm.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sun Jul 25 10:41:28 1993 by Rik Faith (faith@cs.unc.edu)
-.TH STRXFRM 3 2022-10-09 "Linux man-pages 6.01"
+.TH strxfrm 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
strxfrm \- string transformation
.SH LIBRARY
@@ -17,7 +18,8 @@ Standard C library
.nf
.B #include <string.h>
.PP
-.BI "size_t strxfrm(char *restrict " dest ", const char *restrict " src ,
+.BI "size_t strxfrm(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
diff --git a/man3/swab.3 b/man3/swab.3
index 7a92ab32f..d2a46472d 100644
--- a/man3/swab.3
+++ b/man3/swab.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 17:52:15 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2001-12-15, aeb
-.TH SWAB 3 2022-10-09 "Linux man-pages 6.01"
+.TH swab 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
swab \- swap adjacent bytes
.SH LIBRARY
@@ -19,8 +20,8 @@ Standard C library
.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
.B #include <unistd.h>
.PP
-.BI "void swab(const void *restrict " from ", void *restrict " to \
-", ssize_t " n );
+.BI "void swab(const void " from "[restrict ." n "], void " to "[restrict ." n ],
+.BI " ssize_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/sysconf.3 b/man3/sysconf.3
index 5bc08c7cc..27d3957e0 100644
--- a/man3/sysconf.3
+++ b/man3/sysconf.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 17:51:42 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Tue Aug 17 11:42:20 1999 by Ariel Scolnicov (ariels@compugen.co.il)
-.TH SYSCONF 3 2022-10-09 "Linux man-pages 6.01"
+.TH sysconf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sysconf \- get configuration information at run time
.SH LIBRARY
@@ -310,7 +311,7 @@ See also
The return value of
.BR sysconf ()
is one of the following:
-.IP * 3
+.IP \(bu 3
On error, \-1 is returned and
.I errno
is set to indicate the error
@@ -319,7 +320,7 @@ is set to indicate the error
indicating that
.I name
is invalid).
-.IP *
+.IP \(bu
If
.I name
corresponds to a maximum or minimum limit, and that limit is indeterminate,
@@ -331,13 +332,13 @@ is not changed.
to zero before the call, and then check whether
.I errno
is nonzero when \-1 is returned.)
-.IP *
+.IP \(bu
If
.I name
corresponds to an option,
a positive value is returned if the option is supported,
and \-1 is returned if the option is not supported.
-.IP *
+.IP \(bu
Otherwise,
the current value of the option or limit is returned.
This value will not be more restrictive than
diff --git a/man3/syslog.3 b/man3/syslog.3
index 9ebd3cf18..785d74e59 100644
--- a/man3/syslog.3
+++ b/man3/syslog.3
@@ -1,3 +1,4 @@
+'\" t
.\" Written Feb 1994 by Steve Greenland (stevegr@neosoft.com)
.\" and Copyright 2001, 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -14,7 +15,7 @@
.\" Modified 13 Dec 2001, Martin Schulze <joey@infodrom.org>
.\" Modified 3 Jan 2002, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH SYSLOG 3 2022-10-09 "Linux man-pages 6.01"
+.TH syslog 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
closelog, openlog, syslog, vsyslog \- send messages to the system logger
.SH LIBRARY
diff --git a/man3/system.3 b/man3/system.3
index 204dc7698..da6073000 100644
--- a/man3/system.3
+++ b/man3/system.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (c) 2014 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -8,7 +9,7 @@
.\" Modified 14 May 2001, 23 Sep 2001 by aeb
.\" 2004-12-20, mtk
.\"
-.TH SYSTEM 3 2022-10-09 "Linux man-pages 6.01"
+.TH system 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
system \- execute a shell command
.SH LIBRARY
@@ -61,23 +62,23 @@ returns a status indicating whether a shell is available on the system.
The return value of
.BR system ()
is one of the following:
-.IP * 3
+.IP \(bu 3
If
.I command
is NULL, then a nonzero value if a shell is available,
or 0 if no shell is available.
-.IP *
+.IP \(bu
If a child process could not be created,
or its status could not be retrieved,
the return value is \-1 and
.I errno
is set to indicate the error.
-.IP *
+.IP \(bu
If a shell could not be executed in the child process,
then the return value is as though the child shell terminated by calling
.BR _exit (2)
with the status 127.
-.IP *
+.IP \(bu
If all system calls succeed,
then the return value is the termination status of the child shell
used to execute
@@ -178,7 +179,7 @@ are called during the execution of
.BR system ().
In the glibc implementation, such handlers are not called.
.PP
-In versions of glibc before 2.1.3, the check for the availability of
+Before glibc 2.1.3, the check for the availability of
.I /bin/sh
was not actually performed if
.I command
diff --git a/man3/sysv_signal.3 b/man3/sysv_signal.3
index 6da587e05..d59851d1e 100644
--- a/man3/sysv_signal.3
+++ b/man3/sysv_signal.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2007 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SYSV_SIGNAL 3 2022-10-09 "Linux man-pages 6.01"
+.TH sysv_signal 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sysv_signal \- signal handling with System V semantics
.SH LIBRARY
diff --git a/man3/tailq.3 b/man3/tailq.3
index 79b8a94ce..6587e0c0f 100644
--- a/man3/tailq.3
+++ b/man3/tailq.3
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH TAILQ 3 2022-10-09 "Linux man-pages 6.01"
+.TH TAILQ 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
TAILQ_CONCAT,
TAILQ_EMPTY,
diff --git a/man3/tan.3 b/man3/tan.3
index de01d8ba2..beb6df57f 100644
--- a/man3/tan.3
+++ b/man3/tan.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH TAN 3 2022-10-09 "Linux man-pages 6.01"
+.TH tan 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tan, tanf, tanl \- tangent function
.SH LIBRARY
@@ -130,7 +131,7 @@ The variant returning
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-Before version 2.10, the glibc implementation did not set
+Before glibc 2.10, the glibc implementation did not set
.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6782
.I errno
to
diff --git a/man3/tanh.3 b/man3/tanh.3
index ba7a63e99..153f6af90 100644
--- a/man3/tanh.3
+++ b/man3/tanh.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -12,7 +13,7 @@
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
.\"
-.TH TANH 3 2022-10-09 "Linux man-pages 6.01"
+.TH tanh 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tanh, tanhf, tanhl \- hyperbolic tangent function
.SH LIBRARY
diff --git a/man3/tcgetpgrp.3 b/man3/tcgetpgrp.3
index 2e69339ae..44b937e33 100644
--- a/man3/tcgetpgrp.3
+++ b/man3/tcgetpgrp.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TCGETPGRP 3 2022-10-09 "Linux man-pages 6.01"
+.TH tcgetpgrp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tcgetpgrp, tcsetpgrp \- get and set terminal foreground process group
.SH LIBRARY
diff --git a/man3/tcgetsid.3 b/man3/tcgetsid.3
index 25670fc22..21b0009dc 100644
--- a/man3/tcgetsid.3
+++ b/man3/tcgetsid.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TCGETSID 3 2022-10-09 "Linux man-pages 6.01"
+.TH tcgetsid 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tcgetsid \- get session ID
.SH LIBRARY
@@ -45,7 +46,7 @@ it has one but it is not described by
.IR fd .
.SH VERSIONS
.BR tcgetsid ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/telldir.3 b/man3/telldir.3
index ec6fbaf74..eb00aacf0 100644
--- a/man3/telldir.3
+++ b/man3/telldir.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -7,7 +8,7 @@
.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\" 386BSD man pages
.\" Modified Sat Jul 24 17:48:42 1993 by Rik Faith (faith@cs.unc.edu)
-.TH TELLDIR 3 2022-10-09 "Linux man-pages 6.01"
+.TH telldir 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
telldir \- return current location in directory stream
.SH LIBRARY
@@ -28,7 +29,7 @@ Feature Test Macro Requirements for glibc (see
.BR telldir ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
@@ -68,7 +69,7 @@ T} Thread safety MT-Safe
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
.SH NOTES
-In glibc up to version 2.1.1, the return type of
+Up to glibc 2.1.1, the return type of
.BR telldir ()
was
.IR off_t .
diff --git a/man3/tempnam.3 b/man3/tempnam.3
index 2a6021629..15ea26e3d 100644
--- a/man3/tempnam.3
+++ b/man3/tempnam.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TEMPNAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH tempnam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tempnam \- create a name for a temporary file
.SH LIBRARY
diff --git a/man3/termios.3 b/man3/termios.3
index ef19059bf..f20305d4a 100644
--- a/man3/termios.3
+++ b/man3/termios.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de)
.\" Fri Apr 2 11:32:09 MET DST 1993
.\" Copyright (c) 2006-2015, Michael Kerrisk <mtk.manpages@gmail.com>
@@ -18,7 +19,7 @@
.\" Enhanced the discussion of "raw" mode for cfmakeraw().
.\" Document CMSPAR.
.\"
-.TH TERMIOS 3 2022-10-09 "Linux man-pages 6.01"
+.TH termios 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow,
cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed \-
@@ -669,15 +670,18 @@ sets the parameters associated with the terminal (unless support is
required from the underlying hardware that is not available) from the
\fItermios\fP structure referred to by \fItermios_p\fP.
\fIoptional_actions\fP specifies when the changes take effect:
-.IP \fBTCSANOW\fP
+.TP
+.B TCSANOW
the change occurs immediately.
-.IP \fBTCSADRAIN\fP
+.TP
+.B TCSADRAIN
the change occurs after all output written to
.I fd
has been transmitted.
This option should be used when changing
parameters that affect output.
-.IP \fBTCSAFLUSH\fP
+.TP
+.B TCSAFLUSH
the change occurs after all output written to the object referred by
.I fd
has been transmitted, and all input that has been received but not read
@@ -698,14 +702,14 @@ By default,
is set.
.PP
In canonical mode:
-.IP * 2
+.IP \(bu 3
Input is made available line by line.
An input line is available when one of the line delimiters
is typed (NL, EOL, EOL2; or EOF at the start of line).
Except in the case of EOF, the line delimiter is included
in the buffer returned by
.BR read (2).
-.IP * 2
+.IP \(bu
Line editing is enabled (ERASE, KILL;
and if the
.B IEXTEN
@@ -718,7 +722,7 @@ requested fewer bytes than are available in the current line of input,
then only as many bytes as requested are read,
and the remaining characters will be available for a future
.BR read (2).
-.IP * 2
+.IP \(bu
The maximum line length is 4096 chars
(including the terminating newline character);
lines longer than 4096 chars are truncated.
@@ -782,11 +786,11 @@ the timer is restarted after each further byte is received.
.BR read (2)
returns when any of the following conditions is met:
.RS
-.IP * 3
+.IP \(bu 3
MIN bytes have been received.
-.IP *
+.IP \(bu
The interbyte timer expires.
-.IP *
+.IP \(bu
The number of bytes requested by
.BR read (2)
has been received.
@@ -866,11 +870,14 @@ discards data written to the object referred to by
but not transmitted, or data received but not read, depending on the
value of
.IR queue_selector :
-.IP \fBTCIFLUSH\fP
+.TP
+.B TCIFLUSH
flushes data received but not read.
-.IP \fBTCOFLUSH\fP
+.TP
+.B TCOFLUSH
flushes data written but not transmitted.
-.IP \fBTCIOFLUSH\fP
+.TP
+.B TCIOFLUSH
flushes both data received but not read, and data written but not
transmitted.
.PP
@@ -879,14 +886,18 @@ suspends transmission or reception of data on the object referred to by
.IR fd ,
depending on the value of
.IR action :
-.IP \fBTCOOFF\fP
+.TP
+.B TCOOFF
suspends output.
-.IP \fBTCOON\fP
+.TP
+.B TCOON
restarts suspended output.
-.IP \fBTCIOFF\fP
+.TP
+.B TCIOFF
transmits a STOP character, which stops the terminal device from
transmitting data to the system.
-.IP \fBTCION\fP
+.TP
+.B TCION
transmits a START character, which starts the terminal device
transmitting data to the system.
.PP
@@ -1058,9 +1069,11 @@ structure.
returns the output baud rate stored in the \fItermios\fP structure.
.PP
All other functions return:
-.IP 0
+.TP
+.B 0
on success.
-.IP \-1
+.TP
+.B \-1
on failure and set
.I errno
to indicate the error.
@@ -1166,7 +1179,7 @@ behaves like
.SH BUGS
.\" kernel 77e5bff1640432f28794a00800955e646dcd7455
.\" glibc 573963e32ffac46d9891970ddebde2ac3212c5c0
-On the Alpha architecture before Linux 4.16 (and glibc before 2.28), the
+On the Alpha architecture before Linux 4.16 (and glibc before glibc 2.28), the
.B XTABS
value was different from
.B TAB3
diff --git a/man3/tgamma.3 b/man3/tgamma.3
index 46aaa1ce1..483471b45 100644
--- a/man3/tgamma.3
+++ b/man3/tgamma.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -8,7 +9,7 @@
.\" Modified 2004-11-15, fixed error noted by Fabian Kreutz
.\" <kreutz@dbs.uni-hannover.de>
.\"
-.TH TGAMMA 3 2022-10-09 "Linux man-pages 6.01"
+.TH tgamma 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tgamma, tgammaf, tgammal \- true gamma function
.SH LIBRARY
@@ -156,7 +157,7 @@ is set to
.\" glibc (as at 2.8) also supports an inexact
.\" exception for various cases.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
@@ -186,7 +187,7 @@ that returns something else (see
.BR gamma (3)
for details).
.SH BUGS
-Before version 2.18, the glibc implementation of these functions did not set
+Before glibc 2.18, the glibc implementation of these functions did not set
.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6809
.I errno
to
diff --git a/man3/timegm.3 b/man3/timegm.3
index 11d6bb99b..afd927c5e 100644
--- a/man3/timegm.3
+++ b/man3/timegm.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TIMEGM 3 2022-10-09 "Linux man-pages 6.01"
+.TH timegm 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
timegm, timelocal \- inverses of gmtime and localtime
.SH LIBRARY
diff --git a/man3/timeradd.3 b/man3/timeradd.3
index 37a57a6c9..5a4924d45 100644
--- a/man3/timeradd.3
+++ b/man3/timeradd.3
@@ -4,7 +4,7 @@
.\"
.\" 2007-07-31, mtk, Created
.\"
-.TH TIMERADD 3 2022-10-09 "Linux man-pages 6.01"
+.TH timeradd 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timeradd, timersub, timercmp, timerclear, timerisset \- timeval operations
.SH LIBRARY
diff --git a/man3/tmpfile.3 b/man3/tmpfile.3
index 437909ee0..80003fce9 100644
--- a/man3/tmpfile.3
+++ b/man3/tmpfile.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -8,7 +9,7 @@
.\" 386BSD man pages
.\" Modified Sat Jul 24 17:46:57 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2001-11-17, aeb
-.TH TMPFILE 3 2022-10-09 "Linux man-pages 6.01"
+.TH tmpfile 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tmpfile \- create a temporary file
.SH LIBRARY
diff --git a/man3/tmpnam.3 b/man3/tmpnam.3
index edade3594..ce4336f8e 100644
--- a/man3/tmpnam.3
+++ b/man3/tmpnam.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 2003-11-15, aeb, added tmpnam_r
.\"
-.TH TMPNAM 3 2022-10-09 "Linux man-pages 6.01"
+.TH tmpnam 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tmpnam, tmpnam_r \- create a name for a temporary file
.SH LIBRARY
diff --git a/man3/toascii.3 b/man3/toascii.3
index de5b21320..84fa35264 100644
--- a/man3/toascii.3
+++ b/man3/toascii.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Added BUGS section, aeb, 950919
.\"
-.TH TOASCII 3 2022-10-09 "Linux man-pages 6.01"
+.TH toascii 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
toascii \- convert character to ASCII
.SH LIBRARY
@@ -25,7 +26,7 @@ Feature Test Macro Requirements for glibc (see
.BR toascii ():
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/toupper.3 b/man3/toupper.3
index 9c23ea3b3..fe90cca90 100644
--- a/man3/toupper.3
+++ b/man3/toupper.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -5,7 +6,7 @@
.\"
.\" Modified Sat Jul 24 17:45:39 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2000-02-13 by Nicolás Lichtmaier <nick@debian.org>
-.TH TOUPPER 3 2022-10-09 "Linux man-pages 6.01"
+.TH toupper 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
toupper, tolower, toupper_l, tolower_l \- convert uppercase or lowercase
.SH LIBRARY
diff --git a/man3/towctrans.3 b/man3/towctrans.3
index ffb37958b..26ee35e45 100644
--- a/man3/towctrans.3
+++ b/man3/towctrans.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH TOWCTRANS 3 2022-10-09 "Linux man-pages 6.01"
+.TH towctrans 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
towctrans \- wide-character transliteration
.SH LIBRARY
@@ -23,7 +24,7 @@ Standard C library
.SH DESCRIPTION
If
.I wc
-is a wide character, the
+is a wide character, then the
.BR towctrans ()
function
translates it according to the transliteration descriptor
diff --git a/man3/towlower.3 b/man3/towlower.3
index 43ea819a5..a9716b9f9 100644
--- a/man3/towlower.3
+++ b/man3/towlower.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\" and Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
@@ -9,7 +10,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH TOWLOWER 3 2022-10-09 "Linux man-pages 6.01"
+.TH towlower 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
towlower, towlower_l \- convert a wide character to lowercase
.SH LIBRARY
diff --git a/man3/towupper.3 b/man3/towupper.3
index 7b327aefc..0832e3dbf 100644
--- a/man3/towupper.3
+++ b/man3/towupper.3
@@ -1,3 +1,4 @@
+'\" t
.\" and Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH TOWUPPER 3 2022-10-09 "Linux man-pages 6.01"
+.TH towupper 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
towupper, towupper_l \- convert a wide character to uppercase
.SH LIBRARY
diff --git a/man3/trunc.3 b/man3/trunc.3
index b6d2c6608..b005d0544 100644
--- a/man3/trunc.3
+++ b/man3/trunc.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TRUNC 3 2022-10-09 "Linux man-pages 6.01"
+.TH trunc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
trunc, truncf, truncl \- round to integer, toward zero
.SH LIBRARY
@@ -44,7 +45,7 @@ itself is returned.
.SH ERRORS
No errors occur.
.SH VERSIONS
-These functions first appeared in glibc in version 2.1.
+These functions were added in glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/tsearch.3 b/man3/tsearch.3
index 2d819cd63..0190c84aa 100644
--- a/man3/tsearch.3
+++ b/man3/tsearch.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TSEARCH 3 2022-10-09 "Linux man-pages 6.01"
+.TH tsearch 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tsearch, tfind, tdelete, twalk, twalk_r, tdestroy \- manage a binary search tree
.SH LIBRARY
@@ -193,7 +194,7 @@ return NULL if
was NULL on entry.
.SH VERSIONS
.BR twalk_r ()
-is available in glibc since version 2.30.
+is available since glibc 2.30.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/ttyname.3 b/man3/ttyname.3
index d23ac89a2..bcc25c7da 100644
--- a/man3/ttyname.3
+++ b/man3/ttyname.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1995 Jim Van Zandt <jrv@vanzandt.mv.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -5,7 +6,7 @@
.\" Modified 2001-12-13, Martin Schulze <joey@infodrom.org>
.\" Added ttyname_r, aeb, 2002-07-20
.\"
-.TH TTYNAME 3 2022-10-09 "Linux man-pages 6.01"
+.TH ttyname 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ttyname, ttyname_r \- return name of a terminal
.SH LIBRARY
@@ -16,7 +17,7 @@ Standard C library
.B #include <unistd.h>
.PP
.BI "char *ttyname(int " fd );
-.BI "int ttyname_r(int " fd ", char *" buf ", size_t " buflen );
+.BI "int ttyname_r(int " fd ", char " buf [. buflen "], size_t " buflen );
.fi
.SH DESCRIPTION
The function
diff --git a/man3/ttyslot.3 b/man3/ttyslot.3
index 9ef7c9b10..471eccc8f 100644
--- a/man3/ttyslot.3
+++ b/man3/ttyslot.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -5,7 +6,7 @@
.\" This replaces an earlier man page written by Walter Harms
.\" <walter.harms@informatik.uni-oldenburg.de>.
.\"
-.TH TTYSLOT 3 2022-10-09 "Linux man-pages 6.01"
+.TH ttyslot 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ttyslot \- find the slot of the current user's terminal in some file
.SH LIBRARY
@@ -27,7 +28,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.24:
_DEFAULT_SOURCE
- From glibc 2.20 to 2.23:
+ From glibc 2.20 to glibc 2.23:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Glibc 2.19 and earlier:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
diff --git a/man3/tzset.3 b/man3/tzset.3
index f7a3601be..f39a8efa0 100644
--- a/man3/tzset.3
+++ b/man3/tzset.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 2001-11-13, aeb
.\" Modified 2004-12-01 mtk and Martin Schulze <joey@infodrom.org>
.\"
-.TH TZSET 3 2022-10-09 "Linux man-pages 6.01"
+.TH tzset 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
tzset, tzname, timezone, daylight \- initialize time conversion information
.SH LIBRARY
@@ -46,7 +47,7 @@ Feature Test Macro Requirements for glibc (see
.IR daylight :
.nf
_XOPEN_SOURCE
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE
.fi
.SH DESCRIPTION
diff --git a/man3/ualarm.3 b/man3/ualarm.3
index 18a8b1075..51474049f 100644
--- a/man3/ualarm.3
+++ b/man3/ualarm.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH UALARM 3 2022-10-09 "Linux man-pages 6.01"
+.TH ualarm 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ualarm \- schedule signal after given number of microseconds
.SH LIBRARY
@@ -24,7 +25,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
@@ -102,7 +103,7 @@ The type
.I useconds_t
is an unsigned integer type capable of holding integers
in the range [0,1000000].
-On the original BSD implementation, and in glibc before version 2.1,
+On the original BSD implementation, and in glibc before glibc 2.1,
the arguments to
.BR ualarm ()
were instead typed as
diff --git a/man3/ulimit.3 b/man3/ulimit.3
index 4bf2e6b9a..0f1a8a8a8 100644
--- a/man3/ulimit.3
+++ b/man3/ulimit.3
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Moved to man3, aeb, 980612
.\"
-.TH ULIMIT 3 2022-10-09 "Linux man-pages 6.01"
+.TH ulimit 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ulimit \- get and set user limits
.SH LIBRARY
diff --git a/man3/undocumented.3 b/man3/undocumented.3
index d9fc86f16..7b5ff8bc5 100644
--- a/man3/undocumented.3
+++ b/man3/undocumented.3
@@ -7,7 +7,7 @@
.\" 2004-10-31, aeb, changed maintainer address, updated list
.\" 2015-04-20, william@tuffbizz.com, updated list
.\"
-.TH UNDOCUMENTED 3 2022-10-09 "Linux man-pages 6.01"
+.TH undocumented 3 2022-10-30 "Linux man-pages 6.02"
.SH NAME
undocumented \- undocumented library functions
.SH SYNOPSIS
diff --git a/man3/ungetwc.3 b/man3/ungetwc.3
index 85e7fedda..f79477183 100644
--- a/man3/ungetwc.3
+++ b/man3/ungetwc.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH UNGETWC 3 2022-10-09 "Linux man-pages 6.01"
+.TH ungetwc 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ungetwc \- push back a wide character onto a FILE stream
.SH LIBRARY
diff --git a/man3/unlocked_stdio.3 b/man3/unlocked_stdio.3
index e348e96eb..74e22670a 100644
--- a/man3/unlocked_stdio.3
+++ b/man3/unlocked_stdio.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>.
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH UNLOCKED_STDIO 3 2022-10-09 "Linux man-pages 6.01"
+.TH UNLOCKED_STDIO 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
getc_unlocked, getchar_unlocked, putc_unlocked,
putchar_unlocked \- nonlocking stdio functions
@@ -27,13 +28,14 @@ Standard C library
.BI "int fgetc_unlocked(FILE *" stream );
.BI "int fputc_unlocked(int " c ", FILE *" stream );
.PP
-.BI "size_t fread_unlocked(void *restrict " ptr ", size_t " size ", size_t " n ,
+.BI "size_t fread_unlocked(void " ptr "[restrict ." size " * ." n ],
+.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
-.BI "size_t fwrite_unlocked(const void *restrict " ptr ", size_t " size \
-", size_t " n ,
+.BI "size_t fwrite_unlocked(const void " ptr "[restrict ." size " * ." n ],
+.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
.PP
-.BI "char *fgets_unlocked(char *restrict " s ", int " n \
+.BI "char *fgets_unlocked(char " s "[restrict ." n "], int " n \
", FILE *restrict " stream );
.BI "int fputs_unlocked(const char *restrict " s ", FILE *restrict " stream );
.PP
@@ -47,7 +49,7 @@ Standard C library
.BI "wint_t putwc_unlocked(wchar_t " wc ", FILE *" stream );
.BI "wint_t putwchar_unlocked(wchar_t " wc );
.PP
-.BI "wchar_t *fgetws_unlocked(wchar_t *restrict " ws ", int " n ,
+.BI "wchar_t *fgetws_unlocked(wchar_t " ws "[restrict ." n "], int " n ,
.BI " FILE *restrict " stream );
.BI "int fputws_unlocked(const wchar_t *restrict " ws ,
.BI " FILE *restrict " stream );
@@ -65,7 +67,7 @@ Feature Test Macro Requirements for glibc (see
.BR putc_unlocked (),
.BR putchar_unlocked ():
.nf
- /* Since glibc 2.24: */ _POSIX_C_SOURCE >= 199309L
+ /* Glibc >= 2.24: */ _POSIX_C_SOURCE >= 199309L
|| /* Glibc <= 2.23: */ _POSIX_C_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
@@ -80,7 +82,7 @@ Feature Test Macro Requirements for glibc (see
.BR fread_unlocked (),
.BR fwrite_unlocked ():
.nf
- /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
.fi
.PP
diff --git a/man3/unlockpt.3 b/man3/unlockpt.3
index a09447196..99b16d14a 100644
--- a/man3/unlockpt.3
+++ b/man3/unlockpt.3
@@ -1,8 +1,9 @@
+'\" t
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This page is in the public domain. - aeb
.\" %%%LICENSE_END
.\"
-.TH UNLOCKPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH unlockpt 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
unlockpt \- unlock a pseudoterminal master/slave pair
.SH LIBRARY
@@ -58,7 +59,7 @@ The
argument is not associated with a master pseudoterminal.
.SH VERSIONS
.BR unlockpt ()
-is provided in glibc since version 2.1.
+is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/updwtmp.3 b/man3/updwtmp.3
index 4b5cccbdc..18c14fe04 100644
--- a/man3/updwtmp.3
+++ b/man3/updwtmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1997 Nicolás Lichtmaier <nick@debian.org>
.\" Created Wed Jul 2 23:27:34 ART 1997
.\"
@@ -7,7 +8,7 @@
.\" Added -lutil remark, 030718
.\" 2008-07-02, mtk, document updwtmpx()
.\"
-.TH UPDWTMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH updwtmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
updwtmp, logwtmp \- append an entry to the wtmp file
.SH LIBRARY
@@ -62,7 +63,7 @@ Present on Solaris, NetBSD, and perhaps other systems.
.SH NOTES
For consistency with the other "utmpx" functions (see
.BR getutxent (3)),
-glibc provides (since version 2.1):
+glibc provides (since glibc 2.1):
.PP
.in +4n
.EX
diff --git a/man3/uselocale.3 b/man3/uselocale.3
index 5fdbda148..10809f3ec 100644
--- a/man3/uselocale.3
+++ b/man3/uselocale.3
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH USELOCALE 3 2022-10-09 "Linux man-pages 6.01"
+.TH uselocale 3 2022-12-04 "Linux man-pages 6.02"
.SH NAME
uselocale \- set/get the locale for the calling thread
.SH LIBRARY
@@ -73,7 +73,7 @@ does not refer to a valid locale object.
.SH VERSIONS
The
.BR uselocale ()
-function first appeared in version 2.3 of the GNU C library.
+function first appeared in glibc 2.3.
.SH STANDARDS
POSIX.1-2008.
.SH NOTES
diff --git a/man3/usleep.3 b/man3/usleep.3
index 426ba0004..4c299bfd8 100644
--- a/man3/usleep.3
+++ b/man3/usleep.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -10,7 +11,7 @@
.\" Modified 2001-04-01 by aeb
.\" Modified 2003-07-23 by aeb
.\"
-.TH USLEEP 3 2022-10-09 "Linux man-pages 6.01"
+.TH usleep 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
usleep \- suspend execution for microsecond intervals
.SH LIBRARY
@@ -32,7 +33,7 @@ Feature Test Macro Requirements for glibc (see
.nf
Since glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
@@ -88,7 +89,7 @@ POSIX.1-2008 removes the specification of
.BR usleep ().
.PP
On the original BSD implementation,
-and in glibc before version 2.2.2, the return type of this function is
+and before glibc 2.2.2, the return type of this function is
.IR void .
The POSIX version returns
.IR int ,
diff --git a/man3/ustpcpy.3 b/man3/ustpcpy.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/ustpcpy.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3/ustr2stp.3 b/man3/ustr2stp.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/ustr2stp.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3/wcpcpy.3 b/man3/wcpcpy.3
index bdf115ecc..fbd871d6a 100644
--- a/man3/wcpcpy.3
+++ b/man3/wcpcpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCPCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcpcpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcpcpy \- copy a wide-character string, returning a pointer to its end
.SH LIBRARY
diff --git a/man3/wcpncpy.3 b/man3/wcpncpy.3
index a9b98edbb..077c81f23 100644
--- a/man3/wcpncpy.3
+++ b/man3/wcpncpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCPNCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcpncpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcpncpy \- copy a fixed-size string of wide characters,
returning a pointer to its end
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcpncpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcpncpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.PP
diff --git a/man3/wcrtomb.3 b/man3/wcrtomb.3
index 61a997488..89d659b6e 100644
--- a/man3/wcrtomb.3
+++ b/man3/wcrtomb.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCRTOMB 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcrtomb 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcrtomb \- convert a wide character to a multibyte sequence
.SH LIBRARY
diff --git a/man3/wcscasecmp.3 b/man3/wcscasecmp.3
index 1431d809d..6f92b8bb0 100644
--- a/man3/wcscasecmp.3
+++ b/man3/wcscasecmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSCASECMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcscasecmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcscasecmp \- compare two wide-character strings, ignoring case
.SH LIBRARY
@@ -71,7 +72,7 @@ ignoring case.
.SH VERSIONS
The
.BR wcscasecmp ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/wcscat.3 b/man3/wcscat.3
index 92c439710..e17a4e3de 100644
--- a/man3/wcscat.3
+++ b/man3/wcscat.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSCAT 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcscat 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcscat \- concatenate two wide-character strings
.SH LIBRARY
diff --git a/man3/wcschr.3 b/man3/wcschr.3
index 0d420e720..3f3c0e095 100644
--- a/man3/wcschr.3
+++ b/man3/wcschr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSCHR 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcschr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcschr \- search a wide character in a wide-character string
.SH LIBRARY
diff --git a/man3/wcscmp.3 b/man3/wcscmp.3
index eb5160102..28732a52c 100644
--- a/man3/wcscmp.3
+++ b/man3/wcscmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcscmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcscmp \- compare two wide-character strings
.SH LIBRARY
diff --git a/man3/wcscpy.3 b/man3/wcscpy.3
index 2603b2039..f91b1b107 100644
--- a/man3/wcscpy.3
+++ b/man3/wcscpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcscpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcscpy \- copy a wide-character string
.SH LIBRARY
diff --git a/man3/wcscspn.3 b/man3/wcscspn.3
index 7cce9754d..80d486ec0 100644
--- a/man3/wcscspn.3
+++ b/man3/wcscspn.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSCSPN 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcscspn 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcscspn \- search a wide-character string for any of a set of wide characters
.SH LIBRARY
diff --git a/man3/wcsdup.3 b/man3/wcsdup.3
index 6d951162b..ed4212b36 100644
--- a/man3/wcsdup.3
+++ b/man3/wcsdup.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSDUP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsdup 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsdup \- duplicate a wide-character string
.SH LIBRARY
diff --git a/man3/wcslen.3 b/man3/wcslen.3
index 2f36e6d3d..41d8ce48c 100644
--- a/man3/wcslen.3
+++ b/man3/wcslen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcslen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcslen \- determine the length of a wide-character string
.SH LIBRARY
diff --git a/man3/wcsncasecmp.3 b/man3/wcsncasecmp.3
index eb60e1c1d..cd6ee97b4 100644
--- a/man3/wcsncasecmp.3
+++ b/man3/wcsncasecmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSNCASECMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsncasecmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsncasecmp \- compare two fixed-size wide-character strings, ignoring case
.SH LIBRARY
@@ -17,7 +18,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "int wcsncasecmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wcsncasecmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], s\
+ize_t " n );
.fi
.PP
.RS -4
@@ -76,7 +78,7 @@ ignoring case.
.SH VERSIONS
The
.BR wcsncasecmp ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/wcsncat.3 b/man3/wcsncat.3
index a0707e260..81cb819ad 100644
--- a/man3/wcsncat.3
+++ b/man3/wcsncat.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSNCAT 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsncat 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsncat \- concatenate two wide-character strings
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcsncat(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcsncat(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
diff --git a/man3/wcsncmp.3 b/man3/wcsncmp.3
index 67fdfcda8..7edb0ef5f 100644
--- a/man3/wcsncmp.3
+++ b/man3/wcsncmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSNCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsncmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsncmp \- compare two fixed-size wide-character strings
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "int wcsncmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wcsncmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/wcsncpy.3 b/man3/wcsncpy.3
index 31654f267..7e8e9f161 100644
--- a/man3/wcsncpy.3
+++ b/man3/wcsncpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSNCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsncpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsncpy \- copy a fixed-size string of wide characters
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcsncpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcsncpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
diff --git a/man3/wcsnlen.3 b/man3/wcsnlen.3
index 988e848c0..ca2afb64d 100644
--- a/man3/wcsnlen.3
+++ b/man3/wcsnlen.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSNLEN 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsnlen 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsnlen \- determine the length of a fixed-size wide-character string
.SH LIBRARY
@@ -17,7 +18,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsnlen(const wchar_t *" s ", size_t " maxlen );
+.BI "size_t wcsnlen(const wchar_t " s [. maxlen "], size_t " maxlen );
.fi
.PP
.RS -4
@@ -70,7 +71,7 @@ wide characters pointed to by
.SH VERSIONS
The
.BR wcsnlen ()
-function is provided in glibc since version 2.1.
+function is provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/wcsnrtombs.3 b/man3/wcsnrtombs.3
index 1bda2bdb1..db6b28305 100644
--- a/man3/wcsnrtombs.3
+++ b/man3/wcsnrtombs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSNRTOMBS 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsnrtombs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsnrtombs \- convert a wide-character string to a multibyte string
.SH LIBRARY
@@ -17,9 +18,10 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsnrtombs(char *restrict " dest ", const wchar_t **restrict " src ,
-.BI " size_t " nwc ", size_t " len \
-", mbstate_t *restrict " ps );
+.BI "size_t wcsnrtombs(char " dest "[restrict ." len "], \
+const wchar_t **restrict " src ,
+.BI " size_t " nwc ", size_t " len ", \
+mbstate_t *restrict " ps );
.fi
.PP
.RS -4
@@ -77,7 +79,7 @@ number of bytes written and
.I *src
by one.
The conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
A wide character has been encountered that can not be represented as a
multibyte sequence (according to the current locale).
In this case,
@@ -89,7 +91,7 @@ and
.I errno
is set to
.BR EILSEQ .
-.IP 2.
+.IP \(bu
.I nwc
wide characters have been
converted without encountering a null wide character (L\(aq\e0\(aq),
@@ -101,7 +103,7 @@ to the next wide character to be converted, and the number of bytes written
to
.I dest
is returned.
-.IP 3.
+.IP \(bu
The wide-character string has been completely converted, including the
terminating null wide character (which has the side effect of bringing back
.I *ps
diff --git a/man3/wcspbrk.3 b/man3/wcspbrk.3
index 712d06d48..95d7ef91e 100644
--- a/man3/wcspbrk.3
+++ b/man3/wcspbrk.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSPBRK 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcspbrk 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcspbrk \- search a wide-character string for any of a set of wide characters
.SH LIBRARY
diff --git a/man3/wcsrchr.3 b/man3/wcsrchr.3
index 49383fef2..3d96ad7ec 100644
--- a/man3/wcsrchr.3
+++ b/man3/wcsrchr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSRCHR 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsrchr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsrchr \- search a wide character in a wide-character string
.SH LIBRARY
diff --git a/man3/wcsrtombs.3 b/man3/wcsrtombs.3
index 306e1f8ef..1cf084bae 100644
--- a/man3/wcsrtombs.3
+++ b/man3/wcsrtombs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSRTOMBS 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsrtombs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsrtombs \- convert a wide-character string to a multibyte string
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsrtombs(char *restrict " dest ", const wchar_t **restrict " src ,
+.BI "size_t wcsrtombs(char " dest "[restrict ." len "], \
+const wchar_t **restrict " src ,
.BI " size_t " len ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
@@ -50,7 +52,7 @@ number of bytes written and
.I *src
by one.
The conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
A wide character has been encountered that can not be represented as a
multibyte sequence (according to the current locale).
In this case,
@@ -62,7 +64,7 @@ and
.I errno
is set to
.BR EILSEQ .
-.IP 2.
+.IP \(bu
The length limit forces a stop.
In this case,
.I *src
@@ -71,7 +73,7 @@ to the next wide character to be converted,
and the number of bytes written to
.I dest
is returned.
-.IP 3.
+.IP \(bu
The wide-character string has been completely converted, including the
terminating null wide character (L\(aq\e0\(aq),
which has the side effect of bringing back
diff --git a/man3/wcsspn.3 b/man3/wcsspn.3
index ff54a0be5..948495cbe 100644
--- a/man3/wcsspn.3
+++ b/man3/wcsspn.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,10 +9,9 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSSPN 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsspn 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
-wcsspn \- advance in a wide-character string, skipping
-any of a set of wide characters
+wcsspn \- get length of a prefix wide-character substring
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
diff --git a/man3/wcsstr.3 b/man3/wcsstr.3
index 7619d3b7b..57fc48b38 100644
--- a/man3/wcsstr.3
+++ b/man3/wcsstr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSSTR 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcsstr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcsstr \- locate a substring in a wide-character string
.SH LIBRARY
diff --git a/man3/wcstoimax.3 b/man3/wcstoimax.3
index 3baa0d42a..77bc78614 100644
--- a/man3/wcstoimax.3
+++ b/man3/wcstoimax.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH WCSTOIMAX 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcstoimax 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcstoimax, wcstoumax \- convert wide-character string to integer
.SH LIBRARY
diff --git a/man3/wcstok.3 b/man3/wcstok.3
index a6a907ccd..fcc63a595 100644
--- a/man3/wcstok.3
+++ b/man3/wcstok.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSTOK 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcstok 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcstok \- split wide-character string into tokens
.SH LIBRARY
diff --git a/man3/wcstombs.3 b/man3/wcstombs.3
index 2aa97c404..72433feae 100644
--- a/man3/wcstombs.3
+++ b/man3/wcstombs.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSTOMBS 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcstombs 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcstombs \- convert a wide-character string to a multibyte string
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.nf
.B #include <stdlib.h>
.PP
-.BI "size_t wcstombs(char *restrict " dest ", const wchar_t *restrict " src ,
+.BI "size_t wcstombs(char " dest "[restrict ." n "], \
+const wchar_t *restrict " src ,
.BI " size_t " n );
.fi
.SH DESCRIPTION
@@ -39,18 +41,18 @@ The sequence of characters placed in
.I dest
begins in the initial shift state.
The conversion can stop for three reasons:
-.IP 1. 3
+.IP \(bu 3
A wide character has been encountered that can not be represented as a
multibyte sequence (according to the current locale).
In this case,
.I (size_t)\ \-1
is returned.
-.IP 2.
+.IP \(bu
The length limit forces a stop.
In this case, the number of bytes written to
.I dest
is returned, but the shift state at this point is lost.
-.IP 3.
+.IP \(bu
The wide-character string has been completely converted, including the
terminating null wide character (L\(aq\e0\(aq).
In this case, the conversion ends in the initial shift state.
diff --git a/man3/wcswidth.3 b/man3/wcswidth.3
index a2df0f15b..27e1e723c 100644
--- a/man3/wcswidth.3
+++ b/man3/wcswidth.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCSWIDTH 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcswidth 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcswidth \- determine columns needed for a fixed-size wide-character string
.SH LIBRARY
diff --git a/man3/wctob.3 b/man3/wctob.3
index abf2e01a8..c1c0de5b8 100644
--- a/man3/wctob.3
+++ b/man3/wctob.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCTOB 3 2022-10-09 "Linux man-pages 6.01"
+.TH wctob 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wctob \- try to represent a wide character as a single byte
.SH LIBRARY
diff --git a/man3/wctomb.3 b/man3/wctomb.3
index ccdfc31dc..9f8fc3082 100644
--- a/man3/wctomb.3
+++ b/man3/wctomb.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCTOMB 3 2022-10-09 "Linux man-pages 6.01"
+.TH wctomb 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wctomb \- convert a wide character to a multibyte sequence
.SH LIBRARY
diff --git a/man3/wctrans.3 b/man3/wctrans.3
index acbd302a8..11d0a262b 100644
--- a/man3/wctrans.3
+++ b/man3/wctrans.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCTRANS 3 2022-10-09 "Linux man-pages 6.01"
+.TH wctrans 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wctrans \- wide-character translation mapping
.SH LIBRARY
diff --git a/man3/wctype.3 b/man3/wctype.3
index 0d9b245f1..1eab4a80b 100644
--- a/man3/wctype.3
+++ b/man3/wctype.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCTYPE 3 2022-10-09 "Linux man-pages 6.01"
+.TH wctype 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wctype \- wide-character classification
.SH LIBRARY
diff --git a/man3/wcwidth.3 b/man3/wcwidth.3
index aaf9958db..73b708fee 100644
--- a/man3/wcwidth.3
+++ b/man3/wcwidth.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WCWIDTH 3 2022-10-09 "Linux man-pages 6.01"
+.TH wcwidth 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wcwidth \- determine columns needed for a wide character
.SH LIBRARY
@@ -60,7 +61,7 @@ T} Thread safety MT-Safe locale
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.PP
-Note that glibc before 2.2.5 used the prototype
+Note that before glibc 2.2.5, glibc used the prototype
.PP
.nf
.BI "int wcwidth(wint_t " c );
diff --git a/man3/wmemchr.3 b/man3/wmemchr.3
index 21a94d217..f3f96fbe3 100644
--- a/man3/wmemchr.3
+++ b/man3/wmemchr.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WMEMCHR 3 2022-10-09 "Linux man-pages 6.01"
+.TH wmemchr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wmemchr \- search a wide character in a wide-character array
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemchr(const wchar_t *" s ", wchar_t " c ", size_t " n );
+.BI "wchar_t *wmemchr(const wchar_t " s [. n "], wchar_t " c ", size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/wmemcmp.3 b/man3/wmemcmp.3
index 1de8aee9f..48da3ceee 100644
--- a/man3/wmemcmp.3
+++ b/man3/wmemcmp.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -7,7 +8,7 @@
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
-.TH WMEMCMP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wmemcmp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wmemcmp \- compare two arrays of wide-characters
.SH LIBRARY
@@ -17,7 +18,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "int wmemcmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wmemcmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/wmemcpy.3 b/man3/wmemcpy.3
index 7667a5194..880c6004b 100644
--- a/man3/wmemcpy.3
+++ b/man3/wmemcpy.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WMEMCPY 3 2022-10-09 "Linux man-pages 6.01"
+.TH wmemcpy 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wmemcpy \- copy an array of wide-characters
.SH LIBRARY
@@ -18,8 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemcpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wmemcpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
diff --git a/man3/wmemmove.3 b/man3/wmemmove.3
index c8a28e985..9148728ca 100644
--- a/man3/wmemmove.3
+++ b/man3/wmemmove.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WMEMMOVE 3 2022-10-09 "Linux man-pages 6.01"
+.TH wmemmove 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wmemmove \- copy an array of wide-characters
.SH LIBRARY
@@ -18,7 +19,8 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemmove(wchar_t *" dest ", const wchar_t *" src ", size_t " n );
+.BI "wchar_t *wmemmove(wchar_t " dest [. n "], const wchar_t " src [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/wmemset.3 b/man3/wmemset.3
index 806d61852..4cddea149 100644
--- a/man3/wmemset.3
+++ b/man3/wmemset.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WMEMSET 3 2022-10-09 "Linux man-pages 6.01"
+.TH wmemset 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wmemset \- fill an array of wide-characters with a constant wide character
.SH LIBRARY
@@ -18,7 +19,7 @@ Standard C library
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemset(wchar_t *" wcs ", wchar_t " wc ", size_t " n );
+.BI "wchar_t *wmemset(wchar_t " wcs [. n "], wchar_t " wc ", size_t " n );
.fi
.SH DESCRIPTION
The
diff --git a/man3/wordexp.3 b/man3/wordexp.3
index 198d10ee0..86c573502 100644
--- a/man3/wordexp.3
+++ b/man3/wordexp.3
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH WORDEXP 3 2022-10-09 "Linux man-pages 6.01"
+.TH wordexp 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wordexp, wordfree \- perform word expansion like a posix-shell
.SH LIBRARY
@@ -174,7 +175,7 @@ unmatched quotes.
.BR wordexp ()
and
.BR wordfree ()
-are provided in glibc since version 2.1.
+are provided since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/wprintf.3 b/man3/wprintf.3
index 0dcd3295e..ce48f93ed 100644
--- a/man3/wprintf.3
+++ b/man3/wprintf.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -8,7 +9,7 @@
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WPRINTF 3 2022-10-09 "Linux man-pages 6.01"
+.TH wprintf 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf \- formatted
wide-character output conversion
@@ -23,13 +24,13 @@ Standard C library
.BI "int wprintf(const wchar_t *restrict " format ", ...);"
.BI "int fwprintf(FILE *restrict " stream ,
.BI " const wchar_t *restrict " format ", ...);"
-.BI "int swprintf(wchar_t *restrict " wcs ", size_t " maxlen ,
+.BI "int swprintf(wchar_t " wcs "[restrict ." maxlen "], size_t " maxlen ,
.BI " const wchar_t *restrict " format ", ...);"
.PP
.BI "int vwprintf(const wchar_t *restrict " format ", va_list " args );
.BI "int vfwprintf(FILE *restrict " stream ,
.BI " const wchar_t *restrict " format ", va_list " args );
-.BI "int vswprintf(wchar_t *restrict " wcs ", size_t " maxlen ,
+.BI "int vswprintf(wchar_t " wcs "[restrict ." maxlen "], size_t " maxlen ,
.BI " const wchar_t *restrict " format ", va_list " args );
.fi
.PP
diff --git a/man3/xcrypt.3 b/man3/xcrypt.3
index bec3dadcd..eff3d2d1c 100644
--- a/man3/xcrypt.3
+++ b/man3/xcrypt.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 2003 walter harms (walter.harms@informatik.uni-oldenburg.de)
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -8,7 +9,7 @@
.\" 3. xencrypt() a hexstring
.\" to bad to be true :(
.\"
-.TH XCRYPT 3 2022-10-09 "Linux man-pages 6.01"
+.TH XCRYPT 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
xencrypt, xdecrypt, passwd2des \- RFS password encryption
.SH LIBRARY
@@ -71,7 +72,7 @@ and
.BR xdecrypt ()
return 1 on success and 0 on error.
.SH VERSIONS
-These functions are available in glibc since version 2.1.
+These functions are available since glibc 2.1.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
diff --git a/man3/xdr.3 b/man3/xdr.3
index fa23d6ef6..0e8f9fc0f 100644
--- a/man3/xdr.3
+++ b/man3/xdr.3
@@ -1,3 +1,4 @@
+'\" t
.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
.\"
.\" %%%LICENSE_START(BSD_ONELINE_CDROM)
@@ -8,7 +9,7 @@
.\"
.\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
.\"
-.TH XDR 3 2022-10-09 "Linux man-pages 6.01"
+.TH xdr 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
xdr \- library routines for external data representation
.SH LIBRARY
diff --git a/man3/y0.3 b/man3/y0.3
index e78721ba9..25e2d0091 100644
--- a/man3/y0.3
+++ b/man3/y0.3
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk
.\" <mtk.manpages@gmail.com>
@@ -13,7 +14,7 @@
.\" Modified 2004-11-12 as per suggestion by Fabian Kreutz/AEB
.\" 2008-07-24, mtk, created this page, based on material from j0.3.
.\"
-.TH Y0 3 2022-10-09 "Linux man-pages 6.01"
+.TH y0 3 2022-12-15 "Linux man-pages 6.02"
.SH NAME
y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl \-
Bessel functions of the second kind
@@ -247,9 +248,9 @@ did not set
.I errno
for "range error: result underflow".
.PP
-In glibc version 2.3.2 and earlier,
+In glibc 2.3.2 and earlier,
.\" Actually, 2.3.2 is the earliest test result I have; so yet
-.\" to confirm if this error occurs only in 2.3.2.
+.\" to confirm if this error occurs only in glibc 2.3.2.
these functions do not raise an invalid floating-point exception
.RB ( FE_INVALID )
when a domain error occurs.
diff --git a/man3/zustr2stp.3 b/man3/zustr2stp.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/zustr2stp.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3/zustr2ustp.3 b/man3/zustr2ustp.3
new file mode 100644
index 000000000..beb850746
--- /dev/null
+++ b/man3/zustr2ustp.3
@@ -0,0 +1 @@
+.so man7/string_copying.7
diff --git a/man3const/EOF.3const b/man3const/EOF.3const
index 898cc6015..6208ff327 100644
--- a/man3const/EOF.3const
+++ b/man3const/EOF.3const
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH EOF 3const 2022-10-18 "Linux man-pages 6.01"
+.TH EOF 3const 2022-10-18 "Linux man-pages 6.02"
.SH NAME
EOF \- end of file or error indicator
.SH LIBRARY
diff --git a/man3const/EXIT_FAILURE.3const b/man3const/EXIT_FAILURE.3const
new file mode 100644
index 000000000..ba0d62df9
--- /dev/null
+++ b/man3const/EXIT_FAILURE.3const
@@ -0,0 +1 @@
+.so man3const/EXIT_SUCCESS.3const
diff --git a/man3const/EXIT_SUCCESS.3const b/man3const/EXIT_SUCCESS.3const
new file mode 100644
index 000000000..a8cb0b79e
--- /dev/null
+++ b/man3const/EXIT_SUCCESS.3const
@@ -0,0 +1,60 @@
+.\" Copyright (c) 2022 by Thomas Voss <mail@thomasvoss.com>
+.\"
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
+.\"
+.\"
+.TH EXIT_SUCCESS 3const 2022-11-17 "Linux man-pages 6.02"
+.SH NAME
+EXIT_SUCCESS, EXIT_FAILURE \- termination status constants
+.SH LIBRARY
+Standard C library
+.RI ( libc )
+.SH SYNOPSIS
+.nf
+.B #include <stdlib.h>
+.PP
+.BR "#define EXIT_SUCCESS " 0
+.BR "#define EXIT_FAILURE " "/* nonzero */"
+.fi
+.SH DESCRIPTION
+.B EXIT_SUCCESS
+and
+.B EXIT_FAILURE
+represent a successful and unsuccessful exit status respectively,
+and can be used as arguments to the
+.BR exit (3)
+function.
+.SH CONFORMING TO
+C99 and later;
+POSIX.1-2001 and later.
+.SH EXAMPLES
+.\" SRC BEGIN (EXIT_SUCCESS.c)
+.EX
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main(int argc, char *argv[])
+{
+ FILE *fp;
+
+ if (argc != 2) {
+ fprintf(stderr, "Usage: %s <file>\en", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ if ((fp = fopen(argv[1], "r")) == NULL) {
+ perror(argv[1]);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Other code omitted */
+
+ fclose(fp);
+ exit(EXIT_SUCCESS);
+}
+.EE
+.\" SRC END
+.SH SEE ALSO
+.BR exit (3),
+.BR sysexits.h (3head)
diff --git a/man3const/NULL.3const b/man3const/NULL.3const
index e33423b57..e8e575aaa 100644
--- a/man3const/NULL.3const
+++ b/man3const/NULL.3const
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH NULL 3const 2022-10-09 "Linux man-pages 6.01"
+.TH NULL 3const 2022-10-30 "Linux man-pages 6.02"
.SH NAME
NULL \- null pointer constant
.SH LIBRARY
diff --git a/man3head/sysexits.h.3head b/man3head/sysexits.h.3head
index da06cc076..a923196c7 100644
--- a/man3head/sysexits.h.3head
+++ b/man3head/sysexits.h.3head
@@ -1,5 +1,6 @@
+'\" t
.\" Copyright (c) 1996 Joerg Wunsch
-.\" Copyright (c) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+.\" Copyright (c) 2022 Alejandro Colomar <alx@kernel.org>
.\"
.\" All rights reserved.
.\"
@@ -7,7 +8,7 @@
.\"
.\" Rewritten for the Linux man-pages by Alejandro Colomar
.\"
-.TH sysexits.h 3head 2022-10-09 "Linux man-pages 6.01"
+.TH sysexits.h 3head 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sysexits.h \- exit codes for programs
.SH LIBRARY
diff --git a/man3/FILE.3 b/man3type/FILE.3type
index ea6b30c37..499a77ec8 100644
--- a/man3/FILE.3
+++ b/man3type/FILE.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH FILE 3 2022-10-09 "Linux man-pages 6.01"
+.TH FILE 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
FILE \- input/output stream
.SH LIBRARY
@@ -14,12 +14,13 @@ Standard C library
.nf
.B #include <stdio.h>
.PP
-.BR typedef " /* ... */ " FILE;
+.BR typedef " /* ... */ " FILE;
.fi
.SH DESCRIPTION
An object type used for streams.
.SH STANDARDS
-C99 and later; POSIX.1-2001 and later.
+C99 and later;
+POSIX.1-2001 and later.
.SH NOTES
The following header also provides this type:
.IR <wchar.h> .
diff --git a/man3type/aiocb.3type b/man3type/aiocb.3type
index 8eeec3738..898d8920a 100644
--- a/man3type/aiocb.3type
+++ b/man3type/aiocb.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH AIOCB 3type 2022-10-09 "Linux man-pages 6.01"
+.TH aiocb 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
aiocb \- asynchronous I/O control block
.SH LIBRARY
diff --git a/man3type/blkcnt_t.3type b/man3type/blkcnt_t.3type
index 730ba8c4a..d93c7d199 100644
--- a/man3type/blkcnt_t.3type
+++ b/man3type/blkcnt_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH BLKCNT_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH blkcnt_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
blkcnt_t \- file block counts
.SH LIBRARY
diff --git a/man3type/blksize_t.3type b/man3type/blksize_t.3type
index 5867611c1..ec786044a 100644
--- a/man3type/blksize_t.3type
+++ b/man3type/blksize_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH BLKSIZE_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH blksize_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
blksize_t \- file block sizes
.SH LIBRARY
diff --git a/man3type/cc_t.3type b/man3type/cc_t.3type
index c023d0bbf..f66937be9 100644
--- a/man3type/cc_t.3type
+++ b/man3type/cc_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH CC_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH cc_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
cc_t, speed_t, tcflag_t \- terminal special characters, baud rates, modes
.SH LIBRARY
diff --git a/man3type/clock_t.3type b/man3type/clock_t.3type
index 4e8e3a7ab..cbee4ede7 100644
--- a/man3type/clock_t.3type
+++ b/man3type/clock_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH CLOCK_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH clock_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
clock_t \- system time
.SH LIBRARY
diff --git a/man3type/clockid_t.3type b/man3type/clockid_t.3type
index 7d523eb56..2ec720006 100644
--- a/man3type/clockid_t.3type
+++ b/man3type/clockid_t.3type
@@ -1,4 +1,4 @@
-.TH CLOCKID_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH clockid_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
clockid_t \- clock ID for the clock and timer functions
.SH LIBRARY
diff --git a/man3type/dev_t.3type b/man3type/dev_t.3type
index 124dc9962..b37e0c550 100644
--- a/man3type/dev_t.3type
+++ b/man3type/dev_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH DEV_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH dev_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
dev_t \- device ID
.SH LIBRARY
diff --git a/man3type/div_t.3type b/man3type/div_t.3type
index 0159d532b..89da0e63c 100644
--- a/man3type/div_t.3type
+++ b/man3type/div_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH DIV_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH div_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
div_t, ldiv_t, lldiv_t, imaxdiv_t \-
quotient and remainder of an integer division
diff --git a/man3type/double_t.3type b/man3type/double_t.3type
index 0f2392201..537b087d2 100644
--- a/man3type/double_t.3type
+++ b/man3type/double_t.3type
@@ -1,10 +1,11 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+'\" t
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH DOUBLE_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH double_t 3type 2022-12-15 "Linux man-pages 6.02"
.SH NAME
float_t, double_t \- most efficient floating types
.SH LIBRARY
diff --git a/man3type/epoll_event.3type b/man3type/epoll_event.3type
index 695c564f4..36c0c1df5 100644
--- a/man3type/epoll_event.3type
+++ b/man3type/epoll_event.3type
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH EPOLL_EVENT 3type 2022-10-09 "Linux man-pages 6.01"
+.TH epoll_event 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
epoll_event, epoll_data, epoll_data_t
\- epoll event
diff --git a/man3type/fenv_t.3type b/man3type/fenv_t.3type
index 3b5bea0d5..025ba0c59 100644
--- a/man3type/fenv_t.3type
+++ b/man3type/fenv_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH FENV_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH fenv_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
fenv_t, fexcept_t \- floating-point environment
.SH LIBRARY
diff --git a/man3type/id_t.3type b/man3type/id_t.3type
index 48195473a..0a96155c1 100644
--- a/man3type/id_t.3type
+++ b/man3type/id_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH ID_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH id_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pid_t, uid_t, gid_t, id_t \- process/user/group identifier
.SH LIBRARY
diff --git a/man3type/intN_t.3type b/man3type/intN_t.3type
index 343d88425..1ae2a1cc3 100644
--- a/man3type/intN_t.3type
+++ b/man3type/intN_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH INTN_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH intN_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intN_t, int8_t, int16_t, int32_t, int64_t,
uintN_t, uint8_t, uint16_t, uint32_t, uint64_t
diff --git a/man3type/intmax_t.3type b/man3type/intmax_t.3type
index 4c39d123b..c4c884946 100644
--- a/man3type/intmax_t.3type
+++ b/man3type/intmax_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH INTMAX_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH intmax_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intmax_t, uintmax_t \- greatest-width basic integer types
.SH LIBRARY
diff --git a/man3type/intptr_t.3type b/man3type/intptr_t.3type
index 44542f1d6..aeda41e34 100644
--- a/man3type/intptr_t.3type
+++ b/man3type/intptr_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH INTPTR_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH intptr_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intptr_t, uintptr_t \- integer types wide enough to hold pointers
.SH LIBRARY
diff --git a/man3type/iovec.3type b/man3type/iovec.3type
index 0c1c26a43..08cc53b82 100644
--- a/man3type/iovec.3type
+++ b/man3type/iovec.3type
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH IOVEC 3type 2022-10-09 "Linux man-pages 6.01"
+.TH iovec 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
iovec \- Vector I/O data structure
.SH LIBRARY
diff --git a/man3type/itimerspec.3type b/man3type/itimerspec.3type
index 47030d956..5efe22bb1 100644
--- a/man3type/itimerspec.3type
+++ b/man3type/itimerspec.3type
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH itimerspec 3type 2022-10-09 "Linux man-pages 6.01"
+.TH itimerspec 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timespec \- interval for a timer with nanosecond precision
.SH LIBRARY
diff --git a/man3type/lconv.3type b/man3type/lconv.3type
index fb075f565..38352abf2 100644
--- a/man3type/lconv.3type
+++ b/man3type/lconv.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH LCONV 3type 2022-10-09 "Linux man-pages 6.01"
+.TH lconv 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
lconv \- numeric formatting information
.SH LIBRARY
diff --git a/man3type/mode_t.3type b/man3type/mode_t.3type
index d6857f922..9e3f496a0 100644
--- a/man3type/mode_t.3type
+++ b/man3type/mode_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH MODE_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH mode_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mode_t \- file attributes
.SH LIBRARY
diff --git a/man3type/off_t.3type b/man3type/off_t.3type
index 88a7ba2c2..421940be3 100644
--- a/man3type/off_t.3type
+++ b/man3type/off_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH OFF_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH off_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
off_t, off64_t, loff_t \- file sizes
.SH LIBRARY
diff --git a/man3type/ptrdiff_t.3type b/man3type/ptrdiff_t.3type
index 68e3be867..674bf3a6c 100644
--- a/man3type/ptrdiff_t.3type
+++ b/man3type/ptrdiff_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH PTRDIFF_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH ptrdiff_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ptrdiff_t \- count of elements or array index
.SH LIBRARY
diff --git a/man3type/regex_t.3type b/man3type/regex_t.3type
index ae6d78809..2b278fb61 100644
--- a/man3type/regex_t.3type
+++ b/man3type/regex_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH regex_t 3type 2022-10-18 "Linux man-pages 6.01"
+.TH regex_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
regex_t, regmatch_t, regoff_t
\- regular expression matching
diff --git a/man3type/size_t.3type b/man3type/size_t.3type
index 54e3d8fd1..7bd14d237 100644
--- a/man3type/size_t.3type
+++ b/man3type/size_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH SIZE_T 3type 2022-10-09 "Linux man-pages 6.01"
+.TH size_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
size_t, ssize_t \- count of bytes
.SH LIBRARY
diff --git a/man3type/sockaddr.3type b/man3type/sockaddr.3type
index c4c2e233a..1b3a917f6 100644
--- a/man3type/sockaddr.3type
+++ b/man3type/sockaddr.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH SOCKADDR 3type 2022-10-09 "Linux man-pages 6.01"
+.TH sockaddr 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t,
in_addr, in6_addr, in_addr_t, in_port_t,
diff --git a/man3type/stat.3type b/man3type/stat.3type
index 519c3388d..b703cae76 100644
--- a/man3type/stat.3type
+++ b/man3type/stat.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH stat 3type 2022-10-09 "Linux man-pages 6.01"
+.TH stat 3type 2022-12-04 "Linux man-pages 6.02"
.SH NAME
stat \- file status
.SH LIBRARY
@@ -135,7 +135,7 @@ via names of the form
.IR st_atim.tv_nsec ,
if suitable test macros are defined.
Nanosecond timestamps were standardized in POSIX.1-2008,
-and, starting with version 2.12,
+and, starting with glibc 2.12,
glibc exposes the nanosecond component names if
.B _POSIX_C_SOURCE
is defined with the value 200809L or greater, or
diff --git a/man3type/time_t.3type b/man3type/time_t.3type
index 0fb5d0aa5..611f3c3e0 100644
--- a/man3type/time_t.3type
+++ b/man3type/time_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH TIME_T 3type 2022-10-14 "Linux man-pages 6.01"
+.TH time_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
time_t, suseconds_t, useconds_t \- integer time
.SH LIBRARY
diff --git a/man3type/timer_t.3type b/man3type/timer_t.3type
index c9bb7bffa..77a004cf3 100644
--- a/man3type/timer_t.3type
+++ b/man3type/timer_t.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH timer_t 3type 2022-10-09 "Linux man-pages 6.01"
+.TH timer_t 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timer_t \- timer ID
.SH LIBRARY
diff --git a/man3type/timespec.3type b/man3type/timespec.3type
index 16c0054a5..4fe6a3fb6 100644
--- a/man3type/timespec.3type
+++ b/man3type/timespec.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH TIMESPEC 3type 2022-10-09 "Linux man-pages 6.01"
+.TH timespec 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timespec \- time in seconds and nanoseconds
.SH LIBRARY
diff --git a/man3type/timeval.3type b/man3type/timeval.3type
index d1a1d7174..171a98ce4 100644
--- a/man3type/timeval.3type
+++ b/man3type/timeval.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH TIMEVAL 3type 2022-10-09 "Linux man-pages 6.01"
+.TH timeval 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
timeval \- time in seconds and microseconds
.SH LIBRARY
diff --git a/man3type/tm.3type b/man3type/tm.3type
index 3ff16f951..685a31b28 100644
--- a/man3type/tm.3type
+++ b/man3type/tm.3type
@@ -1,9 +1,9 @@
-.\" Copyright (c) 2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2022 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH TM 3type 2022-10-09 "Linux man-pages 6.01"
+.TH tm 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
tm \- broken-down time
.SH LIBRARY
diff --git a/man3type/va_list.3type b/man3type/va_list.3type
index d6f59bfc1..43a2148ca 100644
--- a/man3type/va_list.3type
+++ b/man3type/va_list.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH VA_LIST 3type 2022-10-09 "Linux man-pages 6.01"
+.TH va_list 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
va_list \- variable argument list
.SH LIBRARY
diff --git a/man3type/void.3type b/man3type/void.3type
index 3e79b7fc8..4d8b228a6 100644
--- a/man3type/void.3type
+++ b/man3type/void.3type
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020-2022 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH VOID 3type 2022-10-09 "Linux man-pages 6.01"
+.TH void 3type 2022-10-30 "Linux man-pages 6.02"
.SH NAME
void \- abstract type
.SH SYNOPSIS
diff --git a/man4/cciss.4 b/man4/cciss.4
index 0dfccc146..4a44b1d86 100644
--- a/man4/cciss.4
+++ b/man4/cciss.4
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2011, Hewlett-Packard Development Company, L.P.
.\" Written by Stephen M. Cameron <scameron@beardog.cce.hp.com>
.\"
@@ -5,7 +6,7 @@
.\"
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
-.TH CCISS 4 2022-10-09 "Linux man-pages 6.01"
+.TH cciss 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cciss \- HP Smart Array block driver
.SH SYNOPSIS
@@ -15,7 +16,7 @@ modprobe cciss [ cciss_allow_hpsa=1 ]
.SH DESCRIPTION
.\" commit 253d2464df446456c0bba5ed4137a7be0b278aa8
.BR Note :
-This obsolete driver was removed from the kernel in version 4.14,
+This obsolete driver was removed in Linux 4.14,
as it is superseded by the
.BR hpsa (4)
driver in newer kernels.
@@ -285,10 +286,10 @@ echo "rescan" > /proc/scsi/cciss0/1
.PP
This causes the driver to:
.RS
-.IP 1. 3
+.IP (1) 5
query the adapter about changes to the
physical SCSI buses and/or fiber channel arbitrated loop, and
-.IP 2.
+.IP (2)
make note of any new or removed sequential access devices
or medium changers.
.RE
@@ -331,13 +332,13 @@ The
.B cciss
driver participates in this protocol to some extent.
The normal protocol is a four-step process:
-.IP * 3
+.IP (1) 5
First, the device is told to abort the command.
-.IP *
+.IP (2)
If that doesn't work, the device is reset.
-.IP *
+.IP (3)
If that doesn't work, the SCSI bus is reset.
-.IP *
+.IP (4)
If that doesn't work, the host bus adapter is reset.
.PP
The
diff --git a/man4/console_codes.4 b/man4/console_codes.4
index 38a826c6a..d89abe306 100644
--- a/man4/console_codes.4
+++ b/man4/console_codes.4
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1996 Andries Brouwer <aeb@cwi.nl>, Mon Oct 31 22:13:04 1996
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -14,7 +15,7 @@
.\"
.\" 2006-05-27, Several corrections - Thomas E. Dickey
.\"
-.TH CONSOLE_CODES 4 2022-10-09 "Linux man-pages 6.01"
+.TH console_codes 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
console_codes \- Linux console escape and control sequences
.SH DESCRIPTION
@@ -707,7 +708,7 @@ It also recognizes
l l lx.
ESC F T{
Cursor to lower left corner of screen (if enabled
-by \fBxterm\fP(1)'s \fBhpLowerleftBugCompat\fP resource)
+by \fBxterm\fP(1)'s \fBhpLowerleftBugCompat\fP resource).
T}
ESC l Memory lock (per HP terminals).
Locks memory above the cursor.
@@ -774,10 +775,10 @@ scripts which exercise other features.
ESC 8 (DECRC) is not able to restore the character set changed with
ESC %.
.SH BUGS
-In 2.0.23, CSI is broken, and NUL is not ignored inside
+In Linux 2.0.23, CSI is broken, and NUL is not ignored inside
escape sequences.
.PP
-Some older kernel versions (after 2.0) interpret 8-bit control
+Some older kernel versions (after Linux 2.0) interpret 8-bit control
sequences.
These "C1 controls" use codes between 128 and 159 to replace
ESC [, ESC ] and similar two-byte control sequence initiators.
diff --git a/man4/cpuid.4 b/man4/cpuid.4
index 706f7a734..e10c2dc4d 100644
--- a/man4/cpuid.4
+++ b/man4/cpuid.4
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CPUID 4 2022-10-09 "Linux man-pages 6.01"
+.TH cpuid 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
cpuid \- x86 CPUID access device
.SH DESCRIPTION
diff --git a/man4/dsp56k.4 b/man4/dsp56k.4
index ad860b4c3..4baba2a9f 100644
--- a/man4/dsp56k.4
+++ b/man4/dsp56k.4
@@ -4,7 +4,7 @@
.\"
.\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org
.\"
-.TH DSP56K 4 2022-10-09 "Linux man-pages 6.01"
+.TH dsp56k 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
dsp56k \- DSP56001 interface device
.SH SYNOPSIS
@@ -22,7 +22,7 @@ dsp56k \- DSP56001 interface device
.fi
.SH CONFIGURATION
The
-.B dsp56k
+.I dsp56k
device is a character device with major number 55 and minor
number 0.
.SH DESCRIPTION
@@ -46,14 +46,16 @@ The following
.BR ioctl (2)
calls are used to control the
\fIdsp56k\fP device:
-.IP \fBDSP56K_UPLOAD\fP
+.TP
+.B DSP56K_UPLOAD
resets the DSP56001 and uploads a program.
The third
.BR ioctl (2)
argument must be a pointer to a \fIstruct dsp56k_upload\fP with members
\fIbin\fP pointing to a DSP56001 binary program, and \fIlen\fP set to
the length of the program, counted in 24-bit words.
-.IP \fBDSP56K_SET_TX_WSIZE\fP
+.TP
+.B DSP56K_SET_TX_WSIZE
sets the transmit word size.
Allowed values are in the range 1 to 4,
and is the number of bytes that will be sent at a time to the
@@ -61,14 +63,16 @@ DSP56001.
These data quantities will either be padded with bytes containing zero,
or truncated to fit the native 24-bit data format of the
DSP56001.
-.IP \fBDSP56K_SET_RX_WSIZE\fP
+.TP
+.B DSP56K_SET_RX_WSIZE
sets the receive word size.
Allowed values are in the range 1 to 4,
and is the number of bytes that will be received at a time from the
DSP56001.
These data quantities will either truncated, or padded with
a null byte (\(aq\e0\(aq) to fit the native 24-bit data format of the DSP56001.
-.IP \fBDSP56K_HOST_FLAGS\fP
+.TP
+.B DSP56K_HOST_FLAGS
read and write the host flags.
The host flags are four
general-purpose bits that can be read by both the hosting computer and
@@ -85,7 +89,8 @@ If bit 0 or 1 is set in the
to the host flags.
The state of all host flags will be returned in
the lower four bits of the \fIstatus\fP member.
-.IP \fBDSP56K_HOST_CMD\fP
+.TP
+.B DSP56K_HOST_CMD
sends a host command.
Allowed values are in the range 0 to 31, and is a
user-defined command handled by the program running in the DSP56001.
diff --git a/man4/fd.4 b/man4/fd.4
index 0d5cc87ec..c9e33a156 100644
--- a/man4/fd.4
+++ b/man4/fd.4
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
.\" and 1994,1995 Alain Knaff (Alain.Knaff@imag.fr)
.\"
@@ -5,7 +6,7 @@
.\"
.\" Modified, Sun Feb 26 15:00:02 1995, faith@cs.unc.edu
.\"
-.TH FD 4 2022-10-09 "Linux man-pages 6.01"
+.TH fd 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
fd \- floppy disk device
.SH CONFIGURATION
@@ -126,58 +127,76 @@ _
The following
.BR ioctl (2)
calls are supported by \fBfd\fP devices:
-.IP \fBFDCLRPRM\fP
+.TP
+.B FDCLRPRM
clears the media information of a drive (geometry of disk in drive).
-.IP \fBFDSETPRM\fP
+.TP
+.B FDSETPRM
sets the media information of a drive.
The media information will be
lost when the media is changed.
-.IP \fBFDDEFPRM\fP
+.TP
+.B FDDEFPRM
sets the media information of a drive (geometry of disk in drive).
The media information will not be lost when the media is changed.
This will disable autodetection.
In order to reenable autodetection, you
have to issue an \fBFDCLRPRM\fP.
-.IP \fBFDGETDRVTYP\fP
+.TP
+.B FDGETDRVTYP
returns the type of a drive (name parameter).
For formats which work
in several drive types, \fBFDGETDRVTYP\fP returns a name which is
appropriate for the oldest drive type which supports this format.
-.IP \fBFDFLUSH\fP
+.TP
+.B FDFLUSH
invalidates the buffer cache for the given drive.
-.IP \fBFDSETMAXERRS\fP
+.TP
+.B FDSETMAXERRS
sets the error thresholds for reporting errors, aborting the operation,
recalibrating, resetting, and reading sector by sector.
-.IP \fBFDSETMAXERRS\fP
+.TP
+.B FDSETMAXERRS
gets the current error thresholds.
-.IP \fBFDGETDRVTYP\fP
+.TP
+.B FDGETDRVTYP
gets the internal name of the drive.
-.IP \fBFDWERRORCLR\fP
+.TP
+.B FDWERRORCLR
clears the write error statistics.
-.IP \fBFDWERRORGET\fP
+.TP
+.B FDWERRORGET
reads the write error statistics.
These include the total number of
write errors, the location and disk of the first write error, and the
location and disk of the last write error.
Disks are identified by a
generation number which is incremented at (almost) each disk change.
-.IP \fBFDTWADDLE\fP
+.TP
+.B FDTWADDLE
Switch the drive motor off for a few microseconds.
This might be
needed in order to access a disk whose sectors are too close together.
-.IP \fBFDSETDRVPRM\fP
+.TP
+.B FDSETDRVPRM
sets various drive parameters.
-.IP \fBFDGETDRVPRM\fP
+.TP
+.B FDGETDRVPRM
reads these parameters back.
-.IP \fBFDGETDRVSTAT\fP
+.TP
+.B FDGETDRVSTAT
gets the cached drive state (disk changed, write protected et al.)
-.IP \fBFDPOLLDRVSTAT\fP
+.TP
+.B FDPOLLDRVSTAT
polls the drive and return its state.
-.IP \fBFDGETFDCSTAT\fP
+.TP
+.B FDGETFDCSTAT
gets the floppy controller state.
-.IP \fBFDRESET\fP
+.TP
+.B FDRESET
resets the floppy controller under certain conditions.
-.IP \fBFDRAWCMD\fP
+.TP
+.B FDRAWCMD
sends a raw command to the floppy controller.
.PP
For more precise information, consult also the \fI<linux/fd.h>\fP and
diff --git a/man4/full.4 b/man4/full.4
index e7535a97c..85fc82f05 100644
--- a/man4/full.4
+++ b/man4/full.4
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" correction, aeb, 970825
-.TH FULL 4 2022-10-09 "Linux man-pages 6.01"
+.TH full 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
full \- always full device
.SH CONFIGURATION
diff --git a/man4/fuse.4 b/man4/fuse.4
index aa0c40880..2cf22630c 100644
--- a/man4/fuse.4
+++ b/man4/fuse.4
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FUSE 4 2022-10-09 "Linux man-pages 6.01"
+.TH fuse 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
fuse \- Filesystem in Userspace (FUSE) device
.SH SYNOPSIS
@@ -471,11 +471,11 @@ operations on the provided filesystem's files and directories to fail with
.BR EIO .
Among the possible incorrect uses are:
.RS
-.IP * 3
+.IP \(bu 3
changing
.I mode & S_IFMT
for an inode that has previously been reported to the kernel; or
-.IP *
+.IP \(bu
giving replies to the kernel that are shorter than what the kernel expected.
.RE
.TP
diff --git a/man4/hd.4 b/man4/hd.4
index 18709eedb..5c8858dc4 100644
--- a/man4/hd.4
+++ b/man4/hd.4
@@ -7,7 +7,7 @@
.\" Modified Mon Oct 21 21:38:51 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" (and some more by aeb)
.\"
-.TH HD 4 2022-10-09 "Linux man-pages 6.01"
+.TH hd 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hd \- MFM/IDE hard disk devices
.SH DESCRIPTION
diff --git a/man4/hpsa.4 b/man4/hpsa.4
index 80506f2bb..103c09df9 100644
--- a/man4/hpsa.4
+++ b/man4/hpsa.4
@@ -5,7 +5,7 @@
.\"
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
-.TH HPSA 4 2022-10-09 "Linux man-pages 6.01"
+.TH hpsa 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hpsa \- HP Smart Array SCSI driver
.SH SYNOPSIS
diff --git a/man4/initrd.4 b/man4/initrd.4
index d1819d58f..7afd823ee 100644
--- a/man4/initrd.4
+++ b/man4/initrd.4
@@ -12,7 +12,7 @@
.\" phone: (302)654-5478
.\"
.\" $Id: initrd.4,v 0.9 1997/11/07 05:05:32 kallal Exp kallal $
-.TH INITRD 4 2022-10-09 "Linux man-pages 6.01"
+.TH initrd 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
initrd \- boot loader initialized RAM disk
.SH CONFIGURATION
@@ -74,11 +74,11 @@ different device.
When booting up with
.BR initrd ,
the system boots as follows:
-.IP 1. 3
+.IP (1) 5
The boot loader loads the kernel program and
.IR /dev/initrd 's
contents into memory.
-.IP 2.
+.IP (2)
On kernel startup,
the kernel uncompresses and copies the contents of the device
.I /dev/initrd
@@ -86,16 +86,16 @@ onto device
.I /dev/ram0
and then frees the memory used by
.IR /dev/initrd .
-.IP 3.
+.IP (3)
The kernel then read-write mounts the device
.I /dev/ram0
as the initial root filesystem.
-.IP 4.
+.IP (4)
If the indicated normal root filesystem is also the initial
root filesystem (e.g.,
.IR /dev/ram0 )
then the kernel skips to the last step for the usual boot sequence.
-.IP 5.
+.IP (5)
If the executable file
.I /linuxrc
is present in the initial root filesystem,
@@ -107,7 +107,7 @@ must have executable permission.
The file
.I /linuxrc
can be any valid executable, including a shell script.)
-.IP 6.
+.IP (6)
If
.I /linuxrc
is not executed or when
@@ -119,7 +119,7 @@ exits with any filesystems mounted on the initial root
filesystem, then the behavior of the kernel is
.BR UNSPECIFIED .
See the NOTES section for the current kernel behavior.)
-.IP 7.
+.IP (7)
If the normal root filesystem has a directory
.IR /initrd ,
the device
@@ -150,7 +150,7 @@ when
exits, the behavior of the kernel is
.BR UNSPECIFIED .
See the NOTES section for the current kernel behavior.)
-.IP 8.
+.IP (8)
The usual boot sequence (e.g., invocation of
.IR /sbin/init )
is performed on the normal root filesystem.
@@ -312,7 +312,7 @@ The main motivation for implementing
was to allow for modular kernel configuration at system installation.
.PP
A possible system installation scenario is as follows:
-.IP 1. 3
+.IP (1) 5
The loader program boots from floppy or other media with a minimal kernel
(e.g., support for
.IR /dev/ram ,
@@ -320,7 +320,7 @@ The loader program boots from floppy or other media with a minimal kernel
and the ext2 filesystem) and loads
.I /dev/initrd
with a gzipped version of the initial filesystem.
-.IP 2.
+.IP (2)
The executable
.I /linuxrc
determines what is needed to (1) mount the normal root filesystem
@@ -328,17 +328,17 @@ determines what is needed to (1) mount the normal root filesystem
distribution media (e.g., CD-ROM, network, tape, ...).
This can be done by asking the user, by auto-probing,
or by using a hybrid approach.
-.IP 3.
+.IP (3)
The executable
.I /linuxrc
loads the necessary modules from the initial root filesystem.
-.IP 4.
+.IP (4)
The executable
.I /linuxrc
creates and populates the root filesystem.
(At this stage the normal root filesystem does not have to be a
completed system yet.)
-.IP 5.
+.IP (5)
The executable
.I /linuxrc
sets
@@ -347,12 +347,12 @@ unmounts
.IR /proc ,
the normal root filesystem and any other filesystems
it has mounted, and then terminates.
-.IP 6.
+.IP (6)
The kernel then mounts the normal root filesystem.
-.IP 7.
+.IP (7)
Now that the filesystem is accessible and intact,
the boot loader can be installed.
-.IP 8.
+.IP (8)
The boot loader is configured to load into
.I /dev/initrd
a filesystem with the set of modules that was used to bring up the system.
@@ -361,7 +361,7 @@ a filesystem with the set of modules that was used to bring up the system.
can be modified, then unmounted, and finally, the image is written from
.I /dev/ram0
to a file.)
-.IP 9.
+.IP (9)
The system is now bootable and additional installation tasks can be
performed.
.PP
@@ -419,7 +419,7 @@ from the CD-ROM.
.\"
.\"
.SH NOTES
-.IP 1. 3
+.IP \(bu 3
With the current kernel, any filesystems that remain mounted when
.I /dev/ram0
is moved from
@@ -430,7 +430,7 @@ continue to be accessible.
However, the
.I /proc/mounts
entries are not updated.
-.IP 2.
+.IP \(bu
With the current kernel, if directory
.I /initrd
does not exist, then
@@ -447,7 +447,7 @@ is
fully unmounted, then
.I /dev/ram0
will remain in memory.
-.IP 3.
+.IP \(bu
Users of
.I /dev/initrd
should not depend on the behavior given in the above notes.
diff --git a/man4/intro.4 b/man4/intro.4
index fc008513c..f53c0a9da 100644
--- a/man4/intro.4
+++ b/man4/intro.4
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 16:57:14 1993 by Rik Faith (faith@cs.unc.edu)
-.TH INTRO 4 2022-10-09 "Linux man-pages 6.01"
+.TH intro 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to special files
.SH DESCRIPTION
diff --git a/man4/lirc.4 b/man4/lirc.4
index 6d42496c3..8d1fab4ba 100644
--- a/man4/lirc.4
+++ b/man4/lirc.4
@@ -2,7 +2,7 @@
.\" Copyright (c) 2018, Sean Young <sean@mess.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH LIRC 4 2022-10-09 "Linux man-pages 6.01"
+.TH lirc 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
lirc \- lirc devices
.SH DESCRIPTION
@@ -259,10 +259,10 @@ is 0) timeout packages in
.BR LIRC_MODE_MODE2 .
The behavior of this operation has varied across kernel versions:
.RS
-.IP * 3
+.IP \(bu 3
Since Linux 5.17:
timeout packages are always enabled and this ioctl is a no-op.
-.IP *
+.IP \(bu
Since Linux 4.16:
timeout packages are enabled by default.
Each time the
@@ -271,7 +271,7 @@ device is opened, the
.B LIRC_SET_REC_TIMEOUT
operation can be used to disable (and, if desired, to later re-enable)
the timeout on the file descriptor.
-.IP *
+.IP \(bu
In Linux 4.15 and earlier:
timeout packages are disabled by default, and enabling them (via
.BR LIRC_SET_REC_TIMEOUT )
@@ -369,7 +369,7 @@ The driver supports setting the receive carrier frequency using
.BR LIRC_SET_REC_CARRIER .
Any
.B lirc
-device since the drivers were merged in kernel release 2.6.36
+device since the drivers were merged in Linux 2.6.36
must have
.B LIRC_CAN_SET_REC_CARRIER_RANGE
set if
@@ -410,7 +410,7 @@ or
.SH BUGS
Using these devices requires the kernel source header file
.IR lirc.h .
-This file is not available before kernel release 4.6.
+This file is not available before Linux 4.6.
Users of older kernels could use the file bundled in
.UR http://www.lirc.org
.UE .
diff --git a/man4/loop.4 b/man4/loop.4
index 147c65ee6..495be01a0 100644
--- a/man4/loop.4
+++ b/man4/loop.4
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH LOOP 4 2022-10-09 "Linux man-pages 6.01"
+.TH loop 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
loop, loop-control \- loop devices
.SH SYNOPSIS
@@ -199,16 +199,16 @@ can do,
.B LOOP_CONFIGURE
can also be used to do the following:
.RS
-.IP * 2
+.IP \(bu 3
set the correct block size immediately by setting
.IR loop_config.block_size ;
-.IP *
+.IP \(bu
explicitly request direct I/O mode by setting
.B LO_FLAGS_DIRECT_IO
in
.IR loop_config.info.lo_flags ;
and
-.IP *
+.IP \(bu
explicitly request read-only mode by setting
.B LO_FLAGS_READ_ONLY
in
diff --git a/man4/lp.4 b/man4/lp.4
index 49e2e5f45..898b377b0 100644
--- a/man4/lp.4
+++ b/man4/lp.4
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) Michael Haardt (michael@cantor.informatik.rwth-aachen.de),
.\" Sun Jan 15 19:16:33 1995
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified, Sun Feb 26 15:02:58 1995, faith@cs.unc.edu
-.TH LP 4 2022-10-09 "Linux man-pages 6.01"
+.TH lp 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
lp \- line printer devices
.SH SYNOPSIS
@@ -29,7 +30,8 @@ The default is polling.
The following
.BR ioctl (2)
calls are supported:
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPTIME, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPTIME, int " arg )
Sets the amount of time that the driver sleeps before rechecking the printer
when the printer's buffer appears to be filled to
.IR arg .
@@ -38,7 +40,8 @@ if you have a slow printer, then increase it.
This is in hundredths of a second, the default 2
being 0.02 seconds.
It influences only the polling driver.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCHAR, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPCHAR, int " arg )
Sets the maximum number of busy-wait iterations which the polling driver does
while waiting for the printer to get ready for receiving a character to
.IR arg .
@@ -46,26 +49,30 @@ If printing is too slow, increase this number; if the
system gets too slow, decrease this number.
The default is 1000.
It influences only the polling driver.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORT, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPABORT, int " arg )
If
.I arg
is 0, the printer driver will retry on errors, otherwise
it will abort.
The default is 0.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORTOPEN, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPABORTOPEN, int " arg )
If
.I arg
is 0,
.BR open (2)
will be aborted on error, otherwise error will be ignored.
The default is to ignore it.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCAREFUL, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPCAREFUL, int " arg )
If
.I arg
is 0, then the out-of-paper, offline, and error signals are
required to be false on all writes, otherwise they are ignored.
The default is to ignore them.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPWAIT, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPWAIT, int " arg )
Sets the number of busy waiting iterations to wait before strobing the
printer to accept a just-written character, and the number of iterations to
wait before turning the strobe off again,
@@ -77,7 +84,8 @@ already enough.
For that reason, the default value is 0.
.\" FIXME . Actually, since Linux 2.2, the default is 1
This is used for both the polling and the interrupt driver.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPSETIRQ, int \fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPSETIRQ, int " arg )
This
.BR ioctl (2)
requires superuser privileges.
@@ -88,10 +96,12 @@ As a side effect, the printer will be reset.
When
.I arg
is 0, the polling driver will be used, which is also default.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETIRQ, int *\fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPGETIRQ, int *" arg )
Stores the currently used IRQ in
.IR arg .
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETSTATUS, int *\fP\fIarg\fP\fB)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPGETSTATUS, int *" arg )
Stores the value of the status port in
.IR arg .
The bits have the following meaning:
@@ -106,7 +116,8 @@ LP_PERRORP unchanged error input, active low
.IP
Refer to your printer manual for the meaning of the signals.
Note that undocumented bits may also be set, depending on your printer.
-.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPRESET)\fP"
+.TP
+.BR "int ioctl(int " fd ", LPRESET)"
Resets the printer.
No argument is used.
.SH FILES
diff --git a/man4/mem.4 b/man4/mem.4
index 80e51ce60..6f70dff90 100644
--- a/man4/mem.4
+++ b/man4/mem.4
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 16:59:10 1993 by Rik Faith (faith@cs.unc.edu)
-.TH MEM 4 2022-10-09 "Linux man-pages 6.01"
+.TH mem 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
mem, kmem, port \- system memory, kernel memory and system ports
.SH DESCRIPTION
diff --git a/man4/mouse.4 b/man4/mouse.4
index 24eda4fd0..313b7f05b 100644
--- a/man4/mouse.4
+++ b/man4/mouse.4
@@ -1,8 +1,9 @@
+'\" t
.\" This manpage is Copyright (C) 1996 Michael Haardt.
.\" Updates Nov 1998, Andries Brouwer
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH MOUSE 4 2022-10-09 "Linux man-pages 6.01"
+.TH mouse 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mouse \- serial mouse interface
.SH CONFIGURATION
diff --git a/man4/msr.4 b/man4/msr.4
index e4fd4bc3b..49b04a310 100644
--- a/man4/msr.4
+++ b/man4/msr.4
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MSR 4 2022-10-09 "Linux man-pages 6.01"
+.TH msr 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
msr \- x86 CPU MSR access device
.SH DESCRIPTION
diff --git a/man4/null.4 b/man4/null.4
index 13defe808..7bc3548f3 100644
--- a/man4/null.4
+++ b/man4/null.4
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 17:00:12 1993 by Rik Faith (faith@cs.unc.edu)
-.TH NULL 4 2022-10-09 "Linux man-pages 6.01"
+.TH null 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
null, zero \- data sink
.SH DESCRIPTION
diff --git a/man4/pts.4 b/man4/pts.4
index ce5bbf94a..cf59c0d65 100644
--- a/man4/pts.4
+++ b/man4/pts.4
@@ -5,7 +5,7 @@
.\" Redistribute and revise at will.
.\" %%%LICENSE_END
.\"
-.TH PTS 4 2022-10-09 "Linux man-pages 6.01"
+.TH pts 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ptmx, pts \- pseudoterminal master and slave
.SH DESCRIPTION
diff --git a/man4/ram.4 b/man4/ram.4
index 24fc9deb3..18b1a15a3 100644
--- a/man4/ram.4
+++ b/man4/ram.4
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 17:01:11 1993 by Rik Faith (faith@cs.unc.edu)
-.TH RAM 4 2022-10-09 "Linux man-pages 6.01"
+.TH ram 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ram \- ram disk device
.SH DESCRIPTION
diff --git a/man4/random.4 b/man4/random.4
index 7c180e046..be84a7a6b 100644
--- a/man4/random.4
+++ b/man4/random.4
@@ -9,7 +9,7 @@
.\" 2008-06-20, George Spelvin <linux@horizon.com>,
.\" Matt Mackall <mpm@selenic.com>
.\"
-.TH RANDOM 4 2022-10-09 "Linux man-pages 6.01"
+.TH random 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
random, urandom \- kernel random number source devices
.SH SYNOPSIS
@@ -118,7 +118,7 @@ from
.I /dev/random
will return at most 512 bytes
.\" SEC_XFER_SIZE in drivers/char/random.c
-(340 bytes on Linux kernels before version 2.6.12).
+(340 bytes before Linux 2.6.12).
.PP
Writing to \fI/dev/random\fP or \fI/dev/urandom\fP will update the
entropy pool with the data written, but this will not result in a
@@ -218,7 +218,7 @@ returns the size of the entropy pool in bits (see below).
.SS /proc interfaces
The files in the directory
.I /proc/sys/kernel/random
-(present since 2.3.16) provide additional information about the
+(present since Linux 2.3.16) provide additional information about the
.I /dev/random
device:
.TP
diff --git a/man4/rtc.4 b/man4/rtc.4
index 1e4050942..6d6ba4bae 100644
--- a/man4/rtc.4
+++ b/man4/rtc.4
@@ -8,7 +8,7 @@
.\" 2006-02-08 Various additions by mtk
.\" 2006-11-26 cleanup, cover the generic rtc framework; David Brownell
.\"
-.TH RTC 4 2022-10-09 "Linux man-pages 6.01"
+.TH rtc 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
rtc \- real-time clock
.SH SYNOPSIS
@@ -66,12 +66,12 @@ requests listed below.
.PP
Besides tracking the date and time, many RTCs can also generate
interrupts
-.IP * 3
+.IP \(bu 3
on every clock update (i.e., once per second);
-.IP *
+.IP \(bu
at periodic intervals with a frequency that can be set to
any power-of-2 multiple in the range 2 Hz to 8192 Hz;
-.IP *
+.IP \(bu
on reaching a previously specified alarm time.
.PP
Each of those interrupt sources can be enabled or disabled separately.
diff --git a/man4/sd.4 b/man4/sd.4
index ae0679275..ac3462a6f 100644
--- a/man4/sd.4
+++ b/man4/sd.4
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SD 4 2022-10-09 "Linux man-pages 6.01"
+.TH sd 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sd \- driver for SCSI disk drives
.SH SYNOPSIS
@@ -31,11 +31,11 @@ where
is the number of the physical drive in order of detection, and
.I partition_number
is as follows:
-.IP +3
+.IP \(bu 3
partition 0 is the whole drive
-.IP
+.IP \(bu
partitions 1\(en4 are the DOS "primary" partitions
-.IP
+.IP \(bu
partitions 5\(en8 are the DOS "extended" (or "logical") partitions
.PP
For example,
diff --git a/man4/sk98lin.4 b/man4/sk98lin.4
index a6992e059..088d49571 100644
--- a/man4/sk98lin.4
+++ b/man4/sk98lin.4
@@ -1,3 +1,4 @@
+'\" t
.\" (C)Copyright 1999-2003 Marvell(R) -- linux@syskonnect.de
.\" sk98lin.4 1.1 2003/12/17 10:03:18
.\"
@@ -5,7 +6,7 @@
.\"
.\" This manpage can be viewed using `groff -Tascii -man sk98lin.4 | less`
.\"
-.TH SK98LIN 4 2022-10-09 "Linux man-pages 6.01"
+.TH sk98lin 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
sk98lin \- Marvell/SysKonnect Gigabit Ethernet driver v6.21
.SH SYNOPSIS
@@ -44,7 +45,7 @@ sk98lin \- Marvell/SysKonnect Gigabit Ethernet driver v6.21
.ad l
.hy 0
.BR Note :
-This obsolete driver was removed from the kernel in version 2.6.26.
+This obsolete driver was removed in Linux 2.6.26.
.PP
.B sk98lin
is the Gigabit Ethernet driver for
diff --git a/man4/smartpqi.4 b/man4/smartpqi.4
index 4e6e336c8..c55980fb6 100644
--- a/man4/smartpqi.4
+++ b/man4/smartpqi.4
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (C) 2019, Microchip Technology Inc. and its subsidiaries
.\" Copyright (C) 2016-2018, Microsemi Corporation
.\" Copyright (C) 2016, PMC-Sierra, Inc.
.\" Written by Kevin Barnett <kevin.barnett@microsemi.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-only
-.TH SMARTPQI 4 2022-10-09 "Linux man-pages 6.01"
+.TH smartpqi 4 2022-12-15 "Linux man-pages 6.02"
.SH NAME
smartpqi \- Microsemi Smart Family SCSI driver
.SH SYNOPSIS
diff --git a/man4/st.4 b/man4/st.4
index b62029073..eeedf0e18 100644
--- a/man4/st.4
+++ b/man4/st.4
@@ -2,7 +2,7 @@
.\" Copyright 1999-2005 Kai Mäkisara (Kai.Makisara@kolumbus.fi)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH ST 4 2022-10-09 "Linux man-pages 6.01"
+.TH st 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
st \- SCSI tape device
.SH SYNOPSIS
@@ -77,7 +77,7 @@ There is no corresponding block device.
.PP
The driver uses an internal buffer that has to be large enough to hold
at least one tape block.
-In kernels before 2.1.121, the buffer is
+Before Linux 2.1.121, the buffer is
allocated as one contiguous block.
This limits the block size to the
largest contiguous block of memory the kernel allocator can provide.
@@ -96,7 +96,7 @@ In addition to this, the driver tries to allocate a larger temporary
buffer at run time if necessary.
However, run-time allocation of large
contiguous blocks of memory may fail and it is advisable not to rely
-too much on dynamic buffer allocation with kernels older than 2.1.121
+too much on dynamic buffer allocation before Linux 2.1.121
(this applies also to demand-loading the driver with kerneld or kmod).
.PP
The driver does not specifically support any tape drive brand or
@@ -149,7 +149,7 @@ Device
is usually created as a hard or soft link to the default tape device
on the system.
.PP
-Starting from kernel 2.6.2, the driver exports in the sysfs directory
+Starting from Linux 2.6.2, the driver exports in the sysfs directory
.I /sys/class/scsi_tape
the attached devices and some parameters assigned to the devices.
.SS Data transfer
@@ -177,13 +177,13 @@ byte count, an error is returned.
In fixed-block mode the read byte counts can be arbitrary if
buffering is enabled, or a multiple of the tape block size if
buffering is disabled.
-Kernels before 2.1.121 allow writes with
+Before Linux 2.1.121 allow writes with
arbitrary byte count if buffering is enabled.
In all other cases
-(kernel before 2.1.121 with buffering disabled or newer kernel) the
+(before Linux 2.1.121 with buffering disabled or newer kernel) the
write byte count must be a multiple of the tape block size.
.PP
-In the 2.6 kernel, the driver tries to use direct transfers between the user
+In Linux 2.6, the driver tries to use direct transfers between the user
buffer and the device.
If this is not possible, the driver's internal buffer
is used.
@@ -271,7 +271,7 @@ Go to the end of the recorded media (for appending files).
.TP
.B MTERASE
Erase tape.
-With 2.6 kernel, short erase (mark tape empty) is performed if the
+With Linux 2.6, short erase (mark tape empty) is performed if the
argument is zero.
Otherwise, long erase (erase all) is done.
.TP
@@ -319,7 +319,7 @@ is positive, it gives the size of partition 1 and partition
If
.I mt_count
is zero, the tape is formatted into one partition.
-From kernel version 4.6,
+From Linux 4.6,
.\" commit 8038e6456a3e6f5c4759e0d73c4f9165b90c93e7
a negative
.I mt_count
@@ -403,25 +403,28 @@ Set various drive and driver options according to bits encoded in
.IR mt_count .
These consist of the drive's buffering mode, a set of Boolean driver
options, the buffer write threshold, defaults for the block size and
-density, and timeouts (only in kernels 2.1 and later).
+density, and timeouts (only since Linux 2.1).
A single operation can affect only one item in the list below (the
Booleans counted as one item.)
.IP
A value having zeros in the high-order 4 bits will be used to set the
drive's buffering mode.
The buffering modes are:
-.RS 12
-.IP 0 4
+.RS
+.TP
+.B 0
The drive will not report
.B GOOD
status on write commands until the data
blocks are actually written to the medium.
-.IP 1
+.TP
+.B 1
The drive may report
.B GOOD
status on write commands as soon as all the
data has been transferred to the drive's internal buffer.
-.IP 2
+.TP
+.B 2
The drive may report
.B GOOD
status on write commands as soon as (a) all
@@ -560,7 +563,7 @@ to instruct the driver not to use the command.
The end result is that,
with read-ahead and fixed-block mode, the tape may not be correctly
positioned within a file when the device is closed.
-With 2.6 kernel, the
+With Linux 2.6, the
default is true for drives supporting SCSI-3.
.TP
.BR MT_ST_NO_BLKLIMS " (Default: false)"
@@ -618,16 +621,15 @@ mt_cmd.mt_count = MT_ST_BOOLEANS |
ioctl(fd, MTIOCTOP, mt_cmd);
.EE
.in
-.RE
-.IP ""
+.PP
The default block size for a device can be set with
.B MT_ST_DEF_BLKSIZE
and the default density code can be set with
.BR MT_ST_DEFDENSITY .
The values for the parameters are or'ed
with the operation code.
-.IP ""
-With kernels 2.1.x and later, the timeout values can be set with the
+.PP
+With Linux 2.1.x and later, the timeout values can be set with the
subcommand
.B MT_ST_SET_TIMEOUT
ORed with the timeout in seconds.
@@ -643,8 +645,8 @@ These commands can be used to set more
practical values for a specific drive.
The timeouts set for one device
apply for all devices linked to the same drive.
-.IP ""
-Starting from kernels 2.4.19 and 2.5.43, the driver supports a status
+.PP
+Starting from Linux 2.4.19 and Linux 2.5.43, the driver supports a status
bit which indicates whether the drive requests cleaning.
The method used by the
drive to return cleaning information is set using the
@@ -664,6 +666,7 @@ If the bit pattern is zero, one or more bits under the mask indicate
the cleaning request.
If the pattern is nonzero, the pattern must match
the masked sense data byte.
+.RE
.SS MTIOCGET \(em get status
This request takes an argument of type
.IR "(struct mtget\ *)" .
@@ -768,7 +771,7 @@ the drive is set not to buffer data.
.TP
\fBGMT_CLN\fP(\fIx\fP)
The drive has requested cleaning.
-Implemented in kernels since 2.4.19 and 2.5.43.
+Implemented since Linux 2.4.19 and Linux 2.5.43.
.RE
.TP
\fImt_erreg\fP
@@ -845,7 +848,7 @@ The requested operation could not be completed.
The byte count in
.BR read (2)
is smaller than the next physical block on the tape.
-(Before 2.2.18 and 2.4.0 the extra bytes have been
+(Before Linux 2.2.18 and Linux 2.4.0 the extra bytes have been
.\" Precisely: Linux 2.6.0-test6
silently ignored.)
.TP
@@ -883,7 +886,7 @@ the nonrewind SCSI tape devices
.\" Several other
.\" people have also contributed to the driver.
.SH NOTES
-.IP 1. 4
+.IP \(bu 3
When exchanging data between systems, both systems have to agree on
the physical tape block size.
The parameters of a drive after startup
@@ -903,26 +906,26 @@ exchanging data with a foreign system.
The drawback of
this is that a fairly large tape block size has to be used to get
acceptable data transfer rates on the SCSI bus.
-.IP 2.
+.IP \(bu
Many programs (e.g.,
.BR tar (1))
allow the user to specify the blocking
factor on the command line.
Note that this determines the physical block
size on tape only in variable-block mode.
-.IP 3.
+.IP \(bu
In order to use SCSI tape drives, the basic SCSI driver,
a SCSI-adapter driver and the SCSI tape driver must be either
configured into the kernel or loaded as modules.
If the SCSI-tape
driver is not present, the drive is recognized but the tape support
described in this page is not available.
-.IP 4.
+.IP \(bu
The driver writes error messages to the console/log.
The SENSE
codes written into some messages are automatically translated to text
if verbose SCSI messages are enabled in kernel configuration.
-.IP 5.
+.IP \(bu
The driver's internal buffering allows good throughput in fixed-block
mode also with small
.BR read (2)
diff --git a/man4/tty.4 b/man4/tty.4
index 022bed9a4..f9b814432 100644
--- a/man4/tty.4
+++ b/man4/tty.4
@@ -6,7 +6,7 @@
.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu)
.\" Modified 2003-04-07 by Michael Kerrisk
.\"
-.TH TTY 4 2022-10-09 "Linux man-pages 6.01"
+.TH tty 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
tty \- controlling terminal
.SH DESCRIPTION
diff --git a/man4/ttyS.4 b/man4/ttyS.4
index ef6d8ba9c..44596ce6b 100644
--- a/man4/ttyS.4
+++ b/man4/ttyS.4
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 17:03:24 1993 by Rik Faith (faith@cs.unc.edu)
-.TH TTYS 4 2022-10-09 "Linux man-pages 6.01"
+.TH ttyS 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ttyS \- serial terminal lines
.SH DESCRIPTION
diff --git a/man4/vcs.4 b/man4/vcs.4
index e60996fdf..d1cb73ef1 100644
--- a/man4/vcs.4
+++ b/man4/vcs.4
@@ -7,7 +7,7 @@
.\" 2007-12-17, Samuel Thibault <samuel.thibault@ens-lyon.org>:
.\" document the VT_GETHIFONTMASK ioctl
.\" "
-.TH VCS 4 2022-10-09 "Linux man-pages 6.01"
+.TH vcs 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
vcs, vcsa \- virtual console memory
.SH DESCRIPTION
@@ -80,7 +80,7 @@ requests are supported.
.\" .SH AUTHOR
.\" Andries Brouwer <aeb@cwi.nl>
.SH VERSIONS
-Introduced with version 1.1.92 of the Linux kernel.
+Introduced with Linux 1.1.92.
.SH EXAMPLES
You may do a screendump on vt3 by switching to vt1 and typing
.PP
diff --git a/man4/veth.4 b/man4/veth.4
index e18538cd4..16adf6174 100644
--- a/man4/veth.4
+++ b/man4/veth.4
@@ -5,7 +5,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\"
-.TH VETH 4 2022-10-09 "Linux man-pages 6.01"
+.TH veth 4 2022-10-30 "Linux man-pages 6.02"
.SH NAME
veth \- Virtual Ethernet Device
.SH DESCRIPTION
diff --git a/man4/wavelan.4 b/man4/wavelan.4
index fc11de3c7..bd148292e 100644
--- a/man4/wavelan.4
+++ b/man4/wavelan.4
@@ -8,7 +8,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH WAVELAN 4 2022-10-09 "Linux man-pages 6.01"
+.TH wavelan 4 2022-12-04 "Linux man-pages 6.02"
.SH NAME
wavelan \- AT&T GIS WaveLAN ISA device driver
.SH SYNOPSIS
@@ -17,7 +17,7 @@ wavelan \- AT&T GIS WaveLAN ISA device driver
.fi
.SH DESCRIPTION
.I This driver is obsolete:
-it was removed from the kernel in version 2.6.35.
+it was removed in Linux 2.6.35.
.PP
.B wavelan
is the low-level device driver for the NCR / AT&T / Lucent
@@ -122,7 +122,7 @@ If this happens for you, you must look in the source code on
how to add your card to the detection routine.
.PP
Some of the mentioned features are optional.
-You may enable to disable
+You may enable or disable
them by changing flags in the driver header and recompile.
.\" .SH AUTHOR
.\" Bruce Janson \(em bruce@cs.usyd.edu.au
diff --git a/man5/acct.5 b/man5/acct.5
index 537c74b80..2ba10c362 100644
--- a/man5/acct.5
+++ b/man5/acct.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ACCT 5 2022-10-09 "Linux man-pages 6.01"
+.TH acct 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
acct \- process accounting file
.SH SYNOPSIS
@@ -87,7 +87,7 @@ fields measure time in "clock ticks"; divide these values by
.I sysconf(_SC_CLK_TCK)
to convert them to seconds.
.SS Version 3 accounting file format
-Since kernel 2.6.8,
+Since Linux 2.6.8,
an optional alternative version of the accounting file can be produced
if the
.B CONFIG_BSD_PROCESS_ACCT_V3
@@ -131,7 +131,7 @@ struct acct_v3 {
.SH VERSIONS
The
.I acct_v3
-structure is defined in glibc since version 2.6.
+structure is defined since glibc 2.6.
.SH STANDARDS
Process accounting originated on BSD.
Although it is present on most systems, it is not standardized,
@@ -140,7 +140,7 @@ and the details vary somewhat between systems.
Records in the accounting file are ordered by termination time of
the process.
.PP
-In kernels up to and including 2.6.9,
+Up to and including Linux 2.6.9,
a separate accounting record is written for each thread created using
the NPTL threading library;
since Linux 2.6.10,
diff --git a/man5/charmap.5 b/man5/charmap.5
index db344b302..d1fed10fc 100644
--- a/man5/charmap.5
+++ b/man5/charmap.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH CHARMAP 5 2022-10-09 "Linux man-pages 6.01"
+.TH charmap 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
charmap \- character set description file
.SH DESCRIPTION
diff --git a/man5/core.5 b/man5/core.5
index 095a04df9..fd60bb959 100644
--- a/man5/core.5
+++ b/man5/core.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CORE 5 2022-10-09 "Linux man-pages 6.01"
+.TH core 5 2022-12-12 "Linux man-pages 6.02"
.SH NAME
core \- core dump file
.SH DESCRIPTION
@@ -26,7 +26,7 @@ for details.
.PP
There are various circumstances in which a core dump file is
not produced:
-.IP * 3
+.IP \(bu 3
The process does not have permission to write the core file.
(By default, the core file is called
.I core
@@ -43,18 +43,18 @@ or if a file with the same name exists and
is not writable
or is not a regular file
(e.g., it is a directory or a symbolic link).
-.IP *
+.IP \(bu
A (writable, regular) file with the same name as would be used for the
core dump already exists, but there is more than one hard link to that
file.
-.IP *
+.IP \(bu
The filesystem where the core dump file would be created is full;
or has run out of inodes; or is mounted read-only;
or the user has reached their quota for the filesystem.
-.IP *
+.IP \(bu
The directory in which the core dump file is to be created does
not exist.
-.IP *
+.IP \(bu
The
.B RLIMIT_CORE
(core file size) or
@@ -67,14 +67,17 @@ command
.RI ( limit
in
.BR csh (1)).
-.IP *
+However,
+.B RLIMIT_CORE
+will be ignored if the system is configured to pipe core dumps to a program.
+.IP \(bu
The binary being executed by the process does not have read
permission enabled.
(This is a security measure to
ensure that an executable whose contents are not readable
does not produce a\(empossibly readable\(emcore dump containing
an image of the executable.)
-.IP *
+.IP \(bu
The process is executing a set-user-ID (set-group-ID) program
that is owned by a user (group) other than the real user (group)
ID of the process,
@@ -89,7 +92,7 @@ operation, and the description of the
.\" and PR_SET_DUMPABLE to this page?
file in
.BR proc (5).)
-.IP *
+.IP \(bu
.I /proc/sys/kernel/core_pattern
is empty and
.I /proc/sys/kernel/core_uses_pid
@@ -106,7 +109,7 @@ and such files are hidden unless one uses the
.BR ls (1)
.I \-a
option.
-.IP *
+.IP \(bu
(Since Linux 3.7)
.\" commit 046d662f481830e652ac34cd112249adde16452a
The kernel was configured without the
@@ -217,7 +220,7 @@ part of the core filename.
The template may include \(aq/\(aq characters, which are interpreted
as delimiters for directory names.
The maximum size of the resulting core filename is 128 bytes (64 bytes
-in kernels before 2.6.19).
+before Linux 2.6.19).
The default value in this file is "core".
For backward compatibility, if
.I /proc/sys/kernel/core_pattern
@@ -237,7 +240,7 @@ its current working directory (found via
and its root directory (see
.BR chroot (2)).
.PP
-Since version 2.4, Linux has also provided
+Since Linux 2.4, Linux has also provided
a more primitive method of controlling
the name of the core dump file.
If the
@@ -255,14 +258,14 @@ if
is set to 2 ("suidsafe"), the pattern must be either an absolute pathname
(starting with a leading \(aq/\(aq character) or a pipe, as defined below.
.SS Piping core dumps to a program
-Since kernel 2.6.19, Linux supports an alternate syntax for the
+Since Linux 2.6.19, Linux supports an alternate syntax for the
.I /proc/sys/kernel/core_pattern
file.
If the first character of this file is a pipe symbol (\fB|\fP),
then the remainder of the line is interpreted as the command-line for
a user-space program (or script) that is to be executed.
.PP
-Since kernel 5.3.0,
+Since Linux 5.3.0,
.\" commit 315c69261dd3fa12dbc830d4fa00d1fad98d3b03
the pipe template is split on spaces into an argument list
.I before
@@ -284,33 +287,33 @@ the executable name.
Instead of being written to a file, the core dump is given as
standard input to the program.
Note the following points:
-.IP * 3
+.IP \(bu 3
The program must be specified using an absolute pathname (or a
pathname relative to the root directory, \fI/\fP),
and must immediately follow the '|' character.
-.IP *
+.IP \(bu
The command-line arguments can include any of
the % specifiers listed above.
For example, to pass the PID of the process that is being dumped, specify
.I %p
in an argument.
-.IP *
+.IP \(bu
The process created to run the program runs as user and group
.IR root .
-.IP *
+.IP \(bu
Running as
.I root
does not confer any exceptional security bypasses.
Namely, LSMs (e.g., SELinux) are still active and may prevent the handler
from accessing details about the crashed process via
.IR /proc/ pid.
-.IP *
+.IP \(bu
The program pathname is interpreted with respect to the initial mount namespace
as it is always executed there.
It is not affected by the settings
(e.g., root directory, mount namespace, current working directory)
of the crashing process.
-.IP *
+.IP \(bu
The process runs in the initial namespaces
(PID, mount, user, and so on)
and not in the namespaces of the crashing process.
@@ -319,7 +322,7 @@ One can utilize specifiers such as
to find the right
.IR /proc/ pid
directory and probe/enter the crashing process's namespaces if needed.
-.IP *
+.IP \(bu
The process starts with its current working directory
as the root directory.
If desired, it is possible change to the working directory of
@@ -327,11 +330,11 @@ the dumping process by employing the value provided by the
.I %P
specifier to change to the location of the dumping process via
.IR /proc/ pid /cwd .
-.IP *
+.IP \(bu
Command-line arguments can be supplied to the
program (since Linux 2.6.24),
delimited by white space (up to a total line length of 128 bytes).
-.IP *
+.IP \(bu
The
.B RLIMIT_CORE
limit is not enforced for core dumps that are piped to a program
@@ -370,7 +373,7 @@ program is not guaranteed access to
The default value for this file is 0.
.\"
.SS Controlling which mappings are written to the core dump
-Since kernel 2.6.23, the Linux-specific
+Since Linux 2.6.23, the Linux-specific
.IR /proc/ pid /coredump_filter
file can be used to control which memory segments are written to the
core dump file in the event that a core dump is performed for the
diff --git a/man5/dir_colors.5 b/man5/dir_colors.5
index 3f813ab74..75537d5d4 100644
--- a/man5/dir_colors.5
+++ b/man5/dir_colors.5
@@ -1,3 +1,4 @@
+'\" t
.\" manpage for /etc/dir_colors, config file for dircolors(1)
.\" extracted from color-ls 3.12.0.3 dircolors(1) manpage
.\"
@@ -9,7 +10,7 @@
.\"
.\" Modified Sat Dec 22 22:25:33 2001 by Martin Schulze <joey@infodrom.org>
.\"
-.TH DIR_COLORS 5 2022-10-09 "Linux man-pages 6.01"
+.TH dir_colors 5 2022-12-15 "Linux man-pages 6.02"
.SH NAME
dir_colors \- configuration file for dircolors(1)
.SH DESCRIPTION
diff --git a/man5/elf.5 b/man5/elf.5
index 634eaeb07..c6e902140 100644
--- a/man5/elf.5
+++ b/man5/elf.5
@@ -32,7 +32,7 @@
.\" 2007-10-11, Mike Frysinger <vapier@gentoo.org>, various fixes
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH ELF 5 2022-10-09 "Linux man-pages 6.01"
+.TH ELF 5 2022-10-29 "Linux man-pages 6.02"
.SH NAME
elf \- format of Executable and Linking Format (ELF) files
.SH SYNOPSIS
@@ -2079,15 +2079,15 @@ The desc field will be 4 words:
.IP
.PD 0
.RS
-.IP \(bu 2
-word 0: OS descriptor
+.IP [0] 5
+OS descriptor
(\fBELF_NOTE_OS_LINUX\fR, \fBELF_NOTE_OS_GNU\fR, and so on)`
-.IP \(bu
-word 1: major version of the ABI
-.IP \(bu
-word 2: minor version of the ABI
-.IP \(bu
-word 3: subminor version of the ABI
+.IP [1]
+major version of the ABI
+.IP [2]
+minor version of the ABI
+.IP [3]
+subminor version of the ABI
.RE
.PD
.TP
@@ -2097,10 +2097,10 @@ The desc field begins with two words:
.IP
.PD 0
.RS
-.IP \(bu 2
-word 0: number of entries
-.IP \(bu
-word 1: bit mask of enabled entries
+.IP [0] 5
+number of entries
+.IP [1]
+bit mask of enabled entries
.RE
.PD
.IP
diff --git a/man5/filesystems.5 b/man5/filesystems.5
index 4cbf6af31..350ec61bd 100644
--- a/man5/filesystems.5
+++ b/man5/filesystems.5
@@ -4,7 +4,7 @@
.\"
.\" 2007-12-14 mtk Added Reiserfs, XFS, JFS.
.\"
-.TH FILESYSTEMS 5 2022-10-09 "Linux man-pages 6.01"
+.TH filesystems 5 2022-12-05 "Linux man-pages 6.02"
.nh
.SH NAME
filesystems \- Linux filesystem types: ext, ext2, ext3, ext4, hpfs, iso9660,
@@ -55,10 +55,10 @@ filesystem.
It has been completely superseded by the second version
of the extended filesystem
.RB ( ext2 )
-and has been removed from the kernel (in 2.1.21).
+and has been removed from the kernel (in Linux 2.1.21).
.TP
.B ext2
-is the high performance disk filesystem used by Linux for fixed disks
+is a disk filesystem that was used by Linux for fixed disks
as well as removable media.
The second extended filesystem was designed as an extension of the
extended filesystem
@@ -117,7 +117,7 @@ filesystem support under Linux.
.TP
.B JFS
is a journaling filesystem, developed by IBM,
-that was integrated into Linux in kernel 2.4.24.
+that was integrated into Linux 2.4.24.
.TP
.B minix
is the filesystem used in the Minix operating system, the first to run
@@ -135,7 +135,7 @@ optional period and 3 character extension.
.B ncpfs
is a network filesystem that supports the NCP protocol,
used by Novell NetWare.
-It was removed from the kernel in 4.17.
+It was removed from the kernel in Linux 4.17.
.IP
To use
.BR ncpfs ,
@@ -160,11 +160,11 @@ See
.TP
.B Reiserfs
is a journaling filesystem, designed by Hans Reiser,
-that was integrated into Linux in kernel 2.4.1.
+that was integrated into Linux 2.4.1.
.TP
.B smb
is a network filesystem that supports the SMB protocol, used by
-Windows for Workgroups, Windows NT, and Lan Manager.
+Windows.
See
.UR https://www.samba.org\:/samba\:/smbfs/
.UE .
@@ -194,7 +194,7 @@ adds the capability to use long filenames under the MSDOS filesystem.
.TP
.B XFS
is a journaling filesystem, developed by SGI,
-that was integrated into Linux in kernel 2.4.20.
+that was integrated into Linux 2.4.20.
.TP
.B xiafs
was designed and implemented to be a stable, safe filesystem by
@@ -204,7 +204,7 @@ requested features without undue complexity.
The
.B xiafs
filesystem is no longer actively developed or maintained.
-It was removed from the kernel in 2.1.21.
+It was removed from the kernel in Linux 2.1.21.
.SH SEE ALSO
.BR fuse (4),
.BR btrfs (5),
diff --git a/man5/ftpusers.5 b/man5/ftpusers.5
index dee1f0fe5..76270e484 100644
--- a/man5/ftpusers.5
+++ b/man5/ftpusers.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH FTPUSERS 5 2022-10-09 "Linux man-pages 6.01"
+.TH ftpusers 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ftpusers \- list of users that may not log in via the FTP daemon
.SH DESCRIPTION
diff --git a/man5/gai.conf.5 b/man5/gai.conf.5
index 2bf4e15c0..05bb464b8 100644
--- a/man5/gai.conf.5
+++ b/man5/gai.conf.5
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-only
.\"
-.TH GAI.CONF 5 2022-10-09 "Linux man-pages 6.01"
+.TH gai.conf 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
gai.conf \- getaddrinfo(3) configuration file
.SH DESCRIPTION
@@ -62,7 +62,7 @@ Changing these defaults should hardly ever be necessary.
The
.I gai.conf
.\" Added in 2006
-file is supported by glibc since version 2.5.
+file is supported since glibc 2.5.
.SH EXAMPLES
The default table according to RFC\ 3484 would be specified with the
following configuration file:
diff --git a/man5/group.5 b/man5/group.5
index be19191cf..c5b7079b8 100644
--- a/man5/group.5
+++ b/man5/group.5
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 17:06:03 1993 by Rik Faith (faith@cs.unc.edu)
-.TH GROUP 5 2022-10-09 "Linux man-pages 6.01"
+.TH group 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
group \- user group file
.SH DESCRIPTION
diff --git a/man5/host.conf.5 b/man5/host.conf.5
index 0684bb398..6c5131604 100644
--- a/man5/host.conf.5
+++ b/man5/host.conf.5
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" 2003-08-23 Martin Schulze <joey@infodrom.org> Updated according to glibc 2.3.2
-.TH HOST.CONF 5 2022-10-09 "Linux man-pages 6.01"
+.TH host.conf 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
host.conf \- resolver configuration file
.SH DESCRIPTION
diff --git a/man5/hosts.5 b/man5/hosts.5
index 0fcac1b68..2f2be55f5 100644
--- a/man5/hosts.5
+++ b/man5/hosts.5
@@ -5,7 +5,7 @@
.\" Minor polishing, aeb
.\" Modified, 2002-06-16, Mike Coleman
.\"
-.TH HOSTS 5 2022-10-09 "Linux man-pages 6.01"
+.TH hosts 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hosts \- static table lookup for hostnames
.SH SYNOPSIS
diff --git a/man5/hosts.equiv.5 b/man5/hosts.equiv.5
index e03e36366..8464a75b2 100644
--- a/man5/hosts.equiv.5
+++ b/man5/hosts.equiv.5
@@ -1,7 +1,7 @@
.\" Copyright (c) 1995 Peter Tobias <tobias@et-inf.fho-emden.de>
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
-.TH HOSTS.EQUIV 5 2022-10-09 "Linux man-pages 6.01"
+.TH hosts.equiv 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hosts.equiv \- list of hosts and users that are granted "trusted"
.B r
diff --git a/man5/intro.5 b/man5/intro.5
index b54b91186..bb2d993e5 100644
--- a/man5/intro.5
+++ b/man5/intro.5
@@ -5,7 +5,7 @@
.\"
.\" Modified Sat Jul 24 17:06:52 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jan 14 00:34:09 1996 by Andries Brouwer (aeb@cwi.nl)
-.TH INTRO 5 2022-10-09 "Linux man-pages 6.01"
+.TH intro 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to file formats and filesystems
.SH DESCRIPTION
diff --git a/man5/issue.5 b/man5/issue.5
index 7603b30ac..a4b949f96 100644
--- a/man5/issue.5
+++ b/man5/issue.5
@@ -5,7 +5,7 @@
.\"
.\" Modified Sun Jul 25 11:06:22 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH ISSUE 5 2022-10-09 "Linux man-pages 6.01"
+.TH issue 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
issue \- prelogin message and identification file
.SH DESCRIPTION
diff --git a/man5/locale.5 b/man5/locale.5
index 6526ef289..d17ad00b8 100644
--- a/man5/locale.5
+++ b/man5/locale.5
@@ -7,7 +7,7 @@
.\" 2008-06-17 Petr Baudis <pasky@suse.cz>
.\" LC_TIME: Describe first_weekday and first_workday
.\"
-.TH LOCALE 5 2022-10-09 "Linux man-pages 6.01"
+.TH locale 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
locale \- describes a locale definition file
.SH DESCRIPTION
@@ -58,32 +58,32 @@ provided locale definition file should be used as a reference to follow
common glibc conventions.
.SS Locale category sections
The following category sections are defined by POSIX:
-.IP * 3
+.IP \(bu 3
.B LC_CTYPE
-.IP *
+.IP \(bu
.B LC_COLLATE
-.IP *
+.IP \(bu
.B LC_MESSAGES
-.IP *
+.IP \(bu
.B LC_MONETARY
-.IP *
+.IP \(bu
.B LC_NUMERIC
-.IP *
+.IP \(bu
.B LC_TIME
.PP
-In addition, since version 2.2,
+In addition, since glibc 2.2,
the GNU C library supports the following nonstandard categories:
-.IP * 3
+.IP \(bu 3
.B LC_ADDRESS
-.IP *
+.IP \(bu
.B LC_IDENTIFICATION
-.IP *
+.IP \(bu
.B LC_MEASUREMENT
-.IP *
+.IP \(bu
.B LC_NAME
-.IP *
+.IP \(bu
.B LC_PAPER
-.IP *
+.IP \(bu
.B LC_TELEPHONE
.PP
See
@@ -600,11 +600,11 @@ In addition, for each of the categories defined by the document,
there should be a line starting with the keyword
.IR category ,
followed by:
-.IP * 3
+.IP (1) 5
a string that identifies this locale category definition,
-.IP *
+.IP (2)
a semicolon, and
-.IP *
+.IP (3)
one of the
.B LC_*
identifiers.
@@ -1262,7 +1262,7 @@ and
states at
https://sourceware.org/glibc/wiki/Locales
the following:
-.IP * 3
+.IP \(bu 3
The value of the second
.I week
list item specifies the base of the
@@ -1270,14 +1270,14 @@ list item specifies the base of the
and
.I day
lists.
-.IP *
+.IP \(bu
.I first_weekday
specifies the offset of the first day-of-week in the
.I abday
and
.I day
lists.
-.IP *
+.IP \(bu
For compatibility reasons, all glibc locales should set the value of the
second
.I week
diff --git a/man5/motd.5 b/man5/motd.5
index afdce3541..19c71f875 100644
--- a/man5/motd.5
+++ b/man5/motd.5
@@ -5,7 +5,7 @@
.\"
.\" Modified Sat Jul 24 17:08:16 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
-.TH MOTD 5 2022-10-09 "Linux man-pages 6.01"
+.TH motd 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
motd \- message of the day
.SH DESCRIPTION
diff --git a/man5/networks.5 b/man5/networks.5
index 62c607fdc..06805241f 100644
--- a/man5/networks.5
+++ b/man5/networks.5
@@ -4,7 +4,7 @@
.\"
.\" 2008-09-04, mtk, taken from Debian downstream, with a few light edits
.\"
-.TH NETWORKS 5 2022-10-09 "Linux man-pages 6.01"
+.TH networks 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
networks \- network name information
.SH DESCRIPTION
diff --git a/man5/nologin.5 b/man5/nologin.5
index 9d2274551..5af811e8e 100644
--- a/man5/nologin.5
+++ b/man5/nologin.5
@@ -5,7 +5,7 @@
.\"
.\" Modified Sun Jul 25 11:06:34 1993 by Rik Faith (faith@cs.unc.edu)
.\" Corrected Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond (esr@thyrsus.com)
-.TH NOLOGIN 5 2022-10-09 "Linux man-pages 6.01"
+.TH nologin 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nologin \- prevent unprivileged users from logging into the system
.SH DESCRIPTION
diff --git a/man5/nscd.conf.5 b/man5/nscd.conf.5
index 5ef5c6800..cb21cf951 100644
--- a/man5/nscd.conf.5
+++ b/man5/nscd.conf.5
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH NSCD.CONF 5 2022-10-09 "Linux man-pages 6.01"
+.TH nscd.conf 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nscd.conf \- name service cache daemon configuration file
.SH DESCRIPTION
@@ -299,7 +299,7 @@ the value of the
attribute.
.PP
Please consider the following advice carefully:
-.IP \(bu
+.IP \(bu 3
If your application will make a second request for the same name,
after more than 1 TTL but before
.B reload\-count
diff --git a/man5/nss.5 b/man5/nss.5
index ab4c1221d..b90888e12 100644
--- a/man5/nss.5
+++ b/man5/nss.5
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-only
.\"
-.TH NSS 5 2022-10-09 "Linux man-pages 6.01"
+.TH nss 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nss \- Name Service Switch configuration file
.SH DESCRIPTION
diff --git a/man5/nsswitch.conf.5 b/man5/nsswitch.conf.5
index 7ca76364a..0d6c72106 100644
--- a/man5/nsswitch.conf.5
+++ b/man5/nsswitch.conf.5
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH NSSWITCH.CONF 5 2022-10-09 "Linux man-pages 6.01"
+.TH NSSWITCH.CONF 5 2022-11-05 "Linux man-pages 6.02"
.SH NAME
nsswitch.conf \- Name Service Switch configuration file
.SH DESCRIPTION
@@ -122,11 +122,11 @@ services: nis [NOTFOUND=return] files
.PP
The first column is the database name.
The remaining columns specify:
-.IP * 3
+.IP \(bu 3
One or more service specifications, for example, "files", "db", or "nis".
The order of the services on the line determines the order in which
those services will be queried, in turn, until a result is found.
-.IP *
+.IP \(bu
Optional actions to perform if a particular result is obtained
from the preceding service, for example, "[NOTFOUND=return]".
.PP
@@ -402,11 +402,13 @@ for respective databases:
.PD
.RE
.SH NOTES
-Within each process that uses
-.BR nsswitch.conf ,
-the entire file is read only once.
-If the file is later changed, the
-process will continue using the old configuration.
+Starting with glibc 2.33,
+.\" https://sourceware.org/bugzilla/show_bug.cgi?id=12459
+.B nsswitch.conf
+is automatically reloaded if the file is changed.
+In earlier versions, the entire file was read only once within each process.
+If the file was later changed,
+the process would continue using the old configuration.
.PP
Traditionally, there was only a single source for service information,
often in the form of a single configuration
diff --git a/man5/passwd.5 b/man5/passwd.5
index 25adb21f6..a93dad472 100644
--- a/man5/passwd.5
+++ b/man5/passwd.5
@@ -8,7 +8,7 @@
.\" Modified Sun Jun 18 01:53:57 1995 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Mon Jan 5 20:24:40 MET 1998 by Michael Haardt
.\" (michael@cantor.informatik.rwth-aachen.de)
-.TH PASSWD 5 2022-10-09 "Linux man-pages 6.01"
+.TH PASSWD 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
passwd \- password file
.SH DESCRIPTION
@@ -38,8 +38,12 @@ or in
.IR /etc/shadow ,
is an empty string, login is allowed without even asking for a password.
Note that this functionality may be intentionally disabled in applications,
-or configurable (for example using the "nullok" or "nonull" arguments to
-pam_unix.so).
+or configurable (for example using the
+.RB \(dq nullok \(dq
+or
+.RB \(dq nonull \(dq
+arguments to
+.BR pam_unix (8)).
.PP
If the encrypted password in
.I /etc/passwd
diff --git a/man5/proc.5 b/man5/proc.5
index 54a3ea21e..50a9b3fe1 100644
--- a/man5/proc.5
+++ b/man5/proc.5
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com)
.\" and Copyright (C) 2002-2008,2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk)
@@ -16,7 +17,7 @@
.\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25
.\" by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2004-11-17, mtk -- updated notes on /proc/loadavg
-.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in 2.6.8
+.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in Linux 2.6.8
.\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list
.\" 2005-05-12, mtk, updated 'stat'
.\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/*
@@ -33,7 +34,7 @@
.\" to see what information could be imported from that file
.\" into this file.
.\"
-.TH PROC 5 2022-10-09 "Linux man-pages 6.01"
+.TH PROC 5 2022-12-15 "Linux man-pages 6.02"
.SH NAME
proc \- process information pseudo-filesystem
.SH DESCRIPTION
@@ -244,12 +245,12 @@ things work as expected for the container "root" user.
.IP
The process's "dumpable" attribute may change for the following reasons:
.RS
-.IP * 3
+.IP \(bu 3
The attribute was explicitly set via the
.BR prctl (2)
.B PR_SET_DUMPABLE
operation.
-.IP *
+.IP \(bu
The attribute was reset to the value in the file
.I /proc/sys/fs/suid_dumpable
(described below), for the reasons described in
@@ -375,7 +376,7 @@ For further information, see the kernel source file
(or file
.\" commit b68101a1e8f0263dbc7b8375d2a7c57c6216fb76
.I Documentation/security/keys.txt
-on Linux between 3.0 and 4.13, or
+between Linux 3.0 and Linux 4.13, or
.\" commit d410fa4ef99112386de5f218dd7df7b4fca910b4
.I Documentation/keys.txt
before Linux 3.0).
@@ -396,7 +397,7 @@ all subsequently created sockets will be labeled with this context.
See
.BR sched (7).
.TP
-.IR /proc/ pid /auxv " (since 2.6.0)"
+.IR /proc/ pid /auxv " (since Linux 2.6.0)"
.\" Precisely: Linux 2.6.0-test7
This contains the contents of the ELF interpreter information passed
to the process at exec time.
@@ -432,7 +433,7 @@ The following values may be written to the file:
.\" Internally: CLEAR_REFS_ALL
Reset the PG_Referenced and ACCESSED/YOUNG
bits for all the pages associated with the process.
-(Before kernel 2.6.32, writing any nonzero value to this file
+(Before Linux 2.6.32, writing any nonzero value to this file
had this effect.)
.TP
2 (since Linux 2.6.32)
@@ -493,7 +494,7 @@ kernel configuration option is enabled.
.IR /proc/ pid /cmdline
This read-only file holds the complete command line for the process,
unless the process is a zombie.
-.\" In 2.3.26, this also used to be true if the process was swapped out.
+.\" In Linux 2.3.26, this also used to be true if the process was swapped out.
In the latter case, there is nothing in this file:
that is, a read on this file will return 0 characters.
The command-line arguments appear in this file as a set of
@@ -1110,7 +1111,7 @@ on this file descriptor would return.)
See
.BR user_namespaces (7).
.TP
-.IR /proc/ pid /io " (since kernel 2.6.20)"
+.IR /proc/ pid /io " (since Linux 2.6.20)"
.\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
This file contains I/O statistics for the process, for example:
.IP
@@ -1206,10 +1207,10 @@ Since Linux 2.6.36,
.\" commit 3036e7b490bf7878c6dae952eec5fb87b1106589
this file is readable by all users on the system.
.\" FIXME Describe /proc/[pid]/loginuid
-.\" Added in 2.6.11; updating requires CAP_AUDIT_CONTROL
+.\" Added in Linux 2.6.11; updating requires CAP_AUDIT_CONTROL
.\" CONFIG_AUDITSYSCALL
.TP
-.IR /proc/ pid /map_files/ " (since kernel 3.3)"
+.IR /proc/ pid /map_files/ " (since Linux 3.3)"
.\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e
This subdirectory contains entries corresponding to memory-mapped
files (see
@@ -1253,7 +1254,7 @@ Permission to access this file is governed by a ptrace access mode
check; see
.BR ptrace (2).
.IP
-Until kernel version 4.3,
+Until Linux 4.3,
.\" commit bdb4d100afe9818aebd1d98ced575c5ef143456c
this directory appeared only if the
.B CONFIG_CHECKPOINT_RESTORE
@@ -1352,7 +1353,7 @@ There are additional helpful pseudo-paths:
.I [stack]
The initial process's (also known as the main thread's) stack.
.TP
-.IR [stack: tid ] " (from Linux 3.4 to 4.4)"
+.IR [stack: tid ] " (from Linux 3.4 to Linux 4.4)"
.\" commit b76437579d1344b612cf1851ae610c636cec7db0 (added)
.\" commit 65376df582174ffcec9e6471bf5b0dd79ba05e4a (removed)
A thread's stack (where the
@@ -1530,7 +1531,7 @@ process's mount namespace (see
The format of this file is documented in
.BR fstab (5).
.IP
-Since kernel version 2.6.15, this file is pollable:
+Since Linux 2.6.15, this file is pollable:
after opening the file for reading, a change in this file
(i.e., a filesystem mount or unmount) causes
.BR select (2)
@@ -1624,8 +1625,8 @@ Since Linux 2.6.36, use of this file is deprecated in favor of
.IR /proc/ pid /oom_score_adj .
.TP
.IR /proc/ pid /oom_score " (since Linux 2.6.11)"
-.\" See mm/oom_kill.c::badness() in pre 2.6.36 sources
-.\" See mm/oom_kill.c::oom_badness() after 2.6.36
+.\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources
+.\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36
.\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10
This file displays the current score that the kernel gives to
this process for the purpose of selecting a process
@@ -1634,28 +1635,28 @@ A higher score means that the process is more likely to be
selected by the OOM-killer.
The basis for this score is the amount of memory used by the process,
with increases (+) or decreases (\-) for factors including:
-.\" See mm/oom_kill.c::badness() in pre 2.6.36 sources
-.\" See mm/oom_kill.c::oom_badness() after 2.6.36
+.\" See mm/oom_kill.c::badness() before Linux 2.6.36 sources
+.\" See mm/oom_kill.c::oom_badness() after Linux 2.6.36
.\" commit a63d83f427fbce97a6cea0db2e64b0eb8435cd10
.RS
-.IP * 2
+.IP \(bu 3
whether the process is privileged (\-).
.\" More precisely, if it has CAP_SYS_ADMIN or (pre 2.6.36) CAP_SYS_RESOURCE
.RE
.IP
-Before kernel 2.6.36
+Before Linux 2.6.36
the following factors were also used in the calculation of oom_score:
.RS
-.IP * 2
+.IP \(bu 3
whether the process creates a lot of children using
.BR fork (2)
(+);
-.IP *
+.IP \(bu
whether the process has been running a long time,
or has used a lot of CPU time (\-);
-.IP *
+.IP \(bu
whether the process has a low nice value (i.e., > 0) (+); and
-.IP *
+.IP \(bu
whether the process is making direct hardware access (\-).
.\" More precisely, if it has CAP_SYS_RAWIO
.RE
@@ -1669,7 +1670,7 @@ or
setting for the process.
.TP
.IR /proc/ pid /oom_score_adj " (since Linux 2.6.36)"
-.\" Text taken from 3.7 Documentation/filesystems/proc.txt
+.\" Text taken from Linux 3.7 Documentation/filesystems/proc.txt
This file can be used to adjust the badness heuristic used to select which
process gets killed in out-of-memory conditions.
.IP
@@ -1887,7 +1888,7 @@ check; see
See
.BR user_namespaces (7).
.TP
-.IR /proc/ pid /seccomp " (Linux 2.6.12 to 2.6.22)"
+.IR /proc/ pid /seccomp " (Linux 2.6.12 to Linux 2.6.22)"
This file can be used to read and change the process's
secure computing (seccomp) mode setting.
It contains the value 0 if the process is not in seccomp mode,
@@ -1913,10 +1914,10 @@ field in
.\" FIXME Describe /proc/[pid]/sessionid
.\" commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc
.\" CONFIG_AUDITSYSCALL
-.\" Added in 2.6.25; read-only; only readable by real UID
+.\" Added in Linux 2.6.25; read-only; only readable by real UID
.\"
.\" FIXME Describe /proc/[pid]/sched
-.\" Added in 2.6.23
+.\" Added in Linux 2.6.23
.\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS
.\" Displays various scheduling parameters
.\" This file can be written, to reset stats
@@ -1926,7 +1927,7 @@ field in
.\"
.\" FIXME Describe /proc/[pid]/schedstats and
.\" /proc/[pid]/task/[tid]/schedstats
-.\" Added in 2.6.9
+.\" Added in Linux 2.6.9
.\" CONFIG_SCHEDSTATS
.TP
.IR /proc/ pid /setgroups " (since Linux 3.19)"
@@ -2095,45 +2096,58 @@ This is visible whether or not the executable is swapped out.
(3) \fIstate\fP \ %c
One of the following characters, indicating process state:
.RS
-.IP R 3
+.TP
+R
Running
-.IP S
+.TP
+S
Sleeping in an interruptible wait
-.IP D
+.TP
+D
Waiting in uninterruptible
disk sleep
-.IP Z
+.TP
+Z
Zombie
-.IP T
+.TP
+T
Stopped (on a signal) or (before Linux 2.6.33) trace stopped
-.IP t
+.TP
+t
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
Tracing stop (Linux 2.6.33 onward)
-.IP W
+.TP
+W
Paging (only before Linux 2.6.0)
-.IP X
+.TP
+X
Dead (from Linux 2.6.0 onward)
-.IP x
+.TP
+x
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
Dead (Linux 2.6.33 to
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
3.13 only)
-.IP K
+.TP
+K
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
Wakekill (Linux 2.6.33 to
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
3.13 only)
-.IP W
+.TP
+W
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
Waking (Linux 2.6.33 to
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
3.13 only)
-.IP P
+.TP
+P
.\" commit f2530dc71cf0822f90bb63ea4600caaef33a66bb
Parked (Linux 3.9 to
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
3.13 only)
-.IP I
+.TP
+I
.\" commit 06eb61844d841d0032a9950ce7f8e783ee49c0d0
Idle (Linux 4.14 onward)
.RE
@@ -2232,13 +2246,13 @@ corresponding to the user-visible nice range of \-20 to 19.
.IP
Before Linux 2.6, this was a scaled value based on
the scheduler weighting given to this process.
-.\" And back in kernel 1.2 days things were different again.
+.\" And back in Linux 1.2 days things were different again.
.TP
(19) \fInice\fP \ %ld
The nice value (see
.BR setpriority (2)),
a value in the range 19 (low priority) to \-20 (high priority).
-.\" Back in kernel 1.2 days things were different.
+.\" Back in Linux 1.2 days things were different.
.\" .TP
.\" \fIcounter\fP %ld
.\" The current maximum size in jiffies of the process's next timeslice,
@@ -2251,19 +2265,19 @@ a value in the range 19 (low priority) to \-20 (high priority).
.TP
(20) \fInum_threads\fP \ %ld
Number of threads in this process (since Linux 2.6).
-Before kernel 2.6, this field was hard coded to 0 as a placeholder
+Before Linux 2.6, this field was hard coded to 0 as a placeholder
for an earlier removed field.
.TP
(21) \fIitrealvalue\fP \ %ld
The time in jiffies before the next
.B SIGALRM
is sent to the process due to an interval timer.
-Since kernel 2.6.17, this field is no longer maintained,
+Since Linux 2.6.17, this field is no longer maintained,
and is hard coded as 0.
.TP
(22) \fIstarttime\fP \ %llu
The time the process started after system boot.
-In kernels before Linux 2.6, this value was expressed in jiffies.
+Before Linux 2.6, this value was expressed in jiffies.
Since Linux 2.6, the value is expressed in clock ticks (divide by
.IR sysconf(_SC_CLK_TCK) ).
.IP
@@ -2336,11 +2350,11 @@ The corresponding symbolic name can be found in
.IR /proc/ pid /wchan .
.TP
(36) \fInswap\fP \ %lu
-.\" nswap was added in 2.0
+.\" nswap was added in Linux 2.0
Number of pages swapped (not maintained).
.TP
(37) \fIcnswap\fP \ %lu
-.\" cnswap was added in 2.0
+.\" cnswap was added in Linux 2.0
Cumulative \fInswap\fP for child processes (not maintained).
.TP
(38) \fIexit_signal\fP \ %d \ (since Linux 2.1.22)
@@ -3150,7 +3164,7 @@ documentation available under the kernel source directory
.\" commit 3b72c814a8e8cd638e1ba0da4dfce501e9dff5af
(or
.I Documentation/DocBook
-before 4.10;
+before Linux 4.10;
the documentation can be built using a command such as
.I make htmldocs
in the root directory of the kernel source tree).
@@ -3174,7 +3188,7 @@ This can be used by MAKEDEV scripts for consistency with the kernel.
.IR /proc/diskstats " (since Linux 2.5.69)"
This file contains disk I/O statistics for each disk device.
See the Linux kernel source file
-.I ./Documentation/admin\-guide/iostats.rst
+.I Documentation/admin\-guide/iostats.rst
(or
.I Documentation/iostats.txt
before Linux 5.3)
@@ -3373,7 +3387,7 @@ r l l l.
For further details on the meanings of these bits,
see the kernel source file
.IR Documentation/admin\-guide/mm/pagemap.rst .
-Before kernel 2.6.29,
+Before Linux 2.6.29,
.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
.BR KPF_WRITEBACK ,
@@ -3431,9 +3445,9 @@ An example of the content shown in this file is the following:
.IP
The fields shown in each line are as follows:
.RS
-.IP (1) 4
+.IP [1] 5
The ordinal position of the lock in the list.
-.IP (2)
+.IP [2]
The lock type.
Values that may appear here include:
.RS
@@ -3450,7 +3464,7 @@ This is an open file description (OFD) lock created using
This is a POSIX byte-range lock created using
.BR fcntl (2).
.RE
-.IP (3)
+.IP [3]
Among the strings that can appear here are the following:
.RS
.TP
@@ -3460,7 +3474,7 @@ This is an advisory lock.
.B MANDATORY
This is a mandatory lock.
.RE
-.IP (4)
+.IP [4]
The type of lock.
Values that can appear here are:
.RS
@@ -3471,25 +3485,25 @@ This is a POSIX or OFD read lock, or a BSD shared lock.
.B WRITE
This is a POSIX or OFD write lock, or a BSD exclusive lock.
.RE
-.IP (5)
+.IP [5]
The PID of the process that owns the lock.
.IP
Because OFD locks are not owned by a single process
(since multiple processes may have file descriptors that
refer to the same open file description),
the value \-1 is displayed in this field for OFD locks.
-(Before kernel 4.14,
+(Before Linux 4.14,
.\" commit 9d5b86ac13c573795525ecac6ed2db39ab23e2a8
a bug meant that the PID of the process that
initially acquired the lock was displayed instead of the value \-1.)
-.IP (6)
+.IP [6]
Three colon-separated subfields that identify the major and minor device
ID of the device containing the filesystem where the locked file resides,
followed by the inode number of the locked file.
-.IP (7)
+.IP [7]
The byte offset of the first byte of the lock.
For BSD locks, this value is always 0.
-.IP (8)
+.IP [8]
The byte offset of the last byte of the lock.
.B EOF
in this field means that the lock extends to the end of the file.
@@ -3587,12 +3601,12 @@ It is more eligible to be reclaimed for other purposes.
[To be documented.]
.TP
.IR Unevictable " %lu (since Linux 2.6.28)"
-(From Linux 2.6.28 to 2.6.30,
+(From Linux 2.6.28 to Linux 2.6.30,
\fBCONFIG_UNEVICTABLE_LRU\fP was required.)
[To be documented.]
.TP
.IR Mlocked " %lu (since Linux 2.6.28)"
-(From Linux 2.6.28 to 2.6.30,
+(From Linux 2.6.28 to Linux 2.6.30,
\fBCONFIG_UNEVICTABLE_LRU\fP was required.)
[To be documented.]
.TP
@@ -3841,7 +3855,7 @@ See also
.BR lsmod (8).
.TP
.I /proc/mounts
-Before kernel 2.4.19, this file was a list
+Before Linux 2.4.19, this file was a list
of all the filesystems currently mounted on the system.
With the introduction of per-process mount namespaces in Linux 2.4.19 (see
.BR mount_namespaces (7)),
@@ -4276,7 +4290,7 @@ spent in various states:
.I idle
(4) Time spent in the idle task.
.\" FIXME . Actually, the following info about the /proc/stat 'cpu' field
-.\" does not seem to be quite right (at least in 2.6.12 or 3.6):
+.\" does not seem to be quite right (at least in Linux 2.6.12 or Linux 3.6):
.\" the idle time in /proc/uptime does not quite match this value
This value should be USER_HZ times the
second entry in the
@@ -4288,16 +4302,16 @@ pseudo-file.
This value is not reliable, for the following reasons:
.\" See kernel commit 9c240d757658a3ae9968dd309e674c61f07c7f48
.RS
-.IP 1. 3
+.IP \(bu 3
The CPU will not wait for I/O to complete;
iowait is the time that a task is waiting for I/O to complete.
When a CPU goes into idle state for outstanding task I/O,
another task will be scheduled on this CPU.
-.IP 2.
+.IP \(bu
On a multi-core CPU,
the task waiting for I/O to complete is not running on any CPU,
so the iowait of each CPU is difficult to calculate.
-.IP 3.
+.IP \(bu
The value in this field may
.I decrease
in certain conditions.
@@ -4379,7 +4393,7 @@ See also
.BR swapon (8).
.TP
.I /proc/sys
-This directory (present since 1.3.57) contains a number of files
+This directory (present since Linux 1.3.57) contains a number of files
and subdirectories corresponding to kernel variables.
These variables can be read and in some cases modified using
the \fI/proc\fP filesystem, and the (deprecated)
@@ -4456,21 +4470,21 @@ The file contains six numbers,
.I want_pages
(pages requested by system) and two dummy values.
.RS
-.IP * 2
+.IP \(bu 3
.I nr_dentry
is the number of allocated dentries (dcache entries).
This field is unused in Linux 2.2.
-.IP *
+.IP \(bu
.I nr_unused
is the number of unused dentries.
-.IP *
+.IP \(bu
.I age_limit
-.\" looks like this is unused in kernels 2.2 to 2.6
+.\" looks like this is unused in Linux 2.2 to Linux 2.6
is the age in seconds after which dcache entries
can be reclaimed when memory is short.
-.IP *
+.IP \(bu
.I want_pages
-.\" looks like this is unused in kernels 2.2 to 2.6
+.\" looks like this is unused in Linux 2.2 to Linux 2.6
is nonzero when the kernel has called shrink_dcache_pages() and the
dcache isn't pruned yet.
.RE
@@ -4697,18 +4711,18 @@ When the value in this file is 1,
a hard link can be created to a target file
only if one of the following conditions is true:
.RS
-.IP * 3
+.IP \(bu 3
The calling process has the
.B CAP_FOWNER
capability in its user namespace
and the file UID has a mapping in the namespace.
-.IP *
+.IP \(bu
The filesystem UID of the process creating the link matches
the owner (UID) of the target file
(as described in
.BR credentials (7),
a process's filesystem UID is normally the same as its effective UID).
-.IP *
+.IP \(bu
All of the following conditions are true:
.RS 4
.IP \(bu 3
@@ -4773,15 +4787,15 @@ no restrictions are placed on following symbolic links
When the value in this file is 1, symbolic links are followed only
in the following circumstances:
.RS
-.IP * 3
+.IP \(bu 3
the filesystem UID of the process following the link matches
the owner (UID) of the symbolic link
(as described in
.BR credentials (7),
a process's filesystem UID is normally the same as its effective UID);
-.IP *
+.IP \(bu
the link is not in a sticky world-writable directory; or
-.IP *
+.IP \(bu
the symbolic link and its parent directory have the same owner (UID)
.RE
.IP
@@ -4900,10 +4914,10 @@ That is, suspend accounting if 2% or less space is free; resume it
if 4% or more space is free; consider information about amount of free space
valid for 30 seconds.
.TP
-.IR /proc/sys/kernel/auto_msgmni " (Linux 2.6.27 to 3.18)"
+.IR /proc/sys/kernel/auto_msgmni " (Linux 2.6.27 to Linux 3.18)"
.\" commit 9eefe520c814f6f62c5d36a2ddcd3fb99dfdb30e (introduces feature)
.\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 (rendered redundant)
-From Linux 2.6.27 to 3.18,
+From Linux 2.6.27 to Linux 3.18,
this file was used to control recomputing of the value in
.I /proc/sys/kernel/msgmni
upon the addition or removal of memory or upon IPC namespace creation/removal.
@@ -4929,7 +4943,7 @@ and reads from this file always return the value "0".
See
.BR capabilities (7).
.TP
-.IR /proc/sys/kernel/cap\-bound " (from Linux 2.2 to 2.6.24)"
+.IR /proc/sys/kernel/cap\-bound " (from Linux 2.2 to Linux 2.6.24)"
This file holds the value of the kernel
.I "capability bounding set"
(expressed as a signed decimal number).
@@ -5026,7 +5040,7 @@ The default value in this file is
.IR /proc/sys/kernel/htab\-reclaim " (before Linux 2.4.9.2)"
(PowerPC only) If this file is set to a nonzero value,
the PowerPC htab
-.\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before 2.6.28
+.\" removed in commit 1b483a6a7b2998e9c98ad985d7494b9b725bd228, before Linux 2.6.28
(see kernel file
.IR Documentation/powerpc/ppc_htab.txt )
is pruned
@@ -5081,7 +5095,7 @@ in Linux 2.6.26 and earlier)
option enabled.
It is described by the Linux kernel source file
.I Documentation/kmod.txt
-(present only in kernel 2.4 and earlier).
+(present only in Linux 2.4 and earlier).
.TP
.IR /proc/sys/kernel/modules_disabled " (since Linux 2.6.31)"
.\" 3d43321b7015387cfebbe26436d0e9d299162ea1
@@ -5170,7 +5184,7 @@ On 64-bit systems,
can be set to any value up to 2^22
.RB ( PID_MAX_LIMIT ,
approximately 4 million).
-.\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
+.\" Prior to Linux 2.6.10, pid_max could also be raised above 32768 on 32-bit
.\" platforms, but this broke /proc/[pid]
.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
.TP
@@ -5218,13 +5232,15 @@ Select the address space layout randomization (ASLR) policy for the system
(on architectures that support ASLR).
Three values are supported for this file:
.RS
-.IP 0 3
+.TP
+.B 0
Turn ASLR off.
This is the default for architectures that don't support ASLR,
and when the kernel is booted with the
.I norandmaps
parameter.
-.IP 1
+.TP
+.B 1
Make the addresses of
.BR mmap (2)
allocations, the stack, and the VDSO page randomized.
@@ -5234,7 +5250,8 @@ The text segment of PIE-linked binaries will also be loaded
at a randomized address.
This value is the default if the kernel was configured with
.BR CONFIG_COMPAT_BRK .
-.IP 2
+.TP
+.B 2
(Since Linux 2.6.25)
.\" commit c1d171a002942ea2d93b4fbd0c9583c56fce0772
Also support heap randomization.
@@ -5257,14 +5274,14 @@ Maybe to tell it what to do after
rebooting?
.TP
.I /proc/sys/kernel/rtsig\-max
-(Only in kernels up to and including 2.6.7; see
+(Up to and including Linux 2.6.7; see
.BR setrlimit (2))
This file can be used to tune the maximum number
of POSIX real-time (queued) signals that can be outstanding
in the system.
.TP
.I /proc/sys/kernel/rtsig\-nr
-(Only in kernels up to and including 2.6.7.)
+(Up to and including Linux 2.6.7.)
This file shows the number of POSIX real-time signals currently queued.
.TP
.IR /proc/ pid /sched_autogroup_enabled " (since Linux 2.6.38)"
@@ -5305,15 +5322,19 @@ for further details.
This file contains 4 numbers defining limits for System V IPC semaphores.
These fields are, in order:
.RS
-.IP SEMMSL 8
+.TP
+SEMMSL
The maximum semaphores per semaphore set.
-.IP SEMMNS 8
+.TP
+SEMMNS
A system-wide limit on the number of semaphores in all semaphore sets.
-.IP SEMOPM 8
+.TP
+SEMOPM
The maximum number of operations that may be specified in a
.BR semop (2)
call.
-.IP SEMMNI 8
+.TP
+SEMMNI
A system-wide limit on the maximum number of semaphore identifiers.
.RE
.TP
@@ -5684,13 +5705,15 @@ it will kill processes to prevent any data corruptions from propagating.
.IP
The file has one of the following values:
.RS
-.IP 1: 4
+.TP
+.B 1
Kill all processes that have the corrupted-and-not-reloadable page mapped
as soon as the corruption is detected.
Note that this is not supported for a few types of pages,
such as kernel internally
allocated data or the swap cache, but works for the majority of user pages.
-.IP 0: 4
+.TP
+.B 0
Unmap the corrupted page from all processes and kill a process
only if it tries to access the page.
.RE
@@ -5722,9 +5745,11 @@ Present only if the kernel was configured with
.\" The following is based on the text in Documentation/sysctl/vm.txt
Enable memory failure recovery (when supported by the platform).
.RS
-.IP 1: 4
+.TP
+.B 1
Attempt recovery.
-.IP 0: 4
+.TP
+.B 0
Always panic on a memory failure.
.RE
.IP
@@ -5833,7 +5858,7 @@ In mode 1, the kernel pretends there is always enough memory,
until memory actually runs out.
One use case for this mode is scientific computing applications
that employ large sparse arrays.
-In Linux kernel versions before 2.6.0, any nonzero value implies mode 1.
+Before Linux 2.6.0, any nonzero value implies mode 1.
.IP
In mode 2 (available since Linux 2.6), the total virtual address space
that can be allocated
@@ -5850,19 +5875,19 @@ CommitLimit = (total_RAM \- total_huge_TLB) *
.in
.IP
where:
-.RS 12
-.IP * 3
+.RS
+.IP \(bu 3
.I total_RAM
is the total amount of RAM on the system;
-.IP *
+.IP \(bu
.I total_huge_TLB
is the amount of memory set aside for huge pages;
-.IP *
+.IP \(bu
.I overcommit_ratio
is the value in
.IR /proc/sys/vm/overcommit_ratio ;
and
-.IP *
+.IP \(bu
.I total_swap
is the amount of swap space.
.RE
@@ -6103,18 +6128,17 @@ Collection: active
.IP
The output columns are:
.RS
-.IP * 3
+.IP [1] 5
a count of the number of events,
optionally (since Linux 2.6.23) followed by the letter \(aqD\(aq
.\" commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers
if this is a deferrable timer;
-.IP *
+.IP [2]
the PID of the process that initialized the timer;
-.IP *
+.IP [3]
the name of the process that initialized the timer;
-.IP *
+.IP [4]
the function where the timer was initialized; and
-.IP *
(in parentheses)
the callback function that is associated with the timer.
.RE
@@ -6536,12 +6560,12 @@ Number of free CMA (Contiguous Memory Allocator) pages.
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
.TP
-.IR kswapd_low_wmark_hit_quickly " (since 2.6.33)"
+.IR kswapd_low_wmark_hit_quickly " (since Linux 2.6.33)"
.\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
.TP
-.IR kswapd_high_wmark_hit_quickly " (since 2.6.33)"
+.IR kswapd_high_wmark_hit_quickly " (since Linux 2.6.33)"
.\" commit bb3ab596832b920c703d1aea1ce76d69c0f71fb7
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS .
diff --git a/man5/protocols.5 b/man5/protocols.5
index 6561d8124..8fca70e8b 100644
--- a/man5/protocols.5
+++ b/man5/protocols.5
@@ -7,7 +7,7 @@
.\" 2002-09-22 Seth W. Klein <sk@sethwklein.net>
.\" * protocol numbers are now assigned by the IANA
.\"
-.TH PROTOCOLS 5 2022-10-09 "Linux man-pages 6.01"
+.TH protocols 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
protocols \- protocols definition file
.SH DESCRIPTION
diff --git a/man5/repertoiremap.5 b/man5/repertoiremap.5
index 19aa75ee0..d3e0dbfd6 100644
--- a/man5/repertoiremap.5
+++ b/man5/repertoiremap.5
@@ -1,6 +1,6 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH REPERTOIREMAP 5 2022-10-09 "Linux man-pages 6.01"
+.TH repertoiremap 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
repertoiremap \- map symbolic character names to Unicode code points
.SH DESCRIPTION
diff --git a/man5/resolv.conf.5 b/man5/resolv.conf.5
index 50492eea7..f894c8747 100644
--- a/man5/resolv.conf.5
+++ b/man5/resolv.conf.5
@@ -20,7 +20,7 @@
.\"
.\" Added ndots remark by Bernhard R. Link - debian bug #182886
.\"
-.TH RESOLV.CONF 5 2022-10-09 "Linux man-pages 6.01"
+.TH resolv.conf 5 2022-12-04 "Linux man-pages 6.02"
.UC 4
.SH NAME
resolv.conf \- resolver configuration file
@@ -227,7 +227,7 @@ this option is deprecated; applications should use
rather than
.BR gethostbyname (3).
.TP
-.BR ip6\-bytestring " (since glibc 2.3.4 to 2.24)"
+.BR ip6\-bytestring " (since glibc 2.3.4 to glibc 2.24)"
Sets
.B RES_USEBSTRING
in
@@ -239,7 +239,7 @@ This option was removed in glibc 2.25,
since it relied on a backward-incompatible
DNS extension that was never deployed on the Internet.
.TP
-.BR ip6\-dotint / no\-ip6\-dotint " (glibc 2.3.4 to 2.24)"
+.BR ip6\-dotint / no\-ip6\-dotint " (glibc 2.3.4 to glibc 2.24)"
Clear/set
.B RES_NOIP6DOTINT
in
@@ -254,7 +254,7 @@ when this option is set
reverse IPv6 lookups are made in the
.I ip6.arpa
zone by default.
-These options are available in glibc versions up to 2.24, where
+These options are available up to glibc 2.24, where
.B no\-ip6\-dotint
is the default.
Since
@@ -275,7 +275,7 @@ Sets
in
.IR _res.options .
By default, glibc performs IPv4 and IPv6 lookups in parallel since
-version 2.9.
+glibc 2.9.
Some appliance DNS servers
cannot handle these queries properly and make the requests time out.
This option disables the behavior and makes glibc perform the IPv6
@@ -346,7 +346,7 @@ This means that applications can trust the AD bit in responses if the
.B trust\-ad
option has been set correctly.
.IP
-In glibc version 2.30 and earlier,
+In glibc 2.30 and earlier,
the AD is not set automatically in queries,
and is passed through unchanged to applications in responses.
.RE
diff --git a/man5/rpc.5 b/man5/rpc.5
index 12fa7d6b2..a58593ac9 100644
--- a/man5/rpc.5
+++ b/man5/rpc.5
@@ -5,7 +5,7 @@
.\" %%%LICENSE_END
.\"
.\" @(#)rpc.5 2.2 88/08/03 4.0 RPCSRC; from 1.4 87/11/27 SMI;
-.TH RPC 5 2022-10-09 "Linux man-pages 6.01"
+.TH rpc 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
rpc \- RPC program number data base
.SH SYNOPSIS
diff --git a/man5/securetty.5 b/man5/securetty.5
index 4566462d1..3c667b792 100644
--- a/man5/securetty.5
+++ b/man5/securetty.5
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sun Jul 25 11:06:27 1993 by Rik Faith (faith@cs.unc.edu)
-.TH SECURETTY 5 2022-10-09 "Linux man-pages 6.01"
+.TH securetty 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
securetty \- list of terminals on which root is allowed to login
.SH DESCRIPTION
diff --git a/man5/services.5 b/man5/services.5
index f54b9b376..cbad9c70a 100644
--- a/man5/services.5
+++ b/man5/services.5
@@ -11,7 +11,7 @@
.\" Thu Jan 11 12:14:41 1996 Austin Donnelly <and1000@cam.ac.uk>
.\" * Merged two services(5) manpages
.\"
-.TH SERVICES 5 2022-10-09 "Linux man-pages 6.01"
+.TH services 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
services \- Internet network services list
.SH DESCRIPTION
diff --git a/man5/shells.5 b/man5/shells.5
index b999aee39..67cd170c6 100644
--- a/man5/shells.5
+++ b/man5/shells.5
@@ -6,7 +6,7 @@
.\" Modified Sat Jul 24 17:11:07 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Nov 21 10:49:38 1993 by Michael Haardt
.\" Modified Sun Feb 26 15:09:15 1995 by Rik Faith (faith@cs.unc.edu)
-.TH SHELLS 5 2022-10-09 "Linux man-pages 6.01"
+.TH shells 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
shells \- pathnames of valid login shells
.SH DESCRIPTION
diff --git a/man5/slabinfo.5 b/man5/slabinfo.5
index 1a2b86126..7aa79c718 100644
--- a/man5/slabinfo.5
+++ b/man5/slabinfo.5
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SLABINFO 5 2022-10-09 "Linux man-pages 6.01"
+.TH slabinfo 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
slabinfo \- kernel slab allocator statistics
.SH SYNOPSIS
@@ -39,11 +39,11 @@ The next line lists the names of the columns in the remaining lines.
Each of the remaining lines displays information about a specified cache.
Following the cache name,
the output shown in each line shows three components for each cache:
-.IP * 3
+.IP \(bu 3
statistics
-.IP *
+.IP \(bu
tunables
-.IP *
+.IP \(bu
slabdata
.PP
The statistics are as follows:
@@ -188,15 +188,15 @@ Present throughout the Linux 2.2.x kernel series.
.TP
1.1
Present in the Linux 2.4.x kernel series.
-.\" First appeared in 2.4.0-test3
+.\" First appeared in Linux 2.4.0-test3
.TP
1.2
A format that was briefly present in the Linux 2.5 development series.
-.\" from 2.5.45 to 2.5.70
+.\" from Linux 2.5.45 to Linux 2.5.70
.TP
2.0
Present in Linux 2.6.x kernels up to and including Linux 2.6.9.
-.\" First appeared in 2.5.71
+.\" First appeared in Linux 2.5.71
.TP
2.1
The current format, which first appeared in Linux 2.6.10.
diff --git a/man5/sysfs.5 b/man5/sysfs.5
index 7ac98b893..419110006 100644
--- a/man5/sysfs.5
+++ b/man5/sysfs.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SYSFS 5 2022-10-09 "Linux man-pages 6.01"
+.TH sysfs 5 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sysfs \- a filesystem for exporting kernel objects
.SH DESCRIPTION
diff --git a/man5/termcap.5 b/man5/termcap.5
index ff9b90d66..749b4edd6 100644
--- a/man5/termcap.5
+++ b/man5/termcap.5
@@ -9,7 +9,7 @@
.\" If mistakes in the capabilities are found, please send a bug report to:
.\" michael@moria.de
.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond (esr@thyrsus.com)
-.TH TERMCAP 5 2022-10-09 "Linux man-pages 6.01"
+.TH termcap 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
termcap \- terminal capability database
.SH DESCRIPTION
@@ -39,7 +39,7 @@ Fields are separated by \(aq:\(aq.
The first field of each entry starts at the left-hand margin,
and contains a list of names for the terminal, separated by \(aq|\(aq.
.PP
-The first subfield may (in BSD termcap entries from versions 4.3 and
+The first subfield may (in BSD termcap entries from 4.3BSD and
earlier) contain a short name consisting of two characters.
This short name may consist of capital or small letters.
In 4.4BSD, termcap entries this field is omitted.
@@ -385,33 +385,43 @@ f Form feed (12)
0 Null character.
A \exxx specifies the octal character xxx.
.RE
-.IP i
+.TP
+i
Increments parameters by one.
-.IP r
+.TP
+r
Single parameter capability
-.IP +
+.TP
++
Add value of next character to this parameter and do binary output
-.IP 2
+.TP
+2
Do ASCII output of this parameter with a field with of 2
-.IP d
+.TP
+d
Do ASCII output of this parameter with a field with of 3
-.IP %
+.TP
+%
Print a \(aq%\(aq
.PP
If you use binary output, then you should avoid the null character (\(aq\e0\(aq)
because it terminates the string.
You should reset tabulator expansion
if a tabulator can be the binary output of a parameter.
-.IP Warning:
+.TP
+Warning:
The above metacharacters for parameters may be wrong: they document Minix
termcap which may not be compatible with Linux termcap.
.PP
The block graphic characters can be specified by three string capabilities:
-.IP as
+.TP
+as
start the alternative charset
-.IP ae
+.TP
+ae
end the alternative charset
-.IP ac
+.TP
+ac
pairs of characters.
The first character is the name of the block graphic
symbol and the second characters is its definition.
diff --git a/man5/tmpfs.5 b/man5/tmpfs.5
index 901a0dc66..38163a05c 100644
--- a/man5/tmpfs.5
+++ b/man5/tmpfs.5
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH TMPFS 5 2022-10-09 "Linux man-pages 6.01"
+.TH tmpfs 5 2022-11-22 "Linux man-pages 6.02"
.SH NAME
tmpfs \- a virtual memory filesystem
.SH DESCRIPTION
@@ -27,13 +27,13 @@ $ sudo mount \-t tmpfs \-o size=10M tmpfs /mnt/mytmpfs
A
.B tmpfs
filesystem has the following properties:
-.IP * 3
+.IP \(bu 3
The filesystem can employ swap space when physical memory pressure
demands it.
-.IP *
+.IP \(bu
The filesystem consumes only as much physical memory and swap space
as is required to store the current contents of the filesystem.
-.IP *
+.IP \(bu
During a remount operation
.RI ( "mount\ \-o\ remount" ),
the filesystem size can be changed
@@ -134,12 +134,16 @@ Attempt to allocate huge pages every time a new page is needed.
Only allocate huge page if it will be fully within
.IR i_size .
Also respect
-.BR fadvise (2)/ madvise (2)
+.BR fadvise (2)
+and
+.BR madvise (2)
hints
.TP
.B advise
Only allocate huge pages if requested with
-.BR fadvise (2)/ madvise (2).
+.BR fadvise (2)
+or
+.BR madvise (2).
.TP
.B deny
For use in emergencies, to force the huge option off from all mounts.
diff --git a/man5/ttytype.5 b/man5/ttytype.5
index 1d972adce..4ce4fd287 100644
--- a/man5/ttytype.5
+++ b/man5/ttytype.5
@@ -7,19 +7,21 @@
.\" Modified Thu Oct 19 21:25:21 MET 1995 by Martin Schulze <joey@infodrom.north.de>
.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond
.\" <esr@thyrsus.com>xk
-.TH TTYTYPE 5 2022-10-09 "Linux man-pages 6.01"
+.TH ttytype 5 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ttytype \- terminal device to default terminal type mapping
.SH DESCRIPTION
The
.I /etc/ttytype
file associates
-.BR termcap (5)/ terminfo (5)
+.BR termcap (5)
+and
+.BR terminfo (5)
terminal type names
with tty lines.
Each line consists of a terminal type, followed by
whitespace, followed by a tty name (a device name without the
-.IR /dev/ ") prefix."
+.IR /dev/ prefix).
.PP
This association is used by the program
.BR tset (1)
diff --git a/man5/tzfile.5 b/man5/tzfile.5
index 2fb764e4c..7d9f73652 100644
--- a/man5/tzfile.5
+++ b/man5/tzfile.5
@@ -3,7 +3,7 @@
.\" 1996-06-05 by Arthur David Olson <arthur_david_olson@nih.gov>.
.\" %%%LICENSE_END
.\"
-.TH TZFILE 5 2022-09-09 Linux "Linux Programmer's Manual"
+.TH tzfile 5 2022-09-09 Linux "Linux Programmer's Manual"
.SH NAME
tzfile \- timezone information
.SH DESCRIPTION
diff --git a/man5/utmp.5 b/man5/utmp.5
index e4b294e4c..eb2b1b579 100644
--- a/man5/utmp.5
+++ b/man5/utmp.5
@@ -8,7 +8,7 @@
.\" Modified 1996-07-20 by Michael Haardt
.\" Modified 1997-07-02 by Nicolás Lichtmaier <nick@debian.org>
.\" Modified 2004-10-31 by aeb, following Gwenole Beauchesne
-.TH UTMP 5 2022-10-09 "Linux man-pages 6.01"
+.TH utmp 5 2022-12-16 "Linux man-pages 6.02"
.SH NAME
utmp, wtmp \- login records
.SH SYNOPSIS
@@ -221,7 +221,8 @@ removed, record-keeping is turned off.
POSIX.1 does not specify a
.I utmp
structure, but rather one named
-.IR utmpx ,
+.I utmpx
+(as part of the XSI extension),
with specifications for the fields
.IR ut_type ,
.IR ut_pid ,
diff --git a/man6/intro.6 b/man6/intro.6
index cba7d92fa..e0963ff29 100644
--- a/man6/intro.6
+++ b/man6/intro.6
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 17:19:57 1993 by Rik Faith (faith@cs.unc.edu)
-.TH INTRO 6 2022-10-09 "Linux man-pages 6.01"
+.TH intro 6 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to games
.SH DESCRIPTION
diff --git a/man7/address_families.7 b/man7/address_families.7
index 380f0c8ae..836b0b5b1 100644
--- a/man7/address_families.7
+++ b/man7/address_families.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH ADDRESS_FAMILIES 7 2022-10-09 "Linux man-pages 6.01"
+.TH address_families 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
address_families \- socket address families (domains)
.SH SYNOPSIS
diff --git a/man7/aio.7 b/man7/aio.7
index 4a7d8ddc8..a6292862f 100644
--- a/man7/aio.7
+++ b/man7/aio.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH AIO 7 2022-10-09 "Linux man-pages 6.01"
+.TH AIO 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
aio \- POSIX asynchronous I/O overview
.SH DESCRIPTION
@@ -140,7 +140,7 @@ structure was less than 0,
or was greater than the limit returned by the call
.IR sysconf(_SC_AIO_PRIO_DELTA_MAX) .
.SH VERSIONS
-The POSIX AIO interfaces are provided by glibc since version 2.1.
+The POSIX AIO interfaces are provided by glibc since glibc 2.1.
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008.
.SH NOTES
diff --git a/man7/armscii-8.7 b/man7/armscii-8.7
index e61dbaba5..670a785d0 100644
--- a/man7/armscii-8.7
+++ b/man7/armscii-8.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis <edimitro at tee.gr>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ARMSCII-8 7 2022-10-09 "Linux man-pages 6.01"
+.TH ARMSCII-8 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
armscii-8 \- Armenian character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/arp.7 b/man7/arp.7
index 1babdf740..6608d4fa9 100644
--- a/man7/arp.7
+++ b/man7/arp.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Matthew Wilcox <willy@bofh.ai>.
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
.\" Permission is granted to distribute possibly modified copies
@@ -9,7 +10,7 @@
.\" Modified June 1999 Andi Kleen
.\" $Id: arp.7,v 1.10 2000/04/27 19:31:38 ak Exp $
.\"
-.TH ARP 7 2022-10-09 "Linux man-pages 6.01"
+.TH arp 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
arp \- Linux ARP kernel module.
.SH DESCRIPTION
diff --git a/man7/ascii.7 b/man7/ascii.7
index 39cde8adb..23fad5414 100644
--- a/man7/ascii.7
+++ b/man7/ascii.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
@@ -12,7 +13,7 @@
.\" Modified 1999-08-08 by Michael Haardt (michael@moria.de)
.\" Modified 2004-04-01 by aeb
.\"
-.TH ASCII 7 2022-10-09 "Linux man-pages 6.01"
+.TH ascii 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ascii \- ASCII character set encoded in octal, decimal,
and hexadecimal
@@ -134,9 +135,7 @@ F: / ? O _ o DEL
.fi
.SH NOTES
.SS History
-An
-.B ascii
-manual page appeared in Version 7 of AT&T UNIX.
+/etc/ascii (VII) appears in the UNIX Programmer's Manual.
.PP
On older terminals, the underscore code is displayed as a left arrow,
called backarrow, the caret is displayed as an up-arrow and the vertical
diff --git a/man7/attributes.7 b/man7/attributes.7
index 11c0a4c6a..81fe497e8 100644
--- a/man7/attributes.7
+++ b/man7/attributes.7
@@ -2,7 +2,7 @@
.\" Written by Alexandre Oliva <aoliva@redhat.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH ATTRIBUTES 7 2022-10-09 "Linux man-pages 6.01"
+.TH attributes 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
attributes \- POSIX safety concepts
.SH DESCRIPTION
diff --git a/man7/boot.7 b/man7/boot.7
index c8b46ab71..727601ed0 100644
--- a/man7/boot.7
+++ b/man7/boot.7
@@ -10,22 +10,22 @@
.\"
.\" Modified 2004-11-03 patch from Martin Schulze <joey@infodrom.org>
.\"
-.TH BOOT 7 2022-10-09 "Linux man-pages 6.01"
+.TH boot 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
boot \- System bootup process based on UNIX System V Release 4
.SH DESCRIPTION
The \fBbootup process\fR (or "\fBboot sequence\fR") varies in details
among systems, but can be roughly divided into phases controlled by
the following components:
-.IP 1. 4
+.IP (1) 5
hardware
-.IP 2. 4
+.IP (2)
operating system (OS) loader
-.IP 3. 4
+.IP (3)
kernel
-.IP 4. 4
+.IP (4)
root user-space process (\fIinit\fR and \fIinittab\fR)
-.IP 5. 4
+.IP (5)
boot scripts
.PP
Each of these is described below in more detail.
diff --git a/man7/bootparam.7 b/man7/bootparam.7
index fb37e98dc..c22b89ae5 100644
--- a/man7/bootparam.7
+++ b/man7/bootparam.7
@@ -6,7 +6,7 @@
.\" (dated v1.0.1, 15/08/95).
.\" Major update, aeb, 970114.
.\"
-.TH BOOTPARAM 7 2022-10-09 "Linux man-pages 6.01"
+.TH bootparam 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
bootparam \- introduction to boot time parameters of the Linux kernel
.SH DESCRIPTION
diff --git a/man7/capabilities.7 b/man7/capabilities.7
index 37c0847d0..53949bab2 100644
--- a/man7/capabilities.7
+++ b/man7/capabilities.7
@@ -10,7 +10,7 @@
.\" 2008-07-15, Serge Hallyn <serue@us.bbm.com>
.\" Document file capabilities, per-process capability
.\" bounding set, changed semantics for CAP_SETPCAP,
-.\" and other changes in 2.6.2[45].
+.\" and other changes in Linux 2.6.2[45].
.\" Add CAP_MAC_ADMIN, CAP_MAC_OVERRIDE, CAP_SETFCAP.
.\" 2008-07-15, mtk
.\" Add text describing circumstances in which CAP_SETPCAP
@@ -25,7 +25,7 @@
.\" other capabilities where the permitted or inheritable bit is set.
.\" 2011-09-07, mtk/Serge hallyn: Add CAP_SYSLOG
.\"
-.TH CAPABILITIES 7 2022-10-09 "Linux man-pages 6.01"
+.TH CAPABILITIES 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
capabilities \- overview of Linux capabilities
.SH DESCRIPTION
@@ -41,7 +41,7 @@ while unprivileged processes are subject to full permission
checking based on the process's credentials
(usually: effective UID, effective GID, and supplementary group list).
.PP
-Starting with kernel 2.2, Linux divides the privileges traditionally
+Starting with Linux 2.2, Linux divides the privileges traditionally
associated with superuser into distinct units, known as
.IR capabilities ,
which can be independently enabled and disabled.
@@ -85,12 +85,12 @@ capability.
.\" commit 124ea650d3072b005457faed69909221c2905a1f
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Update
.I /proc/sys/kernel/ns_last_pid
(see
.BR pid_namespaces (7));
-.IP *
+.IP \(bu
employ the
.I set_tid
feature of
@@ -98,7 +98,7 @@ feature of
.\" FIXME There is also some use case relating to
.\" prctl_set_mm_exe_file(); in the 5.9 sources, see
.\" prctl_set_mm_map().
-.IP *
+.IP \(bu
read the contents of the symbolic links in
.IR /proc/ pid /map_files
for other processes.
@@ -121,13 +121,13 @@ Bypass file read, write, and execute permission checks.
.B CAP_DAC_READ_SEARCH
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Bypass file read permission checks and
directory read and execute permission checks;
-.IP *
+.IP \(bu
invoke
.BR open_by_handle_at (2);
-.IP *
+.IP \(bu
use the
.BR linkat (2)
.B AT_EMPTY_PATH
@@ -138,7 +138,7 @@ flag to create a link to a file referred to by a file descriptor.
.B CAP_FOWNER
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Bypass permission checks on operations that normally
require the filesystem UID of the process to match the UID of
the file (e.g.,
@@ -148,19 +148,19 @@ excluding those operations covered by
.B CAP_DAC_OVERRIDE
and
.BR CAP_DAC_READ_SEARCH ;
-.IP *
+.IP \(bu
set inode flags (see
.BR ioctl_iflags (2))
on arbitrary files;
-.IP *
+.IP \(bu
set Access Control Lists (ACLs) on arbitrary files;
-.IP *
+.IP \(bu
ignore directory sticky bit on file deletion;
-.IP *
+.IP \(bu
modify
.I user
extended attributes on sticky directory owned by any user;
-.IP *
+.IP \(bu
specify
.B O_NOATIME
for arbitrary files in
@@ -173,10 +173,10 @@ and
.B CAP_FSETID
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Don't clear set-user-ID and set-group-ID mode
bits when a file is modified;
-.IP *
+.IP \(bu
set the set-group-ID bit for a file whose GID does not match
the filesystem or any of the supplementary GIDs of the calling process.
.RE
@@ -187,19 +187,19 @@ the filesystem or any of the supplementary GIDs of the calling process.
.\" in other places; they probably should be replaced with something else.
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Lock memory
.RB ( mlock (2),
.BR mlockall (2),
.BR mmap (2),
.BR shmctl (2));
-.IP *
+.IP \(bu
Allocate memory using huge pages
.RB ( memfd_create (2),
.BR mmap (2),
.BR shmctl (2)).
-.PD 0
.RE
+.PD
.TP
.B CAP_IPC_OWNER
Bypass permission checks for operations on System V IPC objects.
@@ -245,23 +245,23 @@ Create special files using
Perform various network-related operations:
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
interface configuration;
-.IP *
+.IP \(bu
administration of IP firewall, masquerading, and accounting;
-.IP *
+.IP \(bu
modify routing tables;
-.IP *
+.IP \(bu
bind to any address for transparent proxying;
-.IP *
+.IP \(bu
set type-of-service (TOS);
-.IP *
+.IP \(bu
clear driver statistics;
-.IP *
+.IP \(bu
set promiscuous mode;
-.IP *
+.IP \(bu
enabling multicasting;
-.IP *
+.IP \(bu
use
.BR setsockopt (2)
to set the following socket options:
@@ -287,9 +287,9 @@ Bind a socket to Internet domain privileged ports
.B CAP_NET_RAW
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Use RAW and PACKET sockets;
-.IP *
+.IP \(bu
bind to any address for transparent proxying.
.RE
.PD
@@ -298,11 +298,11 @@ bind to any address for transparent proxying.
.BR CAP_PERFMON " (since Linux 5.8)"
Employ various performance-monitoring mechanisms, including:
.RS
-.IP * 2
+.IP \(bu 3
.PD 0
call
.BR perf_event_open (2);
-.IP *
+.IP \(bu
employ various BPF operations that have performance implications.
.RE
.PD
@@ -317,11 +317,11 @@ See also the kernel source file
.B CAP_SETGID
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
Make arbitrary manipulations of process GIDs and supplementary GID list;
-.IP *
+.IP \(bu
forge GID when passing socket credentials via UNIX domain sockets;
-.IP *
+.IP \(bu
write a group ID mapping in a user namespace (see
.BR user_namespaces (7)).
.PD
@@ -347,7 +347,7 @@ make changes to the
.I securebits
flags.
.IP
-If file capabilities are not supported (i.e., kernels before Linux 2.6.24):
+If file capabilities are not supported (i.e., before Linux 2.6.24):
grant or remove any capability in the
caller's permitted capability set to or from any other process.
(This property of
@@ -360,15 +360,15 @@ has entirely different semantics for such kernels.)
.B CAP_SETUID
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
Make arbitrary manipulations of process UIDs
.RB ( setuid (2),
.BR setreuid (2),
.BR setresuid (2),
.BR setfsuid (2));
-.IP *
+.IP \(bu
forge UID when passing socket credentials via UNIX domain sockets;
-.IP *
+.IP \(bu
write a user ID mapping in a user namespace (see
.BR user_namespaces (7)).
.PD
@@ -383,7 +383,7 @@ below.
.IP
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Perform a range of system administration operations including:
.BR quotactl (2),
.BR mount (2),
@@ -394,53 +394,53 @@ Perform a range of system administration operations including:
.BR sethostname (2),
and
.BR setdomainname (2);
-.IP *
+.IP \(bu
perform privileged
.BR syslog (2)
operations (since Linux 2.6.37,
.B CAP_SYSLOG
should be used to permit such operations);
-.IP *
+.IP \(bu
perform
.B VM86_REQUEST_IRQ
.BR vm86 (2)
command;
-.IP *
+.IP \(bu
access the same checkpoint/restore functionality that is governed by
.B CAP_CHECKPOINT_RESTORE
(but the latter, weaker capability is preferred for accessing
that functionality).
-.IP *
+.IP \(bu
perform the same BPF operations as are governed by
.B CAP_BPF
(but the latter, weaker capability is preferred for accessing
that functionality).
-.IP *
+.IP \(bu
employ the same performance monitoring mechanisms as are governed by
.B CAP_PERFMON
(but the latter, weaker capability is preferred for accessing
that functionality).
-.IP *
+.IP \(bu
perform
.B IPC_SET
and
.B IPC_RMID
operations on arbitrary System V IPC objects;
-.IP *
+.IP \(bu
override
.B RLIMIT_NPROC
resource limit;
-.IP *
+.IP \(bu
perform operations on
.I trusted
and
.I security
extended attributes (see
.BR xattr (7));
-.IP *
+.IP \(bu
use
.BR lookup_dcookie (2);
-.IP *
+.IP \(bu
use
.BR ioprio_set (2)
to assign
@@ -448,9 +448,9 @@ to assign
and (before Linux 2.6.25)
.B IOPRIO_CLASS_IDLE
I/O scheduling classes;
-.IP *
+.IP \(bu
forge PID when passing socket credentials via UNIX domain sockets;
-.IP *
+.IP \(bu
exceed
.IR /proc/sys/fs/file\-max ,
the system-wide limit on the number of open files,
@@ -459,7 +459,7 @@ in system calls that open files (e.g.,
.BR execve (2),
.BR open (2),
.BR pipe (2));
-.IP *
+.IP \(bu
employ
.B CLONE_*
flags that create new namespaces with
@@ -468,11 +468,11 @@ and
.BR unshare (2)
(but, since Linux 3.8,
creating user namespaces does not require any capability);
-.IP *
+.IP \(bu
access privileged
.I perf
event information;
-.IP *
+.IP \(bu
call
.BR setns (2)
(requires
@@ -480,73 +480,73 @@ call
in the
.I target
namespace);
-.IP *
+.IP \(bu
call
.BR fanotify_init (2);
-.IP *
+.IP \(bu
perform privileged
.B KEYCTL_CHOWN
and
.B KEYCTL_SETPERM
.BR keyctl (2)
operations;
-.IP *
+.IP \(bu
perform
.BR madvise (2)
.B MADV_HWPOISON
operation;
-.IP *
+.IP \(bu
employ the
.B TIOCSTI
.BR ioctl (2)
to insert characters into the input queue of a terminal other than
the caller's controlling terminal;
-.IP *
+.IP \(bu
employ the obsolete
.BR nfsservctl (2)
system call;
-.IP *
+.IP \(bu
employ the obsolete
.BR bdflush (2)
system call;
-.IP *
+.IP \(bu
perform various privileged block-device
.BR ioctl (2)
operations;
-.IP *
+.IP \(bu
perform various privileged filesystem
.BR ioctl (2)
operations;
-.IP *
+.IP \(bu
perform privileged
.BR ioctl (2)
operations on the
.I /dev/random
device (see
.BR random (4));
-.IP *
+.IP \(bu
install a
.BR seccomp (2)
filter without first having to set the
.I no_new_privs
thread attribute;
-.IP *
+.IP \(bu
modify allow/deny rules for device control groups;
-.IP *
+.IP \(bu
employ the
.BR ptrace (2)
.B PTRACE_SECCOMP_GET_FILTER
operation to dump tracee's seccomp filters;
-.IP *
+.IP \(bu
employ the
.BR ptrace (2)
.B PTRACE_SETOPTIONS
operation to suspend the tracee's seccomp protections (i.e., the
.B PTRACE_O_SUSPEND_SECCOMP
flag);
-.IP *
+.IP \(bu
perform administrative operations on many device drivers;
-.IP *
+.IP \(bu
modify autogroup nice values by writing to
.IR /proc/ pid /autogroup
(see
@@ -563,10 +563,10 @@ and
.B CAP_SYS_CHROOT
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
Use
.BR chroot (2);
-.IP *
+.IP \(bu
change mount namespaces using
.BR setns (2).
.PD
@@ -575,14 +575,14 @@ change mount namespaces using
.B CAP_SYS_MODULE
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
Load and unload kernel modules
(see
.BR init_module (2)
and
.BR delete_module (2));
-.IP *
-in kernels before 2.6.25:
+.IP \(bu
+before Linux 2.6.25:
drop capabilities from the system-wide capability bounding set.
.PD
.RE
@@ -590,24 +590,24 @@ drop capabilities from the system-wide capability bounding set.
.B CAP_SYS_NICE
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Lower the process nice value
.RB ( nice (2),
.BR setpriority (2))
and change the nice value for arbitrary processes;
-.IP *
+.IP \(bu
set real-time scheduling policies for calling process,
and set scheduling policies and priorities for arbitrary processes
.RB ( sched_setscheduler (2),
.BR sched_setparam (2),
.BR sched_setattr (2));
-.IP *
+.IP \(bu
set CPU affinity for arbitrary processes
.RB ( sched_setaffinity (2));
-.IP *
+.IP \(bu
set I/O scheduling class and priority for arbitrary processes
.RB ( ioprio_set (2));
-.IP *
+.IP \(bu
apply
.BR migrate_pages (2)
to arbitrary processes and allow processes
@@ -618,11 +618,11 @@ to be migrated to arbitrary nodes;
.\" capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
.\"
.\" Document this.
-.IP *
+.IP \(bu
apply
.BR move_pages (2)
to arbitrary processes;
-.IP *
+.IP \(bu
use the
.B MPOL_MF_MOVE_ALL
flag with
@@ -639,19 +639,19 @@ Use
.B CAP_SYS_PTRACE
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Trace arbitrary processes using
.BR ptrace (2);
-.IP *
+.IP \(bu
apply
.BR get_robust_list (2)
to arbitrary processes;
-.IP *
+.IP \(bu
transfer data to or from the memory of arbitrary processes using
.BR process_vm_readv (2)
and
.BR process_vm_writev (2);
-.IP *
+.IP \(bu
inspect processes using
.BR kcmp (2).
.RE
@@ -660,45 +660,45 @@ inspect processes using
.B CAP_SYS_RAWIO
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Perform I/O port operations
.RB ( iopl (2)
and
.BR ioperm (2));
-.IP *
+.IP \(bu
access
.IR /proc/kcore ;
-.IP *
+.IP \(bu
employ the
.B FIBMAP
.BR ioctl (2)
operation;
-.IP *
+.IP \(bu
open devices for accessing x86 model-specific registers (MSRs, see
.BR msr (4));
-.IP *
+.IP \(bu
update
.IR /proc/sys/vm/mmap_min_addr ;
-.IP *
+.IP \(bu
create memory mappings at addresses below the value specified by
.IR /proc/sys/vm/mmap_min_addr ;
-.IP *
+.IP \(bu
map files in
.IR /proc/bus/pci ;
-.IP *
+.IP \(bu
open
.I /dev/mem
and
.IR /dev/kmem ;
-.IP *
+.IP \(bu
perform various SCSI device commands;
-.IP *
+.IP \(bu
perform certain operations on
.BR hpsa (4)
and
.BR cciss (4)
devices;
-.IP *
+.IP \(bu
perform a range of device-specific operations on other devices.
.RE
.PD
@@ -706,28 +706,28 @@ perform a range of device-specific operations on other devices.
.B CAP_SYS_RESOURCE
.PD 0
.RS
-.IP * 2
+.IP \(bu 3
Use reserved space on ext2 filesystems;
-.IP *
+.IP \(bu
make
.BR ioctl (2)
calls controlling ext3 journaling;
-.IP *
+.IP \(bu
override disk quota limits;
-.IP *
+.IP \(bu
increase resource limits (see
.BR setrlimit (2));
-.IP *
+.IP \(bu
override
.B RLIMIT_NPROC
resource limit;
-.IP *
+.IP \(bu
override maximum number of consoles on console allocation;
-.IP *
+.IP \(bu
override maximum number of keymaps;
-.IP *
+.IP \(bu
allow more than 64hz interrupts from the real-time clock;
-.IP *
+.IP \(bu
raise
.I msg_qbytes
limit for a System V message queue above the limit in
@@ -736,26 +736,26 @@ limit for a System V message queue above the limit in
.BR msgop (2)
and
.BR msgctl (2));
-.IP *
+.IP \(bu
allow the
.B RLIMIT_NOFILE
resource limit on the number of "in-flight" file descriptors
to be bypassed when passing file descriptors to another process
via a UNIX domain socket (see
.BR unix (7));
-.IP *
+.IP \(bu
override the
.I /proc/sys/fs/pipe\-size\-max
limit when setting the capacity of a pipe using the
.B F_SETPIPE_SZ
.BR fcntl (2)
command;
-.IP *
+.IP \(bu
use
.B F_SETPIPE_SZ
to increase the capacity of a pipe above the limit specified by
.IR /proc/sys/fs/pipe\-max\-size ;
-.IP *
+.IP \(bu
override
.IR /proc/sys/fs/mqueue/queues_max ,
.IR /proc/sys/fs/mqueue/msg_max ,
@@ -763,12 +763,12 @@ and
.I /proc/sys/fs/mqueue/msgsize_max
limits when creating POSIX message queues (see
.BR mq_overview (7));
-.IP *
+.IP \(bu
employ the
.BR prctl (2)
.B PR_SET_MM
operation;
-.IP *
+.IP \(bu
set
.IR /proc/ pid /oom_score_adj
to a value lower than the value last set by a process with
@@ -793,14 +793,14 @@ operations on virtual terminals.
.BR CAP_SYSLOG " (since Linux 2.6.37)"
.RS
.PD 0
-.IP * 2
+.IP \(bu 3
Perform privileged
.BR syslog (2)
operations.
See
.BR syslog (2)
for information on which operations require privilege.
-.IP *
+.IP \(bu
View kernel addresses exposed via
.I /proc
and other interfaces when
@@ -822,29 +822,29 @@ timers).
.\"
.SS Past and current implementation
A full implementation of capabilities requires that:
-.IP 1. 3
+.IP \(bu 3
For all privileged operations,
the kernel must check whether the thread has the required
capability in its effective set.
-.IP 2.
+.IP \(bu
The kernel must provide system calls allowing a thread's capability sets to
be changed and retrieved.
-.IP 3.
+.IP \(bu
The filesystem must support attaching capabilities to an executable file,
so that a process gains those capabilities when the file is executed.
.PP
-Before kernel 2.6.24, only the first two of these requirements are met;
-since kernel 2.6.24, all three requirements are met.
+Before Linux 2.6.24, only the first two of these requirements are met;
+since Linux 2.6.24, all three requirements are met.
.\"
.SS Notes to kernel developers
When adding a new kernel feature that should be governed by a capability,
consider the following points.
-.IP * 3
+.IP \(bu 3
The goal of capabilities is divide the power of superuser into pieces,
such that if a program that has one or more capabilities is compromised,
its power to do damage to the system would be less than the same program
running with root privilege.
-.IP *
+.IP \(bu
You have the choice of either creating a new capability for your new feature,
or associating the feature with one of the existing capabilities.
In order to keep the set of capabilities to a manageable size,
@@ -852,7 +852,7 @@ the latter option is preferable,
unless there are compelling reasons to take the former option.
(There is also a technical limit:
the size of capability sets is currently limited to 64 bits.)
-.IP *
+.IP \(bu
To determine which existing capability might best be associated
with your new feature, review the list of capabilities above in order
to find a "silo" into which your new feature best fits.
@@ -860,7 +860,7 @@ One approach to take is to determine if there are other features
requiring capabilities that will always be used along with the new feature.
If the new feature is useless without these other features,
you should use the same capability as the other features.
-.IP *
+.IP \(bu
.I Don't
choose
.B CAP_SYS_ADMIN
@@ -878,7 +878,7 @@ The only new features that should be associated with
are ones that
.I closely
match existing uses in that silo.
-.IP *
+.IP \(bu
If you have determined that it really is necessary to create
a new capability for your feature,
don't make or name it as a "single-use" capability.
@@ -986,7 +986,7 @@ this can be used to determine the highest bit
that may be set in a capability set.
.\"
.SS File capabilities
-Since kernel 2.6.24, the kernel supports
+Since Linux 2.6.24, the kernel supports
associating capability sets with an executable file using
.BR setcap (8).
The file capability sets are stored in an extended attribute (see
@@ -1102,11 +1102,11 @@ extended attribute is automatically created as (or converted to)
a version 3
.RB ( VFS_CAP_REVISION_3 )
attribute if both of the following are true:
-.IP (1) 4
+.IP \(bu 3
The thread writing the attribute resides in a noninitial user namespace.
(More precisely: the thread resides in a user namespace other
than the one from which the underlying filesystem was mounted.)
-.IP (2)
+.IP \(bu
The thread has the
.B CAP_SETFCAP
capability over the file inode,
@@ -1194,25 +1194,28 @@ P'(bounding) = P(bounding) [i.e., unchanged]
.PP
where:
.RS 4
-.IP P() 6
+.TP
+P()
denotes the value of a thread capability set before the
.BR execve (2)
-.IP P'()
+.TP
+P'()
denotes the value of a thread capability set after the
.BR execve (2)
-.IP F()
+.TP
+F()
denotes a file capability set
.RE
.PP
Note the following details relating to the above capability
transformation rules:
-.IP * 3
+.IP \(bu 3
The ambient capability set is present only since Linux 4.3.
When determining the transformation of the ambient set during
.BR execve (2),
a privileged file is one that has capabilities or
has the set-user-ID or set-group-ID bit set.
-.IP *
+.IP \(bu
Prior to Linux 2.6.25,
the bounding set was a system-wide attribute shared by all threads.
That system-wide value was employed to calculate the new permitted set during
@@ -1291,7 +1294,7 @@ were triggered by the set-user-ID mode bit of the binary\(eme.g.,
switching the effective user ID to 0 (root) because
a set-user-ID-root program was executed\(emthe
kernel calculates the file capability sets as follows:
-.IP 1. 3
+.IP (1) 5
If the real or effective user ID of the process is 0 (root),
then the file inheritable and permitted sets are ignored;
instead they are notionally considered to be all ones
@@ -1299,7 +1302,7 @@ instead they are notionally considered to be all ones
(There is one exception to this behavior, described in
.I Set-user-ID-root programs that have file capabilities
below.)
-.IP 2.
+.IP (2)
If the effective user ID of the process is 0 (root) or
the file effective bit is in fact enabled,
then the file effective bit is notionally defined to be one (enabled).
@@ -1367,7 +1370,7 @@ The capability bounding set is a security mechanism that can be used
to limit the capabilities that can be gained during an
.BR execve (2).
The bounding set is used in the following ways:
-.IP * 2
+.IP \(bu 3
During an
.BR execve (2),
the capability bounding set is ANDed with the file permitted
@@ -1375,7 +1378,7 @@ capability set, and the result of this operation is assigned to the
thread's permitted capability set.
The capability bounding set thus places a limit on the permitted
capabilities that may be granted by an executable file.
-.IP *
+.IP \(bu
(Since Linux 2.6.25)
The capability bounding set acts as a limiting superset for
the capabilities that a thread can add to its inheritable set using
@@ -1425,7 +1428,7 @@ operation.
.PP
Removing capabilities from the bounding set is supported only if file
capabilities are compiled into the kernel.
-In kernels before Linux 2.6.33,
+Before Linux 2.6.33,
file capabilities were an optional feature configurable via the
.B CONFIG_SECURITY_FILE_CAPABILITIES
option.
@@ -1450,7 +1453,7 @@ back into the thread's inheritable set in the future.
.PP
.B "Capability bounding set prior to Linux 2.6.25"
.PP
-In kernels before 2.6.25, the capability bounding set is a system-wide
+Before Linux 2.6.25, the capability bounding set is a system-wide
attribute that affects all threads on the system.
The bounding set is accessible via the file
.IR /proc/sys/kernel/cap\-bound .
@@ -1475,7 +1478,7 @@ in
and rebuild the kernel.
.PP
The system-wide capability bounding set feature was added
-to Linux starting with kernel version 2.2.11.
+to Linux 2.2.11.
.\"
.\"
.\"
@@ -1488,19 +1491,19 @@ and filesystem user IDs (using
.BR setuid (2),
.BR setresuid (2),
or similar):
-.IP 1. 3
+.IP \(bu 3
If one or more of the real, effective, or saved set user IDs
was previously 0, and as a result of the UID changes all of these IDs
have a nonzero value,
then all capabilities are cleared from the permitted, effective, and ambient
capability sets.
-.IP 2.
+.IP \(bu
If the effective user ID is changed from 0 to nonzero,
then all capabilities are cleared from the effective set.
-.IP 3.
+.IP \(bu
If the effective user ID is changed from nonzero to 0,
then the permitted set is copied to the effective set.
-.IP 4.
+.IP \(bu
If the filesystem user ID is changed from 0 to nonzero (see
.BR setfsuid (2)),
then the following capabilities are cleared from the effective set:
@@ -1541,27 +1544,27 @@ both provided in the
package,
is preferred for this purpose.
The following rules govern changes to the thread capability sets:
-.IP 1. 3
+.IP \(bu 3
If the caller does not have the
.B CAP_SETPCAP
capability,
the new inheritable set must be a subset of the combination
of the existing inheritable and permitted sets.
-.IP 2.
+.IP \(bu
(Since Linux 2.6.25)
The new inheritable set must be a subset of the combination of the
existing inheritable set and the capability bounding set.
-.IP 3.
+.IP \(bu
The new permitted set must be a subset of the existing permitted set
(i.e., it is not possible to acquire permitted capabilities
that the thread does not currently have).
-.IP 4.
+.IP \(bu
The new effective set must be a subset of the new permitted set.
.SS The securebits flags: establishing a capabilities-only environment
.\" For some background:
.\" see http://lwn.net/Articles/280279/ and
.\" http://article.gmane.org/gmane.linux.kernel.lsm/5476/
-Starting with kernel 2.6.26,
+Starting with Linux 2.6.26,
and with a kernel in which file capabilities are enabled,
Linux implements a set of per-thread
.I securebits
@@ -1773,7 +1776,7 @@ $ \fBsudo strace \-o trace.log \-u ceci ./myprivprog\fP
.EE
.in
.PP
-From kernel 2.5.27 to kernel 2.6.26,
+From Linux 2.5.27 to Linux 2.6.26,
.\" commit 5915eb53861c5776cfec33ca4fcc1fd20d66dd27 removed
.\" CONFIG_SECURITY_CAPABILITIES
capabilities were an optional kernel component,
@@ -1813,7 +1816,7 @@ It can be found at
.UR https://git.kernel.org\:/pub\:/scm\:/libs\:/libcap\:/libcap.git\:/refs/
.UE .
.PP
-Before kernel 2.6.24, and from kernel 2.6.24 to kernel 2.6.32 if
+Before Linux 2.6.24, and from Linux 2.6.24 to Linux 2.6.32 if
file capabilities are not enabled, a thread with the
.B CAP_SETPCAP
capability can manipulate the capabilities of threads other than itself.
@@ -1821,14 +1824,14 @@ However, this is only theoretically possible,
since no thread ever has
.B CAP_SETPCAP
in either of these cases:
-.IP * 2
+.IP \(bu 3
In the pre-2.6.25 implementation the system-wide capability bounding set,
.IR /proc/sys/kernel/cap\-bound ,
always masks out the
.B CAP_SETPCAP
capability, and this can not be changed
without modifying the kernel source and rebuilding the kernel.
-.IP *
+.IP \(bu
If file capabilities are disabled (i.e., the kernel
.B CONFIG_SECURITY_FILE_CAPABILITIES
option is disabled), then
diff --git a/man7/cgroup_namespaces.7 b/man7/cgroup_namespaces.7
index 41394199c..8d38b463d 100644
--- a/man7/cgroup_namespaces.7
+++ b/man7/cgroup_namespaces.7
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH CGROUP_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH cgroup_namespaces 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
cgroup_namespaces \- overview of Linux cgroup namespaces
.SH DESCRIPTION
@@ -168,13 +168,13 @@ Use of cgroup namespaces requires a kernel that is configured with the
option.
.PP
The virtualization provided by cgroup namespaces serves a number of purposes:
-.IP * 2
+.IP \(bu 3
It prevents information leaks whereby cgroup directory paths outside of
a container would otherwise be visible to processes in the container.
Such leakages could, for example,
reveal information about the container framework
to containerized applications.
-.IP *
+.IP \(bu
It eases tasks such as container migration.
The virtualization provided by cgroup namespaces
allows containers to be isolated from knowledge of
@@ -184,13 +184,13 @@ Without such isolation, the full cgroup pathnames (displayed in
would need to be replicated on the target system when migrating a container;
those pathnames would also need to be unique,
so that they don't conflict with other pathnames on the target system.
-.IP *
+.IP \(bu
It allows better confinement of containerized processes,
because it is possible to mount the container's cgroup filesystems such that
the container processes can't gain access to ancestor cgroup directories.
Consider, for example, the following scenario:
-.RS 4
-.IP \(bu 2
+.RS
+.IP \(bu 3
We have a cgroup directory,
.IR /cg/1 ,
that is owned by user ID 9000.
diff --git a/man7/cgroups.7 b/man7/cgroups.7
index 057c89e45..1620c73de 100644
--- a/man7/cgroups.7
+++ b/man7/cgroups.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH CGROUPS 7 2022-10-09 "Linux man-pages 6.01"
+.TH cgroups 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
cgroups \- Linux control groups
.SH DESCRIPTION
@@ -559,20 +559,20 @@ under both the v1 and the v2 hierarchies.
.PP
The new behaviors in cgroups v2 are summarized here,
and in some cases elaborated in the following subsections.
-.IP 1. 3
+.IP \(bu 3
Cgroups v2 provides a unified hierarchy against
which all controllers are mounted.
-.IP 2.
+.IP \(bu
"Internal" processes are not permitted.
With the exception of the root cgroup, processes may reside
only in leaf nodes (cgroups that do not themselves contain child cgroups).
The details are somewhat more subtle than this, and are described below.
-.IP 3.
+.IP \(bu
Active cgroups must be specified via the files
.I cgroup.controllers
and
.IR cgroup.subtree_control .
-.IP 4.
+.IP \(bu
The
.I tasks
file has been removed.
@@ -581,7 +581,7 @@ In addition, the
file that is employed by the
.I cpuset
controller has been removed.
-.IP 5.
+.IP \(bu
An improved mechanism for notification of empty cgroups is provided by the
.I cgroup.events
file.
@@ -920,14 +920,14 @@ The cgroups v2 release-notification mechanism
offers the following advantages over the cgroups v1
.I release_agent
mechanism:
-.IP * 3
+.IP \(bu 3
It allows for cheaper notification,
since a single process can monitor multiple
.I cgroup.events
files (using the techniques described earlier).
By contrast, the cgroups v1 mechanism requires the expense of creating
a process for each notification.
-.IP *
+.IP \(bu
Notification for different cgroup subhierarchies can be delegated
to different processes.
By contrast, the cgroups v1 mechanism allows only one release agent
@@ -1114,7 +1114,7 @@ The effect of this mount option is to cause cgroup namespaces
to automatically become delegation boundaries.
More specifically,
the following restrictions apply for processes inside the cgroup namespace:
-.IP * 3
+.IP \(bu 3
Writes to controller interface files in the root directory of the namespace
will fail with the error
.BR EPERM .
@@ -1124,7 +1124,7 @@ files in the root directory of the cgroup namespace such as
and
.IR cgroup.subtree_control ,
and can create subhierarchy underneath the root directory.
-.IP *
+.IP \(bu
Attempts to migrate processes across the namespace boundary are denied
(with the error
.BR ENOENT ).
@@ -1151,7 +1151,7 @@ Even if a cgroup namespace was employed,
because both hierarchies are owned by the unprivileged user
.IR cecilia ,
the following illegitimate actions could be performed:
-.IP * 3
+.IP \(bu 3
A process in the inferior hierarchy could change the
resource controller settings in the root directory of that hierarchy.
(These resource controller settings are intended to allow control to
@@ -1159,7 +1159,7 @@ be exercised from the
.I parent
cgroup;
a process inside the child cgroup should not be allowed to modify them.)
-.IP *
+.IP \(bu
A process inside the inferior hierarchy could move processes
into and out of the inferior hierarchy if the cgroups in the
superior hierarchy were somehow visible.
@@ -1208,11 +1208,11 @@ A nonprivileged process (i.e., the delegatee) can write the PID of
a "target" process into a
.I cgroup.procs
file only if all of the following are true:
-.IP * 3
+.IP \(bu 3
The writer has write permission on the
.I cgroup.procs
file in the destination cgroup.
-.IP *
+.IP \(bu
The writer has write permission on the
.I cgroup.procs
file in the nearest common ancestor of the source and destination cgroups.
@@ -1222,12 +1222,12 @@ This requirement is not enforced for cgroups v1 hierarchies,
with the consequence that containment in v1 is less strict than in v2.
(For example, in cgroups v1 the user that owns two distinct
delegated subhierarchies can move a process between the hierarchies.)
-.IP *
+.IP \(bu
If the cgroup v2 filesystem was mounted with the
.I nsdelegate
option, the writer must be able to see the source and destination cgroups
from its cgroup namespace.
-.IP *
+.IP \(bu
In cgroups v1:
the effective UID of the writer (i.e., the delegatee) matches the
real user ID or the saved set-user-ID of the target process.
@@ -1248,10 +1248,10 @@ instead, the delegater must place the first process
.SH CGROUPS VERSION 2 THREAD MODE
Among the restrictions imposed by cgroups v2 that were not present
in cgroups v1 are the following:
-.IP * 3
+.IP \(bu 3
.IR "No thread-granularity control" :
all of the threads of a process must be in the same cgroup.
-.IP *
+.IP \(bu
.IR "No internal processes" :
a cgroup can't both have member processes and
exercise controllers on child cgroups.
@@ -1278,17 +1278,17 @@ To accommodate such use cases, Linux 4.14 added
for cgroups v2.
.PP
Thread mode allows the following:
-.IP * 3
+.IP \(bu 3
The creation of
.I threaded subtrees
in which the threads of a process may
be spread across cgroups inside the tree.
(A threaded subtree may contain multiple multithreaded processes.)
-.IP *
+.IP \(bu
The concept of
.IR "threaded controllers" ,
which can distribute resources across the cgroups in a threaded subtree.
-.IP *
+.IP \(bu
A relaxation of the "no internal processes rule",
so that, within a threaded subtree,
a cgroup can both contain member threads and
@@ -1343,7 +1343,7 @@ possible future extensions to the thread mode model
.SS Threaded versus domain controllers
With the addition of threads mode,
cgroups v2 now distinguishes two types of resource controllers:
-.IP * 3
+.IP \(bu 3
.I Threaded
.\" In the kernel source, look for ".threaded[ \t]*= true" in
.\" initializations of struct cgroup_subsys
@@ -1356,7 +1356,7 @@ As at Linux 4.19, the following controllers are threaded:
.IR perf_event ,
and
.IR pids .
-.IP *
+.IP \(bu
.I Domain
controllers: these controllers support only process granularity
for resource control.
@@ -1367,7 +1367,7 @@ Domain controllers can't be enabled inside a threaded subtree.
.SS Creating a threaded subtree
There are two pathways that lead to the creation of a threaded subtree.
The first pathway proceeds as follows:
-.IP 1. 3
+.IP (1) 5
We write the string
.I """threaded"""
to the
@@ -1378,19 +1378,19 @@ that currently has the type
.IR domain .
This has the following effects:
.RS
-.IP * 3
+.IP \(bu 3
The type of the cgroup
.I y/z
becomes
.IR threaded .
-.IP *
+.IP \(bu
The type of the parent cgroup,
.IR y ,
becomes
.IR "domain threaded" .
The parent cgroup is the root of a threaded subtree
(also known as the "threaded root").
-.IP *
+.IP \(bu
All other cgroups under
.I y
that were not already of type
@@ -1404,7 +1404,7 @@ Any subsequently created cgroups under
will also have the type
.IR "domain invalid" .
.RE
-.IP 2.
+.IP (2)
We write the string
.I """threaded"""
to each of the
@@ -1423,23 +1423,23 @@ to each of these cgroups is somewhat cumbersome,
but allows for possible future extensions to the thread-mode model.
.PP
The second way of creating a threaded subtree is as follows:
-.IP 1. 3
+.IP (1) 5
In an existing cgroup,
.IR z ,
that currently has the type
.IR domain ,
-we (1) enable one or more threaded controllers and
-(2) make a process a member of
+we (1.1) enable one or more threaded controllers and
+(1.2) make a process a member of
.IR z .
(These two steps can be done in either order.)
This has the following consequences:
.RS
-.IP * 3
+.IP \(bu 3
The type of
.I z
becomes
.IR "domain threaded" .
-.IP *
+.IP \(bu
All of the descendant cgroups of
.I x
that were not already of type
@@ -1447,7 +1447,7 @@ that were not already of type
are converted to type
.IR "domain invalid" .
.RE
-.IP 2.
+.IP (2)
As before, we make the threaded subtree usable by writing the string
.I """threaded"""
to each of the
@@ -1498,17 +1498,17 @@ As with writing to
some containment rules apply when writing to the
.I cgroup.threads
file:
-.IP * 3
+.IP \(bu 3
The writer must have write permission on the
cgroup.threads
file in the destination cgroup.
-.IP *
+.IP \(bu
The writer must have write permission on the
.I cgroup.procs
file in the common ancestor of the source and destination cgroups.
(In some cases,
the common ancestor may be the source or destination cgroup itself.)
-.IP *
+.IP \(bu
The source and destination cgroups must be in the same threaded subtree.
(Outside a threaded subtree, an attempt to move a thread by writing
its thread ID to the
@@ -1551,7 +1551,7 @@ and exercise controllers on child cgroups.
A number of rules apply when writing to the
.I cgroup.type
file:
-.IP * 3
+.IP \(bu 3
Only the string
.I """threaded"""
may be written.
@@ -1559,7 +1559,7 @@ In other words, the only explicit transition that is possible is to convert a
.I domain
cgroup to type
.IR threaded .
-.IP *
+.IP \(bu
The effect of writing
.I """threaded"""
depends on the current value in
@@ -1582,7 +1582,7 @@ state;
.IR threaded :
no effect (a "no-op").
.RE
-.IP *
+.IP \(bu
We can't write to a
.I cgroup.type
file if the parent's type is
@@ -1594,13 +1594,13 @@ state in a top-down manner.
There are also some constraints that must be satisfied
in order to create a threaded subtree rooted at the cgroup
.IR x :
-.IP * 3
+.IP \(bu 3
There can be no member processes in the descendant cgroups of
.IR x .
(The cgroup
.I x
can itself have member processes.)
-.IP *
+.IP \(bu
No domain controllers may be enabled in
.IR x 's
.I cgroup.subtree_control
@@ -1618,11 +1618,11 @@ According to the pathways described above,
the type of a cgroup can change to
.I domain threaded
in either of the following cases:
-.IP * 3
+.IP \(bu 3
The string
.I """threaded"""
is written to a child cgroup.
-.IP *
+.IP \(bu
A threaded controller is enabled inside the cgroup and
a process is made a member of the cgroup.
.PP
@@ -1647,14 +1647,14 @@ cgroup
.I x
reverts to the type
.IR domain :
-.IP * 3
+.IP \(bu 3
All
.I domain invalid
descendants of
.I x
that are not in lower-level threaded subtrees revert to the type
.IR domain .
-.IP *
+.IP \(bu
The root cgroups in any lower-level threaded subtrees revert to the type
.IR "domain threaded" .
.\"
@@ -1670,10 +1670,10 @@ If the string
is written to the
.I cgroup.type
file of one of the children of the root cgroup, then
-.IP * 3
+.IP \(bu 3
The type of that cgroup becomes
.IR threaded .
-.IP *
+.IP \(bu
The type of any descendants of that cgroup that
are not part of lower-level threaded subtrees changes to
.IR "domain invalid" .
@@ -1772,24 +1772,24 @@ pids 2 1 1
.IP
The fields in this file are, from left to right:
.RS
-.IP 1. 3
+.IP [1] 5
The name of the controller.
-.IP 2.
+.IP [2]
The unique ID of the cgroup hierarchy on which this controller is mounted.
If multiple cgroups v1 controllers are bound to the same hierarchy,
then each will show the same hierarchy ID in this field.
The value in this field will be 0 if:
-.RS 5
-.IP a) 3
+.RS
+.IP \(bu 3
the controller is not mounted on a cgroups v1 hierarchy;
-.IP b)
+.IP \(bu
the controller is bound to the cgroups v2 single unified hierarchy; or
-.IP c)
+.IP \(bu
the controller is disabled (see below).
.RE
-.IP 3.
+.IP [3]
The number of control groups in this hierarchy using this controller.
-.IP 4.
+.IP [4]
This field contains the value 1 if this controller is enabled,
or 0 if it has been disabled (via the
.I cgroup_disable
@@ -1821,18 +1821,18 @@ For example:
.IP
The colon-separated fields are, from left to right:
.RS
-.IP 1. 3
+.IP [1] 5
For cgroups version 1 hierarchies,
this field contains a unique hierarchy ID number
that can be matched to a hierarchy ID in
.IR /proc/cgroups .
For the cgroups version 2 hierarchy, this field contains the value 0.
-.IP 2.
+.IP [2]
For cgroups version 1 hierarchies,
this field contains a comma-separated list of the controllers
bound to the hierarchy.
For the cgroups version 2 hierarchy, this field is empty.
-.IP 3.
+.IP [3]
This field contains the pathname of the control group in the hierarchy
to which the process belongs.
This pathname is relative to the mount point of the hierarchy.
diff --git a/man7/charsets.7 b/man7/charsets.7
index 1391cb3ce..d864a40c5 100644
--- a/man7/charsets.7
+++ b/man7/charsets.7
@@ -8,7 +8,7 @@
.\"
.\" Changes also by David Starner <dstarner98@aasaa.ofe.org>.
.\"
-.TH CHARSETS 7 2022-10-09 "Linux man-pages 6.01"
+.TH charsets 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
charsets \- character set standards and internationalization
.SH DESCRIPTION
diff --git a/man7/complex.7 b/man7/complex.7
index 9bb9b4694..cd183f3ee 100644
--- a/man7/complex.7
+++ b/man7/complex.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
-.TH COMPLEX 7 2022-10-09 "Linux man-pages 6.01"
+.TH complex 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
complex \- basics of complex mathematics
.SH SYNOPSIS
diff --git a/man7/cp1251.7 b/man7/cp1251.7
index f007382f1..d85cb977c 100644
--- a/man7/cp1251.7
+++ b/man7/cp1251.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH CP1251 7 2022-10-09 "Linux man-pages 6.01"
+.TH cp1251 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cp1251 \- CP\ 1251 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/cp1252.7 b/man7/cp1252.7
index 1d51328ee..be3096d9a 100644
--- a/man7/cp1252.7
+++ b/man7/cp1252.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2014 (C) Marko Myllynen <myllynen@redhat.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH CP1252 7 2022-10-09 "Linux man-pages 6.01"
+.TH cp1252 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
cp1252 \- CP\ 1252 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/cpuset.7 b/man7/cpuset.7
index c01e93934..75380a722 100644
--- a/man7/cpuset.7
+++ b/man7/cpuset.7
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-only
.\"
-.TH CPUSET 7 2022-10-09 "Linux man-pages 6.01"
+.TH cpuset 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
cpuset \- confine processes to processor and memory node subsets
.SH DESCRIPTION
@@ -519,17 +519,17 @@ always return zero, as represented by the ASCII string "0\en".
See the \fBWARNINGS\fR section, below.
.PP
A per-cpuset, running average is employed for the following reasons:
-.IP * 3
+.IP \(bu 3
Because this meter is per-cpuset rather than per-process or per virtual
memory region, the system load imposed by a batch scheduler monitoring
this metric is sharply reduced on large systems, because a scan of
the tasklist can be avoided on each set of queries.
-.IP *
+.IP \(bu
Because this meter is a running average rather than an accumulating
counter, a batch scheduler can detect memory pressure with a
single read, instead of having to read and accumulate results
for a period of time.
-.IP *
+.IP \(bu
Because this meter is per-cpuset rather than per-process,
the batch scheduler can obtain the key information\(emmemory
pressure in a cpuset\(emwith a single read, rather than having to
@@ -629,11 +629,11 @@ Cpuset-specified memory spreading behaves similarly to what is known
.PP
Cpuset-specified memory spreading can provide substantial performance
improvements for jobs that:
-.IP a) 3
+.IP \(bu 3
need to place thread-local data on
memory nodes close to the CPUs which are running the threads that most
frequently access that data; but also
-.IP b)
+.IP \(bu
need to access large filesystem data sets that must to be spread
across the several nodes in the job's cpuset in order to fit.
.PP
@@ -705,11 +705,11 @@ marked isolated using the kernel boot time "isolcpus=" argument.
.PP
This default load balancing across all CPUs is not well suited to
the following two situations:
-.IP * 3
+.IP \(bu 3
On large systems, load balancing across many CPUs is expensive.
If the system is managed using cpusets to place independent jobs
on separate sets of CPUs, full load balancing is unnecessary.
-.IP *
+.IP \(bu
Systems supporting real-time on some CPUs need to minimize
system overhead on those CPUs, including avoiding process load
balancing if that is not needed.
@@ -803,18 +803,23 @@ As of this writing, when this capability was introduced in Linux
have the following meanings.
.PP
.PD 0
-.IP \fB(1)\fR 4
+.TP
+.B 1
Perform immediate load balancing across Hyper-Thread
siblings on the same core.
-.IP \fB(2)\fR
+.TP
+.B 2
Perform immediate load balancing across other cores in the same package.
-.IP \fB(3)\fR
+.TP
+.B 3
Perform immediate load balancing across other CPUs
on the same node or blade.
-.IP \fB(4)\fR
+.TP
+.B 4
Perform immediate load balancing across over several
(implementation detail) nodes [On NUMA systems].
-.IP \fB(5)\fR
+.TP
+.B 5
Perform immediate load balancing across over all CPUs
in system [On NUMA systems].
.PD
@@ -906,24 +911,24 @@ Examples of the \fBList Format\fR:
.\" ================== RULES ==================
.SH RULES
The following rules apply to each cpuset:
-.IP * 3
+.IP \(bu 3
Its CPUs and memory nodes must be a (possibly equal)
subset of its parent's.
-.IP *
+.IP \(bu
It can be marked
.I cpu_exclusive
only if its parent is.
-.IP *
+.IP \(bu
It can be marked
.I mem_exclusive
only if its parent is.
-.IP *
+.IP \(bu
If it is
.IR cpu_exclusive ,
its CPUs may not overlap any sibling.
-.IP *
+.IP \(bu
If it is
-.IR memory_exclusive ,
+.IR mem_exclusive ,
its memory nodes may not overlap any sibling.
.\" ================== PERMISSIONS ==================
.SH PERMISSIONS
@@ -1318,7 +1323,7 @@ the process ID (PID) of a nonexistent process to a cpuset
file.
.\" ================== VERSIONS ==================
.SH VERSIONS
-Cpusets appeared in version 2.6.12 of the Linux kernel.
+Cpusets appeared in Linux 2.6.12.
.\" ================== NOTES ==================
.SH NOTES
Despite its name, the
@@ -1352,16 +1357,16 @@ To create a new cpuset and attach the current command shell to it,
the steps are:
.PP
.PD 0
-.IP 1) 4
+.IP (1) 5
mkdir /dev/cpuset (if not already done)
-.IP 2)
+.IP (2)
mount \-t cpuset none /dev/cpuset (if not already done)
-.IP 3)
+.IP (3)
Create the new cpuset using
.BR mkdir (1).
-.IP 4)
+.IP (4)
Assign CPUs and memory nodes to the new cpuset.
-.IP 5)
+.IP (5)
Attach the shell to the new cpuset.
.PD
.PP
@@ -1392,24 +1397,24 @@ the memory pages currently allocated to that job,
perform the following steps.
.PP
.PD 0
-.IP 1) 4
+.IP (1) 5
Let's say we want to move the job in cpuset
.I alpha
(CPUs 4\(en7 and memory nodes 2\(en3) to a new cpuset
.I beta
(CPUs 16\(en19 and memory nodes 8\(en9).
-.IP 2)
+.IP (2)
First create the new cpuset
.IR beta .
-.IP 3)
+.IP (3)
Then allow CPUs 16\(en19 and memory nodes 8\(en9 in
.IR beta .
-.IP 4)
+.IP (4)
Then enable
.I memory_migration
in
.IR beta .
-.IP 5)
+.IP (5)
Then move each process from
.I alpha
to
diff --git a/man7/credentials.7 b/man7/credentials.7
index d74fc2690..71ade0967 100644
--- a/man7/credentials.7
+++ b/man7/credentials.7
@@ -4,7 +4,7 @@
.\"
.\" 2007-06-13 Creation
.\"
-.TH CREDENTIALS 7 2022-10-09 "Linux man-pages 6.01"
+.TH credentials 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
credentials \- process identifiers
.SH DESCRIPTION
@@ -23,7 +23,7 @@ PIDs are used in a range of system calls to identify the process
affected by the call, for example:
.BR kill (2),
.BR ptrace (2),
-.BR setpriority (2)
+.BR setpriority (2),
.\" .BR sched_rr_get_interval (2),
.\" .BR sched_getaffinity (2),
.\" .BR sched_setaffinity (2),
@@ -116,7 +116,7 @@ If the
flag has been set for the terminal (see
.BR termios (3)),
then only the foreground job may write to the terminal;
-writes from background job cause a
+writes from background jobs cause a
.B SIGTTOU
signal to be generated, which suspends the job.
When terminal keys that generate a signal (such as the
@@ -154,13 +154,13 @@ and
.IR <sys/types.h> ).
.PP
On Linux, each process has the following user and group identifiers:
-.IP * 3
+.IP \(bu 3
Real user ID and real group ID.
These IDs determine who owns the process.
A process can obtain its real user (group) ID using
.BR getuid (2)
.RB ( getgid (2)).
-.IP *
+.IP \(bu
Effective user ID and effective group ID.
These IDs are used by the kernel to determine the permissions
that the process will have when accessing shared resources such
@@ -172,7 +172,7 @@ for this task.
A process can obtain its effective user (group) ID using
.BR geteuid (2)
.RB ( getegid (2)).
-.IP *
+.IP \(bu
Saved set-user-ID and saved set-group-ID.
These IDs are used in set-user-ID and set-group-ID programs to save
a copy of the corresponding effective IDs that were set when
@@ -194,7 +194,7 @@ or
A process can obtain its saved set-user-ID (set-group-ID) using
.BR getresuid (2)
.RB ( getresgid (2)).
-.IP *
+.IP \(bu
Filesystem user ID and filesystem group ID (Linux-specific).
These IDs, in conjunction with the supplementary group IDs described
below, are used to determine permissions for accessing files; see
@@ -211,19 +211,19 @@ by calling
.BR setfsuid (2)
and
.BR setfsgid (2).
-.IP *
+.IP \(bu
Supplementary group IDs.
This is a set of additional group IDs that are used for permission
checks when accessing files and other shared resources.
-On Linux kernels before 2.6.4,
+Before Linux 2.6.4,
a process can be a member of up to 32 supplementary groups;
-since kernel 2.6.4,
+since Linux 2.6.4,
a process can be a member of up to 65536 supplementary groups.
The call
.I sysconf(_SC_NGROUPS_MAX)
can be used to determine the number of supplementary groups
of which a process may be a member.
-.\" Since kernel 2.6.4, the limit is visible via the read-only file
+.\" Since Linux 2.6.4, the limit is visible via the read-only file
.\" /proc/sys/kernel/ngroups_max.
.\" As at 2.6.22-rc2, this file is still read-only.
A process can obtain its set of supplementary group IDs using
@@ -241,10 +241,10 @@ the effective and saved set IDs may be changed, as described in
.PP
Aside from the purposes noted above,
a process's user IDs are also employed in a number of other contexts:
-.IP * 3
+.IP \(bu 3
when determining the permissions for sending signals (see
.BR kill (2));
-.IP *
+.IP \(bu
when determining the permissions for setting
process-scheduling parameters (nice value, real time
scheduling policy and priority, CPU affinity, I/O priority) using
@@ -255,10 +255,10 @@ scheduling policy and priority, CPU affinity, I/O priority) using
.BR sched_setattr (2),
and
.BR ioprio_set (2);
-.IP *
+.IP \(bu
when checking resource limits (see
.BR getrlimit (2));
-.IP *
+.IP \(bu
when checking the limit on the number of inotify instances
that the process may create (see
.BR inotify (7)).
diff --git a/man7/ddp.7 b/man7/ddp.7
index 4b9dc4bfa..5cb1e817c 100644
--- a/man7/ddp.7
+++ b/man7/ddp.7
@@ -9,7 +9,7 @@
.\"
.\" $Id: ddp.7,v 1.3 1999/05/13 11:33:22 freitag Exp $
.\"
-.TH DDP 7 2022-10-09 "Linux man-pages 6.01"
+.TH ddp 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ddp \- Linux AppleTalk protocol implementation
.SH SYNOPSIS
diff --git a/man7/environ.7 b/man7/environ.7
index 27d328647..fa87e0844 100644
--- a/man7/environ.7
+++ b/man7/environ.7
@@ -12,7 +12,7 @@
.\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze <joey@infodrom.org>
.\"
-.TH ENVIRON 7 2022-10-09 "Linux man-pages 6.01"
+.TH ENVIRON 7 2022-10-29 "Linux man-pages 6.02"
.SH NAME
environ \- user environment
.SH SYNOPSIS
@@ -198,7 +198,7 @@ command shall be valid.
Note that the behavior of many programs and library routines is
influenced by the presence or value of certain environment variables.
Examples include the following:
-.IP * 3
+.IP \(bu 3
The variables
.BR LANG ", " LANGUAGE ", " NLSPATH ", " LOCPATH ,
.BR LC_ALL ", " LC_MESSAGES ,
@@ -207,37 +207,37 @@ and so on influence locale handling; see
.BR gettext (3),
and
.BR locale (7).
-.IP *
+.IP \(bu
.B TMPDIR
influences the path prefix of names created by
.BR tempnam (3)
and other routines, and the temporary directory used by
.BR sort (1)
and other programs.
-.IP *
+.IP \(bu
.BR LD_LIBRARY_PATH ", " LD_PRELOAD ,
and other
.B LD_*
variables influence the behavior of the dynamic loader/linker.
See also
.BR ld.so (8).
-.IP *
+.IP \(bu
.B POSIXLY_CORRECT
makes certain programs and library routines follow
the prescriptions of POSIX.
-.IP *
+.IP \(bu
The behavior of
.BR malloc (3)
is influenced by
.B MALLOC_*
variables.
-.IP *
+.IP \(bu
The variable
.B HOSTALIASES
gives the name of a file containing aliases
to be used with
.BR gethostbyname (3).
-.IP *
+.IP \(bu
.BR TZ " and " TZDIR
give timezone information used by
.BR tzset (3)
@@ -248,14 +248,14 @@ and through that by functions like
.BR strftime (3).
See also
.BR tzselect (8).
-.IP *
+.IP \(bu
.B TERMCAP
gives information on how to address a given terminal
(or gives the name of a file containing such information).
-.IP *
+.IP \(bu
.BR COLUMNS " and " LINES
tell applications about the window size, possibly overriding the actual size.
-.IP *
+.IP \(bu
.BR PRINTER " or " LPDEST
may specify the desired printer to use.
See
diff --git a/man7/epoll.7 b/man7/epoll.7
index fd7d6f14c..8d475637f 100644
--- a/man7/epoll.7
+++ b/man7/epoll.7
@@ -4,7 +4,7 @@
.\"
.\" Davide Libenzi <davidel@xmailserver.org>
.\"
-.TH EPOLL 7 2022-10-09 "Linux man-pages 6.01"
+.TH epoll 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
epoll \- I/O event notification facility
.SH SYNOPSIS
@@ -29,7 +29,7 @@ API is the
.IR instance ,
an in-kernel data structure which, from a user-space perspective,
can be considered as a container for two lists:
-.IP \(bu 2
+.IP \(bu 3
The
.I interest
list (sometimes also called the
@@ -50,7 +50,7 @@ The following system calls are provided to
create and manage an
.B epoll
instance:
-.IP \(bu 2
+.IP \(bu 3
.BR epoll_create (2)
creates a new
.B epoll
@@ -83,24 +83,24 @@ The difference between the two mechanisms
can be described as follows.
Suppose that
this scenario happens:
-.IP 1. 3
+.IP (1) 5
The file descriptor that represents the read side of a pipe
.RI ( rfd )
is registered on the
.B epoll
instance.
-.IP 2.
+.IP (2)
A pipe writer writes 2\ kB of data on the write side of the pipe.
-.IP 3.
+.IP (3)
A call to
.BR epoll_wait (2)
is done that will return
.I rfd
as a ready file descriptor.
-.IP 4.
+.IP (4)
The pipe reader reads 1\ kB of data from
.IR rfd .
-.IP 5.
+.IP (5)
A call to
.BR epoll_wait (2)
is done.
@@ -149,9 +149,9 @@ The suggested way to use
as an edge-triggered
.RB ( EPOLLET )
interface is as follows:
-.IP a) 3
+.IP (1) 5
with nonblocking file descriptors; and
-.IP b)
+.IP (2)
by waiting for an event only after
.BR read (2)
or
@@ -236,7 +236,7 @@ call.
.SS /proc interfaces
The following interfaces can be used to limit the amount of
kernel memory consumed by epoll:
-.\" Following was added in 2.6.28, but them removed in 2.6.29
+.\" Following was added in Linux 2.6.28, but them removed in Linux 2.6.29
.\" .TP
.\" .IR /proc/sys/fs/epoll/max_user_instances " (since Linux 2.6.28)"
.\" This specifies an upper limit on the number of epoll instances
@@ -250,7 +250,7 @@ The limit is per real user ID.
Each registered file descriptor costs roughly 90 bytes on a 32-bit kernel,
and roughly 160 bytes on a 64-bit kernel.
Currently,
-.\" 2.6.29 (in 2.6.28, the default was 1/32 of lowmem)
+.\" Linux 2.6.29 (in Linux 2.6.28, the default was 1/32 of lowmem)
the default value for
.I max_user_watches
is 1/25 (4%) of the available low memory,
@@ -355,7 +355,7 @@ calling
with
.BR EPOLL_CTL_MOD .
.SS Questions and answers
-.IP 0. 4
+.IP \(bu 3
What is the key used to distinguish the file descriptors registered in an
interest list?
.IP
@@ -363,7 +363,7 @@ The key is the combination of the file descriptor number and
the open file description
(also known as an "open file handle",
the kernel's internal representation of an open file).
-.IP 1.
+.IP \(bu
What happens if you register the same file descriptor on an
.B epoll
instance twice?
@@ -397,7 +397,7 @@ This can be a useful technique for filtering events,
if the duplicate file descriptors are registered with different
.I events
masks.
-.IP 2.
+.IP \(bu
Can two
.B epoll
instances wait for the same file descriptor?
@@ -407,7 +407,7 @@ file descriptors?
.IP
Yes, and events would be reported to both.
However, careful programming may be needed to do this correctly.
-.IP 3.
+.IP \(bu
Is the
.B epoll
file descriptor itself poll/epoll/selectable?
@@ -417,7 +417,7 @@ If an
.B epoll
file descriptor has events waiting, then it will
indicate as being readable.
-.IP 4.
+.IP \(bu
What happens if one attempts to put an
.B epoll
file descriptor into its own file descriptor set?
@@ -431,14 +431,14 @@ However, you can add an
file descriptor inside another
.B epoll
file descriptor set.
-.IP 5.
+.IP \(bu
Can I send an
.B epoll
file descriptor over a UNIX domain socket to another process?
.IP
Yes, but it does not make sense to do this, since the receiving process
would not have copies of the file descriptors in the interest list.
-.IP 6.
+.IP \(bu
Will closing a file descriptor cause it to be removed from all
.B epoll
interest lists?
@@ -477,13 +477,13 @@ behind the scenes by library functions that used
.BR dup (2)
or
.BR fork (2)).
-.IP 7.
+.IP \(bu
If more than one event occurs between
.BR epoll_wait (2)
calls, are they combined or reported separately?
.IP
They will be combined.
-.IP 8.
+.IP \(bu
Does an operation on a file descriptor affect the
already collected but not yet reported events?
.IP
@@ -491,7 +491,7 @@ You can do two operations on an existing file descriptor.
Remove would be meaningless for
this case.
Modify will reread available I/O.
-.IP 9.
+.IP \(bu
Do I need to continuously read/write a file descriptor
until
.B EAGAIN
@@ -530,15 +530,15 @@ The same is true when writing using
(Avoid this latter technique if you cannot guarantee that
the monitored file descriptor always refers to a stream-oriented file.)
.SS Possible pitfalls and ways to avoid them
-.TP
-.B o Starvation (edge-triggered)
-.PP
+.IP \(bu 3
+.B Starvation (edge-triggered)
+.IP
If there is a large amount of I/O space,
it is possible that by trying to drain
it the other files will not get processed causing starvation.
(This problem is not specific to
.BR epoll .)
-.PP
+.IP
The solution is to maintain a ready list
and mark the file descriptor as ready
in its associated data structure, thereby allowing the application to
@@ -546,9 +546,9 @@ remember which files need to be processed but still round robin amongst
all the ready files.
This also supports ignoring subsequent events you
receive for file descriptors that are already ready.
-.TP
-.B o If using an event cache...
-.PP
+.IP \(bu
+.B If using an event cache...
+.IP
If you use an event cache or store all the file descriptors returned from
.BR epoll_wait (2),
then make sure to provide a way to mark
@@ -562,7 +562,7 @@ If you remove the structure and
the file descriptor for event #13, then your
event cache might still say there are events waiting for that
file descriptor causing confusion.
-.PP
+.IP
One solution for this is to call, during the processing of event 47,
.BR epoll_ctl ( EPOLL_CTL_DEL )
to delete file descriptor 13 and
@@ -578,7 +578,7 @@ The
.B epoll
API was introduced in Linux kernel 2.5.44.
.\" Its interface should be finalized in Linux kernel 2.5.66.
-Support was added to glibc in version 2.3.2.
+Support was added in glibc 2.3.2.
.SH STANDARDS
The
.B epoll
diff --git a/man7/fanotify.7 b/man7/fanotify.7
index a4880b24b..95feb1cb2 100644
--- a/man7/fanotify.7
+++ b/man7/fanotify.7
@@ -2,7 +2,7 @@
.\" and Copyright (C) 2014, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.TH FANOTIFY 7 2022-10-09 "Linux man-pages 6.01"
+.TH fanotify 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
fanotify \- monitoring filesystem events
.SH DESCRIPTION
@@ -907,9 +907,9 @@ in the response structure is not valid.
This may occur when a response for the permission event has already been
written.
.SH VERSIONS
-The fanotify API was introduced in version 2.6.36 of the Linux kernel and
-enabled in version 2.6.37.
-Fdinfo support was added in version 3.8.
+The fanotify API was introduced in Linux 2.6.36 and
+enabled in Linux 2.6.37.
+Fdinfo support was added in Linux 3.8.
.SH STANDARDS
The fanotify API is Linux-specific.
.SH NOTES
@@ -968,7 +968,7 @@ events.
.PP
As of Linux 3.17,
the following bugs exist:
-.IP * 3
+.IP \(bu 3
On Linux, a filesystem object may be accessible through multiple paths,
for example, a part of a filesystem may be remounted using the
.I \-\-bind
@@ -977,7 +977,7 @@ option of
A listener that marked a mount will be notified only of events that were
triggered for a filesystem object using the same mount.
Any other event will pass unnoticed.
-.IP *
+.IP \(bu
.\" FIXME . A patch was proposed.
When an event is generated,
no check is made to see whether the user ID of the
@@ -986,7 +986,7 @@ before passing a file descriptor for that file.
This poses a security risk, when the
.B CAP_SYS_ADMIN
capability is set for programs executed by unprivileged users.
-.IP *
+.IP \(bu
If a call to
.BR read (2)
processes multiple events from the fanotify queue and an error occurs,
diff --git a/man7/feature_test_macros.7 b/man7/feature_test_macros.7
index 09664a9ae..15ec43cdd 100644
--- a/man7/feature_test_macros.7
+++ b/man7/feature_test_macros.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH FEATURE_TEST_MACROS 7 2022-10-14 "Linux man-pages 6.01"
+.TH feature_test_macros 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
feature_test_macros \- feature test macros
.SH DESCRIPTION
@@ -129,7 +129,7 @@ in glibc 2.\fIx\fP,
> 0.
.PP
First, though, a summary of a few details for the impatient:
-.IP * 3
+.IP \(bu 3
The macros that you most likely need to use in modern source code are
.B _POSIX_C_SOURCE
(for definitions from various versions of POSIX.1),
@@ -139,13 +139,13 @@ The macros that you most likely need to use in modern source code are
(for GNU and/or Linux specific stuff), and
.B _DEFAULT_SOURCE
(to get definitions that would normally be provided by default).
-.IP *
+.IP \(bu
Certain macros are defined with default values.
Thus, although one or more macros may be indicated as being
required in the SYNOPSIS of a man page,
it may not be necessary to define them explicitly.
Full details of the defaults are given later in this man page.
-.IP *
+.IP \(bu
Defining
.B _XOPEN_SOURCE
with a value of 600 or greater produces the same effects as defining
@@ -167,7 +167,7 @@ it is implicit that the following has the same effect:
_XOPEN_SOURCE >= 600
.EE
.in
-.IP *
+.IP \(bu
Defining
.B _XOPEN_SOURCE
with a value of 700 or greater produces the same effects as defining
@@ -515,21 +515,21 @@ Defining this macro (with any value) implicitly defines
.BR _POSIX_SOURCE ,
.B _POSIX_C_SOURCE
with the value 200809L
-(200112L in glibc versions before 2.10;
-199506L in glibc versions before 2.5;
-199309L in glibc versions before 2.1)
+(200112L before glibc 2.10;
+199506L before glibc 2.5;
+199309L before glibc 2.1)
and
.B _XOPEN_SOURCE
with the value 700
-(600 in glibc versions before 2.10;
-500 in glibc versions before 2.2).
+(600 before glibc 2.10;
+500 before glibc 2.2).
In addition, various GNU-specific extensions are also exposed.
.IP
Since glibc 2.19, defining
.B _GNU_SOURCE
also has the effect of implicitly defining
.BR _DEFAULT_SOURCE .
-In glibc versions before 2.20, defining
+Before glibc 2.20, defining
.B _GNU_SOURCE
also had the effect of implicitly defining
.B _BSD_SOURCE
@@ -657,7 +657,7 @@ can now be fortified.
.IP
Use of this macro requires compiler support, available with
.BR gcc (1)
-since version 4.0.
+since glibc 4.0.
.IP
Use of
.B _FORTIFY_SOURCE
@@ -676,9 +676,9 @@ then the following feature test macros are defined by default:
.BR _POSIX_SOURCE ,
and
.BR _POSIX_C_SOURCE =200809L
-(200112L in glibc versions before 2.10;
-199506L in glibc versions before 2.4;
-199309L in glibc versions before 2.1).
+(200112L before glibc 2.10;
+199506L before glibc 2.4;
+199309L before glibc 2.1).
.PP
If any of
.BR __STRICT_ANSI__ ,
@@ -712,10 +712,10 @@ and either
is not defined or
.B _XOPEN_SOURCE
is defined with a value of 500 or more, then
-.IP * 3
+.IP \(bu 3
.B _POSIX_SOURCE
is defined with the value 1; and
-.IP *
+.IP \(bu
.B _POSIX_C_SOURCE
is defined with one of the following values:
.RS 3
@@ -752,8 +752,8 @@ If
is undefined, then the setting of
.B _POSIX_C_SOURCE
depends on the glibc version:
-199506L, in glibc versions before 2.4;
-200112L, in glibc 2.4 to 2.9; and
+199506L, before glibc 2.4;
+200112L, since glibc 2.4 to glibc 2.9; and
200809L, since glibc 2.10.
.RE
.PP
diff --git a/man7/fifo.7 b/man7/fifo.7
index af6e4360f..fb25609cb 100644
--- a/man7/fifo.7
+++ b/man7/fifo.7
@@ -9,7 +9,7 @@
.\"
.\" 990620 - page created - aeb@cwi.nl
.\"
-.TH FIFO 7 2022-10-09 "Linux man-pages 6.01"
+.TH fifo 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
fifo \- first-in first-out special file, named pipe
.SH DESCRIPTION
diff --git a/man7/futex.7 b/man7/futex.7
index 2357e00fa..28e8a6cfa 100644
--- a/man7/futex.7
+++ b/man7/futex.7
@@ -6,7 +6,7 @@
.\"
.\" SPDX-License-Identifier: MIT
.\"
-.TH FUTEX 7 2022-10-09 "Linux man-pages 6.01"
+.TH futex 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
futex \- fast user-space locking
.SH SYNOPSIS
diff --git a/man7/glob.7 b/man7/glob.7
index 456917bfc..eebaae5ad 100644
--- a/man7/glob.7
+++ b/man7/glob.7
@@ -4,7 +4,7 @@
.\"
.\" 2003-08-24 fix for / by John Kristoff + joey
.\"
-.TH GLOB 7 2022-10-09 "Linux man-pages 6.01"
+.TH glob 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
glob \- globbing pathnames
.SH DESCRIPTION
diff --git a/man7/hier.7 b/man7/hier.7
index e6fe5404b..313222fb7 100644
--- a/man7/hier.7
+++ b/man7/hier.7
@@ -8,7 +8,7 @@
.\" Modified Mon Feb 6 16:41:00 1999 by Nicolás Lichtmaier <nick@debian.org>
.\" Modified Tue Feb 8 16:46:45 2000 by Chris Pepper <pepper@tgg.com>
.\" Modified Fri Sep 7 20:32:45 2001 by Tammy Fox <tfox@redhat.com>
-.TH HIER 7 2022-10-09 "Linux man-pages 6.01"
+.TH hier 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hier \- description of the filesystem hierarchy
.SH DESCRIPTION
diff --git a/man7/hostname.7 b/man7/hostname.7
index 7f8453949..3ece3475a 100644
--- a/man7/hostname.7
+++ b/man7/hostname.7
@@ -8,7 +8,7 @@
.\"
.\" 2008-06-11, mtk, Taken from FreeBSD 6.2 and modified for Linux.
.\"
-.TH HOSTNAME 7 2022-10-09 "Linux man-pages 6.01"
+.TH hostname 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
hostname \- hostname resolution description
.SH DESCRIPTION
diff --git a/man7/icmp.7 b/man7/icmp.7
index 4c8a8fec8..c06612034 100644
--- a/man7/icmp.7
+++ b/man7/icmp.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\"
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
@@ -9,7 +10,7 @@
.\"
.\" $Id: icmp.7,v 1.6 2000/08/14 08:03:45 ak Exp $
.\"
-.TH ICMP 7 2022-10-09 "Linux man-pages 6.01"
+.TH icmp 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
icmp \- Linux IPv4 ICMP kernel module.
.SH DESCRIPTION
@@ -52,8 +53,8 @@ cleared after a burst.
A jiffy is a system dependent unit, usually 10ms on i386 and
about 1ms on alpha and ia64.
.TP
-.IR icmp_destunreach_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_destunreach_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate to send ICMP Destination Unreachable packets.
This limits the rate at which packets are sent to any individual
route or destination.
@@ -68,13 +69,13 @@ If this value is nonzero, Linux will ignore all
requests.
.TP
.IR icmp_echo_ignore_broadcasts " (since Linux 2.2)"
-.\" Precisely: from 2.1.68
+.\" Precisely: from Linux 2.1.68
If this value is nonzero, Linux will ignore all
.B ICMP_ECHO
packets sent to broadcast addresses.
.TP
-.IR icmp_echoreply_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_echoreply_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate for sending
.B ICMP_ECHOREPLY
packets in response to
@@ -82,7 +83,7 @@ packets in response to
packets.
.TP
.IR icmp_errors_use_inbound_ifaddr " (Boolean; default: disabled; since Linux 2.6.12)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
If disabled, ICMP error messages are sent with the primary address of
the exiting interface.
.IP
@@ -97,22 +98,22 @@ then the primary address of the first non-loopback interface that
has one will be used regardless of this setting.
.TP
.IR icmp_ignore_bogus_error_responses " (Boolean; default: disabled; since Linux 2.2)"
-.\" precisely: since 2.1.32
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" precisely: since Linux 2.1.32
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Some routers violate RFC1122 by sending bogus responses to broadcast frames.
Such violations are normally logged via a kernel warning.
If this parameter is enabled, the kernel will not give such warnings,
which will avoid log file clutter.
.TP
-.IR icmp_paramprob_rate " (Linux 2.2 to 2.4.9)"
-.\" Precisely: from 2.1.102
+.IR icmp_paramprob_rate " (Linux 2.2 to Linux 2.4.9)"
+.\" Precisely: from Linux 2.1.102
Maximum rate for sending
.B ICMP_PARAMETERPROB
packets.
These packets are sent when a packet arrives with an invalid IP header.
.TP
.IR icmp_ratelimit " (integer; default: 1000; since Linux 2.4.10)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Limit the maximum rates for sending ICMP packets whose type matches
.I icmp_ratemask
(see below) to specific targets.
@@ -120,7 +121,7 @@ Limit the maximum rates for sending ICMP packets whose type matches
otherwise the minimum space between responses in milliseconds.
.TP
.IR icmp_ratemask " (integer; default: see below; since Linux 2.4.10)"
-.\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
+.\" The following taken from Linux 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
Mask made of ICMP types for which rates are being limited.
.IP
Significant bits: IHGFEDCBA9876543210
@@ -151,7 +152,7 @@ I Address Mask Reply
The bits marked with an asterisk are rate limited by default
(see the default mask above).
.TP
-.IR icmp_timeexceed_rate " (Linux 2.2 to 2.4.9)"
+.IR icmp_timeexceed_rate " (Linux 2.2 to Linux 2.4.9)"
Maximum rate for sending
.B ICMP_TIME_EXCEEDED
packets.
@@ -166,7 +167,7 @@ means no group is allowed to create ICMP Echo sockets.
.SH VERSIONS
Support for the
.B ICMP_ADDRESS
-request was removed in 2.2.
+request was removed in Linux 2.2.
.PP
Support for
.B ICMP_SOURCE_QUENCH
diff --git a/man7/inode.7 b/man7/inode.7
index a3ff59140..f8cb65dd0 100644
--- a/man7/inode.7
+++ b/man7/inode.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INODE 7 2022-10-09 "Linux man-pages 6.01"
+.TH inode 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
inode \- file inode information
.SH DESCRIPTION
diff --git a/man7/inotify.7 b/man7/inotify.7
index 75c1749bc..cf7c54e76 100644
--- a/man7/inotify.7
+++ b/man7/inotify.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH INOTIFY 7 2022-10-09 "Linux man-pages 6.01"
+.TH inotify 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
inotify \- monitoring filesystem events
.SH DESCRIPTION
@@ -16,7 +16,7 @@ When a directory is monitored, inotify will return events
for the directory itself, and for files inside the directory.
.PP
The following system calls are used with this API:
-.IP * 3
+.IP \(bu 3
.BR inotify_init (2)
creates an inotify instance and returns a file descriptor
referring to the inotify instance.
@@ -27,7 +27,7 @@ is like
but has a
.I flags
argument that provides access to some extra functionality.
-.IP *
+.IP \(bu
.BR inotify_add_watch (2)
manipulates the "watch list" associated with an inotify instance.
Each item ("watch") in the watch list specifies the pathname of
@@ -40,16 +40,16 @@ Each watch has a unique "watch descriptor", an integer
returned by
.BR inotify_add_watch (2)
when the watch is created.
-.IP *
+.IP \(bu
When events occur for monitored files and directories,
those events are made available to the application as structured data that
can be read from the inotify file descriptor using
.BR read (2)
(see below).
-.IP *
+.IP \(bu
.BR inotify_rm_watch (2)
removes an item from an inotify watch list.
-.IP *
+.IP \(bu
When all file descriptors referring to an inotify
instance have been closed (using
.BR close (2)),
@@ -142,9 +142,9 @@ structure is thus
The behavior when the buffer given to
.BR read (2)
is too small to return information about the next event depends
-on the kernel version: in kernels before 2.6.21,
+on the kernel version: before Linux 2.6.21,
.BR read (2)
-returns 0; since kernel 2.6.21,
+returns 0; since Linux 2.6.21,
.BR read (2)
fails with the error
.BR EINVAL .
@@ -259,10 +259,10 @@ an event can be generated for activity on any link to the file
(in the same or a different directory).
.PP
When monitoring a directory:
-.IP * 3
+.IP \(bu 3
the events marked above with an asterisk (*) can occur both
for the directory itself and for objects inside the directory; and
-.IP *
+.IP \(bu
the events marked with a plus sign (+) occur only for objects
inside the directory (not for the directory itself).
.PP
@@ -576,13 +576,13 @@ that can be created per real user ID.
This specifies an upper limit on the number of watches
that can be created per real user ID.
.SH VERSIONS
-Inotify was merged into the 2.6.13 Linux kernel.
-The required library interfaces were added to glibc in version 2.4.
+Inotify was merged into Linux 2.6.13.
+The required library interfaces were added in glibc 2.4.
.RB ( IN_DONT_FOLLOW ,
.BR IN_MASK_ADD ,
and
.B IN_ONLYDIR
-were added in glibc version 2.5.)
+were added in glibc 2.5.)
.SH STANDARDS
The inotify API is Linux-specific.
.SH NOTES
@@ -805,9 +805,9 @@ generate
events.
.PP
.\" FIXME . kernel commit 611da04f7a31b2208e838be55a42c7a1310ae321
-.\" implies that unmount events were buggy 2.6.11 to 2.6.36
+.\" implies that unmount events were buggy since Linux 2.6.11 to Linux 2.6.36
.\"
-In kernels before 2.6.16, the
+Before Linux 2.6.16, the
.B IN_ONESHOT
.I mask
flag does not work.
@@ -822,7 +822,7 @@ since Linux 2.6.36, an
.B IN_IGNORED
event is generated in this case.
.PP
-Before kernel 2.6.25,
+Before Linux 2.6.25,
.\" commit 1c17d18e3775485bf1e0ce79575eb637a94494a2
the kernel code that was intended to coalesce successive identical events
(i.e., the two most recent events could potentially be coalesced
diff --git a/man7/intro.7 b/man7/intro.7
index 716128acb..35b526a30 100644
--- a/man7/intro.7
+++ b/man7/intro.7
@@ -6,7 +6,7 @@
.\"
.\" Modified by Thomas Koenig (ig25@rz.uni-karlsruhe.de) 24 Apr 1993
.\" Modified Sat Jul 24 17:28:08 1993 by Rik Faith (faith@cs.unc.edu)
-.TH INTRO 7 2022-10-09 "Linux man-pages 6.01"
+.TH intro 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to overview and miscellany section
.SH DESCRIPTION
diff --git a/man7/ip.7 b/man7/ip.7
index d9ea92006..04d49a2ee 100644
--- a/man7/ip.7
+++ b/man7/ip.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\"
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
@@ -39,7 +40,7 @@
.\" commit 76e21053b5bf33a07c76f99d27a74238310e3c71
.\" Author: Erich E. Hoover <ehoover@mines.edu>
.\"
-.TH IP 7 2022-10-09 "Linux man-pages 6.01"
+.TH ip 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
ip \- Linux IPv4 protocol implementation
.SH SYNOPSIS
@@ -89,7 +90,7 @@ is the IP protocol in the IP header to be received or sent.
Valid values for
.I protocol
include:
-.IP \(bu 2
+.IP \(bu 3
0 and
.B IPPROTO_TCP
for
@@ -323,7 +324,7 @@ is valid only for
.BR setsockopt (2).
.\"
.TP
-.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.4.22 / 2.5.68)"
+.BR IP_ADD_SOURCE_MEMBERSHIP " (since Linux 2.4.22 / Linux 2.5.68)"
Join a multicast group and allow receiving data only
from a specified source.
Argument is an
@@ -411,7 +412,7 @@ structure as described under
.BR IP_ADD_SOURCE_MEMBERSHIP .
.TP
.BR IP_FREEBIND " (since Linux 2.4)"
-.\" Precisely: 2.4.0-test10
+.\" Precisely: since Linux 2.4.0-test10
If enabled, this boolean option allows binding to an IP address
that is nonlocal or does not (yet) exist.
This permits listening on a socket,
@@ -478,7 +479,7 @@ For the full description of multicast source filtering
refer to RFC 3376.
.TP
.BR IP_MTU " (since Linux 2.2)"
-.\" Precisely: 2.1.124
+.\" Precisely: since Linux 2.1.124
Retrieve the current known path MTU of the current socket.
Returns an integer.
.IP
@@ -488,7 +489,7 @@ is valid only for
and can be employed only when the socket has been connected.
.TP
.BR IP_MTU_DISCOVER " (since Linux 2.2)"
-.\" Precisely: 2.1.124
+.\" Precisely: since Linux 2.1.124
Set or receive the Path MTU Discovery setting for a socket.
When enabled, Linux will perform Path MTU Discovery
as defined in RFC\ 1191 on
@@ -633,7 +634,7 @@ This option is valid only for
sockets.
.TP
.BR IP_OPTIONS " (since Linux 2.0)"
-.\" Precisely: 1.3.30
+.\" Precisely: since Linux 1.3.30
Set or get the IP options to be sent with every packet from this socket.
The arguments are a pointer to a memory buffer containing the options
and the option length.
@@ -701,7 +702,7 @@ is
and this is never used for a control message type.
.TP
.BR IP_PKTINFO " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
Pass an
.B IP_PKTINFO
ancillary message that contains a
@@ -751,7 +752,7 @@ index overwrites
for the routing table lookup.
.TP
.BR IP_RECVERR " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Enable extended reliable error message passing.
When enabled on a datagram socket, all
generated errors will be queued in a per-socket error queue.
@@ -890,7 +891,7 @@ It sets or retrieves an integer boolean flag.
defaults to off.
.TP
.BR IP_RECVOPTS " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Pass all incoming IP options to the user in a
.B IP_OPTIONS
control message.
@@ -912,7 +913,7 @@ The ancillary message contains a
.IR "struct sockaddr_in" .
.TP
.BR IP_RECVTOS " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
If enabled, the
.B IP_TOS
ancillary message is passed with incoming packets.
@@ -921,7 +922,7 @@ field of the packet header.
Expects a boolean integer flag.
.TP
.BR IP_RECVTTL " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
When this flag is set, pass a
.B IP_TTL
control message with the time-to-live
@@ -931,14 +932,14 @@ Not supported for
sockets.
.TP
.BR IP_RETOPTS " (since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Identical to
.BR IP_RECVOPTS ,
but returns raw unprocessed options with timestamp and route record
options not filled in for this hop.
.TP
.BR IP_ROUTER_ALERT " (since Linux 2.2)"
-.\" Precisely: 2.1.68
+.\" Precisely: since Linux 2.1.68
Pass all to-be forwarded packets with the
IP Router Alert option set to this socket.
Valid only for raw sockets.
@@ -1090,10 +1091,10 @@ meaning that the option is disabled.
.\"
.TP
.IR ip_always_defrag " (Boolean; since Linux 2.2.13)"
-[New with kernel 2.2.13; in earlier kernel versions this feature
+[New with Linux 2.2.13; in earlier kernel versions this feature
was controlled at compile time by the
.B CONFIG_IP_ALWAYS_DEFRAG
-option; this option is not present in 2.4.x and later]
+option; this option is not present in Linux 2.4.x and later]
.IP
When this boolean flag is enabled (not equal 0), incoming fragments
(parts of IP packets
@@ -1113,14 +1114,14 @@ This is automagically turned on when masquerading or transparent
proxying are configured.
.\"
.TP
-.IR ip_autoconfig " (since Linux 2.2 to 2.6.17)"
-.\" Precisely: since 2.1.68
+.IR ip_autoconfig " (since Linux 2.2 to Linux 2.6.17)"
+.\" Precisely: since Linux 2.1.68
.\" FIXME document ip_autoconfig
Not documented.
.\"
.TP
.IR ip_default_ttl " (integer; default: 64; since Linux 2.2)"
-.\" Precisely: 2.1.15
+.\" Precisely: since Linux 2.1.15
Set the default time-to-live value of outgoing packets.
This can be changed per socket with the
.B IP_TTL
@@ -1140,23 +1141,23 @@ IP forwarding can be also set on a per-interface basis.
.\"
.TP
.IR ip_local_port_range " (since Linux 2.2)"
-.\" Precisely: since 2.1.68
+.\" Precisely: since Linux 2.1.68
This file contains two integers that define the default local port range
allocated to sockets that are not explicitly bound to a port number\(emthat
is, the range used for
.IR "ephemeral ports" .
An ephemeral port is allocated to a socket in the following circumstances:
.RS
-.IP * 3
+.IP \(bu 3
the port number in a socket address is specified as 0 when calling
.BR bind (2);
-.IP *
+.IP \(bu
.BR listen (2)
is called on a stream socket that was not previously bound;
-.IP *
+.IP \(bu
.BR connect (2)
was called on a socket that was not previously bound;
-.IP *
+.IP \(bu
.BR sendto (2)
is called on a datagram socket that was not previously bound.
.RE
@@ -1188,7 +1189,7 @@ It is better to fix the broken routers on the path than to turn off
Path MTU Discovery globally, because not doing it incurs a high cost
to the network.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip_nonlocal_bind " (Boolean; default: disabled; since Linux 2.4)"
.\" Precisely: patch-2.4.0-test10
@@ -1197,12 +1198,12 @@ If set, allows processes to
to nonlocal IP addresses,
which can be quite useful, but may break some applications.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip6frag_time " (integer; default: 30)"
Time in seconds to keep an IPv6 fragment in memory.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR ip6frag_secret_interval " (integer; default: 600)"
Regeneration interval (in seconds) of the hash secret (or lifetime
diff --git a/man7/ipc_namespaces.7 b/man7/ipc_namespaces.7
index 042143595..dd2d33da6 100644
--- a/man7/ipc_namespaces.7
+++ b/man7/ipc_namespaces.7
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH IPC_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH ipc_namespaces 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
ipc_namespaces \- overview of Linux IPC namespaces
.SH DESCRIPTION
@@ -28,10 +28,10 @@ but are not visible to processes in other IPC namespaces.
The following
.I /proc
interfaces are distinct in each IPC namespace:
-.IP * 3
+.IP \(bu 3
The POSIX message queue interfaces in
.IR /proc/sys/fs/mqueue .
-.IP *
+.IP \(bu
The System V IPC interfaces in
.IR /proc/sys/kernel ,
namely:
@@ -44,7 +44,7 @@ namely:
.IR shmmni ,
and
.IR shm_rmid_forced .
-.IP *
+.IP \(bu
The System V IPC interfaces in
.IR /proc/sysvipc .
.PP
diff --git a/man7/ipv6.7 b/man7/ipv6.7
index 9373083c7..155550078 100644
--- a/man7/ipv6.7
+++ b/man7/ipv6.7
@@ -33,57 +33,57 @@
.\" IPV6_RECVRTHDR (2.6.14)
.\" IPV6_RECVDSTOPTS (2.6.14)
.\"
-.\" IPV6_RECVPATHMTU (2.6.35, flag value added in 2.6.14)
+.\" IPV6_RECVPATHMTU (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
-.\" IPV6_PATHMTU (2.6.35, flag value added in 2.6.14)
+.\" IPV6_PATHMTU (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
-.\" IPV6_DONTFRAG (2.6.35, flag value added in 2.6.14)
+.\" IPV6_DONTFRAG (Linux 2.6.35, flag value added in Linux 2.6.14)
.\" commit 793b14731686595a741d9f47726ad8b9a235385a
.\" Author: Brian Haley <brian.haley@hp.com>
.\" commit 4b340ae20d0e2366792abe70f46629e576adaf5e
.\" Author: Brian Haley <brian.haley@hp.com>
.\"
-.\" IPV6_RECVTCLASS (2.6.14)
+.\" IPV6_RECVTCLASS (Linux 2.6.14)
.\" commit 41a1f8ea4fbfcdc4232f023732584aae2220de31
.\" Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
.\" Based on patch from David L Stevens <dlstevens@us.ibm.com>
.\"
-.\" IPV6_CHECKSUM (2.2)
-.\" IPV6_NEXTHOP (2.2)
-.\" IPV6_JOIN_ANYCAST (2.4.21 / 2.6)
-.\" IPV6_LEAVE_ANYCAST (2.4.21 / 2.6)
-.\" IPV6_FLOWLABEL_MGR (2.2.7 / 2.4)
-.\" IPV6_FLOWINFO_SEND (2.2.7 / 2.4)
-.\" IPV6_IPSEC_POLICY (2.6)
-.\" IPV6_XFRM_POLICY (2.6)
-.\" IPV6_TCLASS (2.6)
+.\" IPV6_CHECKSUM (Linux 2.2)
+.\" IPV6_NEXTHOP (Linux 2.2)
+.\" IPV6_JOIN_ANYCAST (Linux 2.4.21 / Linux 2.6)
+.\" IPV6_LEAVE_ANYCAST (Linux 2.4.21 / Linux 2.6)
+.\" IPV6_FLOWLABEL_MGR (Linux 2.2.7 / Linux 2.4)
+.\" IPV6_FLOWINFO_SEND (Linux 2.2.7 / Linux 2.4)
+.\" IPV6_IPSEC_POLICY (Linux 2.6)
+.\" IPV6_XFRM_POLICY (Linux 2.6)
+.\" IPV6_TCLASS (Linux 2.6)
.\"
-.\" IPV6_ADDR_PREFERENCES (2.6.26)
+.\" IPV6_ADDR_PREFERENCES (Linux 2.6.26)
.\" commit 7cbca67c073263c179f605bdbbdc565ab29d801d
.\" Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
-.\" IPV6_MINHOPCOUNT (2.6.35)
+.\" IPV6_MINHOPCOUNT (Linux 2.6.35)
.\" commit e802af9cabb011f09b9c19a82faef3dd315f27eb
.\" Author: Stephen Hemminger <shemminger@vyatta.com>
-.\" IPV6_ORIGDSTADDR (2.6.37)
+.\" IPV6_ORIGDSTADDR (Linux 2.6.37)
.\" Actually a CMSG rather than a sockopt?
.\" In header file, we have IPV6_RECVORIGDSTADDR == IPV6_ORIGDSTADDR
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
-.\" IPV6_RECVORIGDSTADDR (2.6.37)
+.\" IPV6_RECVORIGDSTADDR (Linux 2.6.37)
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
.\" Support for IPV6_RECVORIGDSTADDR sockopt for UDP sockets
.\" were contributed by Harry Mason.
-.\" IPV6_TRANSPARENT (2.6.37)
+.\" IPV6_TRANSPARENT (Linux 2.6.37)
.\" commit 6c46862280c5f55eda7750391bc65cd7e08c7535
.\" Author: Balazs Scheidler <bazsi@balabit.hu>
-.\" IPV6_UNICAST_IF (3.4)
+.\" IPV6_UNICAST_IF (Linux 3.4)
.\" commit c4062dfc425e94290ac427a98d6b4721dd2bc91f
.\" Author: Erich E. Hoover <ehoover@mines.edu>
.\"
-.TH IPV6 7 2022-10-09 "Linux man-pages 6.01"
+.TH ipv6 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ipv6 \- Linux IPv6 protocol implementation
.SH SYNOPSIS
@@ -146,7 +146,7 @@ struct sockaddr_in6 {
in_port_t sin6_port; /* port number */
uint32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
- uint32_t sin6_scope_id; /* Scope ID (new in 2.4) */
+ uint32_t sin6_scope_id; /* Scope ID (new in Linux 2.4) */
};
struct in6_addr {
diff --git a/man7/iso_8859-1.7 b/man7/iso_8859-1.7
index 8a8adfd6a..469b5a0f7 100644
--- a/man7/iso_8859-1.7
+++ b/man7/iso_8859-1.7
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Slightly rearranged, aeb, 950713
.\" Updated, dpo, 990531
-.TH ISO_8859-1 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-1 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-1 \- ISO 8859-1 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-10.7 b/man7/iso_8859-10.7
index 36c38aea7..e03358991 100644
--- a/man7/iso_8859-10.7
+++ b/man7/iso_8859-10.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-10 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-10 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-10 \- ISO 8859-10 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-11.7 b/man7/iso_8859-11.7
index 55251634a..de6d6f58c 100644
--- a/man7/iso_8859-11.7
+++ b/man7/iso_8859-11.7
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis <edimitro at tee.gr>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\"Thanomsub Noppaburana <donga.nb@gmail.com> made valuable suggestions.
.\"
-.TH ISO_8859-11 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-11 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-11 \- ISO 8859-11 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-13.7 b/man7/iso_8859-13.7
index 51ce3947e..3740b377a 100644
--- a/man7/iso_8859-13.7
+++ b/man7/iso_8859-13.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-13 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-13 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-13 \- ISO 8859-13 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-14.7 b/man7/iso_8859-14.7
index 9d6282720..53ca61e5a 100644
--- a/man7/iso_8859-14.7
+++ b/man7/iso_8859-14.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-14 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-14 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-14 \- ISO 8859-14 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-15.7 b/man7/iso_8859-15.7
index d56f1e5b7..b00f9b486 100644
--- a/man7/iso_8859-15.7
+++ b/man7/iso_8859-15.7
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com)
.\" Copyright 1999 Dimitri Papadopoulos (dpo@club-internet.fr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-15 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-15 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-15 \- ISO 8859-15 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-16.7 b/man7/iso_8859-16.7
index 694be995c..c929422ab 100644
--- a/man7/iso_8859-16.7
+++ b/man7/iso_8859-16.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Ionel Mugurel Ciobîcă (IMCiobica@netscape.net)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-16 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-16 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-16 \- ISO 8859-16 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-2.7 b/man7/iso_8859-2.7
index 53996c494..a3554ee67 100644
--- a/man7/iso_8859-2.7
+++ b/man7/iso_8859-2.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright 1999 Roman Maurer (roman.maurer@hermes.si)
.\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com)
.\"
@@ -5,7 +6,7 @@
.\"
.\" Slightly rearranged, aeb, 950713
.\" Updated, dpo, 990531
-.TH ISO_8859-2 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-2 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-2 \- ISO 8859-2 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-3.7 b/man7/iso_8859-3.7
index 5b7f35262..8d47dda24 100644
--- a/man7/iso_8859-3.7
+++ b/man7/iso_8859-3.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-3 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-3 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-3 \- ISO 8859-3 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-4.7 b/man7/iso_8859-4.7
index 6c5b42cd3..f548afe8d 100644
--- a/man7/iso_8859-4.7
+++ b/man7/iso_8859-4.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-4 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-4 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-4 \- ISO 8859-4 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-5.7 b/man7/iso_8859-5.7
index b6b6a8a0f..bbee71e39 100644
--- a/man7/iso_8859-5.7
+++ b/man7/iso_8859-5.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-5 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-5 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-5 \- ISO 8859-5 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-6.7 b/man7/iso_8859-6.7
index ed9a7812a..39434ba19 100644
--- a/man7/iso_8859-6.7
+++ b/man7/iso_8859-6.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-6 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-6 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-6 \- ISO 8859-6 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-7.7 b/man7/iso_8859-7.7
index 3bafa20bc..2f0db7707 100644
--- a/man7/iso_8859-7.7
+++ b/man7/iso_8859-7.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 1999 Dimitri Papadopoulos (dpo@club-internet.fr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-7 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-7 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-7 \- ISO 8859-7 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-8.7 b/man7/iso_8859-8.7
index 9dae191e8..c018d843e 100644
--- a/man7/iso_8859-8.7
+++ b/man7/iso_8859-8.7
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Eli Zaretskii <eliz@gnu.org> made valuable suggestions
.\"
-.TH ISO_8859-8 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-8 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-8 \- ISO 8859-8 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/iso_8859-9.7 b/man7/iso_8859-9.7
index e7cf10dab..9dbc2831e 100644
--- a/man7/iso_8859-9.7
+++ b/man7/iso_8859-9.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2002 Dimitri Papadopoulos (dpo@club-internet.fr)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ISO_8859-9 7 2022-10-09 "Linux man-pages 6.01"
+.TH ISO_8859-9 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
iso_8859-9 \- ISO 8859-9 character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/kernel_lockdown.7 b/man7/kernel_lockdown.7
index 3154456a4..9a2823c92 100644
--- a/man7/kernel_lockdown.7
+++ b/man7/kernel_lockdown.7
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH KERNEL_LOCKDOWN 7 2022-10-09 "Linux man-pages 6.01"
+.TH kernel_lockdown 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
kernel_lockdown \- kernel image access prevention feature
.SH DESCRIPTION
@@ -50,7 +50,7 @@ kprobes
.PP
and the ability to directly configure and control devices, so as to prevent
the use of a device to access or modify a kernel image:
-.IP \(bu 2
+.IP \(bu 3
The use of module parameters that directly specify hardware parameters to
drivers through the kernel command line or when loading a module.
.IP \(bu
@@ -75,7 +75,7 @@ The specification of the ACPI RDSP address.
The use of ACPI custom methods.
.PP
Certain facilities are restricted:
-.IP \(bu 2
+.IP \(bu 3
Only validly signed modules may be loaded (waived if the module file being
loaded is vouched for by IMA appraisal).
.IP \(bu
diff --git a/man7/keyrings.7 b/man7/keyrings.7
index 81c510bb9..7cfd196cd 100644
--- a/man7/keyrings.7
+++ b/man7/keyrings.7
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH KEYRINGS 7 2022-10-09 "Linux man-pages 6.01"
+.TH keyrings 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
keyrings \- in-kernel key management and retention facility
.SH DESCRIPTION
@@ -181,20 +181,25 @@ Keyrings may be considered as analogous to UNIX directories
where each directory contains a set of hard links to files.
.PP
Various operations (system calls) may be applied only to keyrings:
-.IP Adding
+.TP
+Adding
A key may be added to a keyring by system calls that create keys.
This prevents the new key from being immediately deleted
when the system call releases its last reference to the key.
-.IP Linking
+.TP
+Linking
A link may be added to a keyring pointing to a key that is already known,
provided this does not create a self-referential cycle.
-.IP Unlinking
+.TP
+Unlinking
A link may be removed from a keyring.
When the last link to a key is removed,
that key will be scheduled for deletion by the garbage collector.
-.IP Clearing
+.TP
+Clearing
All the links may be removed from a keyring.
-.IP Searching
+.TP
+Searching
A keyring may be considered the root of a tree or subtree in which keyrings
form the branches and non-keyrings the leaves.
This tree may be searched for a key matching
@@ -309,7 +314,7 @@ has been defined for this keyring.
The concept of possession is important to understanding the keyrings
security model.
Whether a thread possesses a key is determined by the following rules:
-.IP (1) 4
+.IP (1) 5
Any key or keyring that does not grant
.I search
permission to the caller is ignored in all the following rules.
@@ -348,32 +353,36 @@ thus making the user keyring and anything it contains possessed by default.
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.SS Access rights
Each key has the following security-related attributes:
-.IP * 3
+.IP \(bu 3
The owning user ID
-.IP *
+.IP \(bu
The ID of a group that is permitted to access the key
-.IP *
+.IP \(bu
A security label
-.IP *
+.IP \(bu
A permissions mask
.PP
The permissions mask contains four sets of rights.
The first three sets are mutually exclusive.
One and only one will be in force for a particular access check.
In order of descending priority, these three sets are:
-.IP \fIuser\fR
+.TP
+.I user
The set specifies the rights granted
if the key's user ID matches the caller's filesystem user ID.
-.IP \fIgroup\fR
+.TP
+.I group
The set specifies the rights granted
if the user ID didn't match and the key's group ID matches the caller's
filesystem GID or one of the caller's supplementary group IDs.
-.IP \fIother\fR
+.TP
+.I other
The set specifies the rights granted
if neither the key's user ID nor group ID matched.
.PP
The fourth set of rights is:
-.IP \fIpossessor\fR
+.TP
+.I possessor
The set specifies the rights granted
if a key is determined to be possessed by the caller.
.PP
@@ -440,8 +449,8 @@ access for user-space applications to find a key.
for use by internal components that make use of keys.)
.PP
The search algorithm works as follows:
-.IP (1) 4
-The process keyrings are searched in the following order: the thread
+.IP (1) 5
+The process keyrings are searched in the following order: the
.BR thread\-keyring (7)
if it exists, the
.BR process\-keyring (7)
@@ -566,29 +575,36 @@ The ID (serial number) of the key, expressed in hexadecimal.
Flags (2)
A set of flags describing the state of the key:
.RS
-.IP I 4
+.TP
+I
.\" KEY_FLAG_INSTANTIATED
The key has been instantiated.
-.IP R
+.TP
+R
.\" KEY_FLAG_REVOKED
The key has been revoked.
-.IP D
+.TP
+D
.\" KEY_FLAG_DEAD
The key is dead (i.e., the key type has been unregistered).
.\" unregister_key_type() in the kernel source
(A key may be briefly in this state during garbage collection.)
-.IP Q
+.TP
+Q
.\" KEY_FLAG_IN_QUOTA
The key contributes to the user's quota.
-.IP U
+.TP
+U
.\" KEY_FLAG_USER_CONSTRUCT
The key is under construction via a callback to user space;
see
.BR request\-key (2).
-.IP N
+.TP
+N
.\" KEY_FLAG_NEGATIVE
The key is negatively instantiated.
-.IP i
+.TP
+i
.\" KEY_FLAG_INVALIDATED
The key has been invalidated.
.RE
@@ -621,7 +637,7 @@ Within each byte, the permission bits are as follows:
0x01
.I view
.TP
-Ox02
+0x02
.I read
.TP
0x04
diff --git a/man7/koi8-r.7 b/man7/koi8-r.7
index 43b8ec4f4..d20a0a1f7 100644
--- a/man7/koi8-r.7
+++ b/man7/koi8-r.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright 2001 Alexey Mahotkin <alexm@hsys.msk.ru>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH KOI8-R 7 2022-10-09 "Linux man-pages 6.01"
+.TH KOI8-R 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
koi8-r \- Russian character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/koi8-u.7 b/man7/koi8-u.7
index c88687ac6..4cac8d5a3 100644
--- a/man7/koi8-u.7
+++ b/man7/koi8-u.7
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright 2009 Lefteris Dimitroulakis <edimitro at tee.gr>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" 2009-01-15, mtk, Some edits
.\"
-.TH KOI8-U 7 2022-10-09 "Linux man-pages 6.01"
+.TH KOI8-U 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
koi8-u \- Ukrainian character set encoded in octal, decimal,
and hexadecimal
diff --git a/man7/landlock.7 b/man7/landlock.7
index 82d37eba2..1f658412a 100644
--- a/man7/landlock.7
+++ b/man7/landlock.7
@@ -4,7 +4,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LANDLOCK 7 2022-10-09 "Linux man-pages 6.01"
+.TH Landlock 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
Landlock \- unprivileged access-control
.SH DESCRIPTION
diff --git a/man7/libc.7 b/man7/libc.7
index d8bd7dbaa..8cdf38e7d 100644
--- a/man7/libc.7
+++ b/man7/libc.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH LIBC 7 2022-10-09 "Linux man-pages 6.01"
+.TH LIBC 7 2022-10-09 "Linux man-pages 6.02"
.SH NAME
libc \- overview of standard C libraries on Linux
.SH DESCRIPTION
diff --git a/man7/locale.7 b/man7/locale.7
index d2f5fbb67..4eaa7ad01 100644
--- a/man7/locale.7
+++ b/man7/locale.7
@@ -8,7 +8,7 @@
.\" <jochen.hein@delphi.central.de>
.\" Modified Thu Apr 25 00:43:19 2002 by Bruno Haible <bruno@clisp.org>
.\"
-.TH LOCALE 7 2022-10-09 "Linux man-pages 6.01"
+.TH locale 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
locale \- description of multilanguage support
.SH SYNOPSIS
@@ -217,18 +217,18 @@ All of the above.
If the second argument to
.BR setlocale (3)
is an empty string,
-.IR """""" ,
+.IR \(dq\(dq ,
for the default locale, it is determined using the following steps:
-.IP 1. 3
+.IP (1) 5
If there is a non-null environment variable
.BR LC_ALL ,
the value of
.B LC_ALL
is used.
-.IP 2.
+.IP (2)
If an environment variable with the same name as one of the categories
above exists and is non-null, its value is used for that category.
-.IP 3.
+.IP (3)
If there is a non-null environment variable
.BR LANG ,
the value of
@@ -295,8 +295,7 @@ struct lconv {
.in
.SS POSIX.1-2008 extensions to the locale API
POSIX.1-2008 standardized a number of extensions to the locale API,
-based on implementations that first appeared in version 2.3
-of the GNU C library.
+based on implementations that first appeared in glibc 2.3.
These extensions are designed to address the problem that
the traditional locale APIs do not mix well with multithreaded applications
and with applications that must deal with multiple locales.
diff --git a/man7/mailaddr.7 b/man7/mailaddr.7
index 25c6d8c09..05250c3e2 100644
--- a/man7/mailaddr.7
+++ b/man7/mailaddr.7
@@ -24,7 +24,7 @@
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\" %%%LICENSE_END
.\"
-.TH MAILADDR 7 2022-10-09 "Linux man-pages 6.01"
+.TH mailaddr 7 2022-10-30 "Linux man-pages 6.02"
.UC 5
.SH NAME
mailaddr \- mail addressing description
diff --git a/man7/man-pages.7 b/man7/man-pages.7
index b60a54e43..1650d6080 100644
--- a/man7/man-pages.7
+++ b/man7/man-pages.7
@@ -1,3 +1,4 @@
+'\" t
.\" (C) Copyright 1992-1999 Rickard E. Faith and David A. Wheeler
.\" (faith@cs.unc.edu and dwheeler@ida.org)
.\" and (C) Copyright 2007 Michael Kerrisk <mtk.manpages@gmail.com>
@@ -7,7 +8,7 @@
.\" 2007-05-30 created by mtk, using text from old man.7 plus
.\" rewrites and additional text.
.\"
-.TH MAN-PAGES 7 2022-10-09 "Linux man-pages 6.01"
+.TH man-pages 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
man-pages \- conventions for writing Linux man pages
.SH SYNOPSIS
@@ -353,8 +354,8 @@ Patches to remedy this are welcome,
but, from the perspective of programmers writing new code,
this information probably matters only in the case of kernel
interfaces that have been added in Linux 2.4 or later
-(i.e., changes since kernel 2.2),
-and library functions that have been added to glibc since version 2.1
+(i.e., changes since Linux 2.2),
+and library functions that have been added to glibc since glibc 2.1
(i.e., changes since glibc 2.0).
.IP
The
@@ -482,17 +483,17 @@ be separated by blank lines.
However, blank lines (achieved using
.IR .PP )
may be added in the following cases:
-.IP * 3
+.IP \(bu 3
to separate long lists of function prototypes into related groups
(see for example
.BR list (3));
-.IP *
+.IP \(bu
in other cases that may improve readability.
.PP
In the SYNOPSIS, a long function prototype may need to be
continued over to the next line.
The continuation line is indented according to the following rules:
-.IP 1. 3
+.IP (1) 5
If there is a single such prototype that needs to be continued,
then align the continuation line so that when the page is
rendered on a fixed-width font device (e.g., on an xterm) the
@@ -503,14 +504,14 @@ adjusted if necessary to prevent a very long continuation line
or a further continuation line where the function prototype is
very long.)
As an example:
-.PP
-.RS
+.IP
+.in +4n
.nf
.BI "int tcsetattr(int " fd ", int " optional_actions ,
.BI " const struct termios *" termios_p );
.fi
-.RE
-.IP 2. 3
+.in
+.IP (2)
But, where multiple functions in the SYNOPSIS require
continuation lines, and the function names have different
lengths, then align all continuation lines to start in the
@@ -519,8 +520,8 @@ This provides a nicer rendering in PDF output
(because the SYNOPSIS uses a variable width font where
spaces render narrower than most characters).
As an example:
-.PP
-.RS
+.IP
+.in +4n
.nf
.BI "int getopt(int " argc ", char * const " argv[] ,
.BI " const char *" optstring );
@@ -528,7 +529,7 @@ As an example:
.BI " const char *" optstring ,
.BI " const struct option *" longopts ", int *" longindex );
.fi
-.RE
+.in
.SS RETURN VALUE
The preferred wording to describe how
.I errno
@@ -542,19 +543,19 @@ This wording is consistent with the wording used in both POSIX.1 and FreeBSD.
.SS ATTRIBUTES
.\" See man-pages commit c466875ecd64ed3d3cd3e578406851b7dfb397bf
Note the following:
-.IP * 3
+.IP \(bu 3
Wrap the table in this section in a
.IR ".ad\ l" / .ad
pair to disable text filling and a
.IR .nh / .hy
pair to disable hyphenation.
-.IP *
+.IP \(bu
Ensure that the table occupies the full page width through the use of an
.I lbx
description for one of the columns
(usually the first column,
though in some cases the last column if it contains a lot of text).
-.IP *
+.IP \(bu
Make free use of
.IR T{ / T}
macro pairs to allow table cells to be broken over multiple lines
@@ -620,6 +621,64 @@ makes it easier to see the effect of patches,
which often operate at the level of
individual sentences, clauses, or phrases.
.\"
+.SS Lists
+There are different kinds of lists:
+.TP
+Tagged paragraphs
+These are used for a list of tags and their descriptions.
+When the tags are constants (either macros or numbers)
+they are in bold.
+Use the
+.B .TP
+macro.
+.IP
+An example is this "Tagged paragraphs" subsection is itself.
+.TP
+Ordered lists
+Elements are preceded by a number in parentheses (1), (2).
+These represent a set of steps that have an order.
+.IP
+When there are substeps,
+they will be numbered like (4.2).
+.TP
+Positional lists
+Elements are preceded by a number (index) in square brackets [4], [5].
+These represent fields in a set.
+The first index will be:
+.IP
+.RS
+.PD 0
+.TP
+.B 0
+When it represents fields of a C data structure,
+to be consistent with arrays.
+.TP
+.B 1
+When it represents fields of a file,
+to be consistent with tools like
+.BR cut (1).
+.PD
+.RE
+.TP
+Alternatives list
+Elements are preceded by a letter in parentheses (a), (b).
+These represent a set of (normally) exclusive alternatives.
+.TP
+Bullet lists
+Elements are preceded by bullet symbols
+.RB ( \e(bu ).
+Anything that doesn't fit elsewhere is
+usually covered by this type of list.
+.TP
+Numbered notes
+Not really a list,
+but the syntax is identical to "positional lists".
+.PP
+There should always be exactly
+2 spaces between the list symbol and the elements.
+This doesn't apply to "tagged paragraphs",
+which use the default indentation rules.
+.\"
.SS Formatting conventions (general)
Paragraphs should be separated by suitable markers (usually either
.I .PP
@@ -712,11 +771,11 @@ please write all new pages and patches according to these conventions.
.PP
Aside from the well-known spelling differences,
there are a few other subtleties to watch for:
-.IP * 3
+.IP \(bu 3
American English tends to use the forms "backward", "upward", "toward",
and so on
rather than the British forms "backwards", "upwards", "towards", and so on.
-.IP *
+.IP \(bu
Opinions are divided on "acknowledgement" vs "acknowledgment".
The latter is predominant, but not universal usage in American English.
POSIX and the BSD license use the former spelling.
@@ -736,9 +795,11 @@ except where English usage (e.g., proper nouns) or programming
language requirements (e.g., identifier names) dictate otherwise.
For example:
.PP
+.in +4n
.EX
- .SS Unicode under Linux
+\&.SS Unicode under Linux
.EE
+.in
.\"
.SS Indentation of structure definitions, shell session logs, and so on
When structure definitions, shell session logs, and so on are included
@@ -749,7 +810,7 @@ and
format them using the
.I .EX
and
-.I EE
+.I .EE
macros, and surround them with suitable paragraph markers (either
.I .PP
or
@@ -758,17 +819,17 @@ For example:
.PP
.in +4n
.EX
- .PP
- .in +4n
- .EX
- int
- main(int argc, char *argv[])
- {
- return 0;
- }
- .EE
- .in
- .PP
+\&.PP
+\&.in +4n
+\&.EX
+int
+main(int argc, char *argv[])
+{
+ return 0;
+}
+\&.EE
+\&.in
+\&.PP
.EE
.in
.SS Preferred terms
@@ -1015,11 +1076,11 @@ This guideline applies also to code examples.
.PP
The use of real minus signs serves the following purposes:
.\" https://lore.kernel.org/linux-man/20210121061158.5ul7226fgbrmodbt@localhost.localdomain/
-.IP * 3
+.IP \(bu 3
To provide better renderings on various targets other than
ASCII terminals,
notably in PDF and on Unicode/UTF\-8-capable terminals.
-.IP *
+.IP \(bu
To generate glyphs that when copied from rendered pages will
produce real minus signs when pasted into a terminal.
.PP
@@ -1051,22 +1112,22 @@ to get a nicely rendered tilde when rendering to PDF.
Manual pages may include example programs demonstrating how to
use a system call or library function.
However, note the following:
-.IP * 3
+.IP \(bu 3
Example programs should be written in C.
-.IP *
+.IP \(bu
An example program is necessary and useful only if it demonstrates
something beyond what can easily be provided in a textual
description of the interface.
An example program that does nothing
other than call an interface usually serves little purpose.
-.IP *
+.IP \(bu
Example programs should ideally be short
(e.g., a good example can often be provided in less than 100 lines of code),
though in some cases longer programs may be necessary
to properly illustrate the use of an API.
-.IP *
+.IP \(bu
Expressive code is appreciated.
-.IP *
+.IP \(bu
Comments should included where helpful.
Complete sentences in free-standing comments should be
terminated by a period.
@@ -1074,18 +1135,18 @@ Periods should generally be omitted in "tag" comments
(i.e., comments that are placed on the same line of code);
such comments are in any case typically brief phrases
rather than complete sentences.
-.IP *
+.IP \(bu
Example programs should do error checking after system calls and
library function calls.
-.IP *
+.IP \(bu
Example programs should be complete, and compile without
warnings when compiled with \fIcc\ \-Wall\fP.
-.IP *
+.IP \(bu
Where possible and appropriate, example programs should allow
experimentation, by varying their behavior based on inputs
(ideally from command-line arguments, or alternatively, via
input read by the program).
-.IP *
+.IP \(bu
Example programs should be laid out according to Kernighan and
Ritchie style, with 4-space indents.
(Avoid the use of TAB characters in source code!)
@@ -1097,7 +1158,7 @@ something close to the preferred style:
indent \-npro \-kr \-i4 \-ts4 \-sob \-l72 \-ss \-nut \-psl prog.c
.EE
.in
-.IP *
+.IP \(bu
For consistency, all example programs should terminate using either of:
.IP
.in +4n
@@ -1116,7 +1177,7 @@ exit(1);
return n;
.EE
.in
-.IP *
+.IP \(bu
If there is extensive explanatory text before the
program source code, mark off the source code
with a subsection heading
@@ -1133,11 +1194,11 @@ Always do this if the explanatory text includes a shell session log.
.PP
If you include a shell session log demonstrating the use of a program
or other system feature:
-.IP * 3
-Place the session log above the source code listing
-.IP *
+.IP \(bu 3
+Place the session log above the source code listing.
+.IP \(bu
Indent the session log by four spaces.
-.IP *
+.IP \(bu
Boldface the user input text,
to distinguish it from output produced by the system.
.PP
diff --git a/man7/man.7 b/man7/man.7
index d089f5564..550de69ac 100644
--- a/man7/man.7
+++ b/man7/man.7
@@ -11,7 +11,7 @@
.\" Modified Tue Jul 27 20:12:02 2004 by Colin Watson <cjwatson@debian.org>
.\" 2007-05-30, mtk: various rewrites and moved much text to new man-pages.7.
.\"
-.TH MAN 7 2022-10-09 "Linux man-pages 6.01"
+.TH man 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
man \- macros to format man pages
.SH SYNOPSIS
@@ -289,15 +289,20 @@ but used for a subsection inside a section).
The
.B man
package has the following predefined strings:
-.IP \e*R
+.TP
+\e*R
Registration Symbol: \*R
-.IP \e*S
+.TP
+\e*S
Change to default font size
-.IP \e*(Tm
+.TP
+\e*(Tm
Trademark Symbol: \*(Tm
-.IP \e*(lq
+.TP
+\e*(lq
Left angled double quote: \*(lq
-.IP \e*(rq
+.TP
+\e*(rq
Right angled double quote: \*(rq
.SS Safe subset
Although technically
diff --git a/man7/math_error.7 b/man7/math_error.7
index 9ae5de71f..448550e4a 100644
--- a/man7/math_error.7
+++ b/man7/math_error.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MATH_ERROR 7 2022-10-09 "Linux man-pages 6.01"
+.TH math_error 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
math_error \- detecting errors from mathematical functions
.SH SYNOPSIS
@@ -177,7 +177,7 @@ exceptions retrievable via
is in use.
The standards require that at least one be in use,
but permit both to be available.
-The current (version 2.8) situation under glibc is messy.
+The current (glibc 2.8) situation under glibc is messy.
Most (but not all) functions raise exceptions on errors.
Some also set
.IR errno .
diff --git a/man7/mount_namespaces.7 b/man7/mount_namespaces.7
index 4a5297785..ae1701896 100644
--- a/man7/mount_namespaces.7
+++ b/man7/mount_namespaces.7
@@ -1,9 +1,10 @@
+'\" t
.\" Copyright (c) 2016, 2019, 2021 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH MOUNT_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH mount_namespaces 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mount_namespaces \- overview of Linux mount namespaces
.SH DESCRIPTION
@@ -37,12 +38,12 @@ with the
flag.
When a new mount namespace is created,
its mount list is initialized as follows:
-.IP * 3
+.IP \(bu 3
If the namespace is created using
.BR clone (2),
the mount list of the child's namespace is a copy
of the mount list in the parent process's mount namespace.
-.IP *
+.IP \(bu
If the namespace is created using
.BR unshare (2),
the mount list of the new namespace is a copy of
@@ -65,7 +66,10 @@ available in all mount namespaces,
a mount operation was required in each namespace.
For this use case, and others,
the shared subtree feature was introduced in Linux 2.6.15.
-This feature allows for automatic, controlled propagation of mount and unmount
+This feature allows for automatic, controlled propagation of
+.BR mount (2)
+and
+.BR umount (2)
.I events
between namespaces
(or, more precisely, between the mounts that are members of a
@@ -79,25 +83,49 @@ as having one of the following
.TP
.B MS_SHARED
This mount shares events with members of a peer group.
-Mount and unmount events immediately under this mount will propagate
+.BR mount (2)
+and
+.BR umount (2)
+events immediately under this mount will propagate
to the other mounts that are members of the peer group.
.I Propagation
-here means that the same mount or unmount will automatically occur
+here means that the same
+.BR mount (2)
+or
+.BR umount (2)
+will automatically occur
under all of the other mounts in the peer group.
-Conversely, mount and unmount events that take place under
+Conversely,
+.BR mount (2)
+and
+.BR umount (2)
+events that take place under
peer mounts will propagate to this mount.
.TP
.B MS_PRIVATE
This mount is private; it does not have a peer group.
-Mount and unmount events do not propagate into or out of this mount.
+.BR mount (2)
+and
+.BR umount (2)
+events do not propagate into or out of this mount.
.TP
.B MS_SLAVE
-Mount and unmount events propagate into this mount from
+.BR mount (2)
+and
+.BR umount (2)
+events propagate into this mount from
a (master) shared peer group.
-Mount and unmount events under this mount do not propagate to any peer.
+.BR mount (2)
+and
+.BR umount (2)
+events under this mount do not propagate to any peer.
.IP
Note that a mount can be the slave of another peer group
-while at the same time sharing mount and unmount events
+while at the same time sharing
+.BR mount (2)
+and
+.BR umount (2)
+events
with a peer group of which it is a member.
(More precisely, one peer group can be the slave of another peer group.)
.TP
@@ -131,7 +159,10 @@ while others are private
(or slaved or unbindable).
.PP
Note that a mount's propagation type determines whether
-mounts and unmounts of mounts
+.BR mount (2)
+and
+.BR umount (2)
+of mounts
.I immediately under
the mount are propagated.
Thus, the propagation type does not affect propagation of events for
@@ -144,9 +175,9 @@ of the mount.
Members are added to a
.I peer group
when a mount is marked as shared and either:
-.IP * 3
+.IP (a) 5
the mount is replicated during the creation of a new mount namespace; or
-.IP *
+.IP (b)
a new bind mount is created from the mount.
.PP
In both of these cases, the new mount joins the peer group
@@ -320,12 +351,19 @@ sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP
.\"
.SS MS_SLAVE example
Making a mount a slave allows it to receive propagated
-mount and unmount events from a master shared peer group,
+.BR mount (2)
+and
+.BR umount (2)
+events from a master shared peer group,
while preventing it from propagating events to that master.
This is useful if we want to (say) receive a mount event when
an optical disk is mounted in the master shared peer group
(in another mount namespace),
-but want to prevent mount and unmount events under the slave mount
+but want to prevent
+.BR mount (2)
+and
+.BR umount (2)
+events under the slave mount
from having side effects in other namespaces.
.PP
We can demonstrate the effect of slaving by first marking
@@ -752,7 +790,7 @@ Suppose that we use the following command to tear down a mount:
.PP
.in +4n
.EX
-unmount A
+umount A
.EE
.in
.PP
@@ -937,7 +975,7 @@ is the peer group with the ID 102 (corresponding to the
.I /mnt
mount point before the
.BR chroot (1)
-was performed.
+was performed).
.\"
.SH VERSIONS
Mount namespaces first appeared in Linux 2.4.19.
@@ -976,7 +1014,7 @@ in the new namespace,
.BR unshare (1)
(since
.I util\-linux
-version 2.27) in turn reverses the step performed by
+ 2.27) in turn reverses the step performed by
.BR systemd (1),
by making all mounts private in the new namespace.
That is,
@@ -1068,7 +1106,8 @@ The above steps, performed in a more privileged mount namespace,
have created a bind mount that
obscures the contents of the shadow password file,
.IR /etc/shadow .
-For security reasons, it should not be possible to unmount
+For security reasons, it should not be possible to
+.BR umount (2)
that mount in a less privileged mount namespace,
since that would reveal the contents of
.IR /etc/shadow .
@@ -1079,7 +1118,9 @@ The new mount namespace will inherit copies of all of the mounts
from the previous mount namespace.
However, those mounts will be locked because the new mount namespace
is less privileged.
-Consequently, an attempt to unmount the mount fails as show
+Consequently, an attempt to
+.BR umount (2)
+the mount fails as show
in the following step:
.IP
.in +4n
@@ -1126,7 +1167,9 @@ makes the original
file once more visible in that namespace.
.IP [4]
Following on from point [3],
-note that it is possible to unmount an entire subtree of mounts that
+note that it is possible to
+.BR umount (2)
+an entire subtree of mounts that
propagated as a unit into a less privileged mount namespace,
as illustrated in the following example.
.IP
@@ -1220,10 +1263,14 @@ ns2# \fBgrep /mnt /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP
.EE
.in
.IP
-While it is not possible to unmount a part of the propagated subtree
+While it is not possible to
+.BR umount (2)
+a part of the propagated subtree
.RI ( /mnt/ppp/y )
in "ns2",
-it is possible to unmount the entire subtree,
+it is possible to
+.BR umount (2)
+the entire subtree,
as shown by the following commands:
.IP
.in +4n
diff --git a/man7/mq_overview.7 b/man7/mq_overview.7
index e623fe222..3d349d372 100644
--- a/man7/mq_overview.7
+++ b/man7/mq_overview.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH MQ_OVERVIEW 7 2022-10-09 "Linux man-pages 6.01"
+.TH mq_overview 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
mq_overview \- overview of POSIX message queues
.SH DESCRIPTION
@@ -97,8 +98,8 @@ mq_unlink(3) mq_unlink(2)
.TE
.RE
.SS Versions
-POSIX message queues have been supported on Linux since kernel 2.6.6.
-Glibc support has been provided since version 2.3.4.
+POSIX message queues have been supported since Linux 2.6.6.
+Glibc support has been provided since glibc 2.3.4.
.SS Kernel configuration
Support for POSIX message queues is configurable via the
.B CONFIG_POSIX_MQUEUE
@@ -136,7 +137,7 @@ value will be the smaller of
.I msg_default
and
.IR msg_max .
-Up until Linux 2.6.28, the default
+Before Linux 2.6.28, the default
.I mq_maxmsg
was 10;
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
@@ -153,7 +154,7 @@ argument given to
The default value for
.I msg_max
is 10.
-The minimum value is 1 (10 in kernels before 2.6.28).
+The minimum value is 1 (10 before Linux 2.6.28).
The upper limit is
.BR HARD_MSGMAX .
The
@@ -168,13 +169,13 @@ The definition of
.B HARD_MSGMAX
has changed across kernel versions:
.RS
-.IP * 3
+.IP \(bu 3
Up to Linux 2.6.32:
.I 131072\~/\~sizeof(void\~*)
-.IP *
-Linux 2.6.33 to 3.4:
+.IP \(bu
+Linux 2.6.33 to Linux 3.4:
.I (32768\~*\~sizeof(void\~*) / 4)
-.IP *
+.IP \(bu
Since Linux 3.5:
.\" commit 5b5c4d1a1440e94994c73dddbad7be0676cd8b9a
65,536
@@ -200,7 +201,7 @@ a new queue's default
value is capped to the
.I msgsize_max
limit.
-Up until Linux 2.6.28, the default
+Before Linux 2.6.28, the default
.I mq_msgsize
was 8192;
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
@@ -217,17 +218,17 @@ argument given to
The default value for
.I msgsize_max
is 8192 bytes.
-The minimum value is 128 (8192 in kernels before 2.6.28).
+The minimum value is 128 (8192 before Linux 2.6.28).
The upper limit for
.I msgsize_max
has varied across kernel versions:
.RS
-.IP * 3
+.IP \(bu 3
Before Linux 2.6.28, the upper limit is
.BR INT_MAX .
-.IP *
-From Linux 2.6.28 to 3.4, the limit is 1,048,576.
-.IP *
+.IP \(bu
+From Linux 2.6.28 to Linux 3.4, the limit is 1,048,576.
+.IP \(bu
Since Linux 3.5, the limit is 16,777,216
.RB ( HARD_MSGSIZEMAX ).
.RE
@@ -344,17 +345,17 @@ System V message queues;
on the other hand POSIX message queues are less widely available
(especially on older systems) than System V message queues.
.PP
-Linux does not currently (2.6.26) support the use of access control
+Linux does not currently (Linux 2.6.26) support the use of access control
lists (ACLs) for POSIX message queues.
.SH BUGS
-In Linux versions 3.5 to 3.14, the kernel imposed a ceiling of 1024
+Since Linux 3.5 to Linux 3.14, the kernel imposed a ceiling of 1024
.RB ( HARD_QUEUESMAX )
on the value to which the
.I queues_max
limit could be raised,
and the ceiling was enforced even for privileged processes.
This ceiling value was removed in Linux 3.14,
-and patches to stable kernels 3.5.x to 3.13.x also removed the ceiling.
+and patches to stable Linux 3.5.x to Linux 3.13.x also removed the ceiling.
.PP
As originally implemented (and documented),
the QSIZE field displayed the total number of (user-supplied)
diff --git a/man7/namespaces.7 b/man7/namespaces.7
index 3b642ba13..b965b9756 100644
--- a/man7/namespaces.7
+++ b/man7/namespaces.7
@@ -1,10 +1,11 @@
+'\" t
.\" Copyright (c) 2013, 2016, 2017 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (c) 2012 by Eric W. Biederman <ebiederm@xmission.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH namespaces 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
namespaces \- overview of Linux namespaces
.SH DESCRIPTION
@@ -310,48 +311,48 @@ The value in this file defines a per-user limit on the number of
uts namespaces that may be created in the user namespace.
.PP
Note the following details about these files:
-.IP * 3
+.IP \(bu 3
The values in these files are modifiable by privileged processes.
-.IP *
+.IP \(bu
The values exposed by these files are the limits for the user namespace
in which the opening process resides.
-.IP *
+.IP \(bu
The limits are per-user.
Each user in the same user namespace
can create namespaces up to the defined limit.
-.IP *
+.IP \(bu
The limits apply to all users, including UID 0.
-.IP *
+.IP \(bu
These limits apply in addition to any other per-namespace
limits (such as those for PID and user namespaces) that may be enforced.
-.IP *
+.IP \(bu
Upon encountering these limits,
.BR clone (2)
and
.BR unshare (2)
fail with the error
.BR ENOSPC .
-.IP *
+.IP \(bu
For the initial user namespace,
the default value in each of these files is half the limit on the number
of threads that may be created
.RI ( /proc/sys/kernel/threads\-max ).
In all descendant user namespaces, the default value in each file is
.BR MAXINT .
-.IP *
+.IP \(bu
When a namespace is created, the object is also accounted
against ancestor namespaces.
More precisely:
.RS
-.IP + 3
+.IP \(bu 3
Each user namespace has a creator UID.
-.IP +
+.IP \(bu
When a namespace is created,
it is accounted against the creator UIDs in each of the
ancestor user namespaces,
and the kernel ensures that the corresponding namespace limit
for the creator UID in the ancestor namespace is not exceeded.
-.IP +
+.IP \(bu
The aforementioned point ensures that creating a new user namespace
cannot be used as a means to escape the limits in force
in the current user namespace.
@@ -364,32 +365,32 @@ the namespace terminates or leaves the namespace.
However, there are a number of other factors that may pin
a namespace into existence even though it has no member processes.
These factors include the following:
-.IP * 3
+.IP \(bu 3
An open file descriptor or a bind mount exists for the corresponding
.IR /proc/ pid /ns/*
file.
-.IP *
+.IP \(bu
The namespace is hierarchical (i.e., a PID or user namespace),
and has a child namespace.
-.IP *
+.IP \(bu
It is a user namespace that owns one or more nonuser namespaces.
-.IP *
+.IP \(bu
It is a PID namespace,
and there is a process that refers to the namespace via a
.IR /proc/ pid /ns/pid_for_children
symbolic link.
-.IP *
+.IP \(bu
It is a time namespace,
and there is a process that refers to the namespace via a
.IR /proc/ pid /ns/time_for_children
symbolic link.
-.IP *
+.IP \(bu
It is an IPC namespace, and a corresponding mount of an
.I mqueue
filesystem (see
.BR mq_overview (7))
refers to this namespace.
-.IP *
+.IP \(bu
It is a PID namespace, and a corresponding mount of a
.BR proc (5)
filesystem refers to this namespace.
diff --git a/man7/netdevice.7 b/man7/netdevice.7
index 12b652fa0..9005fb415 100644
--- a/man7/netdevice.7
+++ b/man7/netdevice.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\"
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
@@ -14,7 +15,7 @@
.\" Modified, 2011-11-02, <bidulock@openss7.org>, added many basic
.\" but missing ioctls, such as SIOCGIFADDR.
.\"
-.TH NETDEVICE 7 2022-10-09 "Linux man-pages 6.01"
+.TH netdevice 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
netdevice \- low-level access to Linux network devices
.SH SYNOPSIS
@@ -358,7 +359,7 @@ or
structures,
.B EFAULT
will be returned.
-.\" Slaving isn't supported in 2.2
+.\" Slaving isn't supported in Linux 2.2
.\" .
.\" .TP
.\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
diff --git a/man7/netlink.7 b/man7/netlink.7
index 49b766770..95d847e3d 100644
--- a/man7/netlink.7
+++ b/man7/netlink.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (c) 1998 by Andi Kleen.
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
@@ -5,7 +6,7 @@
.\" Based on the original comments from Alexey Kuznetsov
.\" Modified 2005-12-27 by Hasso Tepper <hasso@estpak.ee>
.\" $Id: netlink.7,v 1.8 2000/06/22 13:23:00 ak Exp $
-.TH NETLINK 7 2022-10-09 "Linux man-pages 6.01"
+.TH netlink 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
netlink \- communication between kernel and user space (AF_NETLINK)
.SH SYNOPSIS
@@ -47,7 +48,7 @@ neighbor setups, queueing disciplines, traffic classes, and
packet classifiers (see
.BR rtnetlink (7)).
.TP
-.BR NETLINK_W1 " (Linux 2.6.13 to 2.16.17)"
+.BR NETLINK_W1 " (Linux 2.6.13 to Linux 2.16.17)"
Messages from 1-wire subsystem.
.TP
.B NETLINK_USERSOCK
@@ -104,7 +105,7 @@ See
(or
.I /Documentation/connector/connector.*
.\" commit baa293e9544bea71361950d071579f0e4d5713ed
-in kernel 5.2 and earlier)
+in Linux 5.2 and earlier)
in the Linux kernel source tree for further information.
.TP
.BR NETLINK_NETFILTER " (since Linux 2.6.14)"
diff --git a/man7/network_namespaces.7 b/man7/network_namespaces.7
index d2a4f7106..ebb8298dc 100644
--- a/man7/network_namespaces.7
+++ b/man7/network_namespaces.7
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH NETWORK_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH network_namespaces 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
network_namespaces \- overview of Linux network namespaces
.SH DESCRIPTION
@@ -27,7 +27,8 @@ network namespace.
When a network namespace is freed
(i.e., when the last process in the namespace terminates),
its physical network devices are moved back to the
-initial network namespace (not to the parent of the process).
+initial network namespace
+(not to the namespace of the parent of the process).
.PP
A virtual network
.RB ( veth (4))
diff --git a/man7/nptl.7 b/man7/nptl.7
index 8a56a1c39..87f82c979 100644
--- a/man7/nptl.7
+++ b/man7/nptl.7
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH NPTL 7 2022-10-09 "Linux man-pages 6.01"
+.TH nptl 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nptl \- Native POSIX Threads Library
.SH DESCRIPTION
@@ -26,10 +26,10 @@ which might interfere with the operation of the NPTL implementation,
various glibc library functions and system call wrapper functions
attempt to hide these signals from applications,
as follows:
-.IP * 3
+.IP \(bu 3
.B SIGRTMIN
is defined with the value 34 (rather than 32).
-.IP *
+.IP \(bu
The
.BR sigwaitinfo (2),
.BR sigtimedwait (2),
@@ -37,13 +37,13 @@ and
.BR sigwait (3)
interfaces silently ignore requests to wait for these two signals
if they are specified in the signal set argument of these calls.
-.IP *
+.IP \(bu
The
.BR sigprocmask (2)
and
.BR pthread_sigmask (3)
interfaces silently ignore attempts to block these two signals.
-.IP *
+.IP \(bu
The
.BR sigaction (2),
.BR pthread_kill (3),
@@ -52,7 +52,7 @@ and
interfaces fail with the error
.B EINVAL
(indicating an invalid signal number) if these signals are specified.
-.IP *
+.IP \(bu
.BR sigfillset (3)
does not include these two signals when it creates a full signal set.
.\"
diff --git a/man7/numa.7 b/man7/numa.7
index 8b39a9ff5..aae4b7e0e 100644
--- a/man7/numa.7
+++ b/man7/numa.7
@@ -6,7 +6,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH NUMA 7 2022-10-09 "Linux man-pages 6.01"
+.TH numa 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
numa \- overview of Non-Uniform Memory Architecture
.SH DESCRIPTION
diff --git a/man7/operator.7 b/man7/operator.7
index 5d909c2b3..321dc7fac 100644
--- a/man7/operator.7
+++ b/man7/operator.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1989, 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -13,7 +14,7 @@
.\"
.\" 2007-12-08, mtk, Converted from mdoc to man macros
.\"
-.TH OPERATOR 7 2022-10-09 "Linux man-pages 6.01"
+.TH operator 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
operator \- C operator precedence and order of evaluation
.SH DESCRIPTION
diff --git a/man7/packet.7 b/man7/packet.7
index 55c7136ca..2bcf68464 100644
--- a/man7/packet.7
+++ b/man7/packet.7
@@ -9,7 +9,7 @@
.\"
.\" $Id: packet.7,v 1.13 2000/08/14 08:03:45 ak Exp $
.\"
-.TH PACKET 7 2022-10-09 "Linux man-pages 6.01"
+.TH packet 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
packet \- packet interface on device level
.SH SYNOPSIS
@@ -136,14 +136,14 @@ struct sockaddr_ll {
.in
.PP
The fields of this structure are as follows:
-.IP * 3
+.TP
.I sll_protocol
is the standard ethernet protocol type in network byte order as defined
in the
.I <linux/if_ether.h>
include file.
It defaults to the socket's protocol.
-.IP *
+.TP
.I sll_ifindex
is the interface index of the interface
(see
@@ -153,7 +153,7 @@ is the interface index of the interface
is an ARP type as defined in the
.I <linux/if_arp.h>
include file.
-.IP *
+.TP
.I sll_pkttype
contains the packet type.
Valid types are
@@ -170,9 +170,9 @@ in promiscuous mode, and
for a packet originating from the local host that is looped back to a packet
socket.
These types make sense only for receiving.
-.IP *
+.TP
.I sll_addr
-and
+.TQ
.I sll_halen
contain the physical-layer (e.g., IEEE 802.3) address and its length.
The exact interpretation depends on the device.
@@ -297,7 +297,7 @@ The group is deleted when the last socket is closed.
Fanout supports multiple algorithms to spread traffic between sockets,
as follows:
.RS
-.IP * 3
+.IP \(bu 3
The default mode,
.BR PACKET_FANOUT_HASH ,
sends packets from the same flow to the same socket to maintain
@@ -305,21 +305,21 @@ per-flow ordering.
For each packet, it chooses a socket by taking the packet flow hash
modulo the number of sockets in the group, where a flow hash is a hash
over network-layer address and optional transport-layer port fields.
-.IP *
+.IP \(bu
The load-balance mode
.B PACKET_FANOUT_LB
implements a round-robin algorithm.
-.IP *
+.IP \(bu
.B PACKET_FANOUT_CPU
selects the socket based on the CPU that the packet arrived on.
-.IP *
+.IP \(bu
.B PACKET_FANOUT_ROLLOVER
processes all data on a single socket, moving to the next when one
becomes backlogged.
-.IP *
+.IP \(bu
.B PACKET_FANOUT_RND
selects the socket using a pseudo-random number generator.
-.IP *
+.IP \(bu
.B PACKET_FANOUT_QM
.\" commit 2d36097d26b5991d71a2cf4a20c1a158f0f1bfcd
(available since Linux 3.14)
diff --git a/man7/path_resolution.7 b/man7/path_resolution.7
index b28aee288..d707ed1a6 100644
--- a/man7/path_resolution.7
+++ b/man7/path_resolution.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PATH_RESOLUTION 7 2022-10-09 "Linux man-pages 6.01"
+.TH path_resolution 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
path_resolution \- how a pathname is resolved to a file
.SH DESCRIPTION
@@ -103,7 +103,7 @@ exceeded ("Too many levels of symbolic links").
As currently implemented on Linux, the maximum number
.\" MAXSYMLINKS is 40
of symbolic links that will be followed while resolving a pathname is 40.
-In kernels before 2.6.18, the limit on the recursion depth was 5.
+Before Linux 2.6.18, the limit on the recursion depth was 5.
Starting with Linux 2.6.18, this limit
.\" MAX_NESTED_LINKS
was raised to 8.
@@ -142,7 +142,9 @@ actually present in the physical filesystem.
.PP
One cannot walk up past the root: "/.." is the same as "/".
.SS Mount points
-After a "mount dev path" command, the pathname "path" refers to
+After a
+.I mount dev path
+command, the pathname "path" refers to
the root of the filesystem hierarchy on the device "dev", and no
longer to whatever it referred to earlier.
.PP
diff --git a/man7/persistent-keyring.7 b/man7/persistent-keyring.7
index a618bf060..e8cde0378 100644
--- a/man7/persistent-keyring.7
+++ b/man7/persistent-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH PERSISTENT-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH persistent-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
persistent-keyring \- per-user persistent keyring
.SH DESCRIPTION
diff --git a/man7/pid_namespaces.7 b/man7/pid_namespaces.7
index aff0e136d..f84f09aa1 100644
--- a/man7/pid_namespaces.7
+++ b/man7/pid_namespaces.7
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH PID_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH pid_namespaces 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pid_namespaces \- overview of Linux PID namespaces
.SH DESCRIPTION
diff --git a/man7/pipe.7 b/man7/pipe.7
index 1f961699d..1e6d3f0a8 100644
--- a/man7/pipe.7
+++ b/man7/pipe.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PIPE 7 2022-10-09 "Linux man-pages 6.01"
+.TH pipe 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pipe \- overview of pipes and FIFOs
.SH DESCRIPTION
@@ -110,7 +110,7 @@ an application should be designed so that a reading process consumes data
as soon as it is available,
so that a writing process does not remain blocked.
.PP
-In Linux versions before 2.6.11, the capacity of a pipe was the same as
+Before Linux 2.6.11, the capacity of a pipe was the same as
the system page size (e.g., 4096 bytes on i386).
Since Linux 2.6.11, the pipe capacity is 16 pages
(i.e., 65,536 bytes in a system with a page size of 4096 bytes).
@@ -315,7 +315,7 @@ The target for delivery of signals must be set using the
command.
On Linux,
.B O_ASYNC
-is supported for pipes and FIFOs only since kernel 2.6.
+is supported for pipes and FIFOs only since Linux 2.6.
.SS Portability notes
On some systems (but not Linux), pipes are bidirectional:
data can be transmitted in both directions between the pipe ends.
@@ -334,7 +334,7 @@ operation to change a pipe's capacity:
.\" These bugs where remedied by a series of patches, in particular,
.\" commit b0b91d18e2e97b741b294af9333824ecc3fadfd8 and
.\" commit a005ca0e6813e1d796a7422a7e31d8b8d6555df1
-.IP (1) 5
+.IP (a) 5
When increasing the pipe capacity, the checks against the soft and
hard limits were made against existing consumption,
and excluded the memory required for the increased pipe capacity.
@@ -344,7 +344,7 @@ memory used by the user for pipes (possibly far) over a limit.
.IP
Starting with Linux 4.9,
the limit checking includes the memory required for the new pipe capacity.
-.IP (2)
+.IP (b)
The limit checks were performed even when the new pipe capacity was
less than the existing pipe capacity.
This could lead to problems if a user set a large pipe capacity,
@@ -354,22 +354,23 @@ no longer decrease the pipe capacity.
Starting with Linux 4.9, checks against the limits
are performed only when increasing a pipe's capacity;
an unprivileged user can always decrease a pipe's capacity.
-.IP (3)
+.IP (c)
The accounting and checking against the limits were done as follows:
+.IP
.RS
.PD 0
-.IP (a) 4
+.IP (1) 5
Test whether the user has exceeded the limit.
-.IP (b)
+.IP (2)
Make the new pipe buffer allocation.
-.IP (c)
+.IP (3)
Account new allocation against the limits.
.PD
.RE
.IP
This was racey.
-Multiple processes could pass point (a) simultaneously,
-and then allocate pipe buffers that were accounted for only in step (c),
+Multiple processes could pass point (1) simultaneously,
+and then allocate pipe buffers that were accounted for only in step (3),
with the result that the user's pipe buffer
allocation could be pushed over the limit.
.IP
@@ -377,7 +378,7 @@ Starting with Linux 4.9,
the accounting step is performed before doing the allocation,
and the operation fails if the limit would be exceeded.
.PP
-Before Linux 4.9, bugs similar to points (1) and (3) could also occur
+Before Linux 4.9, bugs similar to points (a) and (c) could also occur
when the kernel allocated memory for a new pipe buffer;
that is, when calling
.BR pipe (2)
diff --git a/man7/pkeys.7 b/man7/pkeys.7
index 55600c2e0..6b372c24c 100644
--- a/man7/pkeys.7
+++ b/man7/pkeys.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PKEYS 7 2022-10-09 "Linux man-pages 6.01"
+.TH pkeys 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
pkeys \- overview of Memory Protection Keys
.SH DESCRIPTION
diff --git a/man7/posixoptions.7 b/man7/posixoptions.7
index 625f9b366..381b4c07d 100644
--- a/man7/posixoptions.7
+++ b/man7/posixoptions.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH POSIXOPTIONS 7 2022-10-09 "Linux man-pages 6.01"
+.TH posixoptions 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
posixoptions \- optional parts of the POSIX standard
.SH DESCRIPTION
diff --git a/man7/process-keyring.7 b/man7/process-keyring.7
index cbe283214..b142408c7 100644
--- a/man7/process-keyring.7
+++ b/man7/process-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH PROCESS-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH process-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
process-keyring \- per-process shared keyring
.SH DESCRIPTION
diff --git a/man7/pthreads.7 b/man7/pthreads.7
index f9c080bb0..bdb3e883f 100644
--- a/man7/pthreads.7
+++ b/man7/pthreads.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTHREADS 7 2022-10-09 "Linux man-pages 6.01"
+.TH PTHREADS 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pthreads \- POSIX threads
.SH DESCRIPTION
@@ -15,44 +15,44 @@ but each thread has its own stack (automatic variables).
.PP
POSIX.1 also requires that threads share a range of other attributes
(i.e., these attributes are process-wide rather than per-thread):
-.IP \- 3
+.IP \(bu 3
process ID
-.IP \- 3
+.IP \(bu
parent process ID
-.IP \- 3
+.IP \(bu
process group ID and session ID
-.IP \- 3
+.IP \(bu
controlling terminal
-.IP \- 3
+.IP \(bu
user and group IDs
-.IP \- 3
+.IP \(bu
open file descriptors
-.IP \- 3
+.IP \(bu
record locks (see
.BR fcntl (2))
-.IP \- 3
+.IP \(bu
signal dispositions
-.IP \- 3
+.IP \(bu
file mode creation mask
.RB ( umask (2))
-.IP \- 3
+.IP \(bu
current directory
.RB ( chdir (2))
and
root directory
.RB ( chroot (2))
-.IP \- 3
+.IP \(bu
interval timers
.RB ( setitimer (2))
and POSIX timers
.RB ( timer_create (2))
-.IP \- 3
+.IP \(bu
nice value
.RB ( setpriority (2))
-.IP \- 3
+.IP \(bu
resource limits
.RB ( setrlimit (2))
-.IP \- 3
+.IP \(bu
measurements of the consumption of CPU time
.RB ( times (2))
and resources
@@ -60,29 +60,29 @@ and resources
.PP
As well as the stack, POSIX.1 specifies that various other
attributes are distinct for each thread, including:
-.IP \- 3
+.IP \(bu 3
thread ID (the
.I pthread_t
data type)
-.IP \- 3
+.IP \(bu
signal mask
.RB ( pthread_sigmask (3))
-.IP \- 3
+.IP \(bu
the
.I errno
variable
-.IP \- 3
+.IP \(bu
alternate signal stack
.RB ( sigaltstack (2))
-.IP \- 3
+.IP \(bu
real-time scheduling policy and priority
.RB ( sched (7))
.PP
The following Linux-specific features are also per-thread:
-.IP \- 3
+.IP \(bu 3
capabilities (see
.BR capabilities (7))
-.IP \- 3
+.IP \(bu
CPU affinity
.RB ( sched_setaffinity (2))
.SS Pthreads function return values
@@ -681,14 +681,14 @@ thread joining, and so on) are implemented using the Linux
system call.
.SS LinuxThreads
The notable features of this implementation are the following:
-.IP \- 3
+.IP \(bu 3
In addition to the main (initial) thread,
and the threads that the program creates using
.BR pthread_create (3),
the implementation creates a "manager" thread.
This thread handles thread creation and termination.
(Problems can result if this thread is inadvertently killed.)
-.IP \- 3
+.IP \(bu
Signals are used internally by the implementation.
On Linux 2.2 and later, the first three real-time signals are used
(see also
@@ -700,7 +700,7 @@ and
are used.
Applications must avoid the use of whichever set of signals is
employed by the implementation.
-.IP \- 3
+.IP \(bu
Threads do not share process IDs.
(In effect, LinuxThreads threads are implemented as processes which share
more information than usual, but which do not share a common process ID.)
@@ -710,11 +710,11 @@ are visible as separate processes using
.PP
The LinuxThreads implementation deviates from the POSIX.1
specification in a number of ways, including the following:
-.IP \- 3
+.IP \(bu 3
Calls to
.BR getpid (2)
return a different value in each thread.
-.IP \- 3
+.IP \(bu
Calls to
.BR getppid (2)
in threads other than the main thread return the process ID of the
@@ -723,7 +723,7 @@ manager thread; instead
in these threads should return the same value as
.BR getppid (2)
in the main thread.
-.IP \- 3
+.IP \(bu
When one thread creates a new child process using
.BR fork (2),
any thread should be able to
@@ -733,39 +733,39 @@ However, the implementation allows only the thread that
created the child to
.BR wait (2)
on it.
-.IP \- 3
+.IP \(bu
When a thread calls
.BR execve (2),
all other threads are terminated (as required by POSIX.1).
However, the resulting process has the same PID as the thread that called
.BR execve (2):
it should have the same PID as the main thread.
-.IP \- 3
+.IP \(bu
Threads do not share user and group IDs.
This can cause complications with set-user-ID programs and
can cause failures in Pthreads functions if an application
changes its credentials using
.BR seteuid (2)
or similar.
-.IP \- 3
+.IP \(bu
Threads do not share a common session ID and process group ID.
-.IP \- 3
+.IP \(bu
Threads do not share record locks created using
.BR fcntl (2).
-.IP \- 3
+.IP \(bu
The information returned by
.BR times (2)
and
.BR getrusage (2)
is per-thread rather than process-wide.
-.IP \- 3
+.IP \(bu
Threads do not share semaphore undo values (see
.BR semop (2)).
-.IP \- 3
+.IP \(bu
Threads do not share interval timers.
-.IP \- 3
+.IP \(bu
Threads do not share a common nice value.
-.IP \- 3
+.IP \(bu
POSIX.1 distinguishes the notions of signals that are directed
to the process as a whole and signals that are directed to individual
threads.
@@ -775,7 +775,7 @@ for example) should be handled by a single,
arbitrarily selected thread within the process.
LinuxThreads does not support the notion of process-directed signals:
signals may be sent only to specific threads.
-.IP \- 3
+.IP \(bu
Threads have distinct alternate signal stack settings.
However, a new thread's alternate signal stack settings
are copied from the thread that created it, so that
@@ -797,7 +797,7 @@ See
for further details.
.PP
NPTL still has at least one nonconformance with POSIX.1:
-.IP \- 3
+.IP \(bu 3
Threads do not share a common nice value.
.\" FIXME . bug report filed for NPTL nice nonconformance
.\" http://bugzilla.kernel.org/show_bug.cgi?id=6258
@@ -806,34 +806,34 @@ Threads do not share a common nice value.
.\" Monitor this to see if it makes it into mainline.
.PP
Some NPTL nonconformances occur only with older kernels:
-.IP \- 3
+.IP \(bu 3
The information returned by
.BR times (2)
and
.BR getrusage (2)
-is per-thread rather than process-wide (fixed in kernel 2.6.9).
-.IP \- 3
-Threads do not share resource limits (fixed in kernel 2.6.10).
-.IP \- 3
-Threads do not share interval timers (fixed in kernel 2.6.12).
-.IP \- 3
+is per-thread rather than process-wide (fixed in Linux 2.6.9).
+.IP \(bu
+Threads do not share resource limits (fixed in Linux 2.6.10).
+.IP \(bu
+Threads do not share interval timers (fixed in Linux 2.6.12).
+.IP \(bu
Only the main thread is permitted to start a new session using
.BR setsid (2)
-(fixed in kernel 2.6.16).
-.IP \- 3
+(fixed in Linux 2.6.16).
+.IP \(bu
Only the main thread is permitted to make the process into a
process group leader using
.BR setpgid (2)
-(fixed in kernel 2.6.16).
-.IP \- 3
+(fixed in Linux 2.6.16).
+.IP \(bu
Threads have distinct alternate signal stack settings.
However, a new thread's alternate signal stack settings
are copied from the thread that created it, so that
the threads initially share an alternate signal stack
-(fixed in kernel 2.6.16).
+(fixed in Linux 2.6.16).
.PP
Note the following further points about the NPTL implementation:
-.IP \- 3
+.IP \(bu 3
If the stack size soft resource limit (see the description of
.B RLIMIT_STACK
in
diff --git a/man7/pty.7 b/man7/pty.7
index 5a9eb866b..edbdb2a7a 100644
--- a/man7/pty.7
+++ b/man7/pty.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH PTY 7 2022-10-09 "Linux man-pages 6.01"
+.TH pty 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
pty \- pseudoterminal interfaces
.SH DESCRIPTION
@@ -47,7 +47,7 @@ pseudoterminals.
System V-style terminals are commonly called UNIX 98 pseudoterminals
on Linux systems.
.PP
-Since kernel 2.6.4, BSD-style pseudoterminals are considered deprecated:
+Since Linux 2.6.4, BSD-style pseudoterminals are considered deprecated:
support can be disabled when building the kernel by disabling the
.B CONFIG_LEGACY_PTYS
option.
@@ -74,12 +74,12 @@ in a call to
.PP
The Linux kernel imposes a limit on the number of available
UNIX 98 pseudoterminals.
-In kernels up to and including 2.6.3, this limit is configured
+Up to and including Linux 2.6.3, this limit is configured
at kernel compilation time
.RB ( CONFIG_UNIX98_PTYS ),
and the permitted number of pseudoterminals can be up to 2048,
with a default setting of 256.
-Since kernel 2.6.4, the limit is dynamically adjustable via
+Since Linux 2.6.4, the limit is dynamically adjustable via
.IR /proc/sys/kernel/pty/max ,
and a corresponding file,
.IR /proc/sys/kernel/pty/nr ,
diff --git a/man7/queue.7 b/man7/queue.7
index 4094ebb59..adee72801 100644
--- a/man7/queue.7
+++ b/man7/queue.7
@@ -1,11 +1,11 @@
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
-.\" and Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" and Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\"
-.TH QUEUE 7 2022-10-09 "Linux man-pages 6.01"
+.TH queue 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
queue \- implementations of linked lists and queues
.SH DESCRIPTION
@@ -13,25 +13,30 @@ The
.I <sys/queue.h>
header file provides a set of macros that
define and operate on the following data structures:
-.IP * 3
-singly linked lists (SLIST)
-.IP *
-doubly linked lists (LIST)
-.IP *
-singly linked tail queues (STAILQ)
-.IP *
-doubly linked tail queues (TAILQ)
-.IP *
-doubly linked circular queues (CIRCLEQ)
+.TP
+SLIST
+singly linked lists
+.TP
+LIST
+doubly linked lists
+.TP
+STAILQ
+singly linked tail queues
+.TP
+TAILQ
+doubly linked tail queues
+.TP
+CIRCLEQ
+doubly linked circular queues
.PP
All structures support the following functionality:
-.IP * 3
+.IP \(bu 3
Insertion of a new entry at the head of the list.
-.IP *
+.IP \(bu
Insertion of a new entry after any element in the list.
-.IP *
+.IP \(bu
O(1) removal of an entry from the head of the list.
-.IP *
+.IP \(bu
Forward traversal through the list.
.\".IP *
.\" Swapping the contents of two lists.
@@ -46,21 +51,21 @@ Singly linked lists are ideal for applications with
large datasets and few or no removals,
or for implementing a LIFO queue.
Singly linked lists add the following functionality:
-.IP * 3
+.IP \(bu 3
O(n) removal of any entry in the list.
.SS Singly linked tail queues (STAILQ)
Singly linked tail queues add the following functionality:
-.IP * 3
+.IP \(bu 3
Entries can be added at the end of a list.
-.IP *
+.IP \(bu
O(n) removal of any entry in the list.
-.IP *
+.IP \(bu
They may be concatenated.
.PP
However:
-.IP * 3
+.IP \(bu 3
All list insertions must specify the head of the list.
-.IP *
+.IP \(bu
Each head entry requires two pointers rather than one.
.PP
Singly linked tail queues are ideal for applications with
@@ -69,45 +74,45 @@ or for implementing a FIFO queue.
.SS Doubly linked data structures
All doubly linked types of data structures (lists and tail queues)
additionally allow:
-.IP * 3
+.IP \(bu 3
Insertion of a new entry before any element in the list.
-.IP *
+.IP \(bu
O(1) removal of any entry in the list.
.PP
However:
-.IP * 3
+.IP \(bu 3
Each element requires two pointers rather than one.
.SS Doubly linked lists (LIST)
Linked lists are the simplest of the doubly linked data structures.
They add the following functionality over the above:
-.IP * 3
+.IP \(bu 3
They may be traversed backwards.
.PP
However:
-.IP * 3
+.IP \(bu 3
To traverse backwards, an entry to begin the traversal and the list in
which it is contained must be specified.
.SS Doubly linked tail queues (TAILQ)
Tail queues add the following functionality:
-.IP * 3
+.IP \(bu 3
Entries can be added at the end of a list.
-.IP *
+.IP \(bu
They may be traversed backwards, from tail to head.
-.IP *
+.IP \(bu
They may be concatenated.
.PP
However:
-.IP * 3
+.IP \(bu 3
All list insertions and removals must specify the head of the list.
-.IP *
+.IP \(bu
Each head entry requires two pointers rather than one.
.SS Doubly linked circular queues (CIRCLEQ)
Circular queues add the following functionality over the above:
-.IP * 3
+.IP \(bu 3
The first and last entries are connected.
.PP
However:
-.IP * 3
+.IP \(bu 3
The termination condition for traversal is more complex.
.SH STANDARDS
Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008.
diff --git a/man7/random.7 b/man7/random.7
index 5038b33b8..1180e6e0a 100644
--- a/man7/random.7
+++ b/man7/random.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (C) 2008, George Spelvin <linux@horizon.com>,
.\" and Copyright (C) 2008, Matt Mackall <mpm@selenic.com>
.\" and Copyright (C) 2016, Laurent Georget <laurent.georget@supelec.fr>
@@ -8,7 +9,7 @@
.\" The following web page is quite informative:
.\" http://www.2uo.de/myths-about-urandom/
.\"
-.TH RANDOM 7 2022-10-09 "Linux man-pages 6.01"
+.TH random 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
random \- overview of interfaces for obtaining randomness
.SH DESCRIPTION
@@ -18,7 +19,7 @@ a cryptographically secure pseudorandom number generator (CSPRNG).
It is designed for security, rather than speed.
.PP
The following interfaces provide access to output from the kernel CSPRNG:
-.IP * 3
+.IP \(bu 3
The
.I /dev/urandom
and
@@ -27,7 +28,7 @@ devices, both described in
.BR random (4).
These devices have been present on Linux since early times,
and are also available on many other systems.
-.IP *
+.IP \(bu
The Linux-specific
.BR getrandom (2)
system call, available since Linux 3.17.
diff --git a/man7/raw.7 b/man7/raw.7
index b38f9d078..9f3c3bf9c 100644
--- a/man7/raw.7
+++ b/man7/raw.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\"
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
@@ -9,7 +10,7 @@
.\"
.\" $Id: raw.7,v 1.6 1999/06/05 10:32:08 freitag Exp $
.\"
-.TH RAW 7 2022-10-09 "Linux man-pages 6.01"
+.TH raw 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
raw \- Linux IPv4 raw sockets
.SH SYNOPSIS
diff --git a/man7/regex.7 b/man7/regex.7
index f2fa2fe0c..028ff314a 100644
--- a/man7/regex.7
+++ b/man7/regex.7
@@ -1,3 +1,4 @@
+'\" t
.\" From Henry Spencer's regex package (as found in the apache
.\" distribution). The package carries the following copyright:
.\"
@@ -34,7 +35,7 @@
.\"
.ie t .ds dg \(dg
.el .ds dg (!)
-.TH REGEX 7 2022-10-09 "Linux man-pages 6.01"
+.TH regex 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
regex \- POSIX.2 regular expressions
.SH DESCRIPTION
diff --git a/man7/rtld-audit.7 b/man7/rtld-audit.7
index f908ed9ce..da70b51d7 100644
--- a/man7/rtld-audit.7
+++ b/man7/rtld-audit.7
@@ -5,7 +5,7 @@
.\"
.\" 2009-01-12, mtk, Created
.\"
-.TH RTLD-AUDIT 7 2022-10-09 "Linux man-pages 6.01"
+.TH RTLD-AUDIT 7 2022-10-29 "Linux man-pages 6.02"
.SH NAME
rtld-audit \- auditing API for the dynamic linker
.SH SYNOPSIS
@@ -464,11 +464,11 @@ in the chapter
.SH NOTES
Note the following differences from the Solaris dynamic linker
auditing API:
-.IP * 3
+.IP \(bu 3
The Solaris
.BR la_objfilter ()
interface is not supported by the GNU implementation.
-.IP *
+.IP \(bu
The Solaris
.BR la_symbind32 ()
and
@@ -476,7 +476,7 @@ and
functions do not provide a
.I symname
argument.
-.IP *
+.IP \(bu
The Solaris
.BR la_pltexit ()
function does not provide
diff --git a/man7/rtnetlink.7 b/man7/rtnetlink.7
index 7a71dafcc..ed347ee98 100644
--- a/man7/rtnetlink.7
+++ b/man7/rtnetlink.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\"
.\" %%%LICENSE_START(VERBATIM_ONE_PARA)
@@ -11,7 +12,7 @@
.\" help from Matthew Wilcox.
.\" $Id: rtnetlink.7,v 1.8 2000/01/22 01:55:04 freitag Exp $
.\"
-.TH RTNETLINK 7 2022-10-09 "Linux man-pages 6.01"
+.TH rtnetlink 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
rtnetlink \- Linux routing socket
.SH SYNOPSIS
@@ -117,7 +118,7 @@ in Linux 2.4 and earlier).
Add, remove, or receive information about an IP address associated with
an interface.
In Linux 2.2, an interface can carry multiple IP addresses,
-this replaces the alias device concept in 2.0.
+this replaces the alias device concept in Linux 2.0.
In Linux 2.2, these messages
support IPv4 and IPv6 addresses.
They contain an
diff --git a/man7/sched.7 b/man7/sched.7
index b866df3c5..6137bea5e 100644
--- a/man7/sched.7
+++ b/man7/sched.7
@@ -10,7 +10,7 @@
.\"
.\" Worth looking at: http://rt.wiki.kernel.org/index.php
.\"
-.TH SCHED 7 2022-10-09 "Linux man-pages 6.01"
+.TH sched 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sched \- overview of CPU scheduling
.SH DESCRIPTION
@@ -137,15 +137,15 @@ it will always immediately preempt any currently running
algorithm without time slicing.
For threads scheduled under the
\fBSCHED_FIFO\fP policy, the following rules apply:
-.IP 1) 3
+.IP \(bu 3
A running \fBSCHED_FIFO\fP thread that has been preempted by another thread of
higher priority will stay at the head of the list for its priority and
will resume execution as soon as all threads of higher priority are
blocked again.
-.IP 2)
+.IP \(bu
When a blocked \fBSCHED_FIFO\fP thread becomes runnable, it
will be inserted at the end of the list for its priority.
-.IP 3)
+.IP \(bu
If a call to
.BR sched_setscheduler (2),
.BR sched_setparam (2),
@@ -160,15 +160,15 @@ thread identified by
the effect on the thread's position in the list depends on
the direction of the change to threads priority:
.RS
-.IP \(bu 3
+.IP (a) 5
If the thread's priority is raised,
it is placed at the end of the list for its new priority.
As a consequence,
it may preempt a currently running thread with the same priority.
-.IP \(bu
+.IP (b)
If the thread's priority is unchanged,
its position in the run list is unchanged.
-.IP \(bu
+.IP (c)
If the thread's priority is lowered,
it is placed at the front of the list for its new priority.
.RE
@@ -178,9 +178,9 @@ changes to a thread's priority (or policy) using any mechanism other than
.BR pthread_setschedprio (3)
should result in the thread being placed at the end of
the list for its priority.
-.\" In 2.2.x and 2.4.x, the thread is placed at the front of the queue
-.\" In 2.0.x, the Right Thing happened: the thread went to the back -- MTK
-.IP 4)
+.\" In Linux 2.2.x and Linux 2.4.x, the thread is placed at the front of the queue
+.\" In Linux 2.0.x, the Right Thing happened: the thread went to the back -- MTK
+.IP \(bu
A thread calling
.BR sched_yield (2)
will be put at the end of the list.
@@ -213,7 +213,7 @@ retrieved using
.\" by the process nice value -- MTK
.\"
.SS SCHED_DEADLINE: Sporadic task model deadline scheduling
-Since version 3.14, Linux provides a deadline scheduling policy
+Since Linux 3.14, Linux provides a deadline scheduling policy
.RB ( SCHED_DEADLINE ).
This policy is currently implemented using
GEDF (Global Earliest Deadline First)
@@ -421,16 +421,16 @@ The range of the nice value
varies across UNIX systems.
On modern Linux, the range is \-20 (high priority) to +19 (low priority).
On some other systems, the range is \-20..20.
-Very early Linux kernels (Before Linux 2.0) had the range \-infinity..15.
+Very early Linux kernels (before Linux 2.0) had the range \-infinity..15.
.\" Linux before 1.3.36 had \-infinity..15.
-.\" Since kernel 1.3.43, Linux has the range \-20..19.
+.\" Since Linux 1.3.43, Linux has the range \-20..19.
.PP
The degree to which the nice value affects the relative scheduling of
.B SCHED_OTHER
processes likewise varies across UNIX systems and
across Linux kernel versions.
.PP
-With the advent of the CFS scheduler in kernel 2.6.23,
+With the advent of the CFS scheduler in Linux 2.6.23,
Linux adopted an algorithm that causes
relative differences in nice values to have a much stronger effect.
In the current implementation, each unit of difference in the
@@ -492,7 +492,7 @@ When this flag is set, children created by
.BR fork (2)
do not inherit privileged scheduling policies.
The reset-on-fork flag can be set by either:
-.IP * 3
+.IP \(bu 3
ORing the
.B SCHED_RESET_ON_FORK
flag into the
@@ -501,7 +501,7 @@ argument when calling
.BR sched_setscheduler (2)
(since Linux 2.6.32);
or
-.IP *
+.IP \(bu
specifying the
.B SCHED_FLAG_RESET_ON_FORK
flag in
@@ -524,7 +524,7 @@ by creating multiple child processes.
.PP
More precisely, if the reset-on-fork flag is set,
the following rules apply for subsequently created children:
-.IP * 3
+.IP \(bu 3
If the calling thread has a scheduling policy of
.B SCHED_FIFO
or
@@ -532,7 +532,7 @@ or
the policy is reset to
.B SCHED_OTHER
in child processes.
-.IP *
+.IP \(bu
If the calling process has a negative nice value,
the nice value is reset to zero in child processes.
.PP
@@ -544,7 +544,7 @@ This flag is disabled in child processes created by
.BR fork (2).
.\"
.SS Privileges and resource limits
-In Linux kernels before 2.6.12, only privileged
+Before Linux 2.6.12, only privileged
.RB ( CAP_SYS_NICE )
threads can set a nonzero static priority (i.e., set a real-time
scheduling policy).
@@ -571,7 +571,7 @@ and
.B SCHED_FIFO
policies.
The rules for changing scheduling policy and priority are as follows:
-.IP * 3
+.IP \(bu 3
If an unprivileged thread has a nonzero
.B RLIMIT_RTPRIO
soft limit, then it can change its scheduling policy and priority,
@@ -579,26 +579,26 @@ subject to the restriction that the priority cannot be set to a
value higher than the maximum of its current priority and its
.B RLIMIT_RTPRIO
soft limit.
-.IP *
+.IP \(bu
If the
.B RLIMIT_RTPRIO
soft limit is 0, then the only permitted changes are to lower the priority,
or to switch to a non-real-time policy.
-.IP *
+.IP \(bu
Subject to the same rules,
another unprivileged thread can also make these changes,
as long as the effective user ID of the thread making the change
matches the real or effective user ID of the target thread.
-.IP *
+.IP \(bu
Special rules apply for the
.B SCHED_IDLE
policy.
-In Linux kernels before 2.6.39,
+Before Linux 2.6.39,
an unprivileged thread operating under this policy cannot
change its policy, regardless of the value of its
.B RLIMIT_RTPRIO
resource limit.
-In Linux kernels since 2.6.39,
+Since Linux 2.6.39,
.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
an unprivileged thread can switch to either the
.B SCHED_BATCH
@@ -627,7 +627,7 @@ or
.B SCHED_DEADLINE
policy can potentially block all other threads from accessing
the CPU forever.
-Prior to Linux 2.6.25, the only way of preventing a runaway real-time
+Before Linux 2.6.25, the only way of preventing a runaway real-time
process from freezing the system was to run (at the console)
a shell scheduled under a higher static priority than the tested application.
This allows an emergency kill of tested
@@ -643,7 +643,7 @@ See
.BR getrlimit (2)
for details.
.PP
-Since version 2.6.25, Linux also provides two
+Since Linux 2.6.25, Linux also provides two
.I /proc
files that can be used to reserve a certain amount of CPU time
to be used by non-real-time processes.
@@ -667,7 +667,7 @@ The value in this file can range from \-1 to
.BR INT_MAX \-1.
Specifying \-1 makes the run time the same as the period;
that is, no CPU time is set aside for non-real-time processes
-(which was the Linux behavior before kernel 2.6.25).
+(which was the behavior before Linux 2.6.25).
The default value in this file is 950,000 (0.95 seconds),
meaning that 5% of the CPU time is reserved for processes that
don't run under a real-time or deadline scheduling policy.
@@ -832,11 +832,11 @@ Task groups have a hierarchical relationship,
rooted under the initial task group on the system,
known as the "root task group".
Task groups are formed in the following circumstances:
-.IP * 3
+.IP \(bu 3
All of the threads in a CPU cgroup form a task group.
The parent of this task group is the task group of the
corresponding parent cgroup.
-.IP *
+.IP \(bu
If autogrouping is enabled,
then all of the threads that are (implicitly) placed in an autogroup
(i.e., the same session, as created by
@@ -844,14 +844,14 @@ then all of the threads that are (implicitly) placed in an autogroup
form a task group.
Each new autogroup is thus a separate task group.
The root task group is the parent of all such autogroups.
-.IP *
+.IP \(bu
If autogrouping is enabled, then the root task group consists of
all processes in the root CPU cgroup that were not
otherwise implicitly placed into a new autogroup.
-.IP *
+.IP \(bu
If autogrouping is disabled, then the root task group consists of
all processes in the root CPU cgroup.
-.IP *
+.IP \(bu
If group scheduling was disabled (i.e., the kernel was configured without
.BR CONFIG_FAIR_GROUP_SCHED ),
then all of the processes on the system are notionally placed
@@ -895,7 +895,7 @@ $ \fBecho 10 > /proc/self/autogroup\fP
.SS Real-time features in the mainline Linux kernel
.\" FIXME . Probably this text will need some minor tweaking
.\" ask Carsten Emde about this.
-Since kernel version 2.6.18, Linux is gradually
+Since Linux 2.6.18, Linux is gradually
becoming equipped with real-time capabilities,
most of which are derived from the former
.I realtime\-preempt
@@ -942,11 +942,11 @@ Originally, Standard Linux was intended as a general-purpose operating
system being able to handle background processes, interactive
applications, and less demanding real-time applications (applications that
need to usually meet timing deadlines).
-Although the Linux kernel 2.6
+Although the Linux 2.6
allowed for kernel preemption and the newly introduced O(1) scheduler
ensures that the time needed to schedule is fixed and deterministic
irrespective of the number of active tasks, true real-time computing
-was not possible up to kernel version 2.6.17.
+was not possible up to Linux 2.6.17.
.SH SEE ALSO
.ad l
.nh
diff --git a/man7/sem_overview.7 b/man7/sem_overview.7
index fb2a3c7fd..e76f7c73c 100644
--- a/man7/sem_overview.7
+++ b/man7/sem_overview.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SEM_OVERVIEW 7 2022-10-09 "Linux man-pages 6.01"
+.TH sem_overview 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
sem_overview \- overview of POSIX semaphores
.SH DESCRIPTION
@@ -85,7 +85,7 @@ the semaphore should be destroyed using
The remainder of this section describes some specific details
of the Linux implementation of POSIX semaphores.
.SS Versions
-Prior to kernel 2.6, Linux supported only unnamed,
+Before Linux 2.6, Linux supported only unnamed,
thread-shared semaphores.
On a system with Linux 2.6 and a glibc that provides the NPTL
threading implementation,
diff --git a/man7/session-keyring.7 b/man7/session-keyring.7
index 17bf1ebf2..fcb7aad47 100644
--- a/man7/session-keyring.7
+++ b/man7/session-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH SESSION-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH session-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
session-keyring \- session shared process keyring
.SH DESCRIPTION
diff --git a/man7/shm_overview.7 b/man7/shm_overview.7
index ad1f8e500..41393ed20 100644
--- a/man7/shm_overview.7
+++ b/man7/shm_overview.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SHM_OVERVIEW 7 2022-10-09 "Linux man-pages 6.01"
+.TH shm_overview 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
shm_overview \- overview of POSIX shared memory
.SH DESCRIPTION
@@ -75,7 +75,7 @@ On Linux, shared memory objects are created in a
.RB ( tmpfs (5))
virtual filesystem, normally mounted under
.IR /dev/shm .
-Since kernel 2.6.19, Linux supports the use of access control lists (ACLs)
+Since Linux 2.6.19, Linux supports the use of access control lists (ACLs)
to control the permissions of objects in the virtual filesystem.
.SH NOTES
Typically, processes must synchronize their access to a shared
diff --git a/man7/sigevent.7 b/man7/sigevent.7
index b568ae0ac..938af2082 100644
--- a/man7/sigevent.7
+++ b/man7/sigevent.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGEVENT 7 2022-10-09 "Linux man-pages 6.01"
+.TH sigevent 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sigevent \- structure for notification from asynchronous routines
.SH SYNOPSIS
diff --git a/man7/signal-safety.7 b/man7/signal-safety.7
index 53ccb550e..dbef05fa8 100644
--- a/man7/signal-safety.7
+++ b/man7/signal-safety.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (c) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SIGNAL-SAFETY 7 2022-10-09 "Linux man-pages 6.01"
+.TH signal-safety 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
signal-safety \- async-signal-safe functions
.SH DESCRIPTION
@@ -39,13 +40,13 @@ then the second call to
will operate on inconsistent data, with unpredictable results.
.PP
To avoid problems with unsafe functions, there are two possible choices:
-.IP 1. 3
+.IP (a) 5
Ensure that
-(a) the signal handler calls only async-signal-safe functions,
+(1) the signal handler calls only async-signal-safe functions,
and
-(b) the signal handler itself is reentrant
+(2) the signal handler itself is reentrant
with respect to global variables in the main program.
-.IP 2.
+.IP (b)
Block signal delivery in the main program when calling functions
that are unsafe or operating on global data that is also accessed
by the signal handler.
@@ -273,14 +274,14 @@ T}
.TE
.PP
Notes:
-.IP * 3
+.IP \(bu 3
POSIX.1-2001 and POSIX.1-2001 TC2 required the functions
.BR fpathconf (3),
.BR pathconf (3),
and
.BR sysconf (3)
to be async-signal-safe, but this requirement was removed in POSIX.1-2008.
-.IP *
+.IP \(bu
If a signal handler interrupts the execution of an unsafe function,
and the handler terminates via a call to
.BR longjmp (3)
@@ -288,7 +289,7 @@ or
.BR siglongjmp (3)
and the program subsequently calls an unsafe function,
then the behavior of the program is undefined.
-.IP *
+.IP \(bu
POSIX.1-2001 TC1 clarified
that if an application calls
.BR fork (2)
@@ -301,7 +302,7 @@ is likely to remove
.BR fork (2)
from the list of async-signal-safe functions.
.\"
-.IP * 3
+.IP \(bu
Asynchronous signal handlers that call functions which are cancelation
points and nest over regions of deferred cancelation may trigger
cancelation whose behavior is as if asynchronous cancelation had
@@ -317,7 +318,7 @@ on entry and restores its value before returning.
.SS Deviations in the GNU C library
The following known deviations from the standard occur in
the GNU C library:
-.IP * 3
+.IP \(bu 3
Before glibc 2.24,
.BR execl (3)
and
@@ -327,7 +328,7 @@ employed
internally and were consequently not async-signal-safe.
.\" https://sourceware.org/bugzilla/show_bug.cgi?id=19534
This was fixed in glibc 2.24.
-.IP *
+.IP \(bu
.\" FIXME . https://sourceware.org/bugzilla/show_bug.cgi?id=13172
The glibc implementation of
.BR aio_suspend (3)
diff --git a/man7/signal.7 b/man7/signal.7
index 83c9ad47b..ebad92a3c 100644
--- a/man7/signal.7
+++ b/man7/signal.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (c) 2002, 2006, 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
@@ -22,7 +23,7 @@
.\" Added section on stop/cont signals interrupting syscalls.
.\" 2008-10-05, mtk: various additions
.\"
-.TH SIGNAL 7 2022-10-09 "Linux man-pages 6.01"
+.TH signal 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
signal \- overview of signals
.SH DESCRIPTION
@@ -36,16 +37,21 @@ the signal.
.PP
The entries in the "Action" column of the table below specify
the default disposition for each signal, as follows:
-.IP Term
+.TP
+Term
Default action is to terminate the process.
-.IP Ign
+.TP
+Ign
Default action is to ignore the signal.
-.IP Core
+.TP
+Core
Default action is to terminate the process and dump core (see
.BR core (5)).
-.IP Stop
+.TP
+Stop
Default action is to stop the process.
-.IP Cont
+.TP
+Cont
Default action is to continue the process if it is currently stopped.
.PP
A process can change the disposition of a signal using
@@ -130,7 +136,7 @@ to block execution until the signal is delivered,
at which point the kernel returns information about the
signal to the caller.
There are two general ways to do this:
-.IP * 2
+.IP \(bu 3
.BR sigwaitinfo (2),
.BR sigtimedwait (2),
and
@@ -138,7 +144,7 @@ and
suspend execution until one of the signals in a specified
set is delivered.
Each of these calls returns information about the delivered signal.
-.IP *
+.IP \(bu
.BR signalfd (2)
returns a file descriptor that can be used to read information
about signals that are delivered to the caller.
@@ -239,13 +245,13 @@ Whenever there is a transition from kernel-mode to user-mode execution
the kernel checks whether there is a pending unblocked signal
for which the process has established a signal handler.
If there is such a pending signal, the following steps occur:
-.IP 1. 3
+.IP (1) 5
The kernel performs the necessary preparatory steps for execution of
the signal handler:
.RS
-.IP a) 3
+.IP (1.1) 7
The signal is removed from the set of pending signals.
-.IP b)
+.IP (1.2)
If the signal handler was installed by a call to
.BR sigaction (2)
that specified the
@@ -253,21 +259,21 @@ that specified the
flag and the thread has defined an alternate signal stack (using
.BR sigaltstack (2)),
then that stack is installed.
-.IP c)
+.IP (1.3)
Various pieces of signal-related context are saved
into a special frame that is created on the stack.
The saved information includes:
.RS
-.IP + 2
+.IP \(bu 3
the program counter register
(i.e., the address of the next instruction in the main program that
should be executed when the signal handler returns);
-.IP +
+.IP \(bu
architecture-specific register state required for resuming the
interrupted program;
-.IP +
+.IP \(bu
the thread's current signal mask;
-.IP +
+.IP \(bu
the thread's alternate signal stack settings.
.RE
.IP
@@ -277,7 +283,7 @@ the thread's alternate signal stack settings.
flag, then the above information is accessible via the
.I ucontext_t
object that is pointed to by the third argument of the signal handler.)
-.IP d)
+.IP (1.4)
Any signals specified in
.I act\->sa_mask
when registering the handler with
@@ -289,19 +295,19 @@ added to the signal mask, unless
was specified when registering the handler.
These signals are thus blocked while the handler executes.
.RE
-.IP 2.
+.IP (2)
The kernel constructs a frame for the signal handler on the stack.
The kernel sets the program counter for the thread to point to the first
instruction of the signal handler function,
and configures the return address for that function to point to a piece
of user-space code known as the signal trampoline (described in
.BR sigreturn (2)).
-.IP 3.
+.IP (3)
The kernel passes control back to user-space, where execution
commences at the start of the signal handler function.
-.IP 4.
+.IP (4)
When the signal handler returns, control passes to the signal trampoline code.
-.IP 5.
+.IP (5)
The signal trampoline calls
.BR sigreturn (2),
a system call that uses the information in the stack frame created in step 1
@@ -506,7 +512,7 @@ SIGUNUSED 31 \- \- 31
.TE
.PP
Note the following:
-.IP * 3
+.IP \(bu 3
Where defined,
.B SIGUNUSED
is synonymous with
@@ -514,7 +520,7 @@ is synonymous with
Since glibc 2.26,
.B SIGUNUSED
is no longer defined on any architecture.
-.IP *
+.IP \(bu
Signal 29 is
.BR SIGINFO / SIGPWR
(synonyms for the same value) on Alpha but
@@ -522,7 +528,7 @@ Signal 29 is
on SPARC.
.\"
.SS Real-time signals
-Starting with version 2.2,
+Starting with Linux 2.2,
Linux supports real-time signals as originally defined in the POSIX.1b
real-time extensions (and now included in POSIX.1-2001).
The range of supported real-time signals is defined by the macros
@@ -563,11 +569,11 @@ The default action for an unhandled real-time signal is to terminate the
receiving process.
.PP
Real-time signals are distinguished by the following:
-.IP 1. 4
+.IP \(bu 3
Multiple instances of real-time signals can be queued.
By contrast, if multiple instances of a standard signal are delivered
while that signal is currently blocked, then only one instance is queued.
-.IP 2. 4
+.IP \(bu
If the signal is sent using
.BR sigqueue (3),
an accompanying value (either an integer or a pointer) can be sent
@@ -587,7 +593,7 @@ and
.I si_uid
fields of this structure can be used to obtain the PID
and real user ID of the process sending the signal.
-.IP 3. 4
+.IP \(bu
Real-time signals are delivered in a guaranteed order.
Multiple real-time signals of the same type are delivered in the order
they were sent.
@@ -607,7 +613,7 @@ According to POSIX, an implementation should permit at least
(32) real-time signals to be queued to
a process.
However, Linux does things differently.
-In kernels up to and including 2.6.7, Linux imposes
+Up to and including Linux 2.6.7, Linux imposes
a system-wide limit on the number of queued real-time signals
for all processes.
This limit can be viewed and (with privilege) changed via the
@@ -647,9 +653,9 @@ Linux 2.0 and earlier Linux 2.2 and later
.SS Interruption of system calls and library functions by signal handlers
If a signal handler is invoked while a system call or library
function call is blocked, then either:
-.IP * 2
+.IP \(bu 3
the call is automatically restarted after the signal handler returns; or
-.IP *
+.IP \(bu
the call fails with the error
.BR EINTR .
.PP
@@ -669,7 +675,7 @@ flag was used; otherwise the call fails with the error
.BR EINTR :
.\" The following system calls use ERESTARTSYS,
.\" so that they are restartable
-.IP * 2
+.IP \(bu 3
.BR read (2),
.BR readv (2),
.BR write (2),
@@ -685,23 +691,23 @@ then the call will return a success status
(normally, the number of bytes transferred).
Note that a (local) disk is not a slow device according to this definition;
I/O operations on disk devices are not interrupted by signals.
-.IP *
+.IP \(bu
.BR open (2),
if it can block (e.g., when opening a FIFO; see
.BR fifo (7)).
-.IP *
+.IP \(bu
.BR wait (2),
.BR wait3 (2),
.BR wait4 (2),
.BR waitid (2),
and
.BR waitpid (2).
-.IP *
+.IP \(bu
Socket interfaces:
.\" If a timeout (setsockopt()) is in effect on the socket, then these
.\" system calls switch to using EINTR. Consequently, they and are not
.\" automatically restarted, and they show the stop/cont behavior
-.\" described below. (Verified from 2.6.26 source, and by experiment; mtk)
+.\" described below. (Verified from Linux 2.6.26 source, and by experiment; mtk)
.BR accept (2),
.BR connect (2),
.BR recv (2),
@@ -714,7 +720,7 @@ and
.BR sendmsg (2),
.\" FIXME What about sendmmsg()?
unless a timeout has been set on the socket (see below).
-.IP *
+.IP \(bu
File locking interfaces:
.BR flock (2)
and
@@ -724,30 +730,30 @@ and
.B F_OFD_SETLKW
operations of
.BR fcntl (2)
-.IP *
+.IP \(bu
POSIX message queue interfaces:
.BR mq_receive (3),
.BR mq_timedreceive (3),
.BR mq_send (3),
and
.BR mq_timedsend (3).
-.IP *
+.IP \(bu
.BR futex (2)
.B FUTEX_WAIT
(since Linux 2.6.22;
.\" commit 72c1bbf308c75a136803d2d76d0e18258be14c7a
beforehand, always failed with
.BR EINTR ).
-.IP *
+.IP \(bu
.BR getrandom (2).
-.IP *
+.IP \(bu
.BR pthread_mutex_lock (3),
.BR pthread_cond_wait (3),
and related APIs.
-.IP *
+.IP \(bu
.BR futex (2)
.BR FUTEX_WAIT_BITSET .
-.IP *
+.IP \(bu
POSIX semaphore interfaces:
.BR sem_wait (3)
and
@@ -756,7 +762,7 @@ and
.\" as a consequence of the 2.6.22 changes in the futex() implementation
beforehand, always failed with
.BR EINTR ).
-.IP *
+.IP \(bu
.BR read (2)
from an
.BR inotify (7)
@@ -775,7 +781,7 @@ they always fail with the error
when interrupted by a signal handler:
.\" These are the system calls that give EINTR or ERESTARTNOHAND
.\" on interruption by a signal handler.
-.IP * 2
+.IP \(bu 3
"Input" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
@@ -789,7 +795,7 @@ has been set on the socket using
argument),
and
.BR recvmsg (2).
-.IP *
+.IP \(bu
"Output" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
@@ -800,14 +806,14 @@ has been set on the socket using
and
.BR sendmsg (2).
.\" FIXME What about sendmmsg()?
-.IP *
+.IP \(bu
Interfaces used to wait for signals:
.BR pause (2),
.BR sigsuspend (2),
.BR sigtimedwait (2),
and
.BR sigwaitinfo (2).
-.IP *
+.IP \(bu
File descriptor multiplexing interfaces:
.BR epoll_wait (2),
.BR epoll_pwait (2),
@@ -816,7 +822,7 @@ File descriptor multiplexing interfaces:
.BR select (2),
and
.BR pselect (2).
-.IP *
+.IP \(bu
System V IPC interfaces:
.\" On some other systems, SA_RESTART does restart these system calls
.BR msgrcv (2),
@@ -824,13 +830,13 @@ System V IPC interfaces:
.BR semop (2),
and
.BR semtimedop (2).
-.IP *
+.IP \(bu
Sleep interfaces:
.BR clock_nanosleep (2),
.BR nanosleep (2),
and
.BR usleep (3).
-.IP *
+.IP \(bu
.BR io_getevents (2).
.PP
The
@@ -857,7 +863,7 @@ This behavior is not sanctioned by POSIX.1, and doesn't occur
on other systems.
.PP
The Linux interfaces that display this behavior are:
-.IP * 2
+.IP \(bu 3
"Input" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
@@ -871,7 +877,7 @@ has been set on the socket using
argument),
and
.BR recvmsg (2).
-.IP *
+.IP \(bu
"Output" socket interfaces, when a timeout
.RB ( SO_RCVTIMEO )
has been set on the socket using
@@ -885,33 +891,33 @@ and
if a send timeout
.RB ( SO_SNDTIMEO )
has been set.
-.IP * 2
+.IP \(bu
.BR epoll_wait (2),
.BR epoll_pwait (2).
-.IP *
+.IP \(bu
.BR semop (2),
.BR semtimedop (2).
-.IP *
+.IP \(bu
.BR sigtimedwait (2),
.BR sigwaitinfo (2).
-.IP *
+.IP \(bu
Linux 3.7 and earlier:
.BR read (2)
from an
.BR inotify (7)
file descriptor
.\" commit 1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06
-.IP *
+.IP \(bu
Linux 2.6.21 and earlier:
.BR futex (2)
.BR FUTEX_WAIT ,
.BR sem_timedwait (3),
.BR sem_wait (3).
-.IP *
+.IP \(bu
Linux 2.6.8 and earlier:
.BR msgrcv (2),
.BR msgsnd (2).
-.IP *
+.IP \(bu
Linux 2.4 and earlier:
.BR nanosleep (2).
.SH STANDARDS
diff --git a/man7/sock_diag.7 b/man7/sock_diag.7
index fe2d24238..60528db16 100644
--- a/man7/sock_diag.7
+++ b/man7/sock_diag.7
@@ -2,7 +2,7 @@
.\" Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
-.TH SOCK_DIAG 7 2022-10-09 "Linux man-pages 6.01"
+.TH sock_diag 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sock_diag \- obtaining information about sockets
.SH SYNOPSIS
diff --git a/man7/socket.7 b/man7/socket.7
index 25f673781..9b8579ffb 100644
--- a/man7/socket.7
+++ b/man7/socket.7
@@ -1,3 +1,4 @@
+'\" t
.\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" and copyright (c) 1999 Matthew Wilcox.
.\"
@@ -51,7 +52,7 @@
.\" commit ea02f9411d9faa3553ed09ce0ec9f00ceae9885e
.\" Author: Michal Sekletar <msekleta@redhat.com>
.\"
-.TH SOCKET 7 2022-10-09 "Linux man-pages 6.01"
+.TH socket 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
socket \- Linux socket interface
.SH SYNOPSIS
@@ -814,9 +815,9 @@ indicate a socket as readable only if at least
bytes are available.
.TP
.BR SO_RCVTIMEO " and " SO_SNDTIMEO
-.\" Not implemented in 2.0.
-.\" Implemented in 2.1.11 for getsockopt: always return a zero struct.
-.\" Implemented in 2.3.41 for setsockopt, and actually used.
+.\" Not implemented in Linux 2.0.
+.\" Implemented in Linux 2.1.11 for getsockopt: always return a zero struct.
+.\" Implemented in Linux 2.3.41 for setsockopt, and actually used.
Specify the receiving or sending timeouts until reporting an error.
The argument is a
.IR "struct timeval" .
@@ -838,6 +839,8 @@ just as if the socket was specified to be nonblocking.
If the timeout is set to zero (the default),
then the operation will never timeout.
Timeouts only have effect for system calls that perform socket I/O (e.g.,
+.BR accept (2),
+.BR connect (2),
.BR read (2),
.BR recvmsg (2),
.BR send (2),
diff --git a/man7/spufs.7 b/man7/spufs.7
index d2f322f4b..c93013ad0 100644
--- a/man7/spufs.7
+++ b/man7/spufs.7
@@ -10,7 +10,7 @@
.\" 2007-07-10, quite a lot of polishing by mtk
.\" 2007-09-28, updates for newer kernels by Jeremy Kerr <jk@ozlabs.org>
.\"
-.TH SPUFS 7 2022-10-09 "Linux man-pages 6.01"
+.TH spufs 7 2022-11-22 "Linux man-pages 6.02"
.SH NAME
spufs \- SPU filesystem
.SH DESCRIPTION
@@ -82,9 +82,11 @@ and
.IR st_gid .
.PP
All files support the
-.BR chmod (2)/ fchmod (2)
+.BR chmod (2)/\c
+.BR fchmod (2)
and
-.BR chown (2)/ fchown (2)
+.BR chown (2)/\c
+.BR fchown (2)
operations, but will not be able to grant permissions that contradict
the possible operations (e.g., read access on the
.I wbox
diff --git a/man7/standards.7 b/man7/standards.7
index d7c8383cc..5d0ef4bb2 100644
--- a/man7/standards.7
+++ b/man7/standards.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH STANDARDS 7 2022-10-09 "Linux man-pages 6.01"
+.TH standards 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
standards \- C and UNIX Standards
.SH DESCRIPTION
diff --git a/man7/string_copying.7 b/man7/string_copying.7
new file mode 100644
index 000000000..345b4b363
--- /dev/null
+++ b/man7/string_copying.7
@@ -0,0 +1,855 @@
+.\" Copyright 2022 Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: BSD-3-Clause
+.\"
+.TH string_copy 7 2022-12-20 "Linux man-pages 6.02"
+.\" ----- NAME :: -----------------------------------------------------/
+.SH NAME
+stpcpy,
+strcpy, strcat,
+stpecpy, stpecpyx,
+strlcpy, strlcat,
+stpncpy,
+strncpy,
+zustr2ustp, zustr2stp,
+strncat,
+ustpcpy, ustr2stp
+\- copying strings and character sequences
+.\" ----- SYNOPSIS :: -------------------------------------------------/
+.SH SYNOPSIS
+.\" ----- SYNOPSIS :: (Null-terminated) strings -----------------------/
+.SS Strings
+.nf
+// Chain-copy a string.
+.BI "char *stpcpy(char *restrict " dst ", const char *restrict " src );
+.PP
+// Copy/catenate a string.
+.BI "char *strcpy(char *restrict " dst ", const char *restrict " src );
+.BI "char *strcat(char *restrict " dst ", const char *restrict " src );
+.PP
+// Chain-copy a string with truncation.
+.BI "char *stpecpy(char *" dst ", char " end "[0], const char *restrict " src );
+.PP
+// Chain-copy a string with truncation and SIGSEGV on UB.
+.BI "char *stpecpyx(char *" dst ", char " end "[0], const char *restrict " src );
+.PP
+// Copy/catenate a string with truncation and SIGSEGV on UB.
+.BI "size_t strlcpy(char " dst "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
+.BI "size_t strlcat(char " dst "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
+.fi
+.\" ----- SYNOPSIS :: Null-padded character sequences --------/
+.SS Null-padded character sequences
+.nf
+// Zero a fixed-width buffer, and
+// copy a string into a character sequence with truncation.
+.BI "char *stpncpy(char " dst "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
+.PP
+// Zero a fixed-width buffer, and
+// copy a string into a character sequence with truncation.
+.BI "char *strncpy(char " dest "[restrict ." sz "], \
+const char *restrict " src ,
+.BI " size_t " sz );
+.PP
+// Chain-copy a null-padded character sequence into a character sequence.
+.BI "char *zustr2ustp(char *restrict " dst ", \
+const char " src "[restrict ." sz ],
+.BI " size_t " sz );
+.PP
+// Chain-copy a null-padded character sequence into a string.
+.BI "char *zustr2stp(char *restrict " dst ", \
+const char " src "[restrict ." sz ],
+.BI " size_t " sz );
+.PP
+// Catenate a null-padded character sequence into a string.
+.BI "char *strncat(char *restrict " dst ", const char " src "[restrict ." sz ],
+.BI " size_t " sz );
+.fi
+.\" ----- SYNOPSIS :: Measured character sequences --------------------/
+.SS Measured character sequences
+.nf
+// Chain-copy a measured character sequence.
+.BI "char *ustpcpy(char *restrict " dst ", \
+const char " src "[restrict ." len ],
+.BI " size_t " len );
+.PP
+// Chain-copy a measured character sequence into a string.
+.BI "char *ustr2stp(char *restrict " dst ", \
+const char " src "[restrict ." len ],
+.BI " size_t " len );
+.fi
+.SH DESCRIPTION
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: -----------------/
+.SS Terms (and abbreviations)
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: string (str) ----/
+.TP
+.IR "string " ( str )
+is a sequence of zero or more non-null characters followed by a null byte.
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: null-padded character seq
+.TP
+.I character sequence
+is a sequence of zero or more non-null characters.
+A program should never use a character sequence where a string is required.
+However, with appropriate care,
+a string can be used in the place of a character sequence.
+.RS
+.TP
+.IR "null-padded character sequence " ( zustr )
+Character sequences can be contained in fixed-width buffers,
+which contain padding null bytes after the character sequence,
+to fill the rest of the buffer
+without affecting the character sequence;
+however, those padding null bytes are not part of the character sequence.
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: measured character sequence
+.TP
+.IR "measured character sequence " ( ustr )
+Character sequence delimited by its length.
+It may be a slice of a larger character sequence,
+or even of a string.
+.RE
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: length (len) ----/
+.TP
+.IR "length " ( len )
+is the number of non-null characters in a string or character sequence.
+It is the return value of
+.I strlen(str)
+and of
+.IR "strnlen(ustr, sz)" .
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: size (sz) -------/
+.TP
+.IR "size " ( sz )
+refers to the entire buffer
+where the string or character sequence is contained.
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: end -------------/
+.TP
+.I end
+is the name of a pointer to one past the last element of a buffer.
+It is equivalent to
+.IR &str[sz] .
+It is used as a sentinel value,
+to be able to truncate strings or character sequences
+instead of overrunning the containing buffer.
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: copy ------------/
+.TP
+.I copy
+This term is used when
+the writing starts at the first element pointed to by
+.IR dst .
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: catenate --------/
+.TP
+.I catenate
+This term is used when
+a function first finds the terminating null byte in
+.IR dst ,
+and then starts writing at that position.
+.\" ----- DESCRIPTION :: Terms (and abbreviations) :: chain -----------/
+.TP
+.I chain
+This term is used when
+it's the programmer who provides
+a pointer to the terminating null byte in the string
+.I dst
+(or one after the last character in a character sequence),
+and the function starts writing at that location.
+The function returns
+a pointer to the new location of the terminating null byte
+(or one after the last character in a character sequence)
+after the call,
+so that the programmer can use it to chain such calls.
+.\" ----- DESCRIPTION :: Copy, catenate, and chain-copy ---------------/
+.SS Copy, catenate, and chain-copy
+Originally,
+there was a distinction between functions that copy and those that catenate.
+However, newer functions that copy while allowing chaining
+cover both use cases with a single API.
+They are also algorithmically faster,
+since they don't need to search for
+the terminating null byte of the existing string.
+However, functions that catenate have a much simpler use,
+so if performance is not important,
+it can make sense to use them for improving readability.
+.PP
+The pointer returned by functions that allow chaining
+is a byproduct of the copy operation,
+so it has no performance costs.
+Functions that return such a pointer,
+and thus can be chained,
+have names of the form
+.RB * stp *(),
+since it's common to name the pointer just
+.IR p .
+.PP
+Chain-copying functions that truncate
+should accept a pointer to the end of the destination buffer,
+and have names of the form
+.RB * stpe *().
+This allows not having to recalculate the remaining size after each call.
+.\" ----- DESCRIPTION :: Truncate or not? -----------------------------/
+.SS Truncate or not?
+The first thing to note is that programmers should be careful with buffers,
+so they always have the correct size,
+and truncation is not necessary.
+.PP
+In most cases,
+truncation is not desired,
+and it is simpler to just do the copy.
+Simpler code is safer code.
+Programming against programming mistakes by adding more code
+just adds more points where mistakes can be made.
+.PP
+Nowadays,
+compilers can detect most programmer errors with features like
+compiler warnings,
+static analyzers, and
+.BR \%_FORTIFY_SOURCE
+(see
+.BR ftm (7)).
+Keeping the code simple
+helps these overflow-detection features be more precise.
+.PP
+When validating user input,
+however,
+it makes sense to truncate.
+Remember to check the return value of such function calls.
+.PP
+Functions that truncate:
+.IP \(bu 3
+.BR stpecpy (3)
+is the most efficient string copy function that performs truncation.
+It only requires to check for truncation once after all chained calls.
+.IP \(bu
+.BR stpecpyx (3)
+is a variant of
+.BR stpecpy (3)
+that consumes the entire source string,
+to catch bugs in the program
+by forcing a segmentation fault (as
+.BR strlcpy (3bsd)
+and
+.BR strlcat (3bsd)
+do).
+.IP \(bu
+.BR strlcpy (3bsd)
+and
+.BR strlcat (3bsd)
+are designed to crash if the input string is invalid
+(doesn't contain a terminating null byte).
+.IP \(bu
+.BR stpncpy (3)
+and
+.BR strncpy (3)
+also truncate, but they don't write strings,
+but rather null-padded character sequences.
+.\" ----- DESCRIPTION :: Null-padded character sequences --------------/
+.SS Null-padded character sequences
+For historic reasons,
+some standard APIs,
+such as
+.BR utmpx (5),
+use null-padded character sequences in fixed-width buffers.
+To interface with them,
+specialized functions need to be used.
+.PP
+To copy strings into them, use
+.BR stpncpy (3).
+.PP
+To copy from an unterminated string within a fixed-width buffer into a string,
+ignoring any trailing null bytes in the source fixed-width buffer,
+you should use
+.BR zustr2stp (3)
+or
+.BR strncat (3).
+.PP
+To copy from an unterminated string within a fixed-width buffer
+into a character sequence,
+ingoring any trailing null bytes in the source fixed-width buffer,
+you should use
+.BR zustr2ustp (3).
+.\" ----- DESCRIPTION :: Measured character sequences -----------------/
+.SS Measured character sequences
+The simplest character sequence copying function is
+.BR mempcpy (3).
+It requires always knowing the length of your character sequences,
+for which structures can be used.
+It makes the code much faster,
+since you always know the length of your character sequences,
+and can do the minimal copies and length measurements.
+.BR mempcpy (3)
+copies character sequences,
+so you need to explicitly set the terminating null byte if you need a string.
+.PP
+However,
+for keeping type safety,
+it's good to add a wrapper that uses
+.I char\~*
+instead of
+.IR void\~* :
+.BR ustpcpy (3).
+.PP
+In programs that make considerable use of strings or character sequences,
+and need the best performance,
+using overlapping character sequences can make a big difference.
+It allows holding subsequences of a larger character sequence.
+while not duplicating memory
+nor using time to do a copy.
+.PP
+However, this is delicate,
+since it requires using character sequences.
+C library APIs use strings,
+so programs that use character sequences
+will have to take care of differentiating strings from character sequences.
+.PP
+To copy a measured character sequence, use
+.BR ustpcpy (3).
+.PP
+To copy a measured character sequence into a string, use
+.BR ustr2stp (3).
+.PP
+Because these functions ask for the length,
+and a string is by nature composed of a character sequence of the same length
+plus a terminating null byte,
+a string is also accepted as input.
+.\" ----- DESCRIPTION :: String vs character sequence -----------------/
+.SS String vs character sequence
+Some functions only operate on strings.
+Those require that the input
+.I src
+is a string,
+and guarantee an output string
+(even when truncation occurs).
+Functions that catenate
+also require that
+.I dst
+holds a string before the call.
+List of functions:
+.IP \(bu 3
+.PD 0
+.BR stpcpy (3)
+.IP \(bu
+.BR strcpy "(3), \c"
+.BR strcat (3)
+.IP \(bu
+.BR stpecpy "(3), \c"
+.BR stpecpyx (3)
+.IP \(bu
+.BR strlcpy "(3bsd), \c"
+.BR strlcat (3bsd)
+.PD
+.PP
+Other functions require an input string,
+but create a character sequence as output.
+These functions have confusing names,
+and have a long history of misuse.
+List of functions:
+.IP \(bu 3
+.PD 0
+.BR stpncpy (3)
+.IP \(bu
+.BR strncpy (3)
+.PD
+.PP
+Other functions operate on an input character sequence,
+and create an output string.
+Functions that catenate
+also require that
+.I dst
+holds a string before the call.
+.BR strncat (3)
+has an even more misleading name than the functions above.
+List of functions:
+.IP \(bu 3
+.PD 0
+.BR zustr2stp (3)
+.IP \(bu
+.BR strncat (3)
+.IP \(bu
+.BR ustr2stp (3)
+.PD
+.PP
+Other functions operate on an input character sequence
+to create an output character sequence.
+List of functions:
+.IP \(bu 3
+.PD 0
+.BR ustpcpy (3)
+.IP \(bu
+.BR zustr2stp (3)
+.PD
+.\" ----- DESCRIPTION :: Functions :: ---------------------------------/
+.SS Functions
+.\" ----- DESCRIPTION :: Functions :: stpcpy(3) -----------------------/
+.TP
+.BR stpcpy (3)
+This function copies the input string into a destination string.
+The programmer is responsible for allocating a buffer large enough.
+It returns a pointer suitable for chaining.
+.\" ----- DESCRIPTION :: Functions :: strcpy(3), strcat(3) ------------/
+.TP
+.BR strcpy (3)
+.TQ
+.BR strcat (3)
+These functions copy and catenate the input string into a destination string.
+The programmer is responsible for allocating a buffer large enough.
+The return value is useless.
+.IP
+.BR stpcpy (3)
+is a faster alternative to these functions.
+.\" ----- DESCRIPTION :: Functions :: stpecpy(3), stpecpyx(3) ---------/
+.TP
+.BR stpecpy (3)
+.TQ
+.BR stpecpyx (3)
+These functions copy the input string into a destination string.
+If the destination buffer,
+limited by a pointer to its end,
+isn't large enough to hold the copy,
+the resulting string is truncated
+(but it is guaranteed to be null-terminated).
+They return a pointer suitable for chaining.
+Truncation needs to be detected only once after the last chained call.
+.BR stpecpyx (3)
+has identical semantics to
+.BR stpecpy (3),
+except that it forces a SIGSEGV if the
+.I src
+pointer is not a string.
+.IP
+These functions are not provided by any library;
+See EXAMPLES for a reference implementation.
+.\" ----- DESCRIPTION :: Functions :: strlcpy(3bsd), strlcat(3bsd) ----/
+.TP
+.BR strlcpy (3bsd)
+.TQ
+.BR strlcat (3bsd)
+These functions copy and catenate the input string into a destination string.
+If the destination buffer,
+limited by its size,
+isn't large enough to hold the copy,
+the resulting string is truncated
+(but it is guaranteed to be null-terminated).
+They return the length of the total string they tried to create.
+These functions force a SIGSEGV if the
+.I src
+pointer is not a string.
+.IP
+.BR stpecpyx (3)
+is a faster alternative to these functions.
+.\" ----- DESCRIPTION :: Functions :: stpncpy(3) ----------------------/
+.TP
+.BR stpncpy (3)
+This function copies the input string into
+a destination null-padded character sequence in a fixed-width buffer.
+If the destination buffer,
+limited by its size,
+isn't large enough to hold the copy,
+the resulting character sequence is truncated.
+Since it creates a character sequence,
+it doesn't need to write a terminating null byte.
+It's impossible to distinguish truncation by the result of the call,
+from a character sequence that just fits the destination buffer;
+truncation should be detected by
+comparing the length of the input string
+with the size of the destination buffer.
+.\" ----- DESCRIPTION :: Functions :: strncpy(3) ----------------------/
+.TP
+.BR strncpy (3)
+This function is identical to
+.BR stpncpy (3)
+except for the useless return value.
+.IP
+.BR stpncpy (3)
+is a more useful alternative to this function.
+.\" ----- DESCRIPTION :: Functions :: zustr2ustp(3) --------------------/
+.TP
+.BR zustr2ustp (3)
+This function copies the input character sequence
+contained in a null-padded wixed-width buffer,
+into a destination character sequence.
+The programmer is responsible for allocating a buffer large enough.
+It returns a pointer suitable for chaining.
+.IP
+A truncating version of this function doesn't exist,
+since the size of the original character sequence is always known,
+so it wouldn't be very useful.
+.IP
+This function is not provided by any library;
+See EXAMPLES for a reference implementation.
+.\" ----- DESCRIPTION :: Functions :: zustr2stp(3) --------------------/
+.TP
+.BR zustr2stp (3)
+This function copies the input character sequence
+contained in a null-padded wixed-width buffer,
+into a destination string.
+The programmer is responsible for allocating a buffer large enough.
+It returns a pointer suitable for chaining.
+.IP
+A truncating version of this function doesn't exist,
+since the size of the original character sequence is always known,
+so it wouldn't be very useful.
+.IP
+This function is not provided by any library;
+See EXAMPLES for a reference implementation.
+.\" ----- DESCRIPTION :: Functions :: strncat(3) ----------------------/
+.TP
+.BR strncat (3)
+Do not confuse this function with
+.BR strncpy (3);
+they are not related at all.
+.IP
+This function catenates the input character sequence
+contained in a null-padded wixed-width buffer,
+into a destination string.
+The programmer is responsible for allocating a buffer large enough.
+The return value is useless.
+.IP
+.BR zustr2stp (3)
+is a faster alternative to this function.
+.\" ----- DESCRIPTION :: Functions :: ustpcpy(3) ----------------------/
+.TP
+.BR ustpcpy (3)
+This function copies the input character sequence,
+limited by its length,
+into a destination character sequence.
+The programmer is responsible for allocating a buffer large enough.
+It returns a pointer suitable for chaining.
+.\" ----- DESCRIPTION :: Functions :: ustr2stp(3) ---------------------/
+.TP
+.BR ustr2stp (3)
+This function copies the input character sequence,
+limited by its length,
+into a destination string.
+The programmer is responsible for allocating a buffer large enough.
+It returns a pointer suitable for chaining.
+.\" ----- RETURN VALUE :: ---------------------------------------------/
+.SH RETURN VALUE
+The following functions return
+a pointer to the terminating null byte in the destination string.
+.IP \(bu 3
+.PD 0
+.BR stpcpy (3)
+.IP \(bu
+.BR ustr2stp (3)
+.IP \(bu
+.BR zustr2stp (3)
+.PD
+.PP
+The following functions return
+a pointer to the terminating null byte in the destination string,
+except when truncation occurs;
+if truncation occurs,
+they return a pointer to the end of the destination buffer.
+.IP \(bu 3
+.BR stpecpy (3),
+.BR stpecpyx (3)
+.PP
+The following function returns
+a pointer to one after the last character
+in the destination character sequence;
+if truncation occurs,
+that pointer is equivalent to
+a pointer to the end of the destination buffer.
+.IP \(bu 3
+.BR stpncpy (3)
+.PP
+The following functions return
+a pointer to one after the last character
+in the destination character sequence.
+.IP \(bu 3
+.PD 0
+.BR zustr2ustp (3)
+.IP \(bu
+.BR ustpcpy (3)
+.PD
+.PP
+The following functions return
+the length of the total string that they tried to create
+(as if truncation didn't occur).
+.IP \(bu 3
+.BR strlcpy (3bsd),
+.BR strlcat (3bsd)
+.PP
+The following functions return the
+.I dst
+pointer,
+which is useless.
+.IP \(bu 3
+.PD 0
+.BR strcpy (3),
+.BR strcat (3)
+.IP \(bu
+.BR strncpy (3)
+.IP \(bu
+.BR strncat (3)
+.PD
+.\" ----- NOTES :: strscpy(9) -----------------------------------------/
+.SH NOTES
+The Linux kernel has an internal function for copying strings,
+which is similar to
+.BR stpecpy (3),
+except that it can't be chained:
+.TP
+.BR strscpy (9)
+This function copies the input string into a destination string.
+If the destination buffer,
+limited by its size,
+isn't large enough to hold the copy,
+the resulting string is truncated
+(but it is guaranteed to be null-terminated).
+It returns the length of the destination string, or
+.B \-E2BIG
+on truncation.
+.IP
+.BR stpecpy (3)
+is a simpler and faster alternative to this function.
+.RE
+.\" ----- CAVEATS :: --------------------------------------------------/
+.SH CAVEATS
+Don't mix chain calls to truncating and non-truncating functions.
+It is conceptually wrong
+unless you know that the first part of a copy will always fit.
+Anyway, the performance difference will probably be negligible,
+so it will probably be more clear if you use consistent semantics:
+either truncating or non-truncating.
+Calling a non-truncating function after a truncating one is necessarily wrong.
+.\" ----- BUGS :: -----------------------------------------------------/
+.SH BUGS
+All catenation functions share the same performance problem:
+.UR https://www.joelonsoftware.com/\:2001/12/11/\:back\-to\-basics/
+Shlemiel the painter
+.UE .
+.\" ----- EXAMPLES :: -------------------------------------------------/
+.SH EXAMPLES
+The following are examples of correct use of each of these functions.
+.\" ----- EXAMPLES :: stpcpy(3) ---------------------------------------/
+.TP
+.BR stpcpy (3)
+.EX
+p = buf;
+p = stpcpy(p, "Hello ");
+p = stpcpy(p, "world");
+p = stpcpy(p, "!");
+len = p \- buf;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: strcpy(3), strcat(3) ----------------------------/
+.TP
+.BR strcpy (3)
+.TQ
+.BR strcat (3)
+.EX
+strcpy(buf, "Hello ");
+strcat(buf, "world");
+strcat(buf, "!");
+len = strlen(buf);
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: stpecpy(3), stpecpyx(3) -------------------------/
+.TP
+.BR stpecpy (3)
+.TQ
+.BR stpecpyx (3)
+.EX
+end = buf + sizeof(buf);
+p = buf;
+p = stpecpy(p, end, "Hello ");
+p = stpecpy(p, end, "world");
+p = stpecpy(p, end, "!");
+if (p == end) {
+ p\-\-;
+ goto toolong;
+}
+len = p \- buf;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: strlcpy(3bsd), strlcat(3bsd) --------------------/
+.TP
+.BR strlcpy (3bsd)
+.TQ
+.BR strlcat (3bsd)
+.EX
+if (strlcpy(buf, "Hello ", sizeof(buf)) >= sizeof(buf))
+ goto toolong;
+if (strlcat(buf, "world", sizeof(buf)) >= sizeof(buf))
+ goto toolong;
+len = strlcat(buf, "!", sizeof(buf));
+if (len >= sizeof(buf))
+ goto toolong;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: strscpy(9) --------------------------------------/
+.TP
+.BR strscpy (9)
+.EX
+len = strscpy(buf, "Hello world!", sizeof(buf));
+if (len == \-E2BIG)
+ goto toolong;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: stpncpy(3) --------------------------------------/
+.TP
+.BR stpncpy (3)
+.EX
+p = stpncpy(buf, "Hello world!", sizeof(buf));
+if (sizeof(buf) < strlen("Hello world!"))
+ goto toolong;
+len = p \- buf;
+for (size_t i = 0; i < sizeof(buf); i++)
+ putchar(buf[i]);
+.EE
+.\" ----- EXAMPLES :: strncpy(3) --------------------------------------/
+.TP
+.BR strncpy (3)
+.EX
+strncpy(buf, "Hello world!", sizeof(buf));
+if (sizeof(buf) < strlen("Hello world!"))
+ goto toolong;
+len = strnlen(buf, sizeof(buf));
+for (size_t i = 0; i < sizeof(buf); i++)
+ putchar(buf[i]);
+.EE
+.\" ----- EXAMPLES :: zustr2ustp(3) -----------------------------------/
+.TP
+.BR zustr2ustp (3)
+.EX
+p = buf;
+p = zustr2ustp(p, "Hello ", 6);
+p = zustr2ustp(p, "world", 42); // Padding null bytes ignored.
+p = zustr2ustp(p, "!", 1);
+len = p \- buf;
+printf("%.*s\en", (int) len, buf);
+.EE
+.\" ----- EXAMPLES :: zustr2stp(3) ------------------------------------/
+.TP
+.BR zustr2stp (3)
+.EX
+p = buf;
+p = zustr2stp(p, "Hello ", 6);
+p = zustr2stp(p, "world", 42); // Padding null bytes ignored.
+p = zustr2stp(p, "!", 1);
+len = p \- buf;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: strncat(3) --------------------------------------/
+.TP
+.BR strncat (3)
+.EX
+buf[0] = \(aq\e0\(aq; // There's no 'cpy' function to this 'cat'.
+strncat(buf, "Hello ", 6);
+strncat(buf, "world", 42); // Padding null bytes ignored.
+strncat(buf, "!", 1);
+len = strlen(buf);
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: ustpcpy(3) --------------------------------------/
+.TP
+.BR ustpcpy (3)
+.EX
+p = buf;
+p = ustpcpy(p, "Hello ", 6);
+p = ustpcpy(p, "world", 5);
+p = ustpcpy(p, "!", 1);
+len = p \- buf;
+printf("%.*s\en", (int) len, buf);
+.EE
+.\" ----- EXAMPLES :: ustr2stp(3) -------------------------------------/
+.TP
+.BR ustr2stp (3)
+.EX
+p = buf;
+p = ustr2stp(p, "Hello ", 6);
+p = ustr2stp(p, "world", 5);
+p = ustr2stp(p, "!", 1);
+len = p \- buf;
+puts(buf);
+.EE
+.\" ----- EXAMPLES :: Implementations :: ------------------------------/
+.SS Implementations
+Here are reference implementations for functions not provided by libc.
+.PP
+.in +4n
+.EX
+/* This code is in the public domain. */
+
+.\" ----- EXAMPLES :: Implementations :: stpecpy(3) -------------------/
+char *
+.IR stpecpy "(char *dst, char end[0], const char *restrict src)"
+{
+ char *p;
+
+ if (dst == end)
+ return end;
+
+ p = memccpy(dst, src, \(aq\e0\(aq, end \- dst);
+ if (p != NULL)
+ return p \- 1;
+
+ /* truncation detected */
+ end[\-1] = \(aq\e0\(aq;
+ return end;
+}
+
+.\" ----- EXAMPLES :: Implementations :: stpecpy(3) -------------------/
+char *
+.IR stpecpyx "(char *dst, char end[0], const char *restrict src)"
+{
+ if (src[strlen(src)] != \(aq\e0\(aq)
+ raise(SIGSEGV);
+
+ return stpecpy(dst, end, src);
+}
+
+.\" ----- EXAMPLES :: Implementations :: zustr2ustp(3) ----------------/
+char *
+.IR zustr2ustp "(char *restrict dst, const char *restrict src, size_t sz)"
+{
+ return ustpcpy(dst, src, strnlen(src, sz));
+}
+
+.\" ----- EXAMPLES :: Implementations :: zustr2stp(3) -----------------/
+char *
+.IR zustr2stp "(char *restrict dst, const char *restrict src, size_t sz)"
+{
+ char *p;
+
+ p = zustr2ustp(dst, src, sz);
+ *p = \(aq\e0\(aq;
+
+ return p;
+}
+
+.\" ----- EXAMPLES :: Implementations :: ustpcpy(3) -------------------/
+char *
+.IR ustpcpy "(char *restrict dst, const char *restrict src, size_t len)"
+{
+ return mempcpy(dst, src, len);
+}
+
+.\" ----- EXAMPLES :: Implementations :: ustr2stp(3) ------------------/
+char *
+.IR ustr2stp "(char *restrict dst, const char *restrict src, size_t len)"
+{
+ char *p;
+
+ p = ustpcpy(dst, src, len);
+ *p = \(aq\e0\(aq;
+
+ return p;
+}
+.EE
+.in
+.\" ----- SEE ALSO :: -------------------------------------------------/
+.SH SEE ALSO
+.BR bzero (3),
+.BR memcpy (3),
+.BR memccpy (3),
+.BR mempcpy (3),
+.BR stpcpy (3),
+.BR strlcpy (3bsd),
+.BR strncat (3),
+.BR stpncpy (3),
+.BR string (3)
diff --git a/man7/suffixes.7 b/man7/suffixes.7
index 0487a8a31..1d629eacc 100644
--- a/man7/suffixes.7
+++ b/man7/suffixes.7
@@ -1,3 +1,4 @@
+'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
@@ -13,10 +14,7 @@
.\" Modified Thu Nov 16 23:28:25 2000 by David A. Wheeler
.\" <dwheeler@dwheeler.com>
.\"
-.\" "nroff" ("man") (or "tbl") needs a long page to avoid warnings
-.\" from "grotty" (at imagined page breaks). Bug in grotty?
-.if n .pl 1000v
-.TH SUFFIXES 7 2022-10-09 "Linux man-pages 6.01"
+.TH SUFFIXES 7 2022-12-20 "Linux man-pages 6.02"
.SH NAME
suffixes \- list of file suffixes
.SH DESCRIPTION
@@ -36,222 +34,222 @@ l | l
_ | _
lI | l .
Suffix File type
- ,v files for RCS (Revision Control System)
- - backup file
- .C C++ source code, equivalent to \fI.cc\fP
- .F Fortran source with \fBcpp\fP(1) directives
- or file compressed using freeze
- .S assembler source with \fBcpp\fP(1) directives
- .Y file compressed using yabba
- .Z file compressed using \fBcompress\fP(1)
- .[0\-9]+gf TeX generic font files
- .[0\-9]+pk TeX packed font files
- .[1\-9] manual page for the corresponding section
- .[1\-9][a-z] manual page for section plus subsection
- .a static object code library
- .ad X application default resource file
- .ada Ada source (may be body, spec, or combination)
- .adb Ada body source
- .ads Ada spec source
- .afm PostScript font metrics
- .al Perl autoload file
- .am \fBautomake\fP(1) input file
- .arc \fBarc\fP(1) archive
- .arj \fBarj\fP(1) archive
- .asc PGP ASCII-armored data
- .asm (GNU) assembler source file
- .au Audio sound file
- .aux LaTeX auxiliary file
- .avi (msvideo) movie
- .awk AWK language program
- .b LILO boot loader image
- .bak backup file
- .bash \fBbash\fP(1) shell script
- .bb basic block list data produced by
- gcc \-ftest\-coverage
- .bbg basic block graph data produced by
- gcc \-ftest\-coverage
- .bbl BibTeX output
- .bdf X font file
- .bib TeX bibliographic database, BibTeX input
- .bm bitmap source
- .bmp bitmap
- .bz2 file compressed using \fBbzip2\fP(1)
- .c C source
- .cat message catalog files
- .cc C++ source
- .cf configuration file
- .cfg configuration file
- .cgi WWW content generating script or program
- .cls LaTeX Class definition
- .class Java compiled byte-code
- .conf configuration file
- .config configuration file
- .cpp equivalent to \fI.cc\fR
- .csh \fBcsh\fP(1) shell script
- .cxx equivalent to \fI.cc\fR
- .dat data file
- .deb Debian software package
- .def Modula-2 source for definition modules
- .def other definition files
- .desc initial part of mail message unpacked with
- \fBmunpack\fP(1)
- .diff file differences (\fBdiff\fP(1) command output)
- .dir dbm data base directory file
- .doc documentation file
- .dsc Debian Source Control (source package)
- .dtx LaTeX package source file
- .dvi TeX's device independent output
- .el Emacs-Lisp source
- .elc compiled Emacs-Lisp source
- .eps encapsulated PostScript
- .exp Expect source code
- .f Fortran source
- .f77 Fortran 77 source
- .f90 Fortran 90 source
- .fas precompiled Common-Lisp
- .fi Fortran include files
- .fig FIG image file (used by \fBxfig\fP(1))
- .fmt TeX format file
- .gif Compuserve Graphics Image File format
- .gmo GNU format message catalog
- .gsf Ghostscript fonts
- .gz file compressed using \fBgzip\fP(1)
- .h C or C++ header files
- .help help file
- .hf equivalent to \fI.help\fP
- .hlp equivalent to \fI.help\fP
- .htm poor man's \fI.html\fP
- .html HTML document used with the World Wide Web
- .hqx 7-bit encoded Macintosh file
- .i C source after preprocessing
- .icon bitmap source
- .idx reference or datum-index file for hypertext
- or database system
- .image bitmap source
- .in configuration template, especially for GNU Autoconf
- .info files for the Emacs info browser
- .info-[0\-9]+ split info files
- .ins LaTeX package install file for docstrip
- .itcl itcl source code;
- itcl ([incr Tcl]) is an OO extension of tcl
- .java a Java source file
- .jpeg Joint Photographic Experts Group format
- .jpg poor man's \fI.jpeg\fP
- .kmap \fBlyx\fP(1) keymap
- .l equivalent to \fI.lex\fP or \fI.lisp\fP
- .lex \fBlex\fP(1) or \fBflex\fP(1) files
- .lha lharc archive
- .lib Common-Lisp library
- .lisp Lisp source
- .ln files for use with \fBlint\fP(1)
- .log log file, in particular produced by TeX
- .lsm Linux Software Map entry
- .lsp Common-Lisp source
- .lzh lharc archive
- .m Objective-C source code
- .m4 \fBm4\fP(1) source
- .mac macro files for various programs
- .man manual page (usually source rather than formatted)
- .map map files for various programs
- .me Nroff source using the me macro package
- .mf Metafont (font generator for TeX) source
- .mgp MagicPoint file
- .mm sources for \fBgroff\fP(1) in mm - format
- .mo Message catalog binary file
- .mod Modula-2 source for implementation modules
- .mov (quicktime) movie
- .mp Metapost source
- .mp2 MPEG Layer 2 (audio) file
- .mp3 MPEG Layer 3 (audio) file
- .mpeg movie file
- .o object file
- .old old or backup file
- .orig backup (original) version of a file, from \fBpatch\fP(1)
- .out output file, often executable program (a.out)
- .p Pascal source
- .pag dbm data base data file
- .patch file differences for \fBpatch\fP(1)
- .pbm portable bitmap format
- .pcf X11 font files
- .pdf Adobe Portable Data Format
- (use Acrobat/\fBacroread\fP or \fBxpdf\fP)
- .perl Perl source (see .ph, .pl, and .pm)
- .pfa PostScript font definition files, ASCII format
- .pfb PostScript font definition files, binary format
- .pgm portable greymap format
- .pgp PGP binary data
- .ph Perl header file
- .php PHP program file
- .php3 PHP3 program file
- .pid File to store daemon PID (e.g., crond.pid)
- .pl TeX property list file or Perl library file
- .pm Perl module
- .png Portable Network Graphics file
- .po Message catalog source
- .pod \fBperldoc\fP(1) file
- .ppm portable pixmap format
- .pr bitmap source
- .ps PostScript file
- .py Python source
- .pyc compiled python
- .qt quicktime movie
- .r RATFOR source (obsolete)
- .rej patches that \fBpatch\fP(1) couldn't apply
- .rpm RPM software package
- .rtf Rich Text Format file
- .rules rules for something
- .s assembler source
- .sa stub libraries for a.out shared libraries
- .sc \fBsc\fP(1) spreadsheet commands
- .scm Scheme source code
- .sed sed source file
- .sgml SGML source file
- .sh \fBsh\fP(1) scripts
- .shar archive created by the \fBshar\fP(1) utility
- .so Shared library or dynamically loadable object
- .sql SQL source
- .sqml SQML schema or query program
- .sty LaTeX style files
- .sym Modula-2 compiled definition modules
- .tar archive created by the \fBtar\fP(1) utility
- .tar.Z tar(1) archive compressed with \fBcompress\fP(1)
- .tar.bz2 tar(1) archive compressed with \fBbzip2\fP(1)
- .tar.gz tar(1) archive compressed with \fBgzip\fP(1)
- .taz tar(1) archive compressed with \fBcompress\fP(1)
- .tcl tcl source code
- .tex TeX or LaTeX source
- .texi equivalent to \fI.texinfo\fP
- .texinfo Texinfo documentation source
- .text text file
- .tfm TeX font metric file
- .tgz tar archive compressed with \fBgzip\fP(1)
- .tif poor man's \fI.tiff\fP
- .tiff Tagged Image File Format
- .tk tcl/tk script
- .tmp temporary file
- .tmpl template files
- .txt equivalent to \fI.text\fP
- .uu equivalent to \fI.uue\fP
- .uue binary file encoded with \fBuuencode\fP(1)
- .vf TeX virtual font file
- .vpl TeX virtual property list file
- .w Silvio Levi's CWEB
- .wav wave sound file
- .web Donald Knuth's WEB
- .wml Source file for Web Meta Language
- .xbm X11 bitmap source
- .xcf GIMP graphic
- .xml eXtended Markup Language file
- .xpm X11 pixmap source
- .xs Perl xsub file produced by h2xs
- .xsl XSL stylesheet
- .y \fByacc\fP(1) or \fBbison\fP(1) (parser generator) files
- .z File compressed using \fBpack\fP(1) (or an old \fBgzip\fP(1))
- .zip \fBzip\fP(1) archive
- .zoo \fBzoo\fP(1) archive
- \(ti Emacs or \fBpatch\fP(1) backup file
- rc startup (`run control') file, e.g., \fI.newsrc\fP
+\&,v files for RCS (Revision Control System)
+\&- backup file
+\&.C C++ source code, equivalent to \fI.cc\fP
+\&.F Fortran source with \fBcpp\fP(1) directives
+\& or file compressed using freeze
+\&.S assembler source with \fBcpp\fP(1) directives
+\&.Y file compressed using yabba
+\&.Z file compressed using \fBcompress\fP(1)
+\&.[0\-9]+gf TeX generic font files
+\&.[0\-9]+pk TeX packed font files
+\&.[1\-9] manual page for the corresponding section
+\&.[1\-9][a-z] manual page for section plus subsection
+\&.a static object code library
+\&.ad X application default resource file
+\&.ada Ada source (may be body, spec, or combination)
+\&.adb Ada body source
+\&.ads Ada spec source
+\&.afm PostScript font metrics
+\&.al Perl autoload file
+\&.am \fBautomake\fP(1) input file
+\&.arc \fBarc\fP(1) archive
+\&.arj \fBarj\fP(1) archive
+\&.asc PGP ASCII-armored data
+\&.asm (GNU) assembler source file
+\&.au Audio sound file
+\&.aux LaTeX auxiliary file
+\&.avi (msvideo) movie
+\&.awk AWK language program
+\&.b LILO boot loader image
+\&.bak backup file
+\&.bash \fBbash\fP(1) shell script
+\&.bb basic block list data produced by
+\& gcc \-ftest\-coverage
+\&.bbg basic block graph data produced by
+\& gcc \-ftest\-coverage
+\&.bbl BibTeX output
+\&.bdf X font file
+\&.bib TeX bibliographic database, BibTeX input
+\&.bm bitmap source
+\&.bmp bitmap
+\&.bz2 file compressed using \fBbzip2\fP(1)
+\&.c C source
+\&.cat message catalog files
+\&.cc C++ source
+\&.cf configuration file
+\&.cfg configuration file
+\&.cgi WWW content generating script or program
+\&.cls LaTeX Class definition
+\&.class Java compiled byte-code
+\&.conf configuration file
+\&.config configuration file
+\&.cpp equivalent to \fI.cc\fR
+\&.csh \fBcsh\fP(1) shell script
+\&.cxx equivalent to \fI.cc\fR
+\&.dat data file
+\&.deb Debian software package
+\&.def Modula-2 source for definition modules
+\&.def other definition files
+\&.desc initial part of mail message unpacked with
+\& \fBmunpack\fP(1)
+\&.diff file differences (\fBdiff\fP(1) command output)
+\&.dir dbm data base directory file
+\&.doc documentation file
+\&.dsc Debian Source Control (source package)
+\&.dtx LaTeX package source file
+\&.dvi TeX's device independent output
+\&.el Emacs-Lisp source
+\&.elc compiled Emacs-Lisp source
+\&.eps encapsulated PostScript
+\&.exp Expect source code
+\&.f Fortran source
+\&.f77 Fortran 77 source
+\&.f90 Fortran 90 source
+\&.fas precompiled Common-Lisp
+\&.fi Fortran include files
+\&.fig FIG image file (used by \fBxfig\fP(1))
+\&.fmt TeX format file
+\&.gif Compuserve Graphics Image File format
+\&.gmo GNU format message catalog
+\&.gsf Ghostscript fonts
+\&.gz file compressed using \fBgzip\fP(1)
+\&.h C or C++ header files
+\&.help help file
+\&.hf equivalent to \fI.help\fP
+\&.hlp equivalent to \fI.help\fP
+\&.htm poor man's \fI.html\fP
+\&.html HTML document used with the World Wide Web
+\&.hqx 7-bit encoded Macintosh file
+\&.i C source after preprocessing
+\&.icon bitmap source
+\&.idx reference or datum-index file for hypertext
+\& or database system
+\&.image bitmap source
+\&.in configuration template, especially for GNU Autoconf
+\&.info files for the Emacs info browser
+\&.info-[0\-9]+ split info files
+\&.ins LaTeX package install file for docstrip
+\&.itcl itcl source code;
+\& itcl ([incr Tcl]) is an OO extension of tcl
+\&.java a Java source file
+\&.jpeg Joint Photographic Experts Group format
+\&.jpg poor man's \fI.jpeg\fP
+\&.kmap \fBlyx\fP(1) keymap
+\&.l equivalent to \fI.lex\fP or \fI.lisp\fP
+\&.lex \fBlex\fP(1) or \fBflex\fP(1) files
+\&.lha lharc archive
+\&.lib Common-Lisp library
+\&.lisp Lisp source
+\&.ln files for use with \fBlint\fP(1)
+\&.log log file, in particular produced by TeX
+\&.lsm Linux Software Map entry
+\&.lsp Common-Lisp source
+\&.lzh lharc archive
+\&.m Objective-C source code
+\&.m4 \fBm4\fP(1) source
+\&.mac macro files for various programs
+\&.man manual page (usually source rather than formatted)
+\&.map map files for various programs
+\&.me Nroff source using the me macro package
+\&.mf Metafont (font generator for TeX) source
+\&.mgp MagicPoint file
+\&.mm sources for \fBgroff\fP(1) in mm - format
+\&.mo Message catalog binary file
+\&.mod Modula-2 source for implementation modules
+\&.mov (quicktime) movie
+\&.mp Metapost source
+\&.mp2 MPEG Layer 2 (audio) file
+\&.mp3 MPEG Layer 3 (audio) file
+\&.mpeg movie file
+\&.o object file
+\&.old old or backup file
+\&.orig backup (original) version of a file, from \fBpatch\fP(1)
+\&.out output file, often executable program (a.out)
+\&.p Pascal source
+\&.pag dbm data base data file
+\&.patch file differences for \fBpatch\fP(1)
+\&.pbm portable bitmap format
+\&.pcf X11 font files
+\&.pdf Adobe Portable Data Format
+\& (use Acrobat/\fBacroread\fP or \fBxpdf\fP)
+\&.perl Perl source (see .ph, .pl, and .pm)
+\&.pfa PostScript font definition files, ASCII format
+\&.pfb PostScript font definition files, binary format
+\&.pgm portable greymap format
+\&.pgp PGP binary data
+\&.ph Perl header file
+\&.php PHP program file
+\&.php3 PHP3 program file
+\&.pid File to store daemon PID (e.g., crond.pid)
+\&.pl TeX property list file or Perl library file
+\&.pm Perl module
+\&.png Portable Network Graphics file
+\&.po Message catalog source
+\&.pod \fBperldoc\fP(1) file
+\&.ppm portable pixmap format
+\&.pr bitmap source
+\&.ps PostScript file
+\&.py Python source
+\&.pyc compiled python
+\&.qt quicktime movie
+\&.r RATFOR source (obsolete)
+\&.rej patches that \fBpatch\fP(1) couldn't apply
+\&.rpm RPM software package
+\&.rtf Rich Text Format file
+\&.rules rules for something
+\&.s assembler source
+\&.sa stub libraries for a.out shared libraries
+\&.sc \fBsc\fP(1) spreadsheet commands
+\&.scm Scheme source code
+\&.sed sed source file
+\&.sgml SGML source file
+\&.sh \fBsh\fP(1) scripts
+\&.shar archive created by the \fBshar\fP(1) utility
+\&.so Shared library or dynamically loadable object
+\&.sql SQL source
+\&.sqml SQML schema or query program
+\&.sty LaTeX style files
+\&.sym Modula-2 compiled definition modules
+\&.tar archive created by the \fBtar\fP(1) utility
+\&.tar.Z tar(1) archive compressed with \fBcompress\fP(1)
+\&.tar.bz2 tar(1) archive compressed with \fBbzip2\fP(1)
+\&.tar.gz tar(1) archive compressed with \fBgzip\fP(1)
+\&.taz tar(1) archive compressed with \fBcompress\fP(1)
+\&.tcl tcl source code
+\&.tex TeX or LaTeX source
+\&.texi equivalent to \fI.texinfo\fP
+\&.texinfo Texinfo documentation source
+\&.text text file
+\&.tfm TeX font metric file
+\&.tgz tar archive compressed with \fBgzip\fP(1)
+\&.tif poor man's \fI.tiff\fP
+\&.tiff Tagged Image File Format
+\&.tk tcl/tk script
+\&.tmp temporary file
+\&.tmpl template files
+\&.txt equivalent to \fI.text\fP
+\&.uu equivalent to \fI.uue\fP
+\&.uue binary file encoded with \fBuuencode\fP(1)
+\&.vf TeX virtual font file
+\&.vpl TeX virtual property list file
+\&.w Silvio Levi's CWEB
+\&.wav wave sound file
+\&.web Donald Knuth's WEB
+\&.wml Source file for Web Meta Language
+\&.xbm X11 bitmap source
+\&.xcf GIMP graphic
+\&.xml eXtended Markup Language file
+\&.xpm X11 pixmap source
+\&.xs Perl xsub file produced by h2xs
+\&.xsl XSL stylesheet
+\&.y \fByacc\fP(1) or \fBbison\fP(1) (parser generator) files
+\&.z File compressed using \fBpack\fP(1) (or an old \fBgzip\fP(1))
+\&.zip \fBzip\fP(1) archive
+\&.zoo \fBzoo\fP(1) archive
+\&\(ti Emacs or \fBpatch\fP(1) backup file
+\&rc startup (`run control') file, e.g., \fI.newsrc\fP
.TE
.SH STANDARDS
General UNIX conventions.
diff --git a/man7/symlink.7 b/man7/symlink.7
index 6e6a08253..4d916751c 100644
--- a/man7/symlink.7
+++ b/man7/symlink.7
@@ -10,7 +10,7 @@
.\" 2008-06-11, mtk, Taken from FreeBSD 6.2 and heavily edited for
.\" specific Linux details, improved readability, and man-pages style.
.\"
-.TH SYMLINK 7 2022-10-09 "Linux man-pages 6.01"
+.TH symlink 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
symlink \- symbolic link handling
.SH DESCRIPTION
@@ -168,12 +168,12 @@ exceeded.)
.PP
There are three separate areas that need to be discussed.
They are as follows:
-.IP 1. 3
+.IP \(bu 3
Symbolic links used as filename arguments for system calls.
-.IP 2.
+.IP \(bu
Symbolic links specified as command-line arguments to utilities that
are not traversing a file tree.
-.IP 3.
+.IP \(bu
Symbolic links encountered by utilities that are traversing a file tree
(either specified on the command line or encountered as part of the
file hierarchy walk).
@@ -198,7 +198,7 @@ system calls.
.PP
The treatment of symbolic links within a pathname passed to
a system call is as follows:
-.IP 1. 3
+.IP (1) 5
Within the dirname component of a pathname,
symbolic links are always followed in nearly every system call.
(This is also true for commands.)
@@ -206,7 +206,7 @@ The one exception is
.BR openat2 (2),
which provides flags that can be used to explicitly
prevent following of symbolic links in the dirname component.
-.IP 2.
+.IP (2)
Except as noted below,
all system calls follow symbolic links
in the basename component of a pathname.
@@ -315,7 +315,7 @@ would change the ownership of
itself.
.PP
There are some exceptions to this rule:
-.IP * 2
+.IP \(bu 3
The
.BR mv (1)
and
@@ -325,7 +325,7 @@ but respectively attempt to rename and delete them.
(Note, if the symbolic link references a file via a relative path,
moving it to another directory may very well cause it to stop working,
since the path may no longer be correct.)
-.IP *
+.IP \(bu
The
.BR ls (1)
command is also an exception to this rule.
@@ -355,7 +355,7 @@ and
.I \-L
options affect its behavior even though it is not doing a walk of
a file tree.)
-.IP *
+.IP \(bu
The
.BR file (1)
command is also an exception to this rule.
@@ -415,7 +415,7 @@ walk (where symbolic links that refer to directories are followed).
.PP
Certain conventions are (should be) followed as consistently as
possible by commands that perform file tree walks:
-.IP * 2
+.IP \(bu 3
A command can be made to follow
any symbolic links named on the command line,
regardless of the type of file they reference, by specifying the
@@ -444,7 +444,7 @@ flag causes symbolic links specified on the command line to be
dereferenced for the purposes of both the action to be performed
and the tree walk, and it is as if the user had specified the
name of the file to which the symbolic link pointed.
-.IP *
+.IP \(bu
A command can be made to
follow any symbolic links named on the command line,
as well as any symbolic links encountered during the traversal,
@@ -473,7 +473,7 @@ In addition, if any symbolic links are encountered in any file tree that
.B chown
traverses, they will be treated in the same fashion as
.IR slink .
-.IP *
+.IP \(bu
A command can be made to
provide the default behavior by specifying the
.I \-P
@@ -504,7 +504,7 @@ The
and
.BR rm (1)
commands have exceptions to these rules:
-.IP * 2
+.IP \(bu 3
The
.BR rm (1)
command operates on the symbolic link, and not the file it references,
@@ -517,7 +517,7 @@ command does not support the
or
.I \-P
options.
-.IP *
+.IP \(bu
To maintain compatibility with historic systems,
the
.BR ls (1)
diff --git a/man7/system_data_types.7 b/man7/system_data_types.7
index a082cfeb9..34d0796bd 100644
--- a/man7/system_data_types.7
+++ b/man7/system_data_types.7
@@ -1,10 +1,10 @@
-.\" Copyright (c) 2020 by Alejandro Colomar <colomar.6.4.3@gmail.com>
+.\" Copyright (c) 2020 by Alejandro Colomar <alx@kernel.org>
.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH SYSTEM_DATA_TYPES 7 2022-10-09 "Linux man-pages 6.01"
+.TH system_data_types 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
system_data_types \- overview of system data types
.SH DESCRIPTION
diff --git a/man7/sysvipc.7 b/man7/sysvipc.7
index 78dff16e8..eefe43529 100644
--- a/man7/sysvipc.7
+++ b/man7/sysvipc.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SVIPC 7 2022-10-09 "Linux man-pages 6.01"
+.TH sysvipc 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
sysvipc \- System V interprocess communication mechanisms
.SH DESCRIPTION
diff --git a/man7/tcp.7 b/man7/tcp.7
index 2cb294d9a..4695341ba 100644
--- a/man7/tcp.7
+++ b/man7/tcp.7
@@ -74,7 +74,7 @@
.\" Author: Pavel Emelyanov <xemul@parallels.com>
.\"
.\" TCP_FASTOPEN (3.6)
-.\" (Fast Open server side implementation completed in 3.7)
+.\" (Fast Open server side implementation completed in Linux 3.7)
.\" http://lwn.net/Articles/508865/
.\"
.\" TCP_TIMESTAMP (3.9)
@@ -93,7 +93,7 @@
.\" commit cd8ae85299d54155702a56811b2e035e63064d3d
.\" Author: Eric Dumazet <edumazet@google.com>
.\"
-.TH TCP 7 2022-10-09 "Linux man-pages 6.01"
+.TH tcp 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
tcp \- TCP protocol
.SH SYNOPSIS
@@ -258,24 +258,27 @@ the corresponding option is enabled, and a zero value ("false")
meaning that the option is disabled.
.TP
.IR tcp_abc " (Integer; default: 0; Linux 2.6.15 to Linux 3.8)"
-.\" Since 2.6.15; removed in 3.9
+.\" Since Linux 2.6.15; removed in Linux 3.9
.\" commit ca2eb5679f8ddffff60156af42595df44a315ef0
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Control the Appropriate Byte Count (ABC), defined in RFC 3465.
ABC is a way of increasing the congestion window
.RI ( cwnd )
more slowly in response to partial acknowledgements.
Possible values are:
.RS
-.IP 0 3
+.TP
+.B 0
increase
.I cwnd
once per acknowledgement (no ABC)
-.IP 1
+.TP
+.B 1
increase
.I cwnd
once per acknowledgement of full sized segment
-.IP 2
+.TP
+.B 2
allow increase
.I cwnd
by two if acknowledgement is
@@ -283,7 +286,7 @@ of two segments to compensate for delayed acknowledgements.
.RE
.TP
.IR tcp_abort_on_overflow " (Boolean; default: disabled; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
Enable resetting connections if the listening service is too
slow and unable to keep up and accept them.
It means that if overflow occurred due
@@ -295,7 +298,7 @@ cannot be tuned to accept connections faster.
Enabling this option can harm the clients of your server.
.TP
.IR tcp_adv_win_scale " (integer; default: 2; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Count buffering overhead as
.IR "bytes/2^tcp_adv_win_scale" ,
if
@@ -320,7 +323,7 @@ default value of 2 implies that the space
used for the application buffer is one fourth that of the total.
.TP
.IR tcp_allowed_congestion_control " (String; default: see text; since Linux 2.4.20)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Show/set the congestion control algorithm choices available to unprivileged
processes (see the description of the
.B TCP_CONGESTION
@@ -350,7 +353,7 @@ socket option to obtain optimal behavior
when they know how/when to uncork their sockets.
.TP
.IR tcp_available_congestion_control " (String; read-only; since Linux 2.4.20)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Show a list of the congestion-control algorithms
that are registered.
The items in the list are separated by white space and
@@ -361,7 +364,7 @@ More congestion-control algorithms may be available as modules,
but not loaded.
.TP
.IR tcp_app_win " (integer; default: 31; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This variable defines how many
bytes of the TCP window are reserved for buffering overhead.
.IP
@@ -369,7 +372,7 @@ A maximum of (\fIwindow/2^tcp_app_win\fP, mss) bytes in the window
are reserved for the application buffer.
A value of 0 implies that no amount is reserved.
.\"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_base_mss " (Integer; default: 512; since Linux 2.6.17)"
The initial value of
@@ -378,9 +381,9 @@ to be used by the packetization layer Path MTU discovery (MTU probing).
If MTU probing is enabled,
this is the initial MSS used by the connection.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic " (Boolean; default: disabled; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic " (Boolean; default: disabled; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Enable BIC TCP congestion control algorithm.
BIC-TCP is a sender-side-only change that ensures a linear RTT
fairness under large windows while offering both scalability and
@@ -392,21 +395,21 @@ increment ensures linear RTT fairness as well as good scalability.
Under small congestion windows, binary search
increase provides TCP friendliness.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_low_window " (integer; default: 14; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic_low_window " (integer; default: 14; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Set the threshold window (in packets) where BIC TCP starts to
adjust the congestion window.
Below this threshold BIC TCP behaves the same as the default TCP Reno.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_bic_fast_convergence " (Boolean; default: enabled; Linux 2.4.27/2.6.6 to 2.6.13)"
+.IR tcp_bic_fast_convergence " (Boolean; default: enabled; Linux 2.4.27/2.6.6 to Linux 2.6.13)"
Force BIC TCP to more quickly respond to changes in congestion window.
Allows two flows sharing the same connection to converge more rapidly.
.TP
.IR tcp_congestion_control " (String; default: see text; since Linux 2.4.13)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
Set the default congestion-control algorithm to be used for new connections.
The algorithm "reno" is always available,
but additional choices may be available depending on kernel configuration.
@@ -420,7 +423,7 @@ and the kernel was configured with the
option.
.TP
.IR tcp_dsack " (Boolean; default: enabled; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Enable RFC\ 2883 TCP Duplicate SACK support.
.TP
.IR tcp_fastopen " (Bitmask; default: 0x1; since Linux 3.7)"
@@ -451,19 +454,22 @@ Set server side RFC\~7413 Fast Open key to generate Fast Open cookie
when server side Fast Open support is enabled.
.TP
.IR tcp_ecn " (Integer; default: see below; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
Enable RFC\ 3168 Explicit Congestion Notification.
.IP
This file can have one of the following values:
.RS
-.IP 0
+.TP
+.B 0
Disable ECN.
Neither initiate nor accept ECN.
This was the default up to and including Linux 2.6.30.
-.IP 1
+.TP
+.B 1
Enable ECN when requested by incoming connections and also
request ECN on outgoing connection attempts.
-.IP 2
+.TP
+.B 2
.\" commit 255cac91c3c9ce7dca7713b93ab03c75b7902e0e
Enable ECN when requested by incoming connections,
but do not request ECN on outgoing connections.
@@ -486,21 +492,21 @@ normal SYN retransmission timeout will be resent with CWR and
ECE cleared.
.TP
.IR tcp_fack " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.92
+.\" Since Linux 2.1.92
Enable TCP Forward Acknowledgement support.
.TP
.IR tcp_fin_timeout " (integer; default: 60; since Linux 2.2)"
-.\" Since 2.1.53
+.\" Since Linux 2.1.53
This specifies how many seconds to wait for a final FIN packet before the
socket is forcibly closed.
This is strictly a violation of the TCP specification,
but required to prevent denial-of-service attacks.
In Linux 2.2, the default value was 180.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_frto " (integer; default: see below; since Linux 2.4.21/2.6)"
-.\" Since 2.4.21/2.5.43
+.\" Since Linux 2.4.21/2.5.43
Enable F-RTO, an enhanced recovery algorithm for TCP retransmission
timeouts (RTOs).
It is particularly beneficial in wireless environments
@@ -510,12 +516,15 @@ See RFC 4138 for more details.
.IP
This file can have one of the following values:
.RS
-.IP 0 3
+.TP
+.B 0
Disabled.
This was the default up to and including Linux 2.6.23.
-.IP 1
+.TP
+.B 1
The basic version F-RTO algorithm is enabled.
-.IP 2
+.TP
+.B 2
.\" commit c96fd3d461fa495400df24be3b3b66f0e0b152f9
Enable SACK-enhanced F-RTO if flow uses SACK.
The basic version can be used also when
@@ -534,21 +543,24 @@ longer retransmission timeout),
TCP has several options concerning what to do next.
Possible values are:
.RS
-.IP 0 3
+.TP
+.B 0
Rate halving based; a smooth and conservative response,
results in halved congestion window
.RI ( cwnd )
and slow-start threshold
.RI ( ssthresh )
after one RTT.
-.IP 1
+.TP
+.B 1
Very conservative response; not recommended because even
though being valid, it interacts poorly with the rest of Linux TCP; halves
.I cwnd
and
.I ssthresh
immediately.
-.IP 2
+.TP
+.B 2
Aggressive response; undoes congestion-control measures
that are now known to be unnecessary
(ignoring the possibility of a lost retransmission that would require
@@ -560,17 +572,17 @@ are restored to the values prior to timeout.
.RE
.TP
.IR tcp_keepalive_intvl " (integer; default: 75; since Linux 2.4)"
-.\" Since 2.3.18
+.\" Since Linux 2.3.18
The number of seconds between TCP keep-alive probes.
.TP
.IR tcp_keepalive_probes " (integer; default: 9; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The maximum number of TCP keep-alive probes to send
before giving up and killing the connection if
no response is obtained from the other end.
.TP
.IR tcp_keepalive_time " (integer; default: 7200; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The number of seconds a connection needs to be idle
before TCP begins sending out keep-alive probes.
Keep-alives are sent only when the
@@ -584,11 +596,11 @@ of 75 seconds apart) when keep-alive is enabled.
Note that underlying connection tracking mechanisms and
application timeouts may be much shorter.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_low_latency " (Boolean; default: disabled; since Linux 2.4.21/2.6; \
obsolete since Linux 4.14)"
-.\" Since 2.4.21/2.5.60
+.\" Since Linux 2.4.21/2.5.60
If enabled, the TCP stack makes decisions that prefer lower
latency as opposed to higher throughput.
It this option is disabled, then higher throughput is preferred.
@@ -599,7 +611,7 @@ Since Linux 4.14,
this file still exists, but its value is ignored.
.TP
.IR tcp_max_orphans " (integer; default: see below; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of orphaned (not attached to any user file
handle) TCP sockets allowed in the system.
When this number is exceeded,
@@ -613,7 +625,7 @@ The default initial value is set equal to the kernel parameter NR_FILE.
This initial default is adjusted depending on the memory in the system.
.TP
.IR tcp_max_syn_backlog " (integer; default: see below; since Linux 2.2)"
-.\" Since 2.1.53
+.\" Since Linux 2.1.53
The maximum number of queued connection requests which have
still not received an acknowledgement from the connecting client.
If this number is exceeded, the kernel will begin
@@ -623,7 +635,7 @@ The default value of 256 is increased to
greater (>= 128\ MB), and reduced to 128 for those systems with
very low memory (<= 32\ MB).
.IP
-Prior to Linux 2.6.20,
+Before Linux 2.6.20,
.\" commit 72a3effaf633bcae9034b7e176bdbd78d64a71db
it was recommended that if this needed to be increased above 1024,
the size of the SYNACK hash table
@@ -645,7 +657,7 @@ In Linux 2.6.20, the fixed sized
was removed in favor of dynamic sizing.
.TP
.IR tcp_max_tw_buckets " (integer; default: see below; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of sockets in TIME_WAIT state allowed in
the system.
This limit exists only to prevent simple denial-of-service attacks.
@@ -655,14 +667,14 @@ If this number is
exceeded, the socket is closed and a warning is printed.
.TP
.IR tcp_moderate_rcvbuf " (Boolean; default: enabled; since Linux 2.4.17/2.6.7)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
If enabled, TCP performs receive buffer auto-tuning,
attempting to automatically size the buffer (no greater than
.IR tcp_rmem[2] )
to match the size required by the path for full throughput.
.TP
.IR tcp_mem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [low, pressure, high].
These bounds, measured in units of the system page size,
are used by TCP to track its memory usage.
@@ -693,21 +705,24 @@ This value overrides any other limits imposed by the kernel.
.RE
.TP
.IR tcp_mtu_probing " (integer; default: 0; since Linux 2.6.17)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
This parameter controls TCP Packetization-Layer Path MTU Discovery.
The following values may be assigned to the file:
.RS
-.IP 0 3
+.TP
+.B 0
Disabled
-.IP 1
+.TP
+.B 1
Disabled by default, enabled when an ICMP black hole detected
-.IP 2
+.TP
+.B 2
Always enabled, use initial MSS of
.IR tcp_base_mss .
.RE
.TP
.IR tcp_no_metrics_save " (Boolean; default: disabled; since Linux 2.6.6)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
By default, TCP saves various connection metrics in the route cache
when the connection closes, so that connections established in the
near future can use these to set initial conditions.
@@ -718,12 +733,12 @@ If
is enabled, TCP will not cache metrics on closing connections.
.TP
.IR tcp_orphan_retries " (integer; default: 8; since Linux 2.4)"
-.\" Since 2.3.41
+.\" Since Linux 2.3.41
The maximum number of attempts made to probe the other
end of a connection which has been closed by our end.
.TP
.IR tcp_reordering " (integer; default: 3; since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
The maximum a packet can be reordered in a TCP packet stream
without TCP assuming packet loss and going into slow start.
It is not advisable to change this number.
@@ -732,11 +747,11 @@ minimize unnecessary back off and retransmits provoked by
reordering of packets on a connection.
.TP
.IR tcp_retrans_collapse " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.96
+.\" Since Linux 2.1.96
Try to send full-sized packets during retransmit.
.TP
.IR tcp_retries1 " (integer; default: 3; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The number of times TCP will attempt to retransmit a
packet on an established connection normally,
without the extra effort of getting the network layers involved.
@@ -746,7 +761,7 @@ update the route if possible before each new retransmit.
The default is the RFC specified minimum of 3.
.TP
.IR tcp_retries2 " (integer; default: 15; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
The maximum number of times a TCP packet is retransmitted
in established state before giving up.
The default value is 15, which corresponds to a duration of
@@ -756,7 +771,7 @@ The RFC\ 1122 specified
minimum limit of 100 seconds is typically deemed too short.
.TP
.IR tcp_rfc1337 " (Boolean; default: disabled; since Linux 2.2)"
-.\" Since 2.1.90
+.\" Since Linux 2.1.90
Enable TCP behavior conformant with RFC\ 1337.
When disabled,
if a RST is received in TIME_WAIT state, we close
@@ -764,7 +779,7 @@ the socket immediately without waiting for the end
of the TIME_WAIT period.
.TP
.IR tcp_rmem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate receive buffer sizes.
TCP dynamically adjusts the size of the
@@ -821,11 +836,11 @@ lowered to 87380 in low-memory systems).
.RE
.TP
.IR tcp_sack " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Enable RFC\ 2018 TCP Selective Acknowledgements.
.TP
.IR tcp_slow_start_after_idle " (Boolean; default: enabled; since Linux 2.6.18)"
-.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
If enabled, provide RFC 2861 behavior and time out the congestion
window after an idle period.
An idle period is defined as the current RTO (retransmission timeout).
@@ -833,7 +848,7 @@ If disabled, the congestion window will not
be timed out after an idle period.
.TP
.IR tcp_stdurg " (Boolean; default: disabled; since Linux 2.2)"
-.\" Since 2.1.44
+.\" Since Linux 2.1.44
If this option is enabled, then use the RFC\ 1122 interpretation
of the TCP urgent-pointer field.
.\" RFC 793 was ambiguous in its specification of the meaning of the
@@ -847,7 +862,7 @@ the urgent pointer points to the first byte after the urgent data.
Enabling this option may lead to interoperability problems.
.TP
.IR tcp_syn_retries " (integer; default: 6; since Linux 2.2)"
-.\" Since 2.1.38
+.\" Since Linux 2.1.38
The maximum number of times initial SYNs for an active TCP
connection attempt will be retransmitted.
This value should not be higher than 255.
@@ -860,13 +875,13 @@ the default value was 5, which
corresponded to approximately 180 seconds.
.TP
.IR tcp_synack_retries " (integer; default: 5; since Linux 2.2)"
-.\" Since 2.1.38
+.\" Since Linux 2.1.38
The maximum number of times a SYN/ACK segment
for a passive TCP connection will be retransmitted.
This number should not be higher than 255.
.TP
.IR tcp_syncookies " (integer; default: 1; since Linux 2.2)"
-.\" Since 2.1.43
+.\" Since Linux 2.1.43
Enable TCP syncookies.
The kernel must be compiled with
.BR CONFIG_SYN_COOKIES .
@@ -885,11 +900,14 @@ and
.IR tcp_abort_on_overflow .
Set to one of the following values:
.RS
-.IP 0 3
+.TP
+.B 0
Disable TCP syncookies.
-.IP 1
+.TP
+.B 1
Send out syncookies when the syn backlog queue of a socket overflows.
-.IP 2
+.TP
+.B 2
(since Linux 3.12)
.\" commit 5ad37d5deee1ff7150a2d0602370101de158ad86
Send out syncookies unconditionally.
@@ -897,16 +915,19 @@ This can be useful for network testing.
.RE
.TP
.IR tcp_timestamps " (integer; default: 1; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Set to one of the following values to enable or disable RFC\ 1323
TCP timestamps:
.RS
-.IP 0 3
+.TP
+.B 0
Disable timestamps.
-.IP 1
+.TP
+.B 1
Enable timestamps as defined in RFC1323 and use random offset for
each connection rather than only using the current time.
-.IP 2
+.TP
+.B 2
As for the value 1, but without random offsets.
.\" commit 25429d7b7dca01dc4f17205de023a30ca09390d0
Setting
@@ -920,9 +941,9 @@ can be consumed by a single TCP Segmentation Offload (TSO) frame.
The setting of this parameter is a tradeoff between burstiness and
building larger TSO frames.
.TP
-.IR tcp_tw_recycle " (Boolean; default: disabled; Linux 2.4 to 4.11)"
-.\" Since 2.3.15
-.\" removed in 4.12; commit 4396e46187ca5070219b81773c4e65088dac50cc
+.IR tcp_tw_recycle " (Boolean; default: disabled; Linux 2.4 to Linux 4.11)"
+.\" Since Linux 2.3.15
+.\" removed in Linux 4.12; commit 4396e46187ca5070219b81773c4e65088dac50cc
Enable fast recycling of TIME_WAIT sockets.
Enabling this option is
not recommended as the remote IP may not use monotonically increasing
@@ -930,18 +951,18 @@ timestamps (devices behind NAT, devices with per-connection timestamp
offsets).
See RFC 1323 (PAWS) and RFC 6191.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
.IR tcp_tw_reuse " (Boolean; default: disabled; since Linux 2.4.19/2.6)"
-.\" Since 2.4.19/2.5.43
+.\" Since Linux 2.4.19/2.5.43
Allow to reuse TIME_WAIT sockets for new connections when it is
safe from protocol viewpoint.
It should not be changed without advice/request of technical experts.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_vegas_cong_avoid " (Boolean; default: disabled; Linux 2.2 to 2.6.13)"
-.\" Since 2.1.8; removed in 2.6.13
+.IR tcp_vegas_cong_avoid " (Boolean; default: disabled; Linux 2.2 to Linux 2.6.13)"
+.\" Since Linux 2.1.8; removed in Linux 2.6.13
Enable TCP Vegas congestion avoidance algorithm.
TCP Vegas is a sender-side-only change to TCP that anticipates
the onset of congestion by estimating the bandwidth.
@@ -949,9 +970,9 @@ TCP Vegas adjusts the sending rate by modifying the congestion window.
TCP Vegas should provide less packet loss, but it is
not as aggressive as TCP Reno.
.\"
-.\" The following is from 2.6.12: Documentation/networking/ip-sysctl.txt
+.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_westwood " (Boolean; default: disabled; Linux 2.4.26/2.6.3 to 2.6.13)"
+.IR tcp_westwood " (Boolean; default: disabled; Linux 2.4.26/2.6.3 to Linux 2.6.13)"
Enable TCP Westwood+ congestion control algorithm.
TCP Westwood+ is a sender-side-only modification of the TCP Reno
protocol stack that optimizes the performance of TCP congestion control.
@@ -964,7 +985,7 @@ TCP Westwood+ significantly increases fairness with respect to
TCP Reno in wired networks and throughput over wireless links.
.TP
.IR tcp_window_scaling " (Boolean; default: enabled; since Linux 2.2)"
-.\" Since 2.1.36
+.\" Since Linux 2.1.36
Enable RFC\ 1323 TCP window scaling.
This feature allows the use of a large window
(> 64\ kB) on a TCP connection, should the other end support it.
@@ -978,7 +999,7 @@ is disabled, TCP will not negotiate the use of window
scaling with the other end during connection setup.
.TP
.IR tcp_wmem " (since Linux 2.4)"
-.\" Since 2.4.0-test7
+.\" Since Linux 2.4.0-test7
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate send buffer sizes.
TCP dynamically adjusts the size of the send buffer from the
@@ -1075,7 +1096,7 @@ can choose from any of the available congestion-control algorithms
above).
.TP
.BR TCP_CORK " (since Linux 2.2)"
-.\" precisely: since 2.1.127
+.\" precisely: since Linux 2.1.127
If set, don't send out partial frames.
All queued partial frames are sent when the option is cleared again.
This is useful for prepending headers before calling
@@ -1091,7 +1112,7 @@ only since Linux 2.5.71.
This option should not be used in code intended to be portable.
.TP
.BR TCP_DEFER_ACCEPT " (since Linux 2.4)"
-.\" Precisely: since 2.3.38
+.\" Precisely: since Linux 2.3.38
.\" Useful references:
.\" http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/
.\" http://unix.stackexchange.com/questions/94104/real-world-use-of-tcp-defer-accept
@@ -1108,14 +1129,14 @@ The kernel returns a \fIstruct tcp_info\fP as defined in the file
This option should not be used in code intended to be portable.
.TP
.BR TCP_KEEPCNT " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The maximum number of keepalive probes TCP should send
before dropping the connection.
This option should not be
used in code intended to be portable.
.TP
.BR TCP_KEEPIDLE " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The time (in seconds) the connection needs to remain idle
before TCP starts sending keepalive probes, if the socket
option
@@ -1124,12 +1145,12 @@ has been set on this socket.
This option should not be used in code intended to be portable.
.TP
.BR TCP_KEEPINTVL " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
The time (in seconds) between individual keepalive probes.
This option should not be used in code intended to be portable.
.TP
.BR TCP_LINGER2 " (since Linux 2.4)"
-.\" Precisely: since 2.3.41
+.\" Precisely: since Linux 2.3.41
The lifetime of orphaned FIN_WAIT2 state sockets.
This option can be used to override the system-wide setting in the file
.I /proc/sys/net/ipv4/tcp_fin_timeout
@@ -1183,7 +1204,7 @@ This option should not be used in code intended to be
portable.
.TP
.BR TCP_SYNCNT " (since Linux 2.4)"
-.\" Precisely: since 2.3.18
+.\" Precisely: since Linux 2.3.18
Set the number of SYN retransmits that TCP should send before
aborting the attempt to connect.
It cannot exceed 255.
@@ -1236,7 +1257,7 @@ Further details on the user timeout feature can be found in
RFC\ 793 and RFC\ 5482 ("TCP User Timeout Option").
.TP
.BR TCP_WINDOW_CLAMP " (since Linux 2.4)"
-.\" Precisely: since 2.3.41
+.\" Precisely: since Linux 2.3.41
Bound the size of the advertised window to this value.
The kernel imposes a minimum size of SOCK_MIN_RCVBUF/2.
This option should not be used in code intended to be
@@ -1365,7 +1386,7 @@ It is possible to peek at out-of-band data using the
.B MSG_PEEK
flag.
.PP
-Since version 2.4, Linux supports the use of
+Since Linux 2.4, Linux supports the use of
.B MSG_TRUNC
in the
.I flags
@@ -1501,9 +1522,9 @@ or the generic socket layer may also be returned for TCP.
Support for Explicit Congestion Notification, zero-copy
.BR sendfile (2),
reordering support and some SACK extensions
-(DSACK) were introduced in 2.4.
+(DSACK) were introduced in Linux 2.4.
Support for forward acknowledgement (FACK), TIME_WAIT recycling,
-and per-connection keepalive socket options were introduced in 2.3.
+and per-connection keepalive socket options were introduced in Linux 2.3.
.SH BUGS
Not all errors are documented.
.PP
diff --git a/man7/termio.7 b/man7/termio.7
index b2f78d6d6..6ba5e679f 100644
--- a/man7/termio.7
+++ b/man7/termio.7
@@ -4,7 +4,7 @@
.\"
.\" 28 Dec 2006 - Initial Creation
.\"
-.TH TERMIO 7 2022-10-09 "Linux man-pages 6.01"
+.TH termio 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
termio \- System V terminal driver interface
.SH DESCRIPTION
diff --git a/man7/thread-keyring.7 b/man7/thread-keyring.7
index 2b4b76601..809d8ab16 100644
--- a/man7/thread-keyring.7
+++ b/man7/thread-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH THREAD-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH thread-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
thread-keyring \- per-thread keyring
.SH DESCRIPTION
diff --git a/man7/time.7 b/man7/time.7
index 68ae7b3f9..0348c3d37 100644
--- a/man7/time.7
+++ b/man7/time.7
@@ -5,7 +5,7 @@
.\" 2008-06-24, mtk: added some details about where jiffies come into
.\" play; added section on high-resolution timers.
.\"
-.TH TIME 7 2022-10-09 "Linux man-pages 6.01"
+.TH time 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
time \- overview of time and timers
.SH DESCRIPTION
@@ -67,10 +67,10 @@ on kernels up to and including 2.4.x, HZ was 100,
giving a jiffy value of 0.01 seconds;
starting with 2.6.0, HZ was raised to 1000, giving a jiffy of
0.001 seconds.
-Since kernel 2.6.13, the HZ value is a kernel
+Since Linux 2.6.13, the HZ value is a kernel
configuration parameter and can be 100, 250 (the default) or 1000,
yielding a jiffies value of, respectively, 0.01, 0.004, or 0.001 seconds.
-Since kernel 2.6.20, a further frequency is available:
+Since Linux 2.6.20, a further frequency is available:
300, a number that divides evenly for the common video
frame rates (PAL, 25 Hz; NTSC, 30 Hz).
.PP
diff --git a/man7/time_namespaces.7 b/man7/time_namespaces.7
index 0af64e129..def5c6ff1 100644
--- a/man7/time_namespaces.7
+++ b/man7/time_namespaces.7
@@ -3,12 +3,12 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH TIME_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH time_namespaces 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
time_namespaces \- overview of Linux time namespaces
.SH DESCRIPTION
Time namespaces virtualize the values of two system clocks:
-.IP \(bu 2
+.IP \(bu 3
.B CLOCK_MONOTONIC
(and likewise
.B CLOCK_MONOTONIC_COARSE
@@ -147,7 +147,7 @@ An
value is out of range.
In particular;
.RS
-.IP \(bu 2
+.IP \(bu 3
.I offset-secs
can't be set to a value which would make the current
time on the corresponding clock inside the namespace a negative value; and
@@ -249,7 +249,7 @@ Above, we started the
.BR bash (1)
shell with the
.B \-\-norc
-options so that no start-up scripts were executed.
+option so that no start-up scripts were executed.
This ensures that no child processes are created from the
shell before we have a chance to update the
.I timens_offsets
diff --git a/man7/udp.7 b/man7/udp.7
index e62b5ab4a..1d2724419 100644
--- a/man7/udp.7
+++ b/man7/udp.7
@@ -9,7 +9,7 @@
.\"
.\" $Id: udp.7,v 1.7 2000/01/22 01:55:05 freitag Exp $
.\"
-.TH UDP 7 2022-10-09 "Linux man-pages 6.01"
+.TH udp 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
udp \- User Datagram Protocol for IPv4
.SH SYNOPSIS
@@ -198,7 +198,7 @@ is accumulated into a single datagram that is transmitted when
the option is disabled.
This option should not be used in code intended to be
portable.
-.\" FIXME document UDP_ENCAP (new in kernel 2.5.67)
+.\" FIXME document UDP_ENCAP (new in Linux 2.5.67)
.\" From include/linux/udp.h:
.\" UDP_ENCAP_ESPINUDP_NON_IKE draft-ietf-ipsec-nat-t-ike-00/01
.\" UDP_ENCAP_ESPINUDP draft-ietf-ipsec-udp-encaps-06
diff --git a/man7/udplite.7 b/man7/udplite.7
index 9806b8936..a1bd6ba88 100644
--- a/man7/udplite.7
+++ b/man7/udplite.7
@@ -4,7 +4,7 @@
.\"
.\" $Id: udplite.7,v 1.12 2008/07/23 15:22:22 gerrit Exp gerrit $
.\"
-.TH UDPLITE 7 2022-10-09 "Linux man-pages 6.01"
+.TH udplite 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
udplite \- Lightweight User Datagram Protocol
.SH SYNOPSIS
diff --git a/man7/unicode.7 b/man7/unicode.7
index 45d22ad5e..62ee352e6 100644
--- a/man7/unicode.7
+++ b/man7/unicode.7
@@ -7,7 +7,7 @@
.\" 2001-05-11 Markus Kuhn <mgk25@cl.cam.ac.uk>
.\" Update
.\"
-.TH UNICODE 7 2022-10-09 "Linux man-pages 6.01"
+.TH unicode 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
unicode \- universal character set
.SH DESCRIPTION
@@ -195,7 +195,7 @@ Two other planes are reserved for private usage, plane 15
and plane 16 (Supplementary Private Use Area-B, range
0x100000 to 0x10fffd).
.SS Literature
-.IP * 3
+.IP \(bu 3
Information technology \(em Universal Multiple-Octet Coded Character
Set (UCS) \(em Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO/IEC 10646-1, International Organization
@@ -205,11 +205,11 @@ This is the official specification of UCS.
Available from
.UR http://www.iso.ch/
.UE .
-.IP *
+.IP \(bu
The Unicode Standard, Version 3.0.
The Unicode Consortium, Addison-Wesley,
Reading, MA, 2000, ISBN 0-201-61633-5.
-.IP *
+.IP \(bu
S.\& Harbison, G.\& Steele. C: A Reference Manual. Fourth edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
.IP
@@ -219,19 +219,19 @@ edition covers the 1994 Amendment 1 to the ISO C90 standard, which
adds a large number of new C library functions for handling wide and
multibyte character encodings, but it does not yet cover ISO C99,
which improved wide and multibyte character support even further.
-.IP *
+.IP \(bu
Unicode Technical Reports.
.RS
.UR http://www.unicode.org\:/reports/
.UE
.RE
-.IP *
+.IP \(bu
Markus Kuhn: UTF-8 and Unicode FAQ for UNIX/Linux.
.RS
.UR http://www.cl.cam.ac.uk\:/\(timgk25\:/unicode.html
.UE
.RE
-.IP *
+.IP \(bu
Bruno Haible: Unicode HOWTO.
.RS
.UR http://www.tldp.org\:/HOWTO\:/Unicode\-HOWTO.html
diff --git a/man7/units.7 b/man7/units.7
index cf07b7d18..a58db8652 100644
--- a/man7/units.7
+++ b/man7/units.7
@@ -1,8 +1,9 @@
+'\" t
.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH UNITS 7 2022-10-09 "Linux man-pages 6.01"
+.TH units 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
units \- decimal and binary prefixes
.SH DESCRIPTION
diff --git a/man7/unix.7 b/man7/unix.7
index d0a84df6f..1c3eabcff 100644
--- a/man7/unix.7
+++ b/man7/unix.7
@@ -17,7 +17,7 @@
.\" address that can appear in the sockaddr_un structure: pathname,
.\" unnamed, and abstract.
.\"
-.TH UNIX 7 2022-10-09 "Linux man-pages 6.01"
+.TH UNIX 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
unix \- sockets for local interprocess communication
.SH SYNOPSIS
@@ -96,8 +96,8 @@ return an argument of this type.
Three types of address are distinguished in the
.I sockaddr_un
structure:
-.IP * 3
-.IR pathname :
+.TP
+pathname
a UNIX domain socket can be bound to a null-terminated
filesystem pathname using
.BR bind (2).
@@ -125,8 +125,8 @@ so the
expression more portably describes the size of the address structure.)
.IP
For further details of pathname sockets, see below.
-.IP *
-.IR unnamed :
+.TP
+unnamed
A stream socket that has not been bound to a pathname using
.BR bind (2)
has no name.
@@ -141,8 +141,8 @@ and
should not be inspected.
.\" There is quite some variation across implementations: FreeBSD
.\" says the length is 16 bytes, HP-UX 11 says it's zero bytes.
-.IP *
-.IR abstract :
+.TP
+abstract
an abstract socket address is distinguished (from a pathname socket)
by the fact that
.I sun_path[0]
@@ -166,15 +166,15 @@ bytes of
.SS Pathname sockets
When binding a socket to a pathname, a few rules should be observed
for maximum portability and ease of coding:
-.IP * 3
+.IP \(bu 3
The pathname in
.I sun_path
should be null-terminated.
-.IP *
+.IP \(bu
The length of the pathname, including the terminating null byte,
should not exceed the size of
.IR sun_path .
-.IP *
+.IP \(bu
The
.I addrlen
argument that describes the enclosing
@@ -519,9 +519,8 @@ to fail with the error
.BR EINVAL .
.B SCM_MAX_FD
has the value 253
-(or 255 in kernels
.\" commit bba14de98753cb6599a2dae0e520714b2153522d
-before 2.6.38).
+(or 255 before Linux 2.6.38).
.TP
.B SCM_CREDENTIALS
Send or receive UNIX credentials.
@@ -598,13 +597,13 @@ For example, suppose that the sender transmits as follows:
.PP
.RS
.PD 0
-.IP 1. 3
+.IP (1) 5
.BR sendmsg (2)
of four bytes, with no ancillary data.
-.IP 2.
+.IP (2)
.BR sendmsg (2)
of one byte, with ancillary data.
-.IP 3.
+.IP (3)
.BR sendmsg (2)
of four bytes, with no ancillary data.
.PD
diff --git a/man7/uri.7 b/man7/uri.7
index dcc5723f1..2db5ba91d 100644
--- a/man7/uri.7
+++ b/man7/uri.7
@@ -25,7 +25,7 @@
.\" Modified Fri Aug 21 23:00:00 1999 by David A. Wheeler (dwheeler@dwheeler.com)
.\" Modified Tue Mar 14 2000 by David A. Wheeler (dwheeler@dwheeler.com)
.\"
-.TH URI 7 2022-10-09 "Linux man-pages 6.01"
+.TH uri 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
uri, url, urn \- uniform resource identifier (URI), including a URL or URN
.SH SYNOPSIS
@@ -365,28 +365,33 @@ RFC\ 2255
.UE
for more information on the LDAP URL scheme.
The components of this URL are:
-.IP hostport 12
+.TP
+hostport
the LDAP server to query, written as a hostname optionally followed by
a colon and the port number.
The default LDAP port is TCP port 389.
If empty, the client determines which the LDAP server to use.
-.IP dn
+.TP
+dn
the LDAP Distinguished Name, which identifies
the base object of the LDAP search (see
.UR http://www.ietf.org\:/rfc\:/rfc2253.txt
RFC\ 2253
.UE
section 3).
-.IP attributes
+.TP
+attributes
a comma-separated list of attributes to be returned;
see RFC\ 2251 section 4.1.5.
If omitted, all attributes should be returned.
-.IP scope
+.TP
+scope
specifies the scope of the search, which can be one of
"base" (for a base object search), "one" (for a one-level search),
or "sub" (for a subtree search).
If scope is omitted, "base" is assumed.
-.IP filter
+.TP
+filter
specifies the search filter (subset of entries
to return).
If omitted, all entries should be returned.
@@ -395,7 +400,8 @@ See
RFC\ 2254
.UE
section 4.
-.IP extensions
+.TP
+extensions
a comma-separated list of type=value
pairs, where the =value portion may be omitted for options not
requiring it.
@@ -516,11 +522,11 @@ For URIs which must handle characters outside the US ASCII character set,
the HTML 4.01 specification (section B.2) and
IETF RFC\~3986 (last paragraph of section 2.5)
recommend the following approach:
-.IP 1. 4
+.IP (1) 5
translate the character sequences into UTF-8 (IETF RFC\~3629)\(emsee
.BR utf\-8 (7)\(emand
then
-.IP 2.
+.IP (2)
use the URI escaping mechanism, that is,
use the %HH encoding for unsafe octets.
.SS Writing a URI
diff --git a/man7/user-keyring.7 b/man7/user-keyring.7
index a257a3c1c..12db5d0ba 100644
--- a/man7/user-keyring.7
+++ b/man7/user-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH USER-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH user-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
user-keyring \- per-user keyring
.SH DESCRIPTION
diff --git a/man7/user-session-keyring.7 b/man7/user-session-keyring.7
index 736b356bf..0986b4d06 100644
--- a/man7/user-session-keyring.7
+++ b/man7/user-session-keyring.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH USER-SESSION-KEYRING 7 2022-10-09 "Linux man-pages 6.01"
+.TH user-session-keyring 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
user-session-keyring \- per-user default session keyring
.SH DESCRIPTION
diff --git a/man7/user_namespaces.7 b/man7/user_namespaces.7
index 45c411681..e0e2e30dd 100644
--- a/man7/user_namespaces.7
+++ b/man7/user_namespaces.7
@@ -4,7 +4,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH USER_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH user_namespaces 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
user_namespaces \- overview of Linux user namespaces
.SH DESCRIPTION
@@ -47,7 +47,7 @@ with the
.B CLONE_NEWUSER
flag.
.PP
-The kernel imposes (since version 3.11) a limit of 32 nested levels of
+The kernel imposes (since Linux 3.11) a limit of 32 nested levels of
.\" commit 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
user namespaces.
.\" FIXME Explain the rationale for this limit. (What is the rationale?)
@@ -157,7 +157,7 @@ its original user namespace.
.PP
The rules for determining whether or not a process has a capability
in a particular user namespace are as follows:
-.IP 1. 3
+.IP \(bu 3
A process has a capability inside a user namespace
if it is a member of that namespace and
it has the capability in its effective capability set.
@@ -173,11 +173,11 @@ or
.BR setns (2),
as already described.
.\" In the 3.8 sources, see security/commoncap.c::cap_capable():
-.IP 2.
+.IP \(bu
If a process has a capability in a user namespace,
then it has that capability in all child (and further removed descendant)
namespaces as well.
-.IP 3.
+.IP \(bu
.\" * The owner of the user namespace in the parent of the
.\" * user namespace has all caps.
When a user namespace is created, the kernel records the effective
@@ -234,29 +234,29 @@ and mount the following types of filesystems:
.PP
.RS 4
.PD 0
-.IP * 2
+.IP \(bu 3
.I /proc
(since Linux 3.8)
-.IP *
+.IP \(bu
.I /sys
(since Linux 3.8)
-.IP *
+.IP \(bu
.I devpts
(since Linux 3.9)
-.IP *
+.IP \(bu
.BR tmpfs (5)
(since Linux 3.9)
-.IP *
+.IP \(bu
.I ramfs
(since Linux 3.9)
-.IP *
+.IP \(bu
.I mqueue
(since Linux 3.9)
-.IP *
+.IP \(bu
.I bpf
.\" commit b2197755b2633e164a439682fb05a9b5ea48f706
(since Linux 4.4)
-.IP *
+.IP \(bu
.I overlayfs
.\" commit 92dbc9dedccb9759c7f9f2f0ae6242396376988f
.\" commit 4cb2c00c43b3fe88b32f29df4f76da1b92c33224
@@ -397,7 +397,7 @@ The first two numbers specify the starting user ID in
each of the two user namespaces.
The third number specifies the length of the mapped range.
In detail, the fields are interpreted as follows:
-.IP (1) 4
+.IP (1) 5
The start of the range of user IDs in
the user namespace of the process
.IR pid .
@@ -410,12 +410,12 @@ and the process
.I pid
are in the same user namespace, as follows:
.RS
-.IP a) 3
+.IP (a) 5
If the two processes are in different user namespaces:
field two is the start of a range of
user IDs in the user namespace of the process that opened
.IR uid_map .
-.IP b)
+.IP (b)
If the two processes are in the same user namespace:
field two is the start of the range of
user IDs in the parent user namespace of the process
@@ -499,12 +499,12 @@ The lines written to
.I uid_map
.RI ( gid_map )
must conform to the following validity rules:
-.IP * 3
+.IP \(bu 3
The three fields must be valid numbers,
and the last field must be greater than 0.
-.IP *
+.IP \(bu
Lines are terminated by newline characters.
-.IP *
+.IP \(bu
There is a limit on the number of lines in the file.
In Linux 4.14 and earlier, this limit was (arbitrarily)
.\" 5*12-byte records could fit in a 64B cache line
@@ -519,7 +519,7 @@ and the write must be performed at the start of the file (i.e.,
and
.BR pwrite (2)
can't be used to write to nonzero offsets in the file).
-.IP *
+.IP \(bu
The range of user IDs (group IDs)
specified in each line cannot overlap with the ranges
in any other lines.
@@ -532,7 +532,7 @@ which prevented some otherwise valid maps from being created.
Linux 3.9 and later
.\" commit 0bd14b4fd72afd5df41e9fd59f356740f22fceba
fix this limitation, allowing any valid set of nonoverlapping maps.
-.IP *
+.IP \(bu
At least one line must be written to the file.
.PP
Writes that violate the above rules fail with the error
@@ -542,32 +542,32 @@ In order for a process to write to the
.IR /proc/ pid /uid_map
.RI ( /proc/ pid /gid_map )
file, all of the following permission requirements must be met:
-.IP 1. 3
+.IP \(bu 3
The writing process must have the
.B CAP_SETUID
.RB ( CAP_SETGID )
capability in the user namespace of the process
.IR pid .
-.IP 2.
+.IP \(bu
The writing process must either be in the user namespace of the process
.I pid
or be in the parent user namespace of the process
.IR pid .
-.IP 3.
+.IP \(bu
The mapped user IDs (group IDs) must in turn have a mapping
in the parent user namespace.
-.IP 4.
+.IP \(bu
If updating
.IR /proc/ pid /uid_map
to create a mapping that maps UID 0 in the parent namespace,
then one of the following must be true:
.RS
-.IP * 3
+.IP (a) 5
if writing process is in the parent user namespace,
then it must have the
.B CAP_SETFCAP
capability in that user namespace; or
-.IP *
+.IP (b)
if the writing process is in the child user namespace,
then the process that created the user namespace must have had the
.B CAP_SETFCAP
@@ -587,21 +587,21 @@ which is needed to create a binary with namespaced file capabilities
could nevertheless create such a binary,
by the following steps:
.RS
-.IP * 3
+.IP (1) 5
Create a new user namespace with the identity mapping
(i.e., UID 0 in the new user namespace maps to UID 0 in the parent namespace),
so that UID 0 in both namespaces is equivalent to the same root user ID.
-.IP *
+.IP (2)
Since the child process has the
.B CAP_SETFCAP
capability, it could create a binary with namespaced file capabilities
that would then be effective in the parent user namespace
(because the root user IDs are the same in the two namespaces).
.RE
-.IP 5.
+.IP \(bu
One of the following two cases applies:
.RS
-.IP * 3
+.IP (a) 5
.I Either
the writing process has the
.B CAP_SETUID
@@ -610,16 +610,16 @@ capability in the
.I parent
user namespace.
.RS
-.IP + 3
+.IP \(bu 3
No further restrictions apply:
the process can make mappings to arbitrary user IDs (group IDs)
in the parent user namespace.
.RE
-.IP * 3
+.IP (b)
.I Or
otherwise all of the following restrictions apply:
.RS
-.IP + 3
+.IP \(bu 3
The data written to
.I uid_map
.RI ( gid_map )
@@ -627,10 +627,10 @@ must consist of a single line that maps
the writing process's effective user ID
(group ID) in the parent user namespace to a user ID (group ID)
in the user namespace.
-.IP +
+.IP \(bu
The writing process must have the same effective user ID as the process
that created the user namespace.
-.IP +
+.IP \(bu
In the case of
.IR gid_map ,
use of the
@@ -675,12 +675,12 @@ to fail with the error
The permission rules for writing to the
.IR /proc/ pid /projid_map
file are as follows:
-.IP 1. 3
+.IP \(bu 3
The writing process must either be in the user namespace of the process
.I pid
or be in the parent user namespace of the process
.IR pid .
-.IP 2.
+.IP \(bu
The mapped project IDs must in turn have a mapping
in the parent user namespace.
.PP
@@ -944,8 +944,8 @@ the process credentials (UID, GID) and the file credentials
are in effect mapped back to what they would be in
the initial user namespace and then compared to determine
the permissions that the process has on the file.
-The same is also of other objects that employ the credentials plus
-permissions mask accessibility model, such as System V IPC objects
+The same is also true of other objects that employ the credentials plus
+permissions mask accessibility model, such as System V IPC objects.
.\"
.\" ============================================================
.\"
@@ -965,9 +965,9 @@ Within a user namespace,
these capabilities allow a process to bypass the rules
if the process has the relevant capability over the file,
meaning that:
-.IP * 3
+.IP \(bu 3
the process has the relevant effective capability in its user namespace; and
-.IP *
+.IP \(bu
the file's user ID and group ID both have valid mappings
in the user namespace.
.PP
@@ -1056,7 +1056,7 @@ user namespaces, as well as other types of namespaces.
It creates namespaces as specified by command-line options and then executes
a command inside those namespaces.
The comments and
-.I usage()
+.IR usage ()
function inside the program provide a full explanation of the program.
The following shell session demonstrates its use.
.PP
@@ -1241,8 +1241,8 @@ update_map(char *mapping, char *map_file)
}
/* Linux 3.19 made a change in the handling of setgroups(2) and the
- \(aqgid_map\(aq file to address a security issue. The issue allowed
- *unprivileged* users to employ user namespaces in order to drop
+ \(aqgid_map\(aq file to address a security issue. The issue allowed
+ *unprivileged* users to employ user namespaces in order to drop groups.
The upshot of the 3.19 changes is that in order to update the
\(aqgid_maps\(aq file, use of the setgroups() system call in this
user namespace must first be disabled by writing "deny" to one of
diff --git a/man7/utf-8.7 b/man7/utf-8.7
index 446c69c42..dde3b9793 100644
--- a/man7/utf-8.7
+++ b/man7/utf-8.7
@@ -7,7 +7,7 @@
.\" 2001-05-11 Markus Kuhn <mgk25@cl.cam.ac.uk>
.\" Update
.\"
-.TH UTF-8 7 2022-10-09 "Linux man-pages 6.01"
+.TH UTF-8 7 2022-10-09 "Linux man-pages 6.02"
.SH NAME
UTF-8 \- an ASCII compatible multibyte Unicode encoding
.SH DESCRIPTION
diff --git a/man7/uts_namespaces.7 b/man7/uts_namespaces.7
index 5d0dbd51e..951308cbc 100644
--- a/man7/uts_namespaces.7
+++ b/man7/uts_namespaces.7
@@ -3,7 +3,7 @@
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\"
-.TH UTS_NAMESPACES 7 2022-10-09 "Linux man-pages 6.01"
+.TH uts_namespaces 7 2022-12-04 "Linux man-pages 6.02"
.SH NAME
uts_namespaces \- overview of Linux UTS namespaces
.SH DESCRIPTION
@@ -28,7 +28,7 @@ or
.BR unshare (2)
with the
.B CLONE_NEWUTS
-flag, the hostname and domain of the new UTS namespace are copied
+flag, the hostname and domain name of the new UTS namespace are copied
from the corresponding values in the caller's UTS namespace.
.PP
Use of UTS namespaces requires a kernel that is configured with the
diff --git a/man7/vdso.7 b/man7/vdso.7
index e03afb134..89d5e0dc1 100644
--- a/man7/vdso.7
+++ b/man7/vdso.7
@@ -1,3 +1,4 @@
+'\" t
.\" Written by Mike Frysinger <vapier@gentoo.org>
.\"
.\" %%%LICENSE_START(PUBLIC_DOMAIN)
@@ -10,7 +11,7 @@
.\" http://www.linuxjournal.com/content/creating-vdso-colonels-other-chicken
.\" http://www.trilithium.com/johan/2005/08/linux-gate/
.\"
-.TH VDSO 7 2022-10-09 "Linux man-pages 6.01"
+.TH VDSO 7 2022-12-15 "Linux man-pages 6.02"
.SH NAME
vdso \- overview of the virtual ELF dynamic shared object
.SH SYNOPSIS
@@ -394,7 +395,7 @@ __kernel_sync_dicache_p5 LINUX_2.6.15
.ft P
\}
.PP
-In kernel versions before Linux 5.6,
+Before Linux 5.6,
.\" commit 654abc69ef2e69712e6d4e8a6cb9292b97a4aa39
the
.B CLOCK_REALTIME_COARSE
@@ -434,7 +435,7 @@ __kernel_sync_dicache_p5 LINUX_2.6.15
.ft P
\}
.PP
-In kernel versions before Linux 4.16,
+Before Linux 4.16,
.\" commit 5c929885f1bb4b77f85b1769c49405a0e0f154a1
the
.B CLOCK_REALTIME_COARSE
diff --git a/man7/vsock.7 b/man7/vsock.7
index 3b3c9286b..dcf54dc3d 100644
--- a/man7/vsock.7
+++ b/man7/vsock.7
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH VSOCK 7 2022-10-09 "Linux man-pages 6.01"
+.TH vsock 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
vsock \- Linux VSOCK address family
.SH SYNOPSIS
diff --git a/man7/x25.7 b/man7/x25.7
index eb9733f7e..39e0d066f 100644
--- a/man7/x25.7
+++ b/man7/x25.7
@@ -9,7 +9,7 @@
.\"
.\" $Id: x25.7,v 1.4 1999/05/18 10:35:12 freitag Exp $
.\"
-.TH X25 7 2022-10-09 "Linux man-pages 6.01"
+.TH x25 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
x25 \- ITU-T X.25 / ISO-8208 protocol interface
.SH SYNOPSIS
diff --git a/man7/xattr.7 b/man7/xattr.7
index 6301469da..e9579d02d 100644
--- a/man7/xattr.7
+++ b/man7/xattr.7
@@ -6,7 +6,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH XATTR 7 2022-10-09 "Linux man-pages 6.01"
+.TH xattr 7 2022-10-30 "Linux man-pages 6.02"
.SH NAME
xattr \- Extended attributes
.SH DESCRIPTION
diff --git a/man8/iconvconfig.8 b/man8/iconvconfig.8
index 55dceff06..7f7512497 100644
--- a/man8/iconvconfig.8
+++ b/man8/iconvconfig.8
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
-.TH ICONVCONFIG 8 2022-10-09 "Linux man-pages 6.01"
+.TH iconvconfig 8 2022-10-30 "Linux man-pages 6.02"
.SH NAME
iconvconfig \- create iconv module configuration cache
.SH SYNOPSIS
diff --git a/man8/intro.8 b/man8/intro.8
index 11d69e00a..4fe161856 100644
--- a/man8/intro.8
+++ b/man8/intro.8
@@ -7,7 +7,7 @@
.\" Modified Sat Jul 24 17:35:48 1993 by Rik Faith (faith@cs.unc.edu)
.\" 2007-10-23 mtk: minor rewrites, and added paragraph on exit status
.\"
-.TH INTRO 8 2022-10-09 "Linux man-pages 6.01"
+.TH intro 8 2022-10-30 "Linux man-pages 6.02"
.SH NAME
intro \- introduction to administration and privileged commands
.SH DESCRIPTION
diff --git a/man8/ld.so.8 b/man8/ld.so.8
index a9cc2776a..25675f86d 100644
--- a/man8/ld.so.8
+++ b/man8/ld.so.8
@@ -4,7 +4,7 @@
.\" Various parts:
.\" Copyright (C) 2007-9, 2013, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
-.TH LD.SO 8 2022-10-09 "Linux man-pages 6.01"
+.TH LD.SO 8 2022-12-04 "Linux man-pages 6.02"
.SH NAME
ld.so, ld\-linux.so \- dynamic linker/loader
.SH SYNOPSIS
@@ -57,17 +57,17 @@ and the shared object is loaded using that pathname.
.PP
If a shared object dependency does not contain a slash,
then it is searched for in the following order:
-.IP o 3
+.IP (1) 5
Using the directories specified in the
DT_RPATH dynamic section attribute
of the binary if present and DT_RUNPATH attribute does not exist.
Use of DT_RPATH is deprecated.
-.IP o
+.IP (2)
Using the environment variable
.BR LD_LIBRARY_PATH ,
unless the executable is being run in secure-execution mode (see below),
in which case this variable is ignored.
-.IP o
+.IP (3)
Using the directories specified in the
DT_RUNPATH dynamic section attribute
of the binary if present.
@@ -77,7 +77,7 @@ and do not apply to those objects' children,
which must themselves have their own DT_RUNPATH entries.
This is unlike DT_RPATH, which is applied
to searches for all children in the dependency tree.
-.IP o
+.IP (4)
From the cache file
.IR /etc/ld.so.cache ,
which contains a compiled list of candidate shared objects previously found
@@ -87,7 +87,7 @@ If, however, the binary was linked with the
linker option, shared objects in the default paths are skipped.
Shared objects installed in hardware capability directories (see below)
are preferred to other shared objects.
-.IP o
+.IP (5)
In the default path
.IR /lib ,
and then
@@ -102,13 +102,13 @@ linker option, this step is skipped.
.\"
.SS Dynamic string tokens
In several places, the dynamic linker expands dynamic string tokens:
-.IP o 3
+.IP \(bu 3
In the environment variables
.BR LD_LIBRARY_PATH ,
.BR LD_PRELOAD ,
and
.BR LD_AUDIT ,
-.IP o 3
+.IP \(bu
inside the values of the dynamic section tags
.BR DT_NEEDED ,
.BR DT_RPATH ,
@@ -117,7 +117,7 @@ inside the values of the dynamic section tags
and
.B DT_DEPAUDIT
of ELF binaries,
-.IP o 3
+.IP \(bu
in the arguments to the
.B ld.so
command line options
@@ -126,7 +126,7 @@ command line options
and
.B \-\-preload
(see below), and
-.IP o 3
+.IP \(bu
in the filename arguments to the
.BR dlopen (3)
and
@@ -238,7 +238,7 @@ are delimited by colons or spaces.
.B \-\-list
List all dependencies and how they are resolved.
.TP
-.BR \-\-list\-tunables " (since 2.33)"
+.BR \-\-list\-tunables " (since glibc 2.33)"
Print the names and values of all tunables,
along with the minimum and maximum allowed values.
.TP
@@ -296,15 +296,15 @@ entry in the auxiliary vector (see
.BR getauxval (3))
has a nonzero value.
This entry may have a nonzero value for various reasons, including:
-.IP * 3
+.IP \(bu 3
The process's real and effective user IDs differ,
or the real and effective group IDs differ.
This typically occurs as a result of executing
a set-user-ID or set-group-ID program.
-.IP *
+.IP \(bu
A process with a non-root user ID executed a binary that
conferred capabilities to the process.
-.IP *
+.IP \(bu
A nonzero value may have been set by a Linux Security Module.
.\"
.SS Environment variables
@@ -438,7 +438,7 @@ as described above in
There are various methods of specifying libraries to be preloaded,
and these are handled in the following order:
.RS
-.IP (1) 4
+.IP (1) 5
The
.B LD_PRELOAD
environment variable.
@@ -588,7 +588,7 @@ is ignored in secure-execution mode.
By default, when searching shared libraries to resolve a symbol reference,
the dynamic linker will resolve to the first definition it finds.
.IP
-Old glibc versions (before 2.2), provided a different behavior:
+Old glibc versions (before glibc 2.2), provided a different behavior:
if the linker found a symbol that was weak,
it would remember that symbol and
keep searching in the remaining shared libraries.
@@ -639,7 +639,7 @@ Since glibc 2.4,
.B LD_ORIGIN_PATH
is ignored in secure-execution mode.
.TP
-.BR LD_POINTER_GUARD " (glibc from 2.4 to 2.22)"
+.BR LD_POINTER_GUARD " (from glibc 2.4 to glibc 2.22)"
Set to 0 to disable pointer guarding.
Any other value enables pointer guarding, which is also the default.
Pointer guarding is a security mechanism whereby some pointers to code
diff --git a/man8/ldconfig.8 b/man8/ldconfig.8
index 6e3ba62f7..0c3b20d76 100644
--- a/man8/ldconfig.8
+++ b/man8/ldconfig.8
@@ -5,7 +5,7 @@
.\"
.\" Modified, 6 May 2002, Michael Kerrisk, <mtk.manpages@gmail.com>
.\" Change listed order of /usr/lib and /lib
-.TH LDCONFIG 8 2022-10-09 "Linux man-pages 6.01"
+.TH LDCONFIG 8 2022-10-09 "Linux man-pages 6.02"
.SH NAME
ldconfig \- configure dynamic linker run-time bindings
.SH SYNOPSIS
diff --git a/man8/nscd.8 b/man8/nscd.8
index bcf1db404..a1c46e610 100644
--- a/man8/nscd.8
+++ b/man8/nscd.8
@@ -6,7 +6,7 @@
.\" 2008-12-05 Petr Baudis <pasky@suse.cz>
.\" Rewrite the NOTES section to reflect modern reality
.\"
-.TH NSCD 8 2022-10-09 "Linux man-pages 6.01"
+.TH nscd 8 2022-10-30 "Linux man-pages 6.02"
.SH NAME
nscd \- name service cache daemon
.SH DESCRIPTION
diff --git a/man8/sln.8 b/man8/sln.8
index e737f40fc..456817a9e 100644
--- a/man8/sln.8
+++ b/man8/sln.8
@@ -2,7 +2,7 @@
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
-.TH SLN 8 2022-10-09 "Linux man-pages 6.01"
+.TH SLN 8 2022-10-09 "Linux man-pages 6.02"
.SH NAME
sln \- create symbolic links
.SH SYNOPSIS
diff --git a/man8/tzselect.8 b/man8/tzselect.8
index b27a5eee3..12a6a199f 100644
--- a/man8/tzselect.8
+++ b/man8/tzselect.8
@@ -2,7 +2,7 @@
.\" This page is in the public domain
.\" %%%LICENSE_END
.\"
-.TH TZSELECT 8 2022-10-09 "Linux man-pages 6.01"
+.TH tzselect 8 2022-10-30 "Linux man-pages 6.02"
.SH NAME
tzselect \- select a timezone
.SH SYNOPSIS
diff --git a/man8/zdump.8 b/man8/zdump.8
index 81c6c64c8..abbead6ef 100644
--- a/man8/zdump.8
+++ b/man8/zdump.8
@@ -2,7 +2,7 @@
.\" This page is in the public domain
.\" %%%LICENSE_END
.\"
-.TH ZDUMP 8 2020-04-27 "" "Linux System Administration"
+.TH zdump 8 2020-04-27 "" "Linux System Administration"
.SH NAME
zdump \- timezone dumper
.SH SYNOPSIS
diff --git a/man8/zic.8 b/man8/zic.8
index d4720736a..79b06ae7c 100644
--- a/man8/zic.8
+++ b/man8/zic.8
@@ -2,7 +2,7 @@
.\" This page is in the public domain
.\" %%%LICENSE_END
.\"
-.TH ZIC 8 2020-08-13 "" "Linux System Administration"
+.TH zic 8 2020-08-13 "" "Linux System Administration"
.SH NAME
zic \- timezone compiler
.SH SYNOPSIS
diff --git a/scripts/bash_aliases b/scripts/bash_aliases
index f325542f8..9f7d10409 100644
--- a/scripts/bash_aliases
+++ b/scripts/bash_aliases
@@ -35,60 +35,6 @@ sed_rm_ccomments()
}
########################################################################
-# Linux kernel
-
-# grep_syscall() finds the prototype of a syscall in the kernel sources,
-# printing the filename, line number, and the prototype.
-# It should be run from the root of the linux kernel source tree.
-# Usage example: .../linux$ grep_syscall openat2;
-#
-# See also: grepc(1)
-
-grep_syscall()
-{
- if [ $# -ne 1 ]; then
- >&2 echo "Usage: ${FUNCNAME[0]} <syscall>";
- return $EX_USAGE;
- fi
-
- find ./* -type f \
- |grep '\.c$' \
- |xargs grep -l "$1" \
- |sort \
- |xargs pcregrep -Mn "(?s)^\w*SYSCALL_DEFINE.\($1\b.*?\)" \
- |sed -E 's/^[^:]+:[0-9]+:/&\n/';
-
- find ./* -type f \
- |grep '\.[ch]$' \
- |xargs grep -l "$1" \
- |sort \
- |xargs pcregrep -Mn "(?s)^asmlinkage\s+[\w\s]+\**sys_$1\s*\(.*?\)" \
- |sed -E 's/^[^:]+:[0-9]+:/&\n/';
-}
-
-# grep_syscall_def() finds the definition of a syscall in the kernel sources,
-# printing the filename, line number, and the function definition.
-# It should be run from the root of the linux kernel source tree.
-# Usage example: .../linux$ grep_syscall_def openat2;
-#
-# See also: grepc(1)
-
-grep_syscall_def()
-{
- if [ $# -ne 1 ]; then
- >&2 echo "Usage: ${FUNCNAME[0]} <syscall>";
- return $EX_USAGE;
- fi
-
- find ./* -type f \
- |grep '\.c$' \
- |xargs grep -l "$1" \
- |sort \
- |xargs pcregrep -Mn "(?s)^\w*SYSCALL_DEFINE.\($1\b.*?^}" \
- |sed -E 's/^[^:]+:[0-9]+:/&\n/';
-}
-
-########################################################################
# Linux man-pages
# man_section() prints specific manual page sections (DESCRIPTION, SYNOPSIS,
@@ -203,29 +149,3 @@ man_gitstaged()
|tr -d '\n' \
|sed 's/, $//'
}
-
-########################################################################
-# Glibc
-
-# grep_glibc_prototype() finds a function prototype in the glibc sources,
-# printing the filename, line number, and the prototype.
-# It should be run from the root of the glibc source tree.
-# Usage example: .../glibc$ grep_glibc_prototype printf;
-#
-# See also: grepc(1)
-
-grep_glibc_prototype()
-{
- if [ $# -ne 1 ]; then
- >&2 echo "Usage: ${FUNCNAME[0]} <func>";
- return $EX_USAGE;
- fi
-
- find ./* -type f \
- |grep '\.h$' \
- |xargs grep -l "$1" \
- |sort \
- |xargs pcregrep -Mn \
- "(?s)^[\w[][\w\s(,)[:\]]+\s+\**$1\s*\([\w\s(,)[\]*]+?(...)?\)[\w\s(,)[:\]]*;" \
- |sed -E 's/^[^:]+:[0-9]+:/&\n/';
-}