'size' is unsigned, it never less than zero.
Fixes: 6c26df84e1f2 ("selftests: cgroup: return -errno from cg_read()/cg_write() on failure")
Signed-off-by: YueHaibing <[email protected]>
---
tools/testing/selftests/cgroup/cgroup_util.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/cgroup/cgroup_util.c b/tools/testing/selftests/cgroup/cgroup_util.c
index 4c52cc6f2f9c..e8bbbdb77e0d 100644
--- a/tools/testing/selftests/cgroup/cgroup_util.c
+++ b/tools/testing/selftests/cgroup/cgroup_util.c
@@ -555,6 +555,7 @@ int proc_mount_contains(const char *option)
ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size)
{
char path[PATH_MAX];
+ ssize_t ret;
if (!pid)
snprintf(path, sizeof(path), "/proc/%s/%s",
@@ -562,8 +563,8 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
else
snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
- size = read_text(path, buf, size);
- return size < 0 ? -1 : size;
+ ret = read_text(path, buf, size);
+ return ret < 0 ? -1 : ret;
}
int proc_read_strstr(int pid, bool thread, const char *item, const char *needle)
--
2.17.1
On Sat, Nov 5, 2022 at 4:06 AM YueHaibing <[email protected]> wrote:
>
> 'size' is unsigned, it never less than zero.
>
> Fixes: 6c26df84e1f2 ("selftests: cgroup: return -errno from cg_read()/cg_write() on failure")
> Signed-off-by: YueHaibing <[email protected]>
Thanks for fixing this!
FWIW,
Reviewed-by: Yosry Ahmed <[email protected]>
> ---
> tools/testing/selftests/cgroup/cgroup_util.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/cgroup/cgroup_util.c b/tools/testing/selftests/cgroup/cgroup_util.c
> index 4c52cc6f2f9c..e8bbbdb77e0d 100644
> --- a/tools/testing/selftests/cgroup/cgroup_util.c
> +++ b/tools/testing/selftests/cgroup/cgroup_util.c
> @@ -555,6 +555,7 @@ int proc_mount_contains(const char *option)
> ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size)
> {
> char path[PATH_MAX];
> + ssize_t ret;
>
> if (!pid)
> snprintf(path, sizeof(path), "/proc/%s/%s",
> @@ -562,8 +563,8 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
> else
> snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
>
> - size = read_text(path, buf, size);
> - return size < 0 ? -1 : size;
> + ret = read_text(path, buf, size);
> + return ret < 0 ? -1 : ret;
> }
>
> int proc_read_strstr(int pid, bool thread, const char *item, const char *needle)
> --
> 2.17.1
>
On Sat, Nov 05, 2022 at 07:06:11PM +0800, YueHaibing wrote:
> 'size' is unsigned, it never less than zero.
>
> Fixes: 6c26df84e1f2 ("selftests: cgroup: return -errno from cg_read()/cg_write() on failure")
> Signed-off-by: YueHaibing <[email protected]>
> ---
> tools/testing/selftests/cgroup/cgroup_util.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/cgroup/cgroup_util.c b/tools/testing/selftests/cgroup/cgroup_util.c
> index 4c52cc6f2f9c..e8bbbdb77e0d 100644
> --- a/tools/testing/selftests/cgroup/cgroup_util.c
> +++ b/tools/testing/selftests/cgroup/cgroup_util.c
> @@ -555,6 +555,7 @@ int proc_mount_contains(const char *option)
> ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size)
> {
> char path[PATH_MAX];
> + ssize_t ret;
>
> if (!pid)
> snprintf(path, sizeof(path), "/proc/%s/%s",
> @@ -562,8 +563,8 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
> else
> snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
>
> - size = read_text(path, buf, size);
> - return size < 0 ? -1 : size;
> + ret = read_text(path, buf, size);
> + return ret < 0 ? -1 : ret;
> }
Indeed, good catch!
Acked-by: Roman Gushchin <[email protected]>
Thanks!
Hi,
On 11/5/2022 4:36 PM, YueHaibing wrote:
> 'size' is unsigned, it never less than zero.
>
> Fixes: 6c26df84e1f2 ("selftests: cgroup: return -errno from cg_read()/cg_write() on failure")
> Signed-off-by: YueHaibing <[email protected]>
LGTM.
Reviewed-by: Mukesh Ojha <[email protected]>
-Mukesh
> ---
> tools/testing/selftests/cgroup/cgroup_util.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/cgroup/cgroup_util.c b/tools/testing/selftests/cgroup/cgroup_util.c
> index 4c52cc6f2f9c..e8bbbdb77e0d 100644
> --- a/tools/testing/selftests/cgroup/cgroup_util.c
> +++ b/tools/testing/selftests/cgroup/cgroup_util.c
> @@ -555,6 +555,7 @@ int proc_mount_contains(const char *option)
> ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size)
> {
> char path[PATH_MAX];
> + ssize_t ret;
>
> if (!pid)
> snprintf(path, sizeof(path), "/proc/%s/%s",
> @@ -562,8 +563,8 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
> else
> snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
>
> - size = read_text(path, buf, size);
> - return size < 0 ? -1 : size;
> + ret = read_text(path, buf, size);
> + return ret < 0 ? -1 : ret;
> }
>
> int proc_read_strstr(int pid, bool thread, const char *item, const char *needle)
On 11/5/22 16:36, YueHaibing wrote:
> 'size' is unsigned, it never less than zero.
>
> Fixes: 6c26df84e1f2 ("selftests: cgroup: return -errno from cg_read()/cg_write() on failure")
> Signed-off-by: YueHaibing <[email protected]>
Reviewed-by: Kamalesh Babulal <[email protected]>
> ---
> tools/testing/selftests/cgroup/cgroup_util.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/cgroup/cgroup_util.c b/tools/testing/selftests/cgroup/cgroup_util.c
> index 4c52cc6f2f9c..e8bbbdb77e0d 100644
> --- a/tools/testing/selftests/cgroup/cgroup_util.c
> +++ b/tools/testing/selftests/cgroup/cgroup_util.c
> @@ -555,6 +555,7 @@ int proc_mount_contains(const char *option)
> ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size)
> {
> char path[PATH_MAX];
> + ssize_t ret;
>
> if (!pid)
> snprintf(path, sizeof(path), "/proc/%s/%s",
> @@ -562,8 +563,8 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t
> else
> snprintf(path, sizeof(path), "/proc/%d/%s", pid, item);
>
> - size = read_text(path, buf, size);
> - return size < 0 ? -1 : size;
> + ret = read_text(path, buf, size);
> + return ret < 0 ? -1 : ret;
> }
>
> int proc_read_strstr(int pid, bool thread, const char *item, const char *needle)
--
Thanks,
Kamalesh