Commit Graph

229 Commits

Author SHA1 Message Date
Michael Kerrisk 11c85ed875 Removed trailing white space at end of lines 2012-08-14 00:39:21 +02:00
David Prévot b0b1d9b517 ptrace.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-08-13 09:22:34 +02:00
Denys Vlasenko ca302d0ee3 ptrace.2: Explain WNOHANG behavior and EINTR bug
I didn't like ithe "SIGKILL operates similarly, with exceptions"
phrase (if it's different, then it's not "similar", right?),
and now I got around to changing it. Now it says simply:
"SIGKILL does not generate signal-delivery-stop and therefore
the tracer can't suppress it."

Replaced "why WNOHANG is not reliable" example with a more
realistic one (the one which actually inspired to add this
information to man page in the first place): we got
ESRCH - process is gone! - but waitpid(WNOHANG) can still
confusingly return 0 "no processes to wait for".

Replaced "This means that unneeded trailing arguments may
be omitted" part with a much better recommendation
to never do that and to supply zero arguments instead.
(The part about "undocumentedness" of gcc behavior was bogus,
btw - deleted).

Expanded BUGS section with the explanation and an example
of visible strace behavior on the buggy syscalls which
exit with EINTR on ptrace attach. I hope this will lead
to people submitting better bug reports to lkml about
such syscalls.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-08-03 10:33:49 +02:00
Michael Kerrisk cb72917199 ptrace.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-08-03 10:33:49 +02:00
Bjarni Ingi Gislason 0ce81ab564 ptrace.2: srcfix to avoid groff warning
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-05-07 15:30:19 +12:00
Michael Kerrisk 3e18f289e7 ptrace.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-05-07 15:30:18 +12:00
Michael Kerrisk 82232e78e9 gettimeofday.2, ptrace.2, sigaction.2, aio_init.3, mpool.3, scandir.3, inotify.7, netdevice.7: tstamp
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-26 09:12:59 +12:00
Michael Kerrisk 50fe8d5366 ptrace.2: Note SPARC deviation with respect to get/set regs
SPARC reverses the use of 'addr' and 'data' for
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_SETREGS,
and PTRACE_SETFPREGS.

Reported-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-26 09:11:45 +12:00
Michael Kerrisk d39a9b9833 ptrace.2: Minor edits to Denys Vlasenko's patch
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-30 06:59:50 +13:00
Denys Vlasenko b16ecdae13 ptrace.2: Various fixes
For some reason, the PTRACE_TRACEME paragraph talks about some
general aspects of ptraced process behavior. It repeats the
"tracee stops on every signal" information even though that was
already explained just a few paragraphs before. Then it describes
legacy SIGTRAP on execve().

This patch deletes the first part, and moves the second part up,
into the general ptrace description. It also adds
"If PTRACE_O_TRACEEXEC option is not in effect" to the description
of the legacy SIGTRAP on execve().

The patch also amends the part which says "For requests other
than PTRACE_KILL, the tracee must be stopped." - PTRACE_ATTACH
also doesn't require that.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-30 06:59:50 +13:00
David Prévot a5c725cfd3 ptrace.2: ffix and tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-24 13:05:14 +13:00
Michael Kerrisk 8f318249c6 ptrace.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-24 11:59:07 +13:00
Denys Vlasenko b16d33ef72 ptrace.2: Document PTRACE_GETEVENTMSG for PTRACE_EVENT_EXEC
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-24 11:59:07 +13:00
Michael Kerrisk a17e05c5e0 ptrace.2: Minor fixes
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-20 07:45:58 +13:00
Denys Vlasenko f098951d39 ptrace.2: Various fixes to recent updates of this page
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-20 07:45:53 +13:00
Michael Kerrisk f23cc1df32 ptrace.2: srcfix: Added FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-10 06:30:59 +13:00
Michael Kerrisk d6e37473a1 Removed trailing white space at end of lines 2012-03-06 08:54:38 +13:00
Michael Kerrisk b8d02d5633 ptrace.2: Further improvements after review by Denys Vlasenko
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Michael Kerrisk a42c0c5a19 ptrace.2: grfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Michael Kerrisk dc85ba7ce5 ptrace.2: Integrated changes after further review from Denys Vlasenko
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Michael Kerrisk 8898a252ad ptrace.2: Integrated changes after review from Denys Vlasenko
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Michael Kerrisk 181f997f23 ptrace.2: Global clean-up of page
* Wording and formatting fixes to existing text and
  Denys Vlasenko's new text.
* Various technical amendments and improvements to
  Denys Vlasenko's new text.
* Added FIXME for various problems with the current text.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Michael Kerrisk 8b20acd1aa ptrace.2: srcfix: Wrap lines at sentence boundaries
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
Denys Vlasenko 4d12a715f2 ptrace.2: add extended description of various ptrace quirks
Changes include:

s/parent/tracer/g, s/child/tracee/g - ptrace interface now
is sufficiently cleaned up to not treat tracing process
as parent.

