[sanitizer] Support PTRACE_GETEVENTMSG in the ptrace() interceptor.
llvm-svn: 211022
This commit is contained in:
parent
a84989a22d
commit
998d991b2d
|
@ -2031,7 +2031,7 @@ INTERCEPTOR(uptr, ptrace, int request, int pid, void *addr, void *data) {
|
|||
uptr res = REAL(ptrace)(request, pid, addr, data);
|
||||
|
||||
if (!res && data) {
|
||||
// Note that PEEK* requests assing different meaning to the return value.
|
||||
// Note that PEEK* requests assign different meaning to the return value.
|
||||
// This function does not handle them (nor does it need to).
|
||||
if (request == ptrace_getregs)
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data, struct_user_regs_struct_sz);
|
||||
|
@ -2041,6 +2041,8 @@ INTERCEPTOR(uptr, ptrace, int request, int pid, void *addr, void *data) {
|
|||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data, struct_user_fpxregs_struct_sz);
|
||||
else if (request == ptrace_getsiginfo)
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data, siginfo_t_sz);
|
||||
else if (request == ptrace_geteventmsg)
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data, sizeof(unsigned long));
|
||||
else if (request == ptrace_getregset) {
|
||||
__sanitizer_iovec *iov = (__sanitizer_iovec *)data;
|
||||
COMMON_INTERCEPTOR_WRITE_RANGE(ctx, iov->iov_base, iov->iov_len);
|
||||
|
|
|
@ -289,6 +289,7 @@ namespace __sanitizer {
|
|||
int ptrace_setfpregs = PTRACE_SETFPREGS;
|
||||
int ptrace_getfpxregs = PTRACE_GETFPXREGS;
|
||||
int ptrace_setfpxregs = PTRACE_SETFPXREGS;
|
||||
int ptrace_geteventmsg = PTRACE_GETEVENTMSG;
|
||||
#if (defined(PTRACE_GETSIGINFO) && defined(PTRACE_SETSIGINFO)) || \
|
||||
(defined(PT_GETSIGINFO) && defined(PT_SETSIGINFO))
|
||||
int ptrace_getsiginfo = PTRACE_GETSIGINFO;
|
||||
|
|
|
@ -678,6 +678,7 @@ namespace __sanitizer {
|
|||
extern int ptrace_setsiginfo;
|
||||
extern int ptrace_getregset;
|
||||
extern int ptrace_setregset;
|
||||
extern int ptrace_geteventmsg;
|
||||
#endif
|
||||
|
||||
#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
|
|
Loading…
Reference in New Issue