diff mbox series

[v2] staging: rtl8192e: remove bogus ssid character sign test

Message ID 20221025122150.583617-1-Jason@zx2c4.com (mailing list archive)
State Not Applicable
Delegated to: Johannes Berg
Headers show
Series [v2] staging: rtl8192e: remove bogus ssid character sign test | expand

Commit Message

Jason A. Donenfeld Oct. 25, 2022, 12:21 p.m. UTC
This error triggers on some architectures with unsigned `char` types:

drivers/staging/rtl8192e/rtllib_softmac_wx.c:459 rtllib_wx_set_essid() warn: impossible condition '(extra[i] < 0) => (0-255 < 0)'

But actually, the entire test is bogus, as ssids don't have any sign
validity rules like that. So just remove this check look all together.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-staging@lists.linux.dev
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
Changes v1->v2:
- Remove ssid sign test entirely rather than casting to `s8 *`.

 drivers/staging/rtl8192e/rtllib_softmac_wx.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

Comments

Dan Carpenter Oct. 25, 2022, 12:34 p.m. UTC | #1
On Tue, Oct 25, 2022 at 02:21:50PM +0200, Jason A. Donenfeld wrote:
> This error triggers on some architectures with unsigned `char` types:
> 
> drivers/staging/rtl8192e/rtllib_softmac_wx.c:459 rtllib_wx_set_essid() warn: impossible condition '(extra[i] < 0) => (0-255 < 0)'
> 
> But actually, the entire test is bogus, as ssids don't have any sign
> validity rules like that. So just remove this check look all together.
> 
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: linux-staging@lists.linux.dev
> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
> ---
> Changes v1->v2:
> - Remove ssid sign test entirely rather than casting to `s8 *`.

Thanks!

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>

regards,
dan carpenter
Philipp Hortmann Oct. 25, 2022, 5:35 p.m. UTC | #2
On 10/25/22 14:21, Jason A. Donenfeld wrote:
> This error triggers on some architectures with unsigned `char` types:
> 
> drivers/staging/rtl8192e/rtllib_softmac_wx.c:459 rtllib_wx_set_essid() warn: impossible condition '(extra[i] < 0) => (0-255 < 0)'
> 
> But actually, the entire test is bogus, as ssids don't have any sign
> validity rules like that. So just remove this check look all together.
> 
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: linux-staging@lists.linux.dev
> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
> ---
> Changes v1->v2:
> - Remove ssid sign test entirely rather than casting to `s8 *`.
> 
>   drivers/staging/rtl8192e/rtllib_softmac_wx.c | 9 +--------
>   1 file changed, 1 insertion(+), 8 deletions(-)
> 
> diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> index f9589c5b62ba..1e5ad3b476ef 100644
> --- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> +++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> @@ -439,7 +439,7 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
>   			union iwreq_data *wrqu, char *extra)
>   {
>   
> -	int ret = 0, len, i;
> +	int ret = 0, len;
>   	short proto_started;
>   	unsigned long flags;
>   
> @@ -455,13 +455,6 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
>   		goto out;
>   	}
>   
> -	for (i = 0; i < len; i++) {
> -		if (extra[i] < 0) {
> -			ret = -1;
> -			goto out;
> -		}
> -	}
> -
>   	if (proto_started)
>   		rtllib_stop_protocol(ieee, true);

This patch cannot be applied on:
[PATCH] staging: rtl8192e: use explicitly signed char
On 10/24/22 18:30, Jason A. Donenfeld
As line 456 was changed.

Bye Philipp

