Re: [PATCH V2] wifi: ath6kl: Replace ath6kl_usb_submit_ctrl_in with usb_control_msg_recv

Edward Adam Davis
2024-08-26T11:13:07Z

Hi Greg KH and Sergey,

On Mon, 26 Aug 2024 07:04:00 +0200, Greg KH 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@syzkaller.appspotmail.com
> > Signed-off-by: Edward Adam Davis <eadavis@qq.com>
> > ---
> > V2: Directly using USB functions
> >
> > drivers/net/wireless/ath/ath6kl/usb.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c
> > index 5220809841a6..dc1f89ebb740 100644
> > --- a/drivers/net/wireless/ath/ath6kl/usb.c
> > +++ b/drivers/net/wireless/ath/ath6kl/usb.c
> > @@ -1027,9 +1027,9 @@ 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);
>
> By removing this call, there is now only one call left to
> ath6kl_usb_submit_ctrl_in(), so that probably can also be unwrapped in a
> second patch in this series, right?
Sorry, I didn't clarify what you said.
>
> > + 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);
>
> As was pointed out, this is a very odd indentation style.
I will send V3 patch to adjust the indentation style.

BR,
Edward