Received: by 2002:a05:6500:1b45:b0:1f5:f2ab:c469 with SMTP id cz5csp416436lqb; Tue, 16 Apr 2024 23:06:31 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVE5+5wBjbNdiGSnSEftLzmmiTu95MM0LdgabWeuK5ng+xRMUf/MlzSKK7L78gZ4Q7NVGMgUQItRvpq+5BQ51W0YtwBefvZgBZG4dpiEQ== X-Google-Smtp-Source: AGHT+IEhliSrTRxigK47bEQivWguNz7mgnfLqUYbj9lEek175otnn+URdQIWibWaaJi2szYIjD5m X-Received: by 2002:a05:622a:1896:b0:436:b3a6:c623 with SMTP id v22-20020a05622a189600b00436b3a6c623mr14522523qtc.43.1713333991613; Tue, 16 Apr 2024 23:06:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713333991; cv=pass; d=google.com; s=arc-20160816; b=Z8P+2ETQzukMlY7jQSamdyweD+dv+zMyQKAGcqsLW1EprkgTCg5u5pY/VvuzK9iPfG wVDwCgA8CNp4rUoq21VQ6snIPyhmCXWJhAg8Ogecmj6a7dYrj3WVEPhuoZq4tKooLq3r 1wG1M1TzEOtaeNLzMJESlmCP7q8Lrin4KsvddQh2VODI4gqhi3N81WPvshd9wxTZ1LF+ aLb7OIEH9Zj2YV37eW2YLi30Anu2oD9+Haz9OGZSzlt/aNbFln27mHGzGoX59zEzDJOj sxGHfph71YICXsAa8UCs67rZLNLlPbZqY+K4FaXj/pVrUvHGDnl/P8XrCN1L/Y9EKq+Z DM4g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=3TMhUjhC5lTj0SH6LiN977tqq1aL8aviwJpBvLYjL4E=; fh=ZVj89ULK2TALte3pkKn3/xC0P/m1p+MIzV6jHfUiF88=; b=tLd82Yofldciwq/Ar12fteuaWAbOuAhueVXA1iagg/n5ApvUM4xErEb0aZ4be3MnvS UjtknKRU8Ct6xeGT1dzCtPAnITn14FZH8176Xjha0WZ0zBbcTHmmL1XSIXayqwVSennZ NaML8NnEZirXtxwVOfOX2KJ8M19SBpy6rBF4xQfvrIQVt4Xn4ytMywwSpVEMk1enayYf j5QUiQLBL8cMCYr3rBjukFKN55TeFOfyWAYt77NW08impcVpSFY7AJa23C4K+v3XWAFi Qf3ajeWxX1UFFMG9Zgmt5vlYTWNgZQR/rMKDi373H+ajkuVcyNRmDIvPUs3RlyEPMAYp vJdQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eb6kFZcL; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-crypto+bounces-3593-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-crypto+bounces-3593-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id p10-20020a05622a048a00b004347cf7c206si14241159qtx.216.2024.04.16.23.06.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Apr 2024 23:06:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto+bounces-3593-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=eb6kFZcL; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-crypto+bounces-3593-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-crypto+bounces-3593-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 390CF1C21BA3 for ; Wed, 17 Apr 2024 06:06:31 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5E87850A6D; Wed, 17 Apr 2024 06:06:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eb6kFZcL" X-Original-To: linux-crypto@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A5ED535A9; Wed, 17 Apr 2024 06:06:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713333987; cv=none; b=giU0nnuHMcRJi9RNqFqxuYP4z+UgBdjSZjzLD6qAObHRwrZhuL6HgVf5Eo1NO/cvxFKkbnLtj02HTynXwN3tV0LZ/o6eh3hc1zY+NlpBXWj+MXp7CYDy+91T1DjbPvYNjkCuG6yzbymeEfNVEFgM3DoXM+9FUgpfMvJZrUvNJ6Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713333987; c=relaxed/simple; bh=VGmF4lsr+/pNl/QS+FJLIeXDsdk5sY7VV1Yx8agjmfQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=UD5QWboaew4kE7XurA/eqnDEyfEguwXLW9hpZ/uoxrcAriR5IlBcQv8zShPk+2DrDYlDoojBVoikJDa/10neIo+d0o1Z+Kgc4ZtS9dKOabxRIshZG8V0vL4uUibO6VBxzYKva5kBSrU0QXFupyrC3y2ORGOFKUX7sPB6AZvitCk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eb6kFZcL; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5ECE8C2BD11; Wed, 17 Apr 2024 06:06:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713333986; bh=VGmF4lsr+/pNl/QS+FJLIeXDsdk5sY7VV1Yx8agjmfQ=; h=From:To:Cc:Subject:Date:From; b=eb6kFZcLivKxpEuKYcK15PQxYOvzPh1LgPvu7eDo7SvePQWmoGJv1M+GaiLoLcfma z++AEPX8TqsJD8kFfayIg9+5TXxxGRwpzIKdizVXC66yYV4yDJtJtF+3J/EgIXNbpf 3ANOATpg2aOzxrw0oXmLcLhXx+4LQoddt15704DCkCsjHLNaNmWDrrpDrzlS6KBADP E2u9isF1BkNogrjvhaVzXrcjrajVcxRdxH2FluLeWXZgYsDwGz/T8Hb/enC3KI+q8H 29uM1/EfrnSw4J9h/aggW9jZy4hWPCSs05YIDzVPDLwGlK9pRROmaPy/gx449q9Gth +BZluUGmIQRVA== From: Eric Biggers To: x86@kernel.org Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ Date: Tue, 16 Apr 2024 23:04:34 -0700 Message-ID: <20240417060434.47101-1-ebiggers@kernel.org> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Eric Biggers Fix cpuid_deps[] to list the correct dependencies for GFNI, VAES, and VPCLMULQDQ. These features don't depend on AVX512, and there exist CPUs that support these features but not AVX512. GFNI actually doesn't even depend on AVX. This prevents GFNI from being unnecessarily disabled if AVX is disabled to mitigate the GDS vulnerability. This also prevents all three features from being unnecessarily disabled if AVX512VL (or its dependency AVX512F) were to be disabled, but it looks like there isn't any case where this happens anyway. Fixes: c128dbfa0f87 ("x86/cpufeatures: Enable new SSE/AVX/AVX512 CPU features") Signed-off-by: Eric Biggers --- arch/x86/kernel/cpu/cpuid-deps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/cpu/cpuid-deps.c b/arch/x86/kernel/cpu/cpuid-deps.c index b7174209d855..946813d816bf 100644 --- a/arch/x86/kernel/cpu/cpuid-deps.c +++ b/arch/x86/kernel/cpu/cpuid-deps.c @@ -42,11 +42,14 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_PCLMULQDQ, X86_FEATURE_XMM2 }, { X86_FEATURE_SSSE3, X86_FEATURE_XMM2, }, { X86_FEATURE_F16C, X86_FEATURE_XMM2, }, { X86_FEATURE_AES, X86_FEATURE_XMM2 }, { X86_FEATURE_SHA_NI, X86_FEATURE_XMM2 }, + { X86_FEATURE_GFNI, X86_FEATURE_XMM2 }, { X86_FEATURE_FMA, X86_FEATURE_AVX }, + { X86_FEATURE_VAES, X86_FEATURE_AVX }, + { X86_FEATURE_VPCLMULQDQ, X86_FEATURE_AVX }, { X86_FEATURE_AVX2, X86_FEATURE_AVX, }, { X86_FEATURE_AVX512F, X86_FEATURE_AVX, }, { X86_FEATURE_AVX512IFMA, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512PF, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512ER, X86_FEATURE_AVX512F }, @@ -54,13 +57,10 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_AVX512DQ, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512BW, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512VL, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512VBMI, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512_VBMI2, X86_FEATURE_AVX512VL }, - { X86_FEATURE_GFNI, X86_FEATURE_AVX512VL }, - { X86_FEATURE_VAES, X86_FEATURE_AVX512VL }, - { X86_FEATURE_VPCLMULQDQ, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_VNNI, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_BITALG, X86_FEATURE_AVX512VL }, { X86_FEATURE_AVX512_4VNNIW, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512_4FMAPS, X86_FEATURE_AVX512F }, { X86_FEATURE_AVX512_VPOPCNTDQ, X86_FEATURE_AVX512F }, base-commit: 20cb38a7af88dc40095da7c2c9094da3873fea23 -- 2.44.0