summaryrefslogtreecommitdiff
path: root/drivers/misc/vmw_vmci/vmci_context.c
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2019-06-08 16:49:47 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-14 08:11:21 +0200
commit486c32325caac9ebd5ab6da9bf27413e88592ee9 (patch)
tree89632b9158f8283abc815738e72890ffbdf7feea /drivers/misc/vmw_vmci/vmci_context.c
parent524ad00e80b7b1138e933a3dc62e67cb25baadc6 (diff)
carl9170: fix misuse of device driver API
commit feb09b2933275a70917a869989ea2823e7356be8 upstream. This patch follows Alan Stern's recent patch: "p54: Fix race between disconnect and firmware loading" that overhauled carl9170 buggy firmware loading and driver unbinding procedures. Since the carl9170 code was adapted from p54 it uses the same functions and is likely to have the same problem, but it's just that the syzbot hasn't reproduce them (yet). a summary from the changes (copied from the p54 patch): * Call usb_driver_release_interface() rather than device_release_driver(). * Lock udev (the interface's parent) before unbinding the driver instead of locking udev->parent. * During the firmware loading process, take a reference to the USB interface instead of the USB device. * Don't take an unnecessary reference to the device during probe (and then don't drop it during disconnect). and * Make sure to prevent use-after-free bugs by explicitly setting the driver context to NULL after signaling the completion. Cc: <stable@vger.kernel.org> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/vmw_vmci/vmci_context.c')
0 files changed, 0 insertions, 0 deletions