Message ID | 20230515131757.60035-4-zhangpeng.00@bytedance.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Clean ups for maple tree | expand |
On Mon, May 15, 2023 at 09:17:50PM +0800, Peng Zhang wrote: > The arguments to __must_hold() seem to be wrong so they should not work, > remove them. Why not fix them?
* Peng Zhang <zhangpeng.00@bytedance.com> [230515 09:18]: > The arguments to __must_hold() seem to be wrong so they should not work, > remove them. This is for spase [1]. I'd like to keep them if they can be made functional - maybe fix it to mas->tree->ma_lock? [1] https://www.kernel.org/doc/html/v6.1/dev-tools/sparse.html#using-sparse-for-lock-checking > > Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com> > --- > lib/maple_tree.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c > index 49dfe81dfa1b6..43a25d3042c1b 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -1752,7 +1752,6 @@ static inline void mas_adopt_children(struct ma_state *mas, > * leave the node (true) and handle the adoption and free elsewhere. > */ > static inline void mas_replace(struct ma_state *mas, bool advanced) > - __must_hold(mas->tree->lock) > { > struct maple_node *mn = mas_mn(mas); > struct maple_enode *old_enode; > @@ -1792,7 +1791,6 @@ static inline void mas_replace(struct ma_state *mas, bool advanced) > * @child: the maple state to store the child. > */ > static inline bool mas_new_child(struct ma_state *mas, struct ma_state *child) > - __must_hold(mas->tree->lock) > { > enum maple_type mt; > unsigned char offset; > @@ -6198,7 +6196,6 @@ EXPORT_SYMBOL_GPL(mas_erase); > * Return: true on allocation, false otherwise. > */ > bool mas_nomem(struct ma_state *mas, gfp_t gfp) > - __must_hold(mas->tree->lock) > { > if (likely(mas->node != MA_ERROR(-ENOMEM))) { > mas_destroy(mas); > -- > 2.20.1 >
在 2023/5/15 22:55, Matthew Wilcox 写道: > On Mon, May 15, 2023 at 09:17:50PM +0800, Peng Zhang wrote: >> The arguments to __must_hold() seem to be wrong so they should not work, >> remove them. > > Why not fix them? I'll fix it in v2.
diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 49dfe81dfa1b6..43a25d3042c1b 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1752,7 +1752,6 @@ static inline void mas_adopt_children(struct ma_state *mas, * leave the node (true) and handle the adoption and free elsewhere. */ static inline void mas_replace(struct ma_state *mas, bool advanced) - __must_hold(mas->tree->lock) { struct maple_node *mn = mas_mn(mas); struct maple_enode *old_enode; @@ -1792,7 +1791,6 @@ static inline void mas_replace(struct ma_state *mas, bool advanced) * @child: the maple state to store the child. */ static inline bool mas_new_child(struct ma_state *mas, struct ma_state *child) - __must_hold(mas->tree->lock) { enum maple_type mt; unsigned char offset; @@ -6198,7 +6196,6 @@ EXPORT_SYMBOL_GPL(mas_erase); * Return: true on allocation, false otherwise. */ bool mas_nomem(struct ma_state *mas, gfp_t gfp) - __must_hold(mas->tree->lock) { if (likely(mas->node != MA_ERROR(-ENOMEM))) { mas_destroy(mas);
The arguments to __must_hold() seem to be wrong so they should not work, remove them. Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com> --- lib/maple_tree.c | 3 --- 1 file changed, 3 deletions(-)