Allocate virtually contiguous memory with zero fill
void * vzalloc(unsigned long size);
size
allocation size Allocate enough pages to cover size from the page level allocator and map them into contiguous kernel virtual space. The memory allocated is set to zero.
For tight control over page level allocator and protection flags use __vmalloc instead.