[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2024082642-heave-fanning-2600@gregkh>
Date: Mon, 26 Aug 2024 13:25:28 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Edward Adam Davis <eadavis@...com>
Cc: kvalo@...nel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, sergei.shtylyov@...il.com,
syzbot+92c6dd14aaa230be6855@...kaller.appspotmail.com,
syzkaller-bugs@...glegroups.com
Subject: Re: [PATCH V3] wifi: ath6kl: Replace ath6kl_usb_submit_ctrl_in with
usb_control_msg_recv
On Mon, Aug 26, 2024 at 07:19:09PM +0800, Edward Adam Davis wrote:
> ath6kl_usb_submit_ctrl_in() did not take into account the situation where
> the length of the data read from the device is not equal to the len, and
> such missing judgments will result in subsequent code using incorrect data.
>
> usb_control_msg_recv() handles the abnormal length of the returned data,
> so using it directly can fix this warning.
>
> Reported-by: syzbot+92c6dd14aaa230be6855@...kaller.appspotmail.com
> Signed-off-by: Edward Adam Davis <eadavis@...com>
> ---
> V2 -> V3: Adjust indentation style
>
> drivers/net/wireless/ath/ath6kl/usb.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c
> index 5220809841a6..5b1ce4f9ed54 100644
> --- a/drivers/net/wireless/ath/ath6kl/usb.c
> +++ b/drivers/net/wireless/ath/ath6kl/usb.c
> @@ -1027,9 +1027,11 @@ static int ath6kl_usb_bmi_read(struct ath6kl *ar, u8 *buf, u32 len)
> int ret;
>
> /* get response */
> - ret = ath6kl_usb_submit_ctrl_in(ar_usb,
> - ATH6KL_USB_CONTROL_REQ_RECV_BMI_RESP,
> - 0, 0, buf, len);
> + ret = usb_control_msg_recv(ar_usb->udev, 0,
> + ATH6KL_USB_CONTROL_REQ_RECV_BMI_RESP,
> + USB_DIR_IN | USB_TYPE_VENDOR |
> + USB_RECIP_DEVICE, 0, 0, buf, len, 2000,
> + GFP_KERNEL);
This should be:
ret = usb_control_msg_recv(ar_usb->udev, 0,
ATH6KL_USB_CONTROL_REQ_RECV_BMI_RESP,
USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
0, 0, buf, len, 2000, GFP_KERNEL);
right? Keep the | values on the same line.
thanks,
greg k-h
Powered by blists - more mailing lists