Re: [PATCH 1/2] mm/vmalloc: export is_vmalloc_or_module_addr

From: Linus Torvalds
Date: Sat Feb 08 2014 - 17:24:54 EST


On Sat, Feb 8, 2014 at 12:44 PM, Richard Yao <ryao@xxxxxxxxxx> wrote:
>
> However, is_vmalloc_addr() only applies to the vmalloc region. While all
> architectures load kernel modules into virtual memory (to my knowledge),
> some architectures do not load them into the vmalloc region.

So?

People shouldn't do IO to module data, so who cares if something is a
module address or not?

The thing is, even module *loading* doesn't do IO to the magic module
addresses - it loads the module data into regular vmalloc space, and
then copies it into the final location separately.

And no module should ever do any IO on random static data (and
certainly not on code).

So there is _zero_ reason for a driver or a filesystem to use
is_vmalloc_or_module_addr(). It's just not a valid question to ask.

If somebody uses module data/code addresses, we're *better* off with a
oops or other nasty behavior than to try to make it "work".

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/