From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Yibo Tan <lhfff@tju.edu.cn>
Cc: Jiri Kosina <jikos@kernel.org>,
Jonathan Cameron <jic23@kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Benjamin Tissoires <bentiss@kernel.org>,
Zhang Lixu <lixu.zhang@intel.com>,
linux-input@vger.kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] HID: sensor-hub: Fail unfinished multi-value reads on removal
Date: Fri, 11 Sep 2026 12:42:37 +0300 [thread overview]
Message-ID: <aqPNDZgMS9K6NT7d@ashevche-desk.local> (raw)
In-Reply-To: <20260911092039.234253-1-lhfff@tju.edu.cn>
On Fri, Sep 11, 2026 at 05:20:39PM +0800, Yibo Tan wrote:
> sensor_hub_remove() completes pending reads after stopping the HID device,
> but does not record why they completed. A successful completion wait
> therefore returns zero even if no complete input report was received.
> Multi-value IIO callers then format their untouched automatic buffer as a
> successful result.
>
> With a valid four-element signed 32-bit quaternion report descriptor, an
> unprivileged reader received all 16 bytes of the untouched buffer. Across
> 11 independent KASLR-enabled boots, four reads exposed exact pointers to
> dev_rot_channels or dev_sysfs_ops. Subtracting the matching link-time
> symbol address recovered the kernel KASLR slide in all four cases.
>
> The reader ran as UID/GID 65534 with no effective capabilities through the
> mode-0644 IIO attribute. The test used a privileged UHID broker to create
> and remove the provider; it does not demonstrate unprivileged provider
> removal.
>
> Publish -ENODEV through pending.raw_size before completing an unfinished
> multi-value request, and propagate the error after a successful wait. A
> fully received response already has a positive raw_size and remains
> successful; max_raw_size is zero for the separate single-value path.
>
> The Root B-only repair returned -ENODEV with no payload or kernel
> diagnostic in 3/3 matching signed-32-bit runs.
>
> A source reproducer, complete vulnerable and fixed serial logs, result
> tables, and checksums are available at:
> https://github.com/kimaiden1984-boop/linux-kernel-poc-collections/tree/main/cases/hid-sensor-quaternion-root-b-kaslr
Make it a Link tag and add reference to the text.
> Fixes: f784fcea4506 ("HID: sensor-hub: Add sensor_hub_input_attr_read_values() for multi-byte reads")
> Cc: stable@vger.kernel.org
> Assisted-by: Codex:GPT-5
Assisted-by: LLM
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-09-11 9:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-11 9:20 [PATCH v1] HID: sensor-hub: Fail unfinished multi-value reads on removal Yibo Tan
2026-09-11 9:37 ` sashiko-bot
2026-09-11 9:42 ` Andy Shevchenko [this message]
2026-09-12 5:02 ` [PATCH v2] " Yibo Tan
2026-09-12 5:16 ` sashiko-bot
2026-09-13 3:54 ` [PATCH v2] HID: sensor-hub: Fail unfinished multi-value reads on remo Jonathan Cameron
2026-09-13 7:29 ` [PATCH v3] HID: sensor-hub: Fail unfinished multi-value reads on removal Yibo Tan
2026-09-13 7:45 ` sashiko-bot
2026-09-13 15:50 ` srinivas pandruvada
2026-09-13 17:21 ` Jonathan Cameron
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=aqPNDZgMS9K6NT7d@ashevche-desk.local \
--to=andriy.shevchenko@intel.com \
--cc=bentiss@kernel.org \
--cc=jic23@kernel.org \
--cc=jikos@kernel.org \
--cc=lhfff@tju.edu.cn \
--cc=linux-iio@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lixu.zhang@intel.com \
--cc=srinivas.pandruvada@linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox