From: H Hartley Sweeten Date: Sat, 18 Aug 2012 01:21:12 +0000 (-0700) Subject: staging: comedi: adv_pci_dio: fix bug in 'detach' X-Git-Tag: firefly_0821_release~3680^2~1977^2~834 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f853d9ddf4867a4629753be4af7c5b98f7b7edd0;p=firefly-linux-kernel-4.4.55.git staging: comedi: adv_pci_dio: fix bug in 'detach' The 'attach' function can fail between when the devpriv and the comedi subdevices are allocated. If it does the 'detach' will try to access unallocated memory when it goes thru the subdevices. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c index 4da0e7bd204f..a4c1b13136bc 100644 --- a/drivers/staging/comedi/drivers/adv_pci_dio.c +++ b/drivers/staging/comedi/drivers/adv_pci_dio.c @@ -1184,6 +1184,8 @@ static void pci_dio_detach(struct comedi_device *dev) if (devpriv) { if (devpriv->valid) pci_dio_reset(dev); + } + if (dev->subdevices) { for (i = 0; i < dev->n_subdevices; i++) { s = dev->subdevices + i; if (s->type == COMEDI_SUBD_DIO)