public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Vlastimil Babka <vbabka@suse.cz>,
	kernel test robot <oliver.sang@intel.com>,
	Mel Gorman <mgorman@techsingularity.net>,
	Brendan Jackman <jackmanb@google.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@suse.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Suren Baghdasaryan <surenb@google.com>, Zi Yan <ziy@nvidia.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sasha Levin <sashal@kernel.org>,
	Matthew Wilcox <willy@infradead.org>
Subject: [PATCH 6.18 196/198] mm/page_alloc: prevent pcp corruption with SMP=n
Date: Wed, 21 Jan 2026 19:17:04 +0100	[thread overview]
Message-ID: <20260121181425.613134816@linuxfoundation.org> (raw)
In-Reply-To: <20260121181418.537774329@linuxfoundation.org>

6.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Vlastimil Babka <vbabka@suse.cz>

commit 038a102535eb49e10e93eafac54352fcc5d78847 upstream.

The kernel test robot has reported:

 BUG: spinlock trylock failure on UP on CPU#0, kcompactd0/28
  lock: 0xffff888807e35ef0, .magic: dead4ead, .owner: kcompactd0/28, .owner_cpu: 0
 CPU: 0 UID: 0 PID: 28 Comm: kcompactd0 Not tainted 6.18.0-rc5-00127-ga06157804399 #1 PREEMPT  8cc09ef94dcec767faa911515ce9e609c45db470
 Call Trace:
  <IRQ>
  __dump_stack (lib/dump_stack.c:95)
  dump_stack_lvl (lib/dump_stack.c:123)
  dump_stack (lib/dump_stack.c:130)
  spin_dump (kernel/locking/spinlock_debug.c:71)
  do_raw_spin_trylock (kernel/locking/spinlock_debug.c:?)
  _raw_spin_trylock (include/linux/spinlock_api_smp.h:89 kernel/locking/spinlock.c:138)
  __free_frozen_pages (mm/page_alloc.c:2973)
  ___free_pages (mm/page_alloc.c:5295)
  __free_pages (mm/page_alloc.c:5334)
  tlb_remove_table_rcu (include/linux/mm.h:? include/linux/mm.h:3122 include/asm-generic/tlb.h:220 mm/mmu_gather.c:227 mm/mmu_gather.c:290)
  ? __cfi_tlb_remove_table_rcu (mm/mmu_gather.c:289)
  ? rcu_core (kernel/rcu/tree.c:?)
  rcu_core (include/linux/rcupdate.h:341 kernel/rcu/tree.c:2607 kernel/rcu/tree.c:2861)
  rcu_core_si (kernel/rcu/tree.c:2879)
  handle_softirqs (arch/x86/include/asm/jump_label.h:36 include/trace/events/irq.h:142 kernel/softirq.c:623)
  __irq_exit_rcu (arch/x86/include/asm/jump_label.h:36 kernel/softirq.c:725)
  irq_exit_rcu (kernel/softirq.c:741)
  sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1052)
  </IRQ>
  <TASK>
 RIP: 0010:_raw_spin_unlock_irqrestore (arch/x86/include/asm/preempt.h:95 include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194)
  free_pcppages_bulk (mm/page_alloc.c:1494)
  drain_pages_zone (include/linux/spinlock.h:391 mm/page_alloc.c:2632)
  __drain_all_pages (mm/page_alloc.c:2731)
  drain_all_pages (mm/page_alloc.c:2747)
  kcompactd (mm/compaction.c:3115)
  kthread (kernel/kthread.c:465)
  ? __cfi_kcompactd (mm/compaction.c:3166)
  ? __cfi_kthread (kernel/kthread.c:412)
  ret_from_fork (arch/x86/kernel/process.c:164)
  ? __cfi_kthread (kernel/kthread.c:412)
  ret_from_fork_asm (arch/x86/entry/entry_64.S:255)
  </TASK>

