summaryrefslogtreecommitdiff |
diff options
author | Jiri Kosina <jkosina@suse.cz> | 2010-04-28 13:17:10 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2010-04-28 13:17:26 +0200 |
commit | 958ef325a0bebf0fe9db11214cf3f17fe0784426 (patch) | |
tree | 3104aec0f795284094ea07915c5451ddb0cfc4ba | |
parent | a405f470467ddcedd821f97e14a2f9ef9891510c (diff) |
- patches.suse/revert-percpu-stable-changes.patch: Revert module.crpm-2.6.32.12-0.3
and module.h changes from -stable update (bnc#600364).
-rw-r--r-- | kernel-source.changes | 6 | ||||
-rw-r--r-- | patches.suse/revert-percpu-stable-changes.patch | 46 | ||||
-rw-r--r-- | series.conf | 1 |
3 files changed, 53 insertions, 0 deletions
diff --git a/kernel-source.changes b/kernel-source.changes index 180774b145..b41c310430 100644 --- a/kernel-source.changes +++ b/kernel-source.changes @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed Apr 28 13:17:04 CEST 2010 - jkosina@suse.cz + +- patches.suse/revert-percpu-stable-changes.patch: Revert module.c + and module.h changes from -stable update (bnc#600364). + +------------------------------------------------------------------- Tue Apr 27 23:16:27 CEST 2010 - jack@suse.de - patches.fixes/spinning-mutex-BKL-deadlock.patch: Fix deadlock diff --git a/patches.suse/revert-percpu-stable-changes.patch b/patches.suse/revert-percpu-stable-changes.patch new file mode 100644 index 0000000000..717db29003 --- /dev/null +++ b/patches.suse/revert-percpu-stable-changes.patch @@ -0,0 +1,46 @@ +From: Jiri Kosina <jkosina@suse.cz> +Subject: Revert module.c and module.h changes from -stable update +References: bnc#600364 + +This reverts two patches from 2.6.32.12 -stable update, as it causes +kernel crash on ia64. + +It's currently under investigation, whether this is gcc miscompiling +the RELOC_HIDE() magic, or a real kernel bug. + +This patch avoids RELOC_HIDE() being used here, and makes the crash +during module handling go away for now. Temporary solution. + +The following two 2.6.32.12 -stable patches are reverted: + + [169/197] modules: fix incorrect percpu usage + [171/197] module: fix __module_ref_addr() + +Signed-off-by: Jiri Kosina <jkosina@suse.cz> + +Index: linux-2.6.32-SLE11-SP1/include/linux/module.h +=================================================================== +--- linux-2.6.32-SLE11-SP1.orig/include/linux/module.h ++++ linux-2.6.32-SLE11-SP1/include/linux/module.h +@@ -459,7 +459,7 @@ void symbol_put_addr(void *addr); + static inline local_t *__module_ref_addr(struct module *mod, int cpu) + { + #ifdef CONFIG_SMP +- return (local_t *) per_cpu_ptr(mod->refptr, cpu); ++ return (local_t *) (mod->refptr + per_cpu_offset(cpu)); + #else + return &mod->ref; + #endif +Index: linux-2.6.32-SLE11-SP1/kernel/module.c +=================================================================== +--- linux-2.6.32-SLE11-SP1.orig/kernel/module.c ++++ linux-2.6.32-SLE11-SP1/kernel/module.c +@@ -572,7 +572,7 @@ static void percpu_modcopy(void *pcpudes + int cpu; + + for_each_possible_cpu(cpu) +- memcpy(per_cpu_ptr(pcpudest, cpu), from, size); ++ memcpy(pcpudest + per_cpu_offset(cpu), from, size); + } + + #else /* ... !CONFIG_SMP */ diff --git a/series.conf b/series.conf index 03c753dc4b..d75bc43e64 100644 --- a/series.conf +++ b/series.conf @@ -162,6 +162,7 @@ patches.fixes/kernel-mutex-adaptive-cpu-offline-livelock.patch patches.fixes/spinning-mutex-BKL-deadlock.patch + patches.suse/revert-percpu-stable-changes.patch # bug 598253 patches.fixes/kernel-core-add-pid_max-start-option.patch |