]> git.baikalelectronics.ru Git - kernel.git/commit
USB: keyspan: fix NULL-pointer dereferences and memory leaks
authorJohan Hovold <jhovold@gmail.com>
Thu, 25 Oct 2012 08:29:15 +0000 (10:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Oct 2012 16:37:13 +0000 (09:37 -0700)
commitf02cdc0e1a37446e325ce62236cfc33394c7f528
tree2f5ff17fa309a58dc3745ffb9560ce134bd88f12
parentf300ef2e5864b34554ab2f966c90648bdb41c2f4
USB: keyspan: fix NULL-pointer dereferences and memory leaks

Fix NULL-pointer dereference at release by moving port data allocation
and deallocation to port_probe and port_remove.

Fix NULL-pointer dereference at disconnect by stopping port urbs at
port_remove.

Since commit c3e213df083439e (device-core: Ensure drvdata = NULL when no
driver is bound) the port private data is no longer accessible at
disconnect or release.

Note that this patch also fixes port and interface-data memory leaks in
the error path of attach should port initialisation fail for any port.

Compile-only tested.

Cc: <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/keyspan.c
drivers/usb/serial/keyspan.h