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
next prev 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).