Lines Matching defs:uptr

93 extern "C" int pthread_attr_setstacksize(void *attr, uptr stacksize);
202 uptr pc;
235 const uptr n = supp.SuppressionCount();
236 for (uptr i = 0; i < n; i++) {
268 uptr ctx = atomic_load(&thr->signal_ctx, memory_order_relaxed);
270 uptr pctx =
271 (uptr)MmapOrDie(sizeof(ThreadSignalContext), "ThreadSignalContext");
272 MemoryResetRange(thr, (uptr)&SigCtx, pctx, sizeof(ThreadSignalContext));
284 uptr pc)
363 MemoryAccessRange((thr), (pc), (uptr)(s), \
427 uptr element = interceptor_ctx()->AtExitStack.Size() - 1;
433 Acquire(thr, ctx->pc, (uptr)ctx);
443 Acquire(thr, ctx->pc, (uptr)arg);
450 static int setup_at_exit_wrapper(ThreadState *thr, uptr pc, void(*f)(),
471 static int setup_at_exit_wrapper(ThreadState *thr, uptr pc, void(*f)(),
477 Release(thr, pc, (uptr)ctx);
509 Acquire(thr, ctx->pc, (uptr)arg);
524 Release(thr, pc, (uptr)ctx);
538 static void JmpBufGarbageCollect(ThreadState *thr, uptr sp) {
539 for (uptr i = 0; i < thr->jmp_bufs.Size(); i++) {
542 uptr sz = thr->jmp_bufs.Size();
550 static void SetJmp(ThreadState *thr, uptr sp) {
566 static void LongJmp(ThreadState *thr, uptr *env) {
567 uptr sp = ExtractLongJmpSp(env);
569 for (uptr i = 0; i < thr->jmp_bufs.Size(); i++) {
592 extern "C" void __tsan_setjmp(uptr sp) { SetJmp(cur_thread_init(), sp); }
621 InterceptFunction(SANITIZER_STRINGIFY(setjmp_symname), (uptr*)&REAL(setjmp_symname), 0, 0);
622 InterceptFunction("_setjmp", (uptr*)&REAL(_setjmp), 0, 0);
623 InterceptFunction(SANITIZER_STRINGIFY(sigsetjmp_symname), (uptr*)&REAL(sigsetjmp_symname), 0,
626 InterceptFunction("__sigsetjmp", (uptr*)&REAL(__sigsetjmp), 0, 0);
639 TSAN_INTERCEPTOR(void, longjmp_symname, uptr *env, int val) {
650 TSAN_INTERCEPTOR(void, siglongjmp_symname, uptr *env, int val) {
659 TSAN_INTERCEPTOR(void, _longjmp, uptr *env, int val) {
669 TSAN_INTERCEPTOR(void*, malloc, uptr size) {
686 TSAN_INTERCEPTOR(void*, __libc_memalign, uptr align, uptr sz) {
691 TSAN_INTERCEPTOR(void *, calloc, uptr n, uptr size) {
705 TSAN_INTERCEPTOR(void*, realloc, void *p, uptr size) {
720 TSAN_INTERCEPTOR(void *, reallocarray, void *p, uptr n, uptr size) {
757 TSAN_INTERCEPTOR(uptr, malloc_usable_size, void *p) {
765 uptr srclen = internal_strlen(src);
766 MemoryAccessRange(thr, pc, (uptr)dst, srclen + 1, true);
767 MemoryAccessRange(thr, pc, (uptr)src, srclen + 1, false);
773 uptr srclen = internal_strnlen(src, n);
774 MemoryAccessRange(thr, pc, (uptr)dst, n, true);
775 MemoryAccessRange(thr, pc, (uptr)src, min(srclen + 1, n), false);
789 if (!IsAppMem((uptr)*addr) || !IsAppMem((uptr)*addr + sz - 1)) {
802 static void *mmap_interceptor(ThreadState *thr, uptr pc, Mmap real_mmap,
808 if (!IsAppMem((uptr)res) || !IsAppMem((uptr)res + sz - 1)) {
814 MemoryRangeImitateWriteOrResetRange(thr, pc, (uptr)res, sz);
820 static int munmap_interceptor(ThreadState *thr, uptr pc, Munmap real_munmap,
822 UnmapShadow(thr, (uptr)addr, sz);
828 TSAN_INTERCEPTOR(void*, memalign, uptr align, uptr sz) {
838 TSAN_INTERCEPTOR(void*, aligned_alloc, uptr align, uptr sz) {
845 TSAN_INTERCEPTOR(void*, valloc, uptr sz) {
854 TSAN_INTERCEPTOR(void*, pvalloc, uptr sz) {
856 uptr PageSize = GetPageSizeCached();
869 TSAN_INTERCEPTOR(int, posix_memalign, void **memptr, uptr align, uptr sz) {
893 static int guard_acquire(ThreadState *thr, uptr pc, atomic_uint32_t *g,
910 Acquire(thr, pc, (uptr)g);
921 static void guard_release(ThreadState *thr, uptr pc, atomic_uint32_t *g,
924 Release(thr, pc, (uptr)g);
986 uptr iter = (uptr)v;
1080 p.tid = ThreadCreate(thr, pc, *(uptr *)th, IsStateDetached(detached));
1099 Tid tid = ThreadConsumeTid(thr, pc, (uptr)th);
1124 Tid tid = ThreadConsumeTid(thr, pc, (uptr)th);
1145 Tid tid = ThreadConsumeTid(thr, pc, (uptr)th);
1152 ThreadNotJoined(thr, pc, tid, (uptr)th);
1159 Tid tid = ThreadConsumeTid(thr, pc, (uptr)th);
1166 ThreadNotJoined(thr, pc, tid, (uptr)th);
1187 // sizeof(pthread_cond_t) >= sizeof(uptr) in both versions.
1197 uptr cond = atomic_load(p, memory_order_acquire);
1202 if (atomic_compare_exchange_strong(p, &cond, (uptr)newcond,
1215 uptr pc;
1233 MutexPostLock(thr, pc, (uptr)m, MutexFlagDoPreLockOnPostLock);
1243 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), true);
1248 int cond_wait(ThreadState *thr, uptr pc, ScopedInterceptor *si, const Fn &fn,
1250 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false);
1251 MutexUnlock(thr, pc, (uptr)m);
1266 if (res == errno_EOWNERDEAD) MutexRepair(thr, pc, (uptr)m);
1267 MutexPostLock(thr, pc, (uptr)m, MutexFlagDoPreLockOnPostLock);
1320 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false);
1327 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), false);
1334 MemoryAccessRange(thr, pc, (uptr)c, sizeof(uptr), true);
1356 MutexCreate(thr, pc, (uptr)m, flagz);
1365 MutexDestroy(thr, pc, (uptr)m);
1372 MutexPreLock(thr, pc, (uptr)m);
1375 MutexRepair(thr, pc, (uptr)m);
1377 MutexPostLock(thr, pc, (uptr)m);
1379 MutexInvalidAccess(thr, pc, (uptr)m);
1387 MutexRepair(thr, pc, (uptr)m);
1389 MutexPostLock(thr, pc, (uptr)m, MutexFlagTryLock);
1398 MutexPostLock(thr, pc, (uptr)m, MutexFlagTryLock);
1406 MutexUnlock(thr, pc, (uptr)m);
1409 MutexInvalidAccess(thr, pc, (uptr)m);
1417 MutexPreLock(thr, pc, (uptr)m);
1420 MutexRepair(thr, pc, (uptr)m);
1422 MutexPostLock(thr, pc, (uptr)m);
1424 MutexInvalidAccess(thr, pc, (uptr)m);
1435 MutexPreLock(thr, pc, (uptr)m);
1438 MutexRepair(thr, pc, (uptr)m);
1440 MutexPostLock(thr, pc, (uptr)m);
1442 MutexInvalidAccess(thr, pc, (uptr)m);
1448 MutexUnlock(thr, pc, (uptr)m);
1451 MutexInvalidAccess(thr, pc, (uptr)m);
1462 MutexCreate(thr, pc, (uptr)m);
1471 MutexDestroy(thr, pc, (uptr)m);
1478 MutexPreLock(thr, pc, (uptr)m);
1481 MutexPostLock(thr, pc, (uptr)m);
1490 MutexPostLock(thr, pc, (uptr)m, MutexFlagTryLock);
1497 MutexUnlock(thr, pc, (uptr)m);
1507 MutexCreate(thr, pc, (uptr)m);
1516 MutexDestroy(thr, pc, (uptr)m);
1523 MutexPreReadLock(thr, pc, (uptr)m);
1526 MutexPostReadLock(thr, pc, (uptr)m);
1535 MutexPostReadLock(thr, pc, (uptr)m, MutexFlagTryLock);
1545 MutexPostReadLock(thr, pc, (uptr)m);
1553 MutexPreLock(thr, pc, (uptr)m);
1556 MutexPostLock(thr, pc, (uptr)m);
1565 MutexPostLock(thr, pc, (uptr)m, MutexFlagTryLock);
1575 MutexPostLock(thr, pc, (uptr)m, MutexFlagTryLock);
1583 MutexReadOrWriteUnlock(thr, pc, (uptr)m);
1591 MemoryAccess(thr, pc, (uptr)b, 1, kAccessWrite);
1598 MemoryAccess(thr, pc, (uptr)b, 1, kAccessWrite);
1605 Release(thr, pc, (uptr)b);
1606 MemoryAccess(thr, pc, (uptr)b, 1, kAccessRead);
1608 MemoryAccess(thr, pc, (uptr)b, 1, kAccessRead);
1610 Acquire(thr, pc, (uptr)b);
2090 static void ReportErrnoSpoiling(ThreadState *thr, uptr pc, int sig) {
2110 Acquire(thr, 0, (uptr)&sigactions[sig]);
2138 volatile uptr pc = (sigactions[sig].sa_flags & SA_SIGINFO)
2139 ? (uptr)sigactions[sig].sigaction
2140 : (uptr)sigactions[sig].handler;
2323 const uptr pc = StackTrace::GetCurrentPc();
2331 const uptr pc = StackTrace::GetCurrentPc();
2339 const uptr pc = StackTrace::GetCurrentPc();
2374 uptr pc = GET_CURRENT_PC();
2399 uptr pc;
2404 static bool IsAppNotRodata(uptr addr) {
2416 if (info && IsAppNotRodata((uptr)info->dlpi_name))
2417 MemoryResetRange(cbdata->thr, cbdata->pc, (uptr)info->dlpi_name,
2422 if (info && IsAppNotRodata((uptr)info->dlpi_name))
2423 MemoryResetRange(cbdata->thr, cbdata->pc, (uptr)info->dlpi_name,
2447 static void HandleRecvmsg(ThreadState *thr, uptr pc,
2595 { return (uptr)signal_impl(signo, (__sanitizer_sighandler_ptr)handler); }
2633 ((uptr)act->handler != sig_ign && (uptr)act->handler != sig_dfl)) {
2637 ReleaseStore(thr, pc, (uptr)&sigactions[sig]);
2675 static void syscall_access_range(uptr pc, uptr p, uptr s, bool write) {
2680 static USED void syscall_acquire(uptr pc, uptr addr) {
2686 static USED void syscall_release(uptr pc, uptr addr) {
2692 static void syscall_fd_close(uptr pc, int fd) {
2697 static USED void syscall_fd_acquire(uptr pc, int fd) {
2703 static USED void syscall_fd_release(uptr pc, int fd) {
2728 static void syscall_pre_fork(uptr pc) { ForkBefore(cur_thread(), pc); }
2730 static void syscall_post_fork(uptr pc, int pid) {
2747 syscall_access_range(GET_CALLER_PC(), (uptr)(p), (uptr)(s), false)
2750 syscall_access_range(GET_CALLER_PC(), (uptr)(p), (uptr)(s), true)
2765 syscall_acquire(GET_CALLER_PC(), (uptr)(addr))
2768 syscall_release(GET_CALLER_PC(), (uptr)(addr))
2819 TSAN_INTERCEPTOR(uptr, __tls_get_addr_internal, void *arg) {
2820 uptr res = __tls_get_offset_wrapper(arg, REAL(__tls_get_offset));