Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp989247pxf; Thu, 8 Apr 2021 18:59:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJiOEMhl4APck0sKsWI3UhDKMD3l2ZyquC1TMqOt1CHEsTgYDKHvezGd4d31JU/tHcfdW0 X-Received: by 2002:a63:5322:: with SMTP id h34mr10944179pgb.182.1617933541805; Thu, 08 Apr 2021 18:59:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617933541; cv=none; d=google.com; s=arc-20160816; b=LR6my7T5MnYwgqo6Tky5iGno9Fed8NOrCPfVs32ls94uuLDOMfBUOA5cP4QMMuOVca Ek+VA0/3gVu2h/njksRdZ6xg64LWIpbgz0iYFS6S+2gryhFx5FfVc/MRdVJUEvHggRJS Tt+XqgdQfmCvV9mTFOI7eoE6HDTIGlkHCUz/Uf8ct0DTDbxL0Z7vGS3BaQRFVCO6jLRQ AukX0yfqG4/PBD4pSN4ZpBKmuReFHwuYaEO2cr+MoO2SvS4Was4amKjgYm6QwGfu+gHV AFWi08nb8/bIP8HU2Bj40//EShVKFllqY+6jWdAebY6hlQKaJjv7UqhRUEVYlpoV3NQO ihEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=K61jOSa+LKqRTwPuPI9a1IlNu4EbgF+ip5oLHXlETtQ=; b=dmYJKz6InTT7T0PpjM5HEcqk2PXRDWAmmVouiLe48vnXT1RD/iykpIVstf7Pvv+4w2 ekhFfdQ+sZ4nDiga2PgOXMqDVfVkIQa0mxo8iqViDEZUVwzCynZNh1vuttxQoY1AKF/y IDLznuYGWzB868rClbGoL/PFzT4SZ+vMtxCzDXuuaFDH4F7MQrirSiph+Scn1GDe8i+/ oFdbmB7Prve9xVl6GTyySVv1QCvjCS1q2+7Fplm6fgVjpTQIAg0vOY/YIY9piMMuVeg5 /RkyL0ZW+3ZazmNFndzp+gYfrrqKa6J8lPeg6ORj72akqn835YJ1C8ahtEaKwJ4xiLPw 3z1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="eruGQ/it"; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m13si1690947pjg.160.2021.04.08.18.58.49; Thu, 08 Apr 2021 18:59:01 -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=@gmail.com header.s=20161025 header.b="eruGQ/it"; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232996AbhDIB6Y (ORCPT + 99 others); Thu, 8 Apr 2021 21:58:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232426AbhDIB6V (ORCPT ); Thu, 8 Apr 2021 21:58:21 -0400 Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BF6FC061760; Thu, 8 Apr 2021 18:58:09 -0700 (PDT) Received: by mail-ej1-x62f.google.com with SMTP id n2so6139554ejy.7; Thu, 08 Apr 2021 18:58:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=K61jOSa+LKqRTwPuPI9a1IlNu4EbgF+ip5oLHXlETtQ=; b=eruGQ/it3GG5I44DAyAo6XJkaDa6Ut0gNHHDz4rTVZy5K7kl8WdvuKSF6gBN1tM4mr BXl+IIQ8qu1xgEZt7sjWxmFXXe0SBCOP7TowZOiKQ3eeIBslF/b9hXGVLHBY8lYBVEXG o1MstPgsv9tKAQxW7vbzf/rI7ZJuQjGbtKoUafDC30RVSx1o0r7+v9XwIn2fC3OxXXyd OoLnL4/MgESAfD6BUi1Y7l1fbwG3W/cILbrnQsiMK5E7AQNix0d8GUTrXIthzTr7uqAu Lb+cYUEEw20c3goNxL/C4Vck1djZ76Pp7aZqEkneg2pMTmy70rukfdmGQVR+sh5efWpu po9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=K61jOSa+LKqRTwPuPI9a1IlNu4EbgF+ip5oLHXlETtQ=; b=fKVtGn6YXoe0Jk1hN1TGe5iXt+RksJpzlvC9Xg/0vL8CQ67oIeoWNggcPzVRLdh0Mc qxMERfkgizsKWZyGaSmWitNALf2hJ/SMMX6mab1+G1TlutDppA45Yqd3wsn1ysK7Wxnc vWfW5fKnKFZZO0pds8cmAK3c6YmI/QITuu6XiH+WmloGCPMFLTCjAkmni9aMKx8vBzC/ R0K5Z4HbuYT3SkEqbrT5sXWBysPIl+UTsKkPKrIKUwkx6LNKc/6DSSxOjfb8F5mQre1y NYHY7p0HmCyPWfQpm/RvZuLP/BAMxadEn/JwE+tsT4usR83/fWJJs4q7RYqJt9QygkSb XO5w== X-Gm-Message-State: AOAM5337Db3Dq2KgTwVwXL2M5kIjCCRg8VbseIZb13a4LF3Z47qFcp5t PaBJRfreu7UxtoaQhEmm1dnMdjGb+Rv7DFD0Ba8xqmLE5w== X-Received: by 2002:a17:906:8293:: with SMTP id h19mr3443534ejx.217.1617933488270; Thu, 08 Apr 2021 18:58:08 -0700 (PDT) MIME-Version: 1.0 References: <20210408075436.13829-1-lihaiwei.kernel@gmail.com> In-Reply-To: From: Haiwei Li Date: Fri, 9 Apr 2021 09:57:57 +0800 Message-ID: Subject: Re: [PATCH] KVM: vmx: add mismatched size in vmcs_check32 To: Sean Christopherson Cc: LKML , kvm list , Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Haiwei Li Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 9, 2021 at 12:05 AM Sean Christopherson wrote: > > On Thu, Apr 08, 2021, lihaiwei.kernel@gmail.com wrote: > > From: Haiwei Li > > > > vmcs_check32 misses the check for 64-bit and 64-bit high. > > Can you clarify in the changelog that, while it is architecturally legal to > access 64-bit and 64-bit high fields with a 32-bit read/write in 32-bit mode, > KVM should never do partial accesses to VMCS fields. And/or note that the > 32-bit accesses are done in vmcs_{read,write}64() when necessary? Hmm, maybe: > > Add compile-time assertions in vmcs_check32() to disallow accesses to > 64-bit and 64-bit high fields via vmcs_{read,write}32(). Upper level > KVM code should never do partial accesses to VMCS fields. KVM handles > the split accesses automatically in vmcs_{read,write}64() when running > as a 32-bit kernel. Good suggestion, thanks. I will send v2.