Re: [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap
From: Hongfu Li
Date: Fri Jul 17 2026 - 06:56:14 EST
> > From: Hongfu Li <lihongfu@xxxxxxxxxx>
> >
> > In mremap_dontunmap_partial_mapping_overwrite(), mremap() stores its
> > returned remapped address into remapped_mapping, while the BUG_ON
> > incorrectly checks dest_mapping instead.
> >
> > If mremap() fails, dest_mapping still holds a valid pointer obtained from
> > the prior mmap() call, making this BUG_ON never trigger at all. Correct
> > the check to validate the actual mremap() return value stored in
> > remapped_mapping.
> >
> > Signed-off-by: Hongfu Li <lihongfu@xxxxxxxxxx>
> > ---
> > tools/testing/selftests/mm/mremap_dontunmap.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/testing/selftests/mm/mremap_dontunmap.c b/tools/testing/selftests/mm/mremap_dontunmap.c
> > index a4f75d836733..96ba537facf7 100644
> > --- a/tools/testing/selftests/mm/mremap_dontunmap.c
> > +++ b/tools/testing/selftests/mm/mremap_dontunmap.c
> > @@ -313,7 +313,7 @@ static void mremap_dontunmap_partial_mapping_overwrite(void)
> > mremap(source_mapping, 5 * page_size,
> > 5 * page_size,
> > MREMAP_DONTUNMAP | MREMAP_MAYMOVE | MREMAP_FIXED, dest_mapping);
> > - BUG_ON(dest_mapping == MAP_FAILED, "mremap");
> > + BUG_ON(remapped_mapping == MAP_FAILED, "mremap");
> > BUG_ON(dest_mapping != remapped_mapping, "expected to remap to dest_mapping");
>
> Given that we know from a previous
>
> BUG_ON(dest_mapping == MAP_FAILED, "mmap");
>
> We can just drop this line completely and rely on the
>
> BUG_ON(dest_mapping != remapped_mapping, "expected to remap to dest_mapping");
The subsequent BUG_ON comparison will implicitly catch the MAP_FAILED
condition, so this check is redundant.
This line will be dropped in the next revision. Thanks a lot for your
review.
Best regards,
Hongfu