1a367dcbbSJerome Forissier /* SPDX-License-Identifier: BSD-2-Clause */ 2a367dcbbSJerome Forissier /* 3a367dcbbSJerome Forissier * Copyright (c) 2018, Linaro Limited 4a367dcbbSJerome Forissier */ 5a367dcbbSJerome Forissier #include <malloc.h> 6a367dcbbSJerome Forissier #include <stddef.h> 7a367dcbbSJerome Forissier #include <util.h> 8a367dcbbSJerome Forissier unw_grow(void * p,size_t * cur_size,size_t new_size)9a367dcbbSJerome Forissierstatic inline void *unw_grow(void *p, size_t *cur_size, size_t new_size) 10a367dcbbSJerome Forissier { 11*02d307b7SJerome Forissier size_t rounded_size = 0; 12*02d307b7SJerome Forissier void *tmp = NULL; 13*02d307b7SJerome Forissier 14a367dcbbSJerome Forissier if (*cur_size >= new_size) 15a367dcbbSJerome Forissier return p; 16a367dcbbSJerome Forissier 17*02d307b7SJerome Forissier rounded_size = ROUNDUP(new_size, 16 * sizeof(vaddr_t)); 18*02d307b7SJerome Forissier tmp = realloc(p, rounded_size); 19a367dcbbSJerome Forissier 20a367dcbbSJerome Forissier if (tmp) 21a367dcbbSJerome Forissier *cur_size = rounded_size; 22a367dcbbSJerome Forissier return tmp; 23a367dcbbSJerome Forissier } 24