From: Liam R. Howlett Date: Tue, 14 Oct 2025 20:56:57 +0000 (-0400) Subject: maple_tree: Don't pass end to mas_wr_append() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0a56612c79b0a568d430e9411d6613447c58fb6c;p=users%2Fjedix%2Flinux-maple.git maple_tree: Don't pass end to mas_wr_append() Figure out the end internally. This is is necessary for future cleanups. Signed-off-by: Liam R. Howlett --- diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 4d5ea57c793f..10f8ba0939ab 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3276,18 +3276,17 @@ static inline unsigned char mas_wr_new_end(struct ma_wr_state *wr_mas) /* * mas_wr_append: Attempt to append * @wr_mas: the maple write state - * @new_end: The end of the node after the modification * * This is currently unsafe in rcu mode since the end of the node may be cached * by readers while the node contents may be updated which could result in * inaccurate information. */ -static inline void mas_wr_append(struct ma_wr_state *wr_mas, - unsigned char new_end) +static inline void mas_wr_append(struct ma_wr_state *wr_mas) { struct ma_state *mas = wr_mas->mas; void __rcu **slots; unsigned char end = mas->end; + unsigned char new_end = mas_wr_new_end(wr_mas); if (new_end < mt_pivots[wr_mas->type]) { wr_mas->pivots[new_end] = wr_mas->pivots[end]; @@ -3480,7 +3479,7 @@ static inline void mas_wr_store_entry(struct ma_wr_state *wr_mas) mas_update_gap(mas); break; case wr_append: - mas_wr_append(wr_mas, new_end); + mas_wr_append(wr_mas); break; case wr_slot_store: mas_wr_slot_store(wr_mas);