From patchwork Fri May 12 23:31:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Christopherson X-Patchwork-Id: 9284 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp5456261vqo; Fri, 12 May 2023 16:34:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6UBy8kpxxEy5QdeTZjRFuq9UpzfTIqbu2gw46ila7aSVSiZdjYXwJfsjQH7EFR7YN6hJQS X-Received: by 2002:a05:6a20:12c6:b0:104:f9d4:1423 with SMTP id v6-20020a056a2012c600b00104f9d41423mr931415pzg.28.1683934471591; Fri, 12 May 2023 16:34:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683934471; cv=none; d=google.com; s=arc-20160816; b=qwwRXoS6p4HKsGkFs4mgD2KYAA6RKuZgwEGdR8U3Dlho/yQ3NDIsjnjeCYEW1mNvHO O3qaKvLmM3Qkk5GiXLsBTQ9mUGDekG++itN9/Zj29Cn8xD6oF7CHCxpvJfhe+5HLqdc4 xFg+OvwZJAuoW+8OUKsluyFJgggwhAuVN0NutZ9RlVTt3lERNdWnxFyC403KUTJC6BkZ 17xqdBztzTCjrW5LK3KWMwbkFhIEHyqsCMsX0hIO6Rr8D0U7mrdEthqTXBBj1/YywNiP VcaUeU3FzMcsZvOe1F+gRuMDLb/a7Dml8TXAyWbpoJEBT/p3u5PeXYrT4Nz8RS3wytHH RvbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:mime-version:date :reply-to:dkim-signature; bh=LOZreDabNqpUj7u+V8APqRqu4TK74uLHH24UEDNUCHI=; b=qEHhuJupdO8Lgf8erTEEVQHHkEQ+0ZBfTxw8ofQbwlWRtAqth8Vpn9XIrfF7BjixVi nZxa11ugyylRum/Zrqn/y5Z6JAaax3+/XJi/zlV0/gcCSWu1BqVXbuksqSPlH47ZP7PK u4WeKhCVY5P3oHHyckwGKI9cRXKQtzRjn08PyzHOhCJQVU4WMnvbDe8E9DbCPCmu4bZa sOfuQC1gOYJxvttciv2ytnPkSSt6QnI9K1FJvWfgy6egz33rfmM4BqR2g18Qbw6JyNpo axYMFReFbcQPh74hJ4i/MED3TzUg6pbsioLsiH8LnnibBDCBI0eWO52NJKCo4k4C3RpV TpKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=Zja9mH7o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w16-20020a639350000000b0050be067284bsi9993506pgm.556.2023.05.12.16.34.16; Fri, 12 May 2023 16:34:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=Zja9mH7o; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240810AbjELXbi (ORCPT + 99 others); Fri, 12 May 2023 19:31:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229611AbjELXbb (ORCPT ); Fri, 12 May 2023 19:31:31 -0400 Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39F7F1B8 for ; Fri, 12 May 2023 16:31:30 -0700 (PDT) Received: by mail-pf1-x449.google.com with SMTP id d2e1a72fcca58-643bb9cdd3cso8275250b3a.1 for ; Fri, 12 May 2023 16:31:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1683934289; x=1686526289; h=cc:to:from:subject:message-id:mime-version:date:reply-to:from:to:cc :subject:date:message-id:reply-to; bh=LOZreDabNqpUj7u+V8APqRqu4TK74uLHH24UEDNUCHI=; b=Zja9mH7oY+lw1E5/US7t2dlayN3yjG5xJZYmUi1MDWPsxw2Sy/jDu9vsw5olTvhSNd QCgQkjoYs8efeFbYFt87WjqxowUr6XJhvHeiVn9eyKykCmOnrNkC55/LgY0EDQKPJWim a6bM36P7UC21fS6BS4B6XHLZIivgPIeib0cLg0JTtNa1n0cX/fMBHSQHX3dvNKG/WG8t 7N6LK6oLs/SBnJzm/i9BkS6O236X4516CUCogNmtvONYwYxdHDnwbvIqcgYmEUafFWKk UvqFOltbKLn9ANbffrpoouV/QgP0kXGjj8DMEuk7Yewe9MtzPew9TLs8tss9e/tpkpqd 7WPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683934289; x=1686526289; h=cc:to:from:subject:message-id:mime-version:date:reply-to :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LOZreDabNqpUj7u+V8APqRqu4TK74uLHH24UEDNUCHI=; b=FgJli5+TENW21a6V2J86weG0gWcZKuPwhnflK/iXGzsPJRU2BkMVxZ/4O8SAyqCP+P THKbHL6erI8XKQw68OFWonczFbV7iXc/W8Nwbwc/k9VUKTr2bwES4PfSmxsuwftZbgck GUJAxW9xs61cTz9MGgeE0H1H78Ra9pQwA87464brkevOtqEMudLsCie+eY37Ln4J6rPp umy28q2kJ/apgAq3mOdke8bEZRfsC0WvIiQcKDNlJEAddday5p3cq5ItvcMm28khhzxt O8K4/OyKL8QacPKbVqLp9rm00njKCHWRjU8clib+Ejr3bneihG+SuMM2wMX1hxwlJfhe m12Q== X-Gm-Message-State: AC+VfDwcHQvprgwxBe+SFDKx0A7YEjTsf5cwBm+uKG/hk6lp4bBGOLm5 gngPXK+n7j3tSSZHrcUvoNDiV7nFcMA= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:6a00:d42:b0:643:a029:5b3f with SMTP id n2-20020a056a000d4200b00643a0295b3fmr6979951pfv.2.1683934289733; Fri, 12 May 2023 16:31:29 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 12 May 2023 16:31:25 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.40.1.606.ga4b1b128d6-goog Message-ID: <20230512233127.804012-1-seanjc@google.com> Subject: [PATCH v2 0/2] KVM: Fix race between reboot and hardware enabling From: Sean Christopherson To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Zenghui Yu , kvmarm@lists.linux.dev, Huacai Chen , Aleksandar Markovic , Anup Patel , Atish Patra , kvm-riscv@lists.infradead.org, Sean Christopherson X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765733272292709758?= X-GMAIL-MSGID: =?utf-8?q?1765733272292709758?= Fix a bug where enabling hardware virtualization can race with a forced reboot, e.g. `reboot -f`, and result in virt hardware being enabled when the reboot is attempted, and thus hanging the reboot. Found by inspection, confirmed by hacking the reboot flow to wait until KVM loads (the problematic window is ridiculously small). Fully tested only on x86, compile tested on other architectures. v2: - Rename KVM's callback to kvm_shutdown() to match the hook. [Marc] - Don't add a spurious newline. [Marc] v1: https://lore.kernel.org/all/20230310221414.811690-1-seanjc@google.com Sean Christopherson (2): KVM: Use syscore_ops instead of reboot_notifier to hook restart/shutdown KVM: Don't enable hardware after a restart/shutdown is initiated virt/kvm/kvm_main.c | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) base-commit: b3c98052d46948a8d65d2778c7f306ff38366aac Acked-by: Marc Zyngier