From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Scott Mitchell <scott.k.mitch1@gmail.com>,
Florian Westphal <fw@strlen.de>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.18 103/198] netfilter: nfnetlink_queue: make hash table per queue
Date: Mon, 20 Apr 2026 17:41:22 +0200 [thread overview]
Message-ID: <20260420153939.310479273@linuxfoundation.org> (raw)
In-Reply-To: <20260420153935.605963767@linuxfoundation.org>
6.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Florian Westphal <fw@strlen.de>
[ Upstream commit 936206e3f6ff411581e615e930263d6f8b78df9d ]
Sharing a global hash table among all queues is tempting, but
it can cause crash:
BUG: KASAN: slab-use-after-free in nfqnl_recv_verdict+0x11ac/0x15e0 [nfnetlink_queue]
[..]
nfqnl_recv_verdict+0x11ac/0x15e0 [nfnetlink_queue]
nfnetlink_rcv_msg+0x46a/0x930
kmem_cache_alloc_node_noprof+0x11e/0x450
struct nf_queue_entry is freed via kfree, but parallel cpu can still
encounter such an nf_queue_entry when walking the list.
Alternative fix is to free the nf_queue_entry via kfree_rcu() instead,
but as we have to alloc/free for each skb this will cause more mem
pressure.
Cc: Scott Mitchell <scott.k.mitch1@gmail.com>
Fixes: e19079adcd26 ("netfilter: nfnetlink_queue: optimize verdict lookup with hash table")
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/net/netfilter/nf_queue.h | 1 -
net/netfilter/nfnetlink_queue.c | 139 +++++++++++--------------------
2 files changed, 49 insertions(+), 91 deletions(-)
diff --git a/include/net/netfilter/nf_queue.h b/include/net/netfilter/nf_queue.h
index 45eb26b2e95b3..d17035d14d96c 100644
--- a/include/net/netfilter/nf_queue.h
+++ b/include/net/netfilter/nf_queue.h
@@ -23,7 +23,6 @@ struct nf_queue_entry {
struct nf_hook_state state;
bool nf_ct_is_unconfirmed;
u16 size; /* sizeof(entry) + saved route keys */
- u16 queue_num;
/* extra space to store route keys */
};
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index a39d3b989063c..fe5942535245d 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -49,8 +49,8 @@
#endif
#define NFQNL_QMAX_DEFAULT 1024
-#define NFQNL_HASH_MIN 1024
-#define NFQNL_HASH_MAX 1048576
+#define NFQNL_HASH_MIN 8
+#define NFQNL_HASH_MAX 32768
/* We're using struct nlattr which has 16bit nla_len. Note that nla_len
* includes the header length. Thus, the maximum packet length that we
@@ -60,29 +60,10 @@
*/
#define NFQNL_MAX_COPY_RANGE (0xffff - NLA_HDRLEN)
-/* Composite key for packet lookup: (net, queue_num, packet_id) */
-struct nfqnl_packet_key {
- possible_net_t net;
- u32 packet_id;
- u16 queue_num;
-} __aligned(sizeof(u32)); /* jhash2 requires 32-bit alignment */
-
-/* Global rhashtable - one for entire system, all netns */
-static struct rhashtable nfqnl_packet_map __read_mostly;
-
-/* Helper to initialize composite key */
-static inline void nfqnl_init_key(struct nfqnl_packet_key *key,
- struct net *net, u32 packet_id, u16 queue_num)
-{
- memset(key, 0, sizeof(*key));
- write_pnet(&key->net, net);
- key->packet_id = packet_id;
- key->queue_num = queue_num;
-}
-
struct nfqnl_instance {
struct hlist_node hlist; /* global list of queues */
- struct rcu_head rcu;
+ struct rhashtable nfqnl_packet_map;
+ struct rcu_work rwork;
u32 peer_portid;
unsigned int queue_maxlen;
@@ -106,6 +87,7 @@ struct nfqnl_instance {
typedef int (*nfqnl_cmpfn)(struct nf_queue_entry *, unsigned long);
+static struct workqueue_struct *nfq_cleanup_wq __read_mostly;
static unsigned int nfnl_queue_net_id __read_mostly;
#define INSTANCE_BUCKETS 16
@@ -124,34 +106,10 @@ static inline u_int8_t instance_hashfn(u_int16_t queue_num)
return ((queue_num >> 8) ^ queue_num) % INSTANCE_BUCKETS;
}
-/* Extract composite key from nf_queue_entry for hashing */
-static u32 nfqnl_packet_obj_hashfn(const void *data, u32 len, u32 seed)
-{
- const struct nf_queue_entry *entry = data;
- struct nfqnl_packet_key key;
-
- nfqnl_init_key(&key, entry->state.net, entry->id, entry->queue_num);
-
- return jhash2((u32 *)&key, sizeof(key) / sizeof(u32), seed);
-}
-
-/* Compare stack-allocated key against entry */
-static int nfqnl_packet_obj_cmpfn(struct rhashtable_compare_arg *arg,
- const void *obj)
-{
- const struct nfqnl_packet_key *key = arg->key;
- const struct nf_queue_entry *entry = obj;
-
- return !net_eq(entry->state.net, read_pnet(&key->net)) ||
- entry->queue_num != key->queue_num ||
- entry->id != key->packet_id;
-}
-
static const struct rhashtable_params nfqnl_rhashtable_params = {
.head_offset = offsetof(struct nf_queue_entry, hash_node),
- .key_len = sizeof(struct nfqnl_packet_key),
- .obj_hashfn = nfqnl_packet_obj_hashfn,
- .obj_cmpfn = nfqnl_packet_obj_cmpfn,
+ .key_offset = offsetof(struct nf_queue_entry, id),
+ .key_len = sizeof(u32),
.automatic_shrinking = true,
.min_size = NFQNL_HASH_MIN,
.max_size = NFQNL_HASH_MAX,
@@ -190,6 +148,10 @@ instance_create(struct nfnl_queue_net *q, u_int16_t queue_num, u32 portid)
spin_lock_init(&inst->lock);
INIT_LIST_HEAD(&inst->queue_list);
+ err = rhashtable_init(&inst->nfqnl_packet_map, &nfqnl_rhashtable_params);
+ if (err < 0)
+ goto out_free;
+
spin_lock(&q->instances_lock);
if (instance_lookup(q, queue_num)) {
err = -EEXIST;
@@ -210,6 +172,8 @@ instance_create(struct nfnl_queue_net *q, u_int16_t queue_num, u32 portid)
out_unlock:
spin_unlock(&q->instances_lock);
+ rhashtable_destroy(&inst->nfqnl_packet_map);
+out_free:
kfree(inst);
return ERR_PTR(err);
}
@@ -217,15 +181,18 @@ instance_create(struct nfnl_queue_net *q, u_int16_t queue_num, u32 portid)
static void nfqnl_flush(struct nfqnl_instance *queue, nfqnl_cmpfn cmpfn,
unsigned long data);
-static void
-instance_destroy_rcu(struct rcu_head *head)
+static void instance_destroy_work(struct work_struct *work)
{
- struct nfqnl_instance *inst = container_of(head, struct nfqnl_instance,
- rcu);
+ struct nfqnl_instance *inst;
+ inst = container_of(to_rcu_work(work), struct nfqnl_instance,
+ rwork);
rcu_read_lock();
nfqnl_flush(inst, NULL, 0);
rcu_read_unlock();
+
+ rhashtable_destroy(&inst->nfqnl_packet_map);
+
kfree(inst);
module_put(THIS_MODULE);
}
@@ -234,7 +201,9 @@ static void
__instance_destroy(struct nfqnl_instance *inst)
{
hlist_del_rcu(&inst->hlist);
- call_rcu(&inst->rcu, instance_destroy_rcu);
+
+ INIT_RCU_WORK(&inst->rwork, instance_destroy_work);
+ queue_rcu_work(nfq_cleanup_wq, &inst->rwork);
}
static void
@@ -250,9 +219,7 @@ __enqueue_entry(struct nfqnl_instance *queue, struct nf_queue_entry *entry)
{
int err;
- entry->queue_num = queue->queue_num;
-
- err = rhashtable_insert_fast(&nfqnl_packet_map, &entry->hash_node,
+ err = rhashtable_insert_fast(&queue->nfqnl_packet_map, &entry->hash_node,
nfqnl_rhashtable_params);
if (unlikely(err))
return err;
@@ -266,23 +233,19 @@ __enqueue_entry(struct nfqnl_instance *queue, struct nf_queue_entry *entry)
static void
__dequeue_entry(struct nfqnl_instance *queue, struct nf_queue_entry *entry)
{
- rhashtable_remove_fast(&nfqnl_packet_map, &entry->hash_node,
+ rhashtable_remove_fast(&queue->nfqnl_packet_map, &entry->hash_node,
nfqnl_rhashtable_params);
list_del(&entry->list);
queue->queue_total--;
}
static struct nf_queue_entry *
-find_dequeue_entry(struct nfqnl_instance *queue, unsigned int id,
- struct net *net)
+find_dequeue_entry(struct nfqnl_instance *queue, unsigned int id)
{
- struct nfqnl_packet_key key;
struct nf_queue_entry *entry;
- nfqnl_init_key(&key, net, id, queue->queue_num);
-
spin_lock_bh(&queue->lock);
- entry = rhashtable_lookup_fast(&nfqnl_packet_map, &key,
+ entry = rhashtable_lookup_fast(&queue->nfqnl_packet_map, &id,
nfqnl_rhashtable_params);
if (entry)
@@ -1531,7 +1494,7 @@ static int nfqnl_recv_verdict(struct sk_buff *skb, const struct nfnl_info *info,
verdict = ntohl(vhdr->verdict);
- entry = find_dequeue_entry(queue, ntohl(vhdr->id), info->net);
+ entry = find_dequeue_entry(queue, ntohl(vhdr->id));
if (entry == NULL)
return -ENOENT;
@@ -1880,40 +1843,38 @@ static int __init nfnetlink_queue_init(void)
{
int status;
- status = rhashtable_init(&nfqnl_packet_map, &nfqnl_rhashtable_params);
- if (status < 0)
- return status;
+ nfq_cleanup_wq = alloc_ordered_workqueue("nfq_workqueue", 0);
+ if (!nfq_cleanup_wq)
+ return -ENOMEM;
status = register_pernet_subsys(&nfnl_queue_net_ops);
- if (status < 0) {
- pr_err("failed to register pernet ops\n");
- goto cleanup_rhashtable;
- }
+ if (status < 0)
+ goto cleanup_pernet_subsys;
- netlink_register_notifier(&nfqnl_rtnl_notifier);
- status = nfnetlink_subsys_register(&nfqnl_subsys);
- if (status < 0) {
- pr_err("failed to create netlink socket\n");
- goto cleanup_netlink_notifier;
- }
+ status = netlink_register_notifier(&nfqnl_rtnl_notifier);
+ if (status < 0)
+ goto cleanup_rtnl_notifier;
status = register_netdevice_notifier(&nfqnl_dev_notifier);
- if (status < 0) {
- pr_err("failed to register netdevice notifier\n");
- goto cleanup_netlink_subsys;
- }
+ if (status < 0)
+ goto cleanup_dev_notifier;
+
+ status = nfnetlink_subsys_register(&nfqnl_subsys);
+ if (status < 0)
+ goto cleanup_nfqnl_subsys;
nf_register_queue_handler(&nfqh);
return status;
-cleanup_netlink_subsys:
- nfnetlink_subsys_unregister(&nfqnl_subsys);
-cleanup_netlink_notifier:
+cleanup_nfqnl_subsys:
+ unregister_netdevice_notifier(&nfqnl_dev_notifier);
+cleanup_dev_notifier:
netlink_unregister_notifier(&nfqnl_rtnl_notifier);
+cleanup_rtnl_notifier:
unregister_pernet_subsys(&nfnl_queue_net_ops);
-cleanup_rhashtable:
- rhashtable_destroy(&nfqnl_packet_map);
+cleanup_pernet_subsys:
+ destroy_workqueue(nfq_cleanup_wq);
return status;
}
@@ -1924,9 +1885,7 @@ static void __exit nfnetlink_queue_fini(void)
nfnetlink_subsys_unregister(&nfqnl_subsys);
netlink_unregister_notifier(&nfqnl_rtnl_notifier);
unregister_pernet_subsys(&nfnl_queue_net_ops);
-
- rhashtable_destroy(&nfqnl_packet_map);
-
+ destroy_workqueue(nfq_cleanup_wq);
rcu_barrier(); /* Wait for completion of call_rcu()'s */
}
--
2.53.0
next prev parent reply other threads:[~2026-04-20 16:01 UTC|newest]
Thread overview: 211+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-20 15:39 [PATCH 6.18 000/198] 6.18.24-rc1 review Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 001/198] dmaengine: idxd: Fix lockdep warnings when calling idxd_device_config() Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 002/198] RDMA/irdma: Fix double free related to rereg_user_mr Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 003/198] ASoC: amd: yc: Add DMI quirk for ASUS EXPERTBOOK BM1403CDA Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 004/198] ALSA: hda/realtek: Add HP ENVY Laptop 13-ba0xxx quirk Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 005/198] ALSA: hda/realtek: add quirk for Lenovo Yoga 7 2-in-1 16AKP10 Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 006/198] ALSA: hda/realtek: Add quirk for ASUS ROG Flow Z13-KJP GZ302EAC Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 007/198] media: rkvdec: reduce stack usage in rkvdec_init_v4l2_vp9_count_tbl() Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 008/198] ALSA: asihpi: avoid write overflow check warning Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 009/198] Bluetooth: hci_sync: annotate data-races around hdev->req_status Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 010/198] ASoC: amd: yc: Add DMI quirk for Thin A15 B7VF Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 011/198] ASoC: SOF: topology: reject invalid vendor array size in token parser Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 012/198] can: mcp251x: add error handling for power enable in open and resume Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 013/198] ASoC: amd: acp: add ASUS HN7306EA quirk for legacy SDW machine Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 014/198] ALSA:usb:qcom: add AUXILIARY_BUS to Kconfig dependencies Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 015/198] platform/x86: asus-nb-wmi: add DMI quirk for ASUS ROG Flow Z13-KJP GZ302EAC Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 016/198] btrfs: fix zero size inode with non-zero size after log replay Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 017/198] platform/x86: hp-wmi: Add support for Omen 16-wf1xxx (8C76) Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 018/198] btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file() Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 019/198] ALSA: hda/realtek: Add mute LED quirk for HP Pavilion 15-eg0xxx Greg Kroah-Hartman
2026-04-20 15:39 ` [PATCH 6.18 020/198] netfilter: ctnetlink: ensure safe access to master conntrack Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 021/198] drm/amdgpu: Handle GPU page faults correctly on non-4K page systems Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 022/198] srcu: Use irq_work to start GP in tiny SRCU Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 023/198] ALSA: hda/realtek: add HP Laptop 15-fd0xxx mute LED quirk Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 024/198] netfilter: nft_set_pipapo_avx2: dont return non-matching entry on expiry Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 025/198] ALSA: hda/realtek: add quirk for Framework F111:000F Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 026/198] wifi: wl1251: validate packet IDs before indexing tx_frames Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 027/198] ASoC: soc-core: call missing INIT_LIST_HEAD() for card_aux_list Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 028/198] ALSA: hda/realtek: Add quirk for Samsung Book2 Pro 360 (NP950QED) Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 029/198] ALSA: usb-audio: Fix quirk flags for NeuralDSP Quad Cortex Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 030/198] ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 031/198] drm/amdkfd: Fix queue preemption/eviction failures by aligning control stack size to GPU page size Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 032/198] fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 033/198] ASoC: amd: yc: Add DMI entry for HP Laptop 15-fc0xxx Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 034/198] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IMH9 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 035/198] pinctrl: intel: Fix the revision for new features (1kOhm PD, HW debouncer) Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 036/198] platform/x86/amd: pmc: Add Thinkpad L14 Gen3 to quirk_s2idle_bug Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 037/198] HID: Intel-thc-hid: Intel-quickspi: Add NVL Device IDs Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 038/198] HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 039/198] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IAH10 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 040/198] HID: roccat: fix use-after-free in roccat_report_event Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 041/198] ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 042/198] wifi: brcmfmac: validate bsscfg indices in IF events Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 043/198] net: sfp: add quirks for Hisense and HSGQ GPON ONT SFP modules Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 044/198] x86: shadow stacks: proper error handling for mmap lock Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 045/198] ASoC: stm32_sai: fix incorrect BCLK polarity for DSP_A/B, LEFT_J Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 046/198] soc: aspeed: socinfo: Mask table entries for accurate SoC ID matching Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 047/198] arm64: dts: qcom: hamoa/x1: fix idle exit latency Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 048/198] arm64: dts: qcom: qcm6490-idp: Fix WCD9370 reset GPIO polarity Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 049/198] arm64: dts: imx8mq: Set the correct gpu_ahb clock frequency Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 050/198] arm64: dts: imx93-9x9-qsb: change usdhc tuning step for eMMC and SD Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 051/198] arm64: dts: imx91-tqma9131: improve eMMC pad configuration Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 052/198] arm64: dts: imx93-tqma9352: " Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 053/198] arm64: dts: qcom: monaco: Fix UART10 pinconf Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 054/198] soc: qcom: pd-mapper: Fix element length in servreg_loc_pfr_req_ei Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 055/198] tools/power/turbostat: Fix microcode patch level output for AMD/Hygon Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 056/198] tools/power turbostat: Fix --show/--hide for individual cpuidle counters Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 057/198] arm64: dts: qcom: monaco: Reserve full Gunyah metadata region Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 058/198] ARM: dts: microchip: sam9x7: fix gpio-lines count for pioB Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 059/198] PCI: hv: Set default NUMA node to 0 for devices without affinity info Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 060/198] HID: amd_sfh: dont log error when device discovery fails with -EOPNOTSUPP Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 061/198] xfrm: account XFRMA_IF_ID in aevent size calculation Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 062/198] dma-mapping: add DMA_ATTR_CPU_CACHE_CLEAN Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 063/198] dma-debug: track cache clean flag in entries Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 064/198] dma-debug: suppress cacheline overlap warning when arch has no DMA alignment requirement Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 065/198] drm/vc4: Release runtime PM reference after binding V3D Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 066/198] drm/vc4: Fix memory leak of BO array in hang state Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 067/198] drm/vc4: Fix a memory leak in hang state error path Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 068/198] drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 069/198] eventpoll: defer struct eventpoll free to RCU grace period Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 070/198] net: sched: act_csum: validate nested VLAN headers Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 071/198] net: lapbether: handle NETDEV_PRE_TYPE_CHANGE Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 072/198] net: airoha: Fix memory leak in airoha_qdma_rx_process() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 073/198] ipv6: ioam: fix potential NULL dereferences in __ioam6_fill_trace_data() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 074/198] bridge: guard local VLAN-0 FDB helpers against NULL vlan group Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 075/198] rtnetlink: add missing netlink_ns_capable() check for peer netns Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 076/198] ipv4: nexthop: avoid duplicate NHA_HW_STATS_ENABLE on nexthop group dump Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 077/198] ipv4: nexthop: allocate skb dynamically in rtm_get_nexthop() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 078/198] ipv4: icmp: fix null-ptr-deref in icmp_build_probe() Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 079/198] net: increase IP_TUNNEL_RECURSION_LIMIT to 5 Greg Kroah-Hartman
2026-04-20 15:40 ` [PATCH 6.18 080/198] nfc: s3fwrn5: allocate rx skb before consuming bytes Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 081/198] net: stmmac: Fix PTP ref clock for Tegra234 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 082/198] dt-bindings: net: Fix Tegra234 MGBE PTP clock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 083/198] tracing/probe: reject non-closed empty immediate strings Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 084/198] ice: ptp: dont WARN when controlling PF is unavailable Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 085/198] ixgbe: stop re-reading flash on every get_drvinfo for e610 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 086/198] ixgbevf: add missing negotiate_features op to Hyper-V ops table Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 087/198] e1000: check return value of e1000_read_eeprom Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 088/198] xsk: tighten UMEM headroom validation to account for tailroom and min frame Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 089/198] xsk: respect tailroom for ZC setups Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 090/198] xsk: fix XDP_UMEM_SG_FLAG issues Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 091/198] xsk: validate MTU against usable frame size on bind Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 092/198] xfrm: Wait for RCU readers during policy netns exit Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 093/198] xfrm: fix refcount leak in xfrm_migrate_policy_find Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 094/198] xfrm_user: fix info leak in build_mapping() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 095/198] ASoC: Intel: avs: Fix memory leak in avs_register_i2s_test_boards() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 096/198] drm/xe: Fix bug in idledly unit conversion Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 097/198] selftests: net: bridge_vlan_mcast: wait for h1 before querier check Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 098/198] ipvs: fix NULL deref in ip_vs_add_service error path Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 099/198] netfilter: nfnetlink_log: initialize nfgenmsg in NLMSG_DONE terminator Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 100/198] netfilter: xt_multiport: validate range encoding in checkentry Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 101/198] netfilter: ip6t_eui64: reject invalid MAC header for all packets Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 102/198] netfilter: nfnetlink_queue: nfqnl_instance GFP_ATOMIC -> GFP_KERNEL_ACCOUNT allocation Greg Kroah-Hartman
2026-04-20 15:41 ` Greg Kroah-Hartman [this message]
2026-04-20 15:41 ` [PATCH 6.18 104/198] ASoC: SDCA: Fix overwritten var within for loop Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 105/198] ASoC: amd: acp: update DMI quirk and add ACP DMIC for Lenovo platforms Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 106/198] net: mdio: realtek-rtl9300: use scoped device_for_each_child_node loop Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 107/198] net: ioam6: fix OOB and missing lock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 108/198] net: txgbe: leave space for null terminators on property_entry Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 109/198] af_unix: read UNIX_DIAG_VFS data under unix_state_lock Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 110/198] devlink: Fix incorrect skb socket family dumping Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 111/198] net: ipa: fix GENERIC_CMD register field masks for IPA v5.0+ Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 112/198] net: ipa: fix event ring index not programmed " Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 113/198] l2tp: Drop large packets with UDP encap Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 114/198] gpio: tegra: fix irq_release_resources calling enable instead of disable Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 115/198] crypto: af_alg - limit RX SG extraction by receive buffer budget Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 116/198] perf/x86/intel/uncore: Skip discovery table for offline dies Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 117/198] sched/deadline: Use revised wakeup rule for dl_server Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 118/198] clockevents: Prevent timer interrupt starvation Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 119/198] crypto: af_alg - Fix page reassignment overflow in af_alg_pull_tsgl Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 120/198] crypto: algif_aead - Fix minimum RX size check for decryption Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 121/198] netfilter: conntrack: add missing netlink policy validations Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 122/198] nfc: llcp: add missing return after LLCP_CLOSED checks Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 123/198] can: raw: fix ro->uniq use-after-free in raw_rcv() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 124/198] i2c: s3c24xx: check the size of the SMBUS message before using it Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 125/198] staging: rtl8723bs: initialize le_tmp64 in rtw_BIP_verify() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 126/198] HID: alps: fix NULL pointer dereference in alps_raw_event() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 127/198] HID: core: clamp report_size in s32ton() to avoid undefined shift Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 128/198] net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 129/198] NFC: digital: Bounds check NFC-A cascade depth in SDD response handler Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 130/198] drm/vc4: platform_get_irq_byname() returns an int Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 131/198] ALSA: usx2y: us144mkii: fix NULL deref on missing interface 0 Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 132/198] ALSA: fireworks: bound device-supplied status before string array lookup Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 133/198] fbdev: tdfxfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 134/198] usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 135/198] usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 136/198] usb: gadget: renesas_usb3: validate endpoint index in standard request handlers Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 137/198] smb: client: fix off-by-8 bounds check in check_wsl_eas() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 138/198] smb: client: fix OOB reads parsing symlink error response Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 139/198] ksmbd: validate EaNameLength in smb2_get_ea() Greg Kroah-Hartman
2026-04-20 15:41 ` [PATCH 6.18 140/198] ksmbd: require 3 sub-authorities before reading sub_auth[2] Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 141/198] ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 142/198] smb: client: avoid double-free in smbd_free_send_io() after smbd_send_batch_flush() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 143/198] smb: server: avoid double-free in smb_direct_free_sendmsg after smb_direct_flush_send_list() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 144/198] usbip: validate number_of_packets in usbip_pack_ret_submit() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 145/198] usb: typec: fusb302: Switch to threaded IRQ handler Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 146/198] usb: storage: Expand range of matched versions for VL817 quirks entry Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 147/198] USB: cdc-acm: Add quirks for Yoga Book 9 14IAH10 INGENIC touchscreen Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 148/198] usb: gadget: f_hid: dont call cdev_init while cdev in use Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 149/198] usb: port: add delay after usb_hub_set_port_power() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 150/198] fbdev: udlfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 151/198] scripts: generate_rust_analyzer.py: avoid FD leak Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 152/198] wifi: rtw88: fix device leak on probe failure Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 153/198] staging: sm750fb: fix division by zero in ps_to_hz() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 154/198] USB: serial: option: add Telit Cinterion FN990A MBIM composition Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 155/198] Docs/admin-guide/mm/damon/reclaim: warn commit_inputs vs param updates race Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 156/198] ALSA: ctxfi: Limit PTP to a single page Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 157/198] dcache: Limit the minimal number of bucket to two Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 158/198] arm64: mm: Handle invalid large leaf mappings correctly Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 159/198] media: vidtv: fix NULL pointer dereference in vidtv_channel_pmt_match_sections Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 160/198] ocfs2: fix possible deadlock between unlink and dio_end_io_write Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 161/198] ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 162/198] ocfs2: handle invalid dinode in ocfs2_group_extend Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 163/198] PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 164/198] PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 165/198] KVM: selftests: Remove duplicate LAUNCH_UPDATE_VMSA call in SEV-ES migrate test Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 166/198] KVM: SEV: Reject attempts to sync VMSA of an already-launched/encrypted vCPU Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 167/198] KVM: SEV: Protect *all* of sev_mem_enc_register_region() with kvm->lock Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 168/198] KVM: SEV: Disallow LAUNCH_FINISH if vCPUs are actively being created Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 169/198] KVM: SEV: Lock all vCPUs when synchronzing VMSAs for SNP launch finish Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 170/198] KVM: SEV: Drop WARN on large size for KVM_MEMORY_ENCRYPT_REG_REGION Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 171/198] selftests/bpf: Test refinement of single-value tnum Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 172/198] KVM: Remove subtle "struct kvm_stats_desc" pseudo-overlay Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 173/198] KVM: x86: Use __DECLARE_FLEX_ARRAY() for UAPI structures with VLAs Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 174/198] ocfs2: add inline inode consistency check to ocfs2_validate_inode_block() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 175/198] ocfs2: validate inline data i_size during inode read Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 176/198] ocfs2: fix out-of-bounds write in ocfs2_write_end_inline Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 177/198] checkpatch: add support for Assisted-by tag Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 178/198] x86-64: rename misleadingly named __copy_user_nocache() function Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 179/198] x86: rename and clean up __copy_from_user_inatomic_nocache() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 180/198] x86-64/arm64/powerpc: clean up and rename __copy_from_user_flushcache Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 181/198] KVM: x86: Use scratch field in MMIO fragment to hold small write values Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 182/198] ASoC: qcom: q6apm: move component registration to unmanaged version Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 183/198] mm/kasan: fix double free for kasan pXds Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 184/198] mm: blk-cgroup: fix use-after-free in cgwb_release_workfn() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 185/198] media: vidtv: fix nfeeds state corruption on start_streaming failure Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 186/198] media: mediatek: vcodec: fix use-after-free in encoder release path Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 187/198] media: em28xx: fix use-after-free in em28xx_v4l2_open() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 188/198] hwmon: (powerz) Fix use-after-free on USB disconnect Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 189/198] ALSA: 6fire: fix use-after-free on disconnect Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 190/198] bcache: fix cached_dev.sb_bio use-after-free and crash Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 191/198] wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 192/198] media: as102: fix to not free memory after the device is registered in as102_usb_probe() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 193/198] nilfs2: fix NULL i_assoc_inode dereference in nilfs_mdt_save_to_shadow_map Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 194/198] media: vidtv: fix pass-by-value structs causing MSAN warnings Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 195/198] media: hackrf: fix to not free memory after the device is registered in hackrf_probe() Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 196/198] mm/userfaultfd: fix hugetlb fault mutex hash calculation Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 197/198] dma-debug: Allow multiple invocations of overlapping entries Greg Kroah-Hartman
2026-04-20 15:42 ` [PATCH 6.18 198/198] dma-mapping: handle DMA_ATTR_CPU_CACHE_CLEAN in trace output Greg Kroah-Hartman
2026-04-20 17:29 ` [PATCH 6.18 000/198] 6.18.24-rc1 review Florian Fainelli
2026-04-20 21:11 ` Peter Schneider
2026-04-21 7:04 ` Ron Economos
2026-04-21 8:08 ` Brett A C Sheffield
2026-04-21 9:55 ` Miguel Ojeda
2026-04-21 15:02 ` Greg KH
2026-04-21 11:16 ` Wentao Guan
2026-04-21 14:04 ` Mark Brown
2026-04-21 15:02 ` Greg Kroah-Hartman
2026-04-21 15:37 ` Dileep malepu
2026-04-21 16:55 ` Shuah Khan
2026-04-21 19:33 ` 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=20260420153939.310479273@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=fw@strlen.de \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=scott.k.mitch1@gmail.com \
--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