[PATCH] jffs2: remove redundant check on outpos > pos

Colin Ian King posted 1 patch 3 weeks, 5 days ago
fs/jffs2/compr_rubin.c | 5 -----
1 file changed, 5 deletions(-)
[PATCH] jffs2: remove redundant check on outpos > pos
Posted by Colin Ian King 3 weeks, 5 days ago
The check for outpos > pos is always false because outpos is zero
and pos is at least zero; outpos can never be greater than pos.
The check is redundant and can be removed.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 fs/jffs2/compr_rubin.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/fs/jffs2/compr_rubin.c b/fs/jffs2/compr_rubin.c
index 556de100ebd5..9854253d0108 100644
--- a/fs/jffs2/compr_rubin.c
+++ b/fs/jffs2/compr_rubin.c
@@ -276,11 +276,6 @@ static int rubin_do_compress(int bit_divider, int *bits, unsigned char *data_in,
 
 	end_rubin(&rs);
 
-	if (outpos > pos) {
-		/* We failed */
-		return -1;
-	}
-
 	/* Tell the caller how much we managed to compress,
 	 * and how much space it took */
 
-- 
2.39.5
Re: [PATCH] jffs2: remove redundant check on outpos > pos
Posted by Zhihao Cheng 3 weeks, 4 days ago
在 2024/10/30 6:20, Colin Ian King 写道:
> The check for outpos > pos is always false because outpos is zero
> and pos is at least zero; outpos can never be greater than pos.
> The check is redundant and can be removed.
> 
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
>   fs/jffs2/compr_rubin.c | 5 -----
>   1 file changed, 5 deletions(-)
> 
> diff --git a/fs/jffs2/compr_rubin.c b/fs/jffs2/compr_rubin.c
> index 556de100ebd5..9854253d0108 100644
> --- a/fs/jffs2/compr_rubin.c
> +++ b/fs/jffs2/compr_rubin.c
> @@ -276,11 +276,6 @@ static int rubin_do_compress(int bit_divider, int *bits, unsigned char *data_in,
>   
>   	end_rubin(&rs);
>   

Maybe this check could detect the overflow of 'pos', I guess.
> -	if (outpos > pos) {
> -		/* We failed */
> -		return -1;
> -	}
> -
>   	/* Tell the caller how much we managed to compress,
>   	 * and how much space it took */
>   
> 

Re: [PATCH] jffs2: remove redundant check on outpos > pos
Posted by Dan Carpenter 3 weeks, 4 days ago
On Wed, Oct 30, 2024 at 12:45:42PM +0800, Zhihao Cheng wrote:
> 在 2024/10/30 6:20, Colin Ian King 写道:
> > The check for outpos > pos is always false because outpos is zero
> > and pos is at least zero; outpos can never be greater than pos.
> > The check is redundant and can be removed.
> > 
> > Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> > ---
> >   fs/jffs2/compr_rubin.c | 5 -----
> >   1 file changed, 5 deletions(-)
> > 
> > diff --git a/fs/jffs2/compr_rubin.c b/fs/jffs2/compr_rubin.c
> > index 556de100ebd5..9854253d0108 100644
> > --- a/fs/jffs2/compr_rubin.c
> > +++ b/fs/jffs2/compr_rubin.c
> > @@ -276,11 +276,6 @@ static int rubin_do_compress(int bit_divider, int *bits, unsigned char *data_in,
> >   	end_rubin(&rs);
> 
> Maybe this check could detect the overflow of 'pos', I guess.

"pos" is a number between 0 and 4.  It can't overflow.

regards,
dan carpenter