/* SPDX-License-Identifier: GPL-2.0-or-later */ #include #include #include #include void *malloc(size_t size) { return memalign(sizeof(long), size); } void *calloc(size_t nmemb, size_t size) { void *ptr; assert(!check_mul_overflow(nmemb, size)); ptr = malloc(nmemb * size); if (ptr) memset(ptr, 0, nmemb * size); return ptr; } void free(void *ptr) { if (alloc_ops->free) alloc_ops->free(ptr); } void *memalign(size_t alignment, size_t size) { void *p; if (!size) return NULL; assert(is_power_of_2(alignment)); assert(alloc_ops && alloc_ops->memalign); p = alloc_ops->memalign(alignment, size); assert(p); return (void *)p; }