git: a03d4d73e4c7 - main - linux: Improve debugging for PTRACE_GETREGSET
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 17 Oct 2021 12:18:10 UTC
The branch main has been updated by trasz: URL: https://cgit.FreeBSD.org/src/commit/?id=a03d4d73e4c7c73447263294df6ebd1791ab01f2 commit a03d4d73e4c7c73447263294df6ebd1791ab01f2 Author: Edward Tomasz Napierala <trasz@FreeBSD.org> AuthorDate: 2021-10-17 11:52:39 +0000 Commit: Edward Tomasz Napierala <trasz@FreeBSD.org> CommitDate: 2021-10-17 11:53:16 +0000 linux: Improve debugging for PTRACE_GETREGSET It's triggered by gdb(1). Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D32456 --- sys/amd64/linux/linux_ptrace.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/amd64/linux/linux_ptrace.c b/sys/amd64/linux/linux_ptrace.c index 39587ec9b2ad..370b1c818b6f 100644 --- a/sys/amd64/linux/linux_ptrace.c +++ b/sys/amd64/linux/linux_ptrace.c @@ -84,7 +84,8 @@ __FBSDID("$FreeBSD$"); #define LINUX_PTRACE_O_EXITKILL 1048576 #define LINUX_PTRACE_O_SUSPEND_SECCOMP 2097152 -#define LINUX_NT_PRSTATUS 1 +#define LINUX_NT_PRSTATUS 0x1 +#define LINUX_NT_X86_XSTATE 0x202 #define LINUX_PTRACE_O_MASK (LINUX_PTRACE_O_TRACESYSGOOD | \ LINUX_PTRACE_O_TRACEFORK | LINUX_PTRACE_O_TRACEVFORK | \ @@ -540,8 +541,12 @@ linux_ptrace_getregset(struct thread *td, pid_t pid, l_ulong addr, l_ulong data) switch (addr) { case LINUX_NT_PRSTATUS: return (linux_ptrace_getregset_prstatus(td, pid, data)); + case LINUX_NT_X86_XSTATE: + linux_msg(td, "PTRAGE_GETREGSET NT_X86_XSTATE not implemented; " + "returning EINVAL"); + return (EINVAL); default: - linux_msg(td, "PTRACE_GETREGSET request %ld not implemented; " + linux_msg(td, "PTRACE_GETREGSET request %#lx not implemented; " "returning EINVAL", addr); return (EINVAL); }