Lines Matching defs:stack

83 inline void Metadata::SetAllocated(u32 stack, u64 size) {
87 context += stack;
183 static void *HwasanAllocate(StackTrace *stack, uptr orig_size, uptr alignment,
194 ReportAllocationSizeTooBig(orig_size, max_malloc_size, stack);
199 ReportRssLimitExceeded(stack);
217 ReportOutOfMemory(size, stack);
239 flags()->tag_in_malloc && malloc_bisect(stack, orig_size)) {
262 meta->SetAllocated(StackDepotPut(*stack), orig_size);
277 static bool CheckInvalidFree(StackTrace *stack, void *untagged_ptr,
282 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr));
288 static void HwasanDeallocate(StackTrace *stack, void *tagged_ptr) {
295 if (CheckInvalidFree(stack, untagged_ptr, tagged_ptr))
304 ReportInvalidFree(stack, reinterpret_cast<uptr>(tagged_ptr));
309 u32 free_context_id = StackDepotPut(*stack);
329 ReportTailOverwritten(stack, reinterpret_cast<uptr>(tagged_ptr),
343 if (in_taggable_region && flags()->tag_in_free && malloc_bisect(stack, 0) &&
377 static void *HwasanReallocate(StackTrace *stack, void *tagged_ptr_old,
380 if (CheckInvalidFree(stack, untagged_ptr_old, tagged_ptr_old))
383 HwasanAllocate(stack, new_size, alignment, false /*zeroise*/);
390 HwasanDeallocate(stack, tagged_ptr_old);
395 static void *HwasanCalloc(StackTrace *stack, uptr nmemb, uptr size) {
399 ReportCallocOverflow(nmemb, size, stack);
401 return HwasanAllocate(stack, nmemb * size, sizeof(u64), true);
451 void *hwasan_malloc(uptr size, StackTrace *stack) {
452 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false));
455 void *hwasan_calloc(uptr nmemb, uptr size, StackTrace *stack) {
456 return SetErrnoOnNull(HwasanCalloc(stack, nmemb, size));
459 void *hwasan_realloc(void *ptr, uptr size, StackTrace *stack) {
461 return SetErrnoOnNull(HwasanAllocate(stack, size, sizeof(u64), false));
463 HwasanDeallocate(stack, ptr);
466 return SetErrnoOnNull(HwasanReallocate(stack, ptr, size, sizeof(u64)));
469 void *hwasan_reallocarray(void *ptr, uptr nmemb, uptr size, StackTrace *stack) {
474 ReportReallocArrayOverflow(nmemb, size, stack);
476 return hwasan_realloc(ptr, nmemb * size, stack);
479 void *hwasan_valloc(uptr size, StackTrace *stack) {
481 HwasanAllocate(stack, size, GetPageSizeCached(), false));
484 void *hwasan_pvalloc(uptr size, StackTrace *stack) {
490 ReportPvallocOverflow(size, stack);
494 return SetErrnoOnNull(HwasanAllocate(stack, size, PageSize, false));
497 void *hwasan_aligned_alloc(uptr alignment, uptr size, StackTrace *stack) {
502 ReportInvalidAlignedAllocAlignment(size, alignment, stack);
504 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false));
507 void *hwasan_memalign(uptr alignment, uptr size, StackTrace *stack) {
512 ReportInvalidAllocationAlignment(alignment, stack);
514 return SetErrnoOnNull(HwasanAllocate(stack, size, alignment, false));
518 StackTrace *stack) {
522 ReportInvalidPosixMemalignAlignment(alignment, stack);
524 void *ptr = HwasanAllocate(stack, size, alignment, false);
533 void hwasan_free(void *ptr, StackTrace *stack) {
534 return HwasanDeallocate(stack, ptr);