I'm aware that memory allocated by kmalloc is physically continuous and virtual memory it returned has just an offset from its physical memory.
But if CPU tries to access the virtual memory it returned, will MMU and page table be used? I heard all address CPU use are virtual memory and has to be passed to MMU. But now that there is only an offset between its physical and virtual memory, I think there is no need to use page table and mmu anymore.