modpost: fix unwanted VMLINUX_SYMBOL_STR expansion

Commit a4b6a77b77 ("module: fix symbol
versioning with symbol prefixes") broke the MODVERSIONS loading of any
module using memcmp (e.g. ipv6) on x86_32, as it's defined to
__builtin_memcmp which is expanded by VMLINUX_SYMBOL_STR. Use
__VMLINUX_SYMBOL_STR instead which doesn't expand the argument.

Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Tested-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: <stable@vger.kernel.org> # 3.9
This commit is contained in:
James Hogan 2013-04-29 11:36:59 +09:30 committed by Rusty Russell
parent 04b00bdb41
commit a53a11f357

View File

@ -1957,7 +1957,7 @@ static int add_versions(struct buffer *b, struct module *mod)
s->name, mod->name);
continue;
}
buf_printf(b, "\t{ %#8x, VMLINUX_SYMBOL_STR(%s) },\n",
buf_printf(b, "\t{ %#8x, __VMLINUX_SYMBOL_STR(%s) },\n",
s->crc, s->name);
}