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

From: Sergei Shtylyov
Date: Sun Aug 25 2024 - 10:50:57 EST


On 8/25/24 5:21 PM, 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@xxxxxxxxxxxxxxxxxxxxxxxxx
> Signed-off-by: Edward Adam Davis <eadavis@xxxxxx>
[...]

> 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);
ret = usb_control_msg_recv(ar_usb->udev, 0, ATH6KL_USB_CONTROL_REQ_RECV_BMI_RESP,
USB_DIR_IN | USB_TYPE_VENDOR |

Strange alignment style... If you're not going to reuse the old style,
why this trailing space before USB_DIR_IN?

> + USB_RECIP_DEVICE, 0, 0, buf, len, 2000, GFP_KERNEL);

Same here...

[...]

MBR, Sergey