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()
138 ReportRssLimitExceeded(stack); in HwasanAllocate()
156 ReportOutOfMemory(size, stack); in HwasanAllocate()
161 meta->alloc_context_id = StackDepotPut(*stack); in HwasanAllocate()
184 if (flags()->tag_in_malloc && malloc_bisect(stack, orig_size)) { in HwasanAllocate()
216 static bool CheckInvalidFree(StackTrace *stack, void *untagged_ptr, in CheckInvalidFree() argument
221 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in CheckInvalidFree()
227 static void HwasanDeallocate(StackTrace *stack, void *tagged_ptr) { in HwasanDeallocate() argument
235 if (CheckInvalidFree(stack, untagged_ptr, tagged_ptr)) in HwasanDeallocate()
244 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr)); in HwasanDeallocate()
248 u32 free_context_id = StackDepotPut(*stack); in HwasanDeallocate()
264 ReportTailOverwritten(stack, reinterpret_cast<uptr>(tagged_ptr), in HwasanDeallocate()
278 if (in_taggable_region && flags()->tag_in_free && malloc_bisect(stack, 0) && in HwasanDeallocate()
310 static void *HwasanReallocate(StackTrace *stack, void *tagged_ptr_old, in HwasanReallocate() argument
316 if (CheckInvalidFree(stack, untagged_ptr_old, tagged_ptr_old)) in HwasanReallocate()
319 HwasanAllocate(stack, new_size, alignment, false /*zeroise*/); in HwasanReallocate()
326 HwasanDeallocate(stack, tagged_ptr_old); in HwasanReallocate()
331 static void *HwasanCalloc(StackTrace *stack, uptr nmemb, uptr size) { in HwasanCalloc() argument
335 ReportCallocOverflow(nmemb, size, stack); in HwasanCalloc()
337 return HwasanAllocate(stack, nmemb * size, sizeof(u64), true); in HwasanCalloc()
366 void *hwasan_malloc(uptr size, StackTrace *stack) { in hwasan_malloc() argument
367 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_malloc()
370 void *hwasan_calloc(uptr nmemb, uptr size, StackTrace *stack) { in hwasan_calloc() argument
371 return SetErrnoOnNull(HwasanCalloc(stack, nmemb, size)); in hwasan_calloc()
374 void *hwasan_realloc(void *ptr, uptr size, StackTrace *stack) { in hwasan_realloc() argument
376 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false)); in hwasan_realloc()
378 HwasanDeallocate(stack, ptr); in hwasan_realloc()
381 return SetErrnoOnNull(HwasanReallocate(stack, ptr, size, sizeof(u64))); in hwasan_realloc()
384 void *hwasan_reallocarray(void *ptr, uptr nmemb, uptr size, StackTrace *stack) { in hwasan_reallocarray() argument
389 ReportReallocArrayOverflow(nmemb, size, stack); in hwasan_reallocarray()
391 return hwasan_realloc(ptr, nmemb * size, stack); in hwasan_reallocarray()
394 void *hwasan_valloc(uptr size, StackTrace *stack) { in hwasan_valloc() argument
396 HwasanAllocate(stack, size, GetPageSizeCached(), false)); in hwasan_valloc()
399 void *hwasan_pvalloc(uptr size, StackTrace *stack) { in hwasan_pvalloc() argument
405 ReportPvallocOverflow(size, stack); in hwasan_pvalloc()
409 return SetErrnoOnNull(HwasanAllocate(stack, size, PageSize, false)); in hwasan_pvalloc()
412 void *hwasan_aligned_alloc(uptr alignment, uptr size, StackTrace *stack) { in hwasan_aligned_alloc() argument
417 ReportInvalidAlignedAllocAlignment(size, alignment, stack); in hwasan_aligned_alloc()
419 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_aligned_alloc()
422 void *hwasan_memalign(uptr alignment, uptr size, StackTrace *stack) { in hwasan_memalign() argument
427 ReportInvalidAllocationAlignment(alignment, stack); in hwasan_memalign()
429 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false)); in hwasan_memalign()
433 StackTrace *stack) { in hwasan_posix_memalign() argument
437 ReportInvalidPosixMemalignAlignment(alignment, stack); in hwasan_posix_memalign()
439 void *ptr = HwasanAllocate(stack, size, alignment, false); in hwasan_posix_memalign()
448 void hwasan_free(void *ptr, StackTrace *stack) { in hwasan_free() argument
449 return HwasanDeallocate(stack, ptr); in hwasan_free()