>
Greg Kroah-Hartman Oct. 25, 2022, 5:41 p.m. UTC | #3
On Tue, Oct 25, 2022 at 07:35:08PM +0200, Philipp Hortmann wrote:
> On 10/25/22 14:21, Jason A. Donenfeld wrote:
> > This error triggers on some architectures with unsigned `char` types:
> > 
> > drivers/staging/rtl8192e/rtllib_softmac_wx.c:459 rtllib_wx_set_essid() warn: impossible condition '(extra[i] < 0) => (0-255 < 0)'
> > 
> > But actually, the entire test is bogus, as ssids don't have any sign
> > validity rules like that. So just remove this check look all together.
> > 
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: linux-staging@lists.linux.dev
> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
> > ---
> > Changes v1->v2:
> > - Remove ssid sign test entirely rather than casting to `s8 *`.
> > 
> >   drivers/staging/rtl8192e/rtllib_softmac_wx.c | 9 +--------
> >   1 file changed, 1 insertion(+), 8 deletions(-)
> > 
> > diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > index f9589c5b62ba..1e5ad3b476ef 100644
> > --- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > +++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > @@ -439,7 +439,7 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
> >   			union iwreq_data *wrqu, char *extra)
> >   {
> > -	int ret = 0, len, i;
> > +	int ret = 0, len;
> >   	short proto_started;
> >   	unsigned long flags;
> > @@ -455,13 +455,6 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
> >   		goto out;
> >   	}
> > -	for (i = 0; i < len; i++) {
> > -		if (extra[i] < 0) {
> > -			ret = -1;
> > -			goto out;
> > -		}
> > -	}
> > -
> >   	if (proto_started)
> >   		rtllib_stop_protocol(ieee, true);
> 
> This patch cannot be applied on:
> [PATCH] staging: rtl8192e: use explicitly signed char
> On 10/24/22 18:30, Jason A. Donenfeld
> As line 456 was changed.

This now in my staging-linus branch, so perhaps you applied it to the
wrong one.

thanks,

greg k-h
Jason A. Donenfeld Oct. 25, 2022, 5:43 p.m. UTC | #4
On Tue, Oct 25, 2022 at 7:35 PM Philipp Hortmann
<philipp.g.hortmann@gmail.com> wrote:
>
> On 10/25/22 14:21, Jason A. Donenfeld wrote:
> > This error triggers on some architectures with unsigned `char` types:
> >
> > drivers/staging/rtl8192e/rtllib_softmac_wx.c:459 rtllib_wx_set_essid() warn: impossible condition '(extra[i] < 0) => (0-255 < 0)'
> >
> > But actually, the entire test is bogus, as ssids don't have any sign
> > validity rules like that. So just remove this check look all together.
> >
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: linux-staging@lists.linux.dev
> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
> > ---
> > Changes v1->v2:
> > - Remove ssid sign test entirely rather than casting to `s8 *`.
> >
> >   drivers/staging/rtl8192e/rtllib_softmac_wx.c | 9 +--------
> >   1 file changed, 1 insertion(+), 8 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > index f9589c5b62ba..1e5ad3b476ef 100644
> > --- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > +++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
> > @@ -439,7 +439,7 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
> >                       union iwreq_data *wrqu, char *extra)
> >   {
> >
> > -     int ret = 0, len, i;
> > +     int ret = 0, len;
> >       short proto_started;
> >       unsigned long flags;
> >
> > @@ -455,13 +455,6 @@ int rtllib_wx_set_essid(struct rtllib_device *ieee,
> >               goto out;
> >       }
> >
> > -     for (i = 0; i < len; i++) {
> > -             if (extra[i] < 0) {
> > -                     ret = -1;
> > -                     goto out;
> > -             }
> > -     }
> > -
> >       if (proto_started)
> >               rtllib_stop_protocol(ieee, true);
>
> This patch cannot be applied on:
> [PATCH] staging: rtl8192e: use explicitly signed char

They're mutually exclusive, which is why this one here was marked as a
v2 and sent in reply to that one. Greg picked up the v2 and all is
well.

Jason
diff mbox series

Patch

diff --git a/drivers/staging/rtl8192e/rtllib_softmac_wx.c b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
index f9589c5b62ba..1e5ad3b476ef 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac_wx.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac_wx.c
@@ -439,7 +439,7 @@  int rtllib_wx_set_essid(struct rtllib_device *ieee,
 			union iwreq_data *wrqu, char *extra)
 {
 
-	int ret = 0, len, i;
+	int ret = 0, len;
 	short proto_started;
 	unsigned long flags;
 
@@ -455,13 +455,6 @@  int rtllib_wx_set_essid(struct rtllib_device *ieee,
 		goto out;
 	}
 
-	for (i = 0; i < len; i++) {
-		if (extra[i] < 0) {
-			ret = -1;
-			goto out;
-		}
-	}
-
 	if (proto_started)
 		rtllib_stop_protocol(ieee, true);