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, Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.5 002/491] btrfs: abort transaction on generation mismatch when marking eb as dirty
Date: Fri, 24 Nov 2023 17:43:58 +0000	[thread overview]
Message-ID: <20231124172024.734196797@linuxfoundation.org> (raw)
In-Reply-To: <20231124172024.664207345@linuxfoundation.org>

6.5-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Filipe Manana <fdmanana@suse.com>

[ Upstream commit 50564b651d01c19ce732819c5b3c3fd60707188e ]

When marking an extent buffer as dirty, at btrfs_mark_buffer_dirty(),
we check if its generation matches the running transaction and if not we
just print a warning. Such mismatch is an indicator that something really
went wrong and only printing a warning message (and stack trace) is not
enough to prevent a corruption. Allowing a transaction to commit with such
an extent buffer will trigger an error if we ever try to read it from disk
due to a generation mismatch with its parent generation.

So abort the current transaction with -EUCLEAN if we notice a generation
mismatch. For this we need to pass a transaction handle to
btrfs_mark_buffer_dirty() which is always available except in test code,
in which case we can pass NULL since it operates on dummy extent buffers
and all test roots have a single node/leaf (root node at level 0).

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/btrfs/block-group.c               |   4 +-
 fs/btrfs/ctree.c                     | 109 +++++++++++++++------------
 fs/btrfs/ctree.h                     |  11 ++-
 fs/btrfs/delayed-inode.c             |   2 +-
 fs/btrfs/dev-replace.c               |   2 +-
 fs/btrfs/dir-item.c                  |   8 +-
 fs/btrfs/disk-io.c                   |  13 +++-
 fs/btrfs/disk-io.h                   |   3 +-
 fs/btrfs/extent-tree.c               |  36 +++++----
 fs/btrfs/file-item.c                 |  17 +++--
 fs/btrfs/file.c                      |  34 ++++-----
 fs/btrfs/free-space-cache.c          |   6 +-
 fs/btrfs/free-space-tree.c           |  17 +++--
 fs/btrfs/inode-item.c                |  16 ++--
 fs/btrfs/inode.c                     |  10 +--
 fs/btrfs/ioctl.c                     |   4 +-
 fs/btrfs/qgroup.c                    |  14 ++--
 fs/btrfs/relocation.c                |  10 +--
 fs/btrfs/root-tree.c                 |   4 +-
 fs/btrfs/tests/extent-buffer-tests.c |   6 +-
 fs/btrfs/tests/inode-tests.c         |  12 ++-
 fs/btrfs/tree-log.c                  |  12 +--
 fs/btrfs/uuid-tree.c                 |   6 +-
 fs/btrfs/volumes.c                   |  10 +--
 fs/btrfs/xattr.c                     |   8 +-
 25 files changed, 205 insertions(+), 169 deletions(-)

diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 5e7a19fca79c4..bf65f801d8439 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -2587,7 +2587,7 @@ static int insert_dev_extent(struct btrfs_trans_handle *trans,
 	btrfs_set_dev_extent_chunk_offset(leaf, extent, chunk_offset);
 
 	btrfs_set_dev_extent_length(leaf, extent, num_bytes);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 out:
 	btrfs_free_path(path);
 	return ret;
@@ -3011,7 +3011,7 @@ static int update_block_group_item(struct btrfs_trans_handle *trans,
 						   cache->global_root_id);
 	btrfs_set_stack_block_group_flags(&bgi, cache->flags);
 	write_extent_buffer(leaf, &bgi, bi, sizeof(bgi));
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 fail:
 	btrfs_release_path(path);
 	/*
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 617d4827eec26..118ad4d2cbbe2 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -359,7 +359,7 @@ int btrfs_copy_root(struct btrfs_trans_handle *trans,
 		return ret;
 	}
 
-	btrfs_mark_buffer_dirty(cow);
+	btrfs_mark_buffer_dirty(trans, cow);
 	*cow_ret = cow;
 	return 0;
 }
@@ -627,7 +627,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
 					cow->start);
 		btrfs_set_node_ptr_generation(parent, parent_slot,
 					      trans->transid);
-		btrfs_mark_buffer_dirty(parent);
+		btrfs_mark_buffer_dirty(trans, parent);
 		if (last_ref) {
 			ret = btrfs_tree_mod_log_free_eb(buf);
 			if (ret) {
@@ -643,7 +643,7 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
 	if (unlock_orig)
 		btrfs_tree_unlock(buf);
 	free_extent_buffer_stale(buf);
-	btrfs_mark_buffer_dirty(cow);
+	btrfs_mark_buffer_dirty(trans, cow);
 	*cow_ret = cow;
 	return 0;
 }
@@ -1197,7 +1197,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 				goto out;
 			}
 			btrfs_set_node_key(parent, &right_key, pslot + 1);
-			btrfs_mark_buffer_dirty(parent);
+			btrfs_mark_buffer_dirty(trans, parent);
 		}
 	}
 	if (btrfs_header_nritems(mid) == 1) {
@@ -1255,7 +1255,7 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 			goto out;
 		}
 		btrfs_set_node_key(parent, &mid_key, pslot);
-		btrfs_mark_buffer_dirty(parent);
+		btrfs_mark_buffer_dirty(trans, parent);
 	}
 
 	/* update the path */
@@ -1362,7 +1362,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
 				return ret;
 			}
 			btrfs_set_node_key(parent, &disk_key, pslot);