Deleted several outright false statements:
- pid 1 can be traced
- tracer is not shown as parent in ps output
- PTRACE_ATTACH is not "the same behavior as if tracee had done
  a PTRACE_TRACEME": PTRACE_ATTACH delivers a SIGSTOP.
- SIGSTOP _can_ be injected.
- Removed mentions of SunOS and Solaris as irrelevant.
- Added a few more known bugs.

Added a large block of text in DESCRIPTION which doesn't focus
on mechanical description of each flag and operation, but rather
tries to describe a bigger picture. The targeted audience is
a person which is reasonably knowledgeable in Unix but did not
spend years working with ptrace, and thus may be unaware of its
quirks. This text went through several iterations of review by
Oleg Nesterov and Tejun Heo.
This block of text intentionally uses as little markup as possible,
otherwise future modifications to it will be very hard to make.

Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-03-06 08:45:57 +13:00
David Prévot 5243e7b3b8 ptrace.2: tfix
Signed-off-by: David Prévot <taffit@debian.org>
2011-09-19 17:32:54 +02:00
Yuri Kozlov 46fbc1041e ptrace.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-16 07:00:44 +02:00
Michael Kerrisk b56defd37a ptrace.2: srcfix: Added FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-11 17:02:27 +02:00
Michael Kerrisk 008f1ecc43 intro.1, time.1, accept.2, bind.2, connect.2, execve.2, flock.2, getdents.2, getpriority.2, getuid.2, intro.2, ioctl.2, mincore.2, mknod.2, personality.2, ptrace.2, read.2, recv.2, select_tut.2, send.2, sendfile.2, shmctl.2, sigaction.2, signal.2, stat.2, times.2, truncate.2, umask.2, wait.2, MB_CUR_MAX.3, MB_LEN_MAX.3, argz_add.3, btowc.3, clearenv.3, clock.3, cmsg.3, end.3, endian.3, errno.3, exit.3, fgetwc.3, fgetws.3, fopen.3, fputwc.3, fputws.3, fseek.3, fwide.3, getfsent.3, getgrnam.3, gethostid.3, getipnodebyname.3, getmntent.3, getpwnam.3, getwchar.3, grantpt.3, iconv.3, iconv_close.3, iconv_open.3, insque.3, intro.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, malloc.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mkstemp.3, mktemp.3, nl_langinfo.3, openpty.3, posix_openpt.3, printf.3, ptsname.3, putwchar.3, qecvt.3, rcmd.3, readdir.3, rexec.3, rpc.3, setnetgrent.3, shm_open.3, sigpause.3, stdin.3, stpcpy.3, strftime.3, strptime.3, syslog.3, towctrans.3, towlower.3, towupper.3, ttyslot.3, ungetwc.3, unlocked_stdio.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, 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, wprintf.3, console_ioctl.4, pts.4, elf.5, filesystems.5, hosts.5, proc.5, ttytype.5, boot.7, capabilities.7, credentials.7, epoll.7, glob.7, koi8-r.7, path_resolution.7, pty.7, signal.7, suffixes.7, time.7, unicode.7, unix.7, uri.7, utf-8.7: global fix: s/Unix/UNIX/
The man pages were rather inconsistent in the use of "Unix"
versus "UNIX". Let's go with the trademark usage.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-12 06:49:17 +02:00
Michael Kerrisk 00b08db3b4 clone.2, ptrace.2, setuid.2, statvfs.2, ulimit.3, nologin.5: Global fix: s/non-root/unprivileged/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 18:24:09 +01:00
Michael Kerrisk c7094399ad intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.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, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.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_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 17:40:55 +01:00
Michael Kerrisk 94cffcd707 ptrace.2: Note use of 'data' for PTRACE_SYS{CALL,EMU} and PTRCAE_*_SINGLESTEP
These operations use the 'data' argument as a signal number,
like PTRACE_CONT.

