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 <[email protected]>
Cc: [email protected]
Signed-off-by: Jason A. Donenfeld <[email protected]>
---
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);
--
2.38.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 <[email protected]>
> Cc: [email protected]
> Signed-off-by: Jason A. Donenfeld <[email protected]>
> ---
> Changes v1->v2:
> - Remove ssid sign test entirely rather than casting to `s8 *`.
Thanks!
Reviewed-by: Dan Carpenter <[email protected]>
regards,
dan carpenter
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 <[email protected]>
> Cc: [email protected]
> Signed-off-by: Jason A. Donenfeld <[email protected]>
> ---
> 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
>
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 <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Jason A. Donenfeld <[email protected]>
> > ---
> > 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
On Tue, Oct 25, 2022 at 7:35 PM Philipp Hortmann
<[email protected]> 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 <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Jason A. Donenfeld <[email protected]>
> > ---
> > 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