Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2010-04-28 13:17:10 +0200
committerJiri Kosina <jkosina@suse.cz>2010-04-28 13:17:26 +0200
commit958ef325a0bebf0fe9db11214cf3f17fe0784426 (patch)
tree3104aec0f795284094ea07915c5451ddb0cfc4ba
parenta405f470467ddcedd821f97e14a2f9ef9891510c (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.changes6
-rw-r--r--patches.suse/revert-percpu-stable-changes.patch46
-rw-r--r--series.conf1
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