2022-06-06 11:11:57

by Ian Abbott

[permalink] [raw]
Subject: [PATCH] comedi: vmk80xx: fix expression for tx buffer size

The expression for setting the size of the allocated bulk TX buffer
(`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
which is using the wrong endpoint (should be `devpriv->ep_tx`). Fix it.

Fixes: a23461c47482 ("comedi: vmk80xx: fix transfer-buffer overflow")
Cc: Johan Hovold <[email protected]>
Cc: [email protected] # 5.10, 5.15+
Signed-off-by: Ian Abbott <[email protected]>
---
drivers/comedi/drivers/vmk80xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/comedi/drivers/vmk80xx.c b/drivers/comedi/drivers/vmk80xx.c
index 46023adc5395..4536ed43f65b 100644
--- a/drivers/comedi/drivers/vmk80xx.c
+++ b/drivers/comedi/drivers/vmk80xx.c
@@ -684,7 +684,7 @@ static int vmk80xx_alloc_usb_buffers(struct comedi_device *dev)
if (!devpriv->usb_rx_buf)
return -ENOMEM;

- size = max(usb_endpoint_maxp(devpriv->ep_rx), MIN_BUF_SIZE);
+ size = max(usb_endpoint_maxp(devpriv->ep_tx), MIN_BUF_SIZE);
devpriv->usb_tx_buf = kzalloc(size, GFP_KERNEL);
if (!devpriv->usb_tx_buf)
return -ENOMEM;
--
2.35.1


2022-06-08 04:05:02

by Ian Abbott

[permalink] [raw]
Subject: Re: [PATCH] comedi: vmk80xx: fix expression for tx buffer size

On 07/06/2022 17:16, Johan Hovold wrote:
> On Mon, Jun 06, 2022 at 11:52:37AM +0100, Ian Abbott wrote:
>> The expression for setting the size of the allocated bulk TX buffer
>> (`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
>> which is using the wrong endpoint (should be `devpriv->ep_tx`). Fix it.
>
> Bah. Good catch.
>
>> Fixes: a23461c47482 ("comedi: vmk80xx: fix transfer-buffer overflow")
>> Cc: Johan Hovold <[email protected]>
>> Cc: [email protected] # 5.10, 5.15+
>
> I believe this one is needed in all stable trees (e.g. 4.9+).

True. I didn't think the patch it fixes had been applied yet, but I
didn't look hard enough. I'll send a v2 with amended Cc line.

>
>> Signed-off-by: Ian Abbott <[email protected]>
>> ---
>> drivers/comedi/drivers/vmk80xx.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/comedi/drivers/vmk80xx.c b/drivers/comedi/drivers/vmk80xx.c
>> index 46023adc5395..4536ed43f65b 100644
>> --- a/drivers/comedi/drivers/vmk80xx.c
>> +++ b/drivers/comedi/drivers/vmk80xx.c
>> @@ -684,7 +684,7 @@ static int vmk80xx_alloc_usb_buffers(struct comedi_device *dev)
>> if (!devpriv->usb_rx_buf)
>> return -ENOMEM;
>>
>> - size = max(usb_endpoint_maxp(devpriv->ep_rx), MIN_BUF_SIZE);
>> + size = max(usb_endpoint_maxp(devpriv->ep_tx), MIN_BUF_SIZE);
>> devpriv->usb_tx_buf = kzalloc(size, GFP_KERNEL);
>> if (!devpriv->usb_tx_buf)
>> return -ENOMEM;
>
> Looks good otherwise:
>
> Reviewed-by: Johan Hovold <[email protected]>

Thanks for the review!

--
-=( Ian Abbott <[email protected]> || MEV Ltd. is a company )=-
-=( registered in England & Wales. Regd. number: 02862268. )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || http://www.mev.co.uk )=-

2022-06-08 04:19:20

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] comedi: vmk80xx: fix expression for tx buffer size

On Mon, Jun 06, 2022 at 11:52:37AM +0100, Ian Abbott wrote:
> The expression for setting the size of the allocated bulk TX buffer
> (`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
> which is using the wrong endpoint (should be `devpriv->ep_tx`). Fix it.

Bah. Good catch.

> Fixes: a23461c47482 ("comedi: vmk80xx: fix transfer-buffer overflow")
> Cc: Johan Hovold <[email protected]>
> Cc: [email protected] # 5.10, 5.15+

I believe this one is needed in all stable trees (e.g. 4.9+).

> Signed-off-by: Ian Abbott <[email protected]>
> ---
> drivers/comedi/drivers/vmk80xx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/comedi/drivers/vmk80xx.c b/drivers/comedi/drivers/vmk80xx.c
> index 46023adc5395..4536ed43f65b 100644
> --- a/drivers/comedi/drivers/vmk80xx.c
> +++ b/drivers/comedi/drivers/vmk80xx.c
> @@ -684,7 +684,7 @@ static int vmk80xx_alloc_usb_buffers(struct comedi_device *dev)
> if (!devpriv->usb_rx_buf)
> return -ENOMEM;
>
> - size = max(usb_endpoint_maxp(devpriv->ep_rx), MIN_BUF_SIZE);
> + size = max(usb_endpoint_maxp(devpriv->ep_tx), MIN_BUF_SIZE);
> devpriv->usb_tx_buf = kzalloc(size, GFP_KERNEL);
> if (!devpriv->usb_tx_buf)
> return -ENOMEM;

Looks good otherwise:

Reviewed-by: Johan Hovold <[email protected]>

2022-06-08 08:30:53

by Ian Abbott

[permalink] [raw]
Subject: [PATCH v2] comedi: vmk80xx: fix expression for tx buffer size

The expression for setting the size of the allocated bulk TX buffer
(`devpriv->usb_tx_buf`) is calling `usb_endpoint_maxp(devpriv->ep_rx)`,
which is using the wrong endpoint (should be `devpriv->ep_tx`). Fix it.

Fixes: a23461c47482 ("comedi: vmk80xx: fix transfer-buffer overflow")
Cc: Johan Hovold <[email protected]>
Cc: [email protected] # 4.9+
Signed-off-by: Ian Abbott <[email protected]>
Reviewed-by: Johan Hovold <[email protected]>
---
v2: Amended Cc: [email protected] line to apply to 4.9+.
Added Reviewed-by: Johan Hovold

drivers/comedi/drivers/vmk80xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/comedi/drivers/vmk80xx.c b/drivers/comedi/drivers/vmk80xx.c
index 46023adc5395..4536ed43f65b 100644
--- a/drivers/comedi/drivers/vmk80xx.c
+++ b/drivers/comedi/drivers/vmk80xx.c
@@ -684,7 +684,7 @@ static int vmk80xx_alloc_usb_buffers(struct comedi_device *dev)
if (!devpriv->usb_rx_buf)
return -ENOMEM;

- size = max(usb_endpoint_maxp(devpriv->ep_rx), MIN_BUF_SIZE);
+ size = max(usb_endpoint_maxp(devpriv->ep_tx), MIN_BUF_SIZE);
devpriv->usb_tx_buf = kzalloc(size, GFP_KERNEL);
if (!devpriv->usb_tx_buf)
return -ENOMEM;
--
2.35.1