All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap
@ 2026-07-17  7:02 Hongfu Li
  2026-07-17  8:59 ` David Hildenbrand (Arm)
  0 siblings, 1 reply; 3+ messages in thread
From: Hongfu Li @ 2026-07-17  7:02 UTC (permalink / raw)
  To: akpm, david, ljs, liam, vbabka, rppt, surenb, mhocko, shuah
  Cc: linux-mm, linux-kselftest, linux-kernel, hongfu.li, Hongfu Li

From: Hongfu Li <lihongfu@kylinos.cn>

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@kylinos.cn>
---
 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");
 
 	BUG_ON(check_region_contains_byte(source_mapping, 5 * page_size, 0) !=
-- 
2.54.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap
  2026-07-17  7:02 [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap Hongfu Li
@ 2026-07-17  8:59 ` David Hildenbrand (Arm)
  2026-07-17 10:54   ` Hongfu Li
  0 siblings, 1 reply; 3+ messages in thread
From: David Hildenbrand (Arm) @ 2026-07-17  8:59 UTC (permalink / raw)
  To: Hongfu Li, akpm, ljs, liam, vbabka, rppt, surenb, mhocko, shuah
  Cc: linux-mm, linux-kselftest, linux-kernel, Hongfu Li

On 7/17/26 09:02, Hongfu Li wrote:
> From: Hongfu Li <lihongfu@kylinos.cn>
> 
> 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@kylinos.cn>
> ---
>  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");

-- 
Cheers,

David

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap
  2026-07-17  8:59 ` David Hildenbrand (Arm)
@ 2026-07-17 10:54   ` Hongfu Li
  0 siblings, 0 replies; 3+ messages in thread
From: Hongfu Li @ 2026-07-17 10:54 UTC (permalink / raw)
  To: david
  Cc: akpm, hongfu.li, liam, lihongfu, linux-kernel, linux-kselftest,
	linux-mm, ljs, mhocko, rppt, shuah, surenb, vbabka

> > From: Hongfu Li <lihongfu@kylinos.cn>
> > 
> > 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@kylinos.cn>
> > ---
> >  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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-17 10:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17  7:02 [PATCH] selftests/mm: Fix BUG_ON checking wrong variable in mremap_dontunmap Hongfu Li
2026-07-17  8:59 ` David Hildenbrand (Arm)
2026-07-17 10:54   ` Hongfu Li

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.