mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
staging: comedi: das08: fix possible NULL deref during detach
`das08_detach()` is called by the comedi core to clean up if either `das08_attach()` or `das08_attach_pci()` returns an error. It sets `thisboard` to the return value of `comedi_board(dev)` and assumes it is non-null. This is a valid assumption if `das08_attach()` fails, but not if `das08_attach_pci()` fails, leading to a possible NULL pointer dereference. Check `thisboard` at the top of `das08_detach()` and return early if it is `NULL`. This is okay because the only other thing that could have been allocated is `dev->private` and that is freed by the comedi core, not by this function. Cc: <stable@vger.kernel.org> # 3.6.x Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1d1171ffda
commit
ee280d134f
@ -846,6 +846,8 @@ static void __maybe_unused das08_detach(struct comedi_device *dev)
|
||||
{
|
||||
const struct das08_board_struct *thisboard = comedi_board(dev);
|
||||
|
||||
if (!thisboard)
|
||||
return;
|
||||
das08_common_detach(dev);
|
||||
if (is_isa_board(thisboard)) {
|
||||
if (dev->iobase)
|
||||
|
Loading…
x
Reference in New Issue
Block a user