staging: comedi: usbdux: allocating too much data
Subsystems (2)
PATCH 1/1 staging: comedi: usbdux: allocating too much data
We only need to allocate enough space for a pointer. We allocate the space for the urbs themselves with the call to usb_alloc_urb() a few lines later.
Signed-off-by Dan Carpenter <[email protected]>
---
Untested.
drivers/staging/comedi/drivers/usbdux.c +2 -2
@@ -1558,9 +1558,9 @@ static int usbdux_alloc_usb_buffers(struct comedi_device *dev) devpriv->dux_commands =kzalloc (SIZEOFDUXBUFFER ,GFP_KERNEL ); devpriv->in_buf =kzalloc (SIZEINBUF ,GFP_KERNEL ); devpriv->insn_buf =kzalloc (SIZEINSNBUF ,GFP_KERNEL ); - devpriv->ai_urbs =kcalloc (devpriv->n_ai_urbs,sizeof (*urb), + devpriv->ai_urbs =kcalloc (devpriv->n_ai_urbs,sizeof (void *),GFP_KERNEL ); - devpriv->ao_urbs =kcalloc (devpriv->n_ao_urbs,sizeof (*urb), + devpriv->ao_urbs =kcalloc (devpriv->n_ao_urbs,sizeof (void *),GFP_KERNEL );if (!devpriv->dux_commands || !devpriv->in_buf || !devpriv->insn_buf || !devpriv->ai_urbs || !devpriv->ao_urbs)
Quoted 15 lines · Dan Carpenter
We only need to allocate enough space for a pointer. We allocate the space for the urbs themselves with the call to
usb_alloc_urb()a few lines later.Signed-off-by Dan Carpenter <[email protected]>---
Untested.drivers/staging/comedi/drivers/usbdux.c +0
-0@@ -1558,9 +1558,9 @@ static int usbdux_alloc_usb_buffers(struct comedi_device *dev) devpriv->dux_commands =kzalloc (SIZEOFDUXBUFFER ,GFP_KERNEL );
drivers/staging/comedi/drivers/usbdux.c static int usbdux_alloc_usb_buffers(struct comedi_device *dev) · line 1566
Quoted 10 lines
drivers/staging/comedi/drivers/usbdux.c +2
-2devpriv->in_buf =kzalloc (SIZEINBUF ,GFP_KERNEL ); devpriv->insn_buf =kzalloc (SIZEINSNBUF ,GFP_KERNEL ); - devpriv->ai_urbs =kcalloc (devpriv->n_ai_urbs,sizeof (*urb), + devpriv->ai_urbs =kcalloc (devpriv->n_ai_urbs,sizeof (void *),GFP_KERNEL ); - devpriv->ao_urbs =kcalloc (devpriv->n_ao_urbs,sizeof (*urb), + devpriv->ao_urbs =kcalloc (devpriv->n_ao_urbs,sizeof (void *),GFP_KERNEL );if (!devpriv->dux_commands || !devpriv->in_buf || !devpriv->insn_buf || !devpriv->ai_urbs || !devpriv->ao_urbs)
Acked-by Ian Abbott <[email protected]>
Also, usbduxsigma.c has the same problem.
Signature · 2 lines
-=( Ian Abbott @ MEV Ltd. E-mail: <[email protected]> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-