I know that the kernel load the Loadable Kernel Modules (LKM) using vmalloc()
Is it safe to assume that entire LKMs are residing in heap?
More precise, memory for kernel module is allocated using vmalloc_exec()
.
Is it safe to assume that entire LKMs are residing in heap?
It depends on what you expect from residing in heap. You may assume that none of kernel module element is residing inside kernel core.