stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Pablo Neira Ayuso <pablo@netfilter.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.3 117/187] netfilter: nf_tables: integrate pipapo into commit protocol
Date: Mon, 19 Jun 2023 12:28:55 +0200	[thread overview]
Message-ID: <20230619102203.216232666@linuxfoundation.org> (raw)
In-Reply-To: <20230619102157.579823843@linuxfoundation.org>

From: Pablo Neira Ayuso <pablo@netfilter.org>

[ Upstream commit 212ed75dc5fb9d1423b3942c8f872a868cda3466 ]

The pipapo set backend follows copy-on-update approach, maintaining one
clone of the existing datastructure that is being updated. The clone
and current datastructures are swapped via rcu from the commit step.

The existing integration with the commit protocol is flawed because
there is no operation to clean up the clone if the transaction is
aborted. Moreover, the datastructure swap happens on set element
activation.

This patch adds two new operations for sets: commit and abort, these new
operations are invoked from the commit and abort steps, after the
transactions have been digested, and it updates the pipapo set backend
to use it.

This patch adds a new ->pending_update field to sets to maintain a list
of sets that require this new commit and abort operations.

Fixes: 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/net/netfilter/nf_tables.h |  4 ++-
 net/netfilter/nf_tables_api.c     | 56 +++++++++++++++++++++++++++++++
 net/netfilter/nft_set_pipapo.c    | 55 +++++++++++++++++++++---------
 3 files changed, 99 insertions(+), 16 deletions(-)

diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index 3eb7d20ddfc97..300bce4d67cec 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -462,7 +462,8 @@ struct nft_set_ops {
 					       const struct nft_set *set,
 					       const struct nft_set_elem *elem,
 					       unsigned int flags);
-
+	void				(*commit)(const struct nft_set *set);
+	void				(*abort)(const struct nft_set *set);
 	u64				(*privsize)(const struct nlattr * const nla[],
 						    const struct nft_set_desc *desc);
 	bool				(*estimate)(const struct nft_set_desc *desc,
@@ -557,6 +558,7 @@ struct nft_set {
 	u16				policy;
 	u16				udlen;
 	unsigned char			*udata;
+	struct list_head		pending_update;
 	/* runtime data below here */
 	const struct nft_set_ops	*ops ____cacheline_aligned;
 	u16				flags:14,
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 368aeabd8f8f1..f90b1113e5ecc 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -4850,6 +4850,7 @@ static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info,
 
 	set->num_exprs = num_exprs;
 	set->handle = nf_tables_alloc_handle(table);
+	INIT_LIST_HEAD(&set->pending_update);
 
 	err = nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set);
 	if (err < 0)
@@ -9190,10 +9191,25 @@ static void nf_tables_commit_audit_log(struct list_head *adl, u32 generation)
 	}
 }
 
+static void nft_set_commit_update(struct list_head *set_update_list)
+{
+	struct nft_set *set, *next;
+
+	list_for_each_entry_safe(set, next, set_update_list, pending_update) {
+		list_del_init(&set->pending_update);
+
+		if (!set->ops->commit)
+			continue;
+
+		set->ops->commit(set);
+	}
+}
+
 static int nf_tables_commit(struct net *net, struct sk_buff *skb)
 {
 	struct nftables_pernet *nft_net = nft_pernet(net);
 	struct nft_trans *trans, *next;
+	LIST_HEAD(set_update_list);
 	struct nft_trans_elem *te;
 	struct nft_chain *chain;
 	struct nft_table *table;
@@ -9359,6 +9375,11 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb)
 			nf_tables_setelem_notify(&trans->ctx, te->set,
 						 &te->elem,
 						 NFT_MSG_NEWSETELEM);
+			if (te->set->ops->commit &&
+			    list_empty(&te->set->pending_update)) {
+				list_add_tail(&te->set->pending_update,
+					      &set_update_list);
+			}
 			nft_trans_destroy(trans);
 			break;
 		case NFT_MSG_DELSETELEM:
@@ -9373,6 +9394,11 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb)
 				atomic_dec(&te->set->nelems);
 				te->set->ndeact--;
 			}
+			if (te->set->ops->commit &&
+			    list_empty(&te->set->pending_update)) {
+				list_add_tail(&te->set->pending_update,
+					      &set_update_list);
+			}
 			break;
 		case NFT_MSG_NEWOBJ:
 			if (nft_trans_obj_update(trans)) {
@@ -9435,6 +9461,8 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb)
 		}
 	}
 
