public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Pablo Neira Ayuso <pablo@netfilter.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.4 017/292] netfilter: nf_tables: report use refcount overflow
Date: Fri, 21 Jul 2023 18:02:06 +0200	[thread overview]
Message-ID: <20230721160529.549922025@linuxfoundation.org> (raw)
In-Reply-To: <20230721160528.800311148@linuxfoundation.org>

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

[ Upstream commit 1689f25924ada8fe14a4a82c38925d04994c7142 ]

Overflow use refcount checks are not complete.

Add helper function to deal with object reference counter tracking.
Report -EMFILE in case UINT_MAX is reached.

nft_use_dec() splats in case that reference counter underflows,
which should not ever happen.

Add nft_use_inc_restore() and nft_use_dec_restore() which are used
to restore reference counter from error and abort paths.

Use u32 in nft_flowtable and nft_object since helper functions cannot
work on bitfields.

Remove the few early incomplete checks now that the helper functions
are in place and used to check for refcount overflow.

Fixes: 96518518cc41 ("netfilter: add nftables")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/net/netfilter/nf_tables.h |  31 +++++-
 net/netfilter/nf_tables_api.c     | 163 ++++++++++++++++++------------
 net/netfilter/nft_flow_offload.c  |   6 +-
 net/netfilter/nft_immediate.c     |   8 +-
 net/netfilter/nft_objref.c        |   8 +-
 5 files changed, 141 insertions(+), 75 deletions(-)

diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index ee47d7143d99f..1b0beb8f08aee 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -1211,6 +1211,29 @@ int __nft_release_basechain(struct nft_ctx *ctx);
 
 unsigned int nft_do_chain(struct nft_pktinfo *pkt, void *priv);
 
+static inline bool nft_use_inc(u32 *use)
+{
+	if (*use == UINT_MAX)
+		return false;
+
+	(*use)++;
+
+	return true;
+}
+
+static inline void nft_use_dec(u32 *use)
+{
+	WARN_ON_ONCE((*use)-- == 0);
+}
+
+/* For error and abort path: restore use counter to previous state. */
+static inline void nft_use_inc_restore(u32 *use)
+{
+	WARN_ON_ONCE(!nft_use_inc(use));
+}
+
+#define nft_use_dec_restore	nft_use_dec
+
 /**
  *	struct nft_table - nf_tables table
  *
@@ -1296,8 +1319,8 @@ struct nft_object {
 	struct list_head		list;
 	struct rhlist_head		rhlhead;
 	struct nft_object_hash_key	key;
-	u32				genmask:2,
-					use:30;
+	u32				genmask:2;
+	u32				use;
 	u64				handle;
 	u16				udlen;
 	u8				*udata;
@@ -1399,8 +1422,8 @@ struct nft_flowtable {
 	char				*name;
 	int				hooknum;
 	int				ops_len;
-	u32				genmask:2,
-					use:30;
+	u32				genmask:2;
+	u32				use;
 	u64				handle;
 	/* runtime data below here */
 	struct list_head		hook_list ____cacheline_aligned;
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 79719e8cda799..18546f9b2a63a 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -253,8 +253,10 @@ int nf_tables_bind_chain(const struct nft_ctx *ctx, struct nft_chain *chain)
 	if (chain->bound)
 		return -EBUSY;
 
+	if (!nft_use_inc(&chain->use))
+		return -EMFILE;
+
 	chain->bound = true;
-	chain->use++;
 	nft_chain_trans_bind(ctx, chain);
 
 	return 0;
@@ -437,7 +439,7 @@ static int nft_delchain(struct nft_ctx *ctx)
 	if (IS_ERR(trans))
 		return PTR_ERR(trans);
 
-	ctx->table->use--;
+	nft_use_dec(&ctx->table->use);
 	nft_deactivate_next(ctx->net, ctx->chain);
 
 	return 0;
@@ -476,7 +478,7 @@ nf_tables_delrule_deactivate(struct nft_ctx *ctx, struct nft_rule *rule)
 	/* You cannot delete the same rule twice */
 	if (nft_is_active_next(ctx->net, rule)) {
 		nft_deactivate_next(ctx->net, rule);
-		ctx->chain->use--;
+		nft_use_dec(&ctx->chain->use);
 		return 0;
 	}
 	return -ENOENT;
@@ -643,7 +645,7 @@ static int nft_delset(const struct nft_ctx *ctx, struct nft_set *set)
 		nft_map_deactivate(ctx, set);
 
 	nft_deactivate_next(ctx->net, set);
-	ctx->table->use--;
+	nft_use_dec(&ctx->table->use);
 
 	return err;
 }
@@ -675,7 +677,7 @@ static int nft_delobj(struct nft_ctx *ctx, struct nft_object *obj)
 		return err;
 
 	nft_deactivate_next(ctx->net, obj);
-	ctx->table->use--;
+	nft_use_dec(&ctx->table->use);
 
 	return err;
 }
@@ -710,7 +712,7 @@ static int nft_delflowtable(struct nft_ctx *ctx,
 		return err;
 
 	nft_deactivate_next(ctx->net, flowtable);
-	ctx->table->use--;
+	nft_use_dec(&ctx->table->use);
 
 	return err;
 }
