Is there a way in the Linux kernel for a device driver to determine whether a kernel address is valid or not. By valid I mean that if the kernel touches it for read it won't crash (There is a physical page backing the address).
The address can come from many sources: Vmalloc, Kernel identity mapping segment, or even the kernel text.