From: Colin Ian King <colin.k...@canonical.com>

Currently the check for *lenp < 0 is always true since the type is a size_t
and can never be negative. Fix this by casting it to ssize_t.

Addresses-Coverity: ("Unsigned compared against 0")
Fixes: c09f56b8f68d ("net/sunrpc: Fix return value for sysctl 
sunrpc.transports")
Signed-off-by: Colin Ian King <colin.k...@canonical.com>
---
 net/sunrpc/sysctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sunrpc/sysctl.c b/net/sunrpc/sysctl.c
index a18b36b5422d..bb62badef6bc 100644
--- a/net/sunrpc/sysctl.c
+++ b/net/sunrpc/sysctl.c
@@ -72,7 +72,7 @@ static int proc_do_xprt(struct ctl_table *table, int write,
        len = svc_print_xprts(tmpbuf, sizeof(tmpbuf));
        *lenp = memory_read_from_buffer(buffer, *lenp, ppos, tmpbuf, len);
 
-       if (*lenp < 0) {
+       if ((ssize_t)*lenp < 0) {
                *lenp = 0;
                return -EINVAL;
        }
-- 
2.27.0

Reply via email to