[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220415052502.GE12805@kadam>
Date: Fri, 15 Apr 2022 08:25:02 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Haowen Bai <baihaowen@...zu.com>
Cc: gregkh@...uxfoundation.org, davem@...emloft.net, len.baker@....com,
dave@...olabs.net, edumazet@...gle.com,
linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] staging: rtl8192e: Fix signedness bug in
rtllib_rx_assoc_resp()
On Fri, Apr 15, 2022 at 10:09:31AM +0800, Haowen Bai wrote:
> function rtllib_rx_assoc_resp () unsigned errcode receive auth_parse()'s
> errcode -ENOMEM.
>
> Signed-off-by: Haowen Bai <baihaowen@...zu.com>
> ---
> V1->V2: reduce return random value; print its own error message.
>
> drivers/staging/rtl8192e/rtllib_softmac.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
> index 82bf05eb1cbf..8a0961e64a8c 100644
> --- a/drivers/staging/rtl8192e/rtllib_softmac.c
> +++ b/drivers/staging/rtl8192e/rtllib_softmac.c
> @@ -1764,7 +1764,7 @@ static void rtllib_softmac_check_all_nets(struct rtllib_device *ieee)
> spin_unlock_irqrestore(&ieee->lock, flags);
> }
>
> -static inline u16 auth_parse(struct net_device *dev, struct sk_buff *skb,
> +static inline s16 auth_parse(struct net_device *dev, struct sk_buff *skb,
Could you make this an int instead of s16. s16 is always a bit weird.
> u8 **challenge, int *chlen)
> {
> struct rtllib_authentication *a;
> @@ -1773,7 +1773,7 @@ static inline u16 auth_parse(struct net_device *dev, struct sk_buff *skb,
> if (skb->len < (sizeof(struct rtllib_authentication) -
> sizeof(struct rtllib_info_element))) {
> netdev_dbg(dev, "invalid len in auth resp: %d\n", skb->len);
> - return 0xcafe;
> + return -EINVAL;
> }
> *challenge = NULL;
> a = (struct rtllib_authentication *) skb->data;
> @@ -1787,7 +1787,7 @@ static inline u16 auth_parse(struct net_device *dev, struct sk_buff *skb,
> return -ENOMEM;
> }
> }
> - return le16_to_cpu(a->status);
> + return a->status;
But then just say:
if (a->status) {
netdev_info(ieee->dev, "blah blah failed");
return -EINVAL;
}
return 0;
If you look up what a->status is, it can only be
WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG which is not worth preserving really.
regards,
dan carpenter
Powered by blists - more mailing lists