What are the cases where a kmalloc() is required other than the for the DMA memory allocation. Where else it could be used (the other places where in a contiguous memory all