@@ -2395,9 +2397,6 @@ static int nf_tables_addchain(struct nft_ctx *ctx, u8 family, u8 genmask,
 	struct nft_chain *chain;
 	int err;
 
-	if (table->use == UINT_MAX)
-		return -EOVERFLOW;
-
 	if (nla[NFTA_CHAIN_HOOK]) {
 		struct nft_stats __percpu *stats = NULL;
 		struct nft_chain_hook hook = {};
@@ -2493,6 +2492,11 @@ static int nf_tables_addchain(struct nft_ctx *ctx, u8 family, u8 genmask,
 	if (err < 0)
 		goto err_destroy_chain;
 
+	if (!nft_use_inc(&table->use)) {
+		err = -EMFILE;
+		goto err_use;
+	}
+
 	trans = nft_trans_chain_add(ctx, NFT_MSG_NEWCHAIN);
 	if (IS_ERR(trans)) {
 		err = PTR_ERR(trans);
@@ -2509,10 +2513,11 @@ static int nf_tables_addchain(struct nft_ctx *ctx, u8 family, u8 genmask,
 		goto err_unregister_hook;
 	}
 
-	table->use++;
-
 	return 0;
+
 err_unregister_hook:
+	nft_use_dec_restore(&table->use);
+err_use:
 	nf_tables_unregister_hook(net, table, chain);
 err_destroy_chain:
 	nf_tables_chain_destroy(ctx);
@@ -3841,9 +3846,6 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
 			return -EINVAL;
 		handle = nf_tables_alloc_handle(table);
 
-		if (chain->use == UINT_MAX)
-			return -EOVERFLOW;
-
 		if (nla[NFTA_RULE_POSITION]) {
 			pos_handle = be64_to_cpu(nla_get_be64(nla[NFTA_RULE_POSITION]));
 			old_rule = __nft_rule_lookup(chain, pos_handle);
@@ -3937,6 +3939,11 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
 		}
 	}
 
+	if (!nft_use_inc(&chain->use)) {
+		err = -EMFILE;
+		goto err_release_rule;
+	}
+
 	if (info->nlh->nlmsg_flags & NLM_F_REPLACE) {
 		err = nft_delrule(&ctx, old_rule);
 		if (err < 0)
@@ -3968,7 +3975,6 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
 		}
 	}
 	kvfree(expr_info);
-	chain->use++;
 
 	if (flow)
 		nft_trans_flow_rule(trans) = flow;
@@ -3979,6 +3985,7 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
 	return 0;
 
 err_destroy_flow_rule:
+	nft_use_dec_restore(&chain->use);
 	if (flow)
 		nft_flow_rule_destroy(flow);
 err_release_rule:
@@ -5015,9 +5022,15 @@ static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info,
 	alloc_size = sizeof(*set) + size + udlen;
 	if (alloc_size < size || alloc_size > INT_MAX)
 		return -ENOMEM;
+
+	if (!nft_use_inc(&table->use))
+		return -EMFILE;
+
 	set = kvzalloc(alloc_size, GFP_KERNEL_ACCOUNT);
-	if (!set)
-		return -ENOMEM;
+	if (!set) {
+		err = -ENOMEM;
+		goto err_alloc;
+	}
 
 	name = nla_strdup(nla[NFTA_SET_NAME], GFP_KERNEL_ACCOUNT);
 	if (!name) {
@@ -5075,7 +5088,7 @@ static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info,
 		goto err_set_expr_alloc;
 
 	list_add_tail_rcu(&set->list, &table->sets);
-	table->use++;
+
 	return 0;
 
 err_set_expr_alloc:
@@ -5087,6 +5100,9 @@ static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info,
 	kfree(set->name);
 err_set_name:
 	kvfree(set);
+err_alloc:
+	nft_use_dec_restore(&table->use);
+
 	return err;
 }
 
@@ -5225,9 +5241,6 @@ int nf_tables_bind_set(const struct nft_ctx *ctx, struct nft_set *set,
 	struct nft_set_binding *i;
 	struct nft_set_iter iter;
 
-	if (set->use == UINT_MAX)
-		return -EOVERFLOW;
-
 	if (!list_empty(&set->bindings) && nft_set_is_anonymous(set))
 		return -EBUSY;
 
@@ -5255,10 +5268,12 @@ int nf_tables_bind_set(const struct nft_ctx *ctx, struct nft_set *set,
 			return iter.err;
 	}
 bind:
+	if (!nft_use_inc(&set->use))
+		return -EMFILE;
+
 	binding->chain = ctx->chain;
 	list_add_tail_rcu(&binding->list, &set->bindings);
 	nft_set_trans_bind(ctx, set);
-	set->use++;
 
 	return 0;
 }
@@ -5332,7 +5347,7 @@ void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set)
 		nft_clear(ctx->net, set);
 	}
 
-	set->use++;
+	nft_use_inc_restore(&set->use);
 }
 EXPORT_SYMBOL_GPL(nf_tables_activate_set);
 
@@ -5348,7 +5363,7 @@ void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set,
 		else
 			list_del_rcu(&binding->list);
 
-		set->use--;
+		nft_use_dec(&set->use);
 		break;
 	case NFT_TRANS_PREPARE:
 		if (nft_set_is_anonymous(set)) {
@@ -5357,7 +5372,7 @@ void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set,
 
 			nft_deactivate_next(ctx->net, set);
 		}
-		set->use--;
+		nft_use_dec(&set->use);
 		return;
 	case NFT_TRANS_ABORT:
 	case NFT_TRANS_RELEASE:
@@ -5365,7 +5380,7 @@ void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set,
 		    set->flags & (NFT_SET_MAP | NFT_SET_OBJECT))
 			nft_map_deactivate(ctx, set);
 
-		set->use--;
+		nft_use_dec(&set->use);
 		fallthrough;
 	default:
 		nf_tables_unbind_set(ctx, set, binding,
@@ -6134,7 +6149,7 @@ void nft_set_elem_destroy(const struct nft_set *set, void *elem,
 		nft_set_elem_expr_destroy(&ctx, nft_set_ext_expr(ext));
 
 	if (nft_set_ext_exists(ext, NFT_SET_EXT_OBJREF))
-		(*nft_set_ext_obj(ext))->use--;
+		nft_use_dec(&(*nft_set_ext_obj(ext))->use);
 	kfree(elem);
 }
 EXPORT_SYMBOL_GPL(nft_set_elem_destroy);
@@ -6636,8 +6651,16 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set,
 				     set->objtype, genmask);
 		if (IS_ERR(obj)) {
 			err = PTR_ERR(obj);
+			obj = NULL;
 			goto err_parse_key_end;
 		}
+
+		if (!nft_use_inc(&obj->use)) {
+			err = -EMFILE;
+			obj = NULL;
+			goto err_parse_key_end;
+		}
+
 		err = nft_set_ext_add(&tmpl, NFT_SET_EXT_OBJREF);
 		if (err < 0)
 			goto err_parse_key_end;
@@ -6706,10 +6729,9 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set,
 	if (flags)
 		*nft_set_ext_flags(ext) = flags;
 
