• Sean Christopherson's avatar
    KVM: Use syscore_ops instead of reboot_notifier to hook restart/shutdown · 6735150b
    Sean Christopherson authored
    Use syscore_ops.shutdown to disable hardware virtualization during a
    reboot instead of using the dedicated reboot_notifier so that KVM disables
    virtualization _after_ system_state has been updated.  This will allow
    fixing a race in KVM's handling of a forced reboot where KVM can end up
    enabling hardware virtualization between kernel_restart_prepare() and
    machine_restart().
    
    Rename KVM's hook to match the syscore op to avoid any possible confusion
    from wiring up a "reboot" helper to a "shutdown" hook (neither "shutdown
    nor "reboot" is completely accurate as the hook handles both).
    
    Opportunistically rewrite kvm_shutdown()'s comment to make it less VMX
    specific, and to explain why kvm_rebooting exists.
    
    Cc: Marc Zyngier <maz@kernel.org>
    Cc: Oliver Upton <oliver.upton@linux.dev>
    Cc: James Morse <james.morse@arm.com>
    Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
    Cc: Zenghui Yu <yuzenghui@huawei.com>
    Cc: kvmarm@lists.linux.dev
    Cc: Huacai Chen <chenhuacai@kernel.org>
    Cc: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
    Cc: Anup Patel <anup@brainfault.org>
    Cc: Atish Patra <atishp@atishpatra.org>
    Cc: kvm-riscv@lists.infradead.org
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Acked-by: default avatarMarc Zyngier <maz@kernel.org>
    Message-Id: <20230512233127.804012-2-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    6735150b
kvm_main.c 153 KB