All of lore.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,
	Max Kellermann <max.kellermann@ionos.com>,
	David Howells <dhowells@redhat.com>,
	Paulo Alcantara <pc@manguebit.org>,
	netfs@lists.linux.dev, linux-fsdevel@vger.kernel.org,
	Christian Brauner <brauner@kernel.org>
Subject: [PATCH 6.16 129/143] netfs: fix reference leak
Date: Tue, 30 Sep 2025 16:47:33 +0200	[thread overview]
Message-ID: <20250930143836.371690436@linuxfoundation.org> (raw)
In-Reply-To: <20250930143831.236060637@linuxfoundation.org>

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

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

From: Max Kellermann <max.kellermann@ionos.com>

commit 4d428dca252c858bfac691c31fa95d26cd008706 upstream.

Commit 20d72b00ca81 ("netfs: Fix the request's work item to not
require a ref") modified netfs_alloc_request() to initialize the
reference counter to 2 instead of 1.  The rationale was that the
requet's "work" would release the second reference after completion
(via netfs_{read,write}_collection_worker()).  That works most of the
time if all goes well.

However, it leaks this additional reference if the request is released
before the I/O operation has been submitted: the error code path only
decrements the reference counter once and the work item will never be
queued because there will never be a completion.

This has caused outages of our whole server cluster today because
tasks were blocked in netfs_wait_for_outstanding_io(), leading to
deadlocks in Ceph (another bug that I will address soon in another
patch).  This was caused by a netfs_pgpriv2_begin_copy_to_cache() call
which failed in fscache_begin_write_operation().  The leaked
netfs_io_request was never completed, leaving `netfs_inode.io_count`
with a positive value forever.

All of this is super-fragile code.  Finding out which code paths will
lead to an eventual completion and which do not is hard to see:

- Some functions like netfs_create_write_req() allocate a request, but
  will never submit any I/O.

- netfs_unbuffered_read_iter_locked() calls netfs_unbuffered_read()
  and then netfs_put_request(); however, netfs_unbuffered_read() can
  also fail early before submitting the I/O request, therefore another
  netfs_put_request() call must be added there.

A rule of thumb is that functions that return a `netfs_io_request` do
not submit I/O, and all of their callers must be checked.

For my taste, the whole netfs code needs an overhaul to make reference
counting easier to understand and less fragile & obscure.  But to fix
this bug here and now and produce a patch that is adequate for a
stable backport, I tried a minimal approach that quickly frees the
request object upon early failure.

I decided against adding a second netfs_put_request() each time
because that would cause code duplication which obscures the code
further.  Instead, I added the function netfs_put_failed_request()
which frees such a failed request synchronously under the assumption
that the reference count is exactly 2 (as initially set by
netfs_alloc_request() and never touched), verified by a
WARN_ON_ONCE().  It then deinitializes the request object (without
going through the "cleanup_work" indirection) and frees the allocation
(with RCU protection to protect against concurrent access by
netfs_requests_seq_start()).

All code paths that fail early have been changed to call
netfs_put_failed_request() instead of netfs_put_request().
Additionally, I have added a netfs_put_request() call to
netfs_unbuffered_read() as explained above because the
netfs_put_failed_request() approach does not work there.

Fixes: 20d72b00ca81 ("netfs: Fix the request's work item to not require a ref")
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Paulo Alcantara <pc@manguebit.org>
cc: netfs@lists.linux.dev
cc: linux-fsdevel@vger.kernel.org
cc: stable@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/netfs/buffered_read.c | 10 +++++-----
 fs/netfs/direct_read.c   |  7 ++++++-
 fs/netfs/direct_write.c  |  6 +++++-
 fs/netfs/internal.h      |  1 +
 fs/netfs/objects.c       | 30 +++++++++++++++++++++++++++---
 fs/netfs/read_pgpriv2.c  |  2 +-
 fs/netfs/read_single.c   |  2 +-
 fs/netfs/write_issue.c   |  3 +--
 8 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/fs/netfs/buffered_read.c b/fs/netfs/buffered_read.c
index 18b3dc74c70e..37ab6f28b5ad 100644
--- a/fs/netfs/buffered_read.c
+++ b/fs/netfs/buffered_read.c
@@ -369,7 +369,7 @@ void netfs_readahead(struct readahead_control *ractl)
 	return netfs_put_request(rreq, netfs_rreq_trace_put_return);
 
 cleanup_free:
-	return netfs_put_request(rreq, netfs_rreq_trace_put_failed);
+	return netfs_put_failed_request(rreq);
 }
 EXPORT_SYMBOL(netfs_readahead);
 
