lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 21 Mar 2011 14:43:20 -0700
From:	Greg KH <greg@...ah.com>
To:	Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com>
Cc:	mananth@...ibm.com, benh@...nel.crashing.org, stable@...nel.org,
	anton@...ba.org, linux-kernel@...r.kernel.org
Subject: Re: [stable] [2/3] powerpc/kdump: Fix race in kdump shutdown

On Sat, Mar 19, 2011 at 11:44:33PM +0530, Kamalesh Babulal wrote:
> 	powerpc/kdump: Fix race in kdump shutdown
> 
> 	Commit: 60adec6226bbcf061d4c2d10944fced209d1847d upstream
> 
> 	When we are crashing, the crashing/primary CPU IPIs the secondaries to
> 	turn off IRQs, go into real mode and wait in kexec_wait.  While this
> 	is happening, the primary tears down all the MMU maps.  Unfortunately
> 	the primary doesn't check to make sure the secondaries have entered
> 	real mode before doing this.
> 
> 	On PHYP machines, the secondaries can take a long time shutting down
> 	the IRQ controller as RTAS calls are need.  These RTAS calls need to
> 	be serialised which resilts in the secondaries contending in
> 	lock_rtas() and hence taking a long time to shut down.
> 
> 	We've hit this on large POWER7 machines, where some secondaries are
> 	still waiting in lock_rtas(), when the primary tears down the HPTEs.
> 
> 	This patch makes sure all secondaries are in real mode before the
> 	primary tears down the MMU.  It uses the new kexec_state entry in the
> 	paca.  It times out if the secondaries don't reach real mode after
> 	10sec.
> 
> 	Signed-off-by: Michael Neuling <mikey@...ling.org>
> 	Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> 	Signed-off-by: Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com>
> 	cc: Anton Blanchard <anton@...ba.org>

Please don't indent these, I have to unindent them for every patch I
apply from you, which is a pain.


> ---
>  arch/powerpc/kernel/crash.c |   28 ++++++++++++++++++++++++++++
>  1 files changed, 28 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c
> index b779818..706b622 100644
> --- a/arch/powerpc/kernel/crash.c
> +++ b/arch/powerpc/kernel/crash.c
> @@ -153,6 +153,7 @@ static void crash_kexec_prepare_cpus(int cpu)
> 		while (cpus_weight(cpus_in_crash) < ncpus)
> 			cpu_relax();
> 	}
> +
> 	/*
> 	 * Make sure all CPUs are entered via soft-reset if the kdump is
> 	 * invoked using soft-reset.

That chunk is not in the upstream commit.  Please be more careful.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