Received: by 2002:ac0:b08d:0:0:0:0:0 with SMTP id l13csp4918710imc; Mon, 25 Feb 2019 13:37:27 -0800 (PST) X-Google-Smtp-Source: AHgI3Ib2p13KKpHR3Q693RmEM1Zv/mell0Zj5uSHGUip+C4b5FgmXhFelx2TLK0J5wOEma7FFzWi X-Received: by 2002:aa7:928d:: with SMTP id j13mr22568330pfa.112.1551130647660; Mon, 25 Feb 2019 13:37:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551130647; cv=none; d=google.com; s=arc-20160816; b=xm7ndzhpwG+4WwOkqtJFQj3BEWYaTt59DLy2mNdXKSr9+XXcWjGZBRSigSvPVzPxV+ fFRgHoSB/Y9QZJ8bleulZ6g8oz8JaWbyY8PoR53i+0jm9/sIYT73HuAKAdeXqyyMrowu a7ut93oBn4EQ972FoHCcW76t9hNe6V4/YfFLV5UsDQo/gMx1/jCY7vIPpKdN22QuzJO+ Zkifdwm5mr6vAB41D6Qb6vQH3S+nTFu1zbvRrDnntUP+zrW2xHyBv/pf572JzYnmAm61 IUKK9NzK2uGkB02gNmbVMgO0/c6s9n8RBDyE4TNpdyb9IWCe/n65hdE7gJfwRHKdSKcT bRCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=0onVuG+h4E13GYgMg2Eq9xo/YGOGBEL1auB+izQxs1E=; b=fEQ4V1KUHBcWz7qTqf7aOIpnXugpenCwbrwBBgHchGRR8UhSlftQAEx83QFTINkOHP OeyCC8Fn9NBg5+lIue3h0XAZLS/cfQrqVqP9nTxj1vso3QXmVmhnwTNLscL42xHoGCN+ W/u2ymFegqxjYYCL3+Ds/3xWtu4dKKUTKTAZEniHNcYOJPxJBOsnOIeAXHrQM8U2R4xN mwqUI6Y6wwYCMFBMPI1RmRfKPY6DU6L65KwWjITvsxETXonisJbc/Ni4yedc6kBpB74M XYrkF6DKtsyK3z7m4XgmHkgAYjyehc9Tpd8vEXfxvR+jXWkXtw41dY+SgVYuAkaNkNjT KD5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=DBaMLohV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l186si9817031pgd.67.2019.02.25.13.37.12; Mon, 25 Feb 2019 13:37:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=DBaMLohV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733158AbfBYVgS (ORCPT + 99 others); Mon, 25 Feb 2019 16:36:18 -0500 Received: from mail.kernel.org ([198.145.29.99]:43026 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733147AbfBYVgS (ORCPT ); Mon, 25 Feb 2019 16:36:18 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 43665217F5; Mon, 25 Feb 2019 21:36:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551130577; bh=NiPjIIw9LmhM2Qg1H8KPi+u8gNwGno5hz9yHuyaPGHc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DBaMLohVbwsj5TGWtchBLwBRCgrASTq7X0/B0RL4MYYKtambGmlBbJF9pf8k/GHS5 I8o7zdtOXqem7bK3xn0I+a5J4WGptKo+PQG6RYXne9zSJkzw4DmpWslEnRQHYZlRZg hmnqgqtNDt3anPByTYSymtOVQicAQOPNtDM7fUAI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yu Zhang , Paolo Bonzini Subject: [PATCH 4.20 165/183] kvm: x86: Return LA57 feature based on hardware capability Date: Mon, 25 Feb 2019 22:12:18 +0100 Message-Id: <20190225195122.930447522@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190225195054.748060397@linuxfoundation.org> References: <20190225195054.748060397@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Yu Zhang commit 511da98d207d5c0675a10351b01e37cbe50a79e5 upstream. Previously, 'commit 372fddf70904 ("x86/mm: Introduce the 'no5lvl' kernel parameter")' cleared X86_FEATURE_LA57 in boot_cpu_data, if Linux chooses to not run in 5-level paging mode. Yet boot_cpu_data is queried by do_cpuid_ent() as the host capability later when creating vcpus, and Qemu will not be able to detect this feature and create VMs with LA57 feature. As discussed earlier, VMs can still benefit from extended linear address width, e.g. to enhance features like ASLR. So we would like to fix this, by return the true hardware capability when Qemu queries. Signed-off-by: Yu Zhang Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini Signed-off-by: Greg Kroah-Hartman --- arch/x86/kvm/cpuid.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -337,6 +337,7 @@ static inline int __do_cpuid_ent(struct unsigned f_mpx = kvm_mpx_supported() ? F(MPX) : 0; unsigned f_xsaves = kvm_x86_ops->xsaves_supported() ? F(XSAVES) : 0; unsigned f_umip = kvm_x86_ops->umip_emulated() ? F(UMIP) : 0; + unsigned f_la57 = 0; /* cpuid 1.edx */ const u32 kvm_cpuid_1_edx_x86_features = @@ -491,7 +492,10 @@ static inline int __do_cpuid_ent(struct // TSC_ADJUST is emulated entry->ebx |= F(TSC_ADJUST); entry->ecx &= kvm_cpuid_7_0_ecx_x86_features; + f_la57 = entry->ecx & F(LA57); cpuid_mask(&entry->ecx, CPUID_7_ECX); + /* Set LA57 based on hardware capability. */ + entry->ecx |= f_la57; entry->ecx |= f_umip; /* PKU is not yet implemented for shadow paging. */ if (!tdp_enabled || !boot_cpu_has(X86_FEATURE_OSPKE))