-	if (obj) {
+	if (obj)
 		*nft_set_ext_obj(ext) = obj;
-		obj->use++;
-	}
+
 	if (ulen > 0) {
 		if (nft_set_ext_check(&tmpl, NFT_SET_EXT_USERDATA, ulen) < 0) {
 			err = -EINVAL;
@@ -6774,12 +6796,13 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set,
 	kfree(trans);
 err_elem_free:
 	nf_tables_set_elem_destroy(ctx, set, elem.priv);
-	if (obj)
-		obj->use--;
 err_parse_data:
 	if (nla[NFTA_SET_ELEM_DATA] != NULL)
 		nft_data_release(&elem.data.val, desc.type);
 err_parse_key_end:
+	if (obj)
+		nft_use_dec_restore(&obj->use);
+
 	nft_data_release(&elem.key_end.val, NFT_DATA_VALUE);
 err_parse_key:
 	nft_data_release(&elem.key.val, NFT_DATA_VALUE);
@@ -6859,7 +6882,7 @@ void nft_data_hold(const struct nft_data *data, enum nft_data_types type)
 		case NFT_JUMP:
 		case NFT_GOTO:
 			chain = data->verdict.chain;
-			chain->use++;
+			nft_use_inc_restore(&chain->use);
 			break;
 		}
 	}
@@ -6874,7 +6897,7 @@ static void nft_setelem_data_activate(const struct net *net,
 	if (nft_set_ext_exists(ext, NFT_SET_EXT_DATA))
 		nft_data_hold(nft_set_ext_data(ext), set->dtype);
 	if (nft_set_ext_exists(ext, NFT_SET_EXT_OBJREF))
-		(*nft_set_ext_obj(ext))->use++;
+		nft_use_inc_restore(&(*nft_set_ext_obj(ext))->use);
 }
 
 static void nft_setelem_data_deactivate(const struct net *net,
@@ -6886,7 +6909,7 @@ static void nft_setelem_data_deactivate(const struct net *net,
 	if (nft_set_ext_exists(ext, NFT_SET_EXT_DATA))
 		nft_data_release(nft_set_ext_data(ext), set->dtype);
 	if (nft_set_ext_exists(ext, NFT_SET_EXT_OBJREF))
-		(*nft_set_ext_obj(ext))->use--;
+		nft_use_dec(&(*nft_set_ext_obj(ext))->use);
 }
 
 static int nft_del_setelem(struct nft_ctx *ctx, struct nft_set *set,
@@ -7429,9 +7452,14 @@ static int nf_tables_newobj(struct sk_buff *skb, const struct nfnl_info *info,
 
 	nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla);
 
+	if (!nft_use_inc(&table->use))
+		return -EMFILE;
+
 	type = nft_obj_type_get(net, objtype);
-	if (IS_ERR(type))
-		return PTR_ERR(type);
+	if (IS_ERR(type)) {
+		err = PTR_ERR(type);
+		goto err_type;
+	}
 
 	obj = nft_obj_init(&ctx, type, nla[NFTA_OBJ_DATA]);
 	if (IS_ERR(obj)) {
@@ -7465,7 +7493,7 @@ static int nf_tables_newobj(struct sk_buff *skb, const struct nfnl_info *info,
 		goto err_obj_ht;
 
 	list_add_tail_rcu(&obj->list, &table->objects);
-	table->use++;
+
 	return 0;
 err_obj_ht:
 	/* queued in transaction log */
@@ -7481,6 +7509,9 @@ static int nf_tables_newobj(struct sk_buff *skb, const struct nfnl_info *info,
 	kfree(obj);
 err_init:
 	module_put(type->owner);
+err_type:
+	nft_use_dec_restore(&table->use);
+
 	return err;
 }
 
@@ -7882,7 +7913,7 @@ void nf_tables_deactivate_flowtable(const struct nft_ctx *ctx,
 	case NFT_TRANS_PREPARE:
 	case NFT_TRANS_ABORT:
 	case NFT_TRANS_RELEASE:
-		flowtable->use--;
+		nft_use_dec(&flowtable->use);
 		fallthrough;
 	default:
 		return;
@@ -8236,9 +8267,14 @@ static int nf_tables_newflowtable(struct sk_buff *skb,
 
 	nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla);
 
+	if (!nft_use_inc(&table->use))
+		return -EMFILE;
+
 	flowtable = kzalloc(sizeof(*flowtable), GFP_KERNEL_ACCOUNT);
-	if (!flowtable)
-		return -ENOMEM;
+	if (!flowtable) {
+		err = -ENOMEM;
+		goto flowtable_alloc;
+	}
 
 	flowtable->table = table;
 	flowtable->handle = nf_tables_alloc_handle(table);
@@ -8293,7 +8329,6 @@ static int nf_tables_newflowtable(struct sk_buff *skb,
 		goto err5;
 
 	list_add_tail_rcu(&flowtable->list, &table->flowtables);
-	table->use++;
 
 	return 0;
 err5:
@@ -8310,6 +8345,9 @@ static int nf_tables_newflowtable(struct sk_buff *skb,
 	kfree(flowtable->name);
 err1:
 	kfree(flowtable);
+flowtable_alloc:
+	nft_use_dec_restore(&table->use);
+
 	return err;
 }
 
@@ -9680,7 +9718,7 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb)
 				 */
 				if (nft_set_is_anonymous(nft_trans_set(trans)) &&
 				    !list_empty(&nft_trans_set(trans)->bindings))
-					trans->ctx.table->use--;
+					nft_use_dec(&trans->ctx.table->use);
 			}
 			nf_tables_set_notify(&trans->ctx, nft_trans_set(trans),
 					     NFT_MSG_NEWSET, GFP_KERNEL);
@@ -9910,7 +9948,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 					nft_trans_destroy(trans);
 					break;
 				}
-				trans->ctx.table->use--;
+				nft_use_dec_restore(&trans->ctx.table->use);
 				nft_chain_del(trans->ctx.chain);
 				nf_tables_unregister_hook(trans->ctx.net,
 							  trans->ctx.table,
@@ -9923,7 +9961,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				list_splice(&nft_trans_chain_hooks(trans),
 					    &nft_trans_basechain(trans)->hook_list);
 			} else {
-				trans->ctx.table->use++;
+				nft_use_inc_restore(&trans->ctx.table->use);
 				nft_clear(trans->ctx.net, trans->ctx.chain);
 			}
 			nft_trans_destroy(trans);
@@ -9933,7 +9971,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				nft_trans_destroy(trans);
 				break;
 			}
-			trans->ctx.chain->use--;
+			nft_use_dec_restore(&trans->ctx.chain->use);
 			list_del_rcu(&nft_trans_rule(trans)->list);
 			nft_rule_expr_deactivate(&trans->ctx,
 						 nft_trans_rule(trans),
@@ -9943,7 +9981,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 			break;
 		case NFT_MSG_DELRULE:
 		case NFT_MSG_DESTROYRULE:
-			trans->ctx.chain->use++;
+			nft_use_inc_restore(&trans->ctx.chain->use);
 			nft_clear(trans->ctx.net, nft_trans_rule(trans));
 			nft_rule_expr_activate(&trans->ctx, nft_trans_rule(trans));
 			if (trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD)
@@ -9956,7 +9994,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				nft_trans_destroy(trans);
 				break;
 			}
-			trans->ctx.table->use--;
+			nft_use_dec_restore(&trans->ctx.table->use);
 			if (nft_trans_set_bound(trans)) {
 				nft_trans_destroy(trans);
 				break;
@@ -9965,7 +10003,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 			break;
 		case NFT_MSG_DELSET:
 		case NFT_MSG_DESTROYSET:
-			trans->ctx.table->use++;
+			nft_use_inc_restore(&trans->ctx.table->use);
 			nft_clear(trans->ctx.net, nft_trans_set(trans));
 			if (nft_trans_set(trans)->flags & (NFT_SET_MAP | NFT_SET_OBJECT))
 				nft_map_activate(&trans->ctx, nft_trans_set(trans));
@@ -10009,13 +10047,13 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				nft_obj_destroy(&trans->ctx, nft_trans_obj_newobj(trans));
 				nft_trans_destroy(trans);
 			} else {
-				trans->ctx.table->use--;
+				nft_use_dec_restore(&trans->ctx.table->use);
 				nft_obj_del(nft_trans_obj(trans));
 			}
 			break;
 		case NFT_MSG_DELOBJ:
 		case NFT_MSG_DESTROYOBJ:
-			trans->ctx.table->use++;
+			nft_use_inc_restore(&trans->ctx.table->use);
 			nft_clear(trans->ctx.net, nft_trans_obj(trans));
 			nft_trans_destroy(trans);
 			break;
@@ -10024,7 +10062,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				nft_unregister_flowtable_net_hooks(net,
 						&nft_trans_flowtable_hooks(trans));
 			} else {
-				trans->ctx.table->use--;
+				nft_use_dec_restore(&trans->ctx.table->use);
 				list_del_rcu(&nft_trans_flowtable(trans)->list);
 				nft_unregister_flowtable_net_hooks(net,
 						&nft_trans_flowtable(trans)->hook_list);
@@ -10036,7 +10074,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
 				list_splice(&nft_trans_flowtable_hooks(trans),
 					    &nft_trans_flowtable(trans)->hook_list);
 			} else {
-				trans->ctx.table->use++;
+				nft_use_inc_restore(&trans->ctx.table->use);
 				nft_clear(trans->ctx.net, nft_trans_flowtable(trans));
 			}
 			nft_trans_destroy(trans);
@@ -10486,8 +10524,9 @@ static int nft_verdict_init(const struct nft_ctx *ctx, struct nft_data *data,
 		if (desc->flags & NFT_DATA_DESC_SETELEM &&
 		    chain->flags & NFT_CHAIN_BINDING)
 			return -EINVAL;
+		if (!nft_use_inc(&chain->use))
+			return -EMFILE;
 
-		chain->use++;
 		data->verdict.chain = chain;
 		break;
 	}
@@ -10505,7 +10544,7 @@ static void nft_verdict_uninit(const struct nft_data *data)
 	case NFT_JUMP:
 	case NFT_GOTO:
 		chain = data->verdict.chain;
-		chain->use--;
+		nft_use_dec(&chain->use);
 		break;
 	}
 }
