From: Sven Schnelle <svens@linux.ibm.com>
To: Liam Howlett <liam.howlett@oracle.com>
Cc: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] maple_tree: Fix mas_next() when already on the last node entry
Date: Tue, 17 May 2022 17:34:58 +0200 [thread overview]
Message-ID: <yt9dee0s41gd.fsf@linux.ibm.com> (raw)
In-Reply-To: <20220517145913.3480729-1-Liam.Howlett@oracle.com> (Liam Howlett's message of "Tue, 17 May 2022 14:59:22 +0000")
Liam Howlett <liam.howlett@oracle.com> writes:
> It is possible to return the metadata as the next entry if the last node
> entry is already in the maple state and the limit is not reached. Check
> for this condition in mas_next_nentry() where the node end is returned.
>
> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Thanks, that matches my observation from the initial report that we're
returing metadata. I just applied the patch to next-20220516 and i'm no
longer able to trigger the crash. So feel free to add my:
Tested-by: Sven Schnelle <svens@linux.ibm.com>
However, as Heiko already wrote in another mail i would also like to
request that the maple tree code isn't merged with the next merge
window. These patches touch a lot of critical infrastructure, and i would like
to have it in next for at least one development cycle, so we can be sure
that we've seen and fixed most of the issues.
Thanks,
Sven
> ---
> lib/maple_tree.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 967631055210..751aafd01c42 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -4547,6 +4547,9 @@ static inline void *mas_next_nentry(struct ma_state *mas,
> return NULL;
>
> count = ma_data_end(node, type, pivots, mas->max);
> + if (mas->offset > count)
> + return NULL;
> +
> while (mas->offset < count) {
> pivot = pivots[mas->offset];
> entry = mas_slot(mas, slots, mas->offset);
prev parent reply other threads:[~2022-05-17 15:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-17 14:59 [PATCH] maple_tree: Fix mas_next() when already on the last node entry Liam Howlett
2022-05-17 15:34 ` Sven Schnelle [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=yt9dee0s41gd.fsf@linux.ibm.com \
--to=svens@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=liam.howlett@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=maple-tree@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.