MIPS: Fix race condition in module relocation code.
authorRalf Baechle <ralf@linux-mips.org>
Wed, 8 Aug 2012 14:59:43 +0000 (16:59 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 17 Aug 2012 08:57:28 +0000 (10:57 +0200)
commit861667dc82f561e65336ea67f73021b782b4ff74
tree822734b6d8c58b92e118215c27deb9bc61aeb2bc
parentd3cac35cd0a2a987f7559e1829fb0253cea33872
MIPS: Fix race condition in module relocation code.

The relocation code was essentially taken from the 2.4 modutils which
perform relocation in userspace.  In 2.6 relocation of multiple modules
may be performed in parallel by the in-kernel loader so the global
variable mips_hi16_list won't fly anymore.  Fix race by moving it into
mod_arch_specific.

[ralf@linux-mips.org: folded in Tony's followup fix.  Thanks Tony!]

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Tony Wu <tung7970@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/4189/
arch/mips/include/asm/module.h
arch/mips/kernel/module.c