Commit Graph

247 Commits

Author SHA1 Message Date
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 b072a7882a Removed trailing white space at end of lines 2013-03-05 18:22:04 +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
Michael Kerrisk 42b437ca05 mmap.2: Minor fixes to EOVERFLOW text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 08:45:40 +01:00
Cyril Hrubis da3ce098dd mmap.2: Document EOVERFLOW error
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-25 08:42:25 +01:00
Michael Kerrisk 47297adb6e getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.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, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.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, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.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, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 19:01:36 +01:00
Michael Kerrisk 6b4dbb25e9 delete_module.2, epoll_create.2, getpeername.2, getpriority.2, getrlimit.2, getunwind.2, init_module.2, kcmp.2, mmap.2, perf_event_open.2, perfmonctl.2, prctl.2, s390_runtime_instr.2, timerfd_create.2, vfork.2, getaddrinfo_a.3, getenv.3, if_nameindex.3, if_nametoindex.3, mcheck.3, pthread_setname_np.3, scanf.3, cciss.4, hpsa.4, core.5, gai.conf.5, networks.5, nscd.conf.5, nss.5, aio.7, arp.7, numa.7, socket.7, udplite.7: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-18 18:45:32 +01:00
Michael Kerrisk 45e97e2ac5 mmap.2: Some 'flags' values require a feature test macro to be defined
Add text to NOTES noting that some MAP_* constants are
defined only if a suitable feature test macro is defined.
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542601

Reported-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-12 21:38:36 +01:00
Michael Kerrisk 66a9882e46 bdflush.2, get_robust_list.2, kexec_load.2, madvise.2, mmap.2, mount.2, prctl.2, query_module.2, rt_sigqueueinfo.2, shmget.2, sigaction.2, syscalls.2, umount.2, malloc.3, hpsa.4, initrd.4, proc.5, bootparam.7, icmp.7, netlink.7, signal.7: Global fix: use "Linux kernel source" consistently
Rather than "kernel source".

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-09-24 10:02:34 +02:00
David Prévot 173fe7e792 arch_prctl.2, fcntl.2, flock.2, get_robust_list.2, getpriority.2, ioprio_set.2, migrate_pages.2, mmap.2, mremap.2, msync.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, socket.2, subpage_prot.2, unshare.2, btree.3, dbopen.3, dl_iterate_phdr.3, dlopen.3, getnameinfo.3, hash.3, lockf.3, netlink.3, recno.3, rpc.3, xdr.3, cciss.4, console_ioctl.4, hpsa.4, initrd.4, msr.4, rtc.4, st.4, hosts.5, services.5, tzfile.5, aio.7, arp.7, capabilities.7, cpuset.7, feature_test_macros.7, futex.7, inotify.7, ip.7, ipv6.7, iso_8859-16.7, iso_8859-2.7, koi8-r.7, math_error.7, netlink.7, packet.7, pthreads.7, raw.7, spufs.7, udplite.7, uri.7, x25.7: Global fix: Various consistency fixes for SEE ALSO
Coauthored-by: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-09-24 09:53:22 +02:00
Michael Kerrisk 3062824dae mmap.2: Clarify NOTES discussion of mmap() versus mmap2()
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-17 23:09:04 +12:00
Michael Kerrisk 5fab2e7c9c Changes.old, clone.2, execve.2, fcntl.2, futex.2, getitimer.2, getpriority.2, mmap.2, mount.2, mprotect.2, sched_setscheduler.2, select_tut.2, setuid.2, sigaltstack.2, vfork.2, div.3, fenv.3, fmod.3, memchr.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_getattr_np.3, queue.3, scanf.3, trunc.3, st.4, proc.5, services.5, utmp.5, bootparam.7, capabilities.7, feature_test_macros.7, futex.7, glob.7, man.7, netlink.7, unicode.7: Switch to American usage: "-wards" ==> "-ward"
American English uses "afterward" in preference to "afterwards",
and so on

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-26 07:34:47 +02:00
Michael Kerrisk c54ed37e0a chown.2, mmap.2, frexp.3, pthread_setschedparam.3, strtok.3: Remove comments on closing braces in example program
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-09-23 08:31:18 +02:00
Michael Kerrisk 92c1db72e2 madvise.2, mmap.2, crypt.3, opendir.3: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-06-20 05:46:00 +02:00
Michael Kerrisk 12062404f9 mmap.2: Document MAP_UNINITIALIZED flag
New in Linux 2.6.33.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-03-13 08:08:06 +01:00
Michael Kerrisk 7c7adcbe55 mmap.2: minor: fix text ordering (MAP_STACK)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-03-13 07:11:08 +01:00
Michael Kerrisk 3b777affca close.2, epoll_create.2, epoll_ctl.2, fcntl.2, madvise.2, mmap.2, mremap.2, select_tut.2, setgid.2, setuid.2, syscalls.2, vmsplice.2, dlopen.3, fts.3, getpw.3, stdio.3, fd.4, initrd.4, random.4, sd.4, bootparam.7, capabilities.7, cpuset.7, epoll.7, inotify.7, man.7, socket.7, x25.7: Global fix: s/re-/re/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "re-" etc.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 18:45:23 +01:00
Michael Kerrisk 76a34baa39 mmap.2: Add brief documentation of MAP_HUGETLB
This flag is new in 2.6.32, and serves a similar
purpose to the shmget() SHM_HUGETLB flag.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-09-28 12:46:21 +02:00
Michael Kerrisk 67b59ff59d mmap.2: srcfix: Removed FIXME 2009-01-18 14:20:36 +13:00
Michael Kerrisk 293283613f mmap.2: srcfix: spfix 2008-12-05 22:28:55 -05:00
Michael Kerrisk 6aa7db0a8f mmap.2: Loosen language around how 'addr' hint is interpreted
Mel Gorman reported that in Linux 2.6.27, 'addr' is rounded
down to a page boundary.

