From: srinivas pandruvada <srinivas.pandruvada@linux.intel.com>
To: "grayhat@foxmail.com" <grayhat@foxmail.com>,
gregkh <gregkh@linuxfoundation.org>,
Zhang Lixu <lixu.zhang@intel.com>
Cc: Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
linux-input <linux-input@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Re: [PATCH v2] HID: intel-ish-hid: clamp HID device count to MAX_HID_DEVICES
Date: Fri, 31 Jul 2026 07:34:36 -0700 [thread overview]
Message-ID: <f4c87fcd71ac8226edec3b2fcdb30988573089f0.camel@linux.intel.com> (raw)
In-Reply-To: <tencent_6754CC7275468D3928F24E966C0F6682CA09@qq.com>
On Fri, 2026-07-31 at 09:46 +0800, grayhat@foxmail.com wrote:
> Thanks, +Lixu noted.
>
> Corrected tag block:
>
> This patch was drafted with AI assistance.
>
> Fixes: 0b28cb4bcb17 ("HID: intel-ish-hid: ISH HID client driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Shen Yongchao <grayhat@foxmail.com>
> Assisted-by: Hermes:kimi-k3
>
> Let me know if you want it resent as a proper [PATCH v2].
>
Yes with new version. Add Tested by tag also from Lixu.
Also some suggestions:
- Avoid top posting like this, you can add this part just after your
existing tags.
- If the patch is long you can trim
- I think you use outlook to reply, there are some suggestions of email
clients and other suggestions.
https://docs.kernel.org/process/email-clients.html
Also some other links:
https://people.kernel.org/tglx/notes-about-netiquette
https://subspace.kernel.org/etiquette.html
Thanks,
Srinivas
> Thanks,
> Shen Yongchao
>
>
>
> > +Lixu
>
>
>
> >
>
>
>
> > On Thu, 2026-07-30 at 20:25 +0800, Shen Yongchao wrote:
>
>
>
> > > The HOSTIF_DM_ENUM_DEVICES response handler takes the HID device
>
>
>
> > > count from the first payload byte of the ISH firmware response
>
>
>
> > > (max 255) and stores it in hid_dev_count without any bounds
>
>
>
> > > check. This value propagates to num_hid_devices and is used to
>
>
>
> > > index five fixed-size arrays in struct ishtp_cl_data
>
>
>
> > > (MAX_HID_DEVICES = 32): report_descr[], report_descr_size[],
>
>
>
> > > hid_sensor_hubs[], hid_descr[], and hid_descr_size[].
>
>
>
> > >
>
>
>
> > > If the firmware reports more than 32 devices, hid_ishtp_cl_init()
>
>
>
> > > writes past all five arrays, corrupting subsequent struct fields
>
>
>
> > > (including work_struct members with embedded function pointers)
>
>
>
> > > and potentially adjacent heap objects.
>
>
>
> > >
>
>
>
> > > Clamp hid_dev_count to MAX_HID_DEVICES at the single point where
>
>
>
> > > it enters the driver (process_recv, ENUM_DEVICES branch), which
>
>
>
> > > covers both the probe and the reset paths.
>
>
>
> > >
>
>
>
> > > This is a data-validation hardening fix: the ISH firmware is
>
>
>
> > > within the platform trust boundary (loaded via CSME).
>
>
>
> > >
>
>
>
> > > This patch was drafted with AI assistance; the vulnerability
>
>
>
> > > analysis and source-level verification were done manually.
>
>
>
> > >
>
>
>
> > > Signed-off-by: Shen Yongchao <grayhat@foxmail.com>
>
>
>
> > > Fixes: 0b28cb4bcb17 ("HID: intel-ish-hid: ISH HID client driver")
>
>
>
> > > Cc: stable@vger.kernel.org
>
>
>
> >
>
>
>
> > Missing
>
>
>
> >
>
>
>
> > Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
>
>
>
> >
>
>
>
> >
>
>
>
> > Thanks,
>
>
>
> > Srinivas
>
>
>
> >
>
>
>
> > > ---
>
>
>
> > > drivers/hid/intel-ish-hid/ishtp-hid-client.c | 2 ++
>
>
>
> > > 1 file changed, 2 insertions(+)
>
>
>
> > >
>
>
>
> > > diff --git a/drivers/hid/intel-ish-hid/ishtp-hid-client.c
>
>
>
> > > b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
>
>
>
> > > index 6d64008..XXXXXXX 100644
>
>
>
> > > --- a/drivers/hid/intel-ish-hid/ishtp-hid-client.c
>
>
>
> > > +++ b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
>
>
>
> > > @@ -123,6 +123,8 @@ static void process_recv(struct ishtp_cl
>
>
>
> > > *hid_ishtp_cl, void *recv_buf,
>
>
>
> > > break;
>
>
>
> > > }
>
>
>
> > > client_data->hid_dev_count = (unsigned
>
>
>
> > > int)*payload;
>
>
>
> > > + if (client_data->hid_dev_count >
>
>
>
> > > MAX_HID_DEVICES)
>
>
>
> > > + client_data->hid_dev_count =
>
>
>
> > > MAX_HID_DEVICES;
>
>
>
> > > if (!client_data->hid_devices)
>
>
>
> > > client_data->hid_devices =
>
>
>
> > > devm_kcalloc(
>
>
>
> > > cl_data_to_dev(c
> > > lien
>
>
>
> > > t_data),
>
next prev parent reply other threads:[~2026-07-31 14:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260730120215.226176-1-grayhat@foxmail.com>
2026-07-30 12:24 ` [PATCH] HID: intel-ish-hid: clamp HID device count to MAX_HID_DEVICES Shen Yongchao
2026-07-30 12:25 ` [PATCH v2] " Shen Yongchao
2026-07-30 12:43 ` Greg Kroah-Hartman
2026-07-30 12:44 ` sashiko-bot
2026-07-30 18:11 ` srinivas pandruvada
2026-07-31 1:46 ` grayhat
2026-07-31 5:08 ` gregkh
2026-07-31 14:34 ` srinivas pandruvada [this message]
2026-07-31 6:46 ` Zhang, Lixu
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=f4c87fcd71ac8226edec3b2fcdb30988573089f0.camel@linux.intel.com \
--to=srinivas.pandruvada@linux.intel.com \
--cc=bentiss@kernel.org \
--cc=grayhat@foxmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lixu.zhang@intel.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.