Commit Graph

8537 Commits

Author SHA1 Message Date
Michael Kerrisk c715f74112 getent.1, _syscall.2, acct.2, adjtimex.2, bdflush.2, brk.2, cacheflush.2, getsid.2, getxattr.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, ioperm.2, ipc.2, listxattr.2, mlock.2, modify_ldt.2, mremap.2, nanosleep.2, outb.2, ptrace.2, removexattr.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, setsid.2, setxattr.2, socketcall.2, unimplemented.2, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, cfree.3, crypt.3, dlopen.3, errno.3, fenv.3, ftime.3, ftw.3, getgrent_r.3, getpass.3, getpwent_r.3, getutent.3, hsearch.3, lio_listio.3, login.3, longjmp.3, perror.3, printf.3, scandirat.3, setjmp.3, strfmon.3, strtoimax.3, termios.3, ttyname.3, ualarm.3, wcstoimax.3, wordexp.3, console_ioctl.4, dsp56k.4, fd.4, hd.4, intro.4, lp.4, mem.4, null.4, ram.4, rtc.4, sk98lin.4, tty.4, ttyS.4, vcs.4, charmap.5, filesystems.5, ftpusers.5, gai.conf.5, group.5, host.conf.5, hosts.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, nss.5, nsswitch.conf.5, passwd.5, proc.5, protocols.5, securetty.5, shells.5, termcap.5, ttytype.5, utmp.5, intro.6, armscii-8.7, ascii.7, bootparam.7, cp1251.7, cpuset.7, environ.7, glob.7, intro.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, posixoptions.7, standards.7, unicode.7, utf-8.7, intro.8, ldconfig.8, nscd.8: Global fix: Update info in source comments on where to get a copy of the GPL
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk faede11fb0 encrypt.3, lockf.3, updwtmp.3: srcfix: Note where to get copy of GPL online
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk 4b72fb6462 intro.1, _exit.2, access.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bind.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, close.2, connect.2, delete_module.2, dup.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, fork.2, fstatat.2, fsync.2, futimesat.2, get_robust_list.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpagesize.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, idle.2, init_module.2, intro.2, iopl.2, kcmp.2, kexec_load.2, kill.2, link.2, linkat.2, llseek.2, lookup_dcookie.2, madvise.2, mincore.2, mkdirat.2, mknodat.2, mmap.2, mmap2.2, mount.2, mprotect.2, mq_getsetattr.2, msgctl.2, msgget.2, msgop.2, msync.2, nice.2, open.2, openat.2, pause.2, perfmonctl.2, personality.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, quotactl.2, read.2, readahead.2, readdir.2, readlinkat.2, readv.2, reboot.2, recvmmsg.2, remap_file_pages.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, sendmmsg.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setresuid.2, setuid.2, setup.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, splice.2, stat.2, statfs.2, stime.2, subpage_prot.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, syscalls.2, sysctl.2, sysfs.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, times.2, tkill.2, umask.2, umount.2, uname.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, abort.3, abs.3, acos.3, acosh.3, adjtime.3, aio_init.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, byteorder.3, bzero.3, catgets.3, catopen.3, cbrt.3, ceil.3, clearenv.3, clock.3, clock_getcpuclockid.3, closedir.3, confstr.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, end.3, endian.3, erf.3, erfc.3, ether_aton.3, euidaccess.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fmod.3, fnmatch.3, fopencookie.3, fpathconf.3, fpurge.3, frexp.3, fseeko.3, ftok.3, futimes.3, gcvt.3, get_nprocs_conf.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwnam.3, getrpcent_r.3, gets.3, getservent.3, getservent_r.3, getumask.3, getusershell.3, getutmp.3, getw.3, glob.3, gnu_get_libc_version.3, gsignal.3, hypot.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, j0.3, ldexp.3, localeconv.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, on_exit.3, opendir.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, putenv.3, putpwent.3, puts.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, re_comp.3, readdir.3, realpath.3, regex.3, remainder.3, remove.3, resolver.3, rewinddir.3, rint.3, round.3, scalb.3, scalbln.3, scandir.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setenv.3, setlocale.3, setlogmask.3, shm_open.3, siginterrupt.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdio_ext.3, stpcpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfry.3, strftime.3, string.3, strlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, trunc.3, tsearch.3, ttyslot.3, tzset.3, ulimit.3, undocumented.3, unlocked_stdio.3, usleep.3, y0.3, cpuid.4, full.4, initrd.4, mouse.4, msr.4, sd.4, st.4, acct.5, core.5, services.5, slabinfo.5, aio.7, capabilities.7, credentials.7, feature_test_macros.7, hier.7, inotify.7, libc.7, locale.7, man-pages.7, man.7, math_error.7, mq_overview.7, numa.7, path_resolution.7, pipe.7, pthreads.7, pty.7, rtld-audit.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, suffixes.7, svipc.7, termio.7, time.7, udplite.7, units.7, uri.7, sln.8: Global fix: Add LICENSE_START(verbatim)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk 8f0aff2a3a futex.2, netlink.3, stdin.3, wavelan.4, netlink.7: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk a6760fe64c flock.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk c08df37aae readv.2, wait.2, wait4.2, basename.3, clock.3, confstr.3, ctermid.3, dl_iterate_phdr.3, end.3, fcloseall.3, fnmatch.3, fpathconf.3, getcwd.3, getline.3, getopt.3, gets.3, getw.3, glob.3, isalpha.3, localeconv.3, malloc.3, posix_memalign.3, puts.3, raise.3, setlocale.3, sleep.3, sysconf.3, system.3, toascii.3, toupper.3, hier.7, suffixes.7: srcfix: Remove extraneous license text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:09 +01:00
Michael Kerrisk fd351c1ab2 _syscall.2, add_key.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, getxattr.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, keyctl.2, listxattr.2, removexattr.2, request_key.2, setxattr.2, dir_colors.5, epoll.7, mailaddr.7, uri.7: srcfix: remove blank comment line from top of source
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:08 +01:00
Michael Kerrisk 4054a21549 login.3: srcfix: Rearrange copyright text to top of comments
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:08 +01:00
Michael Kerrisk 8ade7d9684 ioprio_set.2: Remove "-*- nroff -*-" comment at top of source
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:08 +01:00
Michael Kerrisk dac8367047 _exit.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clone.2, close.2, connect.2, dup.2, execve.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futimesat.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getpid.2, getresuid.2, getrlimit.2, getrusage.2, gettid.2, gettimeofday.2, getuid.2, idle.2, ioperm.2, iopl.2, ipc.2, kexec_load.2, kill.2, link.2, linkat.2, lookup_dcookie.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mq_getsetattr.2, mremap.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, perf_event_open.2, pipe.2, poll.2, posix_fadvise.2, prctl.2, ptrace.2, read.2, readahead.2, readlinkat.2, rename.2, renameat.2, rmdir.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, setresuid.2, setup.2, socketcall.2, splice.2, stat.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, tee.2, time.2, times.2, tkill.2, umask.2, umount.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, utime.2, utimensat.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, ether_aton.3, euidaccess.3, fexecve.3, ftime.3, futimes.3, getdirentries.3, getdtablesize.3, gethostid.3, getlogin.3, getpt.3, grantpt.3, hsearch.3, inet.3, lsearch.3, mkfifo.3, mkfifoat.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, posix_openpt.3, profil.3, ptsname.3, scandirat.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, shm_open.3, stpcpy.3, termios.3, toascii.3, tsearch.3, ulimit.3, undocumented.3, unlockpt.3, pts.4, charmap.5, locale.5, services.5, feature_test_macros.7, inotify.7, mq_overview.7, pipe.7, pty.7, sem_overview.7, shm_overview.7, unicode.7, utf-8.7: Global fix: remove "Hey Emacs" comment in page source
Only certain pages have this; there is no consistency, so
remove it from all pages

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-10 10:57:08 +01:00
Michael Kerrisk f82bd24e46 Start of man-pages-3.49: updating Changes and Changes.old 2013-03-05 18:27:59 +01:00
Michael Kerrisk 11ea62f306 Start of man-pages-3.49: updating .Announce and .lsm files 2013-03-05 18:27:59 +01:00
Michael Kerrisk cca881dc41 Start of man-pages-3.49: renaming .Announce and .lsm files 2013-03-05 18:27:59 +01:00
Michael Kerrisk c575867189 Ready for 3.48 2013-03-05 18:22:12 +01:00
Michael Kerrisk b072a7882a Removed trailing white space at end of lines 2013-03-05 18:22:04 +01:00
Michael Kerrisk fee1593ec4 Changes, printf.3, pthread_yield.3, resolver.3, resolv.conf.5, rtnetlink.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:19:40 +01:00
Michael Kerrisk 0fbca429ca Ready for 3.48
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:02:57 +01:00
Michael Kerrisk 2835e6c500 mount.2: srcfix: Update FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
Michael Kerrisk 7d63c0a424 resolver.3, resolv.conf.5: RES_DEBUG is only available if glibc is compiled with debug support
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692136
and https://bugzilla.kernel.org/show_bug.cgi?id=43061

