• I
    x86/platform/uv: Fix !KEXEC build failure · c2209ea5
    Ingo Molnar 提交于
    When KEXEC is disabled, the UV build fails:
    
      arch/x86/platform/uv/uv_nmi.c:875:14: error: ‘uv_nmi_kexec_failed’ undeclared (first use in this function)
    
    Since uv_nmi_kexec_failed is only defined in the KEXEC_CORE #ifdef branch,
    this code cannot ever have been build tested:
    
    	if (main)
    		pr_err("UV: NMI kdump: KEXEC not supported in this kernel\n");
    	atomic_set(&uv_nmi_kexec_failed, 1);
    
    Nor is this use possible in uv_handle_nmi():
    
                    atomic_set(&uv_nmi_kexec_failed, 0);
    
    These bugs were introduced in this commit:
    
        d0a9964e: ("x86/platform/uv: Implement simple dump failover if kdump fails")
    
    Which added the uv_nmi_kexec_failed assignments to !KEXEC code, while making the
    definition KEXEC-only - apparently without testing the !KEXEC case.
    
    Instead of complicating the #ifdef maze, simplify the code by requiring X86_UV
    to depend on KEXEC_CORE. This pattern is present in other architectures as well.
    
    ( We'll remove the untested, 7 years old !KEXEC complications from the file in a
      separate commit. )
    
    Fixes: d0a9964e: ("x86/platform/uv: Implement simple dump failover if kdump fails")
    Signed-off-by: NIngo Molnar <mingo@kernel.org>
    Cc: Mike Travis <travis@sgi.com>
    Cc: linux-kernel@vger.kernel.org
    c2209ea5
Kconfig 94.3 KB