Messages in this thread Patch in this message | | | From | Sriharsha Allenki <> | Subject | [PATCH] usb: typec: Prevent setting invalid opmode value | Date | Thu, 22 Oct 2020 15:12:14 +0530 |
| |
Setting opmode to invalid values would lead to a paging fault failure when there is an access to the power_operation_mode.
Prevent this by checking the validity of the value that the opmode is being set.
Cc: <stable@vger.kernel.org> Fixes: fab9288428ec ("usb: USB Type-C connector class") Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org> --- drivers/usb/typec/class.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c index 35eec70..63efe16 100644 --- a/drivers/usb/typec/class.c +++ b/drivers/usb/typec/class.c @@ -1427,7 +1427,8 @@ void typec_set_pwr_opmode(struct typec_port *port, { struct device *partner_dev; - if (port->pwr_opmode == opmode) + if ((port->pwr_opmode == opmode) || (opmode < TYPEC_PWR_MODE_USB) || + (opmode > TYPEC_PWR_MODE_PD)) return; port->pwr_opmode = opmode; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
| |