Re: Stable update of linux-2.6
* Ben Hutchings <ben@decadent.org.uk> [2011-03-30 00:11:59]:
> On Tue, 2011-03-29 at 23:26 +0100, Adam D. Barratt wrote:
> > On Sun, 2011-03-27 at 20:31 +0100, Ben Hutchings wrote:
> > > There were a couple of regressions in linux-2.6 version 2.6.32-31 (i.e.
> > > Debian 6.0.1) that should be fixed a.s.a.p:
> > [...]
> > > Either Dann or I will upload an update to stable-proposed-updates,
> > > intended for early release through stable-updates.
> >
> > Unfortunately, the powerpc build reproducibly FTBFS:
>
> Introduced by:
>
> commit 4d4d502715479044f02ae7464474bbb615b2d158
> Author: Michael Neuling <mikey@neuling.org>
> Date: Thu May 13 19:40:11 2010 +0000
>
> powerpc/kdump: Fix race in kdump shutdown
>
> commit 60adec6226bbcf061d4c2d10944fced209d1847d upstream.
>
> The new function crash_kexec_wait_realmode() is only defined if
> CONFIG_SMP is defined, but is used unconditionally.
>
> Of course, this was quickly fixed upstream:
>
> commit c2be05481f6125254c45b78f334d4dd09c701c82
> Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Date: Tue Jun 15 14:48:39 2010 +0000
>
> powerpc: Fix default_machine_crash_shutdown #ifdef botch
>
> but that doesn't appear to have been sent to stable.
>
> Ben.
>
> > CC arch/powerpc/kernel/crash.o
> > /build/buildd-linux-2.6_2.6.32-32-powerpc-emhBwA/linux-2.6-2.6.32/debian/build/source_powerpc_none/arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown':
> > /build/buildd-linux-2.6_2.6.32-32-powerpc-emhBwA/linux-2.6-2.6.32/debian/build/source_powerpc_none/arch/powerpc/kernel/crash.c:448: error: implicit declaration of function 'crash_kexec_wait_realmode'
> > make[6]: *** [arch/powerpc/kernel/crash.o] Error 1
> > make[5]: *** [arch/powerpc/kernel] Error 2
> > make[4]: *** [sub-make] Error 2
> > make[3]: *** [all] Error 2
> > make[3]: Leaving directory `/build/buildd-linux-2.6_2.6.32-32-powerpc-emhBwA/linux-2.6-2.6.32/debian/build/build_powerpc_none_powerpc'
> > make[2]: *** [debian/stamps/build_powerpc_none_powerpc_plain] Error 2
> > make[1]: *** [build_powerpc_none_powerpc_real] Error 2
> > make[2]: Leaving directory `/build/buildd-linux-2.6_2.6.32-32-powerpc-emhBwA/linux-2.6-2.6.32'
> > make: make[1]: Leaving directory `/build/buildd-linux-2.6_2.6.32-32-powerpc-emhBwA/linux-2.6-2.6.32'
> > *** [debian/stamps/build-base] Error 2
> > dpkg-buildpackage: error: debian/rules build gave error exit status 2
<snip>
Thanks for testing, I have added smp=n to my powerpc build test bucket.
The upstream commit c2be05481f fixes the issues based upon the upstream
commit b3df895aebe0, latter commit is not available in the 2.6.32-stable
tree. The patch below introduces only the partial changes introduced by
Paul McKenney's patch. Greg can you please pull the patch into
2.6.32-stable.
powerpc: Fix default_machine_crash_shutdown #ifdef build failure
Introducing #ifdef to fix the build failure caused by
crash_kexec_wait_realmode(), with powerpc build with !SMP.
Reported-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
cc: Michael Neuling <mikey@neuling.org>
cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
cc: Anton Blanchard <anton@samba.org>
---
arch/powerpc/kernel/crash.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c
index fe02e71..6ff7701 100644
--- a/arch/powerpc/kernel/crash.c
+++ b/arch/powerpc/kernel/crash.c
@@ -445,7 +445,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
crash_kexec_prepare_cpus(crashing_cpu);
cpu_set(crashing_cpu, cpus_in_crash);
crash_kexec_stop_spus();
+#ifdef CONFIG_SMP
crash_kexec_wait_realmode(crashing_cpu);
+#endif
if (ppc_md.kexec_cpu_down)
ppc_md.kexec_cpu_down(1, 0);
}
Kamalesh
Reply to: