Module Name: src Committed By: kamil Date: Sat May 25 04:25:14 UTC 2019
Modified Files: src/lib/libc/sys: ptrace.2 Log Message: Update the ptrace(2) documentation Document that TRAP_EXEC can be returned for PT_SYSCALL. Document truncated byte transfers. To generate a diff of this commit: cvs rdiff -u -r1.69 -r1.70 src/lib/libc/sys/ptrace.2 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/sys/ptrace.2 diff -u src/lib/libc/sys/ptrace.2:1.69 src/lib/libc/sys/ptrace.2:1.70 --- src/lib/libc/sys/ptrace.2:1.69 Tue May 1 16:37:23 2018 +++ src/lib/libc/sys/ptrace.2 Sat May 25 04:25:14 2019 @@ -1,7 +1,7 @@ -.\" $NetBSD: ptrace.2,v 1.69 2018/05/01 16:37:23 kamil Exp $ +.\" $NetBSD: ptrace.2,v 1.70 2019/05/25 04:25:14 kamil Exp $ .\" .\" This file is in the public domain. -.Dd May 1, 2018 +.Dd May 25, 2019 .Dt PTRACE 2 .Os .Sh NAME @@ -56,10 +56,6 @@ with .Dv si_code set to .Dv TRAP_EXEC . -If a program is traced with the -.Dv PT_SYSCALL -option enabled, -this event notifier is disabled. If a traced program calls .Xr execve 2 any setuid or setgid bits on the executable being executed will be ignored. @@ -220,6 +216,11 @@ The value read is returned as the return .Eo \& .Fn ptrace .Ec . +.Pp +These operations return success on incomplete and cancelled byte transfers. +New software shall use +.Dv PT_IO +as it allows to check whether a byte transfer was completed. .It Dv PT_WRITE_I , Dv PT_WRITE_D These requests parallel .Dv PT_READ_I @@ -229,6 +230,10 @@ except that they write rather than read. The .Fa data argument supplies the value to be written. +.Pp +New software shall use +.Dv PT_IO +as it allows to check whether an operation was completed. .It Dv PT_CONTINUE The traced process continues execution. .Fa addr @@ -349,6 +354,15 @@ will return .Li \-1 and set .Va errno . +.Pp +This interface returns success for partial and cancelled byte transfers. +For an interrupted transfer, a user shall check whether occurred at least +a single of the following two conditions: +.Dv piod_len == 0 +and set +.Va errno . +Successful but incomplete byte transfers shall be restarted in the place +where they were stopped. .It Dv PT_DUMPCORE Makes the process specified in the .Fa pid @@ -799,6 +813,15 @@ or .Dv PT_SETFPREGS was attempted on a process with no valid register set. (This is normally true only of system processes.) +.It +A process attempted to set Program Counter to 0 in +.Dv PT_CONTINUE , +.Dv PT_SYSCALL +or +.Dv PT_DETACH +with +.Dv vm.user_va0_disable +set to 1. .El .It Bq Er EPERM .Bl -bullet -compact