@@ -10674,11 +10713,11 @@ int __nft_release_basechain(struct nft_ctx *ctx)
 	nf_tables_unregister_hook(ctx->net, ctx->chain->table, ctx->chain);
 	list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) {
 		list_del(&rule->list);
-		ctx->chain->use--;
+		nft_use_dec(&ctx->chain->use);
 		nf_tables_rule_release(ctx, rule);
 	}
 	nft_chain_del(ctx->chain);
-	ctx->table->use--;
+	nft_use_dec(&ctx->table->use);
 	nf_tables_chain_destroy(ctx);
 
 	return 0;
@@ -10728,18 +10767,18 @@ static void __nft_release_table(struct net *net, struct nft_table *table)
 		ctx.chain = chain;
 		list_for_each_entry_safe(rule, nr, &chain->rules, list) {
 			list_del(&rule->list);
-			chain->use--;
+			nft_use_dec(&chain->use);
 			nf_tables_rule_release(&ctx, rule);
 		}
 	}
 	list_for_each_entry_safe(flowtable, nf, &table->flowtables, list) {
 		list_del(&flowtable->list);
-		table->use--;
+		nft_use_dec(&table->use);
 		nf_tables_flowtable_destroy(flowtable);
 	}
 	list_for_each_entry_safe(set, ns, &table->sets, list) {
 		list_del(&set->list);
-		table->use--;
+		nft_use_dec(&table->use);
 		if (set->flags & (NFT_SET_MAP | NFT_SET_OBJECT))
 			nft_map_deactivate(&ctx, set);
 
@@ -10747,13 +10786,13 @@ static void __nft_release_table(struct net *net, struct nft_table *table)
 	}
 	list_for_each_entry_safe(obj, ne, &table->objects, list) {
 		nft_obj_del(obj);
-		table->use--;
+		nft_use_dec(&table->use);
 		nft_obj_destroy(&ctx, obj);
 	}
 	list_for_each_entry_safe(chain, nc, &table->chains, list) {
 		ctx.chain = chain;
 		nft_chain_del(chain);
-		table->use--;
+		nft_use_dec(&table->use);
 		nf_tables_chain_destroy(&ctx);
 	}
 	nf_tables_table_destroy(&ctx);
diff --git a/net/netfilter/nft_flow_offload.c b/net/netfilter/nft_flow_offload.c
index e860d8fe0e5e2..03159c6c6c4b6 100644
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -404,8 +404,10 @@ static int nft_flow_offload_init(const struct nft_ctx *ctx,
 	if (IS_ERR(flowtable))
 		return PTR_ERR(flowtable);
 
+	if (!nft_use_inc(&flowtable->use))
+		return -EMFILE;
+
 	priv->flowtable = flowtable;
-	flowtable->use++;
 
 	return nf_ct_netns_get(ctx->net, ctx->family);
 }
