It is wrong in my eyes -- it's workarounding of the real problem rather than
fixing. virt_addr_valid() should be fixed/augmented to the full virtual
address domain instead or not used for the purpose you need in kmemcheck.
As it is now, it should be used only on direct mapping addresses (more
concrete: kernel image space and physical mapping) and it returns
semi-random values on the rest -- with CONFIG_DEBUG_VIRTUAL=y it screams
instead of returning a bogus value.
--