diff --git a/Makefile.rhelver b/Makefile.rhelver index a03568880..a3ef8d144 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 5 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 463 +RHEL_RELEASE = 464 # # ZSTREAM diff --git a/kernel-aarch64-64k-debug-rhel.config b/kernel-aarch64-64k-debug-rhel.config index 2fdb22211..032ca0330 100644 --- a/kernel-aarch64-64k-debug-rhel.config +++ b/kernel-aarch64-64k-debug-rhel.config @@ -7071,6 +7071,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_WQ_WATCHDOG=y CONFIG_WWAN_HWSIM=m diff --git a/kernel-aarch64-64k-rhel.config b/kernel-aarch64-64k-rhel.config index eb12a37e1..62c574e44 100644 --- a/kernel-aarch64-64k-rhel.config +++ b/kernel-aarch64-64k-rhel.config @@ -7047,6 +7047,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config index 8bd2d7d7c..3d0af5d20 100644 --- a/kernel-aarch64-debug-rhel.config +++ b/kernel-aarch64-debug-rhel.config @@ -7068,6 +7068,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_WQ_WATCHDOG=y CONFIG_WWAN_HWSIM=m diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config index 5283df730..db1785230 100644 --- a/kernel-aarch64-rhel.config +++ b/kernel-aarch64-rhel.config @@ -7044,6 +7044,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-aarch64-rt-debug-rhel.config b/kernel-aarch64-rt-debug-rhel.config index 0d8ac39da..c47db66ee 100644 --- a/kernel-aarch64-rt-debug-rhel.config +++ b/kernel-aarch64-rt-debug-rhel.config @@ -7233,6 +7233,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_WQ_WATCHDOG=y CONFIG_WWAN_DEBUGFS=y diff --git a/kernel-aarch64-rt-rhel.config b/kernel-aarch64-rt-rhel.config index eff22e43d..3c4964b59 100644 --- a/kernel-aarch64-rt-rhel.config +++ b/kernel-aarch64-rt-rhel.config @@ -7209,6 +7209,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_DEBUGFS=y diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config index 05d25b020..00d19588f 100644 --- a/kernel-ppc64le-debug-rhel.config +++ b/kernel-ppc64le-debug-rhel.config @@ -6477,6 +6477,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config index 57dd5a752..261ecebcd 100644 --- a/kernel-ppc64le-rhel.config +++ b/kernel-ppc64le-rhel.config @@ -6455,6 +6455,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config index 9e1e603dc..f85392bb1 100644 --- a/kernel-s390x-debug-rhel.config +++ b/kernel-s390x-debug-rhel.config @@ -6466,6 +6466,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config index 23d8ff515..ed287ae37 100644 --- a/kernel-s390x-rhel.config +++ b/kernel-s390x-rhel.config @@ -6444,6 +6444,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config index 0bb35849a..bda1b95f7 100644 --- a/kernel-s390x-zfcpdump-rhel.config +++ b/kernel-s390x-zfcpdump-rhel.config @@ -6471,6 +6471,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config index a1d8906c7..67720579b 100644 --- a/kernel-x86_64-debug-rhel.config +++ b/kernel-x86_64-debug-rhel.config @@ -6750,6 +6750,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config index 2e6e9937d..4e0df0732 100644 --- a/kernel-x86_64-rhel.config +++ b/kernel-x86_64-rhel.config @@ -6727,6 +6727,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_HWSIM=m diff --git a/kernel-x86_64-rt-debug-rhel.config b/kernel-x86_64-rt-debug-rhel.config index 877f2bbaa..7e9ecd130 100644 --- a/kernel-x86_64-rt-debug-rhel.config +++ b/kernel-x86_64-rt-debug-rhel.config @@ -6913,6 +6913,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_DEBUGFS=y diff --git a/kernel-x86_64-rt-rhel.config b/kernel-x86_64-rt-rhel.config index d9785921c..3138d2bd6 100644 --- a/kernel-x86_64-rt-rhel.config +++ b/kernel-x86_64-rt-rhel.config @@ -6890,6 +6890,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set CONFIG_WWAN_DEBUGFS=y diff --git a/kernel.changelog b/kernel.changelog index 6d3c427e7..119fd33c3 100644 --- a/kernel.changelog +++ b/kernel.changelog @@ -1,3 +1,144 @@ +* Thu Jun 13 2024 Lucas Zampieri [5.14.0-464.el9] +- nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells (Steve Best) [RHEL-38438] {CVE-2021-47497} +- kernel: watch_queue: copy user-array safely (Steve Best) [RHEL-38238] {CVE-2023-52824} +- lib/generic-radix-tree.c: Don't overflow in peek() (Waiman Long) [RHEL-37739 RHEL-37740] {CVE-2021-47432} +- include/linux/generic-radix-tree.h: replace kernel.h with the necessary inclusions (Waiman Long) [RHEL-37739 RHEL-37740] {CVE-2021-47432} +- efi: runtime: Fix potential overflow of soft-reserved region size (Lenny Szubowicz) [RHEL-33098] {CVE-2024-26843} +- workqueue: Drain BH work items on hot-unplugged CPUs (Waiman Long) [RHEL-25103] +- workqueue: Control intensive warning threshold through cmdline (Waiman Long) [RHEL-25103] +- workqueue: Make @flags handling consistent across set_work_data() and friends (Waiman Long) [RHEL-25103] +- workqueue: Remove clear_work_data() (Waiman Long) [RHEL-25103] +- workqueue: Factor out work_grab_pending() from __cancel_work_sync() (Waiman Long) [RHEL-25103] +- workqueue: Clean up enum work_bits and related constants (Waiman Long) [RHEL-25103] +- workqueue: Introduce work_cancel_flags (Waiman Long) [RHEL-25103] +- workqueue: Use variable name irq_flags for saving local irq flags (Waiman Long) [RHEL-25103] +- workqueue: Reorganize flush and cancel[_sync] functions (Waiman Long) [RHEL-25103] +- workqueue: Rename __cancel_work_timer() to __cancel_timer_sync() (Waiman Long) [RHEL-25103] +- workqueue: Use rcu_read_lock_any_held() instead of rcu_read_lock_held() (Waiman Long) [RHEL-25103] +- workqueue: Cosmetic changes (Waiman Long) [RHEL-25103] +- workqueue, irq_work: Build fix for !CONFIG_IRQ_WORK (Waiman Long) [RHEL-25103] +- workqueue: Fix queue_work_on() with BH workqueues (Waiman Long) [RHEL-25103] +- async: Use a dedicated unbound workqueue with raised min_active (Waiman Long) [RHEL-25103] +- workqueue: Implement workqueue_set_min_active() (Waiman Long) [RHEL-25103] +- workqueue: Fix kernel-doc comment of unplug_oldest_pwq() (Waiman Long) [RHEL-25103] +- workqueue: Bind unbound workqueue rescuer to wq_unbound_cpumask (Waiman Long) [RHEL-25103] +- kernel/workqueue: Let rescuers follow unbound wq cpumask changes (Waiman Long) [RHEL-25103] +- workqueue: Enable unbound cpumask update on ordered workqueues (Waiman Long) [RHEL-25103] +- workqueue: Link pwq's into wq->pwqs from oldest to newest (Waiman Long) [RHEL-25103] +- workqueue: Don't implicitly make UNBOUND workqueues w/ @max_active==1 ordered (Waiman Long) [RHEL-25103] +- workqueue: Skip __WQ_DESTROYING workqueues when updating global unbound cpumask (Waiman Long) [RHEL-25103] +- workqueue: fix a typo in comment (Waiman Long) [RHEL-25103] +- Revert "workqueue: make wq_subsys const" (Waiman Long) [RHEL-25103] +- workqueue: Implement BH workqueues to eventually replace tasklets (Waiman Long) [RHEL-25103] +- workqueue: Factor out init_cpu_worker_pool() (Waiman Long) [RHEL-25103] +- workqueue: Update lock debugging code (Waiman Long) [RHEL-25103] +- workqueue: make wq_subsys const (Waiman Long) [RHEL-25103] +- workqueue: Fix pwq->nr_in_flight corruption in try_to_grab_pending() (Waiman Long) [RHEL-25103] +- workqueue: Avoid premature init of wq->node_nr_active[].max (Waiman Long) [RHEL-25103] +- workqueue: Don't call cpumask_test_cpu() with -1 CPU in wq_update_node_max_active() (Waiman Long) [RHEL-25103] +- tools/workqueue/wq_dump.py: Add node_nr/max_active dump (Waiman Long) [RHEL-25103] +- workqueue: Implement system-wide nr_active enforcement for unbound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Introduce struct wq_node_nr_active (Waiman Long) [RHEL-25103] +- workqueue: Move pwq_dec_nr_in_flight() to the end of work item handling (Waiman Long) [RHEL-25103] +- workqueue: RCU protect wq->dfl_pwq and implement accessors for it (Waiman Long) [RHEL-25103] +- workqueue: Make wq_adjust_max_active() round-robin pwqs while activating (Waiman Long) [RHEL-25103] +- workqueue: Move nr_active handling into helpers (Waiman Long) [RHEL-25103] +- workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work() (Waiman Long) [RHEL-25103] +- workqueue: Factor out pwq_is_empty() (Waiman Long) [RHEL-25103] +- workqueue: Move pwq->max_active to wq->max_active (Waiman Long) [RHEL-25103] +- workqueue: Break up enum definitions and give names to the types (Waiman Long) [RHEL-25103] +- workqueue: Drop unnecessary kick_pool() in create_worker() (Waiman Long) [RHEL-25103] +- tools/workqueue/wq_dump.py: Clean up code and drop duplicate information (Waiman Long) [RHEL-25103] +- workqueue: mark power efficient workqueue as unbounded if nohz_full enabled (Waiman Long) [RHEL-25103] +- workqueue: Add rcu lock check at the end of work item execution (Waiman Long) [RHEL-25103] +- kernel/workqueue: Bind rescuer to unbound cpumask for WQ_UNBOUND (Waiman Long) [RHEL-25103] +- tools/workqueue: Add rescuers printing to wq_dump.py (Waiman Long) [RHEL-25103] +- Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()" (Waiman Long) [RHEL-25103] +- Documentation/core-api: fix spelling mistake in workqueue (Waiman Long) [RHEL-25103] +- Documentation/core-api : fix typo in workqueue (Waiman Long) [RHEL-25103] +- async: Split async_schedule_node_domain() (Waiman Long) [RHEL-25103] +- workqueue: Provide one lock class key per work_on_cpu() callsite (Waiman Long) [RHEL-25103] +- workqueue: fix -Wformat-truncation in create_worker (Waiman Long) [RHEL-25103] +- workqueue: Use the kmem_cache_free() instead of kfree() to release pwq (Waiman Long) [RHEL-25103] +- workqueue: doc: Fix function and sysfs path errors (Waiman Long) [RHEL-25103] +- workqueue: Fix UAF report by KASAN in pwq_release_workfn() (Waiman Long) [RHEL-25103] +- workqueue: Fix missed pwq_release_worker creation in wq_cpu_intensive_thresh_init() (Waiman Long) [RHEL-25103] +- workqueue: Removed double allocation of wq_update_pod_attrs_buf (Waiman Long) [RHEL-25103] +- workqueue: fix data race with the pwq->stats[] increment (Waiman Long) [RHEL-25103] +- workqueue: Rename rescuer kworker (Waiman Long) [RHEL-25103] +- workqueue: Make default affinity_scope dynamically updatable (Waiman Long) [RHEL-25103] +- workqueue: Add "Affinity Scopes and Performance" section to documentation (Waiman Long) [RHEL-25103] +- workqueue: Implement non-strict affinity scope for unbound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Add workqueue_attrs->__pod_cpumask (Waiman Long) [RHEL-25103] +- workqueue: Factor out need_more_worker() check and worker wake-up (Waiman Long) [RHEL-25103] +- workqueue: Factor out work to worker assignment and collision handling (Waiman Long) [RHEL-25103] +- workqueue: Add multiple affinity scopes and interface to select them (Waiman Long) [RHEL-25103] +- workqueue: Modularize wq_pod_type initialization (Waiman Long) [RHEL-25103] +- workqueue: Add tools/workqueue/wq_dump.py which prints out workqueue configuration (Waiman Long) [RHEL-25103] +- workqueue: Generalize unbound CPU pods (Waiman Long) [RHEL-25103] +- workqueue: Factor out clearing of workqueue-only attrs fields (Waiman Long) [RHEL-25103] +- workqueue: Factor out actual cpumask calculation to reduce subtlety in wq_update_pod() (Waiman Long) [RHEL-25103] +- workqueue: Initialize unbound CPU pods later in the boot (Waiman Long) [RHEL-25103] +- workqueue: Move wq_pod_init() below workqueue_init() (Waiman Long) [RHEL-25103] +- workqueue: Rename NUMA related names to use pod instead (Waiman Long) [RHEL-25103] +- workqueue: Rename workqueue_attrs->no_numa to ->ordered (Waiman Long) [RHEL-25103] +- workqueue: Make unbound workqueues to use per-cpu pool_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Call wq_update_unbound_numa() on all CPUs in NUMA node on CPU hotplug (Waiman Long) [RHEL-25103] +- workqueue: Make per-cpu pool_workqueues allocated and released like unbound ones (Waiman Long) [RHEL-25103] +- workqueue: Use a kthread_worker to release pool_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Remove module param disable_numa and sysfs knobs pool_ids and numa (Waiman Long) [RHEL-25103] +- workqueue: Relocate worker and work management functions (Waiman Long) [RHEL-25103] +- workqueue: Rename wq->cpu_pwqs to wq->cpu_pwq (Waiman Long) [RHEL-25103] +- workqueue: Not all work insertion needs to wake up a worker (Waiman Long) [RHEL-25103] +- workqueue: Cleanups around process_scheduled_works() (Waiman Long) [RHEL-25103] +- workqueue: Drop the special locking rule for worker->flags and worker_pool->flags (Waiman Long) [RHEL-25103] +- workqueue: use LIST_HEAD to initialize cull_list (Waiman Long) [RHEL-25103] +- workqueue: Warn attempt to flush system-wide workqueues. (Waiman Long) [RHEL-25103] +- workqueue: Scale up wq_cpu_intensive_thresh_us if BogoMIPS is below 4000 (Waiman Long) [RHEL-25103] +- workqueue: Fix cpu_intensive_thresh_us name in help text (Waiman Long) [RHEL-25103] +- soc: qcom: qmi: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- dm integrity: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- scsi: NCR5380: Use default @max_active for hostdata->work_q (Waiman Long) [RHEL-25103] +- crypto: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- xen/pvcalls: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- virt: acrn: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- net: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- net: thunderx: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- greybus: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- workqueue: Disable per-cpu CPU hog detection when wq_cpu_intensive_thresh_us is 0 (Waiman Long) [RHEL-25103] +- workqueue: Fix WARN_ON_ONCE() triggers in worker_enter_idle() (Waiman Long) [RHEL-25103] +- workqueue: Track and monitor per-workqueue CPU time usage (Waiman Long) [RHEL-25103] +- redhat/configs: Add CONFIG_WQ_CPU_INTENSIVE_REPORT (Waiman Long) [RHEL-25103] +- workqueue: Report work funcs that trigger automatic CPU_INTENSIVE mechanism (Waiman Long) [RHEL-25103] +- workqueue: Automatically mark CPU-hogging work items CPU_INTENSIVE (Waiman Long) [RHEL-25103] +- workqueue: Improve locking rule description for worker fields (Waiman Long) [RHEL-25103] +- workqueue: Move worker_set/clr_flags() upwards (Waiman Long) [RHEL-25103] +- workqueue: Re-order struct worker fields (Waiman Long) [RHEL-25103] +- workqueue: Add pwq->stats[] and a monitoring script (Waiman Long) [RHEL-25103] +- Further upgrade queue_work_on() comment (Waiman Long) [RHEL-25103] +- workqueue: clean up WORK_* constant types, clarify masking (Waiman Long) [RHEL-25103] +- workqueue: Introduce show_freezable_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Print backtraces from CPUs with hung CPU bound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Warn when a rescuer could not be created (Waiman Long) [RHEL-25103] +- workqueue: Interrupted create_worker() is not a repeated event (Waiman Long) [RHEL-25103] +- workqueue: Warn when a new worker could not be created (Waiman Long) [RHEL-25103] +- workqueue: Fix hung time report of worker pools (Waiman Long) [RHEL-25103] +- workqueue: Simplify a pr_warn() call in wq_select_unbound_cpu() (Waiman Long) [RHEL-25103] +- scsi: message: fusion: Avoid flush_scheduled_work() usage (Waiman Long) [RHEL-25103] +- scsi: message: fusion: Remove unused sas_persist_task work (Waiman Long) [RHEL-25103] +- workqueue: Make show_pwq() use run-length encoding (Waiman Long) [RHEL-25103] +- workqueue: Add a new flag to spot the potential UAF error (Waiman Long) [RHEL-25103] +- workqueue: Make queue_rcu_work() use call_rcu_hurry() (Waiman Long) [RHEL-25103] +- treewide: Drop WARN_ON_FUNCTION_MISMATCH (Waiman Long) [RHEL-25103] +- Input: psmouse-smbus - avoid flush_scheduled_work() usage (Waiman Long) [RHEL-25103] +- workqueue: Convert the type of pool->nr_running to int (Waiman Long) [RHEL-25103] +- workqueue: Use wake_up_worker() in wq_worker_sleeping() instead of open code (Waiman Long) [RHEL-25103] +- Revert "module, async: async_synchronize_full() on module init iff async is used" (Waiman Long) [RHEL-25103] +- workqueue: Upgrade queue_work_on() comment (Waiman Long) [RHEL-25103] +- workqueue: doc: Call out the non-reentrance conditions (Waiman Long) [RHEL-25103] +Resolves: RHEL-25103, RHEL-33098, RHEL-37739, RHEL-37740, RHEL-38238, RHEL-38438 + * Wed Jun 12 2024 Lucas Zampieri [5.14.0-463.el9] - i2c: core: Fix atomic xfer check for non-preempt config (Steve Best) [RHEL-38315] {CVE-2023-52791} - i2c: core: Run atomic i2c xfer when !preemptible (Steve Best) [RHEL-38315] {CVE-2023-52791} diff --git a/kernel.spec b/kernel.spec index 67da5ac57..46cd5f36b 100755 --- a/kernel.spec +++ b/kernel.spec @@ -165,15 +165,15 @@ Summary: The Linux kernel # define buildid .local %define specversion 5.14.0 %define patchversion 5.14 -%define pkgrelease 463 +%define pkgrelease 464 %define kversion 5 -%define tarfile_release 5.14.0-463.el9 +%define tarfile_release 5.14.0-464.el9 # This is needed to do merge window version magic %define patchlevel 14 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 463%{?buildid}%{?dist} +%define specrelease 464%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 5.14.0-463.el9 +%define kabiversion 5.14.0-464.el9 # # End of genspec.sh variables @@ -3737,6 +3737,146 @@ fi # # %changelog +* Thu Jun 13 2024 Lucas Zampieri [5.14.0-464.el9] +- nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells (Steve Best) [RHEL-38438] {CVE-2021-47497} +- kernel: watch_queue: copy user-array safely (Steve Best) [RHEL-38238] {CVE-2023-52824} +- lib/generic-radix-tree.c: Don't overflow in peek() (Waiman Long) [RHEL-37739 RHEL-37740] {CVE-2021-47432} +- include/linux/generic-radix-tree.h: replace kernel.h with the necessary inclusions (Waiman Long) [RHEL-37739 RHEL-37740] {CVE-2021-47432} +- efi: runtime: Fix potential overflow of soft-reserved region size (Lenny Szubowicz) [RHEL-33098] {CVE-2024-26843} +- workqueue: Drain BH work items on hot-unplugged CPUs (Waiman Long) [RHEL-25103] +- workqueue: Control intensive warning threshold through cmdline (Waiman Long) [RHEL-25103] +- workqueue: Make @flags handling consistent across set_work_data() and friends (Waiman Long) [RHEL-25103] +- workqueue: Remove clear_work_data() (Waiman Long) [RHEL-25103] +- workqueue: Factor out work_grab_pending() from __cancel_work_sync() (Waiman Long) [RHEL-25103] +- workqueue: Clean up enum work_bits and related constants (Waiman Long) [RHEL-25103] +- workqueue: Introduce work_cancel_flags (Waiman Long) [RHEL-25103] +- workqueue: Use variable name irq_flags for saving local irq flags (Waiman Long) [RHEL-25103] +- workqueue: Reorganize flush and cancel[_sync] functions (Waiman Long) [RHEL-25103] +- workqueue: Rename __cancel_work_timer() to __cancel_timer_sync() (Waiman Long) [RHEL-25103] +- workqueue: Use rcu_read_lock_any_held() instead of rcu_read_lock_held() (Waiman Long) [RHEL-25103] +- workqueue: Cosmetic changes (Waiman Long) [RHEL-25103] +- workqueue, irq_work: Build fix for !CONFIG_IRQ_WORK (Waiman Long) [RHEL-25103] +- workqueue: Fix queue_work_on() with BH workqueues (Waiman Long) [RHEL-25103] +- async: Use a dedicated unbound workqueue with raised min_active (Waiman Long) [RHEL-25103] +- workqueue: Implement workqueue_set_min_active() (Waiman Long) [RHEL-25103] +- workqueue: Fix kernel-doc comment of unplug_oldest_pwq() (Waiman Long) [RHEL-25103] +- workqueue: Bind unbound workqueue rescuer to wq_unbound_cpumask (Waiman Long) [RHEL-25103] +- kernel/workqueue: Let rescuers follow unbound wq cpumask changes (Waiman Long) [RHEL-25103] +- workqueue: Enable unbound cpumask update on ordered workqueues (Waiman Long) [RHEL-25103] +- workqueue: Link pwq's into wq->pwqs from oldest to newest (Waiman Long) [RHEL-25103] +- workqueue: Don't implicitly make UNBOUND workqueues w/ @max_active==1 ordered (Waiman Long) [RHEL-25103] +- workqueue: Skip __WQ_DESTROYING workqueues when updating global unbound cpumask (Waiman Long) [RHEL-25103] +- workqueue: fix a typo in comment (Waiman Long) [RHEL-25103] +- Revert "workqueue: make wq_subsys const" (Waiman Long) [RHEL-25103] +- workqueue: Implement BH workqueues to eventually replace tasklets (Waiman Long) [RHEL-25103] +- workqueue: Factor out init_cpu_worker_pool() (Waiman Long) [RHEL-25103] +- workqueue: Update lock debugging code (Waiman Long) [RHEL-25103] +- workqueue: make wq_subsys const (Waiman Long) [RHEL-25103] +- workqueue: Fix pwq->nr_in_flight corruption in try_to_grab_pending() (Waiman Long) [RHEL-25103] +- workqueue: Avoid premature init of wq->node_nr_active[].max (Waiman Long) [RHEL-25103] +- workqueue: Don't call cpumask_test_cpu() with -1 CPU in wq_update_node_max_active() (Waiman Long) [RHEL-25103] +- tools/workqueue/wq_dump.py: Add node_nr/max_active dump (Waiman Long) [RHEL-25103] +- workqueue: Implement system-wide nr_active enforcement for unbound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Introduce struct wq_node_nr_active (Waiman Long) [RHEL-25103] +- workqueue: Move pwq_dec_nr_in_flight() to the end of work item handling (Waiman Long) [RHEL-25103] +- workqueue: RCU protect wq->dfl_pwq and implement accessors for it (Waiman Long) [RHEL-25103] +- workqueue: Make wq_adjust_max_active() round-robin pwqs while activating (Waiman Long) [RHEL-25103] +- workqueue: Move nr_active handling into helpers (Waiman Long) [RHEL-25103] +- workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work() (Waiman Long) [RHEL-25103] +- workqueue: Factor out pwq_is_empty() (Waiman Long) [RHEL-25103] +- workqueue: Move pwq->max_active to wq->max_active (Waiman Long) [RHEL-25103] +- workqueue: Break up enum definitions and give names to the types (Waiman Long) [RHEL-25103] +- workqueue: Drop unnecessary kick_pool() in create_worker() (Waiman Long) [RHEL-25103] +- tools/workqueue/wq_dump.py: Clean up code and drop duplicate information (Waiman Long) [RHEL-25103] +- workqueue: mark power efficient workqueue as unbounded if nohz_full enabled (Waiman Long) [RHEL-25103] +- workqueue: Add rcu lock check at the end of work item execution (Waiman Long) [RHEL-25103] +- kernel/workqueue: Bind rescuer to unbound cpumask for WQ_UNBOUND (Waiman Long) [RHEL-25103] +- tools/workqueue: Add rescuers printing to wq_dump.py (Waiman Long) [RHEL-25103] +- Revert "workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()" (Waiman Long) [RHEL-25103] +- Documentation/core-api: fix spelling mistake in workqueue (Waiman Long) [RHEL-25103] +- Documentation/core-api : fix typo in workqueue (Waiman Long) [RHEL-25103] +- async: Split async_schedule_node_domain() (Waiman Long) [RHEL-25103] +- workqueue: Provide one lock class key per work_on_cpu() callsite (Waiman Long) [RHEL-25103] +- workqueue: fix -Wformat-truncation in create_worker (Waiman Long) [RHEL-25103] +- workqueue: Use the kmem_cache_free() instead of kfree() to release pwq (Waiman Long) [RHEL-25103] +- workqueue: doc: Fix function and sysfs path errors (Waiman Long) [RHEL-25103] +- workqueue: Fix UAF report by KASAN in pwq_release_workfn() (Waiman Long) [RHEL-25103] +- workqueue: Fix missed pwq_release_worker creation in wq_cpu_intensive_thresh_init() (Waiman Long) [RHEL-25103] +- workqueue: Removed double allocation of wq_update_pod_attrs_buf (Waiman Long) [RHEL-25103] +- workqueue: fix data race with the pwq->stats[] increment (Waiman Long) [RHEL-25103] +- workqueue: Rename rescuer kworker (Waiman Long) [RHEL-25103] +- workqueue: Make default affinity_scope dynamically updatable (Waiman Long) [RHEL-25103] +- workqueue: Add "Affinity Scopes and Performance" section to documentation (Waiman Long) [RHEL-25103] +- workqueue: Implement non-strict affinity scope for unbound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Add workqueue_attrs->__pod_cpumask (Waiman Long) [RHEL-25103] +- workqueue: Factor out need_more_worker() check and worker wake-up (Waiman Long) [RHEL-25103] +- workqueue: Factor out work to worker assignment and collision handling (Waiman Long) [RHEL-25103] +- workqueue: Add multiple affinity scopes and interface to select them (Waiman Long) [RHEL-25103] +- workqueue: Modularize wq_pod_type initialization (Waiman Long) [RHEL-25103] +- workqueue: Add tools/workqueue/wq_dump.py which prints out workqueue configuration (Waiman Long) [RHEL-25103] +- workqueue: Generalize unbound CPU pods (Waiman Long) [RHEL-25103] +- workqueue: Factor out clearing of workqueue-only attrs fields (Waiman Long) [RHEL-25103] +- workqueue: Factor out actual cpumask calculation to reduce subtlety in wq_update_pod() (Waiman Long) [RHEL-25103] +- workqueue: Initialize unbound CPU pods later in the boot (Waiman Long) [RHEL-25103] +- workqueue: Move wq_pod_init() below workqueue_init() (Waiman Long) [RHEL-25103] +- workqueue: Rename NUMA related names to use pod instead (Waiman Long) [RHEL-25103] +- workqueue: Rename workqueue_attrs->no_numa to ->ordered (Waiman Long) [RHEL-25103] +- workqueue: Make unbound workqueues to use per-cpu pool_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Call wq_update_unbound_numa() on all CPUs in NUMA node on CPU hotplug (Waiman Long) [RHEL-25103] +- workqueue: Make per-cpu pool_workqueues allocated and released like unbound ones (Waiman Long) [RHEL-25103] +- workqueue: Use a kthread_worker to release pool_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Remove module param disable_numa and sysfs knobs pool_ids and numa (Waiman Long) [RHEL-25103] +- workqueue: Relocate worker and work management functions (Waiman Long) [RHEL-25103] +- workqueue: Rename wq->cpu_pwqs to wq->cpu_pwq (Waiman Long) [RHEL-25103] +- workqueue: Not all work insertion needs to wake up a worker (Waiman Long) [RHEL-25103] +- workqueue: Cleanups around process_scheduled_works() (Waiman Long) [RHEL-25103] +- workqueue: Drop the special locking rule for worker->flags and worker_pool->flags (Waiman Long) [RHEL-25103] +- workqueue: use LIST_HEAD to initialize cull_list (Waiman Long) [RHEL-25103] +- workqueue: Warn attempt to flush system-wide workqueues. (Waiman Long) [RHEL-25103] +- workqueue: Scale up wq_cpu_intensive_thresh_us if BogoMIPS is below 4000 (Waiman Long) [RHEL-25103] +- workqueue: Fix cpu_intensive_thresh_us name in help text (Waiman Long) [RHEL-25103] +- soc: qcom: qmi: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- dm integrity: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- scsi: NCR5380: Use default @max_active for hostdata->work_q (Waiman Long) [RHEL-25103] +- crypto: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- xen/pvcalls: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- virt: acrn: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- net: octeontx2: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- net: thunderx: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- greybus: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- powerpc, workqueue: Use alloc_ordered_workqueue() to create ordered workqueues (Waiman Long) [RHEL-25103] +- workqueue: Disable per-cpu CPU hog detection when wq_cpu_intensive_thresh_us is 0 (Waiman Long) [RHEL-25103] +- workqueue: Fix WARN_ON_ONCE() triggers in worker_enter_idle() (Waiman Long) [RHEL-25103] +- workqueue: Track and monitor per-workqueue CPU time usage (Waiman Long) [RHEL-25103] +- redhat/configs: Add CONFIG_WQ_CPU_INTENSIVE_REPORT (Waiman Long) [RHEL-25103] +- workqueue: Report work funcs that trigger automatic CPU_INTENSIVE mechanism (Waiman Long) [RHEL-25103] +- workqueue: Automatically mark CPU-hogging work items CPU_INTENSIVE (Waiman Long) [RHEL-25103] +- workqueue: Improve locking rule description for worker fields (Waiman Long) [RHEL-25103] +- workqueue: Move worker_set/clr_flags() upwards (Waiman Long) [RHEL-25103] +- workqueue: Re-order struct worker fields (Waiman Long) [RHEL-25103] +- workqueue: Add pwq->stats[] and a monitoring script (Waiman Long) [RHEL-25103] +- Further upgrade queue_work_on() comment (Waiman Long) [RHEL-25103] +- workqueue: clean up WORK_* constant types, clarify masking (Waiman Long) [RHEL-25103] +- workqueue: Introduce show_freezable_workqueues (Waiman Long) [RHEL-25103] +- workqueue: Print backtraces from CPUs with hung CPU bound workqueues (Waiman Long) [RHEL-25103] +- workqueue: Warn when a rescuer could not be created (Waiman Long) [RHEL-25103] +- workqueue: Interrupted create_worker() is not a repeated event (Waiman Long) [RHEL-25103] +- workqueue: Warn when a new worker could not be created (Waiman Long) [RHEL-25103] +- workqueue: Fix hung time report of worker pools (Waiman Long) [RHEL-25103] +- workqueue: Simplify a pr_warn() call in wq_select_unbound_cpu() (Waiman Long) [RHEL-25103] +- scsi: message: fusion: Avoid flush_scheduled_work() usage (Waiman Long) [RHEL-25103] +- scsi: message: fusion: Remove unused sas_persist_task work (Waiman Long) [RHEL-25103] +- workqueue: Make show_pwq() use run-length encoding (Waiman Long) [RHEL-25103] +- workqueue: Add a new flag to spot the potential UAF error (Waiman Long) [RHEL-25103] +- workqueue: Make queue_rcu_work() use call_rcu_hurry() (Waiman Long) [RHEL-25103] +- treewide: Drop WARN_ON_FUNCTION_MISMATCH (Waiman Long) [RHEL-25103] +- Input: psmouse-smbus - avoid flush_scheduled_work() usage (Waiman Long) [RHEL-25103] +- workqueue: Convert the type of pool->nr_running to int (Waiman Long) [RHEL-25103] +- workqueue: Use wake_up_worker() in wq_worker_sleeping() instead of open code (Waiman Long) [RHEL-25103] +- Revert "module, async: async_synchronize_full() on module init iff async is used" (Waiman Long) [RHEL-25103] +- workqueue: Upgrade queue_work_on() comment (Waiman Long) [RHEL-25103] +- workqueue: doc: Call out the non-reentrance conditions (Waiman Long) [RHEL-25103] + * Wed Jun 12 2024 Lucas Zampieri [5.14.0-463.el9] - i2c: core: Fix atomic xfer check for non-preempt config (Steve Best) [RHEL-38315] {CVE-2023-52791} - i2c: core: Run atomic i2c xfer when !preemptible (Steve Best) [RHEL-38315] {CVE-2023-52791} diff --git a/sources b/sources index 228ddd7a8..902dd7117 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.14.0-463.el9.tar.xz) = bb3e78e316cd28b4ec886ff9c20355f1a77cf31596d1d86d14ba7a5c9e4a8e3cc5173f1f3868e64b0af0ef20700d7cafdfafb1c5b77f094731a82f75a4188790 -SHA512 (kernel-abi-stablelists-5.14.0-463.el9.tar.bz2) = bb752e6adc91b8d847ca879251cebd3bc768018bbfbf5e1310e94e95e7becc7b8cbd4ab83090f5587040b4e902d3406428e1cffdc0e0d080e7e52ad27bfb95fb -SHA512 (kernel-kabi-dw-5.14.0-463.el9.tar.bz2) = f457713ced0439861c4afb630f3f9a9c70ca92a9a9b5df963dfd843ba7f63d96eee6a43a998be8a328b19178d806c465f2f129104b17fc848c84c4cd22492963 +SHA512 (linux-5.14.0-464.el9.tar.xz) = 21359a17229fe5bb88f2e88796d144622638afde1d7f3610d8a0f174bc0a526dad20cd4791e7c0b59381da7073d6bb9af5084f02a3a89610f29acb885d8f23cb +SHA512 (kernel-abi-stablelists-5.14.0-464.el9.tar.bz2) = f3c666bed3552f53449e8572156284794a20bd7b281b56e6177805d05c17cc1767f0ab5107554bc368eec0d51783a2547b9f427208fd35054b039c938639dddb +SHA512 (kernel-kabi-dw-5.14.0-464.el9.tar.bz2) = f457713ced0439861c4afb630f3f9a9c70ca92a9a9b5df963dfd843ba7f63d96eee6a43a998be8a328b19178d806c465f2f129104b17fc848c84c4cd22492963