summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-06-11 18:59:08 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-06-11 18:59:08 -0400
commitf2736b9c791a126ecb9cfc1aef1c7b4152b66e2d (patch)
treeeea9dc26a54f06a935f06dd111ef7f8a29966bed
parent7124a8982b621e1a8af81c17f44b90587cdd161c (diff)
bcachefs: Fix rcu_read_lock() leak in drop_extra_replicasbcachefs-2024-06-12
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/data_update.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/bcachefs/data_update.c b/fs/bcachefs/data_update.c
index 0d807c2ce9c6..1a0072eef109 100644
--- a/fs/bcachefs/data_update.c
+++ b/fs/bcachefs/data_update.c
@@ -202,9 +202,8 @@ restart_drop_conflicting_replicas:
bch2_bkey_durability(c, bkey_i_to_s_c(&new->k_i));
/* Now, drop excess replicas: */
-restart_drop_extra_replicas:
-
rcu_read_lock();
+restart_drop_extra_replicas:
bkey_for_each_ptr_decode(old.k, bch2_bkey_ptrs(bkey_i_to_s(insert)), p, entry) {
unsigned ptr_durability = bch2_extent_ptr_durability(c, &p);