+	nft_set_commit_update(&set_update_list);
+
 	nft_commit_notify(net, NETLINK_CB(skb).portid);
 	nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN);
 	nf_tables_commit_audit_log(&adl, nft_net->base_seq);
@@ -9494,10 +9522,25 @@ static void nf_tables_abort_release(struct nft_trans *trans)
 	kfree(trans);
 }
 
+static void nft_set_abort_update(struct list_head *set_update_list)
+{
+	struct nft_set *set, *next;
+
+	list_for_each_entry_safe(set, next, set_update_list, pending_update) {
+		list_del_init(&set->pending_update);
+
+		if (!set->ops->abort)
+			continue;
+
+		set->ops->abort(set);
+	}
+}
+
 static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 {
 	struct nftables_pernet *nft_net = nft_pernet(net);
 	struct nft_trans *trans, *next;
+	LIST_HEAD(set_update_list);
 	struct nft_trans_elem *te;
 
 	if (action == NFNL_ABORT_VALIDATE &&
@@ -9602,6 +9645,12 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 			nft_setelem_remove(net, te->set, &te->elem);
 			if (!nft_setelem_is_catchall(te->set, &te->elem))
 				atomic_dec(&te->set->nelems);
+
+			if (te->set->ops->abort &&
+			    list_empty(&te->set->pending_update)) {
+				list_add_tail(&te->set->pending_update,
+					      &set_update_list);
+			}
 			break;
 		case NFT_MSG_DELSETELEM:
 		case NFT_MSG_DESTROYSETELEM:
@@ -9612,6 +9661,11 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 			if (!nft_setelem_is_catchall(te->set, &te->elem))
 				te->set->ndeact--;
 
+			if (te->set->ops->abort &&
+			    list_empty(&te->set->pending_update)) {
+				list_add_tail(&te->set->pending_update,
+					      &set_update_list);
+			}
 			nft_trans_destroy(trans);
 			break;
 		case NFT_MSG_NEWOBJ:
@@ -9654,6 +9708,8 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 		}
 	}
 
+	nft_set_abort_update(&set_update_list);
+
 	synchronize_rcu();
 
 	list_for_each_entry_safe_reverse(trans, next,
diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c
index 06d46d1826347..15e451dc3fc46 100644
--- a/net/netfilter/nft_set_pipapo.c
+++ b/net/netfilter/nft_set_pipapo.c
@@ -1600,17 +1600,10 @@ static void pipapo_free_fields(struct nft_pipapo_match *m)
 	}
 }
 
-/**
- * pipapo_reclaim_match - RCU callback to free fields from old matching data
- * @rcu:	RCU head
- */
-static void pipapo_reclaim_match(struct rcu_head *rcu)
+static void pipapo_free_match(struct nft_pipapo_match *m)
 {
-	struct nft_pipapo_match *m;
 	int i;
 
-	m = container_of(rcu, struct nft_pipapo_match, rcu);
-
 	for_each_possible_cpu(i)
 		kfree(*per_cpu_ptr(m->scratch, i));
 
@@ -1625,7 +1618,19 @@ static void pipapo_reclaim_match(struct rcu_head *rcu)
 }
 
 /**
- * pipapo_commit() - Replace lookup data with current working copy
+ * pipapo_reclaim_match - RCU callback to free fields from old matching data
+ * @rcu:	RCU head
+ */
+static void pipapo_reclaim_match(struct rcu_head *rcu)
+{
+	struct nft_pipapo_match *m;
+
+	m = container_of(rcu, struct nft_pipapo_match, rcu);
+	pipapo_free_match(m);
+}
+
+/**
+ * nft_pipapo_commit() - Replace lookup data with current working copy
  * @set:	nftables API set representation
  *
  * While at it, check if we should perform garbage collection on the working
@@ -1635,7 +1640,7 @@ static void pipapo_reclaim_match(struct rcu_head *rcu)
  * We also need to create a new working copy for subsequent insertions and
  * deletions.
  */
-static void pipapo_commit(const struct nft_set *set)
+static void nft_pipapo_commit(const struct nft_set *set)
 {
 	struct nft_pipapo *priv = nft_set_priv(set);
 	struct nft_pipapo_match *new_clone, *old;
@@ -1660,6 +1665,26 @@ static void pipapo_commit(const struct nft_set *set)
 	priv->clone = new_clone;
 }
 
