module: don't modify argument of module_kallsyms_lookup_name()
authorMathias Krause <minipli@googlemail.com>
Tue, 2 Jul 2013 06:05:11 +0000 (15:35 +0930)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 2 Jul 2013 06:08:18 +0000 (15:38 +0930)
commit4f6de4d51f4a3ab06a85e91e708cc89a513ef30c
tree2cf8819fc71e7ec6fef2fc2487954aabc6b8a730
parent06df44ee41442d83be061c5fd1b1de4f5fc6fbbf
module: don't modify argument of module_kallsyms_lookup_name()

If we pass a pointer to a const string in the form "module:symbol"
module_kallsyms_lookup_name() will try to split the string at the colon,
i.e., will try to modify r/o data. That will, in fact, fail on a kernel
with enabled CONFIG_DEBUG_RODATA.

Avoid modifying the passed string in module_kallsyms_lookup_name(),
modify find_module_all() instead to pass it the module name length.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
kernel/module.c