From: Greg KH on
2.6.32-stable review patch. If anyone has any objections, please let us know.


From: Mathieu Desnoyers <mathieu.desnoyers(a)>

Mainline does not need this fix, as commit
259354deaaf03d49a02dbb9975d6ec2a54675672 fixed the problem by refactoring.

Should use per_cpu_ptr() to obfuscate the per cpu pointers (RELOC_HIDE is needed
for per cpu pointers).

Introduced by commit:

module.c: commit 6b588c18f8dacfa6d7957c33c5ff832096e752d3

This patch should be queued for the stable branch, for kernels 2.6.29.x to
2.6.33.x. (tested on x86_64)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers(a)>
CC: Randy Dunlap <randy.dunlap(a)>
CC: Eric Dumazet <dada1(a)>
CC: Rusty Russell <rusty(a)>
CC: Peter Zijlstra <a.p.zijlstra(a)>
CC: Tejun Heo <tj(a)>
CC: Ingo Molnar <mingo(a)>
CC: Andrew Morton <akpm(a)>
CC: Linus Torvalds <torvalds(a)>
CC: Greg Kroah-Hartman <gregkh(a)>
CC: Steven Rostedt <rostedt(a)>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)>

kernel/module.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/kernel/module.c
+++ b/kernel/module.c
@@ -555,7 +555,7 @@ static void percpu_modcopy(void *pcpudes
int cpu;

- memcpy(pcpudest + per_cpu_offset(cpu), from, size);
+ memcpy(per_cpu_ptr(pcpudest, cpu), from, size);

#else /* ... !CONFIG_SMP */

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)
More majordomo info at
Please read the FAQ at