diff --git a/kernel/drivers/module-nvidia390/actions.py b/kernel/drivers/module-nvidia390/actions.py
index c3722d21a1..57a0c11c8f 100644
--- a/kernel/drivers/module-nvidia390/actions.py
+++ b/kernel/drivers/module-nvidia390/actions.py
@@ -69,6 +69,9 @@ def build():
shelltools.system("patch -p1 < kernel-6.8.patch")
shelltools.system("patch -p1 < kernel-6.10.patch")
shelltools.system("patch -p1 < kernel-6.12.patch")
+
+ shelltools.system("patch -p1 < gcc-14.patch")
+ shelltools.system("patch -p1 < gcc-15.patch")
shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR)
shelltools.cd("kernel")
diff --git a/kernel/drivers/module-nvidia390/files/gcc-14.patch b/kernel/drivers/module-nvidia390/files/gcc-14.patch
new file mode 100644
index 0000000000..110c3d6286
--- /dev/null
+++ b/kernel/drivers/module-nvidia390/files/gcc-14.patch
@@ -0,0 +1,14 @@
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index 093704c..a9db899 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -153,7 +153,8 @@ test_headers() {
+ build_cflags() {
+ BASE_CFLAGS="-O2 -D__KERNEL__ \
+ -DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \
+--nostdinc -isystem $ISYSTEM"
++-nostdinc -isystem $ISYSTEM \
++-Wno-implicit-function-declaration -Wno-strict-prototypes -Wno-incompatible-pointer-types"
+
+ if [ "$OUTPUT" != "$SOURCES" ]; then
+ OUTPUT_CFLAGS="-I$OUTPUT/include2 -I$OUTPUT/include"
diff --git a/kernel/drivers/module-nvidia390/files/gcc-15.patch b/kernel/drivers/module-nvidia390/files/gcc-15.patch
new file mode 100644
index 0000000000..bb7d3f489f
--- /dev/null
+++ b/kernel/drivers/module-nvidia390/files/gcc-15.patch
@@ -0,0 +1,25 @@
+diff --git a/kernel/Kbuild b/kernel/Kbuild
+index 85aa267..baa6986 100644
+--- a/kernel/Kbuild
++++ b/kernel/Kbuild
+@@ -61,6 +61,7 @@ $(foreach _module, $(NV_KERNEL_MODULES), \
+ # $(EXTRA_CFLAGS) to ccflags-y for compatibility.
+ #
+
++EXTRA_CFLAGS += -std=gnu17
+ EXTRA_CFLAGS += -I$(src)/common/inc
+ EXTRA_CFLAGS += -I$(src)
+ EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wsign-compare -Wno-cast-qual -Wno-error
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index 4da7588..1106ea5 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -151,7 +151,7 @@ test_headers() {
+ }
+
+ build_cflags() {
+- BASE_CFLAGS="-O2 -D__KERNEL__ \
++ BASE_CFLAGS="-std=gnu17 -O2 -D__KERNEL__ \
+ -DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \
+ -nostdinc -isystem $ISYSTEM \
+ -Wno-implicit-function-declaration -Wno-strict-prototypes -Wno-incompatible-pointer-types"
diff --git a/kernel/drivers/module-nvidia390/pspec.xml b/kernel/drivers/module-nvidia390/pspec.xml
index 2d616e1066..3f1807916c 100644
--- a/kernel/drivers/module-nvidia390/pspec.xml
+++ b/kernel/drivers/module-nvidia390/pspec.xml
@@ -26,6 +26,9 @@
kernel-6.8.patch
kernel-6.10.patch
kernel-6.12.patch
+
+ gcc-14.patch
+ gcc-15.patch
kernel-module-headers