Lines Matching refs:stack

125 static void *HwasanAllocate(StackTrace *stack, uptr orig_size, uptr alignment,  in HwasanAllocate()  argument
133 ReportAllocationSizeTooBig(orig_size, kMaxAllowedMallocSize, stack); in HwasanAllocate()
151 ReportOutOfMemory(size, stack); in HwasanAllocate()
156 meta->alloc_context_id = StackDepotPut(*stack); in HwasanAllocate()
179 if (flags()->tag_in_malloc && malloc_bisect(stack, orig_size)) { in HwasanAllocate()
211 static bool CheckInvalidFree(StackTrace *stack, void *untagged_ptr, in CheckInvalidFree() argument
216 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in CheckInvalidFree()
222 static void HwasanDeallocate(StackTrace *stack, void *tagged_ptr) { in HwasanDeallocate() argument
230 if (CheckInvalidFree(stack, untagged_ptr, tagged_ptr)) in HwasanDeallocate()
239 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in HwasanDeallocate()
243 u32 free_context_id = StackDepotPut(*stack); in HwasanDeallocate()
259 ReportTailOverwritten(stack, reinterpret_cast<uptr>(tagged_ptr), in HwasanDeallocate()
273 if (in_taggable_region && flags()->tag_in_free && malloc_bisect(stack, 0) && in HwasanDeallocate()
305 static void *HwasanReallocate(StackTrace *stack, void *tagged_ptr_old, in HwasanReallocate() argument
311 if (CheckInvalidFree(stack, untagged_ptr_old, tagged_ptr_old)) in HwasanReallocate()
314 HwasanAllocate(stack, new_size, alignment, false /*zeroise*/); in HwasanReallocate()
321 HwasanDeallocate(stack, tagged_ptr_old); in HwasanReallocate()
326 static void *HwasanCalloc(StackTrace *stack, uptr nmemb, uptr size) { in HwasanCalloc() argument
330 ReportCallocOverflow(nmemb, size, stack); in HwasanCalloc()
332 return HwasanAllocate(stack, nmemb * size, sizeof(u64), true); in HwasanCalloc()
361 void *hwasan_malloc(uptr size, StackTrace *stack) { in hwasan_malloc() argument
362 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_malloc()
365 void *hwasan_calloc(uptr nmemb, uptr size, StackTrace *stack) { in hwasan_calloc() argument
366 return SetErrnoOnNull(HwasanCalloc(stack, nmemb, size)); in hwasan_calloc()
369 void *hwasan_realloc(void *ptr, uptr size, StackTrace *stack) { in hwasan_realloc() argument
371 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_realloc()
373 HwasanDeallocate(stack, ptr); in hwasan_realloc()
376 return SetErrnoOnNull(HwasanReallocate(stack, ptr, size, sizeof(u64))); in hwasan_realloc()
379 void *hwasan_reallocarray(void *ptr, uptr nmemb, uptr size, StackTrace *stack) { in hwasan_reallocarray() argument
384 ReportReallocArrayOverflow(nmemb, size, stack); in hwasan_reallocarray()
386 return hwasan_realloc(ptr, nmemb * size, stack); in hwasan_reallocarray()
389 void *hwasan_valloc(uptr size, StackTrace *stack) { in hwasan_valloc() argument
391 HwasanAllocate(stack, size, GetPageSizeCached(), false)); in hwasan_valloc()
394 void *hwasan_pvalloc(uptr size, StackTrace *stack) { in hwasan_pvalloc() argument
400 ReportPvallocOverflow(size, stack); in hwasan_pvalloc()
404 return SetErrnoOnNull(HwasanAllocate(stack, size, PageSize, false)); in hwasan_pvalloc()
407 void *hwasan_aligned_alloc(uptr alignment, uptr size, StackTrace *stack) { in hwasan_aligned_alloc() argument
412 ReportInvalidAlignedAllocAlignment(size, alignment, stack); in hwasan_aligned_alloc()
414 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_aligned_alloc()
417 void *hwasan_memalign(uptr alignment, uptr size, StackTrace *stack) { in hwasan_memalign() argument
422 ReportInvalidAllocationAlignment(alignment, stack); in hwasan_memalign()
424 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_memalign()
428 StackTrace *stack) { in hwasan_posix_memalign() argument
432 ReportInvalidPosixMemalignAlignment(alignment, stack); in hwasan_posix_memalign()
434 void *ptr = HwasanAllocate(stack, size, alignment, false); in hwasan_posix_memalign()
443 void hwasan_free(void *ptr, StackTrace *stack) { in hwasan_free() argument
444 return HwasanDeallocate(stack, ptr); in hwasan_free()