Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/updates/2026-07-25-linux-6.12.98-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Linux ([6.12.98](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v6.12.98) (includes [6.12.97](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tag/?h=v6.12.97)))
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548
DIST patch-6.12.96.xz 4953340 BLAKE2B 455d0eb19086f1feb82905ea233d9347595e1e92b1e943913e8f3d534bd2f7242e7ac1fb7781f239090eb606fbf5e308d8a4a0ce8686b430a58a3e33263afc4c SHA512 c112d977ca29d5967fbc6d678491f159ac15b7e3a5b03b7237fc5c4eecb1ef1a9a0e3c20bdeed55a680376990b1c52aadc9e0ad2f7a4f3406a0c1bf66b5771b4
DIST patch-6.12.98.xz 5243448 BLAKE2B 9833c96b4353f8d0fab2fea0c934eef69c4c4fcdef256940f3075a3526d42cb34fbe12d2b576e98df349f227091b5463deefafafcfaf4bca9df0c7fe69a04cca SHA512 bb4cbd7f91970d6c300ac656cafed6bed2fa5a69962920de4cf9f1f28eff256494e355b612e74b252dd9ef936590183fd5fb00cc180dea427851174a4f383d94
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
Starting from Kernel 6.12.97, prototype of pci_resize_resource() has changed
so it started to take 4 args instead of 3. To deal with both cases of 3 and 4
args, define a new config check in conftest.sh to check if the Kernel header
has which variant of pci_resize_resource(), and define a variable
NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG if that has 4 args. Use that later
from the caller in nvidia/nv-pci.c.
--- a/kernel-open/conftest.sh 2026-07-28 08:58:15.053510731 -0000
+++ b/kernel-open/conftest.sh 2026-07-28 09:00:34.490711754 -0000
@@ -6528,6 +6528,27 @@
compile_check_conftest "$CODE" "NV_WAIT_FOR_RANDOM_BYTES_PRESENT" "" "functions"
;;

+ pci_resize_resource_has_exclude_bars_arg)
+ #
+ # Determine if pci_resize_resource() has exclude_bars argument.
+ #
+ # exclude_bars argument was added to pci_resize_resource by commit
+ # 337b1b566db0 (11/14/2025) ("PCI: Fix restoring BARs on BAR resize rollback path")
+ # in linux-next.
+ #
+ CODE="
+ #include <linux/pci.h>
+
+ typeof(pci_resize_resource) conftest_pci_resize_resource_has_exclude_bars_arg;
+ int __must_check conftest_pci_resize_resource_has_exclude_bars_arg(struct pci_dev *dev,
+ int i, int size,
+ int exclude_bars) {
+ return 0;
+ }"
+
+ compile_check_conftest "$CODE" "NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG" "" "types"
+ ;;
+
drm_connector_has_override_edid)
#
# Determine if 'struct drm_connector' has an 'override_edid' member.
--- a/kernel-open/nvidia/nv-pci.c 2026-07-28 08:34:08.084158759 -0000
+++ b/kernel-open/nvidia/nv-pci.c 2026-07-28 08:34:46.162723864 -0000
@@ -234,7 +234,11 @@

resize:
/* Attempt to resize BAR1 to the largest supported size */
+#if defined(NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG)
+ r = pci_resize_resource(pci_dev, NV_GPU_BAR1, requested_size, 0);
+#else
r = pci_resize_resource(pci_dev, NV_GPU_BAR1, requested_size);
+#endif

