Re: [PATCH] maple_tree: Fix allocation in mas_sparse_area()

From: Peng Zhang
Date: Wed Apr 19 2023 - 22:47:43 EST



在 2023/4/20 03:49, Andrew Morton 写道:
On Wed, 19 Apr 2023 17:36:25 +0800 Peng Zhang <zhangpeng.00@xxxxxxxxxxxxx> wrote:

In the case of reverse allocation, mas->index and mas->last do not point
to the correct allocation range, which will cause users to get incorrect
allocation results, so fix it. If the user does not use it in a specific
way, this bug will not be triggered.
Please describe the user-visible effects of the bug. I assume "none",
because there are presently no callers which can trigger it?

Also re-checks whether the size is still satisfied after the lower bound
was increased, which is a corner case and is incorrect in previous versions.
Again, what are the user-visible effects of the bug?


This is indeed a bug, but only VMA uses it now, the way VMA is used
now will not trigger it. There is a possibility that a user will
trigger it in the future. As a general-purpose data structure library,
Maple tree is treated as an opaque box by its users. I think that
as long as users use the API provided by Maple tree correctly,
there should be no errors in maple tree. Just like other data structure
libraries (such as rbtree). So I fixed it. It's easy to write test
cases to trigger this bug, but I haven't written test code yet.

Sorry I didn't describe it in detail. In the future I will describe
user-visible effects in detail.

Thanks.