Lines Matching refs:stack
78 inline void Metadata::SetAllocated(u32 stack, u64 size) { in SetAllocated() argument
82 context += stack; in SetAllocated()
163 static void *HwasanAllocate(StackTrace *stack, uptr orig_size, uptr alignment, in HwasanAllocate() argument
171 ReportAllocationSizeTooBig(orig_size, kMaxAllowedMallocSize, stack); in HwasanAllocate()
176 ReportRssLimitExceeded(stack); in HwasanAllocate()
194 ReportOutOfMemory(size, stack); in HwasanAllocate()
217 if (flags()->tag_in_malloc && malloc_bisect(stack, orig_size)) { in HwasanAllocate()
241 meta->SetAllocated(StackDepotPut(*stack), orig_size); in HwasanAllocate()
256 static bool CheckInvalidFree(StackTrace *stack, void *untagged_ptr, in CheckInvalidFree() argument
261 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in CheckInvalidFree()
267 static void HwasanDeallocate(StackTrace *stack, void *tagged_ptr) { in HwasanDeallocate() argument
275 if (CheckInvalidFree(stack, untagged_ptr, tagged_ptr)) in HwasanDeallocate()
284 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in HwasanDeallocate()
288 u32 free_context_id = StackDepotPut(*stack); in HwasanDeallocate()
304 ReportTailOverwritten(stack, reinterpret_cast<uptr>(tagged_ptr), in HwasanDeallocate()
318 if (in_taggable_region && flags()->tag_in_free && malloc_bisect(stack, 0) && in HwasanDeallocate()
350 static void *HwasanReallocate(StackTrace *stack, void *tagged_ptr_old, in HwasanReallocate() argument
356 if (CheckInvalidFree(stack, untagged_ptr_old, tagged_ptr_old)) in HwasanReallocate()
359 HwasanAllocate(stack, new_size, alignment, false /*zeroise*/); in HwasanReallocate()
366 HwasanDeallocate(stack, tagged_ptr_old); in HwasanReallocate()
371 static void *HwasanCalloc(StackTrace *stack, uptr nmemb, uptr size) { in HwasanCalloc() argument
375 ReportCallocOverflow(nmemb, size, stack); in HwasanCalloc()
377 return HwasanAllocate(stack, nmemb * size, sizeof(u64), true); in HwasanCalloc()
400 void *hwasan_malloc(uptr size, StackTrace *stack) { in hwasan_malloc() argument
401 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_malloc()
404 void *hwasan_calloc(uptr nmemb, uptr size, StackTrace *stack) { in hwasan_calloc() argument
405 return SetErrnoOnNull(HwasanCalloc(stack, nmemb, size)); in hwasan_calloc()
408 void *hwasan_realloc(void *ptr, uptr size, StackTrace *stack) { in hwasan_realloc() argument
410 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_realloc()
412 HwasanDeallocate(stack, ptr); in hwasan_realloc()
415 return SetErrnoOnNull(HwasanReallocate(stack, ptr, size, sizeof(u64))); in hwasan_realloc()
418 void *hwasan_reallocarray(void *ptr, uptr nmemb, uptr size, StackTrace *stack) { in hwasan_reallocarray() argument
423 ReportReallocArrayOverflow(nmemb, size, stack); in hwasan_reallocarray()
425 return hwasan_realloc(ptr, nmemb * size, stack); in hwasan_reallocarray()
428 void *hwasan_valloc(uptr size, StackTrace *stack) { in hwasan_valloc() argument
430 HwasanAllocate(stack, size, GetPageSizeCached(), false)); in hwasan_valloc()
433 void *hwasan_pvalloc(uptr size, StackTrace *stack) { in hwasan_pvalloc() argument
439 ReportPvallocOverflow(size, stack); in hwasan_pvalloc()
443 return SetErrnoOnNull(HwasanAllocate(stack, size, PageSize, false)); in hwasan_pvalloc()
446 void *hwasan_aligned_alloc(uptr alignment, uptr size, StackTrace *stack) { in hwasan_aligned_alloc() argument
451 ReportInvalidAlignedAllocAlignment(size, alignment, stack); in hwasan_aligned_alloc()
453 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_aligned_alloc()
456 void *hwasan_memalign(uptr alignment, uptr size, StackTrace *stack) { in hwasan_memalign() argument
461 ReportInvalidAllocationAlignment(alignment, stack); in hwasan_memalign()
463 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_memalign()
467 StackTrace *stack) { in hwasan_posix_memalign() argument
471 ReportInvalidPosixMemalignAlignment(alignment, stack); in hwasan_posix_memalign()
473 void *ptr = HwasanAllocate(stack, size, alignment, false); in hwasan_posix_memalign()
482 void hwasan_free(void *ptr, StackTrace *stack) { in hwasan_free() argument
483 return HwasanDeallocate(stack, ptr); in hwasan_free()