Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp15736pxb; Fri, 20 Aug 2021 17:07:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfAE2xa5sI1ZVSKG+FMr6WBeIcMoGCAqazEcQDy/EaoHCCskgWkxuOIZXNUWrGOfJKrw7u X-Received: by 2002:a92:190f:: with SMTP id 15mr14910489ilz.45.1629504437664; Fri, 20 Aug 2021 17:07:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629504437; cv=none; d=google.com; s=arc-20160816; b=IWaUMWquIlxgtpswIXA+Q8E7cF60IHz26VDP6EpsvdC3wNJGsEHVwACcd7OKXerTFb JCnbCNB4nXqkg0M2AkQFg5ur9qtdhehS/FDkF0Oivj3dNUdF3rf6KMV9KT3RDqwEIMih cxav/+n90D6Fpv5oaaKX7vC/frK5sPinVmDAAkRsPOp3boblhvYbW15DF+WZWXRsHx/0 Ew3b4l6DoSNn/7FvMYpl7weTErW/YII9kk64dPBhWCc8YyqUxCoyGvJmSL2/DhS1RtVy feK2L+HbtjeEONPMV8wLin8AdByyE+oznJcdAIbP417uU9rph3geR1MJguVbPyjIbVzm czzw== 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:mime-version:message-id:date :reply-to:dkim-signature; bh=v5+oztcUWF1tsHkXWU5dtrULoyd6t4n/rFzGBM2+LiE=; b=lx8AqWiqHrENSvCgEsrtHmgN43mpfNSHrJ8MiYV70eRdOdeO0aeV91nUTCEcfpSy89 R3jrvCPSyOgO4Da0bb0kONBG7VtFgE6tcEpcuBtaDT0Gdq+idZ/5qnQxN1bm0wyzngfJ Eqz6xGSECPepVNq1PH0OlAq7AgYhiFcm1mRhny1OAaY1oKKHaYZ8/i3tAQ8TH3+WxS55 lFB2QY4fg9tvlQn1KjTHLwhBjHcNRHK8d/to6bo5yLs/4whYHRcowE3VX4r+xTnwCZ1a JJa2CyfbGOJU8O1YogRWqMQ9Qlm/ncwcLgCIj5QW5lVherePh6WnxYgR9AaGANDV7Z/Z 999Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=e+bb+Tki; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z14si7781552ilq.148.2021.08.20.17.06.46; Fri, 20 Aug 2021 17:07:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=e+bb+Tki; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S237700AbhHUAFp (ORCPT + 99 others); Fri, 20 Aug 2021 20:05:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229783AbhHUAFo (ORCPT ); Fri, 20 Aug 2021 20:05:44 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71BB3C061575 for ; Fri, 20 Aug 2021 17:05:06 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id b9-20020a5b07890000b0290558245b7eabso11242951ybq.10 for ; Fri, 20 Aug 2021 17:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=reply-to:date:message-id:mime-version:subject:from:to:cc; bh=v5+oztcUWF1tsHkXWU5dtrULoyd6t4n/rFzGBM2+LiE=; b=e+bb+TkiQMZJXlGX82szk2loy6RZejnh/9ul5hxji7BXLcGBs/qHQ2y3USTrrr3RLk G4qD2UDaZpqeuGtqDo/XCtu1vog/i+aVVz8wOwFtwncWz+N78YghqvOOjPMeJ5NJ6a0C VjK4ENTRg59Gb54HGfdyfZLyUsvNTLTwASucxsvnfc9EoZizmHOFouSyDryWXUtb7MaJ PYhCG7qmP192KO63u60EgYoNukRDrMsB/ltXQVdgnPTj/vw/MLP/T91JpzXqDMDrbGV5 MFDdo+UVSz5IXVnSPx+G3CIma5sp+0yQ7nbMMhYLu5OvGUF+zG7FwUih5xFrZ15HjKBi Q5eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:date:message-id:mime-version:subject :from:to:cc; bh=v5+oztcUWF1tsHkXWU5dtrULoyd6t4n/rFzGBM2+LiE=; b=PgfichDGRAjvVxeSkCw8BOXcdi/EaxSeRVpLQc/5FrmtQGaPqnjZg5NukTs5Motu8D 2LY20CfjNphrx3Ghb9QAOvV5ZB+D92TgJw7A8T6Fd3j2bqNSAHx1kt6g85tYCZY9aM2v zI3YfTosmbmr7lIqEMbP0yYXYtpncSgdGTpsxHMYgJlXfUO0gYGKMQqRuaH7NUwot8Y3 QojdCh3nNJAKBrFxQyIedImGcX6TVzBgUAHasKa+arB9B2OtA1mjFvVpL92fw8NjSV/u +2bekhsFsZfNbilflPcUM8mxqwwkCxplwhvNNBM4YsLGu7eqJwr8RTkj5REadpNtrbaC 5K5g== X-Gm-Message-State: AOAM530ycOOSjkyKz/aqX0+tk+EHQg3Txl8o9D096qc9i4gO3StwazER i4R+SVopbdlzQKjRaT4NgYPNF29urTw= X-Received: from seanjc798194.pdx.corp.google.com ([2620:15c:90:200:f11d:a281:af9b:5de6]) (user=seanjc job=sendgmr) by 2002:a25:3625:: with SMTP id d37mr31728766yba.140.1629504305587; Fri, 20 Aug 2021 17:05:05 -0700 (PDT) Reply-To: Sean Christopherson Date: Fri, 20 Aug 2021 17:04:59 -0700 Message-Id: <20210821000501.375978-1-seanjc@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.33.0.rc2.250.ged5fa647cd-goog Subject: [PATCH 0/2] VM: Fix a benign race in kicking vCPUs From: Sean Christopherson To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Venkatesh Srinivas , Vitaly Kuznetsov , Sean Christopherson Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix benign races when kicking vCPUs where the task doing the kicking can consume a stale vcpu->cpu. The races are benign because of the impliciations of task migration with respect to interrupts and being in guest mode, but IMO they're worth fixing if only as an excuse to document the flows. Patch 2 is a tangentially related cleanup to prevent future me from trying to get rid of the NULL check on the cpumask parameters, which _looks_ like it can't ever be NULL, but has a subtle edge case due to the way CONFIG_CPUMASK_OFFSTACK=y handles cpumasks. Sean Christopherson (2): KVM: Clean up benign vcpu->cpu data races when kicking vCPUs KVM: Guard cpusmask NULL check with CONFIG_CPUMASK_OFFSTACK virt/kvm/kvm_main.c | 46 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 9 deletions(-) -- 2.33.0.rc2.250.ged5fa647cd-goog