Lines Matching refs:uc
323 static AccessInfo GetAccessInfo(siginfo_t *info, ucontext_t *uc) { in GetAccessInfo() argument
340 const uptr addr = uc->uc_mcontext.regs[0]; in GetAccessInfo()
344 const uptr size = size_log == 0xf ? uc->uc_mcontext.regs[1] : 1U << size_log; in GetAccessInfo()
350 uptr pc = (uptr)uc->uc_mcontext.gregs[REG_RIP]; in GetAccessInfo()
359 const uptr addr = uc->uc_mcontext.gregs[REG_RDI]; in GetAccessInfo()
364 size_log == 0xf ? uc->uc_mcontext.gregs[REG_RSI] : 1U << size_log; in GetAccessInfo()
373 static bool HwasanOnSIGTRAP(int signo, siginfo_t *info, ucontext_t *uc) { in HwasanOnSIGTRAP() argument
374 AccessInfo ai = GetAccessInfo(info, uc); in HwasanOnSIGTRAP()
378 SignalContext sig{info, uc}; in HwasanOnSIGTRAP()
379 HandleTagMismatch(ai, StackTrace::GetNextInstructionPc(sig.pc), sig.bp, uc); in HwasanOnSIGTRAP()
382 uc->uc_mcontext.pc += 4; in HwasanOnSIGTRAP()