All of lore.kernel.org
 help / color / mirror / Atom feed
From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Hongfu Li <hongfu.li@linux.dev>,
	akpm@linux-foundation.org, ljs@kernel.org, ziy@nvidia.com,
	baolin.wang@linux.alibaba.com, liam@infradead.org,
	nico.pache@linux.dev, ryan.roberts@arm.com, dev.jain@arm.com,
	baohua@kernel.org, lance.yang@linux.dev, usama.arif@linux.dev,
	vbabka@kernel.org, rppt@kernel.org, surenb@google.com,
	mhocko@suse.com, shuah@kernel.org
Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
	linux-kernel@vger.kernel.org, Hongfu Li <lihongfu@kylinos.cn>
Subject: Re: [PATCH] selftests/mm: fix read_file() return value check
Date: Fri, 7 Aug 2026 16:35:32 +0200	[thread overview]
Message-ID: <43b5db93-1c1b-436e-a8fa-d89582e31894@kernel.org> (raw)
In-Reply-To: <20260807013555.36525-1-hongfu.li@linux.dev>

On 8/7/26 03:35, Hongfu Li wrote:
> From: Hongfu Li <lihongfu@kylinos.cn>
> 
> read_file() returns 0 on open/read failures and never returns negative
> values. Existing < 0 error checks never trigger, so read failures are
> silently ignored. Check for zero return to detect read_file() failures.
> 
> Also fix misleading error message in get_finfo(). The error string
> incorrectly references read_num when reading uevent files.
> 
> Signed-off-by: Hongfu Li <lihongfu@kylinos.cn>
> ---
>  tools/testing/selftests/mm/khugepaged.c | 4 ++--
>  tools/testing/selftests/mm/vm_util.c    | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/mm/khugepaged.c b/tools/testing/selftests/mm/khugepaged.c
> index 10e8dedcb087..506310d4b4d5 100644
> --- a/tools/testing/selftests/mm/khugepaged.c
> +++ b/tools/testing/selftests/mm/khugepaged.c
> @@ -138,8 +138,8 @@ static void get_finfo(const char *dir)
>  		     major(path_stat.st_dev), minor(path_stat.st_dev))
>  	    >= sizeof(path))
>  		ksft_exit_fail_msg("%s: Pathname is too long\n", __func__);
> -	if (read_file(path, buf, sizeof(buf)) < 0)
> -		ksft_exit_fail_perror("read_file(read_num)");
> +	if (!read_file(path, buf, sizeof(buf)))
> +		ksft_exit_fail_perror("read_file(uevent)");
>  	if (strstr(buf, "DEVTYPE=disk")) {
>  		/* Found it */
>  		if (snprintf(finfo.dev_queue_read_ahead_path,
> diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
> index ef1ea11981a7..2697d50d07f4 100644
> --- a/tools/testing/selftests/mm/vm_util.c
> +++ b/tools/testing/selftests/mm/vm_util.c
> @@ -755,7 +755,7 @@ unsigned long read_num(const char *path)
>  {
>  	char buf[21];
>  
> -	if (read_file(path, buf, sizeof(buf)) < 0)
> +	if (!read_file(path, buf, sizeof(buf)))
>  		ksft_exit_fail_perror("read_file()");
>  
>  	return strtoul(buf, NULL, 10);


Yeah, that looks correct. Do we have Fixes: tags?

I think it was already wrong in read_num() in


commit e0c13f9761df8f97cf5e81495d12ecbc4075684a
Author: Kiryl Shutsemau <kas@kernel.org>
Date:   Wed Jun 3 16:00:06 2020 -0700

    khugepaged: add self test


where we had

+       ret = read_file(path, buf, sizeof(buf));
+       if (ret < 0) {
+               perror("read_file(read_num)");
+               exit(EXIT_FAILURE);
+       }


So likely

Fixes: e0c13f9761df ("khugepaged: add self test")

Acked-by: David Hildenbrand (Arm) <david@kernel.org>


-- 
Cheers,

David


  reply	other threads:[~2026-08-07 14:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-07  1:35 [PATCH] selftests/mm: fix read_file() return value check Hongfu Li
2026-08-07 14:35 ` David Hildenbrand (Arm) [this message]
2026-08-10  5:43   ` Hongfu Li

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=43b5db93-1c1b-436e-a8fa-d89582e31894@kernel.org \
    --to=david@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=dev.jain@arm.com \
    --cc=hongfu.li@linux.dev \
    --cc=lance.yang@linux.dev \
    --cc=liam@infradead.org \
    --cc=lihongfu@kylinos.cn \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=mhocko@suse.com \
    --cc=nico.pache@linux.dev \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=shuah@kernel.org \
    --cc=surenb@google.com \
    --cc=usama.arif@linux.dev \
    --cc=vbabka@kernel.org \
    --cc=ziy@nvidia.com \
    /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.