From 1692999cb0ef03d2f68b9d33a84139da979f7fef Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Fri, 11 Jul 2025 07:37:40 -0600 Subject: [PATCH] kernel-6.16.0-0.rc5.250711gbc9ff192a6c9.49 * Fri Jul 11 2025 Fedora Kernel Team [6.16.0-0.rc5.bc9ff192a6c9.49] - redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver) Resolves: Signed-off-by: Justin M. Forbes --- Makefile.rhelver | 2 +- Patchlist.changelog | 3 + kernel-aarch64-16k-debug-fedora.config | 3 +- kernel-aarch64-16k-fedora.config | 3 +- kernel-aarch64-debug-fedora.config | 3 +- kernel-aarch64-fedora.config | 3 +- kernel-aarch64-rt-64k-debug-fedora.config | 3 +- kernel-aarch64-rt-64k-fedora.config | 3 +- kernel-aarch64-rt-debug-fedora.config | 3 +- kernel-aarch64-rt-fedora.config | 3 +- kernel-ppc64le-debug-fedora.config | 3 +- kernel-ppc64le-fedora.config | 3 +- kernel-riscv64-debug-fedora.config | 3 +- kernel-riscv64-fedora.config | 3 +- kernel-riscv64-rt-debug-fedora.config | 3 +- kernel-riscv64-rt-fedora.config | 3 +- kernel-s390x-debug-fedora.config | 3 +- kernel-s390x-fedora.config | 3 +- kernel-x86_64-debug-fedora.config | 3 +- kernel-x86_64-fedora.config | 3 +- kernel-x86_64-rt-debug-fedora.config | 3 +- kernel-x86_64-rt-fedora.config | 3 +- kernel.changelog | 12 +- kernel.spec | 26 ++- patch-6.16-redhat.patch | 260 +++++++++++++++++++++- sources | 6 +- 26 files changed, 336 insertions(+), 33 deletions(-) diff --git a/Makefile.rhelver b/Makefile.rhelver index 4a04c042a..fc29282ea 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 99 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 47 +RHEL_RELEASE = 49 # # RHEL_REBASE_NUM diff --git a/Patchlist.changelog b/Patchlist.changelog index 0a7726521..8e88c74e1 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,6 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/4b7f8251dd4c5206c4af97072ceb007ae841fff4 + 4b7f8251dd4c5206c4af97072ceb007ae841fff4 drm/framebuffer: Acquire internal references on GEM handles + https://gitlab.com/cki-project/kernel-ark/-/commit/8fa39ad0e51091a6e5236725ec959abb7177772f 8fa39ad0e51091a6e5236725ec959abb7177772f Simplify include Makefile.rhelver diff --git a/kernel-aarch64-16k-debug-fedora.config b/kernel-aarch64-16k-debug-fedora.config index d6fa82d6b..df0fada89 100644 --- a/kernel-aarch64-16k-debug-fedora.config +++ b/kernel-aarch64-16k-debug-fedora.config @@ -1752,7 +1752,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-16k-fedora.config b/kernel-aarch64-16k-fedora.config index 2c3ca713a..1d365e4da 100644 --- a/kernel-aarch64-16k-fedora.config +++ b/kernel-aarch64-16k-fedora.config @@ -1752,7 +1752,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config index ee54d909b..ee38a824e 100644 --- a/kernel-aarch64-debug-fedora.config +++ b/kernel-aarch64-debug-fedora.config @@ -1752,7 +1752,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config index 6a73524c7..17c060d47 100644 --- a/kernel-aarch64-fedora.config +++ b/kernel-aarch64-fedora.config @@ -1752,7 +1752,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-rt-64k-debug-fedora.config b/kernel-aarch64-rt-64k-debug-fedora.config index 6d9f9ce6e..843f619a6 100644 --- a/kernel-aarch64-rt-64k-debug-fedora.config +++ b/kernel-aarch64-rt-64k-debug-fedora.config @@ -1756,7 +1756,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-rt-64k-fedora.config b/kernel-aarch64-rt-64k-fedora.config index d6d6540ab..146536f73 100644 --- a/kernel-aarch64-rt-64k-fedora.config +++ b/kernel-aarch64-rt-64k-fedora.config @@ -1756,7 +1756,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-rt-debug-fedora.config b/kernel-aarch64-rt-debug-fedora.config index 661197432..33f4ec50e 100644 --- a/kernel-aarch64-rt-debug-fedora.config +++ b/kernel-aarch64-rt-debug-fedora.config @@ -1753,7 +1753,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-aarch64-rt-fedora.config b/kernel-aarch64-rt-fedora.config index 5990ff973..e39d29d13 100644 --- a/kernel-aarch64-rt-fedora.config +++ b/kernel-aarch64-rt-fedora.config @@ -1753,7 +1753,8 @@ CONFIG_CRYPTO_POLY1305_NEON=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_ARM64_CE=y diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config index 1b8d80454..8775ad749 100644 --- a/kernel-ppc64le-debug-fedora.config +++ b/kernel-ppc64le-debug-fedora.config @@ -1240,7 +1240,8 @@ CONFIG_CRYPTO_POLY1305=m # CONFIG_CRYPTO_POLY1305_P10 is not set CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m # CONFIG_CRYPTO_SHA1_PPC is not set diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config index d93055d99..4d578bd4b 100644 --- a/kernel-ppc64le-fedora.config +++ b/kernel-ppc64le-fedora.config @@ -1239,7 +1239,8 @@ CONFIG_CRYPTO_POLY1305=m # CONFIG_CRYPTO_POLY1305_P10 is not set CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m # CONFIG_CRYPTO_SHA1_PPC is not set diff --git a/kernel-riscv64-debug-fedora.config b/kernel-riscv64-debug-fedora.config index 3ccc218b9..2be4e9b0d 100644 --- a/kernel-riscv64-debug-fedora.config +++ b/kernel-riscv64-debug-fedora.config @@ -1271,7 +1271,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y diff --git a/kernel-riscv64-fedora.config b/kernel-riscv64-fedora.config index 0fed6be02..d99e119a1 100644 --- a/kernel-riscv64-fedora.config +++ b/kernel-riscv64-fedora.config @@ -1270,7 +1270,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y diff --git a/kernel-riscv64-rt-debug-fedora.config b/kernel-riscv64-rt-debug-fedora.config index 297e62dac..16504da4b 100644 --- a/kernel-riscv64-rt-debug-fedora.config +++ b/kernel-riscv64-rt-debug-fedora.config @@ -1272,7 +1272,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y diff --git a/kernel-riscv64-rt-fedora.config b/kernel-riscv64-rt-fedora.config index c0d8de537..6de0b9ed7 100644 --- a/kernel-riscv64-rt-fedora.config +++ b/kernel-riscv64-rt-fedora.config @@ -1271,7 +1271,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config index c154261e0..51428e23b 100644 --- a/kernel-s390x-debug-fedora.config +++ b/kernel-s390x-debug-fedora.config @@ -1243,7 +1243,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_S390=m diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config index 9165a4703..669b73af9 100644 --- a/kernel-s390x-fedora.config +++ b/kernel-s390x-fedora.config @@ -1242,7 +1242,8 @@ CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1_S390=m diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index db0250a38..73057dfe5 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -1350,7 +1350,8 @@ CONFIG_CRYPTO_POLY1305_X86_64=y CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index 6fbe0c530..a80dbdd46 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -1349,7 +1349,8 @@ CONFIG_CRYPTO_POLY1305_X86_64=y CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m diff --git a/kernel-x86_64-rt-debug-fedora.config b/kernel-x86_64-rt-debug-fedora.config index 2092d9486..0bf7ebd24 100644 --- a/kernel-x86_64-rt-debug-fedora.config +++ b/kernel-x86_64-rt-debug-fedora.config @@ -1351,7 +1351,8 @@ CONFIG_CRYPTO_POLY1305_X86_64=y CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m diff --git a/kernel-x86_64-rt-fedora.config b/kernel-x86_64-rt-fedora.config index 6d3e787d0..2183e7eb1 100644 --- a/kernel-x86_64-rt-fedora.config +++ b/kernel-x86_64-rt-fedora.config @@ -1350,7 +1350,8 @@ CONFIG_CRYPTO_POLY1305_X86_64=y CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_SELFTESTS is not set +# CONFIG_CRYPTO_SELFTESTS_FULL is not set +CONFIG_CRYPTO_SELFTESTS=y CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m diff --git a/kernel.changelog b/kernel.changelog index 8819d3666..b70b4309e 100644 --- a/kernel.changelog +++ b/kernel.changelog @@ -1,7 +1,17 @@ -* Wed Jul 09 2025 Fedora Kernel Team [6.16.0-0.rc5.733923397fd9.47] +* Fri Jul 11 2025 Fedora Kernel Team [6.16.0-0.rc5.bc9ff192a6c9.49] - redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver) Resolves: +* Fri Jul 11 2025 Fedora Kernel Team [6.16.0-0.rc5.bc9ff192a6c9.48] +- kernel.spec: honor packaging flags (Scott Weaver) +- Fix FIPS mode for Fedora (Justin M. Forbes) +- Linux v6.16.0-0.rc5.bc9ff192a6c9 +Resolves: + +* Thu Jul 10 2025 Fedora Kernel Team [6.16.0-0.rc5.8c2e52ebbe88.47] +- Linux v6.16.0-0.rc5.8c2e52ebbe88 +Resolves: + * Wed Jul 09 2025 Fedora Kernel Team [6.16.0-0.rc5.733923397fd9.46] - Linux v6.16.0-0.rc5.733923397fd9 Resolves: diff --git a/kernel.spec b/kernel.spec index b8d1401a3..add790b27 100644 --- a/kernel.spec +++ b/kernel.spec @@ -162,13 +162,13 @@ Summary: The Linux kernel %define specrpmversion 6.16.0 %define specversion 6.16.0 %define patchversion 6.16 -%define pkgrelease 0.rc5.250709g733923397fd9.47 +%define pkgrelease 0.rc5.250711gbc9ff192a6c9.49 %define kversion 6 -%define tarfile_release 6.16-rc5-38-g733923397fd9 +%define tarfile_release 6.16-rc5-121-gbc9ff192a6c9 # This is needed to do merge window version magic %define patchlevel 16 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 0.rc5.250709g733923397fd9.47%{?buildid}%{?dist} +%define specrelease 0.rc5.250711gbc9ff192a6c9.49%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.16.0 @@ -1179,7 +1179,7 @@ device drivers shipped with it are documented in these files. You'll want to install this package if you need a reference to the options that can be passed to Linux kernel modules at load time. - +%if %{with_headers} %package headers Summary: Header files for the Linux kernel for use by glibc Obsoletes: glibc-kernheaders < 3.0-46 @@ -1194,7 +1194,9 @@ between the Linux kernel and userspace libraries and programs. The header files define structures and constants that are needed for building most standard programs and are also needed for rebuilding the glibc package. +%endif +%if %{with_cross_headers} %package cross-headers Summary: Header files for the Linux kernel for use by cross-glibc %if 0%{?gemini} @@ -1207,6 +1209,7 @@ between the Linux kernel and userspace libraries and programs. The header files define structures and constants that are needed for building most standard programs and are also needed for rebuilding the cross-glibc package. +%endif %package debuginfo-common-%{_target_cpu} Summary: Kernel source files used by %{name}-debuginfo packages @@ -1403,6 +1406,7 @@ Summary: gcov graph and source files for coverage data collection.\ %{?1:%{1}-}gcov includes the gcov graph and source files for gcov coverage collection.\ %{nil} +%if %{with_kernel_abi_stablelists} %package -n %{package_name}-abi-stablelists Summary: The Red Hat Enterprise Linux kernel ABI symbol stablelists AutoReqProv: no @@ -1410,6 +1414,7 @@ AutoReqProv: no The kABI package contains information pertaining to the Red Hat Enterprise Linux kernel ABI, including lists of kernel symbols that are needed by external Linux kernel modules, and a yum plugin to aid enforcement. +%endif %if %{with_kabidw_base} %package kernel-kabidw-base-internal @@ -4347,9 +4352,20 @@ fi\ # # %changelog -* Wed Jul 09 2025 Fedora Kernel Team [6.16.0-0.rc5.733923397fd9.47] +* Fri Jul 11 2025 Justin M. Forbes [6.16.0-0.rc5.250711gbc9ff192a6c9.49] +- drm/framebuffer: Acquire internal references on GEM handles (Thomas Zimmermann) + +* Fri Jul 11 2025 Fedora Kernel Team [6.16.0-0.rc5.bc9ff192a6c9.49] - redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver) +* Fri Jul 11 2025 Fedora Kernel Team [6.16.0-0.rc5.bc9ff192a6c9.48] +- kernel.spec: honor packaging flags (Scott Weaver) +- Fix FIPS mode for Fedora (Justin M. Forbes) +- Linux v6.16.0-0.rc5.bc9ff192a6c9 + +* Thu Jul 10 2025 Fedora Kernel Team [6.16.0-0.rc5.8c2e52ebbe88.47] +- Linux v6.16.0-0.rc5.8c2e52ebbe88 + * Wed Jul 09 2025 Fedora Kernel Team [6.16.0-0.rc5.733923397fd9.46] - Linux v6.16.0-0.rc5.733923397fd9 diff --git a/patch-6.16-redhat.patch b/patch-6.16-redhat.patch index 13fe22924..befaa06e4 100644 --- a/patch-6.16-redhat.patch +++ b/patch-6.16-redhat.patch @@ -27,6 +27,10 @@ drivers/firmware/efi/Makefile | 1 + drivers/firmware/efi/efi.c | 124 +++-- drivers/firmware/efi/secureboot.c | 38 ++ + drivers/gpu/drm/drm_framebuffer.c | 31 +- + drivers/gpu/drm/drm_gem.c | 38 +- + drivers/gpu/drm/drm_gem_framebuffer_helper.c | 16 +- + drivers/gpu/drm/drm_internal.h | 2 +- drivers/hid/hid-rmi.c | 66 --- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 + drivers/input/rmi4/rmi_driver.c | 124 +++-- @@ -45,6 +49,7 @@ fs/afs/main.c | 3 + fs/erofs/super.c | 9 + fs/ext4/super.c | 11 + + include/drm/drm_framebuffer.h | 7 + include/linux/crypto.h | 3 + include/linux/efi.h | 22 +- include/linux/kernel.h | 16 + @@ -75,7 +80,7 @@ security/integrity/platform_certs/load_uefi.c | 6 +- security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 11 + - 77 files changed, 2720 insertions(+), 207 deletions(-) + 82 files changed, 2788 insertions(+), 233 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 07e22ba5bfe3..f9d712044457 100644 @@ -276,10 +281,10 @@ index 3072731fe09c..d34abca3e149 100644 The VM uses one page of physical memory for each page table. For systems with a lot of processes, this can use a lot of diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 55fc331af337..f5d5e59058a2 100644 +index 393d71124f5d..ea142284db99 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1427,7 +1427,7 @@ endchoice +@@ -1428,7 +1428,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -1496,6 +1501,223 @@ index 000000000000..de0a3714a5d4 + } + } +} +diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c +index b781601946db..63a70f285cce 100644 +--- a/drivers/gpu/drm/drm_framebuffer.c ++++ b/drivers/gpu/drm/drm_framebuffer.c +@@ -862,11 +862,23 @@ EXPORT_SYMBOL_FOR_TESTS_ONLY(drm_framebuffer_free); + int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, + const struct drm_framebuffer_funcs *funcs) + { ++ unsigned int i; + int ret; ++ bool exists; + + if (WARN_ON_ONCE(fb->dev != dev || !fb->format)) + return -EINVAL; + ++ for (i = 0; i < fb->format->num_planes; i++) { ++ if (drm_WARN_ON_ONCE(dev, fb->internal_flags & DRM_FRAMEBUFFER_HAS_HANDLE_REF(i))) ++ fb->internal_flags &= ~DRM_FRAMEBUFFER_HAS_HANDLE_REF(i); ++ if (fb->obj[i]) { ++ exists = drm_gem_object_handle_get_if_exists_unlocked(fb->obj[i]); ++ if (exists) ++ fb->internal_flags |= DRM_FRAMEBUFFER_HAS_HANDLE_REF(i); ++ } ++ } ++ + INIT_LIST_HEAD(&fb->filp_head); + + fb->funcs = funcs; +@@ -875,7 +887,7 @@ int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, + ret = __drm_mode_object_add(dev, &fb->base, DRM_MODE_OBJECT_FB, + false, drm_framebuffer_free); + if (ret) +- goto out; ++ goto err; + + mutex_lock(&dev->mode_config.fb_lock); + dev->mode_config.num_fb++; +@@ -883,7 +895,16 @@ int drm_framebuffer_init(struct drm_device *dev, struct drm_framebuffer *fb, + mutex_unlock(&dev->mode_config.fb_lock); + + drm_mode_object_register(dev, &fb->base); +-out: ++ ++ return 0; ++ ++err: ++ for (i = 0; i < fb->format->num_planes; i++) { ++ if (fb->internal_flags & DRM_FRAMEBUFFER_HAS_HANDLE_REF(i)) { ++ drm_gem_object_handle_put_unlocked(fb->obj[i]); ++ fb->internal_flags &= ~DRM_FRAMEBUFFER_HAS_HANDLE_REF(i); ++ } ++ } + return ret; + } + EXPORT_SYMBOL(drm_framebuffer_init); +@@ -960,6 +981,12 @@ EXPORT_SYMBOL(drm_framebuffer_unregister_private); + void drm_framebuffer_cleanup(struct drm_framebuffer *fb) + { + struct drm_device *dev = fb->dev; ++ unsigned int i; ++ ++ for (i = 0; i < fb->format->num_planes; i++) { ++ if (fb->internal_flags & DRM_FRAMEBUFFER_HAS_HANDLE_REF(i)) ++ drm_gem_object_handle_put_unlocked(fb->obj[i]); ++ } + + mutex_lock(&dev->mode_config.fb_lock); + list_del(&fb->head); +diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c +index 4bf0a76bb35e..aad6ac9748cc 100644 +--- a/drivers/gpu/drm/drm_gem.c ++++ b/drivers/gpu/drm/drm_gem.c +@@ -223,23 +223,34 @@ static void drm_gem_object_handle_get(struct drm_gem_object *obj) + } + + /** +- * drm_gem_object_handle_get_unlocked - acquire reference on user-space handles ++ * drm_gem_object_handle_get_if_exists_unlocked - acquire reference on user-space handle, if any + * @obj: GEM object + * +- * Acquires a reference on the GEM buffer object's handle. Required +- * to keep the GEM object alive. Call drm_gem_object_handle_put_unlocked() +- * to release the reference. ++ * Acquires a reference on the GEM buffer object's handle. Required to keep ++ * the GEM object alive. Call drm_gem_object_handle_put_if_exists_unlocked() ++ * to release the reference. Does nothing if the buffer object has no handle. ++ * ++ * Returns: ++ * True if a handle exists, or false otherwise + */ +-void drm_gem_object_handle_get_unlocked(struct drm_gem_object *obj) ++bool drm_gem_object_handle_get_if_exists_unlocked(struct drm_gem_object *obj) + { + struct drm_device *dev = obj->dev; + + guard(mutex)(&dev->object_name_lock); + +- drm_WARN_ON(dev, !obj->handle_count); /* first ref taken in create-tail helper */ ++ /* ++ * First ref taken during GEM object creation, if any. Some ++ * drivers set up internal framebuffers with GEM objects that ++ * do not have a GEM handle. Hence, this counter can be zero. ++ */ ++ if (!obj->handle_count) ++ return false; ++ + drm_gem_object_handle_get(obj); ++ ++ return true; + } +-EXPORT_SYMBOL(drm_gem_object_handle_get_unlocked); + + /** + * drm_gem_object_handle_free - release resources bound to userspace handles +@@ -272,7 +283,7 @@ static void drm_gem_object_exported_dma_buf_free(struct drm_gem_object *obj) + } + + /** +- * drm_gem_object_handle_put_unlocked - releases reference on user-space handles ++ * drm_gem_object_handle_put_unlocked - releases reference on user-space handle + * @obj: GEM object + * + * Releases a reference on the GEM buffer object's handle. Possibly releases +@@ -283,14 +294,14 @@ void drm_gem_object_handle_put_unlocked(struct drm_gem_object *obj) + struct drm_device *dev = obj->dev; + bool final = false; + +- if (WARN_ON(READ_ONCE(obj->handle_count) == 0)) ++ if (drm_WARN_ON(dev, READ_ONCE(obj->handle_count) == 0)) + return; + + /* +- * Must bump handle count first as this may be the last +- * ref, in which case the object would disappear before we +- * checked for a name +- */ ++ * Must bump handle count first as this may be the last ++ * ref, in which case the object would disappear before ++ * we checked for a name. ++ */ + + mutex_lock(&dev->object_name_lock); + if (--obj->handle_count == 0) { +@@ -303,7 +314,6 @@ void drm_gem_object_handle_put_unlocked(struct drm_gem_object *obj) + if (final) + drm_gem_object_put(obj); + } +-EXPORT_SYMBOL(drm_gem_object_handle_put_unlocked); + + /* + * Called at device or object close to release the file's +diff --git a/drivers/gpu/drm/drm_gem_framebuffer_helper.c b/drivers/gpu/drm/drm_gem_framebuffer_helper.c +index 14a87788695d..6f72e7a0f427 100644 +--- a/drivers/gpu/drm/drm_gem_framebuffer_helper.c ++++ b/drivers/gpu/drm/drm_gem_framebuffer_helper.c +@@ -99,7 +99,7 @@ void drm_gem_fb_destroy(struct drm_framebuffer *fb) + unsigned int i; + + for (i = 0; i < fb->format->num_planes; i++) +- drm_gem_object_handle_put_unlocked(fb->obj[i]); ++ drm_gem_object_put(fb->obj[i]); + + drm_framebuffer_cleanup(fb); + kfree(fb); +@@ -182,10 +182,8 @@ int drm_gem_fb_init_with_funcs(struct drm_device *dev, + if (!objs[i]) { + drm_dbg_kms(dev, "Failed to lookup GEM object\n"); + ret = -ENOENT; +- goto err_gem_object_handle_put_unlocked; ++ goto err_gem_object_put; + } +- drm_gem_object_handle_get_unlocked(objs[i]); +- drm_gem_object_put(objs[i]); + + min_size = (height - 1) * mode_cmd->pitches[i] + + drm_format_info_min_pitch(info, i, width) +@@ -195,22 +193,22 @@ int drm_gem_fb_init_with_funcs(struct drm_device *dev, + drm_dbg_kms(dev, + "GEM object size (%zu) smaller than minimum size (%u) for plane %d\n", + objs[i]->size, min_size, i); +- drm_gem_object_handle_put_unlocked(objs[i]); ++ drm_gem_object_put(objs[i]); + ret = -EINVAL; +- goto err_gem_object_handle_put_unlocked; ++ goto err_gem_object_put; + } + } + + ret = drm_gem_fb_init(dev, fb, mode_cmd, objs, i, funcs); + if (ret) +- goto err_gem_object_handle_put_unlocked; ++ goto err_gem_object_put; + + return 0; + +-err_gem_object_handle_put_unlocked: ++err_gem_object_put: + while (i > 0) { + --i; +- drm_gem_object_handle_put_unlocked(objs[i]); ++ drm_gem_object_put(objs[i]); + } + return ret; + } +diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h +index be77d61a16ce..60c282881958 100644 +--- a/drivers/gpu/drm/drm_internal.h ++++ b/drivers/gpu/drm/drm_internal.h +@@ -161,7 +161,7 @@ void drm_sysfs_lease_event(struct drm_device *dev); + + /* drm_gem.c */ + int drm_gem_init(struct drm_device *dev); +-void drm_gem_object_handle_get_unlocked(struct drm_gem_object *obj); ++bool drm_gem_object_handle_get_if_exists_unlocked(struct drm_gem_object *obj); + void drm_gem_object_handle_put_unlocked(struct drm_gem_object *obj); + int drm_gem_handle_create_tail(struct drm_file *file_priv, + struct drm_gem_object *obj, diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index d4af17fdba46..154f0403cbf4 100644 --- a/drivers/hid/hid-rmi.c @@ -2277,6 +2499,38 @@ index c7d39da7e733..bc9d490ca73e 100644 /* Register sysfs after all initializations are complete. */ err = ext4_register_sysfs(sb); if (err) +diff --git a/include/drm/drm_framebuffer.h b/include/drm/drm_framebuffer.h +index 668077009fce..38b24fc8978d 100644 +--- a/include/drm/drm_framebuffer.h ++++ b/include/drm/drm_framebuffer.h +@@ -23,6 +23,7 @@ + #ifndef __DRM_FRAMEBUFFER_H__ + #define __DRM_FRAMEBUFFER_H__ + ++#include + #include + #include + #include +@@ -100,6 +101,8 @@ struct drm_framebuffer_funcs { + unsigned num_clips); + }; + ++#define DRM_FRAMEBUFFER_HAS_HANDLE_REF(_i) BIT(0u + (_i)) ++ + /** + * struct drm_framebuffer - frame buffer object + * +@@ -188,6 +191,10 @@ struct drm_framebuffer { + * DRM_MODE_FB_MODIFIERS. + */ + int flags; ++ /** ++ * @internal_flags: Framebuffer flags like DRM_FRAMEBUFFER_HAS_HANDLE_REF. ++ */ ++ unsigned int internal_flags; + /** + * @filp_head: Placed on &drm_file.fbs, protected by &drm_file.fbs_lock. + */ diff --git a/include/linux/crypto.h b/include/linux/crypto.h index b50f1954d1bb..604cea40eb9c 100644 --- a/include/linux/crypto.h diff --git a/sources b/sources index 40779cf26..f6adec884 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-6.16-rc5-38-g733923397fd9.tar.xz) = 6da0c3f0e7814beae5e9f8d82379495065bfc4e41c9d16a99d9c2b07ddad365dfd7e45e40ed7d009b2a1f24e10269802b4a6bc0094b11978a2a9309fffb51eac -SHA512 (kernel-abi-stablelists-6.16.0.tar.xz) = 689a17ab5b129442e39e051ae664688938882ea8d2a7bee2969b0c89e69054a5387ec684b33df9c765ad46b03bf7b618f6d1d2df7988971152c191ede626feda -SHA512 (kernel-kabi-dw-6.16.0.tar.xz) = c8bf6d08b6d29535b40b4b4411b7460253982633c5d15ab260a694aa951ea8a61ba6fa7fe61033086e91d9d19dc384e2d33e131c2be31535b139250314022e5d +SHA512 (linux-6.16-rc5-121-gbc9ff192a6c9.tar.xz) = c07afb3fab74f3d6bd50f02542b081f21a4f457be29171e7041bc053b5a0c1a969b638d12fc831dc995b695e5f090be966caad360979ccdc8f6950972ae1c400 +SHA512 (kernel-abi-stablelists-6.16.0.tar.xz) = f5272f96f534686087a7451a01aa3cfe01c1ed457e42c32939b89755fde74de99509981d35b24ed5f84de2341836e6a1601b2a0eac79def5c56665d99f69c564 +SHA512 (kernel-kabi-dw-6.16.0.tar.xz) = 8355665d929f547d8e2d216082b8914057a1a9a2c89835ff7bb083e51e6cea304cf9d73476fc1987eaededc06c3867d1498b7e2ed6f9a1f3b23bddb605e0209f