Matthew has analyzed the report and identified that in drain_page_zone()
we are in a section protected by spin_lock(&pcp->lock) and then get an
interrupt that attempts spin_trylock() on the same lock.  The code is
designed to work this way without disabling IRQs and occasionally fail the
trylock with a fallback.  However, the SMP=n spinlock implementation
assumes spin_trylock() will always succeed, and thus it's normally a
no-op.  Here the enabled lock debugging catches the problem, but otherwise
it could cause a corruption of the pcp structure.

The problem has been introduced by commit 574907741599 ("mm/page_alloc:
leave IRQs enabled for per-cpu page allocations").  The pcp locking scheme
recognizes the need for disabling IRQs to prevent nesting spin_trylock()
sections on SMP=n, but the need to prevent the nesting in spin_lock() has
not been recognized.  Fix it by introducing local wrappers that change the
spin_lock() to spin_lock_iqsave() with SMP=n and use them in all places
that do spin_lock(&pcp->lock).

[vbabka@suse.cz: add pcp_ prefix to the spin_lock_irqsave wrappers, per Steven]
Link: https://lkml.kernel.org/r/20260105-fix-pcp-up-v1-1-5579662d2071@suse.cz
Fixes: 574907741599 ("mm/page_alloc: leave IRQs enabled for per-cpu page allocations")
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202512101320.e2f2dd6f-lkp@intel.com
Analyzed-by: Matthew Wilcox <willy@infradead.org>
Link: https://lore.kernel.org/all/aUW05pyc9nZkvY-1@casper.infradead.org/
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Brendan Jackman <jackmanb@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Zi Yan <ziy@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 mm/page_alloc.c |   47 +++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 39 insertions(+), 8 deletions(-)

--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -166,6 +166,33 @@ static DEFINE_MUTEX(pcp_batch_high_lock)
 #define pcp_spin_unlock(ptr)						\
 	pcpu_spin_unlock(lock, ptr)
 
+/*
+ * With the UP spinlock implementation, when we spin_lock(&pcp->lock) (for i.e.
+ * a potentially remote cpu drain) and get interrupted by an operation that
+ * attempts pcp_spin_trylock(), we can't rely on the trylock failure due to UP
+ * spinlock assumptions making the trylock a no-op. So we have to turn that
+ * spin_lock() to a spin_lock_irqsave(). This works because on UP there are no
+ * remote cpu's so we can only be locking the only existing local one.
+ */
+#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT_RT)
+static inline void __flags_noop(unsigned long *flags) { }
+#define pcp_spin_lock_maybe_irqsave(ptr, flags)		\
+({							\
+	 __flags_noop(&(flags));			\
+	 spin_lock(&(ptr)->lock);			\
+})
+#define pcp_spin_unlock_maybe_irqrestore(ptr, flags)	\
+({							\
+	 spin_unlock(&(ptr)->lock);			\
+	 __flags_noop(&(flags));			\
+})
+#else
+#define pcp_spin_lock_maybe_irqsave(ptr, flags)		\
+		spin_lock_irqsave(&(ptr)->lock, flags)
+#define pcp_spin_unlock_maybe_irqrestore(ptr, flags)	\
+		spin_unlock_irqrestore(&(ptr)->lock, flags)
+#endif
+
 #ifdef CONFIG_USE_PERCPU_NUMA_NODE_ID
 DEFINE_PER_CPU(int, numa_node);
 EXPORT_PER_CPU_SYMBOL(numa_node);
@@ -2555,6 +2582,7 @@ static int rmqueue_bulk(struct zone *zon
 bool decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
 {
 	int high_min, to_drain, to_drain_batched, batch;
+	unsigned long UP_flags;
 	bool todo = false;
 
 	high_min = READ_ONCE(pcp->high_min);
@@ -2574,9 +2602,9 @@ bool decay_pcp_high(struct zone *zone, s
 	to_drain = pcp->count - pcp->high;
 	while (to_drain > 0) {
 		to_drain_batched = min(to_drain, batch);
-		spin_lock(&pcp->lock);
+		pcp_spin_lock_maybe_irqsave(pcp, UP_flags);
 		free_pcppages_bulk(zone, to_drain_batched, pcp, 0);
-		spin_unlock(&pcp->lock);
+		pcp_spin_unlock_maybe_irqrestore(pcp, UP_flags);
 		todo = true;
 
 		to_drain -= to_drain_batched;
@@ -2593,14 +2621,15 @@ bool decay_pcp_high(struct zone *zone, s
  */
 void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp)
 {
+	unsigned long UP_flags;
 	int to_drain, batch;
 
 	batch = READ_ONCE(pcp->batch);
 	to_drain = min(pcp->count, batch);
 	if (to_drain > 0) {
-		spin_lock(&pcp->lock);
+		pcp_spin_lock_maybe_irqsave(pcp, UP_flags);
 		free_pcppages_bulk(zone, to_drain, pcp, 0);
-		spin_unlock(&pcp->lock);
+		pcp_spin_unlock_maybe_irqrestore(pcp, UP_flags);
 	}
 }
 #endif
@@ -2611,10 +2640,11 @@ void drain_zone_pages(struct zone *zone,
 static void drain_pages_zone(unsigned int cpu, struct zone *zone)
 {
 	struct per_cpu_pages *pcp = per_cpu_ptr(zone->per_cpu_pageset, cpu);
+	unsigned long UP_flags;
 	int count;
 
 	do {
-		spin_lock(&pcp->lock);
+		pcp_spin_lock_maybe_irqsave(pcp, UP_flags);
 		count = pcp->count;
 		if (count) {
 			int to_drain = min(count,
@@ -2623,7 +2653,7 @@ static void drain_pages_zone(unsigned in
 			free_pcppages_bulk(zone, to_drain, pcp, 0);
 			count -= to_drain;
 		}
-		spin_unlock(&pcp->lock);
+		pcp_spin_unlock_maybe_irqrestore(pcp, UP_flags);
 	} while (count);
 }
 
@@ -6081,6 +6111,7 @@ static void zone_pcp_update_cacheinfo(st
 {
 	struct per_cpu_pages *pcp;
 	struct cpu_cacheinfo *cci;
+	unsigned long UP_flags;
 
 	pcp = per_cpu_ptr(zone->per_cpu_pageset, cpu);
 	cci = get_cpu_cacheinfo(cpu);
@@ -6091,12 +6122,12 @@ static void zone_pcp_update_cacheinfo(st
 	 * This can reduce zone lock contention without hurting
 	 * cache-hot pages sharing.
 	 */
-	spin_lock(&pcp->lock);
+	pcp_spin_lock_maybe_irqsave(pcp, UP_flags);
 	if ((cci->per_cpu_data_slice_size >> PAGE_SHIFT) > 3 * pcp->batch)
 		pcp->flags |= PCPF_FREE_HIGH_BATCH;
 	else
 		pcp->flags &= ~PCPF_FREE_HIGH_BATCH;
-	spin_unlock(&pcp->lock);
+	pcp_spin_unlock_maybe_irqrestore(pcp, UP_flags);
 }
 
 void setup_pcp_cacheinfo(unsigned int cpu)



  parent reply	other threads:[~2026-01-21 18:36 UTC|newest]

Thread overview: 215+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-21 18:13 [PATCH 6.18 000/198] 6.18.7-rc1 review Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 001/198] firmware: imx: scu-irq: Set mu_resource_id before get handle Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 002/198] efi/cper: Fix cper_bits_to_str buffer handling and return value Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 003/198] nvme-apple: add "apple,t8103-nvme-ans2" as compatible Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 004/198] Revert "gfs2: Fix use of bio_chain" Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 005/198] x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1 Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 006/198] rust: bitops: fix missing _find_* functions on 32-bit ARM Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 007/198] ASoC: codecs: wsa884x: fix codec initialisation Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 008/198] ASoC: codecs: wsa883x: fix unnecessary initialisation Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 009/198] drm/gud: fix NULL fb and crtc dereferences on USB disconnect Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 010/198] virtio_net: Fix misalignment bug in struct virtnet_info Greg Kroah-Hartman
2026-01-21 18:13 ` [PATCH 6.18 011/198] io_uring: move local task_work in exit cancel loop Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 012/198] xfrm: Fix inner mode lookup in tunnel mode GSO segmentation Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 013/198] xfrm: set ipv4 no_pmtu_disc flag only on output sa when direction is set Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 014/198] pNFS: Fix a deadlock when returning a delegation during open() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 015/198] NFS: Fix a deadlock involving nfs_release_folio() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 016/198] pnfs/flexfiles: Fix memory leak in nfs4_ff_alloc_deviceid_node() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 017/198] pnfs/blocklayout: Fix memory leak in bl_parse_scsi() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 018/198] drm/bridge: dw-hdmi-qp: Fix spurious IRQ on resume Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 019/198] drm/vmwgfx: Fix KMS with 3D on HW version 10 Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 020/198] drm/vmwgfx: Merge vmw_bo_release and vmw_bo_free functions Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 021/198] NFS/localio: Deal with page bases that are > PAGE_SIZE Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 022/198] drm/rockchip: vop2: Add delay between poll registers Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 023/198] drm/rockchip: vop2: Only wait for changed layer cfg done when there is pending cfgdone bits Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 024/198] PM: EM: Fix incorrect description of the cost field in struct em_perf_state Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 025/198] ipv4: ip_tunnel: spread netdev_lockdep_set_classes() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 026/198] can: etas_es58x: allow partial RX URB allocation to succeed Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 027/198] nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 028/198] cxl/port: Fix target list setup for multiple decoders sharing the same dport Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 029/198] btrfs: release path before iget_failed() in btrfs_read_locked_inode() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 030/198] btrfs: send: check for inline extents in range_is_hole_in_parent() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 031/198] Bluetooth: hci_sync: enable PA Sync Lost event Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 032/198] net: bridge: annotate data-races around fdb->{updated,used} Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 033/198] ip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 034/198] net: update netdev_lock_{type,name} Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 035/198] macvlan: fix possible UAF in macvlan_forward_source() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 036/198] block: zero non-PI portion of auto integrity buffer Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 037/198] ipv4: ip_gre: make ipgre_header() robust Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 038/198] vsock/test: add a final full barrier after run all tests Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 039/198] net/mlx5e: Fix crash on profile change rollback failure Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 040/198] net/mlx5e: Dont store mlx5e_priv in mlx5e_dev devlink priv Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 041/198] net/mlx5e: Pass netdev to mlx5e_destroy_netdev instead of priv Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 042/198] net/mlx5e: Restore destroying state bit after profile cleanup Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 043/198] btrfs: fix memory leaks in create_space_info() error paths Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 044/198] cxl/hdm: Fix potential infinite loop in __cxl_dpa_reserve() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 045/198] net: octeon_ep_vf: fix free_irq dev_id mismatch in IRQ rollback Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 046/198] net: phy: motorcomm: fix duplex setting error for phy leds Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 047/198] net: airoha: Fix typo in airoha_ppe_setup_tc_block_cb definition Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 048/198] ALSA: hda/cirrus_scodec_test: Fix incorrect setup of gpiochip Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 049/198] ALSA: hda/cirrus_scodec_test: Fix test suite name Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 050/198] net: hv_netvsc: reject RSS hash key programming without RX indirection table Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 051/198] dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 052/198] ipv6: Fix use-after-free in inet6_addr_del() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 053/198] selftests: drv-net: fix RPS mask handling for high CPU numbers Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 054/198] net/sched: sch_qfq: do not free existing class in qfq_change_class() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 055/198] ASoC: sdw_utils: cs42l43: Enable Headphone pin for LINEOUT jack type Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 056/198] ASoC: tlv320adcx140: fix null pointer Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 057/198] ASoC: tlv320adcx140: fix word length Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 058/198] drm/amdgpu: fix drm panic null pointer when driver not support atomic Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 059/198] drm/amd/display: Show link name in PSR status message Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 060/198] drm/amd/pm: fix smu overdrive data type wrong issue on smu 14.0.2 Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 061/198] drm/amdkfd: No need to suspend whole MES to evict process Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 062/198] drm/amdgpu/userq: Fix fence reference leak on queue teardown v2 Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 063/198] mm: describe @flags parameter in memalloc_flags_save() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 064/198] textsearch: describe @list member in ts_ops search Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 065/198] mm, kfence: describe @slab parameter in __kfence_obj_info() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 066/198] mips: fix HIGHMEM initialization Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 067/198] drivers/dax: add some missing kerneldoc comment fields for struct dev_dax Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 068/198] NFS: Fix size read races in truncate, fallocate and copy offload Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 069/198] dmaengine: mmp_pdma: fix DMA mask handling Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 070/198] dmaengine: xilinx: xdma: Fix regmap max_register Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.18 071/198] dmaengine: tegra-adma: Fix use-after-free Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 072/198] dmaengine: xilinx_dma: Fix uninitialized addr_width when "xlnx,addrwidth" property is missing Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 073/198] phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 074/198] phy: qcom-qusb2: Fix NULL pointer dereference on early suspend Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 075/198] phy: stm32-usphyc: Fix off by one in probe() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 076/198] phy: ti: da8xx-usb: Handle devm_pm_runtime_enable() errors Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 077/198] landlock: Fix TCP handling of short AF_UNSPEC addresses Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 078/198] selftests/landlock: Fix TCP bind(AF_UNSPEC) test case Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 079/198] selftests/landlock: Remove invalid unix socket bind() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 080/198] landlock: Fix wrong type usage Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 081/198] phy: broadcom: ns-usb3: Fix Wvoid-pointer-to-enum-cast warning (again) Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 082/198] selftests/landlock: Properly close a file descriptor Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 083/198] dmaengine: omap-dma: fix dma_pool resource leak in error paths Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 084/198] soundwire: bus: fix off-by-one when allocating slave IDs Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 085/198] i2c: qcom-geni: make sure I2C hub controllers cant use SE DMA Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 086/198] i2c: imx-lpi2c: change to PIO mode in system-wide suspend/resume progress Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 087/198] sched/deadline: Avoid double update_rq_clock() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 088/198] sched: Deadline has dynamic priority Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 089/198] HID: usbhid: paper over wrong bNumDescriptor field Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 090/198] selftests/bpf: Fix selftest verif_scale_strobemeta failure with llvm22 Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 091/198] scsi: core: Fix error handler encryption support Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 092/198] selftests: kvm: replace numbered sync points with actions Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 093/198] selftests: kvm: try getting XFD and XSAVE state out of sync Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 094/198] ALSA: pcm: Improve the fix for race of buffer access at PCM OSS layer Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 095/198] ALSA: hda/tas2781: Skip UEFI calibration on ASUS ROG Xbox Ally X Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 096/198] ALSA: hda/realtek: Add quirk for HP Pavilion x360 to enable mute LED Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 097/198] null_blk: fix kmemleak by releasing references to fault configfs items Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 098/198] can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 099/198] can: ctucanfd: fix SSP_SRC in cases when bit-rate is higher than 1 MBit Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 100/198] net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 101/198] tools/testing/selftests: add tests for !tgt, src mremap() merges Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 102/198] tools/testing/selftests: add forked (un)/faulted VMA merge tests Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 103/198] tools/testing/selftests: fix gup_longterm for unknown fs Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 104/198] ftrace: Do not over-allocate ftrace memory Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 105/198] xfs: set max_agbno to allow sparse alloc of last full inode chunk Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 106/198] xfs: Fix the return value of xfs_rtcopy_summary() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 107/198] virtio-net: dont schedule delayed refill worker Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 108/198] lib/buildid: use __kernel_read() for sleepable context Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 109/198] x86/kaslr: Recognize all ZONE_DEVICE users as physaddr consumers Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 110/198] phy: rockchip: inno-usb2: fix communication disruption in gadget mode Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 111/198] phy: ti: gmii-sel: fix regmap leak on probe failure Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 112/198] phy: rockchip: inno-usb2: Fix a double free bug in rockchip_usb2phy_probe() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 113/198] phy: freescale: imx8m-pcie: assert phy reset during power on Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 114/198] phy: rockchip: inno-usb2: fix disconnection in gadget mode Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 115/198] phy: fsl-imx8mq-usb: fix typec orientation switch when built as module Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 116/198] phy: tegra: xusb: Explicitly configure HS_DISCON_LEVEL to 0x7 Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 117/198] usb: host: xhci-tegra: Use platform_get_irq_optional() for wake IRQs Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 118/198] xhci: sideband: dont dereference freed ring when removing sideband endpoint Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 119/198] usb: gadget: uvc: fix interval_duration calculation Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 120/198] usb: gadget: uvc: fix req_payload_size calculation Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 121/198] usb: dwc3: Check for USB4 IP_NAME Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 122/198] usb: core: add USB_QUIRK_NO_BOS for devices that hang on BOS descriptor Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 123/198] USB: OHCI/UHCI: Add soft dependencies on ehci_platform Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 124/198] USB: serial: option: add Telit LE910 MBIM composition Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 125/198] USB: serial: ftdi_sio: add support for PICAXE AXE027 cable Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 126/198] nvme-pci: disable secondary temp for Wodposit WPBSNM8 Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 127/198] ASoC: codecs: wsa881x: fix unnecessary initialisation Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 128/198] ext4: fix ext4_tune_sb_params padding Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 129/198] ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 130/198] hrtimer: Fix softirq base check in update_needs_ipi() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.18 131/198] EDAC/x38: Fix a resource leak in x38_probe1() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 132/198] EDAC/i3200: Fix a resource leak in i3200_probe1() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 133/198] tcpm: allow looking for role_sw device in the main node Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 134/198] i2c: riic: Move suspend handling to NOIRQ phase Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 135/198] x86/resctrl: Add missing resctrl initialization for Hygon Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 136/198] x86/resctrl: Fix memory bandwidth counter width " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 137/198] nvme: fix PCIe subsystem reset controller state transition Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 138/198] mm: kmsan: fix poisoning of high-order non-compound pages Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 139/198] mm: numa,memblock: include <asm/numa.h> for numa_nodes_parsed Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 140/198] mm/zswap: fix error pointer free in zswap_cpu_comp_prepare() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 141/198] mm/page_alloc: make percpu_pagelist_high_fraction reads lock-free Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 142/198] mm/damon/core: remove call_control in inactive contexts Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 143/198] mm/damon/sysfs-scheme: cleanup quotas subdirs on scheme dir setup failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 144/198] mm/damon/sysfs-scheme: cleanup access_pattern " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 145/198] mm/damon/sysfs: cleanup intervals subdirs on attrs " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 146/198] mm/damon/sysfs: cleanup attrs subdirs on context " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 147/198] LoongArch: Fix PMU counter allocation for mixed-type event groups Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 148/198] LoongArch: dts: Describe PCI sideband IRQ through interrupt-extended Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 149/198] drm/amd/display: Bump the HDMI clock to 340MHz Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 150/198] drm/amd/display: Initialise backlight level values from hw Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 151/198] drm/amd: Clean up kfd node on surprise disconnect Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 152/198] drm/amdgpu: Fix gfx9 update PTE mtype flag Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 153/198] drm/amdgpu: make sure userqs are enabled in userq IOCTLs Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 154/198] drm/amdkfd: fix a memory leak in device_queue_manager_init() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 155/198] drm/nouveau/disp/nv50-: Set lock_core in curs507a_prepare Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 156/198] drm/panel-simple: fix connector type for DataImage SCF0700C48GGU18 panel Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 157/198] drm/panel: simple: restore connector_type fallback Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 158/198] drm/sysfb: Remove duplicate declarations Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 159/198] drm/vmwgfx: Fix an error return check in vmw_compat_shader_add() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 160/198] LoongArch: dts: loongson-2k0500: Add default interrupt controller address cells Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 161/198] LoongArch: dts: loongson-2k1000: " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 162/198] LoongArch: dts: loongson-2k1000: Fix i2c-gpio node names Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 163/198] LoongArch: dts: loongson-2k2000: Add default interrupt controller address cells Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 164/198] LoongArch: KVM: Fix kvm_device leak in kvm_eiointc_destroy() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 165/198] LoongArch: KVM: Fix kvm_device leak in kvm_ipi_destroy() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 166/198] LoongArch: KVM: Fix kvm_device leak in kvm_pch_pic_destroy() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 167/198] dmaengine: apple-admac: Add "apple,t8103-admac" compatible Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 168/198] dmaengine: at_hdmac: fix device leak on of_dma_xlate() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 169/198] dmaengine: bcm-sba-raid: fix device leak on probe Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 170/198] dmaengine: cv1800b-dmamux: fix device leak on route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 171/198] dmaengine: dw: dmamux: fix OF node leak on route allocation failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 172/198] dmaengine: fsl-edma: Fix clk leak on alloc_chan_resources failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 173/198] dmaengine: idxd: fix device leaks on compat bind and unbind Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 174/198] dmaengine: lpc18xx-dmamux: fix device leak on route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 175/198] dmaengine: lpc32xx-dmamux: " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 176/198] dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 177/198] dmaengine: sh: rz-dmac: fix device leak on probe failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 178/198] dmaengine: sh: rz-dmac: Fix rz_dmac_terminate_all() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 179/198] dmaengine: stm32: dmamux: fix device leak on route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 180/198] dmaengine: stm32: dmamux: fix OF node leak on route allocation failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 181/198] dmaengine: ti: dma-crossbar: fix device leak on dra7x route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 182/198] dmaengine: ti: dma-crossbar: fix device leak on am335x " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 183/198] dmaengine: ti: k3-udma: fix device leak on udma lookup Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 184/198] mm: add a ptdesc flag to mark kernel page tables Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 185/198] mm: actually mark kernel page table pages Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 186/198] x86/mm: use ptdesc when freeing PMD pages Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 187/198] mm: introduce pure page table freeing function Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 188/198] x86/mm: use pagetable_free() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 189/198] mm: introduce deferred freeing for kernel page tables Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 190/198] iommu/sva: invalidate stale IOTLB entries for kernel address space Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.18 191/198] HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume blocking Greg Kroah-Hartman
2026-01-21 18:17 ` [PATCH 6.18 192/198] HID: intel-ish-hid: Fix -Wcast-function-type-strict in devm_ishtp_alloc_workqueue() Greg Kroah-Hartman
2026-01-21 18:17 ` [PATCH 6.18 193/198] btrfs: fix deadlock in wait_current_trans() due to ignored transaction type Greg Kroah-Hartman
2026-01-21 18:17 ` [PATCH 6.18 194/198] mm/page_alloc/vmstat: simplify refresh_cpu_vm_stats change detection Greg Kroah-Hartman
2026-01-21 18:17 ` [PATCH 6.18 195/198] mm/page_alloc: batch page freeing in decay_pcp_high Greg Kroah-Hartman
2026-01-21 18:17 ` Greg Kroah-Hartman [this message]
2026-01-21 18:17 ` [PATCH 6.18 197/198] Revert "functionfs: fix the open/removal races" Greg Kroah-Hartman
2026-01-21 18:17 ` [PATCH 6.18 198/198] iommu/sva: include mmu_notifier.h header Greg Kroah-Hartman
2026-01-21 22:12 ` [PATCH 6.18 000/198] 6.18.7-rc1 review Ronald Warsow
2026-01-21 23:35 ` Shuah Khan
2026-01-21 23:57 ` Florian Fainelli
2026-01-22  2:07 ` Justin Forbes
2026-01-22  4:07 ` Takeshi Ogasawara
2026-01-22  5:41 ` Brett A C Sheffield
2026-01-22  7:36 ` Shung-Hsi Yu
2026-01-22  8:43 ` Jon Hunter
2026-01-22 12:17 ` Ron Economos
2026-01-22 15:08 ` Brett Mastbergen
2026-01-22 15:51 ` Peter Schneider
2026-01-22 18:15 ` Mark Brown
2026-01-22 18:23   ` Lorenzo Stoakes
2026-01-22 19:14     ` Lorenzo Stoakes
2026-01-23 17:08 ` Dileep malepu
2026-01-23 22:06 ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260121181425.613134816@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=bigeasy@linutronix.de \
    --cc=hannes@cmpxchg.org \
    --cc=jackmanb@google.com \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@suse.com \
    --cc=oliver.sang@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=rostedt@goodmis.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@suse.cz \
    --cc=willy@infradead.org \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox