Commit d16e7b62 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Greg Kroah-Hartman

usb: typec: ucsi: displayport: Fix NULL pointer dereference

If the registration of the DisplayPort was not successful,
or if the port does not support DisplayPort alt mode in the
first place, the function ucsi_displayport_remove_partner()
will fail with NULL pointer dereference when it attempts to
access the driver data.

Adding a check to the function to make sure there really is
driver data for the device before modifying it.

Fixes: af8622f6 ("usb: typec: ucsi: Support for DisplayPort alt mode")
Reported-by: default avatarAndrea Gagliardi La Gala <andrea.lagala@gmail.com>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206365
Cc: stable@vger.kernel.org
Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20200311130006.41288-2-heikki.krogerus@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b63e48fb
...@@ -271,6 +271,9 @@ void ucsi_displayport_remove_partner(struct typec_altmode *alt) ...@@ -271,6 +271,9 @@ void ucsi_displayport_remove_partner(struct typec_altmode *alt)
return; return;
dp = typec_altmode_get_drvdata(alt); dp = typec_altmode_get_drvdata(alt);
if (!dp)
return;
dp->data.conf = 0; dp->data.conf = 0;
dp->data.status = 0; dp->data.status = 0;
dp->initialized = false; dp->initialized = false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment