From: Liam R. Howlett Date: Wed, 17 Sep 2025 01:00:50 +0000 (-0400) Subject: multi_dst_setup: Fix split size and data off by one X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=31c29dea9726ba45bba620f151093c421cf53e54;p=users%2Fjedix%2Flinux-maple.git multi_dst_setup: Fix split size and data off by one Signed-off-by: Liam R. Howlett --- diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 633ee584e755..0a0ea2bf0ab5 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3128,14 +3128,14 @@ void multi_dst_setup(struct maple_copy *cp, struct ma_state *mas, /* Data is 1 indexed, every src has +1 added. */ if (cp->data <= mt_slots[mt]) { - cp->split = cp->data; + cp->split = cp->data - 1; cp->d_count = 1; goto node_setup; } - cp->split = cp->data / 2; + cp->split = (cp->data - 1) / 2; cp->d_count = 2; - if (cp->data < mt_slots[mt] * 2) { + if (cp->data - 1 < mt_slots[mt] * 2) { unsigned char off; unsigned char s;