From: a0282524688@gmail.com
To: lee@kernel.org, Ming Yu <tmyu0@nuvoton.com>
Cc: linux-kernel@vger.kernel.org, Ming Yu <a0282524688@gmail.com>,
mfd@lists.linux.dev
Subject: [PATCH v7 07/10] mfd: nct6694: Validate the interrupt IN endpoint
Date: Fri, 21 Aug 2026 11:35:02 +0800 [thread overview]
Message-ID: <20260821033505.4017901-8-a0282524688@gmail.com> (raw)
In-Reply-To: <20260821033505.4017901-1-a0282524688@gmail.com>
From: Ming Yu <a0282524688@gmail.com>
The probe reads endpoint[0] of the current altsetting without checking
that the interface actually describes any endpoint. A device reporting
zero endpoints makes the driver read past the endpoint array.
Locate the interrupt IN endpoint with usb_find_int_in_endpoint(), which
validates the descriptor before it is used.
Fixes: 51dad33ede63 ("mfd: Add core driver for Nuvoton NCT6694")
Signed-off-by: Ming Yu <a0282524688@gmail.com>
---
Changes in v7:
- New patch. Fixes the out-of-bounds endpoint access reported on v6
patch 6/7.
drivers/mfd/nct6694-usb.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/mfd/nct6694-usb.c b/drivers/mfd/nct6694-usb.c
index 793ce54c02aa..c8667984df5e 100644
--- a/drivers/mfd/nct6694-usb.c
+++ b/drivers/mfd/nct6694-usb.c
@@ -266,7 +266,6 @@ static int nct6694_usb_probe(struct usb_interface *iface,
{
struct usb_device *udev = interface_to_usbdev(iface);
struct usb_endpoint_descriptor *int_endpoint;
- struct usb_host_interface *interface;
struct device *dev = &iface->dev;
struct nct6694_usb_data *udata;
struct nct6694 *nct6694;
@@ -305,13 +304,9 @@ static int nct6694_usb_probe(struct usb_interface *iface,
if (ret)
goto err_urb;
- interface = iface->cur_altsetting;
-
- int_endpoint = &interface->endpoint[0].desc;
- if (!usb_endpoint_is_int_in(int_endpoint)) {
- ret = -ENODEV;
+ ret = usb_find_int_in_endpoint(iface->cur_altsetting, &int_endpoint);
+ if (ret)
goto err_urb;
- }
usb_fill_int_urb(udata->int_in_urb, udev, usb_rcvintpipe(udev, NCT6694_INT_IN_EP),
udata->int_buffer, sizeof(*udata->int_buffer), nct6694_usb_int_callback,
--
2.34.1
next prev parent reply other threads:[~2026-08-21 3:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 3:34 [PATCH v7 00/10] mfd: nct6694: Refactor transport layer and add HIF (eSPI) support a0282524688
2026-08-21 3:34 ` [PATCH v7 01/10] mfd: nct6694: Move module type macros to shared header a0282524688
2026-08-21 3:45 ` sashiko-bot
2026-08-21 3:34 ` [PATCH v7 02/10] mfd: nct6694: Refactor USB-specific data into nct6694_usb_data a0282524688
2026-08-21 3:34 ` [PATCH v7 03/10] mfd: nct6694: Rename USB transport functions with _usb_ prefix a0282524688
2026-08-21 3:34 ` [PATCH v7 04/10] mfd: nct6694: Rename driver to nct6694-usb and update Kconfig a0282524688
2026-08-21 3:35 ` [PATCH v7 05/10] mfd: nct6694: Extract core device management into a separate module a0282524688
2026-08-21 3:35 ` [PATCH v7 06/10] mfd: nct6694: Transfer command payloads via a dedicated DMA buffer a0282524688
2026-08-21 3:35 ` a0282524688 [this message]
2026-08-21 3:35 ` [PATCH v7 08/10] mfd: nct6694: Submit the interrupt URB after the core is registered a0282524688
2026-08-21 3:35 ` [PATCH v7 09/10] mfd: nct6694: Introduce regmap-based transport abstraction a0282524688
2026-08-21 3:35 ` [PATCH v7 10/10] mfd: nct6694: Add Host Interface (HIF) eSPI transport driver a0282524688
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=20260821033505.4017901-8-a0282524688@gmail.com \
--to=a0282524688@gmail.com \
--cc=lee@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mfd@lists.linux.dev \
--cc=tmyu0@nuvoton.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.