+static void nft_pipapo_abort(const struct nft_set *set)
+{
+	struct nft_pipapo *priv = nft_set_priv(set);
+	struct nft_pipapo_match *new_clone, *m;
+
+	if (!priv->dirty)
+		return;
+
+	m = rcu_dereference(priv->match);
+
+	new_clone = pipapo_clone(m);
+	if (IS_ERR(new_clone))
+		return;
+
+	priv->dirty = false;
+
+	pipapo_free_match(priv->clone);
+	priv->clone = new_clone;
+}
+
 /**
  * nft_pipapo_activate() - Mark element reference as active given key, commit
  * @net:	Network namespace
@@ -1667,8 +1692,7 @@ static void pipapo_commit(const struct nft_set *set)
  * @elem:	nftables API element representation containing key data
  *
  * On insertion, elements are added to a copy of the matching data currently
- * in use for lookups, and not directly inserted into current lookup data, so
- * we'll take care of that by calling pipapo_commit() here. Both
+ * in use for lookups, and not directly inserted into current lookup data. Both
  * nft_pipapo_insert() and nft_pipapo_activate() are called once for each
  * element, hence we can't purpose either one as a real commit operation.
  */
@@ -1684,8 +1708,6 @@ static void nft_pipapo_activate(const struct net *net,
 
 	nft_set_elem_change_active(net, set, &e->ext);
 	nft_set_elem_clear_busy(&e->ext);
-
-	pipapo_commit(set);
 }
 
 /**
@@ -1931,7 +1953,6 @@ static void nft_pipapo_remove(const struct net *net, const struct nft_set *set,
 		if (i == m->field_count) {
 			priv->dirty = true;
 			pipapo_drop(m, rulemap);
-			pipapo_commit(set);
 			return;
 		}
 
@@ -2230,6 +2251,8 @@ const struct nft_set_type nft_set_pipapo_type = {
 		.init		= nft_pipapo_init,
 		.destroy	= nft_pipapo_destroy,
 		.gc_init	= nft_pipapo_gc_init,
+		.commit		= nft_pipapo_commit,
+		.abort		= nft_pipapo_abort,
 		.elemsize	= offsetof(struct nft_pipapo_elem, ext),
 	},
 };
@@ -2252,6 +2275,8 @@ const struct nft_set_type nft_set_pipapo_avx2_type = {
 		.init		= nft_pipapo_init,
 		.destroy	= nft_pipapo_destroy,
 		.gc_init	= nft_pipapo_gc_init,
+		.commit		= nft_pipapo_commit,
+		.abort		= nft_pipapo_abort,
 		.elemsize	= offsetof(struct nft_pipapo_elem, ext),
 	},
 };
-- 
2.39.2




  parent reply	other threads:[~2023-06-19 10:37 UTC|newest]

Thread overview: 200+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-19 10:26 [PATCH 6.3 000/187] 6.3.9-rc1 review Greg Kroah-Hartman
2023-06-19 10:26 ` [PATCH 6.3 001/187] x86/head/64: Switch to KERNEL_CS as soon as new GDT is installed Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 002/187] cgroup: bpf: use cgroup_lock()/cgroup_unlock() wrappers Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 003/187] cgroup: always put cset in cgroup_css_set_put_fork Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 004/187] cgroup: fix missing cpus_read_{lock,unlock}() in cgroup_transfer_tasks() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 005/187] qcom: llcc/edac: Fix the base address used for accessing LLCC banks Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 006/187] EDAC/qcom: Get rid of hardcoded register offsets Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 007/187] ksmbd: validate smb request protocol id Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 008/187] of: overlay: Fix missing of_node_put() in error case of init_overlay_changeset() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 009/187] power: supply: ab8500: Fix external_power_changed race Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 010/187] power: supply: sc27xx: " Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 011/187] power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 012/187] ARM: dts: vexpress: add missing cache properties Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 013/187] arm64: dts: arm: " Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 014/187] tools: gpio: fix debounce_period_us output of lsgpio Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 015/187] selftests: gpio: gpio-sim: Fix BUG: test FAILED due to recent change Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 016/187] power: supply: Ratelimit no data debug output Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 017/187] PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 018/187] platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 019/187] regulator: Fix error checking for debugfs_create_dir Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 020/187] irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 021/187] irqchip/meson-gpio: Mark OF related data as maybe unused Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 022/187] power: supply: Fix logic checking if system is running from battery Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 023/187] drm: panel-orientation-quirks: Change Airs quirk to support Air Plus Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 024/187] btrfs: scrub: try harder to mark RAID56 block groups read-only Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 025/187] btrfs: handle memory allocation failure in btrfs_csum_one_bio Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 026/187] ASoC: soc-pcm: test if a BE can be prepared Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 027/187] sfc: fix devlink info error handling Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 028/187] ASoC: Intel: avs: Account for UID of ACPI device Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 029/187] ASoC: Intel: avs: Fix avs_path_module::instance_id size Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 030/187] ASoC: Intel: avs: Add missing checks on FE startup Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 031/187] parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 032/187] parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 033/187] erofs: use HIPRI by default if per-cpu kthreads are enabled Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 034/187] MIPS: unhide PATA_PLATFORM Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 035/187] MIPS: Restore Au1300 support Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 036/187] MIPS: Alchemy: fix dbdma2 Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 037/187] mips: Move initrd_start check after initrd address sanitisation Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 038/187] ASoC: cs35l41: Fix default regmap values for some registers Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 039/187] ASoC: dwc: move DMA init to snd_soc_dai_driver probe() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 040/187] xen/blkfront: Only check REQ_FUA for writes Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 041/187] drm:amd:amdgpu: Fix missing buffer object unlock in failure path Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 042/187] io_uring: unlock sqd->lock before sq thread release CPU Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 043/187] NVMe: Add MAXIO 1602 to bogus nid list Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 044/187] irqchip/gic: Correctly validate OF quirk descriptors Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 045/187] wifi: cfg80211: fix locking in regulatory disconnect Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 046/187] wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 047/187] epoll: ep_autoremove_wake_function should use list_del_init_careful Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 048/187] ocfs2: fix use-after-free when unmounting read-only filesystem Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 049/187] ocfs2: check new file size on fallocate call Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 050/187] zswap: do not shrink if cgroup may not zswap Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 051/187] mm/damon/core: fix divide error in damon_nr_accesses_to_accesses_bp() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 052/187] nios2: dts: Fix tse_mac "max-frame-size" property Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 053/187] mm/uffd: fix vma operation where start addr cuts part of vma Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 054/187] nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 055/187] nilfs2: fix possible out-of-bounds segment allocation in resize ioctl Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 056/187] nilfs2: reject devices with insufficient block count Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 057/187] LoongArch: Fix debugfs_create_dir() error checking Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 058/187] LoongArch: Fix perf event id calculation Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 059/187] io_uring/net: save msghdr->msg_control for retries Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 060/187] Revert "drm/amdgpu: remove TOPDOWN flags when allocating VRAM in large bar system" Greg Kroah-Hartman
2023-06-19 10:27 ` [PATCH 6.3 061/187] kexec: support purgatories with .text.hot sections Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 062/187] x86/purgatory: remove PGO flags Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 063/187] riscv/purgatory: " Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 064/187] powerpc/purgatory: " Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 065/187] btrfs: subpage: fix a crash in metadata repair path Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 066/187] btrfs: properly enable async discard when switching from RO->RW Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 067/187] btrfs: do not ASSERT() on duplicated global roots Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 068/187] btrfs: fix iomap_begin length for nocow writes Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 069/187] btrfs: can_nocow_file_extent should pass down args->strict from callers Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 070/187] ALSA: usb-audio: Fix broken resume due to UAC3 power state Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 071/187] ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 072/187] s390/ism: Fix trying to free already-freed IRQ by repeated ism_dev_exit() Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 073/187] dm thin metadata: check fail_io before using data_sm Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 074/187] dm thin: fix issue_discard to pass GFP_NOIO to __blkdev_issue_discard Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 075/187] net: ethernet: stmicro: stmmac: fix possible memory leak in __stmmac_open Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 076/187] nouveau: fix client work fence deletion race Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 077/187] mm/gup_test: fix ioctl fail for compat task Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 078/187] RDMA/uverbs: Restrict usage of privileged QKEYs Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 079/187] drm/amdgpu: vcn_4_0 set instance 0 init sched score to 1 Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 080/187] net: usb: qmi_wwan: add support for Compal RXM-G1 Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 081/187] drm/amd/display: limit DPIA link rate to HBR3 Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 082/187] drm/amd/display: edp do not add non-edid timings Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 083/187] drm/amd: Make sure image is written to trigger VBIOS image update flow Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 084/187] drm/amd: Tighten permissions on VBIOS flashing attributes Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 085/187] drm/amd/pm: workaround for compute workload type on some skus Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 086/187] drm/amdgpu: add missing radeon secondary PCI ID Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 087/187] drm/amdgpu: Reset CP_VMID_PREEMPT after trailing fence signaled Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 088/187] drm/amdgpu: Program gds backup address as zero if no gds allocated Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 089/187] drm/amdgpu: Implement gfx9 patch functions for resubmission Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 090/187] drm/amdgpu: Modify indirect buffer packages " Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 091/187] ALSA: hda/realtek: Add a quirk for Compaq N14JP6 Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 092/187] thunderbolt: Increase DisplayPort Connection Manager handshake timeout Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 093/187] thunderbolt: Do not touch CL state configuration during discovery Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 094/187] thunderbolt: dma_test: Use correct value for absent rings when creating paths Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 095/187] thunderbolt: Mask ring interrupt on Intel hardware as well Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 096/187] clk: pxa: fix NULL pointer dereference in pxa3xx_clk_update_accr Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 097/187] USB: serial: option: add Quectel EM061KGL series Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 098/187] serial: lantiq: add missing interrupt ack Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 099/187] tty: serial: fsl_lpuart: reduce RX watermark to 0 on LS1028A Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 100/187] usb: typec: ucsi: Fix command cancellation Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 101/187] usb: typec: Fix fast_role_swap_current show function Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 102/187] usb: gadget: udc: core: Offload usb_udc_vbus_handler processing Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 103/187] usb: gadget: udc: core: Prevent soft_connect_store() race Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 104/187] usb: gadget: udc: renesas_usb3: Fix RZ/V2M {modprobe,bind} error Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 105/187] USB: dwc3: qcom: fix NULL-deref on suspend Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 106/187] USB: dwc3: fix use-after-free on core driver unbind Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 107/187] usb: dwc3: gadget: Reset num TRBs before giving back the request Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 108/187] RDMA/rtrs: Fix the last iu->buf leak in err path Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 109/187] RDMA/rtrs: Fix rxe_dealloc_pd warning Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 110/187] RDMA/rxe: Fix packet length checks Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 111/187] RDMA/rxe: Fix ref count error in check_rkey() Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 112/187] RDMA/bnxt_re: Fix reporting active_{speed,width} attributes Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 113/187] spi: cadence-quadspi: Add missing check for dma_set_mask Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 114/187] spi: fsl-dspi: avoid SCK glitches with continuous transfers Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 115/187] regulator: qcom-rpmh: add support for pmm8654au regulators Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 116/187] regulator: qcom-rpmh: Fix regulators for PM8550 Greg Kroah-Hartman
2023-06-19 10:28 ` Greg Kroah-Hartman [this message]
2023-06-19 10:28 ` [PATCH 6.3 118/187] netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 119/187] ice: do not busy-wait to read GNSS data Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 120/187] ice: Dont dereference NULL in ice_gnss_read error path Greg Kroah-Hartman
2023-06-19 10:28 ` [PATCH 6.3 121/187] ice: Fix XDP memory leak when NIC is brought up and down Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 122/187] netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 123/187] net: enetc: correct the indexes of highest and 2nd highest TCs Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 124/187] ping6: Fix send to link-local addresses with VRF Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 125/187] igb: Fix extts capture value format for 82580/i354/i350 Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 126/187] net/sched: act_pedit: remove extra check for key type Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 127/187] net/sched: act_pedit: Parse L3 Header for L4 offset Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 128/187] net: renesas: rswitch: Fix timestamp feature after all descriptors are used Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 129/187] octeontx2-af: Fix promiscuous mode Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 130/187] net/sched: taprio: fix slab-out-of-bounds Read in taprio_dequeue_from_txq Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 131/187] net/sched: cls_u32: Fix reference counter leak leading to overflow Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 132/187] wifi: mac80211: fix link activation settings order Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 133/187] wifi: cfg80211: fix link del callback to call correct handler Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 134/187] wifi: mac80211: take lock before setting vif links Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 135/187] RDMA/rxe: Fix the use-before-initialization error of resp_pkts Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 136/187] iavf: remove mask from iavf_irq_enable_queues() Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 137/187] octeontx2-af: fixed resource availability check Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 138/187] octeontx2-af: fix lbk link credits on cn10k Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 139/187] RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 140/187] RDMA/mlx5: Create an indirect flow table for steering anchor Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 141/187] RDMA/cma: Always set static rate to 0 for RoCE Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 142/187] IB/uverbs: Fix to consider event queue closing also upon non-blocking mode Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 143/187] RDMA/mlx5: Fix affinity assignment Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 144/187] IB/isert: Fix dead lock in ib_isert Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 145/187] IB/isert: Fix possible list corruption in CMA handler Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 146/187] IB/isert: Fix incorrect release of isert connection Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 147/187] net: ethtool: correct MAX attribute value for stats Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 148/187] wifi: mac80211: fragment per STA profile correctly Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 149/187] ipvlan: fix bound dev checking for IPv6 l3s mode Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 150/187] sctp: fix an error code in sctp_sf_eat_auth() Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 151/187] igc: Clean the TX buffer and TX descriptor ring Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 152/187] igc: Fix possible system crash when loading module Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 153/187] igb: fix nvm.ops.read() error handling Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 154/187] net: phylink: report correct max speed for QUSGMII Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 155/187] net: phylink: use a dedicated helper to parse usgmii control word Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 156/187] drm/nouveau: dont detect DSM for non-NVIDIA device Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 157/187] drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 158/187] drm/nouveau/dp: check for NULL nv_connector->native_mode Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 159/187] drm/nouveau: add nv_encoder pointer check for NULL Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 160/187] net: ethernet: ti: am65-cpsw: Call of_node_put() on error path Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 161/187] selftests/tc-testing: Fix Error: Specified qdisc kind is unknown Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 162/187] selftests/tc-testing: Fix Error: failed to find target LOG Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 163/187] selftests/tc-testing: Fix SFB db test Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 164/187] net/sched: act_ct: Fix promotion of offloaded unreplied tuple Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 165/187] net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 166/187] net/sched: qdisc_destroy() old ingress and clsact Qdiscs before grafting Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 167/187] selftests: forwarding: hw_stats_l3: Set addrgenmode in a separate step Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 168/187] cifs: fix lease break oops in xfstest generic/098 Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 169/187] RDMA/rxe: Fix rxe_cq_post Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 170/187] Revert "media: dvb-core: Fix use-after-free on race condition at dvb_frontend" Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 171/187] ext4: drop the call to ext4_error() from ext4_get_group_info() Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 172/187] ice: Fix ice module unload Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 173/187] net/sched: cls_api: Fix lockup on flushing explicitly created chain Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 174/187] net: dsa: felix: fix taprio guard band overflow at 10Mbps with jumbo frames Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 175/187] net: lapbether: only support ethernet devices Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 176/187] net: macsec: fix double free of percpu stats Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 177/187] sfc: fix XDP queues mode with legacy IRQ Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 178/187] dm: dont lock fs when the map is NULL during suspend or resume Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 179/187] net: tipc: resize nlattr array to correct size Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 180/187] selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET Greg Kroah-Hartman
2023-06-19 10:29 ` [PATCH 6.3 181/187] octeon_ep: Add missing check for ioremap Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 182/187] afs: Fix vlserver probe RTT handling Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 183/187] parisc: Delete redundant register definitions in <asm/assembly.h> Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 184/187] arm64: dts: qcom: sm8550: Use the correct LLCC register scheme Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 185/187] neighbour: delete neigh_lookup_nodev as not used Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 186/187] scsi: target: core: Fix error path in target_setup_session() Greg Kroah-Hartman
2023-06-19 10:30 ` [PATCH 6.3 187/187] blk-cgroup: Flush stats before releasing blkcg_gq Greg Kroah-Hartman
2023-06-19 19:01 ` [PATCH 6.3 000/187] 6.3.9-rc1 review Markus Reichelt
2023-06-19 19:42 ` Florian Fainelli
2023-06-20  0:11 ` Ron Economos
2023-06-20  5:29 ` Naresh Kamboju
2023-06-20  9:14 ` Chris Paterson
2023-06-20 10:22 ` Jon Hunter
2023-06-20 10:53 ` Conor Dooley
2023-06-20 12:20 ` Sudip Mukherjee (Codethink)
2023-06-20 17:09 ` Allen Pais
2023-06-20 20:17 ` Shuah Khan
2023-06-21  0:39 ` Guenter Roeck
2023-06-21  1:43 ` Justin Forbes

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=20230619102203.216232666@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=pablo@netfilter.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.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).