[Xen-devel] [PATCH] x86/crash: fix kexec transition breakage

Igor Druzhinin posted 1 patch 4 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/1563541668-6012-1-git-send-email-igor.druzhinin@citrix.com
xen/arch/x86/crash.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Xen-devel] [PATCH] x86/crash: fix kexec transition breakage
Posted by Igor Druzhinin 4 years, 9 months ago
Following 6ff560f7f ("x86/SMP: don't try to stop already stopped CPUs")
an incorrect condition was placed into kexec transition path
leaving crashing CPU always online breaking kdump kernel entering.
Correct it by unifying the condition with smp_send_stop().

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
---
 xen/arch/x86/crash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c
index f9772dc..a9f3e18 100644
--- a/xen/arch/x86/crash.c
+++ b/xen/arch/x86/crash.c
@@ -169,7 +169,7 @@ static void nmi_shootdown_cpus(void)
      */
     iommu_crash_shutdown();
 
-    if ( num_online_cpus() > 1 )
+    if ( cpu_online(cpu) )
     {
         __stop_this_cpu();
 
-- 
2.7.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH] x86/crash: fix kexec transition breakage
Posted by Andrew Cooper 4 years, 9 months ago
On 19/07/2019 14:07, Igor Druzhinin wrote:
> Following 6ff560f7f ("x86/SMP: don't try to stop already stopped CPUs")
> an incorrect condition was placed into kexec transition path
> leaving crashing CPU always online breaking kdump kernel entering.
> Correct it by unifying the condition with smp_send_stop().
>
> Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Given how easily I can reproduce the problem now, I can't explain why
the previous version appeared to work...

> ---
>  xen/arch/x86/crash.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/crash.c b/xen/arch/x86/crash.c
> index f9772dc..a9f3e18 100644
> --- a/xen/arch/x86/crash.c
> +++ b/xen/arch/x86/crash.c
> @@ -169,7 +169,7 @@ static void nmi_shootdown_cpus(void)
>       */
>      iommu_crash_shutdown();
>  
> -    if ( num_online_cpus() > 1 )
> +    if ( cpu_online(cpu) )
>      {
>          __stop_this_cpu();
>  


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel