diff --git a/lib/maple_tree.c b/lib/maple_tree.c index ee1ff0c59fd7..8f68582451c4 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1699,6 +1699,7 @@ static inline void mas_adopt_children(struct ma_state *mas, do { child = mas_slot_locked(mas, slots, offset); mas_set_parent(mas, child, parent, offset); + smp_wmb(); /* Needed for RCU */ } while (offset--); }