void *kzalloc(size_t size, gfp_t flags);
Allocates a zero-initialized buffer
void *kcalloc(size_t n, size_t size,
gfp_t flags);
Allocates memory for an array of n elements of size size,
and zeroes its contents.
void *krealloc(const void *p, size_t new_size,
gfp_t flags);
Changes the size of the buffer pointed by p to new_size, by reallocating a new buffer and copying the data, unless the new_size fits within the alignment of the existing buffer.