From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 46B2B158451 for ; Mon, 8 Jan 2024 21:09:45 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 743C7E2B9B; Mon, 8 Jan 2024 21:09:44 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 46E17E2B9B for ; Mon, 8 Jan 2024 21:09:44 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5182F34330E for ; Mon, 8 Jan 2024 21:09:43 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9135C137A for ; Mon, 8 Jan 2024 21:09:41 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1704748086.0cb6966bc9c75c16bf3a1fb7e36e28ce1e1a453a.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/files/, x11-drivers/nvidia-drivers/ X-VCS-Repository: repo/gentoo X-VCS-Files: x11-drivers/nvidia-drivers/files/nvidia-drivers-535.43.22-kernel-6.7.patch x11-drivers/nvidia-drivers/nvidia-drivers-535.146.02.ebuild x11-drivers/nvidia-drivers/nvidia-drivers-535.43.22.ebuild x11-drivers/nvidia-drivers/nvidia-drivers-545.29.06-r1.ebuild X-VCS-Directories: x11-drivers/nvidia-drivers/ x11-drivers/nvidia-drivers/files/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 0cb6966bc9c75c16bf3a1fb7e36e28ce1e1a453a X-VCS-Branch: master Date: Mon, 8 Jan 2024 21:09:41 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 90619689-2ed6-44ae-8035-f1c8754d4fc8 X-Archives-Hash: e8237c342fbd6cddc58e877327674a3a commit: 0cb6966bc9c75c16bf3a1fb7e36e28ce1e1a453a Author: Ionen Wolkens gentoo org> AuthorDate: Mon Jan 8 20:50:15 2024 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Mon Jan 8 21:08:06 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cb6966b x11-drivers/nvidia-drivers: fix with linux-6.7 and some configs Looked fine for me but turns out the issue is conditional to kernel configs and it was not enabling USE_LKCA with mines. Also needed USE=kernel-open to run into this. An NVIDIA representative has offered a fix, so may as well use it this time around. 525 and older branches did not use this function. Should be harmless for older kernels, but have not really tested so only applying if >6.7 as a precaution, esp. for stable 535. Signed-off-by: Ionen Wolkens gentoo.org> .../nvidia-drivers-535.43.22-kernel-6.7.patch | 24 ++++++++++++++++++++++ .../nvidia-drivers-535.146.02.ebuild | 3 +++ .../nvidia-drivers/nvidia-drivers-535.43.22.ebuild | 3 +++ .../nvidia-drivers-545.29.06-r1.ebuild | 3 +++ 4 files changed, 33 insertions(+) diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-535.43.22-kernel-6.7.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-535.43.22-kernel-6.7.patch new file mode 100644 index 000000000000..08833de8344a --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-535.43.22-kernel-6.7.patch @@ -0,0 +1,24 @@ +Typically opt not to patch for kernel support downstream, but in this +case it's only conditionally broken depending on kernel crypto configs +and USE=kernel-open, then an (official) NVIDIA representative has +responded with a fix in [1] which should be safe. + +[1] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/574#issuecomment-1809283181 +--- a/kernel/nvidia/libspdm_shash.c ++++ b/kernel/nvidia/libspdm_shash.c +@@ -89,4 +89,4 @@ + struct crypto_shash *dst_tfm = dst->tfm; +- char *src_ipad = crypto_tfm_ctx_aligned(&src_tfm->base); +- char *dst_ipad = crypto_tfm_ctx_aligned(&dst_tfm->base); ++ char *src_ipad = crypto_tfm_ctx_align(&src_tfm->base, crypto_tfm_alg_alignmask(&src_tfm->base) + 1); ++ char *dst_ipad = crypto_tfm_ctx_align(&dst_tfm->base, crypto_tfm_alg_alignmask(&dst_tfm->base) + 1); + int ss = crypto_shash_statesize(dst_tfm); +--- a/kernel-module-source/kernel-open/nvidia/libspdm_shash.c ++++ b/kernel-module-source/kernel-open/nvidia/libspdm_shash.c +@@ -89,4 +89,4 @@ + struct crypto_shash *dst_tfm = dst->tfm; +- char *src_ipad = crypto_tfm_ctx_aligned(&src_tfm->base); +- char *dst_ipad = crypto_tfm_ctx_aligned(&dst_tfm->base); ++ char *src_ipad = crypto_tfm_ctx_align(&src_tfm->base, crypto_tfm_alg_alignmask(&src_tfm->base) + 1); ++ char *dst_ipad = crypto_tfm_ctx_align(&dst_tfm->base, crypto_tfm_alg_alignmask(&dst_tfm->base) + 1); + int ss = crypto_shash_statesize(dst_tfm); diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.146.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.146.02.ebuild index 4e12ff078da1..8bc1465f4494 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.146.02.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.146.02.ebuild @@ -137,6 +137,9 @@ src_prepare() { default + kernel_is -ge 6 7 && + eapply "${FILESDIR}"/nvidia-drivers-535.43.22-kernel-6.7.patch + # prevent detection of incomplete kernel DRM support (bug #603818) sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ -i kernel{,-module-source/kernel-open}/conftest.sh || die diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.22.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.22.ebuild index ae62cbc6f0ea..4932e930c654 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.22.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.43.22.ebuild @@ -140,6 +140,9 @@ src_prepare() { default + kernel_is -ge 6 7 && + eapply "${FILESDIR}"/nvidia-drivers-535.43.22-kernel-6.7.patch + # prevent detection of incomplete kernel DRM support (bug #603818) sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ -i kernel{,-module-source/kernel-open}/conftest.sh || die diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.06-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.06-r1.ebuild index bf4959d91524..e74a99ad11e1 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.06-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-545.29.06-r1.ebuild @@ -134,6 +134,9 @@ src_prepare() { default + kernel_is -ge 6 7 && + eapply "${FILESDIR}"/nvidia-drivers-535.43.22-kernel-6.7.patch + # prevent detection of incomplete kernel DRM support (bug #603818) sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \ -i kernel{,-module-source/kernel-open}/conftest.sh || die