Re: [PATCH] selftests/mm/cow: Fix the incorrect error handling

From: Cyan Yang
Date: Tue Mar 11 2025 - 06:38:41 EST


On Tue, Mar 11, 2025 at 10:19:32AM +0100, David Hildenbrand wrote:
> On 11.03.25 03:37, Cyan Yang wrote:
> > There are two error handlings did not check the correct return value.
> > This patch will fix them.
> >
> > Fixes: f4b5fd6946e244cdedc3bbb9a1f24c8133b2077a ("selftests/vm: anon_cow: THP tests")
> > Signed-off-by: Cyan Yang <cyan.yang@xxxxxxxxxx>
> > ---
> > tools/testing/selftests/mm/cow.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/testing/selftests/mm/cow.c b/tools/testing/selftests/mm/cow.c
> > index 9446673645eb..16fcadc090a4 100644
> > --- a/tools/testing/selftests/mm/cow.c
> > +++ b/tools/testing/selftests/mm/cow.c
> > @@ -876,13 +876,13 @@ static void do_run_with_thp(test_fn fn, enum thp_run thp_run, size_t thpsize)
> > mremap_size = thpsize / 2;
> > mremap_mem = mmap(NULL, mremap_size, PROT_NONE,
> > MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
> > - if (mem == MAP_FAILED) {
> > + if (mremap_mem == MAP_FAILED) {
> > ksft_test_result_fail("mmap() failed\n");
> > goto munmap;
> > }
>
> Yes, that check is wrong.
>
> > tmp = mremap(mem + mremap_size, mremap_size, mremap_size,
> > MREMAP_MAYMOVE | MREMAP_FIXED, mremap_mem);
> > - if (tmp != mremap_mem) {
> > + if (tmp == MAP_FAILED) {
> > ksft_test_result_fail("mremap() failed\n");
> > goto munmap;
> > }
>
> As Dev says, this one is just fine. Leave it as it is.
>

Thank you for the review.

I agree with you and Dev this is just fine. The reason I prefer to modify it is
- usually caller checks the return value directly and "tmp == mremap_mem"
should be determined by "mremap".

If you still prefer to leave it as it is, I will send out the v2 to remove it.

> --
> Cheers,
>
> David / dhildenb
>