usb: xhci-mtk: check boundary before check tt

check_sch_tt() will access fs_bus_bw[] array, check boundary
firstly to avoid out-of-bounds issue.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1629189389-18779-7-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Chunfeng Yun 2021-08-17 16:36:27 +08:00 committed by Greg Kroah-Hartman
parent 451d391258
commit 614c8c67a0

View File

@ -600,13 +600,14 @@ static int check_sch_bw(struct mu3h_sch_bw_info *sch_bw,
* and find a microframe where its worst bandwidth is minimum.
*/
for (offset = 0; offset < sch_ep->esit; offset++) {
ret = check_sch_tt(sch_ep, offset);
if (ret)
continue;
if ((offset + sch_ep->num_budget_microframes) > esit_boundary)
break;
ret = check_sch_tt(sch_ep, offset);
if (ret)
continue;
worst_bw = get_max_bw(sch_bw, sch_ep, offset);
if (worst_bw > bw_boundary)
continue;