mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 14:12:07 +02:00
soc: qcom: pmic_glink_altmode: fix port sanity check
The PMIC GLINK altmode driver currently supports at most two ports.
Fix the incomplete port sanity check on notifications to avoid
accessing and corrupting memory beyond the port array if we ever get a
notification for an unsupported port.
Fixes: 080b4e2485 ("soc: qcom: pmic_glink: Introduce altmode support")
Cc: stable@vger.kernel.org # 6.3
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231109093100.19971-1-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
7a280fec21
commit
c4fb7d2eac
|
|
@ -285,7 +285,7 @@ static void pmic_glink_altmode_sc8180xp_notify(struct pmic_glink_altmode *altmod
|
|||
|
||||
svid = mux == 2 ? USB_TYPEC_DP_SID : 0;
|
||||
|
||||
if (!altmode->ports[port].altmode) {
|
||||
if (port >= ARRAY_SIZE(altmode->ports) || !altmode->ports[port].altmode) {
|
||||
dev_dbg(altmode->dev, "notification on undefined port %d\n", port);
|
||||
return;
|
||||
}
|
||||
|
|
@ -328,7 +328,7 @@ static void pmic_glink_altmode_sc8280xp_notify(struct pmic_glink_altmode *altmod
|
|||
hpd_state = FIELD_GET(SC8280XP_HPD_STATE_MASK, notify->payload[8]);
|
||||
hpd_irq = FIELD_GET(SC8280XP_HPD_IRQ_MASK, notify->payload[8]);
|
||||
|
||||
if (!altmode->ports[port].altmode) {
|
||||
if (port >= ARRAY_SIZE(altmode->ports) || !altmode->ports[port].altmode) {
|
||||
dev_dbg(altmode->dev, "notification on undefined port %d\n", port);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user