Reported-by: Nathan Stratton Treadway <kernelbugs@nathanst.com>
Reported-by: Simon Heimberg <simohe@besonet.ch>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot e2b6e497a2 perfmonctl.2: wfix and tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot 88d429113b getunwind.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot dd2babc14c nss.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot f041448711 resolver.3: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot 47178f00b8 read.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
Michael Kerrisk f354abd03a msgget.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
Michael Kerrisk 92f9c09bf4 ptrace.2: wfix
Reported-by: David Prévot <taffit@debian.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
David Prévot f42ce0a555 ptrace.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:25 +01:00
Michael Kerrisk 8231feb430 pthread_yield.3: Add _GNU_SOURCE feature test macro to SYNOPSIS
Reported-by: Aristeu Rozanski <aris@ruivo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Michael Kerrisk cfd32c7ea3 getunwind.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
D. Barbier af51ceca56 getunwind.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
D. Barbier aafcfc16ef gai.conf.5: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Pavel Emelyanov 5048ae1ffe rtnetlink.7: Add info about ability to create links with given index
Since kernel v3.7 the RTM_NEWLINK message now accepts nonzero
values in ifi_index field. Mention this fact in the respective
rtnetlink.7 section.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Michael Kerrisk 757716c764 socket.7: Minor fixes to Pavel's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Pavel Emelyanov 83e03f72cb socket.7: SO_BINDTODEVICE is now readable
SO_BINDTODEVICE is readable since since kernel 3.8.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Michael Kerrisk 8dca821ab9 capabilities.7: Minor additions/fixes to Andrey's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:24 +01:00
Andrey Vagin 3aaf354acf capabilities.7: Nonexistent bits are no longer shown as set in /proc/PID/status Cap*
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-03-05 18:01:20 +01:00
Michael Kerrisk ca38ce4c3c printf.3: Minor improvements to example code
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:09 +01:00
Marshel Abraham 753f3bace9 printf.3: Fix error handling in example code
See https://bugzilla.kernel.org/show_bug.cgi?id=23282

