[PATCH -next] tls: rx: Fix unsigned comparison with less than zero

Yang Li posted 1 patch 3 years, 8 months ago
There is a newer version of this series
net/tls/tls_strp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH -next] tls: rx: Fix unsigned comparison with less than zero
Posted by Yang Li 3 years, 8 months ago
The return from the call to tls_rx_msg_size() is int, it can be
a negative error code, however this is being assigned to an
unsigned long variable 'sz', so making 'sz' an int.

Eliminate the following coccicheck warning:
./net/tls/tls_strp.c:211:6-8: WARNING: Unsigned expression compared with zero: sz < 0

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
---
 net/tls/tls_strp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/tls/tls_strp.c b/net/tls/tls_strp.c
index b945288c312e..193e328294be 100644
--- a/net/tls/tls_strp.c
+++ b/net/tls/tls_strp.c
@@ -187,7 +187,8 @@ static int tls_strp_copyin(read_descriptor_t *desc, struct sk_buff *in_skb,
 			   unsigned int offset, size_t in_len)
 {
 	struct tls_strparser *strp = (struct tls_strparser *)desc->arg.data;
-	size_t sz, len, chunk;
+	int sz;
+	size_t len, chunk;
 	struct sk_buff *skb;
 	skb_frag_t *frag;
 
-- 
2.20.1.7.g153144c
Re: [PATCH -next] tls: rx: Fix unsigned comparison with less than zero
Posted by Jakub Kicinski 3 years, 8 months ago
On Thu, 28 Jul 2022 09:10:25 +0800 Yang Li wrote:
>  	struct tls_strparser *strp = (struct tls_strparser *)desc->arg.data;
> -	size_t sz, len, chunk;
> +	int sz;
> +	size_t len, chunk;
>  	struct sk_buff *skb;
>  	skb_frag_t *frag;

Thanks for the fix, please keep the sorting of the variable lines from
longest to shortest. "int sz;" should be the last variable declaration
line and "size_t len, chunk;" goes after the skb.