Skip to content

Commit 6123a81

Browse files
authored
[compiler-rt][rtsan] Fix process_vm_readv/process_vm_writev signatures. (#123914)
missing pid_t first argument. Fix #123839
1 parent 0165d04 commit 6123a81

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,18 +1107,20 @@ INTERCEPTOR(int, execve, const char *filename, char *const argv[],
11071107
}
11081108

11091109
#if SANITIZER_INTERCEPT_PROCESS_VM_READV
1110-
INTERCEPTOR(ssize_t, process_vm_readv, const struct iovec *local_iov,
1110+
INTERCEPTOR(ssize_t, process_vm_readv, pid_t pid, const struct iovec *local_iov,
11111111
unsigned long liovcnt, const struct iovec *remote_iov,
11121112
unsigned long riovcnt, unsigned long flags) {
11131113
__rtsan_notify_intercepted_call("process_vm_readv");
1114-
return REAL(process_vm_readv)(local_iov, liovcnt, remote_iov, riovcnt, flags);
1114+
return REAL(process_vm_readv)(pid, local_iov, liovcnt, remote_iov, riovcnt,
1115+
flags);
11151116
}
11161117

1117-
INTERCEPTOR(ssize_t, process_vm_writev, const struct iovec *local_iov,
1118-
unsigned long liovcnt, const struct iovec *remote_iov,
1119-
unsigned long riovcnt, unsigned long flags) {
1118+
INTERCEPTOR(ssize_t, process_vm_writev, pid_t pid,
1119+
const struct iovec *local_iov, unsigned long liovcnt,
1120+
const struct iovec *remote_iov, unsigned long riovcnt,
1121+
unsigned long flags) {
11201122
__rtsan_notify_intercepted_call("process_vm_writev");
1121-
return REAL(process_vm_writev)(local_iov, liovcnt, remote_iov, riovcnt,
1123+
return REAL(process_vm_writev)(pid, local_iov, liovcnt, remote_iov, riovcnt,
11221124
flags);
11231125
}
11241126
#define RTSAN_MAYBE_INTERCEPT_PROCESS_VM_READV \

0 commit comments

Comments
 (0)