@@ -424,7 +426,7 @@ static void nft_flow_offload_activate(const struct nft_ctx *ctx,
 {
 	struct nft_flow_offload *priv = nft_expr_priv(expr);
 
-	priv->flowtable->use++;
+	nft_use_inc_restore(&priv->flowtable->use);
 }
 
 static void nft_flow_offload_destroy(const struct nft_ctx *ctx,
diff --git a/net/netfilter/nft_immediate.c b/net/netfilter/nft_immediate.c
index 3d76ebfe8939b..407d7197f75bb 100644
--- a/net/netfilter/nft_immediate.c
+++ b/net/netfilter/nft_immediate.c
@@ -159,7 +159,7 @@ static void nft_immediate_deactivate(const struct nft_ctx *ctx,
 			default:
 				nft_chain_del(chain);
 				chain->bound = false;
-				chain->table->use--;
+				nft_use_dec(&chain->table->use);
 				break;
 			}
 			break;
@@ -198,7 +198,7 @@ static void nft_immediate_destroy(const struct nft_ctx *ctx,
 		 * let the transaction records release this chain and its rules.
 		 */
 		if (chain->bound) {
-			chain->use--;
+			nft_use_dec(&chain->use);
 			break;
 		}
 
@@ -206,9 +206,9 @@ static void nft_immediate_destroy(const struct nft_ctx *ctx,
 		chain_ctx = *ctx;
 		chain_ctx.chain = chain;
 
-		chain->use--;
+		nft_use_dec(&chain->use);
 		list_for_each_entry_safe(rule, n, &chain->rules, list) {
-			chain->use--;
+			nft_use_dec(&chain->use);
 			list_del(&rule->list);
 			nf_tables_rule_destroy(&chain_ctx, rule);
 		}
diff --git a/net/netfilter/nft_objref.c b/net/netfilter/nft_objref.c
index a48dd5b5d45b1..509011b1ef597 100644
--- a/net/netfilter/nft_objref.c
+++ b/net/netfilter/nft_objref.c
@@ -41,8 +41,10 @@ static int nft_objref_init(const struct nft_ctx *ctx,
 	if (IS_ERR(obj))
 		return -ENOENT;
 
+	if (!nft_use_inc(&obj->use))
+		return -EMFILE;
+
 	nft_objref_priv(expr) = obj;
-	obj->use++;
 
 	return 0;
 }
@@ -72,7 +74,7 @@ static void nft_objref_deactivate(const struct nft_ctx *ctx,
 	if (phase == NFT_TRANS_COMMIT)
 		return;
 
-	obj->use--;
+	nft_use_dec(&obj->use);
 }
 
 static void nft_objref_activate(const struct nft_ctx *ctx,
@@ -80,7 +82,7 @@ static void nft_objref_activate(const struct nft_ctx *ctx,
 {
 	struct nft_object *obj = nft_objref_priv(expr);
 
-	obj->use++;
+	nft_use_inc_restore(&obj->use);
 }
 
 static const struct nft_expr_ops nft_objref_ops = {
-- 
2.39.2




  parent reply	other threads:[~2023-07-21 16:10 UTC|newest]

Thread overview: 306+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-21 16:01 [PATCH 6.4 000/292] 6.4.5-rc1 review Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 001/292] net/ncsi: change from ndo_set_mac_address to dev_set_mac_address Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 002/292] security/integrity: fix pointer to ESL data and its size on pseries Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 003/292] HID: input: fix mapping for camera access keys Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 004/292] HID: amd_sfh: Rename the float32 variable Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 005/292] HID: amd_sfh: Fix for shift-out-of-bounds Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 006/292] net: lan743x: Dont sleep in atomic context Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 007/292] net: lan743x: select FIXED_PHY Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 008/292] ksmbd: add missing compound request handing in some commands Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 009/292] ksmbd: fix out of bounds read in smb2_sess_setup Greg Kroah-Hartman
2023-07-21 16:01 ` [PATCH 6.4 010/292] drm/panel: simple: Add connector_type for innolux_at043tn24 Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 011/292] drm: bridge: dw_hdmi: fix connector access for scdc Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 012/292] drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 013/292] swiotlb: always set the number of areas before allocating the pool Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 014/292] swiotlb: reduce the number of areas to match actual memory pool size Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 015/292] drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 016/292] xen/virtio: Fix NULL deref when a bridge of PCI root bus has no parent Greg Kroah-Hartman
2023-07-21 16:02 ` Greg Kroah-Hartman [this message]
2023-07-21 16:02 ` [PATCH 6.4 018/292] netfilter: conntrack: dont fold port numbers into addresses before hashing Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 019/292] ice: Fix max_rate check while configuring TX rate limits Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 020/292] ice: Fix tx queue rate limit when TCs are configured Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 021/292] igc: Add condition for qbv_config_change_errors counter Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 022/292] igc: Remove delay during TX ring configuration Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 023/292] igc: Add igc_xdp_buff wrapper for xdp_buff in driver Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 024/292] igc: Add XDP hints kfuncs for RX hash Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 025/292] igc: Fix TX Hang issue when QBV Gate is closed Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 026/292] net/mlx5e: fix double free in mlx5e_destroy_flow_table Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 027/292] net/mlx5e: fix memory leak in mlx5e_fs_tt_redirect_any_create Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 028/292] net/mlx5e: fix memory leak in mlx5e_ptp_open Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 029/292] net/mlx5e: RX, Fix flush and close release flow of regular rq for legacy rq Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 030/292] net/mlx5: Register a unique thermal zone per device Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 031/292] net/mlx5e: Check for NOT_READY flag state after locking Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 032/292] net/mlx5e: TC, CT: Offload ct clear only once Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 033/292] net/mlx5: Query hca_cap_2 only when supported Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 034/292] net/mlx5e: RX, Fix page_pool page fragment tracking for XDP Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 035/292] igc: set TP bit in supported and advertising fields of ethtool_link_ksettings Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 036/292] igc: Include the length/type field and VLAN tag in queueMaxSDU Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 037/292] igc: Handle PPS start time programming for past time values Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 038/292] blk-crypto: use dynamic lock class for blk_crypto_profile::lock Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 039/292] scsi: qla2xxx: Fix error code in qla2x00_start_sp() Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 040/292] scsi: ufs: ufs-mediatek: Add dependency for RESET_CONTROLLER Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 041/292] bpf: Fix max stack depth check for async callbacks Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 042/292] net: mvneta: fix txq_map in case of txq_number==1 Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 043/292] net: dsa: felix: make vsc9959_tas_guard_bands_update() visible to ocelot->ops Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 044/292] net: mscc: ocelot: fix oversize frame dropping for preemptible TCs Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 045/292] net/sched: cls_fw: Fix improper refcount update leads to use-after-free Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 046/292] gve: Set default duplex configuration to full Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 047/292] drm/fbdev-dma: Fix documented default preferred_bpp value Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 048/292] octeontx2-af: Promisc enable/disable through mbox Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 049/292] octeontx2-af: Move validation of ptp pointer before its usage Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 050/292] ionic: remove WARN_ON to prevent panic_on_warn Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 051/292] udp6: add a missing call into udp_fail_queue_rcv_skb tracepoint Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 052/292] net: bgmac: postpone turning IRQs off to avoid SoC hangs Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 053/292] net: prevent skb corruption on frag list segmentation Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 054/292] s390/ism: Fix locking for forwarding of IRQs and events to clients Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 055/292] s390/ism: Fix and simplify add()/remove() callback handling Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 056/292] s390/ism: Do not unregister clients with registered DMBs Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 057/292] icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev() Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 058/292] udp6: fix udp6_ehashfn() typo Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 059/292] ntb: idt: Fix error handling in idt_pci_driver_init() Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 060/292] NTB: amd: Fix error handling in amd_ntb_pci_driver_init() Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 061/292] ntb: intel: Fix error handling in intel_ntb_pci_driver_init() Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 062/292] NTB: ntb_transport: fix possible memory leak while device_register() fails Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 063/292] NTB: ntb_tool: Add check for devm_kcalloc Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 064/292] ipv6/addrconf: fix a potential refcount underflow for idev Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 065/292] HID: hyperv: avoid struct memcpy overrun warning Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 066/292] net: dsa: qca8k: Add check for skb_copy Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 067/292] x86/fineibt: Poison ENDBR at +0 Greg Kroah-Hartman
2023-07-21 18:51   ` Peter Zijlstra
2023-07-22 11:42     ` Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 068/292] platform/x86: wmi: Break possible infinite loop when parsing GUID Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 069/292] net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum Greg Kroah-Hartman
2023-07-21 16:02 ` [PATCH 6.4 070/292] igc: Rename qbv_enable to taprio_offload_enable Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 071/292] igc: Do not enable taprio offload for invalid arguments Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 072/292] igc: Handle already enabled taprio offload for basetime 0 Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 073/292] kernel/trace: Fix cleanup logic of enable_trace_eprobe Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 074/292] fprobe: add unlock to match a succeeded ftrace_test_recursion_trylock Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 075/292] igc: No strict mode in pure launchtime/CBS offload Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 076/292] igc: Fix launchtime before start of cycle Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 077/292] igc: Fix inserting of empty frame for launchtime Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 078/292] nvme: fix the NVME_ID_NS_NVM_STS_MASK definition Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 079/292] openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 080/292] riscv, bpf: Fix inconsistent JIT image generation Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 081/292] net: fec: remove useless fec_enet_reset_skb() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 082/292] net: fec: remove last_bdp from fec_enet_txq_xmit_frame() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 083/292] net: fec: recycle pages for transmitted XDP frames Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 084/292] net: fec: increase the size of tx ring and update tx_wake_threshold Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 085/292] drm/i915: Dont preserve dpll_hw_state for slave crtc in Bigjoiner Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 086/292] drm/i915: Fix one wrong caching mode enum usage Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 087/292] net: dsa: Removed unneeded of_node_put in felix_parse_ports_node Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 088/292] octeontx2-pf: Add additional check for MCAM rules Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 089/292] erofs: avoid useless loops in z_erofs_pcluster_readmore() when reading beyond EOF Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 090/292] erofs: avoid infinite loop in z_erofs_do_read_page() " Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 091/292] erofs: fix fsdax unavailability for chunk-based regular files Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 092/292] wifi: airo: avoid uninitialized warning in airo_get_rate() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 093/292] bpf: cpumap: Fix memory leak in cpu_map_update_elem Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 094/292] xdp: use trusted arguments in XDP hints kfuncs Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 095/292] net/sched: flower: Ensure both minimum and maximum ports are specified Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 096/292] riscv: mm: fix truncation warning on RV32 Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 097/292] drm/nouveau/disp: fix HDMI on gt215+ Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 098/292] drm/nouveau/disp/g94: enable HDMI Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 099/292] netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 100/292] drm/nouveau/acr: Abort loading ACR if no firmware was found Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 101/292] drm/nouveau: bring back blit subchannel for pre nv50 GPUs Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 102/292] net/sched: make psched_mtu() RTNL-less safe Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 103/292] net: txgbe: fix eeprom calculation error Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 104/292] wifi: rtw89: debug: fix error code in rtw89_debug_priv_send_h2c_set() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 105/292] net/sched: sch_qfq: reintroduce lmax bound check for MTU Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 106/292] net/sched: sch_qfq: account for stab overhead in qfq_enqueue Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 107/292] nvme-pci: fix DMA direction of unmapping integrity data Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 108/292] smb: client: improve DFS mount check Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 109/292] cifs: fix session state check in smb2_find_smb_ses Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 110/292] smb: client: fix parsing of source mount option Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 111/292] drm/client: Send hotplug event after registering a client Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 112/292] f2fs: dont reset unchangable mount option in f2fs_remount() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 113/292] f2fs: fix deadlock in i_xattr_sem and inode page lock Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 114/292] kbuild: make modules_install copy modules.builtin(.modinfo) Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 115/292] pinctrl: amd: Detect internal GPIO0 debounce handling Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 116/292] pinctrl: amd: Fix mistake in handling clearing pins at startup Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 117/292] pinctrl: amd: Detect and mask spurious interrupts Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 118/292] pinctrl: amd: Revert "pinctrl: amd: disable and mask interrupts on probe" Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 119/292] pinctrl: amd: Only use special debounce behavior for GPIO 0 Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 120/292] pinctrl: amd: Use amd_pinconf_set() for all config options Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 121/292] pinctrl: amd: Drop pull up select configuration Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 122/292] pinctrl: amd: Unify debounce handling into amd_pinconf_set() Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 123/292] tpm: Do not remap from ACPI resources again for Pluton TPM Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 124/292] tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 125/292] tpm: tpm_tis: Disable interrupts *only* for AEON UPX-i11 Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 126/292] tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 127/292] tpm/tpm_tis: Disable interrupts for Framework Laptop Intel 12th gen Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 128/292] tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 129/292] tpm: return false from tpm_amd_is_rng_defective on non-x86 platforms Greg Kroah-Hartman
2023-07-21 16:03 ` [PATCH 6.4 130/292] tpm/tpm_tis: Disable interrupts for Framework Laptop Intel 13th gen Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 131/292] tpm,tpm_tis: Disable interrupts after 1000 unhandled IRQs Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 132/292] tpm/tpm_tis: Disable interrupts for Lenovo L590 devices Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 133/292] mtd: rawnand: meson: fix unaligned DMA buffers handling Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 134/292] net: bcmgenet: Ensure MDIO unregistration has clocks enabled Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 135/292] net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 136/292] kasan: add kasan_tag_mismatch prototype Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 137/292] kasan: use internal prototypes matching gcc-13 builtins Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 138/292] kasan, slub: fix HW_TAGS zeroing with slub_debug Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 139/292] kasan: fix type cast in memory_is_poisoned_n Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 140/292] tracing/user_events: Fix incorrect return value for writing operation when events are disabled Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 141/292] powerpc: Fail build if using recordmcount with binutils v2.37 Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 142/292] misc: fastrpc: Create fastrpc scalar with correct buffer count Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 143/292] powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 144/292] powerpc/64s: Fix native_hpte_remove() to be irq-safe Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 145/292] drm/amd/display: perform a bounds check before filling dirty rectangles Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 146/292] MIPS: cpu-features: Use boot_cpu_type for CPU type based features Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 147/292] MIPS: Loongson: Fix cpu_probe_loongson() again Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 148/292] MIPS: Loongson: Fix build error when make modules_install Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 149/292] MIPS: KVM: Fix NULL pointer dereference Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 150/292] ext4: Fix reusing stale buffer heads from last failed mounting Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 151/292] ext4: fix wrong unit use in ext4_mb_clear_bb Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 152/292] ext4: get block from bh in ext4_free_blocks for fast commit replay Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 153/292] ext4: fix wrong unit use in ext4_mb_new_blocks Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 154/292] ext4: avoid updating the superblock on a r/o mount if not needed Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 155/292] ext4: fix to check return value of freeze_bdev() in ext4_shutdown() Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 156/292] ext4: turn quotas off if mount failed after enabling quotas Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 157/292] ext4: only update i_reserved_data_blocks on successful block allocation Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 158/292] fs: dlm: revert check required context while close Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 159/292] mm/mmap: Fix error return in do_vmi_align_munmap() Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 160/292] soc: qcom: mdt_loader: Fix unconditional call to scm_pas_mem_setup Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 161/292] ext2/dax: Fix ext2_setsize when len is page aligned Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 162/292] jfs: jfs_dmap: Validate db_l2nbperpage while mounting Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 163/292] arm64: dts: mt7986: use size of reserved partition for bl2 Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 164/292] arm64: dts: ti: k3-j721s2: Fix wkup pinmux range Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 165/292] hwrng: imx-rngc - fix the timeout for init and self check Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 166/292] dm integrity: reduce vmalloc space footprint on 32-bit architectures Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 167/292] scsi: mpi3mr: Propagate sense data for admin queue SCSI I/O Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 168/292] s390/zcrypt: do not retry administrative requests Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 169/292] PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 170/292] PCI: Release resource invalidated by coalescing Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 171/292] PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 172/292] PCI: acpiphp: Reassign resources on bridge if necessary Greg Kroah-Hartman
2023-07-23  9:17   ` Thorsten Leemhuis
2023-07-23  9:25     ` Linux regression tracking (Thorsten Leemhuis)
2023-07-23 11:08       ` Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 173/292] PCI: qcom: Disable write access to read only registers for IP v2.3.3 Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 174/292] PCI: epf-test: Fix DMA transfer completion initialization Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 175/292] PCI: epf-test: Fix DMA transfer completion detection Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 176/292] PCI: rockchip: Assert PCI Configuration Enable bit after probe Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 177/292] PCI: rockchip: Write PCI Device ID to correct register Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 178/292] PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 179/292] PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 180/292] PCI: rockchip: Use u32 variable to access 32-bit registers Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 181/292] PCI: rockchip: Set address alignment for endpoint mode Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 182/292] misc: pci_endpoint_test: Free IRQs before removing the device Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 183/292] misc: pci_endpoint_test: Re-init completion for every test Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 184/292] mfd: pm8008: Fix module autoloading Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 185/292] md/raid0: add discard support for the original layout Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 186/292] fs: dlm: return positive pid value for F_GETLK Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 187/292] fs: dlm: fix cleanup pending ops when interrupted Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 188/292] fs: dlm: interrupt posix locks only when process is killed Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 189/292] fs: dlm: make F_SETLK use unkillable wait_event Greg Kroah-Hartman
2023-07-21 16:04 ` [PATCH 6.4 190/292] fs: dlm: fix mismatch of plock results from userspace Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 191/292] fs: dlm: clear pending bit when queue was empty Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 192/292] fs: dlm: fix missing pending to false Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 193/292] scsi: lpfc: Fix double free in lpfc_cmpl_els_logo_acc() caused by lpfc_nlp_not_used() Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 194/292] drm/atomic: Allow vblank-enabled + self-refresh "disable" Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 195/292] drm/rockchip: vop: Leave vblank enabled in self-refresh Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 196/292] drm/dp_mst: Clear MSG_RDY flag before sending new message Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 197/292] drm/amd/display: Limit DCN32 8 channel or less parts to DPM1 for FPO Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 198/292] drm/amd/display: Fix in secure display context creation Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 199/292] drm/amd/display: fix seamless odm transitions Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 200/292] drm/amd/display: edp do not add non-edid timings Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 201/292] drm/amd/display: Remove Phantom Pipe Check When Calculating K1 and K2 Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 202/292] drm/amd/display: disable seamless boot if force_odm_combine is enabled Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 203/292] drm/amdgpu: fix clearing mappings for BOs that are always valid in VM Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 204/292] drm/amd: Disable PSR-SU on Parade 0803 TCON Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 205/292] drm/amd/display: add a NULL pointer check Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 206/292] drm/amd/display: Fix 128b132b link loss handling Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 207/292] drm/amd/display: Correct `DMUB_FW_VERSION` macro Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 208/292] drm/amd/display: Add monitor specific edid quirk Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 209/292] drm/amdgpu: avoid restore process run into dead loop Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 210/292] drm/amd/pm: fix smu i2c data read risk Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 211/292] drm/ttm: Dont leak a resource on eviction error Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 212/292] drm/ttm: Dont leak a resource on swapout move error Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 213/292] drm/ttm: never consider pinned BOs for eviction&swap Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 214/292] serial: atmel: dont enable IRQs prematurely Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 215/292] tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 216/292] tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 217/292] tty: serial: imx: fix rs485 rx after tx Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 218/292] tty: fix hang on tty device with no_room set Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 219/292] firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool() Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 220/292] libceph: harden msgr2.1 frame segment length checks Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 221/292] ceph: add a dedicated private data for netfs rreq Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 222/292] ceph: fix blindly expanding the readahead windows Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 223/292] ceph: dont let check_caps skip sending responses for revoke msgs Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 224/292] nfp: clean mc addresses in application firmware when closing port Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 225/292] arm64: errata: Mitigate Ampere1 erratum AC03_CPU_38 at stage-2 Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 226/292] xhci: Fix resume issue of some ZHAOXIN hosts Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 227/292] xhci: Fix TRB prefetch issue of " Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 228/292] xhci: Show ZHAOXIN xHCI root hub speed correctly Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 229/292] meson saradc: fix clock divider mask length Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 230/292] opp: Fix use-after-free in lazy_opp_tables after probe deferral Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 231/292] soundwire: qcom: fix storing port config out-of-bounds Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 232/292] media: uapi: Fix [GS]_ROUTING ACTIVE flag value Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 233/292] Revert "8250: add support for ASIX devices with a FIFO bug" Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 234/292] bus: ixp4xx: fix IXP4XX_EXP_T1_MASK Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 235/292] s390/decompressor: fix misaligned symbol build error Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 236/292] dm: verity-loadpin: Add NULL pointer check for bdev parameter Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 237/292] tracing/histograms: Add histograms to hist_vars if they have referenced variables Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 238/292] tracing: Fix memory leak of iter->temp when reading trace_pipe Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 239/292] nvme: dont reject probe due to duplicate IDs for single-ported PCIe devices Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 240/292] samples: ftrace: Save required argument registers in sample trampolines Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 241/292] perf: RISC-V: Remove PERF_HES_STOPPED flag checking in riscv_pmu_start() Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 242/292] regmap-irq: Fix out-of-bounds access when allocating config buffers Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 243/292] net: ena: fix shift-out-of-bounds in exponential backoff Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 244/292] ring-buffer: Fix deadloop issue on reading trace_pipe Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 245/292] ftrace: Fix possible warning on checking all pages used in ftrace_process_locs() Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 246/292] drm/amd/pm: share the code around SMU13 pcie parameters update Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 247/292] drm/amd/pm: conditionally disable pcie lane/speed switching for SMU13 Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 248/292] cifs: if deferred close is disabled then close files immediately Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 249/292] xtensa: ISS: fix call to split_if_spec Greg Kroah-Hartman
2023-07-21 16:05 ` [PATCH 6.4 250/292] perf/x86: Fix lockdep warning in for_each_sibling_event() on SPR Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 251/292] PM: QoS: Restore support for default value on frequency QoS Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 252/292] pwm: meson: modify and simplify calculation in meson_pwm_get_state Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 253/292] pwm: meson: fix handling of period/duty if greater than UINT_MAX Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 254/292] accel/ivpu: Fix VPU register access in irq disable Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 255/292] accel/ivpu: Clear specific interrupt status bits on C0 Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 256/292] fprobe: Release rethook after the ftrace_ops is unregistered Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 257/292] fprobe: Ensure running fprobe_exit_handler() finished before calling rethook_free() Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 258/292] tracing: Fix null pointer dereference in tracing_err_log_open() Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 259/292] mptcp: do not rely on implicit state check in mptcp_listen() Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 260/292] mptcp: ensure subflow is unhashed before cleaning the backlog Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 261/292] selftests: mptcp: sockopt: use iptables-legacy if available Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 262/292] selftests: mptcp: connect: fail if nft supposed to work Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 263/292] selftests: mptcp: sockopt: return error if wrong mark Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 264/292] selftests: mptcp: userspace_pm: use correct server port Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 265/292] selftests: mptcp: userspace_pm: report errors with remove tests Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 266/292] selftests: mptcp: depend on SYN_COOKIES Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 267/292] selftests: mptcp: pm_nl_ctl: fix 32-bit support Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 268/292] smb: client: Fix -Wstringop-overflow issues Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 269/292] tracing/probes: Fix to avoid double count of the string length on the array Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 270/292] tracing/probes: Fix not to count error code to total length Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 271/292] tracing/probes: Fix to update dynamic data counter if fetcharg uses it Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 272/292] Revert "tracing: Add "(fault)" name injection to kernel probes" Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 273/292] tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 274/292] tracing/user_events: Fix struct arg size match check Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 277/292] scsi: qla2xxx: Fix task management cmd fail due to unavailable resource Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 278/292] scsi: qla2xxx: Fix hang in task management Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 279/292] scsi: qla2xxx: Wait for io return on terminate rport Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 280/292] scsi: qla2xxx: Fix mem access after free Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 281/292] scsi: qla2xxx: Array index may go out of bound Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 282/292] scsi: qla2xxx: Avoid fcport pointer dereference Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 283/292] scsi: qla2xxx: Fix buffer overrun Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 284/292] scsi: qla2xxx: Fix potential NULL pointer dereference Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 285/292] scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 286/292] scsi: qla2xxx: Correct the index of array Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 287/292] scsi: qla2xxx: Pointer may be dereferenced Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 288/292] scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 289/292] scsi: qla2xxx: Fix end of loop test Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 290/292] net: dsa: ocelot: unlock on error in vsc9959_qos_port_tas_set() Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 291/292] MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled Greg Kroah-Hartman
2023-07-21 16:06 ` [PATCH 6.4 292/292] Revert "drm/amd: Disable PSR-SU on Parade 0803 TCON" Greg Kroah-Hartman
2023-07-21 16:56 ` [PATCH 6.4 000/292] 6.4.5-rc1 review SeongJae Park
2023-07-21 17:54 ` Takeshi Ogasawara
2023-07-21 23:14 ` Justin Forbes
2023-07-22  4:21 ` Ron Economos
2023-07-22  6:50 ` Bagas Sanjaya
2023-07-22  8:06 ` Naresh Kamboju
2023-07-22 14:49 ` Florian Fainelli
2023-07-22 20:40 ` Guenter Roeck
2023-07-23  9:08 ` Jon Hunter
2023-07-23 10:41 ` Conor Dooley

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=20230721160529.549922025@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