@@ -472,7 +472,7 @@ static int netfs_read_gaps(struct file *file, struct folio *folio)
 	return ret < 0 ? ret : 0;
 
 discard:
-	netfs_put_request(rreq, netfs_rreq_trace_put_discard);
+	netfs_put_failed_request(rreq);
 alloc_error:
 	folio_unlock(folio);
 	return ret;
@@ -532,7 +532,7 @@ int netfs_read_folio(struct file *file, struct folio *folio)
 	return ret < 0 ? ret : 0;
 
 discard:
-	netfs_put_request(rreq, netfs_rreq_trace_put_discard);
+	netfs_put_failed_request(rreq);
 alloc_error:
 	folio_unlock(folio);
 	return ret;
@@ -699,7 +699,7 @@ int netfs_write_begin(struct netfs_inode *ctx,
 	return 0;
 
 error_put:
-	netfs_put_request(rreq, netfs_rreq_trace_put_failed);
+	netfs_put_failed_request(rreq);
 error:
 	if (folio) {
 		folio_unlock(folio);
@@ -754,7 +754,7 @@ int netfs_prefetch_for_write(struct file *file, struct folio *folio,
 	return ret < 0 ? ret : 0;
 
 error_put:
-	netfs_put_request(rreq, netfs_rreq_trace_put_discard);
+	netfs_put_failed_request(rreq);
 error:
 	_leave(" = %d", ret);
 	return ret;
diff --git a/fs/netfs/direct_read.c b/fs/netfs/direct_read.c
index a05e13472baf..a498ee8d6674 100644
--- a/fs/netfs/direct_read.c
+++ b/fs/netfs/direct_read.c
@@ -131,6 +131,7 @@ static ssize_t netfs_unbuffered_read(struct netfs_io_request *rreq, bool sync)
 
 	if (rreq->len == 0) {
 		pr_err("Zero-sized read [R=%x]\n", rreq->debug_id);
+		netfs_put_request(rreq, netfs_rreq_trace_put_discard);
 		return -EIO;
 	}
 
@@ -205,7 +206,7 @@ ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *i
 	if (user_backed_iter(iter)) {
 		ret = netfs_extract_user_iter(iter, rreq->len, &rreq->buffer.iter, 0);
 		if (ret < 0)
-			goto out;
+			goto error_put;
 		rreq->direct_bv = (struct bio_vec *)rreq->buffer.iter.bvec;
 		rreq->direct_bv_count = ret;
 		rreq->direct_bv_unpin = iov_iter_extract_will_pin(iter);
@@ -238,6 +239,10 @@ ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *i
 	if (ret > 0)
 		orig_count -= ret;
 	return ret;
+
+error_put:
+	netfs_put_failed_request(rreq);
+	return ret;
 }
 EXPORT_SYMBOL(netfs_unbuffered_read_iter_locked);
 
diff --git a/fs/netfs/direct_write.c b/fs/netfs/direct_write.c
index a16660ab7f83..a9d1c3b2c084 100644
--- a/fs/netfs/direct_write.c
+++ b/fs/netfs/direct_write.c
@@ -57,7 +57,7 @@ ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *
 			n = netfs_extract_user_iter(iter, len, &wreq->buffer.iter, 0);
 			if (n < 0) {
 				ret = n;
-				goto out;
+				goto error_put;
 			}
 			wreq->direct_bv = (struct bio_vec *)wreq->buffer.iter.bvec;
 			wreq->direct_bv_count = n;
@@ -101,6 +101,10 @@ ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *
 out:
 	netfs_put_request(wreq, netfs_rreq_trace_put_return);
 	return ret;
+
+error_put:
+	netfs_put_failed_request(wreq);
+	return ret;
 }
 EXPORT_SYMBOL(netfs_unbuffered_write_iter_locked);
 
diff --git a/fs/netfs/internal.h b/fs/netfs/internal.h
index d4f16fefd965..4319611f5354 100644
--- a/fs/netfs/internal.h
+++ b/fs/netfs/internal.h
@@ -87,6 +87,7 @@ struct netfs_io_request *netfs_alloc_request(struct address_space *mapping,
 void netfs_get_request(struct netfs_io_request *rreq, enum netfs_rreq_ref_trace what);
 void netfs_clear_subrequests(struct netfs_io_request *rreq);
 void netfs_put_request(struct netfs_io_request *rreq, enum netfs_rreq_ref_trace what);
+void netfs_put_failed_request(struct netfs_io_request *rreq);
 struct netfs_io_subrequest *netfs_alloc_subrequest(struct netfs_io_request *rreq);
 
 static inline void netfs_see_request(struct netfs_io_request *rreq,
diff --git a/fs/netfs/objects.c b/fs/netfs/objects.c
index e8c99738b5bb..40a1c7d6f6e0 100644
--- a/fs/netfs/objects.c
+++ b/fs/netfs/objects.c
@@ -116,10 +116,8 @@ static void netfs_free_request_rcu(struct rcu_head *rcu)
 	netfs_stat_d(&netfs_n_rh_rreq);
 }
 
-static void netfs_free_request(struct work_struct *work)
+static void netfs_deinit_request(struct netfs_io_request *rreq)
 {
-	struct netfs_io_request *rreq =
-		container_of(work, struct netfs_io_request, cleanup_work);
 	struct netfs_inode *ictx = netfs_inode(rreq->inode);
 	unsigned int i;
 
@@ -149,6 +147,14 @@ static void netfs_free_request(struct work_struct *work)
 
 	if (atomic_dec_and_test(&ictx->io_count))
 		wake_up_var(&ictx->io_count);
+}
+
+static void netfs_free_request(struct work_struct *work)
+{
+	struct netfs_io_request *rreq =
+		container_of(work, struct netfs_io_request, cleanup_work);
+
+	netfs_deinit_request(rreq);
 	call_rcu(&rreq->rcu, netfs_free_request_rcu);
 }
 
@@ -167,6 +173,24 @@ void netfs_put_request(struct netfs_io_request *rreq, enum netfs_rreq_ref_trace
 	}
 }
 
+/*
+ * Free a request (synchronously) that was just allocated but has
+ * failed before it could be submitted.
+ */
+void netfs_put_failed_request(struct netfs_io_request *rreq)
+{
+	int r = refcount_read(&rreq->ref);
+
+	/* new requests have two references (see
+	 * netfs_alloc_request(), and this function is only allowed on
+	 * new request objects
+	 */
+	WARN_ON_ONCE(r != 2);
+
+	trace_netfs_rreq_ref(rreq->debug_id, r, netfs_rreq_trace_put_failed);
+	netfs_free_request(&rreq->cleanup_work);
+}
+
 /*
  * Allocate and partially initialise an I/O request structure.
  */
diff --git a/fs/netfs/read_pgpriv2.c b/fs/netfs/read_pgpriv2.c
index 8097bc069c1d..a1489aa29f78 100644
--- a/fs/netfs/read_pgpriv2.c
+++ b/fs/netfs/read_pgpriv2.c
@@ -118,7 +118,7 @@ static struct netfs_io_request *netfs_pgpriv2_begin_copy_to_cache(
 	return creq;
 
 cancel_put:
-	netfs_put_request(creq, netfs_rreq_trace_put_return);
+	netfs_put_failed_request(creq);
 cancel:
 	rreq->copy_to_cache = ERR_PTR(-ENOBUFS);
 	clear_bit(NETFS_RREQ_FOLIO_COPY_TO_CACHE, &rreq->flags);
diff --git a/fs/netfs/read_single.c b/fs/netfs/read_single.c
index fa622a6cd56d..5c0dc4efc792 100644
--- a/fs/netfs/read_single.c
+++ b/fs/netfs/read_single.c
@@ -189,7 +189,7 @@ ssize_t netfs_read_single(struct inode *inode, struct file *file, struct iov_ite
 	return ret;
 
 cleanup_free:
-	netfs_put_request(rreq, netfs_rreq_trace_put_failed);
+	netfs_put_failed_request(rreq);
 	return ret;
 }
 EXPORT_SYMBOL(netfs_read_single);
diff --git a/fs/netfs/write_issue.c b/fs/netfs/write_issue.c
index 0584cba1a043..dd8743bc8d7f 100644
--- a/fs/netfs/write_issue.c
+++ b/fs/netfs/write_issue.c
@@ -133,8 +133,7 @@ struct netfs_io_request *netfs_create_write_req(struct address_space *mapping,
 
 	return wreq;
 nomem:
-	wreq->error = -ENOMEM;
-	netfs_put_request(wreq, netfs_rreq_trace_put_failed);
+	netfs_put_failed_request(wreq);
 	return ERR_PTR(-ENOMEM);
 }
 
-- 
2.51.0




  parent reply	other threads:[~2025-09-30 15:08 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-30 14:45 [PATCH 6.16 000/143] 6.16.10-rc1 review Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 001/143] scsi: ufs: mcq: Fix memory allocation checks for SQE and CQE Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 002/143] firewire: core: fix overlooked update of subsystem ABI version Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 003/143] ALSA: usb-audio: Fix code alignment in mixer_quirks Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 004/143] ALSA: usb-audio: Fix whitespace & blank line issues " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 005/143] ALSA: usb-audio: Fix block comments " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 006/143] ALSA: usb-audio: Drop unnecessary parentheses " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 007/143] ALSA: usb-audio: Avoid multiple assignments " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 008/143] ALSA: usb-audio: Simplify NULL comparison " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 009/143] ALSA: usb-audio: Remove unneeded wmb() " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 010/143] ALSA: usb-audio: Add mixer quirk for Sony DualSense PS5 Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 011/143] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 012/143] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 013/143] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 014/143] HID: multitouch: specify that Apple Touch Bar is direct Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 015/143] ALSA: usb-audio: Convert comma to semicolon Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 016/143] ALSA: hda/realtek: Add support for ASUS NUC using CS35L41 HDA Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 017/143] ALSA: usb-audio: Fix build with CONFIG_INPUT=n Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 018/143] usb: core: Add 0x prefix to quirks debug output Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 019/143] net: fec: rename struct fec_devinfo fec_imx6x_info -> fec_imx6sx_info Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 020/143] net: sfp: add quirk for Potron SFP+ XGSPON ONU Stick Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 021/143] drm/panfrost: Drop duplicated Mediatek supplies arrays Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 022/143] drm/panfrost: Commonize Mediatek power domain array definitions Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 023/143] drm/panfrost: Add support for Mali on the MT8370 SoC Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 024/143] mmc: sdhci-cadence: add Mobileye eyeQ support Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 025/143] i2c: designware: Add quirk for Intel Xe Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 026/143] ASoC: Intel: soc-acpi: Add entry for sof_es8336 in PTL match table Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 027/143] ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support " Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 028/143] ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 029/143] platform/x86: oxpec: Add support for OneXPlayer X1 Mini Pro (Strix Point) Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 030/143] ALSA: usb-audio: Add DSD support for Comtrue USB Audio device Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 031/143] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 032/143] ALSA: usb-audio: move mixer_quirks min_mute into common quirk Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 033/143] ALSA: usb-audio: Add mute TLV for playback volumes on more devices Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 034/143] net: sfp: add quirk for FLYPRO copper SFP+ module Greg Kroah-Hartman