if (r) {
if (r == -ENOSPC)
--- a/kernel-open/nvidia/nvidia.Kbuild 2026-07-28 13:18:21.556378527 -0000
+++ b/kernel-open/nvidia/nvidia.Kbuild 2026-07-28 13:17:41.159211837 -0000
@@ -259,6 +259,7 @@
NV_CONFTEST_TYPE_COMPILE_TESTS += memory_failure_has_trapno_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += foll_longterm_present
NV_CONFTEST_TYPE_COMPILE_TESTS += bus_type_has_iommu_ops
+NV_CONFTEST_TYPE_COMPILE_TESTS += pci_resize_resource_has_exclude_bars_arg

NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_kvm_build
--- a/kernel-module-source/kernel-open/conftest.sh 2026-07-28 08:58:15.053510731 -0000
+++ b/kernel-module-source/kernel-open/conftest.sh 2026-07-28 09:00:34.490711754 -0000
@@ -6528,6 +6528,27 @@
compile_check_conftest "$CODE" "NV_WAIT_FOR_RANDOM_BYTES_PRESENT" "" "functions"
;;

+ pci_resize_resource_has_exclude_bars_arg)
+ #
+ # Determine if pci_resize_resource() has exclude_bars argument.
+ #
+ # exclude_bars argument was added to pci_resize_resource by commit
+ # 337b1b566db0 (11/14/2025) ("PCI: Fix restoring BARs on BAR resize rollback path")
+ # in linux-next.
+ #
+ CODE="
+ #include <linux/pci.h>
+
+ typeof(pci_resize_resource) conftest_pci_resize_resource_has_exclude_bars_arg;
+ int __must_check conftest_pci_resize_resource_has_exclude_bars_arg(struct pci_dev *dev,
+ int i, int size,
+ int exclude_bars) {
+ return 0;
+ }"
+
+ compile_check_conftest "$CODE" "NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG" "" "types"
+ ;;
+
drm_connector_has_override_edid)
#
# Determine if 'struct drm_connector' has an 'override_edid' member.
--- a/kernel-module-source/kernel-open/nvidia/nv-pci.c 2026-07-28 08:34:08.084158759 -0000
+++ b/kernel-module-source/kernel-open/nvidia/nv-pci.c 2026-07-28 08:34:46.162723864 -0000
@@ -234,7 +234,11 @@

resize:
/* Attempt to resize BAR1 to the largest supported size */
+#if defined(NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG)
+ r = pci_resize_resource(pci_dev, NV_GPU_BAR1, requested_size, 0);
+#else
r = pci_resize_resource(pci_dev, NV_GPU_BAR1, requested_size);
+#endif

if (r) {
if (r == -ENOSPC)
--- a/kernel-module-source/kernel-open/nvidia/nvidia.Kbuild 2026-07-28 13:18:21.556378527 -0000
+++ b/kernel-module-source/kernel-open/nvidia/nvidia.Kbuild 2026-07-28 13:17:41.159211837 -0000
@@ -259,6 +259,7 @@
NV_CONFTEST_TYPE_COMPILE_TESTS += memory_failure_has_trapno_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += foll_longterm_present
NV_CONFTEST_TYPE_COMPILE_TESTS += bus_type_has_iommu_ops
+NV_CONFTEST_TYPE_COMPILE_TESTS += pci_resize_resource_has_exclude_bars_arg

NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_kvm_build
--- a/kernel/conftest.sh 2026-07-28 08:58:15.053510731 -0000
+++ b/kernel/conftest.sh 2026-07-28 09:00:34.490711754 -0000
@@ -6528,6 +6528,27 @@
compile_check_conftest "$CODE" "NV_WAIT_FOR_RANDOM_BYTES_PRESENT" "" "functions"
;;

+ pci_resize_resource_has_exclude_bars_arg)
+ #
+ # Determine if pci_resize_resource() has exclude_bars argument.
+ #
+ # exclude_bars argument was added to pci_resize_resource by commit
+ # 337b1b566db0 (11/14/2025) ("PCI: Fix restoring BARs on BAR resize rollback path")
+ # in linux-next.
+ #
+ CODE="
+ #include <linux/pci.h>
+
+ typeof(pci_resize_resource) conftest_pci_resize_resource_has_exclude_bars_arg;
+ int __must_check conftest_pci_resize_resource_has_exclude_bars_arg(struct pci_dev *dev,
+ int i, int size,
+ int exclude_bars) {
+ return 0;
+ }"
+
+ compile_check_conftest "$CODE" "NV_PCI_RESIZE_RESOURCE_HAS_EXCLUDE_BARS_ARG" "" "types"
+ ;;
+
drm_connector_has_override_edid)
#
# Determine if 'struct drm_connector' has an 'override_edid' member.
--- a/kernel/nvidia/nvidia.Kbuild 2026-07-28 13:18:21.556378527 -0000
+++ b/kernel/nvidia/nvidia.Kbuild 2026-07-28 13:17:41.159211837 -0000
@@ -259,6 +259,7 @@
NV_CONFTEST_TYPE_COMPILE_TESTS += memory_failure_has_trapno_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += foll_longterm_present
NV_CONFTEST_TYPE_COMPILE_TESTS += bus_type_has_iommu_ops
+NV_CONFTEST_TYPE_COMPILE_TESTS += pci_resize_resource_has_exclude_bars_arg

NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present
NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_kvm_build
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
PATCHES=(
"${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
"${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
"${FILESDIR}"/nvidia-pci-resize-resource-fix-550.patch
)

pkg_setup() {
Expand Down