Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F162215889
D20691.id59419.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D20691.id59419.diff
View Options
Index: head/sys/amd64/linux/linux_ptrace.c
===================================================================
--- head/sys/amd64/linux/linux_ptrace.c
+++ head/sys/amd64/linux/linux_ptrace.c
@@ -68,6 +68,7 @@
#define LINUX_PTRACE_DETACH 17
#define LINUX_PTRACE_SYSCALL 24
#define LINUX_PTRACE_SETOPTIONS 0x4200
+#define LINUX_PTRACE_GETSIGINFO 0x4202
#define LINUX_PTRACE_GETREGSET 0x4204
#define LINUX_PTRACE_SEIZE 0x4206
@@ -367,6 +368,31 @@
}
static int
+linux_ptrace_getsiginfo(struct thread *td, pid_t pid, l_ulong data)
+{
+ struct ptrace_lwpinfo lwpinfo;
+ l_siginfo_t l_siginfo;
+ int error, sig;
+
+ error = kern_ptrace(td, PT_LWPINFO, pid, &lwpinfo, sizeof(lwpinfo));
+ if (error != 0) {
+ linux_msg(td, "PT_LWPINFO failed with error %d", error);
+ return (error);
+ }
+
+ if ((lwpinfo.pl_flags & PL_FLAG_SI) == 0) {
+ error = EINVAL;
+ linux_msg(td, "no PL_FLAG_SI, returning %d", error);
+ return (error);
+ }
+
+ sig = bsd_to_linux_signal(lwpinfo.pl_siginfo.si_signo);
+ siginfo_to_lsiginfo(&lwpinfo.pl_siginfo, &l_siginfo, sig);
+ error = copyout(&l_siginfo, (void *)data, sizeof(l_siginfo));
+ return (error);
+}
+
+static int
linux_ptrace_getregs(struct thread *td, pid_t pid, void *data)
{
struct ptrace_lwpinfo lwpinfo;
@@ -579,6 +605,9 @@
break;
case LINUX_PTRACE_SETOPTIONS:
error = linux_ptrace_setoptions(td, pid, uap->data);
+ break;
+ case LINUX_PTRACE_GETSIGINFO:
+ error = linux_ptrace_getsiginfo(td, pid, uap->data);
break;
case LINUX_PTRACE_GETREGSET:
error = linux_ptrace_getregset(td, pid, uap->addr, uap->data);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jul 11, 11:38 PM (4 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34979393
Default Alt Text
D20691.id59419.diff (1 KB)
Attached To
Mode
D20691: Implement PTRACE_GETSIGINFO
Attached
Detach File
Event Timeline
Log In to Comment