Reported-by: Graham Gower <graham.gower@gmail.com>
Acked-by: Graham Gower <graham.gower@gmail.com>
Signed-off-by: Marshel Abraham <Marshel.Abraham@in.bosch.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:09 +01:00
Colin Walters e0a699c1eb access.2: Note that access() may also fail for FUSE
Since in some cases (e.g. libguestfs's guestmount) it also has the
semantics where files can appear owned by root, but are actually
mutable by the user, despite what one might infer from the Unix
permissions.

Signed-off-by: Colin Walters <walters@verbum.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:09 +01:00
Michael Kerrisk 1f8956e838 cexp2.3: Still does not exist in glibc 2.17
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:09 +01:00
Michael Kerrisk cf6ea96a98 getrlimit.2: srcfix: update FIX
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:09 +01:00
Michael Kerrisk e198a28d33 mbind.2: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:08 +01:00
Cyrill Gorcunov b4bd57d56d prctl.2: Add some details for PR_GET_TID_ADDRESS
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:08 +01:00
Michael Kerrisk a5d9ce6533 clock_getres.2: Some improvements to CLOCK_BOOTTIME description
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-28 15:00:08 +01:00
Cyril Hrubis b28712e162 clock_getres.2: Document CLOCK_BOOTTIME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:16:10 +01:00
Michael Kerrisk f5546fcdc5 clock_getres.2: Minor fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:16:10 +01:00
Michael Kerrisk 1d33f7d767 clock_getres.2: Minor fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:16:10 +01:00
Cyril Hrubis 55f749ae91 clock_getres.2: Document CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:16:10 +01:00
Michael Kerrisk a780f17be1 mmap.2: Minor fixes to Cyril Hrubis's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:16:10 +01:00
Cyril Hrubis 2e43522f07 mmap.2: Add note about partial page in BUGS section
This adds a note about Linux behavior with partial page at the end
of the object. The problem here is that a page that contains only
part of a file (because the file size is not multiple of PAGE_SIZE)
stays in page cache even after the mapping is unmapped and the file
is closed. So if some process dirties such page, other mappings
will see the changes rather than zeroes.

I've also attached a reproducer which is a stripped down version of
the LTP test. The child creates a file of the size of PAGE_SIZE/2,
maps it, changes the content after the PAGE_SIZE/2. The parent
waits for the child to exit, maps the same file, and checks the
content after PAGE_SIZE/2.  Uncommenting the msync() makes the test
succeed.

==========

int main(void)
{
	char tmpfname[256];
	long page_size;

	void *pa;
	size_t len;
	int fd;

	pid_t child;
	char *ch;
	int exit_val;

	page_size = sysconf(_SC_PAGE_SIZE);

	len = page_size / 2;

	snprintf(tmpfname, sizeof(tmpfname), "/tmp/test");
	child = fork();
	switch (child) {
	case 0:
		/* Create shared object */
		unlink(tmpfname);
		fd = open(tmpfname, O_CREAT | O_RDWR | O_EXCL,
			  S_IRUSR | S_IWUSR);
		if (fd == -1) {
			printf("Error at open(): %s\n", strerror(errno));
			return 1;
		}
		if (ftruncate(fd, len) == -1) {
			printf("Error at ftruncate(): %s\n", strerror(errno));
			return 1;
		}

		pa = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
		if (pa == MAP_FAILED) {
			printf("Error at mmap(): %s\n", strerror(errno));
			return 1;
		}

		/* Check the partial page is ZERO filled */
		ch = pa + len + 1;
		if (*ch != 0) {
			printf("Test FAILED: "
			       "The partial page at the end of an object "
			       "is not zero-filled\n");
			return 1;
		}

		/* Write the partial page */
		*ch = 'b';
		//msync(pa, len, MS_SYNC);
		munmap(pa, len);
		close(fd);
		return 0;
	case -1:
		printf("Error at fork(): %s\n", strerror(errno));
		return 1;
	default:
	break;
	}

	wait(&exit_val);
	if (!(WIFEXITED(exit_val) && (WEXITSTATUS(exit_val) == 0))) {
		unlink(tmpfname);
		printf("Child exited abnormally\n");
		return 1;
	}

	fd = open(tmpfname, O_RDWR, 0);
	unlink(tmpfname);

	pa = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
	if (pa == MAP_FAILED) {
		printf("Error at 2nd mmap(): %s\n", strerror(errno));
		return 1;
	}

	ch = pa + len + 1;
	if (*ch == 'b') {
		printf("Test FAILED: Modification of the partial page "
		       "at the end of an object is written out\n");
		return 1;
	}
	close(fd);
	munmap(pa, len);

	printf("Test PASSED\n");
	return 0;
}

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 10:15:54 +01:00