Reported-by: Mike Frysinger <vapier@gentoo.org>
Reported-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-03-30 13:32:37 +13:00
Mike Frysinger c71df6fba0 ptrace.2: only reference <sys/user.h>
The kernel no longer installs linux/user.h, so update
references to sys/user.h.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2009-03-30 09:30:23 +13:00
Michael Kerrisk 67da52673e Start new sentence on new source line. 2008-09-10 03:45:09 +00:00
Michael Kerrisk 44a2c3286c Even when the CONFORMING TO section is just a list of standards,
they should be terminated by a period.
2008-07-15 13:39:17 +00:00
Michael Kerrisk 8660aec07e Re PTRACE_PEEKUSER: the offsets and data returned might not
match with the defintion of struct user.
2008-05-21 20:23:25 +00:00
Michael Kerrisk eba722884d s/nonzero/non-zero/ 2008-03-19 13:16:39 +00:00
Michael Kerrisk a1ffe9f5a2 s/current process/calling process/ 2007-12-27 16:06:35 +00:00
Michael Kerrisk c382a36592 hyphenation fixes 2007-12-25 22:02:19 +00:00
Michael Kerrisk 254255afd0 Added comment about PTRACE_{POKE,PEEK}US[E]R spelling. 2007-11-24 07:34:48 +00:00
Michael Kerrisk a5b9e01508 Update date in TH line 2007-11-15 03:21:33 +00:00
Michael Kerrisk 428d352029 s/PTRACE_POKEUSR/PTRACE_POKEUSER/
s/PTRACE_PEEKUSR/PTRACE_PEEKUSER/
2007-10-17 20:49:47 +00:00
Michael Kerrisk 6beb1671d2 tfix/wfix 2007-10-16 19:18:17 +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 5260fe08cf Use 'glibc' consistently to refer to GNU C library. 2007-07-09 22:01:31 +00:00
Michael Kerrisk 10f5f29476 s/bitmask/bit mask/ 2007-07-01 04:23:34 +00:00
Michael Kerrisk 66ee0c7e89 ffix 2007-06-23 07:19:07 +00:00
Michael Kerrisk 2f0af33ba6 ffix 2007-06-22 19:42:52 +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 3758f6dad4 Minor wording fixes 2007-06-02 05:45:14 +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 c13182efa3 Wrapped long lines, wrapped at sentence boundaries; stripped trailing
white space.
2007-04-12 22:42:49 +00:00
Michael Kerrisk a832b2d85b wfix 2006-12-27 02:47:18 +00:00
Michael Kerrisk 9110c53a81 ffix 2006-12-16 20:56:09 +00:00
Michael Kerrisk cd270bc04b fix long line in source 2006-12-16 19:23:29 +00:00
Michael Kerrisk 6d3925acc3 When the parent receives an event with PTRACE_EVENT_* set, the child
is not in the normal signal delivery path.  This means the parent 
cannot do ptrace(PTRACE_CONT) with a signal or ptrace(PTRACE_KILL).  
kill() with a SIGKILL signal can be used instead to kill the child 
process after receiving one of these messages.
2006-12-16 19:18:56 +00:00
Michael Kerrisk 53e4da489a Since Linux 2.6.18, the PID of the new process is also available
for PTRACE_EVENT_VFORKDONE.
2006-11-25 01:21:51 +00:00
Michael Kerrisk 97c1eac86f Updated CONFORMING TO section 2006-08-03 13:57:17 +00:00
Michael Kerrisk cb1c9135d0 ffix 2006-08-03 03:02:31 +00:00
Michael Kerrisk 217b389ac5 Removed FIXME. 2006-03-25 21:29:31 +00:00
Michael Kerrisk e63ad01dce Wrapped long lines (no content changes). 2006-03-25 21:28:28 +00:00
Michael Kerrisk 44b35ee067 Chuck Ebbert, with assistance from Daniel Jacobowitz,
Paolo (Blaisorblade) Giarrusso, and Charles P. Wright;
after a suggestion from Heiko Carstens.
    Document the following ptrace requests: 
        PTRACE_SETOPTIONS (2.4.6)
            plus associated flags:
                PTRACE_O_TRACESYSGOOD (2.4.6)
                PTRACE_O_TRACEFORK (2.5.46)
                PTRACE_O_TRACEVFORK (2.5.46)
                PTRACE_O_TRACECLONE (2.5.46)
                PTRACE_O_TRACEEXEC (2.5.46)
                PTRACE_O_TRACEVFORKDONE (2.5.60)
                PTRACE_O_TRACEEXIT (2.5.60)
        PTRACE_SETSIGINFO (2.3.99-pre6)
        PTRACE_GETSIGINFO (2.3.99-pre6)
        PTRACE_GETEVENTMSG (2.5.46)
        PTRACE_SYSEMU (since Linux 2.6.14)
        PTRACE_SYSEMU_SINGLESTEP (since Linux 2.6.14)
2006-03-23 22:00:08 +00:00
Michael Kerrisk 60e94b7cef Added FIXME 2006-03-02 05:04:48 +00:00
Michael Kerrisk 31e9a9ec99 Change itacised function names and page xrefs to bold 2005-11-02 11:34:24 +00:00
Michael Kerrisk 197889d00b Formatting fixes 2005-11-02 10:53:26 +00:00
Michael Kerrisk 4d52e8f81c Formatting fixes 2005-10-19 14:54:31 +00:00
Michael Kerrisk e1d6264d9f Manual fixes for parentheses formatting 2005-10-19 07:29:28 +00:00
Michael Kerrisk e511ffb6bc Automated addition of parentheses by add_parens_for_own_funcs.sh 2005-10-19 06:54:38 +00:00
Michael Kerrisk a5e0a0e427 Formatting fixes. 2005-07-19 15:36:19 +00:00
Michael Kerrisk e360c3a9cf s/pid/PID/ 2005-07-19 06:32:54 +00:00
Michael Kerrisk b14d4aa5b8 Classical BSD versions are now always named x.yBSD (formerly
there was a mix of x.yBSD and BSD x.y).
2005-07-18 15:05:56 +00:00
Michael Kerrisk 880f5b4bc3 Consistent use of "set-user-ID" and "set-group-ID". 2005-07-18 14:25:42 +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