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

From: Greg KH
Date: Tue Oct 25 2022 - 13:42:02 EST


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@xxxxxxxxxxxxxxxxxxx>
> > Cc: linux-staging@xxxxxxxxxxxxxxx
> > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>
> > ---
> > 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