summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pagano <mpagano@gentoo.org>2023-10-22 18:52:32 -0400
committerMike Pagano <mpagano@gentoo.org>2023-10-22 18:52:32 -0400
commit1b5d19742dd710541a3d5f47e0e9d4aafa829ef7 (patch)
treebb05f72976e904d3b7a9e4d5037a0c7fe4567c20
parentLinux patch 6.1.59 (diff)
downloadlinux-patches-1b5d19742dd710541a3d5f47e0e9d4aafa829ef7.tar.gz
linux-patches-1b5d19742dd710541a3d5f47e0e9d4aafa829ef7.tar.bz2
linux-patches-1b5d19742dd710541a3d5f47e0e9d4aafa829ef7.zip
kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules
Signed-off-by: Mike Pagano <mpagano@gentoo.org>
-rw-r--r--0000_README4
-rw-r--r--2950_kbuild-CRC32-1MB-dict-xz-modules.patch38
2 files changed, 42 insertions, 0 deletions
diff --git a/0000_README b/0000_README
index 455e85da..2db06d5c 100644
--- a/0000_README
+++ b/0000_README
@@ -315,6 +315,10 @@ Patch: 2940_handle-gcc-14-last-stmt-rename.patch
From: https://lore.kernel.org/all/20230811060545.never.564-kees@kernel.org/#Z31scripts:gcc-plugins:gcc-common.h
Desc: gcc-plugins: Rename last_stmt() for GCC 14+
+Patch: 2950_kbuild-CRC32-1MB-dict-xz-modules.patch
+From: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?h=kbuild&id=fbf5892df21a8ccfcb2fda0fd65bc3169c89ed28
+Desc: kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules
+
Patch: 3000_Support-printing-firmware-info.patch
From: https://bugs.gentoo.org/732852
Desc: Print firmware info (Reqs CONFIG_GENTOO_PRINT_FIRMWARE_INFO). Thanks to Georgy Yakovlev
diff --git a/2950_kbuild-CRC32-1MB-dict-xz-modules.patch b/2950_kbuild-CRC32-1MB-dict-xz-modules.patch
new file mode 100644
index 00000000..32090343
--- /dev/null
+++ b/2950_kbuild-CRC32-1MB-dict-xz-modules.patch
@@ -0,0 +1,38 @@
+From fbf5892df21a8ccfcb2fda0fd65bc3169c89ed28 Mon Sep 17 00:00:00 2001
+From: Martin Nybo Andersen <tweek@tweek.dk>
+Date: Fri, 15 Sep 2023 12:15:39 +0200
+Subject: kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules
+
+Kmod is now (since kmod commit 09c9f8c5df04 ("libkmod: Use kernel
+decompression when available")) using the kernel decompressor, when
+loading compressed modules.
+
+However, the kernel XZ decompressor is XZ Embedded, which doesn't
+handle CRC64 and dictionaries larger than 1MiB.
+
+Use CRC32 and 1MiB dictionary when XZ compressing and installing
+kernel modules.
+
+Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050582
+Signed-off-by: Martin Nybo Andersen <tweek@tweek.dk>
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+---
+ scripts/Makefile.modinst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
+index 346f5ec506823..0afd75472679f 100644
+--- a/scripts/Makefile.modinst
++++ b/scripts/Makefile.modinst
+@@ -144,7 +144,7 @@ endif
+ quiet_cmd_gzip = GZIP $@
+ cmd_gzip = $(KGZIP) -n -f $<
+ quiet_cmd_xz = XZ $@
+- cmd_xz = $(XZ) --lzma2=dict=2MiB -f $<
++ cmd_xz = $(XZ) --check=crc32 --lzma2=dict=1MiB -f $<
+ quiet_cmd_zstd = ZSTD $@
+ cmd_zstd = $(ZSTD) -T0 --rm -f -q $<
+
+--
+cgit
+