From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: Fang Xieyan <fangxy@xiaopeng.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>,
"zhugl3@xiaopeng.com" <zhugl3@xiaopeng.com>
Subject: Re: [PATCH v2] usb: dwc2: gadget: fix off-by-one in ep_from_windex bounds check
Date: Thu, 12 Nov 2026 01:50:15 +0000 [thread overview]
Message-ID: <avUbJaex3ma9B6Gr@vbox> (raw)
In-Reply-To: <20261105034946.20566-1-fangxy@xiaopeng.com>
On Thu, Nov 05, 2026, Fang Xieyan wrote:
> ep_from_windex() checks whether idx is greater than
> hsotg->num_of_eps. However, num_of_eps includes EP0, so valid
> endpoint indices are in the range [0, num_of_eps - 1].
>
> When idx equals num_of_eps, index_to_ep() accesses the endpoint
> array beyond the configured range. This results in an out-of-bounds
> access when num_of_eps equals MAX_EPS_CHANNELS. Otherwise, the
> zero-initialized array entry is NULL and the request is rejected.
>
> Reject indices greater than or equal to num_of_eps.
>
> Fixes: c6f5c050e2a7 ("usb: dwc2: gadget: add bi-directional endpoint support")
> Cc: stable@vger.kernel.org
> Reviewed-by: Guanglei Zhu <zhugl3@xiaopeng.com>
> Signed-off-by: Fang Xieyan <fangxy@xiaopeng.com>
> ---
> Changes in v2:
> - Fixes corrected to c6f5c050e2a7 per Thinh's review
> - Narrow commit message: OOB only when num_of_eps == MAX_EPS_CHANNELS
> - Add Cc: stable@vger.kernel.org
>
> Link: https://urldefense.com/v3/__https://lore.kernel.org/linux-usb/20261026031138.35911-1-fangxy@xiaopeng.com/__;!!A4F2R9G_pg!ZovDIgRJmn8Uy10yvLnZUW3A_KjatMCOBhg2QDQcr5pST9_mRVkSaolpA8I98TBkeWY6pWToRAdzHC3jXKdD0Q$
>
> drivers/usb/dwc2/gadget.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
> index 0637bfbc0..b2a25cd5c 100644
> --- a/drivers/usb/dwc2/gadget.c
> +++ b/drivers/usb/dwc2/gadget.c
> @@ -1582,7 +1582,7 @@ static struct dwc2_hsotg_ep *ep_from_windex(struct dwc2_hsotg *hsotg,
> if (windex >= 0x100)
> return NULL;
>
> - if (idx > hsotg->num_of_eps)
> + if (idx >= hsotg->num_of_eps)
> return NULL;
>
> return index_to_ep(hsotg, idx, dir);
> --
> 2.50.1
>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Thanks,
Thinh
prev parent reply other threads:[~2026-11-12 1:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 3:49 [PATCH v2] usb: dwc2: gadget: fix off-by-one in ep_from_windex bounds check Fang Xieyan
2026-11-05 3:53 ` sashiko-bot
2026-11-12 1:50 ` Thinh Nguyen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=avUbJaex3ma9B6Gr@vbox \
--to=thinh.nguyen@synopsys.com \
--cc=fangxy@xiaopeng.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=zhugl3@xiaopeng.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.