Date: Tue, 19 Jan 2021 11:23:53 GMT From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: c987d6a67766 - main - linux: map EBUSY returned by ptrace into ESRCH Message-ID: <202101191123.10JBNr28081896@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by trasz: URL: https://cgit.FreeBSD.org/src/commit/?id=c987d6a67766629daea0e4c51ee6baf03d4c5dfa commit c987d6a67766629daea0e4c51ee6baf03d4c5dfa Author: Edward Tomasz Napierala <trasz@FreeBSD.org> AuthorDate: 2021-01-15 17:11:41 +0000 Commit: Edward Tomasz Napierala <trasz@FreeBSD.org> CommitDate: 2021-01-19 11:21:55 +0000 linux: map EBUSY returned by ptrace into ESRCH The ptrace(2) Linux man page claims the syscall returns ESRCH, if the tracee is not stopped; the native ptrace(2) returns EBUSY. Sponsored by: The FreeBSD Foundation --- sys/amd64/linux/linux_ptrace.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/amd64/linux/linux_ptrace.c b/sys/amd64/linux/linux_ptrace.c index c1d05db5bc42..89fda7979359 100644 --- a/sys/amd64/linux/linux_ptrace.c +++ b/sys/amd64/linux/linux_ptrace.c @@ -583,7 +583,7 @@ linux_ptrace(struct thread *td, struct linux_ptrace_args *uap) case LINUX_PTRACE_PEEKDATA: error = linux_ptrace_peek(td, pid, addr, (void *)uap->data); if (error != 0) - return (error); + goto out; /* * Linux expects this syscall to read 64 bits, not 32. */ @@ -597,7 +597,7 @@ linux_ptrace(struct thread *td, struct linux_ptrace_args *uap) case LINUX_PTRACE_POKEDATA: error = kern_ptrace(td, PT_WRITE_D, pid, addr, uap->data); if (error != 0) - return (error); + goto out; /* * Linux expects this syscall to write 64 bits, not 32. */ @@ -665,5 +665,9 @@ linux_ptrace(struct thread *td, struct linux_ptrace_args *uap) break; } +out: + if (error == EBUSY) + error = ESRCH; + return (error); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101191123.10JBNr28081896>