]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: typec: ucsi: Fix null pointer dereference in trace
authorAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
Fri, 10 May 2024 20:12:41 +0000 (20:12 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Sep 2024 09:06:41 +0000 (11:06 +0200)
[ Upstream commit 99516f76db48e1a9d54cdfed63c1babcee4e71a5 ]

ucsi_register_altmode checks IS_ERR for the alt pointer and treats
NULL as valid. When CONFIG_TYPEC_DP_ALTMODE is not enabled,
ucsi_register_displayport returns NULL which causes a NULL pointer
dereference in trace. Rather than return NULL, call
typec_port_register_altmode to register DisplayPort alternate mode
as a non-controllable mode when CONFIG_TYPEC_DP_ALTMODE is not enabled.

Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Signed-off-by: Jameson Thies <jthies@google.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240510201244.2968152-2-jthies@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/typec/ucsi/ucsi.h

index 41e1a64da82e8505633a3d26d076e5552e7ce049..f75b1e2c05fec7f38576cf1a25f8ae8a1f6b68bc 100644 (file)
@@ -365,7 +365,7 @@ ucsi_register_displayport(struct ucsi_connector *con,
                          bool override, int offset,
                          struct typec_altmode_desc *desc)
 {
-       return NULL;
+       return typec_port_register_altmode(con->port, desc);
 }
 
 static inline void