Not in my eyes.
Modules area is vmalloc'ed on x86; on x86_64 only in different virtual address
space area. So returning true from is_vmalloc_addr() for this space looks very
sane to me, as it was on x86_32 for years.
Users usually do
is_vmalloc_addr(a) ? vfree(a) : kfree(a);
Even there it makes more sense to me.
However I'm fine with introducing is_module_addr() alike function for x86 to
check the general modules space bounds on x86_64 and return is_vmalloc_addr() on
x86_32. Does this look better?
--