Before kernel 2.6.26, if 'addr' was taken as a hint, it was
rounded up to the next page boundary.  Since Linux 2.6.24,
it is rounded down.  Therefore, loosen the description of
this point to say that the address is rounded to "a nearby
page boundary".

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Reported-by: Mel Gorman <mel@csn.ul.ie>
2008-12-05 22:28:55 -05:00
Michael Kerrisk e6205b0c24 mmap.2: Document MAP_STACK flag (new in Linux 2.6.27)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2008-11-25 20:54:04 -05:00
Michael Kerrisk 491cd2f039 spfix 2008-08-21 07:00:26 +00:00
Michael Kerrisk aaec1423d7 Add FIXME 2008-08-21 05:11:22 +00:00
Michael Kerrisk c368e7ca76 Add kernel version numbers for MAP_32BIT.
Add some details on MAP_32BIT (see http://lwn.net/Articles/294642).
2008-08-21 04:14:14 +00:00
Michael Kerrisk f93af9c668 SEE ALSO: add shm_overview(7). 2008-07-02 05:01:23 +00:00
Michael Kerrisk 6387216bb2 Wrap lines at sentence breaks. 2008-06-28 04:57:20 +00:00
Michael Kerrisk 7c40de088e wfix 2008-09-18 12:30:37 +00:00
Michael Kerrisk f81fb4445b s/\\'/\\(aq/ 2008-06-09 15:49:35 +00:00
Michael Kerrisk 84c517a450 Change use of quote characters to get better UTF-8 rendering. 2008-06-05 20:14:50 +00:00
Michael Kerrisk 46cdb99741 wfix 2008-05-30 13:25:25 +00:00
Michael Kerrisk 7921f13b4c SEE ALSO: add shmat(2). 2008-05-27 02:59:06 +00:00
Michael Kerrisk 54504ac3d3 SEE ALSO: add mprotect(2). 2008-05-27 02:57:24 +00:00
Michael Kerrisk 80d17cfa1a NOTES: Added details on mapping address that is selected by
kernel when MAP_FIXED is / isn't specified.
2008-05-21 12:33:21 +00:00
Michael Kerrisk ba7cb080d9 spfix 2008-05-12 14:37:02 +00:00
Michael Kerrisk f99fc19730 ffix 2008-05-07 13:41:18 +00:00
Michael Kerrisk f38fa944aa MAP_POPULATE supports both file and anonymous mappings.
Since 2.6.23, MAP_POPULATE supports private mappings.
Since 2.6.23, MAP_NONBLOCK causes MAP_POPULATE to be a no-op.
2008-05-05 20:10:11 +00:00
Michael Kerrisk 2e001ad4f9 Add fixme 2008-04-24 08:40:38 +00:00
Michael Kerrisk de5f7e2851 Added some .SS headings to make structure of page a little more obvious. 2008-04-23 15:37:15 +00:00
Michael Kerrisk 14f5ae6dc8 Change name of 'start' argument to 'addr' for consistency with:
* other memory related interfaces
* POSIX specification (for those interfaces in POSIX)
* Linux and glibc source code (in at least some cases)
2008-04-21 07:51:17 +00:00
Michael Kerrisk 24d01c530c s/filesystem/file system/ 2008-03-19 07:26:08 +00:00
Michael Kerrisk 34cd540ed6 Add comma to clarify meaning of a sentence. 2007-12-24 17:34:54 +00:00
Michael Kerrisk 34ccb744ec s/x86/i386/ 2007-12-24 17:31:35 +00:00
Michael Kerrisk 8568021d3b white space clean-ups. 2007-12-23 17:46:23 +00:00
Michael Kerrisk 5895e7eb8d wspace in SYNOPSIS 2007-12-23 13:45:24 +00:00
Michael Kerrisk 009df872f7 Format casts so that there is a non-breaking space after the
type, and remove unnecessary parentheses around the casted value.
Thus, for example, the following:

     .IR "(size_t) (\-1)" .

becomes:
    .IR "(size_t)\ \-1" .
2007-12-22 16:26:51 +00:00
Michael Kerrisk 2d6cfc1a82 ffix 2007-12-14 14:15:32 +00:00
Michael Kerrisk 2777b1caec Remove section numbers for page references where the
reference refers to the page itself.  (This stops man2html
producing links from a page back to itself.)
2007-11-24 10:10:39 +00:00
Michael Kerrisk 33c6f37475 Update date in .TH line 2007-11-19 08:12:03 +00:00
Michael Kerrisk 4407d3d81e Handle errors using a custom handle_errror() macro. 2007-11-19 03:34:00 +00:00
Michael Kerrisk facdd3f468 ffix 2007-11-17 05:51:29 +00:00
Michael Kerrisk fbbfa7ce8a Fix syntax error in example program. 2007-10-03 06:25:23 +00:00
Michael Kerrisk 0daa9e92d0 Fix redundant formatting macros 2007-09-20 16:26:31 +00:00
Michael Kerrisk c11b1abf2e Change mtk's email address 2007-09-20 06:52:22 +00:00
Michael Kerrisk f3edaabb5d Add text noting that PROT_WRITE may (and on x86 does) imply PROT_READ. 2007-09-10 04:10:36 +00:00
Michael Kerrisk 74d3223314 ffix/spfix 2007-08-27 08:36:21 +00:00
Michael Kerrisk 5b6adad130 Added a blank line to example prog 2007-07-01 02:00:19 +00:00
Michael Kerrisk 74fa61b798 Added an example program. 2007-06-30 14:11:48 +00:00
Michael Kerrisk 5636a29a5e Added note that glibc mmap() wrapper nowadays invokes mmap2(). 2007-06-29 06:40:29 +00:00
Michael Kerrisk d4725a0e26 s/NNbit/NN-bit/ 2007-06-25 09:55:58 +00:00
Michael Kerrisk 682edefb1b ffix 2007-06-22 17:16:20 +00:00
Michael Kerrisk 988db66164 strip trailing white space 2007-06-21 22:55:04 +00:00
Michael Kerrisk 8bd58774dc Formatted signal names 2007-06-21 05:38:48 +00:00
Michael Kerrisk c84371c688 Italics for header file references 2007-06-20 21:53:34 +00:00
Michael Kerrisk d9bfdb9c21 Convert to American spelling conventions 2007-06-08 09:56:56 +00:00
Michael Kerrisk d9343c5c13 Removed version number from .TH line 2007-05-30 05:36:26 +00:00
Michael Kerrisk 2b2581ee37 Fix inconsistencies in order of .SH sections 2007-05-19 04:30:20 +00:00
Michael Kerrisk a1d5f77cc8 Reordered sections to be more consistent, in some cases renaming
sections or shifting paragraphs between sections.
2007-05-18 16:06:42 +00:00
Michael Kerrisk 0bfa087b03 Add section numbers to references to other pages 2007-05-11 23:07:02 +00:00
Michael Kerrisk 83314009c0 Place MAP_* flags list in alphabeitical order. 2007-05-01 15:23:23 +00:00
Michael Kerrisk c13182efa3 Wrapped long lines, wrapped at sentence boundaries; stripped trailing
white space.
2007-04-12 22:42:49 +00:00
Michael Kerrisk a62f51211f Further substantial rewrites. 2006-12-05 07:40:31 +00:00
Michael Kerrisk 5e8cde2f2e Rewrote various parts to be clearer. 2006-12-04 04:50:15 +00:00
Michael Kerrisk 882b85db93 Removed text stating that mmap() never returns 0; that's not true. 2006-11-30 05:48:48 +00:00
Michael Kerrisk 62a04c814e Added some EINVAL errors. 2006-09-06 04:44:04 +00:00
Michael Kerrisk c8f3e58070 Added note on Linux's old (pre-2.6.12) buggy treatment of length==0. 2006-09-05 12:24:48 +00:00
Michael Kerrisk ef0b81712f wfix/tfix 2006-09-04 08:57:04 +00:00
Michael Kerrisk a7fadb5558 Updated CONFOMRING TOs and/or standards references. 2006-08-04 12:39:17 +00:00
Michael Kerrisk 97c1eac86f Updated CONFORMING TO section 2006-08-03 13:57:17 +00:00
Michael Kerrisk 51ffcca030 Expand description of MAP_POPULATE.
Expand description MAP_NONBLOCK.
Various minor formatting fixes.
2006-07-21 22:23:51 +00:00
Michael Kerrisk a28e26a155 s%IO%I/O% 2006-07-21 14:56:18 +00:00
Michael Kerrisk 931e4e2511 Add SEE ALSO referring to remap_file_pages.2. 2006-05-29 05:01:27 +00:00
Michael Kerrisk f75c3a3bf8 Add mincore(2) to SEE ALSO.
See Debian bug 367401.
2006-05-15 20:51:05 +00:00
Michael Kerrisk e0037472fe ffix 2006-05-05 22:03:05 +00:00
Michael Kerrisk 4006dcaccb Updated discussion of MAP_NORESERVE since it
is no longer restricted to MAP_PRIVATE mappings.
Add reference to discussion of /proc/sys/vm/overcommit_memory in proc.5
2006-05-02 03:08:31 +00:00
Michael Kerrisk 424a895034 shm_open() is in section 3, not 2. 2006-03-15 22:26:36 +00:00
Michael Kerrisk 74f3f90ba5 Noted that portable applications should specify fd as -1
when using MAP_ANONYMOUS.
Some rewriting of description of MAP_ANONYMOUS.
2006-02-01 19:19:59 +00:00
Michael Kerrisk f6179c2fbd Formatting fix 2005-12-01 14:05:11 +00:00
Michael Kerrisk 8478ee0279 Formatting fixes 2005-11-02 13:55:25 +00:00
Michael Kerrisk 1e32103455 Formatting fixes 2005-10-20 15:11:10 +00:00
Michael Kerrisk dbc53ca8b2 Noted bug in MAP_POPULATE for kernels before 2.6.7. 2005-09-14 08:15:27 +00:00
Michael Kerrisk 24b1a0121f Added .\" comment about behaviour change for
length == 0 in kernel 2.6.12.
2005-06-23 12:11:22 +00:00
Michael Kerrisk 1a956089b0 Eric Estievenart <eric.estievenart@free.fr>
Note that MAP_FIXED replaces existing mappings
2004-12-08 13:47:41 +00:00
Michael Kerrisk 83cd3686ed Added cross-ref to setrlimit(2) concerning memory locking limits 2004-11-25 13:36:04 +00:00
Michael Kerrisk 305a0578bf Global change of email address for MTK (now: mtk-manpages@gmx.net) 2004-11-03 14:43:40 +00:00
Michael Kerrisk fea681dafb Import of man-pages 1.70 2004-11-03 13:51:07 +00:00