From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Jordan Rife <jordan@jrife.io>,
Martin KaFai Lau <martin.lau@kernel.org>,
Kuniyuki Iwashima <kuniyu@amazon.com>,
Stanislav Fomichev <sdf@fomichev.me>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 023/156] bpf: tcp: Make sure iter->batch always contains a full bucket snapshot
Date: Mon, 17 Aug 2026 15:32:37 +0200 [thread overview]
Message-ID: <20260817132535.537532024@linuxfoundation.org> (raw)
In-Reply-To: <20260817132534.666299318@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jordan Rife <jordan@jrife.io>
[ Upstream commit cdec67a489d4fdae3e83e04fca0419136a83c4c2 ]
Require that iter->batch always contains a full bucket snapshot. This
invariant is important to avoid skipping or repeating sockets during
iteration when combined with the next few patches. Before, there were
two cases where a call to bpf_iter_tcp_batch may only capture part of a
bucket:
1. When bpf_iter_tcp_realloc_batch() returns -ENOMEM.
2. When more sockets are added to the bucket while calling
bpf_iter_tcp_realloc_batch(), making the updated batch size
insufficient.
In cases where the batch size only covers part of a bucket, it is
possible to forget which sockets were already visited, especially if we
have to process a bucket in more than two batches. This forces us to
choose between repeating or skipping sockets, so don't allow this:
1. Stop iteration and propagate -ENOMEM up to userspace if reallocation
fails instead of continuing with a partial batch.
2. Try bpf_iter_tcp_realloc_batch() with GFP_USER just as before, but if
we still aren't able to capture the full bucket, call
bpf_iter_tcp_realloc_batch() again while holding the bucket lock to
guarantee the bucket does not change. On the second attempt use
GFP_NOWAIT since we hold onto the spin lock.
I did some manual testing to exercise the code paths where GFP_NOWAIT is
used and where ERR_PTR(err) is returned. I used the realloc test cases
included later in this series to trigger a scenario where a realloc
happens inside bpf_iter_tcp_batch and made a small code tweak to force
the first realloc attempt to allocate a too-small batch, thus requiring
another attempt with GFP_NOWAIT. Some printks showed both reallocs with
the tests passing:
Jun 27 00:00:53 crow kernel: again GFP_USER
Jun 27 00:00:53 crow kernel: again GFP_NOWAIT
Jun 27 00:00:53 crow kernel: again GFP_USER
Jun 27 00:00:53 crow kernel: again GFP_NOWAIT
With this setup, I also forced each of the bpf_iter_tcp_realloc_batch
calls to return -ENOMEM to ensure that iteration ends and that the
read() in userspace fails.
Signed-off-by: Jordan Rife <jordan@jrife.io>
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Stable-dep-of: e5fd3f514e27 ("bpf: tcp: Fix use-after-free in bpf_iter_tcp_established_batch()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
net/ipv4/tcp_ipv4.c | 109 +++++++++++++++++++++++++++++++-------------
1 file changed, 77 insertions(+), 32 deletions(-)
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 17bd4e3b4558d..d584ce27b2ddd 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -2819,7 +2819,7 @@ static int bpf_iter_tcp_realloc_batch(struct bpf_tcp_iter_state *iter,
if (!new_batch)
return -ENOMEM;
- bpf_iter_tcp_put_batch(iter);
+ memcpy(new_batch, iter->batch, sizeof(*iter->batch) * iter->end_sk);
kvfree(iter->batch);
iter->batch = new_batch;
iter->max_sk = new_batch_sz;
@@ -2828,69 +2828,95 @@ static int bpf_iter_tcp_realloc_batch(struct bpf_tcp_iter_state *iter,
}
static unsigned int bpf_iter_tcp_listening_batch(struct seq_file *seq,
- struct sock *start_sk)
+ struct sock **start_sk)
{
- struct inet_hashinfo *hinfo = seq_file_net(seq)->ipv4.tcp_death_row.hashinfo;
struct bpf_tcp_iter_state *iter = seq->private;
- struct tcp_iter_state *st = &iter->state;
struct hlist_nulls_node *node;
unsigned int expected = 1;
struct sock *sk;
- sock_hold(start_sk);
- iter->batch[iter->end_sk++] = start_sk;
+ sock_hold(*start_sk);
+ iter->batch[iter->end_sk++] = *start_sk;
- sk = sk_nulls_next(start_sk);
+ sk = sk_nulls_next(*start_sk);
+ *start_sk = NULL;
sk_nulls_for_each_from(sk, node) {
if (seq_sk_match(seq, sk)) {
if (iter->end_sk < iter->max_sk) {
sock_hold(sk);
iter->batch[iter->end_sk++] = sk;
+ } else if (!*start_sk) {
+ /* Remember where we left off. */
+ *start_sk = sk;
}
expected++;
}
}
- spin_unlock(&hinfo->lhash2[st->bucket].lock);
return expected;
}
static unsigned int bpf_iter_tcp_established_batch(struct seq_file *seq,
- struct sock *start_sk)
+ struct sock **start_sk)
{
- struct inet_hashinfo *hinfo = seq_file_net(seq)->ipv4.tcp_death_row.hashinfo;
struct bpf_tcp_iter_state *iter = seq->private;
- struct tcp_iter_state *st = &iter->state;
struct hlist_nulls_node *node;
unsigned int expected = 1;
struct sock *sk;
- sock_hold(start_sk);
- iter->batch[iter->end_sk++] = start_sk;
+ sock_hold(*start_sk);
+ iter->batch[iter->end_sk++] = *start_sk;
- sk = sk_nulls_next(start_sk);
+ sk = sk_nulls_next(*start_sk);
+ *start_sk = NULL;
sk_nulls_for_each_from(sk, node) {
if (seq_sk_match(seq, sk)) {
if (iter->end_sk < iter->max_sk) {
sock_hold(sk);
iter->batch[iter->end_sk++] = sk;
+ } else if (!*start_sk) {
+ /* Remember where we left off. */
+ *start_sk = sk;
}
expected++;
}
}
- spin_unlock_bh(inet_ehash_lockp(hinfo, st->bucket));
return expected;
}
+static unsigned int bpf_iter_fill_batch(struct seq_file *seq,
+ struct sock **start_sk)
+{
+ struct bpf_tcp_iter_state *iter = seq->private;
+ struct tcp_iter_state *st = &iter->state;
+
+ if (st->state == TCP_SEQ_STATE_LISTENING)
+ return bpf_iter_tcp_listening_batch(seq, start_sk);
+ else
+ return bpf_iter_tcp_established_batch(seq, start_sk);
+}
+
+static void bpf_iter_tcp_unlock_bucket(struct seq_file *seq)
+{
+ struct inet_hashinfo *hinfo = seq_file_net(seq)->ipv4.tcp_death_row.hashinfo;
+ struct bpf_tcp_iter_state *iter = seq->private;
+ struct tcp_iter_state *st = &iter->state;
+
+ if (st->state == TCP_SEQ_STATE_LISTENING)
+ spin_unlock(&hinfo->lhash2[st->bucket].lock);
+ else
+ spin_unlock_bh(inet_ehash_lockp(hinfo, st->bucket));
+}
+
static struct sock *bpf_iter_tcp_batch(struct seq_file *seq)
{
struct inet_hashinfo *hinfo = seq_file_net(seq)->ipv4.tcp_death_row.hashinfo;
struct bpf_tcp_iter_state *iter = seq->private;
struct tcp_iter_state *st = &iter->state;
unsigned int expected;
- bool resized = false;
struct sock *sk;
+ int err;
/* The st->bucket is done. Directly advance to the next
* bucket instead of having the tcp_seek_last_pos() to skip
@@ -2907,33 +2933,52 @@ static struct sock *bpf_iter_tcp_batch(struct seq_file *seq)
}
}
-again:
- /* Get a new batch */
iter->cur_sk = 0;
iter->end_sk = 0;
- iter->st_bucket_done = false;
+ iter->st_bucket_done = true;
sk = tcp_seek_last_pos(seq);
if (!sk)
return NULL; /* Done */
- if (st->state == TCP_SEQ_STATE_LISTENING)
- expected = bpf_iter_tcp_listening_batch(seq, sk);
- else
- expected = bpf_iter_tcp_established_batch(seq, sk);
+ expected = bpf_iter_fill_batch(seq, &sk);
+ if (likely(iter->end_sk == expected))
+ goto done;
- if (iter->end_sk == expected) {
- iter->st_bucket_done = true;
- return sk;
- }
+ /* Batch size was too small. */
+ bpf_iter_tcp_unlock_bucket(seq);
+ bpf_iter_tcp_put_batch(iter);
+ err = bpf_iter_tcp_realloc_batch(iter, expected * 3 / 2,
+ GFP_USER);
+ if (err)
+ return ERR_PTR(err);
+
+ iter->cur_sk = 0;
+ iter->end_sk = 0;
+
+ sk = tcp_seek_last_pos(seq);
+ if (!sk)
+ return NULL; /* Done */
+
+ expected = bpf_iter_fill_batch(seq, &sk);
+ if (likely(iter->end_sk == expected))
+ goto done;
- if (!resized && !bpf_iter_tcp_realloc_batch(iter, expected * 3 / 2,
- GFP_USER)) {
- resized = true;
- goto again;
+ /* Batch size was still too small. Hold onto the lock while we try
+ * again with a larger batch to make sure the current bucket's size
+ * does not change in the meantime.
+ */
+ err = bpf_iter_tcp_realloc_batch(iter, expected, GFP_NOWAIT);
+ if (err) {
+ bpf_iter_tcp_unlock_bucket(seq);
+ return ERR_PTR(err);
}
- return sk;
+ expected = bpf_iter_fill_batch(seq, &sk);
+ WARN_ON_ONCE(iter->end_sk != expected);
+done:
+ bpf_iter_tcp_unlock_bucket(seq);
+ return iter->batch[0];
}
static void *bpf_iter_tcp_seq_start(struct seq_file *seq, loff_t *pos)
--
2.53.0
next prev parent reply other threads:[~2026-08-17 14:53 UTC|newest]
Thread overview: 159+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 13:32 [PATCH 6.6 000/156] 6.6.152-rc1 review Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 001/156] mount: honour SB_NOUSER in the new mount API Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 002/156] selftests/bpf: Fail unbound UDP on sockmap update Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 003/156] s390/zcrypt: Fix missing mem scrub at clear key import in cca_clr2cipherkey() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 004/156] NFS: Pin the struct nfs_server during a FREE_STATEID call Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 005/156] ARM: npcm: Fix OF node refcount leaks in SMP setup Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 006/156] ARM: dts: BCM5301X: fix PCIe controller 2 second interrupt Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 007/156] drm/bridge: ps8640: propagate AUX transfer register errors Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 008/156] Revert "net: thunderbolt: Enable end-to-end flow control also in transmit" Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 009/156] bonding: alb: re-check primary_is_promisc under RTNL in bond_alb_monitor Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 010/156] net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 011/156] netfilter: ipset: switch ext_size to atomic64_t Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 012/156] ipvs: avoid out-of-bounds write in ip_vs_nat_icmp Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 013/156] ipvs: return the csum validation for forward hook Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 014/156] btrfs: fix memory leak in btrfs_do_encoded_write() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 015/156] bpf: Preserve pointer state for commuted arithmetic Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 016/156] net/smc: fix qentry overwrite for CONFIRM_LINK and ADD_LINK_CONT in smc_llc_event_handler() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 017/156] net/sched: cls_route: fix fastmap use-after-free on filter Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 018/156] net: hisilicon: hix5hd2_gmac: remove redundant NAPI delete Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 019/156] devlink: fix net namespace reference leak in reload Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 020/156] net/mlx5: fw_tracer, return NULL on create error Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 021/156] counter: microchip-tcb-capture: Fix DT channel validation Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 022/156] bpf: tcp: Make mem flags configurable through bpf_iter_tcp_realloc_batch Greg Kroah-Hartman
2026-08-17 13:32 ` Greg Kroah-Hartman [this message]
2026-08-17 13:32 ` [PATCH 6.6 024/156] bpf: tcp: Get rid of st_bucket_done Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 025/156] bpf: tcp: Use bpf_tcp_iter_batch_item for bpf_tcp_iter_state batch items Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 026/156] bpf: tcp: Avoid socket skips and repeats during iteration Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 027/156] bpf: tcp: Fix use-after-free in bpf_iter_tcp_established_batch() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 028/156] vhost/vdpa: reject overflowing PA map page counts on 32-bit Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 029/156] tcp: do not change rcv_ssthresh in tcp_measure_rcv_mss() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 030/156] udp: fix potential use-after-free in tunnel segmentation Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 031/156] net/sched: sch_cake: drop WARN_ON(1) for malformed packets in ACK filter Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 032/156] net/openvswitch: check Ethernet header length in key_extract() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 033/156] net: sched: cls_api: add skip_sw counter Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 034/156] net: sched: cls_api: add filter counter Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 035/156] net: sched: make skip_sw actually skip software Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 036/156] net: sched: cls_api: fix slab-use-after-free in fl_dump_key Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 037/156] net: sched: refine software bypass handling in tc_run Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 038/156] net/sched: cls_api: Always acquire rtnl_lock when destroying locked classifiers Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 039/156] hwmon: (nzxt-smart2) Check return value of init_device() in probe Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 040/156] hwmon: (lm25066) Use i2c_get_match_data() Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 041/156] hwmon: (pmbus/lm25066) Fix PMBus coefficient calculations Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 042/156] selftests/ftrace: refactor eprobes test to fix argument checks Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 043/156] bnxt_en: Do not set EOP on RX AGG BDs on 5760X chips Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 044/156] bnxt_en: Disable EOP for TPA on all chips to prevent data corruption Greg Kroah-Hartman
2026-08-17 13:32 ` [PATCH 6.6 045/156] bnxt_en: Fix PTP PPS setting bug Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 046/156] sctp: fix addip_serial increment on ASCONF_ACK allocation failure Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 047/156] tcp: fix TFO max_qlen accounting across reuseport migration Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 048/156] net/ncsi: fix heap OOB read in NCSI_CMD_SEND_CMD payload length Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 049/156] net: prestera: validate firmware header length Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 050/156] net: remove WARN_ON_ONCE() from sk_mc_loop() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 051/156] net/smc: fix TOCTOU race between smc_listen_out() and listener close Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 052/156] net: thunderbolt: Tear down DMA paths before stopping the rings Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 053/156] ata: pata_sl82c105: fix bridge revision use-after-free Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 054/156] net/tcp: Prepare tcp_md5sig_pool for TCP-AO Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 055/156] net/tcp: Add TCP-AO config and structures Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 056/156] net/atm: fix slab-out-of-bounds read in vcc_setsockopt() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 057/156] sctp: clear control chunk transport if it is being removed Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 058/156] tls: dont abort the connection on signal-interrupted sends Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 059/156] hwmon: (corsair-psu) fix possible out-of-bounds access on missing string termination Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 060/156] regulator: devres: add API for reference voltage supplies Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 061/156] hwmon: (ads7828) Fix external VREF regulator handling Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 062/156] net: fec: do not release NULL pages when RX buffer allocation fails Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 063/156] spi: spi-fsl-dspi: Avoid setup_accel logic for DMA transfers Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 064/156] Input: evdev - sanitize event type index when fetching event masks Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 065/156] ALSA: usb-audio: fix OOB write on Type II inbound URBs Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 066/156] usb: atm: cxacru: properly kill rcv_urb on error in cxacru_cm() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 067/156] thunderbolt: icm: Preserve USB4 proxy data-valid bit Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 068/156] usb: cdnsp: fix incorrect endian conversions for APB timeout register Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 069/156] usb: gadget: f_ncm: Use unsigned int for ndp_index Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 070/156] net: usb: ax88179_178a: fix skb leak in ax88179_tx_fixup() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 071/156] vt: add permission check for KDSKBMETA ioctl Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 072/156] vt: stabilize tty reference in kbd_keycode with tty_port_tty_get Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 073/156] Input: evdev - fix information leak in evdev_pass_values() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 074/156] ima: fix out-of-bounds read in xattr_verify() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 075/156] ipvs: stop estimator after disabled calc phase Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 076/156] ipvs: add totalconns for dest Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 077/156] ipvs: properly update the overload flag on dest edit Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 078/156] ipvs: clear IPv4 options after rebasing tunnel ICMP errors Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 079/156] packet: use consistent hard_header_len in non-ring send paths Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 080/156] packet: use consistent hard_header_len in TX_RING send path Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 081/156] net/packet: reset the MAC header on the packet-socket transmit path Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 082/156] packet: synchronize pressure clearing with ring reconfiguration Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 083/156] net: openvswitch: reallocate update replies for mismatched IDs Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 084/156] net/sched: reject overly deep qdisc hierarchies Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 085/156] net: octeontx2-pf: Fix UB in shift operation Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 086/156] net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 087/156] mac802154: fix netdev use-after-free in beacon worker Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 088/156] netfilter: ebt_nflog: pin the NFLOG backend Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 089/156] net: bridge: mrp: fix uninitialised bytes on the wire Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 090/156] KVM: s390: pci: Fix memory accounting for pinned/unpinned pages Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 091/156] KVM: s390: pci: Fix missing error codes and memory unaccounting Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 092/156] KVM: s390: pci: Fix resource leak on IRQ registration failure Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 093/156] KVM: s390: pci: Fix aisb calculation Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 094/156] dt-bindings: crypto: qcom,ice: Fix missing power-domain and iface clk Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 095/156] futex: Prevent robust futex exit race some more Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 096/156] fortify: refactor test_fortify Makefile to fix some build problems Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 097/156] fortify: Disable -Wstringop-overread in tests Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 098/156] pinctrl: renesas: rzg2l: Use -ENOTSUPP instead of -EOPNOTSUPP Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 099/156] fscrypt: Replace mk_users keyring with simple list Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 100/156] selftests/bpf: Adapt sockmap update error handling Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 101/156] ipv4: Fix fib_nlmsg_size() for RTA_VIA nexthops Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 102/156] ipv4: fix use-after-free in fib_nhc_update_mtu() Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 103/156] mei: pull kvfree out of spinlock Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 104/156] serial: 8250_dma: Clear stale RX state on shutdown Greg Kroah-Hartman
2026-08-17 13:33 ` [PATCH 6.6 105/156] staging: rtl8723bs: fix OOB read in rtw_get_wpa_ie() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 106/156] staging: rtl8723bs: fix OOB read in WMM_param_handler() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 107/156] staging: rtl8723bs: fix missing shared-key auth challenge length check Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 108/156] staging: rtl8723bs: validate monitor transmit frame lengths Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 109/156] misc: fastrpc: fix channel ctx ref leak when session alloc fails Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 110/156] misc: fastrpc: Remove buffer from list prior to unmap operation Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 111/156] misc: fastrpc: take fl->lock when moving mmaps on interrupted invoke Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 112/156] misc: fastrpc: fix memory leak in fastrpc_channel_ctx_free Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 113/156] ring-buffer: Fix crash passing ERR_PTR to kthread_stop() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 114/156] ALSA: usb: Fix UAF at delayed release of MIDI2 EPs Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 115/156] ALSA: usx2y: bound the hwdep mmap fault offset Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 116/156] tracing: Fix race between update_event_fields and, event_define_fields Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 117/156] fbdev: bitblit: bound-check glyph index in bit_cursor() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 118/156] net: smc: fix splice entry lifetime imbalance in smc_rx_splice Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 119/156] ipv6: prevent in6_dev_get() from resurrecting inet6_dev Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 120/156] netfilter: bridge: release template ct on non-IP path Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 121/156] netfilter: nf_conntrack: defer invalid log until after unlock Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 122/156] net: atlantic: free stranded TX buffers on ring deinit Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 123/156] net: atlantic: free RX pages of consumed but not refilled buffers Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 124/156] net/sched: act_ct: fix sk_buff leak when the header checks reject a packet Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 125/156] net/sched: act_gact, act_police: range check the fallback control action Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 126/156] ovl: dont warn when the mount is completed from another user namespace Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 127/156] Revert "drm/amdgpu: fix aperture mapping leak" Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 128/156] xdp: reject clones that overrun skb_shared_info tailroom Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 129/156] vxlan: do not arm the ageing timer on a device that is down Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 130/156] vsock/virtio: read virtqueues under worker locks Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 131/156] vsock/virtio: avoid refilling the RX queue after teardown Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 132/156] veth: fix skb length accounting after XDP frag adjustment Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 133/156] vhost: reset the vring metadata cache on vring reconfiguration Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 134/156] tls: dont leave a full plaintext sk_msg ring unpushed Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 135/156] tipc: read le->link under the node lock in tipc_node_link_down() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 136/156] smb: client: Fix use-after-free in cifs_try_adding_channels() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 137/156] KVM: x86/mmu: WARN and clear role.invalid when creating a child shadow page Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 138/156] eventfs: Fix use-after-free in eventfs_remove_rec() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 139/156] eventfs: Use children field for rcu head and add memory barriers Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 140/156] Revert "thermal/drivers/hwmon: Cleanup coding style a bit" Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 141/156] ptp: ocp: Fix board ID over-read Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 142/156] ring-buffer: Use current_context for safe per-CPU buffer swap Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 143/156] ipv6: fix Route Information option length validation Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 144/156] ip6_tunnel: clear skb2->cb[] in ip6ip6_err() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 145/156] fscrypt: use the mount idmap for the owner check in fscrypt_ioctl_set_policy() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 146/156] sched/psi: Shut down rtpoll_timer in psi_cgroup_free() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 147/156] bpf, sockmap: Fix sk_redir use-after-free in send verdict Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 148/156] scsi: scsi_debug: Negate wrapped memcmp() result Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 149/156] sctp: keep chunk->transport in step with the list it is queued on Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 150/156] sctp: fix use-after-free of cached ASCONF chunk Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 151/156] sctp: clear new_transport when removing a peer Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 152/156] thunderbolt: Bound the DROM dual link port number before indexing sw->ports Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 153/156] bpf: tcp: fix double sock release on batch realloc Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 154/156] net/tcp_sigpool: Fix some off by one bugs Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 155/156] net/tcp_sigpool: Use kref_get_unless_zero() Greg Kroah-Hartman
2026-08-17 13:34 ` [PATCH 6.6 156/156] regulator: devres: fix devm_regulator_get_enable_read_voltage() return Greg Kroah-Hartman
2026-08-17 17:54 ` [PATCH 6.6 000/156] 6.6.152-rc1 review Peter Schneider
2026-08-17 17:58 ` Pavel Machek
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=20260817132535.537532024@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=jordan@jrife.io \
--cc=kuniyu@amazon.com \
--cc=martin.lau@kernel.org \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=sdf@fomichev.me \
--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