2025-09-30 14:45 ` [PATCH 6.16 035/143] IB/mlx5: Fix obj_type mismatch for SRQ event subscriptions Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 036/143] HID: cp2112: fix setter callbacks return value Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 037/143] HID: amd_sfh: Add sync across amd sfh work functions Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 038/143] arm64: dts: rockchip: Fix the headphone detection on the orangepi 5 Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 039/143] firmware: imx: Add stub functions for SCMI MISC API Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 040/143] firmware: imx: Add stub functions for SCMI LMM API Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 041/143] firmware: imx: Add stub functions for SCMI CPU API Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 042/143] arm64: dts: imx8mp: Correct thermal sensor index Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 043/143] ARM: dts: kirkwood: Fix sound DAI cells for OpenRD clients Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 044/143] cpufreq: Initialize cpufreq-based invariance before subsys Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 045/143] smb: server: dont use delayed_work for post_recv_credits_work Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 046/143] smb: server: use disable_work_sync in transport_rdma.c Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 047/143] bpf: Check the helper function is valid in get_helper_proto Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 048/143] selftests/fs/mount-notify: Fix compilation failure Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 049/143] btrfs: dont allow adding block device of less than 1 MB Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 050/143] NFS: Protect against eof page pollution Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 051/143] NFSv4.2: Protect copy offload and clone " Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 052/143] drm/amdkfd: fix p2p links bug in topology Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 053/143] amd/amdkfd: correct mem limit calculation for small APUs Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 054/143] wifi: virt_wifi: Fix page fault on connect Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 055/143] can: rcar_can: rcar_can_resume(): fix s2ram with PSCI Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 056/143] bpf: Reject bpf_timer for PREEMPT_RT Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 057/143] selftests/bpf: Skip timer cases when bpf_timer is not supported Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 058/143] xfrm: xfrm_alloc_spi shouldnt use 0 as SPI Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 059/143] xfrm: fix offloading of cross-family tunnels Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 060/143] can: etas_es58x: populate ndo_change_mtu() to prevent buffer overflow Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 061/143] can: hi311x: " Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 062/143] can: sun4i_can: " Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 063/143] can: mcba_usb: " Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 064/143] can: peak_usb: fix shift-out-of-bounds issue Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 065/143] net: tun: Update napi->skb after XDP process Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 066/143] net/smc: fix warning in smc_rx_splice() when calling get_page() Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 067/143] ethernet: rvu-af: Remove slash from the driver name Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 068/143] Bluetooth: hci_sync: Fix hci_resume_advertising_sync Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 069/143] Bluetooth: hci_event: Fix UAF in hci_conn_tx_dequeue Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 070/143] Bluetooth: hci_event: Fix UAF in hci_acl_create_conn_sync Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 071/143] vhost: Take a reference on the task in struct vhost_task Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 072/143] Bluetooth: MGMT: Fix possible UAFs Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 073/143] broadcom: fix support for PTP_PEROUT_DUTY_CYCLE Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 074/143] broadcom: fix support for PTP_EXTTS_REQUEST2 ioctl Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 075/143] bnxt_en: correct offset handling for IPv6 destination address Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 076/143] net: allow alloc_skb_with_frags() to use MAX_SKB_FRAGS Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 077/143] nexthop: Forbid FDB status change while nexthop is in a group Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 078/143] selftests: fib_nexthops: Fix creation of non-FDB nexthops Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 079/143] net/mlx5: fs, fix UAF in flow counter release Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 080/143] net/mlx5: HWS, remove unused create_dest_array parameter Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 081/143] net/mlx5: HWS, ignore flow level for multi-dest table Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 082/143] net/mlx5e: Fix missing FEC RS stats for RS_544_514_INTERLEAVED_QUAD Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 083/143] net: dsa: lantiq_gswip: move gswip_add_single_port_br() call to port_setup() Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 084/143] net: dsa: lantiq_gswip: suppress -EINVAL errors for bridge FDB entries added to the CPU port Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 085/143] octeontx2-pf: Fix potential use after free in otx2_tc_add_flow() Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 086/143] drm/gma500: Fix null dereference in hdmi teardown Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 087/143] futex: Prevent use-after-free during requeue-PI Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 088/143] gpio: regmap: fix memory leak of gpio_regmap structure Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 089/143] drm/xe/vf: Dont expose sysfs attributes not applicable for VFs Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 090/143] drm/xe: Fix build with CONFIG_MODULES=n Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 091/143] drm/i915/ddi: Guard reg_val against a INVALID_TRANSCODER Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 092/143] drm/amd/display: remove output_tf_change flag Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 093/143] futex: Use correct exit on failure from futex_hash_allocate_default() Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 094/143] drm/panthor: Defer scheduler entitiy destruction to queue release Greg Kroah-Hartman
2025-09-30 14:46 ` [PATCH 6.16 095/143] platform/x86: lg-laptop: Fix WMAB call in fan_mode_store() Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 096/143] smb: client: fix wrong index reference in smb2_compound_op() Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 097/143] Revert "drm/xe/guc: Set RCS/CCS yield policy" Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 098/143] Revert "drm/xe/guc: Enable extended CAT error reporting" Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 099/143] tracing/osnoise: Fix slab-out-of-bounds in _parse_integer_limit() Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 100/143] HID: intel-thc-hid: intel-quickspi: Add WCL Device IDs Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 101/143] HID: asus: add support for missing PX series fn keys Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 102/143] i40e: add validation for ring_len param Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 103/143] i40e: fix idx validation in i40e_validate_queue_map Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 104/143] i40e: fix idx validation in config queues msg Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 105/143] i40e: fix input validation logic for action_meta Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 106/143] i40e: fix validation of VF state in get resources Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 107/143] i40e: add max boundary check for VF filters Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 108/143] i40e: add mask to apply valid bits for itr_idx Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 109/143] i40e: improve VF MAC filters accounting Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 110/143] crypto: af_alg - Fix incorrect boolean values in af_alg_ctx Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 111/143] tracing: dynevent: Add a missing lockdown check on dynevent Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 112/143] tracing: fgraph: Protect return handler from recursion loop Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 113/143] tracing: fprobe: Fix to remove recorded module addresses from filter Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 114/143] ARM: dts: socfpga: sodia: Fix mdio bus probe and PHY address Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 115/143] arm64: dts: marvell: cn913x-solidrun: fix sata ports status Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 116/143] arm64: dts: marvell: cn9132-clearfog: disable eMMC high-speed modes Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 117/143] arm64: dts: marvell: cn9132-clearfog: fix multi-lane pci x2 and x4 ports Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 118/143] drm/xe: Dont copy pinned kernel bos twice on suspend Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 119/143] drm/ast: Use msleep instead of mdelay for edid read Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 120/143] drm/amd/display: Only restore backlight after amdgpu_dm_init or dm_resume Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 121/143] pinctrl: airoha: fix wrong PHY LED mux value for LED1 GPIO46 Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 122/143] pinctrl: airoha: fix wrong MDIO function bitmaks Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 123/143] Revert "vhost/net: Defer TX queue re-enable until after sendmsg" Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 124/143] vhost-net: flush batched before enabling notifications Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 125/143] afs: Fix potential null pointer dereference in afs_put_server Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 126/143] fs/proc/task_mmu: check p->vec_buf for NULL Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 127/143] gpiolib: Extend software-node support to support secondary software-nodes Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 128/143] kmsan: fix out-of-bounds access to shadow memory Greg Kroah-Hartman
2025-09-30 14:47 ` Greg Kroah-Hartman [this message]
2025-09-30 14:47 ` [PATCH 6.16 130/143] riscv: Use an atomic xchg in pudp_huge_get_and_clear() Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 131/143] x86/topology: Implement topology_is_core_online() to address SMT regression Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 132/143] x86/Kconfig: Reenable PTDUMP on i386 Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 133/143] mm/hugetlb: fix folio is still mapped when deleted Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 134/143] mm/damon/sysfs: do not ignore callbacks return value in damon_sysfs_damon_call() Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 135/143] fbcon: fix integer overflow in fbcon_do_set_font Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 136/143] fbcon: Fix OOB access in font allocation Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 137/143] wifi: iwlwifi: fix byte count table for old devices Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 138/143] wifi: iwlwifi: pcie: fix byte count table for some devices Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 139/143] sched_ext: idle: Make local functions static in ext_idle.c Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 140/143] sched_ext: idle: Handle migration-disabled tasks in BPF code Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 141/143] spi: cadence-quadspi: Implement refcount to handle unbind during busy Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 142/143] spi: cadence-qspi: defer runtime support on socfpga if reset bit is enabled Greg Kroah-Hartman
2025-09-30 14:47 ` [PATCH 6.16 143/143] iommufd: Fix race during abort for file descriptors Greg Kroah-Hartman
2025-09-30 18:48 ` 6.16.10-rc1 review Brett A C Sheffield
2025-09-30 19:16 ` [PATCH 6.16 000/143] " Florian Fainelli
2025-09-30 21:10 ` Peter Schneider
2025-10-01  2:45 ` Ron Economos
2025-10-01  7:01 ` Dileep malepu
2025-10-01  8:49 ` Naresh Kamboju
2025-10-01  9:12 ` Jon Hunter
2025-10-01 10:13 ` Mark Brown
2025-10-01 12:07 ` Takeshi Ogasawara
2025-10-01 13:46 ` Justin Forbes
2025-10-01 16:02 ` Shuah Khan
2025-10-01 17:49 ` 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=20250930143836.371690436@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=brauner@kernel.org \
    --cc=dhowells@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=max.kellermann@ionos.com \
    --cc=netfs@lists.linux.dev \
    --cc=patches@lists.linux.dev \
    --cc=pc@manguebit.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.