mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
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:
parent
451d391258
commit
614c8c67a0
1 changed files with 4 additions and 3 deletions
|
@ -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.
|
* and find a microframe where its worst bandwidth is minimum.
|
||||||
*/
|
*/
|
||||||
for (offset = 0; offset < sch_ep->esit; offset++) {
|
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)
|
if ((offset + sch_ep->num_budget_microframes) > esit_boundary)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
ret = check_sch_tt(sch_ep, offset);
|
||||||
|
if (ret)
|
||||||
|
continue;
|
||||||
|
|
||||||
worst_bw = get_max_bw(sch_bw, sch_ep, offset);
|
worst_bw = get_max_bw(sch_bw, sch_ep, offset);
|
||||||
if (worst_bw > bw_boundary)
|
if (worst_bw > bw_boundary)
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in a new issue