-
Notifications
You must be signed in to change notification settings - Fork 578
Kernel API wishlist
List of linux kernel work that would help rr.
Syscallbuf+vsyscall hooking works OK in practice, but the kernel can do so much better, so much more easily. Essentially it "just" has to record copy_to_user() within syscall handlers, plus a bit of metadata. Perhaps could be exposed through perf_event.
Probably through perf_event. There was a previous attempt to do this, but I think it fizzled out.
rr wants to use this for efficiently waiting on CLONE_CLEAR_CHILDTID futexes.
Counter to the syscall ABI. Bug that we shouldn't let slip through the cracks. Ubuntu bug isn't moving, need to test on kernel HEAD and upstream to kernel folks.
See #692: the kernel munges sigstate to enable SIGSEGV traps when SIGSEGV is blocked, but apparently doesn't un-munge the state.
See #212. Alternatively, create a new ptrace request analogous to PTRACE_SINGLESTEP_SYSEMU, perhaps PTACE_SINGLESTEP_SYSCALL.
See #876. That's generally not a good idea because it can let sensitive data leak into userspace.
See #603. We fall back on using SCM_RIGHTS, but it's considerably more complicated than needs to be.
See #1198. This wait_status (in response to a PTRACE_INTERRUPT) seems to contradict documentation. It's received when we interrupt a task blocked in an untraced system call.