-			btrfs_mark_buffer_dirty(parent);
+			btrfs_mark_buffer_dirty(trans, parent);
 			if (btrfs_header_nritems(left) > orig_slot) {
 				path->nodes[level] = left;
 				path->slots[level + 1] -= 1;
@@ -1422,7 +1422,7 @@ static noinline int push_nodes_for_insert(struct btrfs_trans_handle *trans,
 				return ret;
 			}
 			btrfs_set_node_key(parent, &disk_key, pslot + 1);
-			btrfs_mark_buffer_dirty(parent);
+			btrfs_mark_buffer_dirty(trans, parent);
 
 			if (btrfs_header_nritems(mid) <= orig_slot) {
 				path->nodes[level] = right;
@@ -2678,7 +2678,8 @@ int btrfs_get_next_valid_item(struct btrfs_root *root, struct btrfs_key *key,
  * higher levels
  *
  */
-static void fixup_low_keys(struct btrfs_path *path,
+static void fixup_low_keys(struct btrfs_trans_handle *trans,
+			   struct btrfs_path *path,
 			   struct btrfs_disk_key *key, int level)
 {
 	int i;
@@ -2695,7 +2696,7 @@ static void fixup_low_keys(struct btrfs_path *path,
 						    BTRFS_MOD_LOG_KEY_REPLACE);
 		BUG_ON(ret < 0);
 		btrfs_set_node_key(t, key, tslot);
-		btrfs_mark_buffer_dirty(path->nodes[i]);
+		btrfs_mark_buffer_dirty(trans, path->nodes[i]);
 		if (tslot != 0)
 			break;
 	}
@@ -2707,10 +2708,11 @@ static void fixup_low_keys(struct btrfs_path *path,
  * This function isn't completely safe. It's the caller's responsibility
  * that the new key won't break the order
  */
-void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info,
+void btrfs_set_item_key_safe(struct btrfs_trans_handle *trans,
 			     struct btrfs_path *path,
 			     const struct btrfs_key *new_key)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_disk_key disk_key;
 	struct extent_buffer *eb;
 	int slot;
@@ -2748,9 +2750,9 @@ void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info,
 
 	btrfs_cpu_key_to_disk(&disk_key, new_key);
 	btrfs_set_item_key(eb, &disk_key, slot);
-	btrfs_mark_buffer_dirty(eb);
+	btrfs_mark_buffer_dirty(trans, eb);
 	if (slot == 0)
-		fixup_low_keys(path, &disk_key, 1);
+		fixup_low_keys(trans, path, &disk_key, 1);
 }
 
 /*
@@ -2881,8 +2883,8 @@ static int push_node_left(struct btrfs_trans_handle *trans,
 	}
 	btrfs_set_header_nritems(src, src_nritems - push_items);
 	btrfs_set_header_nritems(dst, dst_nritems + push_items);
-	btrfs_mark_buffer_dirty(src);
-	btrfs_mark_buffer_dirty(dst);
+	btrfs_mark_buffer_dirty(trans, src);
+	btrfs_mark_buffer_dirty(trans, dst);
 
 	return ret;
 }
@@ -2957,8 +2959,8 @@ static int balance_node_right(struct btrfs_trans_handle *trans,
 	btrfs_set_header_nritems(src, src_nritems - push_items);
 	btrfs_set_header_nritems(dst, dst_nritems + push_items);
 
-	btrfs_mark_buffer_dirty(src);
-	btrfs_mark_buffer_dirty(dst);
+	btrfs_mark_buffer_dirty(trans, src);
+	btrfs_mark_buffer_dirty(trans, dst);
 
 	return ret;
 }
@@ -3007,7 +3009,7 @@ static noinline int insert_new_root(struct btrfs_trans_handle *trans,
 
 	btrfs_set_node_ptr_generation(c, 0, lower_gen);
 
-	btrfs_mark_buffer_dirty(c);
+	btrfs_mark_buffer_dirty(trans, c);
 
 	old = root->node;
 	ret = btrfs_tree_mod_log_insert_root(root->node, c, false);
@@ -3079,7 +3081,7 @@ static int insert_ptr(struct btrfs_trans_handle *trans,
 	WARN_ON(trans->transid == 0);
 	btrfs_set_node_ptr_generation(lower, slot, trans->transid);
 	btrfs_set_header_nritems(lower, nritems + 1);
-	btrfs_mark_buffer_dirty(lower);
+	btrfs_mark_buffer_dirty(trans, lower);
 
 	return 0;
 }
@@ -3158,8 +3160,8 @@ static noinline int split_node(struct btrfs_trans_handle *trans,
 	btrfs_set_header_nritems(split, c_nritems - mid);
 	btrfs_set_header_nritems(c, mid);
 
-	btrfs_mark_buffer_dirty(c);
-	btrfs_mark_buffer_dirty(split);
+	btrfs_mark_buffer_dirty(trans, c);
+	btrfs_mark_buffer_dirty(trans, split);
 
 	ret = insert_ptr(trans, path, &disk_key, split->start,
 			 path->slots[level + 1] + 1, level + 1);
@@ -3325,15 +3327,15 @@ static noinline int __push_leaf_right(struct btrfs_trans_handle *trans,
 	btrfs_set_header_nritems(left, left_nritems);
 
 	if (left_nritems)
-		btrfs_mark_buffer_dirty(left);
+		btrfs_mark_buffer_dirty(trans, left);
 	else
 		btrfs_clear_buffer_dirty(trans, left);
 
-	btrfs_mark_buffer_dirty(right);
+	btrfs_mark_buffer_dirty(trans, right);
 
 	btrfs_item_key(right, &disk_key, 0);
 	btrfs_set_node_key(upper, &disk_key, slot + 1);
-	btrfs_mark_buffer_dirty(upper);
+	btrfs_mark_buffer_dirty(trans, upper);
 
 	/* then fixup the leaf pointer in the path */
 	if (path->slots[0] >= left_nritems) {
@@ -3545,14 +3547,14 @@ static noinline int __push_leaf_left(struct btrfs_trans_handle *trans,
 		btrfs_set_token_item_offset(&token, i, push_space);
 	}
 
-	btrfs_mark_buffer_dirty(left);
+	btrfs_mark_buffer_dirty(trans, left);
 	if (right_nritems)
-		btrfs_mark_buffer_dirty(right);
+		btrfs_mark_buffer_dirty(trans, right);
 	else
 		btrfs_clear_buffer_dirty(trans, right);
 
 	btrfs_item_key(right, &disk_key, 0);
-	fixup_low_keys(path, &disk_key, 1);
+	fixup_low_keys(trans, path, &disk_key, 1);
 
 	/* then fixup the leaf pointer in the path */
 	if (path->slots[0] < push_items) {
@@ -3683,8 +3685,8 @@ static noinline int copy_for_split(struct btrfs_trans_handle *trans,
 	if (ret < 0)
 		return ret;
 
-	btrfs_mark_buffer_dirty(right);
-	btrfs_mark_buffer_dirty(l);
+	btrfs_mark_buffer_dirty(trans, right);
+	btrfs_mark_buffer_dirty(trans, l);
 	BUG_ON(path->slots[0] != slot);
 
 	if (mid <= slot) {
@@ -3925,7 +3927,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
 			path->nodes[0] = right;
 			path->slots[0] = 0;
 			if (path->slots[1] == 0)
-				fixup_low_keys(path, &disk_key, 1);
+				fixup_low_keys(trans, path, &disk_key, 1);
 		}
 		/*
 		 * We create a new leaf 'right' for the required ins_len and
@@ -4024,7 +4026,8 @@ static noinline int setup_leaf_for_split(struct btrfs_trans_handle *trans,
 	return ret;
 }
 
-static noinline int split_item(struct btrfs_path *path,
+static noinline int split_item(struct btrfs_trans_handle *trans,
+			       struct btrfs_path *path,
 			       const struct btrfs_key *new_key,
 			       unsigned long split_offset)
 {
@@ -4083,7 +4086,7 @@ static noinline int split_item(struct btrfs_path *path,
 	write_extent_buffer(leaf, buf + split_offset,
 			    btrfs_item_ptr_offset(leaf, slot),
 			    item_size - split_offset);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	BUG_ON(btrfs_leaf_free_space(leaf) < 0);
 	kfree(buf);
@@ -4117,7 +4120,7 @@ int btrfs_split_item(struct btrfs_trans_handle *trans,
 	if (ret)
 		return ret;
 
-	ret = split_item(path, new_key, split_offset);
+	ret = split_item(trans, path, new_key, split_offset);
 	return ret;
 }
 
@@ -4127,7 +4130,8 @@ int btrfs_split_item(struct btrfs_trans_handle *trans,
  * off the end of the item or if we shift the item to chop bytes off
  * the front.
  */
-void btrfs_truncate_item(struct btrfs_path *path, u32 new_size, int from_end)
+void btrfs_truncate_item(struct btrfs_trans_handle *trans,
+			 struct btrfs_path *path, u32 new_size, int from_end)
 {
 	int slot;
 	struct extent_buffer *leaf;
@@ -4203,11 +4207,11 @@ void btrfs_truncate_item(struct btrfs_path *path, u32 new_size, int from_end)
 		btrfs_set_disk_key_offset(&disk_key, offset + size_diff);
 		btrfs_set_item_key(leaf, &disk_key, slot);
 		if (slot == 0)
-			fixup_low_keys(path, &disk_key, 1);
+			fixup_low_keys(trans, path, &disk_key, 1);
 	}
 
 	btrfs_set_item_size(leaf, slot, new_size);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	if (btrfs_leaf_free_space(leaf) < 0) {
 		btrfs_print_leaf(leaf);
@@ -4218,7 +4222,8 @@ void btrfs_truncate_item(struct btrfs_path *path, u32 new_size, int from_end)
 /*
  * make the item pointed to by the path bigger, data_size is the added size.
  */
-void btrfs_extend_item(struct btrfs_path *path, u32 data_size)
+void btrfs_extend_item(struct btrfs_trans_handle *trans,
+		       struct btrfs_path *path, u32 data_size)
 {
 	int slot;
 	struct extent_buffer *leaf;
@@ -4268,7 +4273,7 @@ void btrfs_extend_item(struct btrfs_path *path, u32 data_size)
 	data_end = old_data;
 	old_size = btrfs_item_size(leaf, slot);
 	btrfs_set_item_size(leaf, slot, old_size + data_size);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	if (btrfs_leaf_free_space(leaf) < 0) {
 		btrfs_print_leaf(leaf);
@@ -4279,6 +4284,7 @@ void btrfs_extend_item(struct btrfs_path *path, u32 data_size)
 /*
  * Make space in the node before inserting one or more items.
  *
+ * @trans:	transaction handle
  * @root:	root we are inserting items to
  * @path:	points to the leaf/slot where we are going to insert new items
  * @batch:      information about the batch of items to insert
@@ -4286,7 +4292,8 @@ void btrfs_extend_item(struct btrfs_path *path, u32 data_size)
  * Main purpose is to save stack depth by doing the bulk of the work in a
  * function that doesn't call btrfs_search_slot
  */
-static void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *path,
+static void setup_items_for_insert(struct btrfs_trans_handle *trans,
+				   struct btrfs_root *root, struct btrfs_path *path,
 				   const struct btrfs_item_batch *batch)
 {
 	struct btrfs_fs_info *fs_info = root->fs_info;
@@ -4306,7 +4313,7 @@ static void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *p
 	 */
 	if (path->slots[0] == 0) {
 		btrfs_cpu_key_to_disk(&disk_key, &batch->keys[0]);
-		fixup_low_keys(path, &disk_key, 1);
+		fixup_low_keys(trans, path, &disk_key, 1);
 	}
 	btrfs_unlock_up_safe(path, 1);
 
@@ -4365,7 +4372,7 @@ static void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *p
 	}
 
 	btrfs_set_header_nritems(leaf, nritems + batch->nr);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	if (btrfs_leaf_free_space(leaf) < 0) {
 		btrfs_print_leaf(leaf);
@@ -4376,12 +4383,14 @@ static void setup_items_for_insert(struct btrfs_root *root, struct btrfs_path *p
 /*
  * Insert a new item into a leaf.
  *
+ * @trans:     Transaction handle.
  * @root:      The root of the btree.
  * @path:      A path pointing to the target leaf and slot.
  * @key:       The key of the new item.
  * @data_size: The size of the data associated with the new key.
  */
-void btrfs_setup_item_for_insert(struct btrfs_root *root,
+void btrfs_setup_item_for_insert(struct btrfs_trans_handle *trans,
+				 struct btrfs_root *root,
 				 struct btrfs_path *path,
 				 const struct btrfs_key *key,
 				 u32 data_size)
@@ -4393,7 +4402,7 @@ void btrfs_setup_item_for_insert(struct btrfs_root *root,
 	batch.total_data_size = data_size;
 	batch.nr = 1;
 
-	setup_items_for_insert(root, path, &batch);
+	setup_items_for_insert(trans, root, path, &batch);
 }
 
 /*
@@ -4419,7 +4428,7 @@ int btrfs_insert_empty_items(struct btrfs_trans_handle *trans,
 	slot = path->slots[0];
 	BUG_ON(slot < 0);
 
-	setup_items_for_insert(root, path, batch);
+	setup_items_for_insert(trans, root, path, batch);
 	return 0;
 }
 
@@ -4444,7 +4453,7 @@ int btrfs_insert_item(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 		leaf = path->nodes[0];
 		ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
 		write_extent_buffer(leaf, data, ptr, data_size);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 	}
 	btrfs_free_path(path);
 	return ret;
@@ -4475,7 +4484,7 @@ int btrfs_duplicate_item(struct btrfs_trans_handle *trans,
 		return ret;
 
 	path->slots[0]++;
-	btrfs_setup_item_for_insert(root, path, new_key, item_size);
+	btrfs_setup_item_for_insert(trans, root, path, new_key, item_size);
 	leaf = path->nodes[0];
 	memcpy_extent_buffer(leaf,
 			     btrfs_item_ptr_offset(leaf, path->slots[0]),
@@ -4533,9 +4542,9 @@ int btrfs_del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 		struct btrfs_disk_key disk_key;
 
 		btrfs_node_key(parent, &disk_key, 0);
-		fixup_low_keys(path, &disk_key, level + 1);
+		fixup_low_keys(trans, path, &disk_key, level + 1);
 	}
-	btrfs_mark_buffer_dirty(parent);
+	btrfs_mark_buffer_dirty(trans, parent);
 	return 0;
 }
 
@@ -4632,7 +4641,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 			struct btrfs_disk_key disk_key;
 
 			btrfs_item_key(leaf, &disk_key, 0);
-			fixup_low_keys(path, &disk_key, 1);
+			fixup_low_keys(trans, path, &disk_key, 1);
 		}
 
 		/*
@@ -4697,11 +4706,11 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 				 * dirtied this buffer
 				 */
 				if (path->nodes[0] == leaf)
-					btrfs_mark_buffer_dirty(leaf);
+					btrfs_mark_buffer_dirty(trans, leaf);
 				free_extent_buffer(leaf);
 			}
 		} else {
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 		}
 	}
 	return ret;
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index ff40acd63a374..06333a74d6c4c 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -518,7 +518,7 @@ int btrfs_previous_item(struct btrfs_root *root,
 			int type);
 int btrfs_previous_extent_item(struct btrfs_root *root,
 			struct btrfs_path *path, u64 min_objectid);
-void btrfs_set_item_key_safe(struct btrfs_fs_info *fs_info,
+void btrfs_set_item_key_safe(struct btrfs_trans_handle *trans,
 			     struct btrfs_path *path,
 			     const struct btrfs_key *new_key);
 struct extent_buffer *btrfs_root_node(struct btrfs_root *root);
@@ -545,8 +545,10 @@ int btrfs_block_can_be_shared(struct btrfs_trans_handle *trans,
 			      struct extent_buffer *buf);
 int btrfs_del_ptr(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 		  struct btrfs_path *path, int level, int slot);
-void btrfs_extend_item(struct btrfs_path *path, u32 data_size);
-void btrfs_truncate_item(struct btrfs_path *path, u32 new_size, int from_end);
+void btrfs_extend_item(struct btrfs_trans_handle *trans,
+		       struct btrfs_path *path, u32 data_size);
+void btrfs_truncate_item(struct btrfs_trans_handle *trans,
+			 struct btrfs_path *path, u32 new_size, int from_end);
 int btrfs_split_item(struct btrfs_trans_handle *trans,
 		     struct btrfs_root *root,
 		     struct btrfs_path *path,
@@ -610,7 +612,8 @@ struct btrfs_item_batch {
 	int nr;
 };
 
-void btrfs_setup_item_for_insert(struct btrfs_root *root,
+void btrfs_setup_item_for_insert(struct btrfs_trans_handle *trans,
+				 struct btrfs_root *root,
 				 struct btrfs_path *path,
 				 const struct btrfs_key *key,
 				 u32 data_size);
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 142e0a0f6a9fe..5d3229b42b3e2 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1030,7 +1030,7 @@ static int __btrfs_update_delayed_inode(struct btrfs_trans_handle *trans,
 				    struct btrfs_inode_item);
 	write_extent_buffer(leaf, &node->inode_item, (unsigned long)inode_item,
 			    sizeof(struct btrfs_inode_item));
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	if (!test_bit(BTRFS_DELAYED_NODE_DEL_IREF, &node->flags))
 		goto out;
diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
index 5f10965fd72bf..5549cbd9bdf6a 100644
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -442,7 +442,7 @@ int btrfs_run_dev_replace(struct btrfs_trans_handle *trans)
 	dev_replace->item_needs_writeback = 0;
 	up_write(&dev_replace->rwsem);
 
-	btrfs_mark_buffer_dirty(eb);
+	btrfs_mark_buffer_dirty(trans, eb);
 
 out:
 	btrfs_free_path(path);
diff --git a/fs/btrfs/dir-item.c b/fs/btrfs/dir-item.c
index 082eb0e195981..9c07d5c3e5ad2 100644
--- a/fs/btrfs/dir-item.c
+++ b/fs/btrfs/dir-item.c
@@ -38,7 +38,7 @@ static struct btrfs_dir_item *insert_with_overflow(struct btrfs_trans_handle
 		di = btrfs_match_dir_item_name(fs_info, path, name, name_len);
 		if (di)
 			return ERR_PTR(-EEXIST);
-		btrfs_extend_item(path, data_size);
+		btrfs_extend_item(trans, path, data_size);
 	} else if (ret < 0)
 		return ERR_PTR(ret);
 	WARN_ON(ret > 0);
@@ -93,7 +93,7 @@ int btrfs_insert_xattr_item(struct btrfs_trans_handle *trans,
 
 	write_extent_buffer(leaf, name, name_ptr, name_len);
 	write_extent_buffer(leaf, data, data_ptr, data_len);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 
 	return ret;
 }
@@ -153,7 +153,7 @@ int btrfs_insert_dir_item(struct btrfs_trans_handle *trans,
 	name_ptr = (unsigned long)(dir_item + 1);
 
 	write_extent_buffer(leaf, name->name, name_ptr, name->len);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 second_insert:
 	/* FIXME, use some real flag for selecting the extra index */
@@ -439,7 +439,7 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
 		start = btrfs_item_ptr_offset(leaf, path->slots[0]);
 		memmove_extent_buffer(leaf, ptr, ptr + sub_item_len,
 			item_len - (ptr + sub_item_len - start));
-		btrfs_truncate_item(path, item_len - sub_item_len, 1);
+		btrfs_truncate_item(trans, path, item_len - sub_item_len, 1);
 	}
 	return ret;
 }
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 681594df7334f..1ae781f533582 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -872,7 +872,7 @@ struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans,
 	}
 
 	root->node = leaf;
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	root->commit_root = btrfs_root_node(root);
 	set_bit(BTRFS_ROOT_TRACK_DIRTY, &root->state);
@@ -947,7 +947,7 @@ int btrfs_alloc_log_tree_node(struct btrfs_trans_handle *trans,
 
 	root->node = leaf;
 
-	btrfs_mark_buffer_dirty(root->node);
+	btrfs_mark_buffer_dirty(trans, root->node);
 	btrfs_tree_unlock(root->node);
 
 	return 0;
@@ -4426,7 +4426,8 @@ void __cold close_ctree(struct btrfs_fs_info *fs_info)
 	btrfs_close_devices(fs_info->fs_devices);
 }
 
-void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
+void btrfs_mark_buffer_dirty(struct btrfs_trans_handle *trans,
+			     struct extent_buffer *buf)
 {
 	struct btrfs_fs_info *fs_info = buf->fs_info;
 	u64 transid = btrfs_header_generation(buf);
@@ -4440,10 +4441,14 @@ void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
 	if (unlikely(test_bit(EXTENT_BUFFER_UNMAPPED, &buf->bflags)))
 		return;
 #endif
+	/* This is an active transaction (its state < TRANS_STATE_UNBLOCKED). */
+	ASSERT(trans->transid == fs_info->generation);
 	btrfs_assert_tree_write_locked(buf);
-	if (transid != fs_info->generation)
+	if (transid != fs_info->generation) {
 		WARN(1, KERN_CRIT "btrfs transid mismatch buffer %llu, found %llu running %llu\n",
 			buf->start, transid, fs_info->generation);
+		btrfs_abort_transaction(trans, -EUCLEAN);
+	}
 	set_extent_buffer_dirty(buf);
 #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY
 	/*
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h
index b03767f4d7edf..e5bdb96912438 100644
--- a/fs/btrfs/disk-io.h
+++ b/fs/btrfs/disk-io.h
@@ -105,7 +105,8 @@ static inline struct btrfs_root *btrfs_grab_root(struct btrfs_root *root)
 }
 
 void btrfs_put_root(struct btrfs_root *root);
-void btrfs_mark_buffer_dirty(struct extent_buffer *buf);
+void btrfs_mark_buffer_dirty(struct btrfs_trans_handle *trans,
+			     struct extent_buffer *buf);
 int btrfs_buffer_uptodate(struct extent_buffer *buf, u64 parent_transid,
 			  int atomic);
 int btrfs_read_extent_buffer(struct extent_buffer *buf,
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 14ea6b587e97b..118c56c512bd8 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -596,7 +596,7 @@ static noinline int insert_extent_data_ref(struct btrfs_trans_handle *trans,
 			btrfs_set_extent_data_ref_count(leaf, ref, num_refs);
 		}
 	}
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	ret = 0;
 fail:
 	btrfs_release_path(path);
@@ -644,7 +644,7 @@ static noinline int remove_extent_data_ref(struct btrfs_trans_handle *trans,
 			btrfs_set_extent_data_ref_count(leaf, ref1, num_refs);
 		else if (key.type == BTRFS_SHARED_DATA_REF_KEY)
 			btrfs_set_shared_data_ref_count(leaf, ref2, num_refs);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 	}
 	return ret;
 }
@@ -997,7 +997,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
  * helper to add new inline back ref
  */
 static noinline_for_stack
-void setup_inline_extent_backref(struct btrfs_fs_info *fs_info,
+void setup_inline_extent_backref(struct btrfs_trans_handle *trans,
 				 struct btrfs_path *path,
 				 struct btrfs_extent_inline_ref *iref,
 				 u64 parent, u64 root_objectid,
@@ -1020,7 +1020,7 @@ void setup_inline_extent_backref(struct btrfs_fs_info *fs_info,
 	type = extent_ref_type(parent, owner);
 	size = btrfs_extent_inline_ref_size(type);
 
-	btrfs_extend_item(path, size);
+	btrfs_extend_item(trans, path, size);
 
 	ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
 	refs = btrfs_extent_refs(leaf, ei);
@@ -1054,7 +1054,7 @@ void setup_inline_extent_backref(struct btrfs_fs_info *fs_info,
 	} else {
 		btrfs_set_extent_inline_ref_offset(leaf, iref, root_objectid);
 	}
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 }
 
 static int lookup_extent_backref(struct btrfs_trans_handle *trans,
@@ -1087,7 +1087,9 @@ static int lookup_extent_backref(struct btrfs_trans_handle *trans,
 /*
  * helper to update/remove inline back ref
  */
-static noinline_for_stack int update_inline_extent_backref(struct btrfs_path *path,
+static noinline_for_stack int update_inline_extent_backref(
+				  struct btrfs_trans_handle *trans,
+				  struct btrfs_path *path,
 				  struct btrfs_extent_inline_ref *iref,
 				  int refs_to_mod,
 				  struct btrfs_delayed_extent_op *extent_op)
@@ -1195,9 +1197,9 @@ static noinline_for_stack int update_inline_extent_backref(struct btrfs_path *pa
 			memmove_extent_buffer(leaf, ptr, ptr + size,
 					      end - ptr - size);
 		item_size -= size;
-		btrfs_truncate_item(path, item_size, 1);
+		btrfs_truncate_item(trans, path, item_size, 1);
 	}
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	return 0;
 }
 
@@ -1227,9 +1229,10 @@ int insert_inline_extent_backref(struct btrfs_trans_handle *trans,
 				   bytenr, num_bytes, root_objectid, path->slots[0]);
 			return -EUCLEAN;
 		}
-		ret = update_inline_extent_backref(path, iref, refs_to_add, extent_op);
+		ret = update_inline_extent_backref(trans, path, iref,
+						   refs_to_add, extent_op);
 	} else if (ret == -ENOENT) {
-		setup_inline_extent_backref(trans->fs_info, path, iref, parent,
+		setup_inline_extent_backref(trans, path, iref, parent,
 					    root_objectid, owner, offset,
 					    refs_to_add, extent_op);
 		ret = 0;
@@ -1247,7 +1250,8 @@ static int remove_extent_backref(struct btrfs_trans_handle *trans,
 
 	BUG_ON(!is_data && refs_to_drop != 1);
 	if (iref)
-		ret = update_inline_extent_backref(path, iref, -refs_to_drop, NULL);
+		ret = update_inline_extent_backref(trans, path, iref,
+						   -refs_to_drop, NULL);
 	else if (is_data)
 		ret = remove_extent_data_ref(trans, root, path, refs_to_drop);
 	else
@@ -1531,7 +1535,7 @@ static int __btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
 	if (extent_op)
 		__run_delayed_extent_op(extent_op, leaf, item);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	/* now insert the actual backref */
@@ -1697,7 +1701,7 @@ static int run_delayed_extent_op(struct btrfs_trans_handle *trans,
 	ei = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_extent_item);
 	__run_delayed_extent_op(extent_op, leaf, ei);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 out:
 	btrfs_free_path(path);
 	return err;
@@ -3171,7 +3175,7 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans,
 			}
 		} else {
 			btrfs_set_extent_refs(leaf, ei, refs);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 		}
 		if (found_extent) {
 			ret = remove_extent_backref(trans, extent_root, path,
@@ -4679,7 +4683,7 @@ static int alloc_reserved_file_extent(struct btrfs_trans_handle *trans,
 		btrfs_set_extent_data_ref_count(leaf, ref, ref_mod);
 	}
 
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	btrfs_free_path(path);
 
 	return alloc_reserved_extent(trans, ins->objectid, ins->offset);
@@ -4754,7 +4758,7 @@ static int alloc_reserved_tree_block(struct btrfs_trans_handle *trans,
 		btrfs_set_extent_inline_ref_offset(leaf, iref, ref->root);
 	}
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_free_path(path);
 
 	return alloc_reserved_extent(trans, node->bytenr, fs_info->nodesize);
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
index 1ce5dd1544995..45cae356e89ba 100644
--- a/fs/btrfs/file-item.c
+++ b/fs/btrfs/file-item.c
@@ -194,7 +194,7 @@ int btrfs_insert_hole_extent(struct btrfs_trans_handle *trans,
 	btrfs_set_file_extent_encryption(leaf, item, 0);
 	btrfs_set_file_extent_other_encoding(leaf, item, 0);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 out:
 	btrfs_free_path(path);
 	return ret;
@@ -811,11 +811,12 @@ blk_status_t btrfs_alloc_dummy_sum(struct btrfs_bio *bbio)
  * This calls btrfs_truncate_item with the correct args based on the overlap,
  * and fixes up the key as required.
  */
-static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
+static noinline void truncate_one_csum(struct btrfs_trans_handle *trans,
 				       struct btrfs_path *path,
 				       struct btrfs_key *key,
 				       u64 bytenr, u64 len)
 {
+	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct extent_buffer *leaf;
 	const u32 csum_size = fs_info->csum_size;
 	u64 csum_end;
@@ -836,7 +837,7 @@ static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
 		 */
 		u32 new_size = (bytenr - key->offset) >> blocksize_bits;
 		new_size *= csum_size;
-		btrfs_truncate_item(path, new_size, 1);
+		btrfs_truncate_item(trans, path, new_size, 1);
 	} else if (key->offset >= bytenr && csum_end > end_byte &&
 		   end_byte > key->offset) {
 		/*
@@ -848,10 +849,10 @@ static noinline void truncate_one_csum(struct btrfs_fs_info *fs_info,
 		u32 new_size = (csum_end - end_byte) >> blocksize_bits;
 		new_size *= csum_size;
 
-		btrfs_truncate_item(path, new_size, 0);
+		btrfs_truncate_item(trans, path, new_size, 0);
 
 		key->offset = end_byte;
-		btrfs_set_item_key_safe(fs_info, path, key);
+		btrfs_set_item_key_safe(trans, path, key);
 	} else {
 		BUG();
 	}
@@ -994,7 +995,7 @@ int btrfs_del_csums(struct btrfs_trans_handle *trans,
 
 			key.offset = end_byte - 1;
 		} else {
-			truncate_one_csum(fs_info, path, &key, bytenr, len);
+			truncate_one_csum(trans, path, &key, bytenr, len);
 			if (key.offset < bytenr)
 				break;
 		}
@@ -1202,7 +1203,7 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
 		diff /= csum_size;
 		diff *= csum_size;
 
-		btrfs_extend_item(path, diff);
+		btrfs_extend_item(trans, path, diff);
 		ret = 0;
 		goto csum;
 	}
@@ -1249,7 +1250,7 @@ int btrfs_csum_file_blocks(struct btrfs_trans_handle *trans,
 	ins_size /= csum_size;
 	total_bytes += ins_size * fs_info->sectorsize;
 
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	if (total_bytes < sums->len) {
 		btrfs_release_path(path);
 		cond_resched();
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index eae9175f2c29b..a407af38a9237 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -368,7 +368,7 @@ int btrfs_drop_extents(struct btrfs_trans_handle *trans,
 			btrfs_set_file_extent_offset(leaf, fi, extent_offset);
 			btrfs_set_file_extent_num_bytes(leaf, fi,
 							extent_end - args->start);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 
 			if (update_refs && disk_bytenr > 0) {
 				btrfs_init_generic_ref(&ref,
@@ -405,13 +405,13 @@ int btrfs_drop_extents(struct btrfs_trans_handle *trans,
 
 			memcpy(&new_key, &key, sizeof(new_key));
 			new_key.offset = args->end;
-			btrfs_set_item_key_safe(fs_info, path, &new_key);
+			btrfs_set_item_key_safe(trans, path, &new_key);
 
 			extent_offset += args->end - key.offset;
 			btrfs_set_file_extent_offset(leaf, fi, extent_offset);
 			btrfs_set_file_extent_num_bytes(leaf, fi,
 							extent_end - args->end);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 			if (update_refs && disk_bytenr > 0)
 				args->bytes_found += args->end - key.offset;
 			break;
@@ -431,7 +431,7 @@ int btrfs_drop_extents(struct btrfs_trans_handle *trans,
 
 			btrfs_set_file_extent_num_bytes(leaf, fi,
 							args->start - key.offset);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 			if (update_refs && disk_bytenr > 0)
 				args->bytes_found += extent_end - args->start;
 			if (args->end == extent_end)
@@ -536,7 +536,8 @@ int btrfs_drop_extents(struct btrfs_trans_handle *trans,
 			if (btrfs_comp_cpu_keys(&key, &slot_key) > 0)
 				path->slots[0]++;
 		}
-		btrfs_setup_item_for_insert(root, path, &key, args->extent_item_size);
+		btrfs_setup_item_for_insert(trans, root, path, &key,
+					    args->extent_item_size);
 		args->extent_inserted = true;
 	}
 
@@ -593,7 +594,6 @@ static int extent_mergeable(struct extent_buffer *leaf, int slot,
 int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 			      struct btrfs_inode *inode, u64 start, u64 end)
 {
-	struct btrfs_fs_info *fs_info = trans->fs_info;
 	struct btrfs_root *root = inode->root;
 	struct extent_buffer *leaf;
 	struct btrfs_path *path;
@@ -664,7 +664,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 				     ino, bytenr, orig_offset,
 				     &other_start, &other_end)) {
 			new_key.offset = end;
-			btrfs_set_item_key_safe(fs_info, path, &new_key);
+			btrfs_set_item_key_safe(trans, path, &new_key);
 			fi = btrfs_item_ptr(leaf, path->slots[0],
 					    struct btrfs_file_extent_item);
 			btrfs_set_file_extent_generation(leaf, fi,
@@ -679,7 +679,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 							 trans->transid);
 			btrfs_set_file_extent_num_bytes(leaf, fi,
 							end - other_start);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 			goto out;
 		}
 	}
@@ -698,7 +698,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 							 trans->transid);
 			path->slots[0]++;
 			new_key.offset = start;
-			btrfs_set_item_key_safe(fs_info, path, &new_key);
+			btrfs_set_item_key_safe(trans, path, &new_key);
 
 			fi = btrfs_item_ptr(leaf, path->slots[0],
 					    struct btrfs_file_extent_item);
@@ -708,7 +708,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 							other_end - start);
 			btrfs_set_file_extent_offset(leaf, fi,
 						     start - orig_offset);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 			goto out;
 		}
 	}
@@ -742,7 +742,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 		btrfs_set_file_extent_offset(leaf, fi, split - orig_offset);
 		btrfs_set_file_extent_num_bytes(leaf, fi,
 						extent_end - split);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 
 		btrfs_init_generic_ref(&ref, BTRFS_ADD_DELAYED_REF, bytenr,
 				       num_bytes, 0);
@@ -814,7 +814,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 		btrfs_set_file_extent_type(leaf, fi,
 					   BTRFS_FILE_EXTENT_REG);
 		btrfs_set_file_extent_generation(leaf, fi, trans->transid);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 	} else {
 		fi = btrfs_item_ptr(leaf, del_slot - 1,
 			   struct btrfs_file_extent_item);
@@ -823,7 +823,7 @@ int btrfs_mark_extent_written(struct btrfs_trans_handle *trans,
 		btrfs_set_file_extent_generation(leaf, fi, trans->transid);
 		btrfs_set_file_extent_num_bytes(leaf, fi,
 						extent_end - key.offset);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 
 		ret = btrfs_del_items(trans, root, path, del_slot, del_nr);
 		if (ret < 0) {
@@ -2103,7 +2103,7 @@ static int fill_holes(struct btrfs_trans_handle *trans,
 		btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes);
 		btrfs_set_file_extent_offset(leaf, fi, 0);
 		btrfs_set_file_extent_generation(leaf, fi, trans->transid);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 		goto out;
 	}
 
@@ -2111,7 +2111,7 @@ static int fill_holes(struct btrfs_trans_handle *trans,
 		u64 num_bytes;
 
 		key.offset = offset;
-		btrfs_set_item_key_safe(fs_info, path, &key);
+		btrfs_set_item_key_safe(trans, path, &key);
 		fi = btrfs_item_ptr(leaf, path->slots[0],
 				    struct btrfs_file_extent_item);
 		num_bytes = btrfs_file_extent_num_bytes(leaf, fi) + end -
@@ -2120,7 +2120,7 @@ static int fill_holes(struct btrfs_trans_handle *trans,
 		btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes);
 		btrfs_set_file_extent_offset(leaf, fi, 0);
 		btrfs_set_file_extent_generation(leaf, fi, trans->transid);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 		goto out;
 	}
 	btrfs_release_path(path);
@@ -2272,7 +2272,7 @@ static int btrfs_insert_replace_extent(struct btrfs_trans_handle *trans,
 	btrfs_set_file_extent_num_bytes(leaf, extent, replace_len);
 	if (extent_info->is_new_extent)
 		btrfs_set_file_extent_generation(leaf, extent, trans->transid);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	ret = btrfs_inode_set_file_extent_range(inode, extent_info->file_offset,
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c
index 8808004180759..6b7383ae5a70c 100644
--- a/fs/btrfs/free-space-cache.c
+++ b/fs/btrfs/free-space-cache.c
@@ -195,7 +195,7 @@ static int __create_free_space_inode(struct btrfs_root *root,
 	btrfs_set_inode_nlink(leaf, inode_item, 1);
 	btrfs_set_inode_transid(leaf, inode_item, trans->transid);
 	btrfs_set_inode_block_group(leaf, inode_item, offset);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	key.objectid = BTRFS_FREE_SPACE_OBJECTID;
@@ -213,7 +213,7 @@ static int __create_free_space_inode(struct btrfs_root *root,
 				struct btrfs_free_space_header);
 	memzero_extent_buffer(leaf, (unsigned long)header, sizeof(*header));
 	btrfs_set_free_space_key(leaf, header, &disk_key);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	return 0;
@@ -1185,7 +1185,7 @@ update_cache_item(struct btrfs_trans_handle *trans,
 	btrfs_set_free_space_entries(leaf, header, entries);
 	btrfs_set_free_space_bitmaps(leaf, header, bitmaps);
 	btrfs_set_free_space_generation(leaf, header, trans->transid);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	return 0;
diff --git a/fs/btrfs/free-space-tree.c b/fs/btrfs/free-space-tree.c
index f169378e2ca6e..ae060a26e1191 100644
--- a/fs/btrfs/free-space-tree.c
+++ b/fs/btrfs/free-space-tree.c
@@ -89,7 +89,7 @@ static int add_new_free_space_info(struct btrfs_trans_handle *trans,
 			      struct btrfs_free_space_info);
 	btrfs_set_free_space_extent_count(leaf, info, 0);
 	btrfs_set_free_space_flags(leaf, info, 0);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	ret = 0;
 out:
@@ -287,7 +287,7 @@ int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
 	flags |= BTRFS_FREE_SPACE_USING_BITMAPS;
 	btrfs_set_free_space_flags(leaf, info, flags);
 	expected_extent_count = btrfs_free_space_extent_count(leaf, info);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	if (extent_count != expected_extent_count) {
@@ -324,7 +324,7 @@ int convert_free_space_to_bitmaps(struct btrfs_trans_handle *trans,
 		ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
 		write_extent_buffer(leaf, bitmap_cursor, ptr,
 				    data_size);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 		btrfs_release_path(path);
 
 		i += extent_size;
@@ -430,7 +430,7 @@ int convert_free_space_to_extents(struct btrfs_trans_handle *trans,
 	flags &= ~BTRFS_FREE_SPACE_USING_BITMAPS;
 	btrfs_set_free_space_flags(leaf, info, flags);
 	expected_extent_count = btrfs_free_space_extent_count(leaf, info);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	nrbits = block_group->length >> block_group->fs_info->sectorsize_bits;
@@ -495,7 +495,7 @@ static int update_free_space_extent_count(struct btrfs_trans_handle *trans,
 
 	extent_count += new_extents;
 	btrfs_set_free_space_extent_count(path->nodes[0], info, extent_count);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	btrfs_release_path(path);
 
 	if (!(flags & BTRFS_FREE_SPACE_USING_BITMAPS) &&
@@ -533,7 +533,8 @@ int free_space_test_bit(struct btrfs_block_group *block_group,
 	return !!extent_buffer_test_bit(leaf, ptr, i);
 }
 
-static void free_space_set_bits(struct btrfs_block_group *block_group,
+static void free_space_set_bits(struct btrfs_trans_handle *trans,
+				struct btrfs_block_group *block_group,
 				struct btrfs_path *path, u64 *start, u64 *size,
 				int bit)
 {
@@ -563,7 +564,7 @@ static void free_space_set_bits(struct btrfs_block_group *block_group,
 		extent_buffer_bitmap_set(leaf, ptr, first, last - first);
 	else
 		extent_buffer_bitmap_clear(leaf, ptr, first, last - first);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	*size -= end - *start;
 	*start = end;
@@ -656,7 +657,7 @@ static int modify_free_space_bitmap(struct btrfs_trans_handle *trans,
 	cur_start = start;
 	cur_size = size;
 	while (1) {
-		free_space_set_bits(block_group, path, &cur_start, &cur_size,
+		free_space_set_bits(trans, block_group, path, &cur_start, &cur_size,
 				    !remove);
 		if (cur_size == 0)
 			break;
diff --git a/fs/btrfs/inode-item.c b/fs/btrfs/inode-item.c
index 4c322b720a80a..d3ff97374d48a 100644
--- a/fs/btrfs/inode-item.c
+++ b/fs/btrfs/inode-item.c
@@ -167,7 +167,7 @@ static int btrfs_del_inode_extref(struct btrfs_trans_handle *trans,
 	memmove_extent_buffer(leaf, ptr, ptr + del_len,
 			      item_size - (ptr + del_len - item_start));
 
-	btrfs_truncate_item(path, item_size - del_len, 1);
+	btrfs_truncate_item(trans, path, item_size - del_len, 1);
 
 out:
 	btrfs_free_path(path);
@@ -229,7 +229,7 @@ int btrfs_del_inode_ref(struct btrfs_trans_handle *trans,
 	item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
 	memmove_extent_buffer(leaf, ptr, ptr + sub_item_len,
 			      item_size - (ptr + sub_item_len - item_start));
-	btrfs_truncate_item(path, item_size - sub_item_len, 1);
+	btrfs_truncate_item(trans, path, item_size - sub_item_len, 1);
 out:
 	btrfs_free_path(path);
 
@@ -282,7 +282,7 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans,
 						   name))
 			goto out;
 
-		btrfs_extend_item(path, ins_len);
+		btrfs_extend_item(trans, path, ins_len);
 		ret = 0;
 	}
 	if (ret < 0)
@@ -299,7 +299,7 @@ static int btrfs_insert_inode_extref(struct btrfs_trans_handle *trans,
 
 	ptr = (unsigned long)&extref->name;
 	write_extent_buffer(path->nodes[0], name->name, ptr, name->len);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 
 out:
 	btrfs_free_path(path);
@@ -338,7 +338,7 @@ int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans,
 			goto out;
 
 		old_size = btrfs_item_size(path->nodes[0], path->slots[0]);
-		btrfs_extend_item(path, ins_len);
+		btrfs_extend_item(trans, path, ins_len);
 		ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
 				     struct btrfs_inode_ref);
 		ref = (struct btrfs_inode_ref *)((unsigned long)ref + old_size);
@@ -364,7 +364,7 @@ int btrfs_insert_inode_ref(struct btrfs_trans_handle *trans,
 		ptr = (unsigned long)(ref + 1);
 	}
 	write_extent_buffer(path->nodes[0], name->name, ptr, name->len);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 
 out:
 	btrfs_free_path(path);
@@ -591,7 +591,7 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
 				num_dec = (orig_num_bytes - extent_num_bytes);
 				if (extent_start != 0)
 					control->sub_bytes += num_dec;
-				btrfs_mark_buffer_dirty(leaf);
+				btrfs_mark_buffer_dirty(trans, leaf);
 			} else {
 				extent_num_bytes =
 					btrfs_file_extent_disk_num_bytes(leaf, fi);
@@ -617,7 +617,7 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
 
 				btrfs_set_file_extent_ram_bytes(leaf, fi, size);
 				size = btrfs_file_extent_calc_inline_size(size);
-				btrfs_truncate_item(path, size, 1);
+				btrfs_truncate_item(trans, path, size, 1);
 			} else if (!del_item) {
 				/*
 				 * We have to bail so the last_size is set to
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 0f4498dfa30c9..58e104f118f96 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -573,7 +573,7 @@ static int insert_inline_extent(struct btrfs_trans_handle *trans,
 		kunmap_local(kaddr);
 		put_page(page);
 	}
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	/*
@@ -3072,7 +3072,7 @@ static int insert_reserved_file_extent(struct btrfs_trans_handle *trans,
 			btrfs_item_ptr_offset(leaf, path->slots[0]),
 			sizeof(struct btrfs_file_extent_item));
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_release_path(path);
 
 	/*
@@ -4134,7 +4134,7 @@ static noinline int btrfs_update_inode_item(struct btrfs_trans_handle *trans,
 				    struct btrfs_inode_item);
 
 	fill_inode_item(trans, leaf, inode_item, &inode->vfs_inode);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_set_inode_last_trans(trans, inode);
 	ret = 0;
 failed:
@@ -6476,7 +6476,7 @@ int btrfs_create_new_inode(struct btrfs_trans_handle *trans,
 		}
 	}
 
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	/*
 	 * We don't need the path anymore, plus inheriting properties, adding
 	 * ACLs, security xattrs, orphan item or adding the link, will result in
@@ -9630,7 +9630,7 @@ static int btrfs_symlink(struct mnt_idmap *idmap, struct inode *dir,
 
 	ptr = btrfs_file_extent_inline_start(ei);
 	write_extent_buffer(leaf, symname, ptr, name_len);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 	btrfs_free_path(path);
 
 	d_instantiate_new(dentry, inode);
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 6d0df9bc1e72b..8bdf9bed25c75 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -663,7 +663,7 @@ static noinline int create_subvol(struct mnt_idmap *idmap,
 		goto out;
 	}
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	inode_item = &root_item->inode;
 	btrfs_set_stack_inode_generation(inode_item, 1);
@@ -2947,7 +2947,7 @@ static long btrfs_ioctl_default_subvol(struct file *file, void __user *argp)
 
 	btrfs_cpu_key_to_disk(&disk_key, &new_root->root_key);
 	btrfs_set_dir_item_key(path->nodes[0], di, &disk_key);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	btrfs_release_path(path);
 
 	btrfs_set_fs_incompat(fs_info, DEFAULT_SUBVOL);
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 2637d6b157ff9..74cabaa59be71 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -622,7 +622,7 @@ static int add_qgroup_relation_item(struct btrfs_trans_handle *trans, u64 src,
 
 	ret = btrfs_insert_empty_item(trans, quota_root, path, &key, 0);
 
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 
 	btrfs_free_path(path);
 	return ret;
@@ -700,7 +700,7 @@ static int add_qgroup_item(struct btrfs_trans_handle *trans,
 	btrfs_set_qgroup_info_excl(leaf, qgroup_info, 0);
 	btrfs_set_qgroup_info_excl_cmpr(leaf, qgroup_info, 0);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	btrfs_release_path(path);
 
@@ -719,7 +719,7 @@ static int add_qgroup_item(struct btrfs_trans_handle *trans,
 	btrfs_set_qgroup_limit_rsv_rfer(leaf, qgroup_limit, 0);
 	btrfs_set_qgroup_limit_rsv_excl(leaf, qgroup_limit, 0);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	ret = 0;
 out:
@@ -808,7 +808,7 @@ static int update_qgroup_limit_item(struct btrfs_trans_handle *trans,
 	btrfs_set_qgroup_limit_rsv_rfer(l, qgroup_limit, qgroup->rsv_rfer);
 	btrfs_set_qgroup_limit_rsv_excl(l, qgroup_limit, qgroup->rsv_excl);
 
-	btrfs_mark_buffer_dirty(l);
+	btrfs_mark_buffer_dirty(trans, l);
 
 out:
 	btrfs_free_path(path);
@@ -854,7 +854,7 @@ static int update_qgroup_info_item(struct btrfs_trans_handle *trans,
 	btrfs_set_qgroup_info_excl(l, qgroup_info, qgroup->excl);
 	btrfs_set_qgroup_info_excl_cmpr(l, qgroup_info, qgroup->excl_cmpr);
 
-	btrfs_mark_buffer_dirty(l);
+	btrfs_mark_buffer_dirty(trans, l);
 
 out:
 	btrfs_free_path(path);
@@ -896,7 +896,7 @@ static int update_qgroup_status_item(struct btrfs_trans_handle *trans)
 	btrfs_set_qgroup_status_rescan(l, ptr,
 				fs_info->qgroup_rescan_progress.objectid);
 
-	btrfs_mark_buffer_dirty(l);
+	btrfs_mark_buffer_dirty(trans, l);
 
 out:
 	btrfs_free_path(path);
@@ -1069,7 +1069,7 @@ int btrfs_quota_enable(struct btrfs_fs_info *fs_info)
 				      BTRFS_QGROUP_STATUS_FLAGS_MASK);
 	btrfs_set_qgroup_status_rescan(leaf, ptr, 0);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	key.objectid = 0;
 	key.type = BTRFS_ROOT_REF_KEY;
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 62ed57551824c..31781af447553 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -1181,7 +1181,7 @@ int replace_file_extents(struct btrfs_trans_handle *trans,
 		}
 	}
 	if (dirty)
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 	if (inode)
 		btrfs_add_delayed_iput(BTRFS_I(inode));
 	return ret;
@@ -1374,13 +1374,13 @@ int replace_path(struct btrfs_trans_handle *trans, struct reloc_control *rc,
 		 */
 		btrfs_set_node_blockptr(parent, slot, new_bytenr);
 		btrfs_set_node_ptr_generation(parent, slot, new_ptr_gen);
-		btrfs_mark_buffer_dirty(parent);
+		btrfs_mark_buffer_dirty(trans, parent);
 
 		btrfs_set_node_blockptr(path->nodes[level],
 					path->slots[level], old_bytenr);
 		btrfs_set_node_ptr_generation(path->nodes[level],
 					      path->slots[level], old_ptr_gen);
-		btrfs_mark_buffer_dirty(path->nodes[level]);
+		btrfs_mark_buffer_dirty(trans, path->nodes[level]);
 
 		btrfs_init_generic_ref(&ref, BTRFS_ADD_DELAYED_REF, old_bytenr,
 				       blocksize, path->nodes[level]->start);
@@ -2517,7 +2517,7 @@ static int do_relocation(struct btrfs_trans_handle *trans,
 						node->eb->start);
 			btrfs_set_node_ptr_generation(upper->eb, slot,
 						      trans->transid);
-			btrfs_mark_buffer_dirty(upper->eb);
+			btrfs_mark_buffer_dirty(trans, upper->eb);
 
 			btrfs_init_generic_ref(&ref, BTRFS_ADD_DELAYED_REF,
 					       node->eb->start, blocksize,
@@ -3833,7 +3833,7 @@ static int __insert_orphan_inode(struct btrfs_trans_handle *trans,
 	btrfs_set_inode_mode(leaf, item, S_IFREG | 0600);
 	btrfs_set_inode_flags(leaf, item, BTRFS_INODE_NOCOMPRESS |
 					  BTRFS_INODE_PREALLOC);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 out:
 	btrfs_free_path(path);
 	return ret;
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c
index 859874579456f..5b0f1bccc409c 100644
--- a/fs/btrfs/root-tree.c
+++ b/fs/btrfs/root-tree.c
@@ -191,7 +191,7 @@ int btrfs_update_root(struct btrfs_trans_handle *trans, struct btrfs_root
 	btrfs_set_root_generation_v2(item, btrfs_root_generation(item));
 
 	write_extent_buffer(l, item, ptr, sizeof(*item));
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 out:
 	btrfs_free_path(path);
 	return ret;
@@ -438,7 +438,7 @@ int btrfs_add_root_ref(struct btrfs_trans_handle *trans, u64 root_id,
 	btrfs_set_root_ref_name_len(leaf, ref, name->len);
 	ptr = (unsigned long)(ref + 1);
 	write_extent_buffer(leaf, name->name, ptr, name->len);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	if (key.type == BTRFS_ROOT_BACKREF_KEY) {
 		btrfs_release_path(path);
diff --git a/fs/btrfs/tests/extent-buffer-tests.c b/fs/btrfs/tests/extent-buffer-tests.c
index 5ef0b90e25c3b..6a43a64ba55ad 100644
--- a/fs/btrfs/tests/extent-buffer-tests.c
+++ b/fs/btrfs/tests/extent-buffer-tests.c
@@ -61,7 +61,11 @@ static int test_btrfs_split_item(u32 sectorsize, u32 nodesize)
 	key.type = BTRFS_EXTENT_CSUM_KEY;
 	key.offset = 0;
 
-	btrfs_setup_item_for_insert(root, path, &key, value_len);
+	/*
+	 * Passing a NULL trans handle is fine here, we have a dummy root eb
+	 * and the tree is a single node (level 0).
+	 */
+	btrfs_setup_item_for_insert(NULL, root, path, &key, value_len);
 	write_extent_buffer(eb, value, btrfs_item_ptr_offset(eb, 0),
 			    value_len);
 
diff --git a/fs/btrfs/tests/inode-tests.c b/fs/btrfs/tests/inode-tests.c
index 05b03f5eab83b..492d69d2fa737 100644
--- a/fs/btrfs/tests/inode-tests.c
+++ b/fs/btrfs/tests/inode-tests.c
@@ -34,7 +34,11 @@ static void insert_extent(struct btrfs_root *root, u64 start, u64 len,
 	key.type = BTRFS_EXTENT_DATA_KEY;
 	key.offset = start;
 
-	btrfs_setup_item_for_insert(root, &path, &key, value_len);
+	/*
+	 * Passing a NULL trans handle is fine here, we have a dummy root eb
+	 * and the tree is a single node (level 0).
+	 */
+	btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
 	fi = btrfs_item_ptr(leaf, slot, struct btrfs_file_extent_item);
 	btrfs_set_file_extent_generation(leaf, fi, 1);
 	btrfs_set_file_extent_type(leaf, fi, type);
@@ -64,7 +68,11 @@ static void insert_inode_item_key(struct btrfs_root *root)
 	key.type = BTRFS_INODE_ITEM_KEY;
 	key.offset = 0;
 
-	btrfs_setup_item_for_insert(root, &path, &key, value_len);
+	/*
+	 * Passing a NULL trans handle is fine here, we have a dummy root eb
+	 * and the tree is a single node (level 0).
+	 */
+	btrfs_setup_item_for_insert(NULL, root, &path, &key, value_len);
 }
 
 /*
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index a00e7a0bc713d..ad0d934991741 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -504,9 +504,9 @@ static int overwrite_item(struct btrfs_trans_handle *trans,
 		found_size = btrfs_item_size(path->nodes[0],
 						path->slots[0]);
 		if (found_size > item_size)
-			btrfs_truncate_item(path, item_size, 1);
+			btrfs_truncate_item(trans, path, item_size, 1);
 		else if (found_size < item_size)
-			btrfs_extend_item(path, item_size - found_size);
+			btrfs_extend_item(trans, path, item_size - found_size);
 	} else if (ret) {
 		return ret;
 	}
@@ -574,7 +574,7 @@ static int overwrite_item(struct btrfs_trans_handle *trans,
 		}
 	}
 no_copy:
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	btrfs_release_path(path);
 	return 0;
 }
@@ -3530,7 +3530,7 @@ static noinline int insert_dir_log_key(struct btrfs_trans_handle *trans,
 		last_offset = max(last_offset, curr_end);
 	}
 	btrfs_set_dir_log_end(path->nodes[0], item, last_offset);
-	btrfs_mark_buffer_dirty(path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, path->nodes[0]);
 	btrfs_release_path(path);
 	return 0;
 }
@@ -4488,7 +4488,7 @@ static noinline int copy_items(struct btrfs_trans_handle *trans,
 		dst_index++;
 	}
 
-	btrfs_mark_buffer_dirty(dst_path->nodes[0]);
+	btrfs_mark_buffer_dirty(trans, dst_path->nodes[0]);
 	btrfs_release_path(dst_path);
 out:
 	kfree(ins_data);
@@ -4693,7 +4693,7 @@ static int log_one_extent(struct btrfs_trans_handle *trans,
 	write_extent_buffer(leaf, &fi,
 			    btrfs_item_ptr_offset(leaf, path->slots[0]),
 			    sizeof(fi));
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	btrfs_release_path(path);
 
diff --git a/fs/btrfs/uuid-tree.c b/fs/btrfs/uuid-tree.c
index 7c7001f42b14c..5be74f9e47ebf 100644
--- a/fs/btrfs/uuid-tree.c
+++ b/fs/btrfs/uuid-tree.c
@@ -124,7 +124,7 @@ int btrfs_uuid_tree_add(struct btrfs_trans_handle *trans, u8 *uuid, u8 type,
 		 * An item with that type already exists.
 		 * Extend the item and store the new subid at the end.
 		 */
-		btrfs_extend_item(path, sizeof(subid_le));
+		btrfs_extend_item(trans, path, sizeof(subid_le));
 		eb = path->nodes[0];
 		slot = path->slots[0];
 		offset = btrfs_item_ptr_offset(eb, slot);
@@ -139,7 +139,7 @@ int btrfs_uuid_tree_add(struct btrfs_trans_handle *trans, u8 *uuid, u8 type,
 	ret = 0;
 	subid_le = cpu_to_le64(subid_cpu);
 	write_extent_buffer(eb, &subid_le, offset, sizeof(subid_le));
-	btrfs_mark_buffer_dirty(eb);
+	btrfs_mark_buffer_dirty(trans, eb);
 
 out:
 	btrfs_free_path(path);
@@ -221,7 +221,7 @@ int btrfs_uuid_tree_remove(struct btrfs_trans_handle *trans, u8 *uuid, u8 type,
 	move_src = offset + sizeof(subid);
 	move_len = item_size - (move_src - btrfs_item_ptr_offset(eb, slot));
 	memmove_extent_buffer(eb, move_dst, move_src, move_len);
-	btrfs_truncate_item(path, item_size - sizeof(subid), 1);
+	btrfs_truncate_item(trans, path, item_size - sizeof(subid), 1);
 
 out:
 	btrfs_free_path(path);
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 5019e9244d2d2..1df496c809376 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1908,7 +1908,7 @@ static int btrfs_add_dev_item(struct btrfs_trans_handle *trans,
 	ptr = btrfs_device_fsid(dev_item);
 	write_extent_buffer(leaf, trans->fs_info->fs_devices->metadata_uuid,
 			    ptr, BTRFS_FSID_SIZE);
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 	ret = 0;
 out:
@@ -2613,7 +2613,7 @@ static int btrfs_finish_sprout(struct btrfs_trans_handle *trans)
 		if (device->fs_devices->seeding) {
 			btrfs_set_device_generation(leaf, dev_item,
 						    device->generation);
-			btrfs_mark_buffer_dirty(leaf);
+			btrfs_mark_buffer_dirty(trans, leaf);
 		}
 
 		path->slots[0]++;
@@ -2911,7 +2911,7 @@ static noinline int btrfs_update_device(struct btrfs_trans_handle *trans,
 				     btrfs_device_get_disk_total_bytes(device));
 	btrfs_set_device_bytes_used(leaf, dev_item,
 				    btrfs_device_get_bytes_used(device));
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 
 out:
 	btrfs_free_path(path);
@@ -3499,7 +3499,7 @@ static int insert_balance_item(struct btrfs_fs_info *fs_info,
 
 	btrfs_set_balance_flags(leaf, item, bctl->flags);
 
-	btrfs_mark_buffer_dirty(leaf);
+	btrfs_mark_buffer_dirty(trans, leaf);
 out:
 	btrfs_free_path(path);
 	err = btrfs_commit_transaction(trans);
@@ -7513,7 +7513,7 @@ static int update_dev_stat_item(struct btrfs_trans_handle *trans,
 	for (i = 0; i < BTRFS_DEV_STAT_VALUES_MAX; i++)
 		btrfs_set_dev_stats_value(eb, ptr, i,
 					  btrfs_dev_stat_read(device, i));
-	btrfs_mark_buffer_dirty(eb);
+	btrfs_mark_buffer_dirty(trans, eb);
 
 out:
 	btrfs_free_path(path);
diff --git a/fs/btrfs/xattr.c b/fs/btrfs/xattr.c
index fc4b20c2688a0..c454b8ce6babe 100644
--- a/fs/btrfs/xattr.c
+++ b/fs/btrfs/xattr.c
@@ -188,15 +188,15 @@ int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
 		if (old_data_len + name_len + sizeof(*di) == item_size) {
 			/* No other xattrs packed in the same leaf item. */
 			if (size > old_data_len)
-				btrfs_extend_item(path, size - old_data_len);
+				btrfs_extend_item(trans, path, size - old_data_len);
 			else if (size < old_data_len)
-				btrfs_truncate_item(path, data_size, 1);
+				btrfs_truncate_item(trans, path, data_size, 1);
 		} else {
 			/* There are other xattrs packed in the same item. */
 			ret = btrfs_delete_one_dir_name(trans, root, path, di);
 			if (ret)
 				goto out;
-			btrfs_extend_item(path, data_size);
+			btrfs_extend_item(trans, path, data_size);
 		}
 
 		ptr = btrfs_item_ptr(leaf, slot, char);
@@ -205,7 +205,7 @@ int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
 		btrfs_set_dir_data_len(leaf, di, size);
 		data_ptr = ((unsigned long)(di + 1)) + name_len;
 		write_extent_buffer(leaf, value, data_ptr, size);
-		btrfs_mark_buffer_dirty(leaf);
+		btrfs_mark_buffer_dirty(trans, leaf);
 	} else {
 		/*
 		 * Insert, and we had space for the xattr, so path->slots[0] is
-- 
2.42.0




  parent reply	other threads:[~2023-11-24 18:26 UTC|newest]

Thread overview: 498+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-24 17:43 [PATCH 6.5 000/491] 6.5.13-rc1 review Greg Kroah-Hartman
2023-11-24 17:43 ` [PATCH 6.5 001/491] locking/ww_mutex/test: Fix potential workqueue corruption Greg Kroah-Hartman
2023-11-24 17:43 ` Greg Kroah-Hartman [this message]
2023-11-24 17:43 ` [PATCH 6.5 003/491] lib/generic-radix-tree.c: Dont overflow in peek() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 004/491] x86/retpoline: Make sure there are no unconverted return thunks due to KCSAN Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 005/491] perf/core: Bail out early if the request AUX area is out of bound Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 006/491] rcu: Dump memory object info if callback function is invalid Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 007/491] srcu: Fix srcu_struct node grpmask overflow on 64-bit systems Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 008/491] selftests/lkdtm: Disable CONFIG_UBSAN_TRAP in test config Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 009/491] clocksource/drivers/timer-imx-gpt: Fix potential memory leak Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 010/491] clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 011/491] srcu: Only accelerate on enqueue time Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 012/491] smp,csd: Throw an error if a CSD lock is stuck for too long Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 013/491] cpu/hotplug: Dont offline the last non-isolated CPU Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 014/491] workqueue: Provide one lock class key per work_on_cpu() callsite Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 015/491] x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 016/491] wifi: plfxlc: fix clang-specific fortify warning Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 017/491] wifi: ath12k: Ignore fragments from uninitialized peer in dp Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 018/491] wifi: mac80211_hwsim: fix clang-specific fortify warning Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 019/491] wifi: mac80211: dont return unset power in ieee80211_get_tx_power() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 020/491] atl1c: Work around the DMA RX overflow issue Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 021/491] bpf: Detect IP == ksym.end as part of BPF program Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 022/491] wifi: ath9k: fix clang-specific fortify warnings Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 023/491] wifi: ath12k: fix possible out-of-bound read in ath12k_htt_pull_ppdu_stats() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 024/491] wifi: ath10k: fix clang-specific fortify warning Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 025/491] wifi: ath12k: fix possible out-of-bound write in ath12k_wmi_ext_hal_reg_caps() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 026/491] ACPI: APEI: Fix AER info corruption when error status data has multiple sections Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 027/491] net: sfp: add quirk for Fiberstone GPON-ONU-34-20BI Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 028/491] wifi: mt76: mt7921e: Support MT7992 IP in Xiaomi Redmibook 15 Pro (2023) Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 029/491] net: annotate data-races around sk->sk_tx_queue_mapping Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 030/491] net: annotate data-races around sk->sk_dst_pending_confirm Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 031/491] wifi: ath12k: mhi: fix potential memory leak in ath12k_mhi_register() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 032/491] wifi: ath10k: Dont touch the CE interrupt registers after power up Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 033/491] net: sfp: add quirk for FSs 2.5G copper SFP Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 034/491] vsock: read from sockets error queue Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 035/491] bpf: Ensure proper register state printing for cond jumps Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 036/491] wifi: iwlwifi: mvm: fix size check for fw_link_id Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 037/491] Bluetooth: btusb: Add date->evt_skb is NULL check Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 038/491] Bluetooth: Fix double free in hci_conn_cleanup Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 039/491] ACPI: EC: Add quirk for HP 250 G7 Notebook PC Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 040/491] tsnep: Fix tsnep_request_irq() format-overflow warning Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 041/491] gpiolib: acpi: Add a ignore interrupt quirk for Peaq C1010 Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 042/491] platform/chrome: kunit: initialize lock for fake ec_dev Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 043/491] of: address: Fix address translation when address-size is greater than 2 Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 044/491] platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 045/491] drm/gma500: Fix call trace when psb_gem_mm_init() fails Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 046/491] drm/amdkfd: ratelimited SQ interrupt messages Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 047/491] drm/komeda: drop all currently held locks if deadlock happens Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 048/491] drm/amd/display: Blank phantom OTG before enabling Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 049/491] drm/amd/display: Dont lock phantom pipe on disabling Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 050/491] drm/amd/display: add seamless pipe topology transition check Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 051/491] drm/edid: Fixup h/vsync_end instead of h/vtotal Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 052/491] md: dont rely on mddev->pers to be set in mddev_suspend() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 053/491] drm/amdgpu: not to save bo in the case of RAS err_event_athub Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 054/491] drm/amdkfd: Fix a race condition of vram buffer unref in svm code Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 055/491] drm/amd: Update `update_pcie_parameters` functions to use uint8_t arguments Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 056/491] drm/amd/display: use full update for clip size increase of large plane source Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 057/491] string.h: add array-wrappers for (v)memdup_user() Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 058/491] kernel: kexec: copy user-array safely Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 059/491] kernel: watch_queue: " Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 060/491] drm_lease.c: " Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 061/491] drm: vmwgfx_surface.c: " Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 062/491] drm/msm/dp: skip validity check for DP CTS EDID checksum Greg Kroah-Hartman
2023-11-24 17:44 ` [PATCH 6.5 063/491] drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 064/491] drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 065/491] drm/amdgpu: Fix potential null pointer derefernce Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 066/491] drm/panel: fix a possible null pointer dereference Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 067/491] drm/panel/panel-tpo-tpg110: " Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 068/491] drm/radeon: " Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 069/491] drm/amdgpu/vkms: " Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 070/491] drm/panel: st7703: Pick different reset sequence Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 071/491] drm/amdkfd: Fix shift out-of-bounds issue Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 072/491] drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 073/491] drm/amd: Disable PP_PCIE_DPM_MASK when dynamic speed switching not supported Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 074/491] drm/amd/display: fix num_ways overflow error Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 075/491] drm/amd: check num of link levels when update pcie param Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 076/491] arm64: dts: ls208xa: use a pseudo-bus to constrain usb dma size Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 077/491] selftests/efivarfs: create-read: fix a resource leak Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 078/491] ASoC: mediatek: mt8188-mt6359: support dynamic pinctrl Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 079/491] ASoC: soc-card: Add storage for PCI SSID Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 080/491] ASoC: SOF: Pass PCI SSID to machine driver Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 081/491] crypto: pcrypt - Fix hungtask for PADATA_RESET Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 082/491] ALSA: scarlett2: Move USB IDs out from device_info struct Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 083/491] ASoC: SOF: ipc4: handle EXCEPTION_CAUGHT notification from firmware Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 084/491] RDMA/hfi1: Use FIELD_GET() to extract Link Width Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 085/491] scsi: hisi_sas: Set debugfs_dir pointer to NULL after removing debugfs Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 086/491] scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 087/491] fs/jfs: Add check for negative db_l2nbperpage Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 088/491] fs/jfs: Add validity check for db_maxag and db_agpref Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 089/491] jfs: fix array-index-out-of-bounds in dbFindLeaf Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 090/491] jfs: fix array-index-out-of-bounds in diAlloc Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 091/491] HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 092/491] ARM: 9320/1: fix stack depot IRQ stack filter Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 093/491] ALSA: hda: Fix possible null-ptr-deref when assigning a stream Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 094/491] gpiolib: of: Add quirk for mt2701-cs42448 ASoC sound Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 095/491] PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 096/491] PCI: mvebu: Use FIELD_PREP() with Link Width Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 097/491] atm: iphase: Do PCI error checks on own line Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 098/491] PCI: Do error check on own line to split long "if" conditions Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 099/491] scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup() Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 100/491] PCI: Use FIELD_GET() to extract Link Width Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 101/491] PCI: Extract ATS disabling to a helper function Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 102/491] PCI: Disable ATS for specific Intel IPU E2000 devices Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 103/491] PCI: dwc: Add dw_pcie_link_set_max_link_width() Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 104/491] PCI: dwc: Add missing PCI_EXP_LNKCAP_MLW handling Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 105/491] misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 106/491] PCI: Use FIELD_GET() in Sapphire RX 5600 XT Pulse quirk Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 107/491] ASoC: Intel: soc-acpi-cht: Add Lenovo Yoga Tab 3 Pro YT3-X90 quirk Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 108/491] crypto: hisilicon/qm - prevent soft lockup in receive loop Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 109/491] HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 110/491] exfat: support handle zero-size directory Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 111/491] mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 112/491] iio: adc: stm32-adc: harden against NULL pointer deref in stm32_adc_probe() Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 113/491] thunderbolt: Apply USB 3.x bandwidth quirk only in software connection manager Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 114/491] tty: vcc: Add check for kstrdup() in vcc_probe() Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 115/491] dt-bindings: phy: qcom,snps-eusb2-repeater: Add magic tuning overrides Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 116/491] phy: qualcomm: phy-qcom-eusb2-repeater: Use regmap_fields Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 117/491] phy: qualcomm: phy-qcom-eusb2-repeater: Zero out untouched tuning regs Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 118/491] usb: dwc3: core: configure TX/RX threshold for DWC3_IP Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 119/491] usb: ucsi: glink: use the connector orientation GPIO to provide switch events Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 120/491] soundwire: dmi-quirks: update HP Omen match Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 121/491] f2fs: fix error path of __f2fs_build_free_nids Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 122/491] f2fs: fix error handling of __get_node_page Greg Kroah-Hartman
2023-11-24 17:45 ` [PATCH 6.5 123/491] usb: host: xhci: Avoid XHCI resume delay if SSUSB device is not present Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 124/491] usb: gadget: f_ncm: Always set current gadget in ncm_bind() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 125/491] 9p/trans_fd: Annotate data-racy writes to file::f_flags Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 126/491] 9p: v9fs_listxattr: fix %s null argument warning Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 127/491] i3c: mipi-i3c-hci: Fix out of bounds access in hci_dma_irq_handler Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 128/491] i2c: i801: Add support for Intel Birch Stream SoC Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 129/491] i2c: fix memleak in i2c_new_client_device() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 130/491] i2c: sun6i-p2wi: Prevent potential division by zero Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 131/491] virtio-blk: fix implicit overflow on virtio_max_dma_size Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 132/491] i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 133/491] media: gspca: cpia1: shift-out-of-bounds in set_flicker Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 134/491] media: vivid: avoid integer overflow Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 135/491] media: ipu-bridge: increase sensor_name size Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 136/491] gfs2: ignore negated quota changes Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 137/491] gfs2: fix an oops in gfs2_permission Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 138/491] media: cobalt: Use FIELD_GET() to extract Link Width Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 139/491] media: ccs: Fix driver quirk struct documentation Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 140/491] media: imon: fix access to invalid resource for the second interface Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 141/491] drm/amd/display: Avoid NULL dereference of timing generator Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 142/491] kgdb: Flush console before entering kgdb on panic Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 143/491] riscv: VMAP_STACK overflow detection thread-safe Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 144/491] i2c: dev: copy userspace array safely Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 145/491] ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 146/491] drm/qxl: prevent memory leak Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 147/491] ALSA: hda/realtek: Add quirk for ASUS UX7602ZM Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 148/491] drm/amdgpu: fix software pci_unplug on some chips Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 149/491] pwm: Fix double shift bug Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 150/491] mtd: rawnand: tegra: add missing check for platform_get_irq() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 151/491] wifi: iwlwifi: Use FW rate for non-data frames Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 152/491] sched/core: Optimize in_task() and in_interrupt() a bit Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 153/491] samples/bpf: syscall_tp_user: Rename num_progs into nr_tests Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 154/491] samples/bpf: syscall_tp_user: Fix array out-of-bound access Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 155/491] dt-bindings: serial: fix regex pattern for matching serial node children Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 156/491] SUNRPC: ECONNRESET might require a rebind Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 157/491] mtd: rawnand: intel: check return value of devm_kasprintf() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 158/491] mtd: rawnand: meson: " Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 159/491] drm/i915/mtl: avoid stringop-overflow warning Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 160/491] NFSv4.1: fix handling NFS4ERR_DELAY when testing for session trunking Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 161/491] SUNRPC: Add an IS_ERR() check back to where it was Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 162/491] NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 163/491] SUNRPC: Fix RPC client cleaned up the freed pipefs dentries Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 164/491] RISC-V: hwprobe: Fix vDSO SIGSEGV Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 165/491] riscv: provide riscv-specific is_trap_insn() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 166/491] gfs2: Silence "suspicious RCU usage in gfs2_permission" warning Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 167/491] drm/i915/tc: Fix -Wformat-truncation in intel_tc_port_init Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 168/491] vdpa_sim_blk: allocate the buffer zeroed Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 169/491] vhost-vdpa: fix use after free in vhost_vdpa_probe() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 170/491] gcc-plugins: randstruct: Only warn about true flexible arrays Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 171/491] bpf: handle ldimm64 properly in check_cfg() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 172/491] bpf: fix precision backtracking instruction iteration Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 173/491] net: set SOCK_RCU_FREE before inserting socket into hashtable Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 174/491] ipvlan: add ipvlan_route_v6_outbound() helper Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 175/491] tty: Fix uninit-value access in ppp_sync_receive() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 176/491] xen/events: avoid using info_for_irq() in xen_send_IPI_one() Greg Kroah-Hartman
2023-11-24 18:38   ` David Woodhouse
2023-11-24 17:46 ` [PATCH 6.5 177/491] net: hns3: fix add VLAN fail issue Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 178/491] net: hns3: add barrier in vf mailbox reply process Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 179/491] net: hns3: fix incorrect capability bit display for copper port Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 180/491] net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 181/491] net: hns3: fix variable may not initialized problem in hns3_init_mac_addr() Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 182/491] net: hns3: fix VF reset fail issue Greg Kroah-Hartman
2023-11-24 17:46 ` [PATCH 6.5 183/491] net: hns3: fix VF wrong speed and duplex issue Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 184/491] tipc: Fix kernel-infoleak due to uninitialized TLV value Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 185/491] net: mvneta: fix calls to page_pool_get_stats Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 186/491] ppp: limit MRU to 64K Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 187/491] xen/events: fix delayed eoi list handling Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 188/491] blk-mq: make sure active queue usage is held for bio_integrity_prep() Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 189/491] ptp: annotate data-race around q->head and q->tail Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 190/491] bonding: stop the device in bond_setup_by_slave() Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 191/491] net: ethernet: cortina: Fix max RX frame define Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 192/491] net: ethernet: cortina: Handle large frames Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 193/491] net: ethernet: cortina: Fix MTU max setting Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 194/491] af_unix: fix use-after-free in unix_stream_read_actor() Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 195/491] netfilter: nf_conntrack_bridge: initialize err to 0 Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 196/491] netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval() Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 197/491] netfilter: nf_tables: bogus ENOENT when destroying element which does not exist Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 198/491] net: stmmac: fix rx budget limit check Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 199/491] net: stmmac: avoid rx queue overrun Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 200/491] pds_core: use correct index to mask irq Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 201/491] pds_core: fix up some format-truncation complaints Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 202/491] gve: Fixes for napi_poll when budget is 0 Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 203/491] io_uring/fdinfo: remove need for sqpoll lock for thread/pid retrieval Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 204/491] net/mlx5: Decouple PHC .adjtime and .adjphase implementations Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 205/491] net/mlx5e: fix double free of encap_header Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 206/491] net/mlx5e: fix double free of encap_header in update funcs Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 207/491] net/mlx5e: Fix pedit endianness Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 208/491] net/mlx5: Consolidate devlink documentation in devlink/mlx5.rst Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 209/491] net/mlx5e: Make tx_port_ts logic resilient to out-of-order CQEs Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 210/491] net/mlx5e: Add recovery flow for tx devlink health reporter for unhealthy PTP SQ Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 211/491] net/mlx5e: Update doorbell for port timestamping CQ before the software counter Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 212/491] net/mlx5: Increase size of irq name buffer Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 213/491] net/mlx5e: Reduce the size of icosq_str Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 214/491] net/mlx5e: Check return value of snprintf writing to fw_version buffer Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 215/491] net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 216/491] net: sched: do not offload flows with a helper in act_ct Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 217/491] macvlan: Dont propagate promisc change to lower dev in passthru Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 218/491] tools/power/turbostat: Fix a knl bug Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 219/491] tools/power/turbostat: Enable the C-state Pre-wake printing Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 220/491] scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1 Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 221/491] cifs: spnego: add ; in HOST_KEY_LEN Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 222/491] cifs: fix check of rc in function generate_smb3signingkey Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 223/491] perf/core: Fix cpuctx refcounting Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 224/491] i915/perf: Fix NULL deref bugs with drm_dbg() calls Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 225/491] perf: arm_cspmu: Reject events meant for other PMUs Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 226/491] drivers: perf: Check find_first_bit() return value Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 227/491] media: venus: hfi: add checks to perform sanity on queue pointers Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 228/491] perf intel-pt: Fix async branch flags Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 229/491] powerpc/perf: Fix disabling BHRB and instruction sampling Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 230/491] randstruct: Fix gcc-plugin performance mode to stay in group Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 231/491] bpf: Fix check_stack_write_fixed_off() to correctly spill imm Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 232/491] bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 233/491] scsi: mpt3sas: Fix loop logic Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 234/491] scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 235/491] scsi: ufs: qcom: Update PHY settings only when scaling to higher gears Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 236/491] scsi: qla2xxx: Fix system crash due to bad pointer access Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 237/491] scsi: ufs: core: Fix racing issue between ufshcd_mcq_abort() and ISR Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 238/491] crypto: x86/sha - load modules based on CPU features Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 239/491] x86/PCI: Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4 Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 240/491] x86/apic/msi: Fix misconfigured non-maskable MSI quirk Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 241/491] x86/cpu/hygon: Fix the CPU topology evaluation for real Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 242/491] KVM: x86: hyper-v: Dont auto-enable stimer on write from user-space Greg Kroah-Hartman
2023-11-24 17:47 ` [PATCH 6.5 243/491] KVM: x86: Ignore MSR_AMD64_TW_CFG access Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 244/491] KVM: x86: Clear bit12 of ICR after APIC-write VM-exit Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 245/491] KVM: x86: Fix lapic timer interrupt lost after loading a snapshot Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 246/491] mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 247/491] sched: psi: fix unprivileged polling against cgroups Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 248/491] audit: dont take task_lock() in audit_exe_compare() code path Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 249/491] audit: dont WARN_ON_ONCE(!current->mm) in audit_exe_compare() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 250/491] proc: sysctl: prevent aliased sysctls from getting passed to init Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 251/491] tty/sysrq: replace smp_processor_id() with get_cpu() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 252/491] tty: serial: meson: fix hard LOCKUP on crtscts mode Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 253/491] hvc/xen: fix console unplug Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 254/491] hvc/xen: fix error path in xen_hvc_init() to always register frontend driver Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 255/491] hvc/xen: fix event channel handling for secondary consoles Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 256/491] PCI/sysfs: Protect drivers D3cold preference from user space Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 257/491] mm/damon/sysfs: remove requested targets when online-commit inputs Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 258/491] mm/damon/sysfs: update monitoring target regions for online input commit Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 259/491] watchdog: move softlockup_panic back to early_param Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 260/491] iommufd: Fix missing update of domains_itree after splitting iopt_area Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 261/491] fbdev: stifb: Make the STI next font pointer a 32-bit signed offset Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 262/491] dm crypt: account large pages in cc->n_allocated_pages Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 263/491] mm/damon/lru_sort: avoid divide-by-zero in hot threshold calculation Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 264/491] mm/damon/ops-common: avoid divide-by-zero during region hotness calculation Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 265/491] mm/damon: implement a function for max nr_accesses safe calculation Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 266/491] mm/damon/core: avoid divide-by-zero during monitoring results update Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 267/491] mm/damon/sysfs-schemes: handle tried region directory allocation failure Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 268/491] mm/damon/sysfs-schemes: handle tried regions sysfs " Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 269/491] mm/damon/sysfs: check error from damon_sysfs_update_target() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 270/491] parisc: Add nop instructions after TLB inserts Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 271/491] ACPI: resource: Do IRQ override on TongFang GMxXGxx Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 272/491] regmap: Ensure range selector registers are updated after cache sync Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 273/491] wifi: ath11k: fix temperature event locking Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 274/491] wifi: ath11k: fix dfs radar " Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 275/491] wifi: ath11k: fix htt pktlog locking Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 276/491] wifi: ath11k: fix gtk offload status event locking Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 277/491] wifi: ath12k: fix htt mlo-offset " Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 278/491] wifi: ath12k: fix dfs-radar and temperature " Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 279/491] mmc: meson-gx: Remove setting of CMD_CFG_ERROR Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 280/491] genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 281/491] sched/core: Fix RQCF_ACT_SKIP leak Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 282/491] KEYS: trusted: tee: Refactor register SHM usage Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 283/491] KEYS: trusted: Rollback init_trusted() consistently Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 284/491] PCI: keystone: Dont discard .remove() callback Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 285/491] PCI: keystone: Dont discard .probe() callback Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 286/491] arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 287/491] arm64: module: Fix PLT counting when CONFIG_RANDOMIZE_BASE=n Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 288/491] parisc/agp: Use 64-bit LE values in SBA IOMMU PDIR table Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 289/491] parisc/pdc: Add width field to struct pdc_model Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 290/491] parisc/power: Add power soft-off when running on qemu Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 291/491] cpufreq: stats: Fix buffer overflow detection in trans_stats() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 292/491] powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 293/491] clk: socfpga: Fix undefined behavior bug in struct stratix10_clock_data Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 294/491] clk: visconti: Fix undefined behavior bug in struct visconti_pll_provider Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 295/491] clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 296/491] clk: qcom: ipq6018: " Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 297/491] ksmbd: fix recursive locking in vfs helpers Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 298/491] ksmbd: handle malformed smb1 message Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 299/491] ksmbd: fix slab out of bounds write in smb_inherit_dacl() Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 300/491] mmc: vub300: fix an error code Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 301/491] mmc: sdhci_am654: fix start loop index for TAP value parsing Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 302/491] mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A Greg Kroah-Hartman
2023-11-24 17:48 ` [PATCH 6.5 303/491] PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common() Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 304/491] PCI: kirin: Dont discard .remove() callback Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 305/491] PCI: exynos: " Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 306/491] wifi: wilc1000: use vmm_table as array in wilc struct Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 307/491] svcrdma: Drop connection after an RDMA Read error Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 308/491] rcu/tree: Defer setting of jiffies during stall reset Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 309/491] arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 310/491] dt-bindings: timer: renesas,rz-mtu3: Fix overflow/underflow interrupt names Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 311/491] PM: hibernate: Use __get_safe_page() rather than touching the list Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 312/491] PM: hibernate: Clean up sync_read handling in snapshot_write_next() Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 313/491] rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 314/491] btrfs: dont arbitrarily slow down delalloc if were committing Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 315/491] thermal: intel: powerclamp: fix mismatch in get function for max_idle Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 316/491] arm64: dts: qcom: ipq5332: Fix hwlock index for SMEM Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 317/491] arm64: dts: qcom: ipq8074: " Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 318/491] firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 319/491] ACPI: FPDT: properly handle invalid FPDT subtables Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 320/491] arm64: dts: qcom: ipq9574: Fix hwlock index for SMEM Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 321/491] arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 322/491] leds: trigger: netdev: Move size check in set_device_name Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 323/491] mfd: qcom-spmi-pmic: Fix reference leaks in revid helper Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 324/491] mfd: qcom-spmi-pmic: Fix revid implementation Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 325/491] ima: annotate iint mutex to avoid lockdep false positive warnings Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 326/491] ima: detect changes to the backing overlay file Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 327/491] netfilter: nf_tables: remove catchall element in GC sync path Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 328/491] netfilter: nf_tables: split async and sync catchall in two functions Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 329/491] ASoC: soc-dai: add flag to mute and unmute stream during trigger Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 330/491] ASoC: codecs: wsa883x: make use of new mute_unmute_on_trigger flag Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 331/491] selftests/resctrl: Fix uninitialized .sa_flags Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 332/491] selftests/resctrl: Remove duplicate feature check from CMT test Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 333/491] selftests/resctrl: Move _GNU_SOURCE define into Makefile Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 334/491] selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 335/491] hid: lenovo: Resend all settings on reset_resume for compact keyboards Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 336/491] ASoC: codecs: wsa-macro: fix uninitialized stack variables with name prefix Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 337/491] jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 338/491] quota: explicitly forbid quota files from being encrypted Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 339/491] kernel/reboot: emergency_restart: Set correct system_state Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 340/491] i2c: core: Run atomic i2c xfer when !preemptible Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 341/491] selftests/clone3: Fix broken test under !CONFIG_TIME_NS Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 342/491] tracing: Have the user copy of synthetic event address use correct context Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 343/491] driver core: Release all resources during unbind before updating device links Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 344/491] mcb: fix error handling for different scenarios when parsing Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 345/491] powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 346/491] dmaengine: stm32-mdma: correct desc prep when channel running Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 347/491] s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc() Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 348/491] s390/cmma: fix initial kernel address space page table walk Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 349/491] s390/cmma: fix detection of DAT pages Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 350/491] s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 351/491] mm/cma: use nth_page() in place of direct struct page manipulation Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 352/491] mm/memory_hotplug: use pfn math " Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 353/491] mm: make PR_MDWE_REFUSE_EXEC_GAIN an unsigned long Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 354/491] mtd: cfi_cmdset_0001: Byte swap OTP info Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 355/491] cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 356/491] i3c: master: cdns: Fix reading status register Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 357/491] i3c: master: svc: fix race condition in ibi work thread Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 358/491] i3c: master: svc: fix wrong data return when IBI happen during start frame Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 359/491] i3c: master: svc: fix ibi may not return mandatory data byte Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 360/491] i3c: master: svc: fix check wrong status register in irq handler Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 361/491] i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 362/491] i3c: master: svc: fix random hot join failure since timeout error Greg Kroah-Hartman
2023-11-24 17:49 ` [PATCH 6.5 363/491] cxl/region: Fix x1 root-decoder granularity calculations Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 364/491] cxl/port: Fix delete_endpoint() vs parent unregistration race Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 365/491] pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 366/491] pmdomain: amlogic: Fix mask for the second NNA mem PD domain Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 367/491] pmdomain: imx: Make imx pgc power domain also set the fwnode Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 368/491] PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 369/491] of: dynamic: Add interfaces for creating device node dynamically Greg Kroah-Hartman
2023-11-24 21:53   ` Thomas Petazzoni
2023-11-25 15:32     ` Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 370/491] PCI: Create device tree node for bridge Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 371/491] PCI: Add quirks to generate device tree node for Xilinx Alveo U50 Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 372/491] PCI: Lengthen reset delay for VideoPropulsion Torrent QN16e card Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 373/491] torture: Add a kthread-creation callback to _torture_create_kthread() Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 374/491] torture: Add lock_torture writer_fifo module parameter Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 375/491] torture: Make torture_hrtimeout_*() use TASK_IDLE Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 376/491] torture: Move stutter_wait() timeouts to hrtimers Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 377/491] torture: Make torture_hrtimeout_ns() take an hrtimer mode parameter Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 378/491] rcutorture: Fix stuttering races and other issues Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 379/491] mm/hugetlb: prepare hugetlb_follow_page_mask() for FOLL_PIN Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 380/491] mm/hugetlb: use nth_page() in place of direct struct page manipulation Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 381/491] parisc: Prevent booting 64-bit kernels on PA1.x machines Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 382/491] parisc/pgtable: Do not drop upper 5 address bits of physical address Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 383/491] parisc/power: Fix power soft-off when running on qemu Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 384/491] xhci: Enable RPM on controllers that support low-power states Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 385/491] fs: add ctime accessors infrastructure Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 386/491] smb3: fix creating FIFOs when mounting with "sfu" mount option Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 387/491] smb3: fix touch -h of symlink Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 388/491] smb3: allow dumping session and tcon id to improve stats analysis and debugging Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 389/491] smb3: fix caching of ctime on setxattr Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 390/491] smb: client: fix use-after-free bug in cifs_debug_data_proc_show() Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 391/491] smb: client: fix use-after-free in smb2_query_info_compound() Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 392/491] smb: client: fix potential deadlock when releasing mids Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 393/491] cifs: reconnect helper should set reconnect for the right channel Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 394/491] cifs: force interface update before a fresh session setup Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 395/491] cifs: do not reset chan_max if multichannel is not supported at mount Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 396/491] cifs: Fix encryption of cleared, but unset rq_iter data buffers Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 397/491] xfs: recovery should not clear di_flushiter unconditionally Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 398/491] btrfs: zoned: wait for data BG to be finished on direct IO allocation Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 399/491] ALSA: info: Fix potential deadlock at disconnection Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 400/491] ALSA: hda/realtek: Enable Mute LED on HP 255 G8 Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 401/491] ALSA: hda/realtek - Add Dell ALC295 to pin fall back table Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 402/491] ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 403/491] ALSA: hda/realtek: Enable Mute LED on HP 255 G10 Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 404/491] ALSA: hda/realtek: Add quirks for HP Laptops Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 405/491] Revert ncsi: Propagate carrier gain/loss events to the NCSI controller Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 406/491] Revert "i2c: pxa: move to generic GPIO recovery" Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 407/491] lsm: fix default return value for vm_enough_memory Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 408/491] lsm: fix default return value for inode_getsecctx Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 409/491] sbsa_gwdt: Calculate timeout with 64-bit math Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 410/491] i2c: designware: Disable TX_EMPTY irq while waiting for block length byte Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 411/491] s390/ap: fix AP bus crash on early config change callback invocation Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 412/491] net: ethtool: Fix documentation of ethtool_sprintf() Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 413/491] net: dsa: lan9303: consequently nested-lock physical MDIO Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 414/491] net: phylink: initialize carrier state at creation Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 415/491] gfs2: dont withdraw if init_threads() got interrupted Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 416/491] i2c: i801: fix potential race in i801_block_transaction_byte_by_byte Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 417/491] f2fs: do not return EFSCORRUPTED, but try to run online repair Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 418/491] f2fs: set the default compress_level on ioctl Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 419/491] f2fs: avoid format-overflow warning Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 420/491] f2fs: split initial and dynamic conditions for extent_cache Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 421/491] media: lirc: drop trailing space from scancode transmit Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 422/491] media: sharp: fix sharp encoding Greg Kroah-Hartman
2023-11-24 17:50 ` [PATCH 6.5 423/491] media: venus: hfi_parser: Add check to keep the number of codecs within range Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 424/491] media: venus: hfi: fix the check to handle session buffer requirement Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 425/491] media: venus: hfi: add checks to handle capabilities from firmware Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 426/491] media: ccs: Correctly initialise try compose rectangle Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 427/491] drm/mediatek/dp: fix memory leak on ->get_edid callback audio detection Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 428/491] drm/mediatek/dp: fix memory leak on ->get_edid callback error path Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 429/491] dm-bufio: fix no-sleep mode Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 430/491] dm-verity: dont use blocking calls from tasklets Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 431/491] nfsd: fix file memleak on client_opens_release Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 432/491] NFSD: Update nfsd_cache_append() to use xdr_stream Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 433/491] LoongArch: Mark __percpu functions as always inline Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 434/491] riscv: Using TOOLCHAIN_HAS_ZIHINTPAUSE marco replace zihintpause Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 435/491] riscv: put interrupt entries into .irqentry.text Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 436/491] riscv: mm: Update the comment of CONFIG_PAGE_OFFSET Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 437/491] riscv: correct pt_level name via pgtable_l5/4_enabled Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 438/491] riscv: kprobes: allow writing to x0 Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 439/491] mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2 Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 440/491] mm: fix for negative counter: nr_file_hugepages Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 441/491] mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 442/491] mptcp: deal with large GSO size Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 443/491] mptcp: add validity check for sending RM_ADDR Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 444/491] mptcp: fix setsockopt(IP_TOS) subflow locking Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 445/491] selftests: mptcp: fix fastclose with csum failure Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 446/491] r8169: fix network lost after resume on DASH systems Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 447/491] r8169: add handling DASH when DASH is disabled Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 448/491] mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 449/491] media: qcom: camss: Fix pm_domain_on sequence in probe Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 450/491] media: qcom: camss: Fix vfe_get() error jump Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 451/491] media: qcom: camss: Fix VFE-17x vfe_disable_output() Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 452/491] media: qcom: camss: Fix VFE-480 vfe_disable_output() Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 453/491] media: qcom: camss: Fix missing vfe_lite clocks check Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 454/491] media: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3 Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 455/491] media: qcom: camss: Fix invalid clock enable bit disjunction Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 456/491] media: qcom: camss: Fix csid-gen2 for test pattern generator Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 457/491] Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 458/491] ext4: fix race between writepages and remount Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 459/491] ext4: make sure allocate pending entry not fail Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 460/491] ext4: apply umask if ACL support is disabled Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 461/491] ext4: correct offset of gdb backup in non meta_bg group to update_backups Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 462/491] ext4: mark buffer new if it is unwritten to avoid stale data exposure Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 463/491] ext4: correct return value of ext4_convert_meta_bg Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 464/491] ext4: correct the start block of counting reserved clusters Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 465/491] ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 466/491] ext4: add missed brelse in update_backups Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 467/491] ext4: properly sync file size update after O_SYNC direct IO Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 468/491] ext4: fix racy may inline data check in dio write Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 469/491] drm/amd/pm: Handle non-terminated overdrive commands Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 470/491] drm: bridge: it66121: ->get_edid callback must not return err pointers Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 471/491] drm/i915/mtl: Support HBR3 rate with C10 phy and eDP in MTL Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 472/491] drm/i915: Bump GLK CDCLK frequency when driving multiple pipes Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 473/491] drm/i915: Fix potential spectre vulnerability Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 474/491] drm/i915: Flush WC GGTT only on required platforms Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 475/491] drm/amd/pm: Fix error of MACO flag setting code Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 476/491] drm/amdgpu/smu13: drop compute workload workaround Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 477/491] drm/amdgpu: dont use pci_is_thunderbolt_attached() Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 478/491] drm/amdgpu: fix GRBM read timeout when do mes_self_test Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 479/491] drm/amdgpu: add a retry for IP discovery init Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 480/491] drm/amdgpu: dont use ATRM for external devices Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 481/491] drm/amdgpu: fix error handling in amdgpu_vm_init Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 482/491] drm/amdgpu: fix error handling in amdgpu_bo_list_get() Greg Kroah-Hartman
2023-11-24 17:51 ` [PATCH 6.5 483/491] drm/amdgpu: lower CS errors to debug severity Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 484/491] drm/amdgpu: Fix possible null pointer dereference Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 485/491] drm/amd/display: Guard against invalid RPTR/WPTR being set Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 486/491] drm/amd/display: Fix DSC not Enabled on Direct MST Sink Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 487/491] drm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer() Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 488/491] drm/amd/display: Enable fast plane updates on DCN3.2 and above Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 489/491] drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 490/491] powerpc/powernv: Fix fortify source warnings in opal-prd.c Greg Kroah-Hartman
2023-11-24 17:52 ` [PATCH 6.5 491/491] tracing: Have trace_event_file have ref counters Greg Kroah-Hartman
2023-11-24 19:15 ` [PATCH 6.5 000/491] 6.5.13-rc1 review Naresh Kamboju
2023-11-24 22:06 ` Nam Cao
2023-11-25  9:44 ` Ron Economos

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=20231124172024.734196797@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --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