kernel-6.16.0-0.rc4.38
* Mon Jun 30 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.38] - redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver) Resolves: Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
1692999cb0
commit
8d9de55329
@ -12,7 +12,7 @@ RHEL_MINOR = 99
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 49
|
||||
RHEL_RELEASE = 38
|
||||
|
||||
#
|
||||
# RHEL_REBASE_NUM
|
||||
|
||||
@ -1,6 +1,3 @@
|
||||
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
|
||||
|
||||
|
||||
@ -1,62 +1,7 @@
|
||||
* Fri Jul 11 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.bc9ff192a6c9.49]
|
||||
* Mon Jun 30 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.38]
|
||||
- redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver)
|
||||
Resolves:
|
||||
|
||||
* Fri Jul 11 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [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 <kernel-team@fedoraproject.org> [6.16.0-0.rc5.8c2e52ebbe88.47]
|
||||
- Linux v6.16.0-0.rc5.8c2e52ebbe88
|
||||
Resolves:
|
||||
|
||||
* Wed Jul 09 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.733923397fd9.46]
|
||||
- Linux v6.16.0-0.rc5.733923397fd9
|
||||
Resolves:
|
||||
|
||||
* Tue Jul 08 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.d006330be3f7.45]
|
||||
- Turn on TSA Mitigation for Fedora (Justin M. Forbes)
|
||||
- Linux v6.16.0-0.rc5.d006330be3f7
|
||||
Resolves:
|
||||
|
||||
* Mon Jul 07 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.44]
|
||||
- Linux v6.16.0-0.rc5
|
||||
Resolves:
|
||||
|
||||
* Sun Jul 06 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.1f988d0788f5.43]
|
||||
- Linux v6.16.0-0.rc4.1f988d0788f5
|
||||
Resolves:
|
||||
|
||||
* Sat Jul 05 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.a79a588fc176.42]
|
||||
- Linux v6.16.0-0.rc4.a79a588fc176
|
||||
Resolves:
|
||||
|
||||
* Fri Jul 04 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.4c06e63b9203.41]
|
||||
- redhat/configs: Enable CONFIG_AMD_HSMP_ACPI and CONFIG_AMD_HSMP_PLAT on RHEL (David Arcari)
|
||||
- Linux v6.16.0-0.rc4.4c06e63b9203
|
||||
Resolves:
|
||||
|
||||
* Thu Jul 03 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.b4911fb0b060.40]
|
||||
- redhat/configs: CONFIG_WWAN enough as a module (Jose Ignacio Tornos Martinez)
|
||||
- redhat/configs: Enable CONFIG_NET_SCH_BPF on RHEL (Viktor Malik)
|
||||
- config: new config in drivers/phy (Izabela Bakollari)
|
||||
- Linux v6.16.0-0.rc4.b4911fb0b060
|
||||
Resolves:
|
||||
|
||||
* Wed Jul 02 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.66701750d556.39]
|
||||
- livepatch: no need to build kselftests with kernel (Radomir Vrbovsky)
|
||||
- redhat: Restore the status quo wrt memory onlining (Vitaly Kuznetsov) [2375049]
|
||||
- redhat/spec: Disable gdb index for riscv cross-compile (Jennifer Berringer)
|
||||
- gitlab-ci: Enable CI for riscv64 on centos/eln (Jennifer Berringer)
|
||||
- redhat: Enable RISC-V arch for centos/eln (Jennifer Berringer)
|
||||
Resolves: rhbz#2375049
|
||||
|
||||
* Tue Jul 01 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.66701750d556.38]
|
||||
- Linux v6.16.0-0.rc4.66701750d556
|
||||
Resolves:
|
||||
|
||||
* Mon Jun 30 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.37]
|
||||
- Linux v6.16.0-0.rc4
|
||||
Resolves:
|
||||
|
||||
94
kernel.spec
94
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.250711gbc9ff192a6c9.49
|
||||
%define pkgrelease 0.rc4.50
|
||||
%define kversion 6
|
||||
%define tarfile_release 6.16-rc5-121-gbc9ff192a6c9
|
||||
%define tarfile_release 6.16-rc4
|
||||
# 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.250711gbc9ff192a6c9.49%{?buildid}%{?dist}
|
||||
%define specrelease 0.rc4.50%{?buildid}%{?dist}
|
||||
# This defines the kabi tarball version
|
||||
%define kabiversion 6.16.0
|
||||
|
||||
@ -644,6 +644,9 @@ Summary: The Linux kernel
|
||||
%define cpupowerarchs i686 x86_64 ppc64le aarch64 riscv64
|
||||
%endif
|
||||
|
||||
# Architectures we build kernel livepatching selftests on
|
||||
%define klptestarches x86_64 ppc64le s390x
|
||||
|
||||
%if 0%{?use_vdso}
|
||||
%define _use_vdso 1
|
||||
%else
|
||||
@ -711,7 +714,7 @@ Release: %{pkg_release}
|
||||
%if 0%{?fedora}
|
||||
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le riscv64
|
||||
%else
|
||||
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le riscv64
|
||||
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le
|
||||
%endif
|
||||
ExclusiveOS: Linux
|
||||
%ifnarch %{nobuildarches}
|
||||
@ -854,16 +857,6 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
|
||||
# debugedit-5.1-5 in F42 added support to override tools with target versions.
|
||||
%undefine _include_gdb_index
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel}%{?centos}
|
||||
%ifarch riscv64
|
||||
# Temporary workaround to avoid using find-debuginfo and gdb.minimal.
|
||||
# The current c10s version of gdb-minimal (14.2-4.el10) crashes when given some
|
||||
# riscv64 kernel modules (see RHEL-91586). Not building the gdb index avoids
|
||||
# breaking CI for now.
|
||||
%undefine _include_gdb_index
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# These below are required to build man pages
|
||||
@ -980,9 +973,6 @@ Source33: %{name}-x86_64-debug-rhel.config
|
||||
# ARM64 64K page-size kernel config
|
||||
Source42: %{name}-aarch64-64k-rhel.config
|
||||
Source43: %{name}-aarch64-64k-debug-rhel.config
|
||||
|
||||
Source44: %{name}-riscv64-rhel.config
|
||||
Source45: %{name}-riscv64-debug-rhel.config
|
||||
%endif
|
||||
|
||||
%if %{include_rhel} || %{include_automotive}
|
||||
@ -1179,7 +1169,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,9 +1184,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
|
||||
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}
|
||||
@ -1209,7 +1197,6 @@ 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
|
||||
@ -1406,7 +1393,6 @@ 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
|
||||
@ -1414,7 +1400,6 @@ 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
|
||||
@ -2308,7 +2293,6 @@ BuildKernel() {
|
||||
|
||||
%ifarch aarch64 riscv64
|
||||
%{log_msg "Build dtb kernel"}
|
||||
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
||||
%{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
||||
%{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
|
||||
cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
|
||||
@ -3272,6 +3256,13 @@ pushd tools/testing/selftests
|
||||
%{log_msg "main selftests compile"}
|
||||
%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf cgroup kmod mm net net/forwarding net/mptcp net/netfilter net/packetdrill tc-testing memfd drivers/net drivers/net/hw iommu cachestat pid_namespace rlimits timens pidfd" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install
|
||||
|
||||
%ifarch %{klptestarches}
|
||||
# kernel livepatching selftest test_modules will build against
|
||||
# /lib/modules/$(shell uname -r)/build tree unless KDIR is set
|
||||
export KDIR=$(realpath $(pwd)/../../..)
|
||||
%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="livepatch" SKIP_TARGETS="" $force_targets INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install || true
|
||||
%endif
|
||||
|
||||
# 'make install' for bpf is broken and upstream refuses to fix it.
|
||||
# Install the needed files manually.
|
||||
%{log_msg "install selftests"}
|
||||
@ -3634,6 +3625,12 @@ find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{
|
||||
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
|
||||
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
|
||||
popd
|
||||
# install livepatch selftests
|
||||
pushd tools/testing/selftests/livepatch
|
||||
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
|
||||
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
|
||||
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
|
||||
popd
|
||||
# install net/netfilter selftests
|
||||
pushd tools/testing/selftests/net/netfilter
|
||||
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/netfilter/{} \;
|
||||
@ -4352,56 +4349,9 @@ fi\
|
||||
#
|
||||
#
|
||||
%changelog
|
||||
* Fri Jul 11 2025 Justin M. Forbes <jforbes@fedoraproject.org> [6.16.0-0.rc5.250711gbc9ff192a6c9.49]
|
||||
- drm/framebuffer: Acquire internal references on GEM handles (Thomas Zimmermann)
|
||||
|
||||
* Fri Jul 11 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.bc9ff192a6c9.49]
|
||||
* Mon Jun 30 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.50]
|
||||
- redhat/configs: clang_lto: disable CONFIG_FORTIFY_KUNIT_TEST (Scott Weaver)
|
||||
|
||||
* Fri Jul 11 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [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 <kernel-team@fedoraproject.org> [6.16.0-0.rc5.8c2e52ebbe88.47]
|
||||
- Linux v6.16.0-0.rc5.8c2e52ebbe88
|
||||
|
||||
* Wed Jul 09 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.733923397fd9.46]
|
||||
- Linux v6.16.0-0.rc5.733923397fd9
|
||||
|
||||
* Tue Jul 08 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.d006330be3f7.45]
|
||||
- Turn on TSA Mitigation for Fedora (Justin M. Forbes)
|
||||
- Linux v6.16.0-0.rc5.d006330be3f7
|
||||
|
||||
* Mon Jul 07 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc5.44]
|
||||
- Linux v6.16.0-0.rc5
|
||||
|
||||
* Sun Jul 06 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.1f988d0788f5.43]
|
||||
- Linux v6.16.0-0.rc4.1f988d0788f5
|
||||
|
||||
* Sat Jul 05 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.a79a588fc176.42]
|
||||
- Linux v6.16.0-0.rc4.a79a588fc176
|
||||
|
||||
* Fri Jul 04 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.4c06e63b9203.41]
|
||||
- redhat/configs: Enable CONFIG_AMD_HSMP_ACPI and CONFIG_AMD_HSMP_PLAT on RHEL (David Arcari)
|
||||
- Linux v6.16.0-0.rc4.4c06e63b9203
|
||||
|
||||
* Thu Jul 03 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.b4911fb0b060.40]
|
||||
- redhat/configs: CONFIG_WWAN enough as a module (Jose Ignacio Tornos Martinez)
|
||||
- redhat/configs: Enable CONFIG_NET_SCH_BPF on RHEL (Viktor Malik)
|
||||
- config: new config in drivers/phy (Izabela Bakollari)
|
||||
- Linux v6.16.0-0.rc4.b4911fb0b060
|
||||
|
||||
* Wed Jul 02 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.66701750d556.39]
|
||||
- livepatch: no need to build kselftests with kernel (Radomir Vrbovsky)
|
||||
- redhat: Restore the status quo wrt memory onlining (Vitaly Kuznetsov) [2375049]
|
||||
- redhat/spec: Disable gdb index for riscv cross-compile (Jennifer Berringer)
|
||||
- gitlab-ci: Enable CI for riscv64 on centos/eln (Jennifer Berringer)
|
||||
- redhat: Enable RISC-V arch for centos/eln (Jennifer Berringer)
|
||||
|
||||
* Tue Jul 01 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.66701750d556.38]
|
||||
- Linux v6.16.0-0.rc4.66701750d556
|
||||
|
||||
* Mon Jun 30 2025 Fedora Kernel Team <kernel-team@fedoraproject.org> [6.16.0-0.rc4.37]
|
||||
- Linux v6.16.0-0.rc4
|
||||
|
||||
|
||||
@ -27,10 +27,6 @@
|
||||
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 +++--
|
||||
@ -49,7 +45,6 @@
|
||||
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 +
|
||||
@ -80,10 +75,10 @@
|
||||
security/integrity/platform_certs/load_uefi.c | 6 +-
|
||||
security/lockdown/Kconfig | 13 +
|
||||
security/lockdown/lockdown.c | 11 +
|
||||
82 files changed, 2788 insertions(+), 233 deletions(-)
|
||||
77 files changed, 2720 insertions(+), 207 deletions(-)
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 07e22ba5bfe3..f9d712044457 100644
|
||||
index f1f2c0874da9..bcbfd150b8a1 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -6301,6 +6301,17 @@
|
||||
@ -104,7 +99,7 @@ index 07e22ba5bfe3..f9d712044457 100644
|
||||
ring3mwait=disable
|
||||
[KNL] Disable ring 3 MONITOR/MWAIT feature on supported
|
||||
CPUs.
|
||||
@@ -7647,6 +7658,15 @@
|
||||
@@ -7634,6 +7645,15 @@
|
||||
unknown_nmi_panic
|
||||
[X86] Cause panic on unknown NMI.
|
||||
|
||||
@ -195,7 +190,7 @@ index 000000000000..85771d74c34f
|
||||
+
|
||||
+endmenu
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 7eea2a41c905..64635af4a041 100644
|
||||
index 1c9ea229809f..4b83d7676140 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -355,6 +355,17 @@ ifneq ($(filter install,$(MAKECMDGOALS)),)
|
||||
@ -281,10 +276,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 393d71124f5d..ea142284db99 100644
|
||||
index 55fc331af337..f5d5e59058a2 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1428,7 +1428,7 @@ endchoice
|
||||
@@ -1427,7 +1427,7 @@ endchoice
|
||||
|
||||
config ARM64_FORCE_52BIT
|
||||
bool "Force 52-bit virtual addresses for userspace"
|
||||
@ -341,10 +336,10 @@ index f244c5560e7f..464f915011b8 100644
|
||||
/* boot_command_line has been already set up in early.c */
|
||||
*cmdline_p = boot_command_line;
|
||||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
||||
index fb50c1dd53ef..c68958773d34 100644
|
||||
index 27125e009847..40e5c9b1e707 100644
|
||||
--- a/arch/x86/kernel/cpu/common.c
|
||||
+++ b/arch/x86/kernel/cpu/common.c
|
||||
@@ -1732,6 +1732,7 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
||||
@@ -1720,6 +1720,7 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
||||
get_cpu_vendor(c);
|
||||
intel_unlock_cpuid_leafs(c);
|
||||
get_cpu_cap(c);
|
||||
@ -1501,223 +1496,6 @@ 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
|
||||
@ -2388,7 +2166,7 @@ index d4b484c0fd9d..4e5bb4cce484 100644
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) },
|
||||
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
|
||||
index eeaa6af294b8..150578ffc41a 100644
|
||||
index 3f6e87705b62..ddfd99a32f14 100644
|
||||
--- a/drivers/scsi/sd.c
|
||||
+++ b/drivers/scsi/sd.c
|
||||
@@ -121,6 +121,14 @@ static const char *sd_cache_types[] = {
|
||||
@ -2419,10 +2197,10 @@ index eeaa6af294b8..150578ffc41a 100644
|
||||
if (err)
|
||||
goto err_out_driver;
|
||||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
||||
index 3e1215f7a9a0..0920136b0c21 100644
|
||||
index 770d1e91183c..46ccd737c4ee 100644
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5889,6 +5889,13 @@ static void hub_event(struct work_struct *work)
|
||||
@@ -5858,6 +5858,13 @@ static void hub_event(struct work_struct *work)
|
||||
(u16) hub->change_bits[0],
|
||||
(u16) hub->event_bits[0]);
|
||||
|
||||
@ -2499,38 +2277,6 @@ 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 <linux/bits.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/sched.h>
|
||||
@@ -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
|
||||
@ -3495,7 +3241,7 @@ index dd5304c6ac3c..b38a64ce7b19 100644
|
||||
}
|
||||
|
||||
diff --git a/kernel/module/main.c b/kernel/module/main.c
|
||||
index c2c08007029d..a9d9c03ffd6d 100644
|
||||
index 413ac6ea3702..5bc4453090ce 100644
|
||||
--- a/kernel/module/main.c
|
||||
+++ b/kernel/module/main.c
|
||||
@@ -65,6 +65,8 @@
|
||||
@ -3523,7 +3269,7 @@ index c2c08007029d..a9d9c03ffd6d 100644
|
||||
&modinfo_initstate,
|
||||
&modinfo_coresize,
|
||||
#ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
|
||||
@@ -3304,6 +3308,11 @@ static int early_mod_check(struct load_info *info, int flags)
|
||||
@@ -3299,6 +3303,11 @@ static int early_mod_check(struct load_info *info, int flags)
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
@ -3535,7 +3281,7 @@ index c2c08007029d..a9d9c03ffd6d 100644
|
||||
err = rewrite_section_headers(info, flags);
|
||||
if (err)
|
||||
return err;
|
||||
@@ -3875,6 +3884,10 @@ void print_modules(void)
|
||||
@@ -3870,6 +3879,10 @@ void print_modules(void)
|
||||
pr_cont(" [last unloaded: %s%s]", last_unloaded_module.name,
|
||||
last_unloaded_module.taints);
|
||||
pr_cont("\n");
|
||||
|
||||
4
sources
4
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (linux-6.16-rc5-121-gbc9ff192a6c9.tar.xz) = c07afb3fab74f3d6bd50f02542b081f21a4f457be29171e7041bc053b5a0c1a969b638d12fc831dc995b695e5f090be966caad360979ccdc8f6950972ae1c400
|
||||
SHA512 (kernel-abi-stablelists-6.16.0.tar.xz) = f5272f96f534686087a7451a01aa3cfe01c1ed457e42c32939b89755fde74de99509981d35b24ed5f84de2341836e6a1601b2a0eac79def5c56665d99f69c564
|
||||
SHA512 (linux-6.16-rc4.tar.xz) = 1dc3d6636d1f7d6ce599140061428be3791728b48505691451bae7a9ca2dd084336f33e8123413ad90fd793f86021b16f9b772bd4de6ea7f3901b789e71306ec
|
||||
SHA512 (kernel-abi-stablelists-6.16.0.tar.xz) = d44019f921613a318b84f04bdac3807688de8cc8646cb1fa4fc28d7d9b158b469bf02968d29ff7e8240e6b456d4c104a180ef20802a0d3f10d2146d0aa6af397
|
||||
SHA512 (kernel-kabi-dw-6.16.0.tar.xz) = 8355665d929f547d8e2d216082b8914057a1a9a2c89835ff7bb083e51e6cea304cf9d73476fc1987eaededc06c3867d1498b7e2ed6f9a1f3b23bddb605e0209f
|
||||
|
||||
Loading…
Reference in New Issue
Block a user