Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1955906pxb; Fri, 25 Mar 2022 08:35:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw947f2kjKo5wtC9vXBRmbSLn3OjoN3gsUm219OJtO7edWNKyz0/wTG5d/jxPztrPgl0hoL X-Received: by 2002:aa7:9110:0:b0:4fa:e388:af57 with SMTP id 16-20020aa79110000000b004fae388af57mr10365731pfh.1.1648222517452; Fri, 25 Mar 2022 08:35:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648222517; cv=none; d=google.com; s=arc-20160816; b=WE7WXr8p5DT/aUEPuiq/34AIoBkJUuPmhN4cttcBmp1dwEOefL3o24U9GzyboCnNNt A16vh3BuAzx1a6fmEAqJfaC2OR9qUDjxmyM+seFXlYr64ZUgYLwhbmFVW4biUXZu6kzA Egq/RP7bLWMG7exNVSnEXNrNuENs6IemSFedKHyNBo4kSQbkoZ36IaeimRfKYCtw73EM 2cqXPkxMzbf31Fnfst+ZwUIib+khDLv+111OOSKnkmauvRb8nK0/XhQb/mRILM/Pwwd5 Asre3AD6LAi3JX2E3p4x1eYrT9clMSaDpI9b+jDbPUCNZ1VZoQBPs+L1Miy468FMlU7Z wcng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:mime-version:references:subject:cc:to:from :dkim-signature:dkim-signature:message-id; bh=fRGoaQA9ELB/t/I5jAlbmPcCoZHznW4PsontUd5UTeo=; b=0uBLCbpJGh6qYbodwImcedcdxn8uexq1c3iZfZURy3tHEV16YFYvFeEqk1KSN7MZP4 Q27NbZYo79cy8tqozkRB9oAqGlwiCqWshv5L/9d3QKyVMduUt9Y0cbAlGe4Xr4hYdixn pEY0TLOghzFHnSHY7mKObr9iMNrVyCVxI3j4B+IpZRQTGaeBGTsaBtpJ+mq04/ZMcJrJ xsVCFDTeLX4uO6yQM4LZ1tEDXNTZcsPtFCiFDFv/fc2sIBOzYqZsVmsDArkgh3N1fcGO IJXPEDzpePRTBW4Co9TKi63FoqYfo+xJnOVVtgrPL1RIEi9uqJgQlLBskajH+bIc41jf 1vfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b="oE6v15/Q"; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=jqP05jj4; 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=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p14-20020a056a000b4e00b004fa3a8dfff9si3573601pfo.176.2022.03.25.08.35.01; Fri, 25 Mar 2022 08:35:17 -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=@linutronix.de header.s=2020 header.b="oE6v15/Q"; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=jqP05jj4; 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=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346497AbiCXNtR (ORCPT + 99 others); Thu, 24 Mar 2022 09:49:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350584AbiCXNst (ORCPT ); Thu, 24 Mar 2022 09:48:49 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4BB6A94DE for ; Thu, 24 Mar 2022 06:47:16 -0700 (PDT) Message-ID: <20220324134623.681768598@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1648129635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=fRGoaQA9ELB/t/I5jAlbmPcCoZHznW4PsontUd5UTeo=; b=oE6v15/Qr061F27NHTDBHMCy1kFOhASSrrCQiStooXcTJAXQG+pFtUX5J9HJjCH8s5bBNk NNJliAJODG9mFvr4W0GMPdvQ0+ww9lLHcZoVXXvwII5i3wptTgjmq9RFekjZqBXWMlzNi8 85BQnggxNt+n7de4gQqe15rIjVTuZzIhtUeK/2bdz+66libTsBqZmgNsr369uqvmmg188m 3s+t5O7bTElghz2XMvbSpl3Y14qzHLbSndImAH/+oKFFXBiKP/f/N84S4epbZheqwHi78s ZUIiwN07yNrXZoMvMwU1WIm+k4fR0EGNX1kdS6dnM0Xemus0ugQLZ/5+bLkDTA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1648129635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=fRGoaQA9ELB/t/I5jAlbmPcCoZHznW4PsontUd5UTeo=; b=jqP05jj4pbBR0I3vIXgYP0K9j+8+EXNgovD4tMBlSEyEp1YhEZrHTEh5mbzO4mhuaBzGz0 VyfZhs5N+ZWk4EAg== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, "Chang S. Bae" , Paolo Bonzini , Fenghua Yu , Tony Luck Subject: [patch 6/7] x86/fpu/xstate: Handle supervisor states in XSTATE permissions References: <20220324134548.432837672@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Date: Thu, 24 Mar 2022 14:47:14 +0100 (CET) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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 The size calculation in __xstate_request_perm() fails to take supervisor states into account because the permission bitmap is only relevant for user states. Up to 5.17 this does not matter because there are no supervisor states supported, but the (re)enabling of ENQCMD makes them available. Fixes: 7c1ef59145f1 ("x86/cpufeatures: Re-enable ENQCMD") Signed-off-by: Thomas Gleixner Cc: Paolo Bonzini Cc: Fenghua Yu Cc: Tony Luck --- arch/x86/kernel/fpu/xstate.c | 3 +++ 1 file changed, 3 insertions(+) --- a/arch/x86/kernel/fpu/xstate.c +++ b/arch/x86/kernel/fpu/xstate.c @@ -1566,6 +1566,9 @@ static int __xstate_request_perm(u64 per /* Calculate the resulting kernel state size */ mask = permitted | requested; + /* Take supervisor states into account on the host */ + if (!guest) + mask |= xfeatures_mask_supervisor(); ksize = xstate_calculate_size(mask, compacted); /* Calculate the resulting user state size */