lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aWaD_4oNWzSQIrZ3@anonymous>
Date: Wed, 14 Jan 2026 02:08:22 +0800
From: kenkinming2002@...il.com
To: Benjamin Tissoires <bentiss@...nel.org>
Cc: jikos@...nel.org, linux-input@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] HID: i2c-hid: override HID descriptors for some Haptick
 5288 touchpads

On Tue, Jan 13, 2026 at 04:00:35PM +0100, Benjamin Tissoires wrote:
> On second thoughts, maybe we can have the HID descriptor dmi quirk in
> the kernel only. This way, the device should be presented to HID-BPF and
> the HID stack, and if there is something wrong in the descriptor, this
> shouldn't fail dramatically.

Unfortunately, this fail even more badly. The logs are consistent and
short enough that I will include one of them verbatim here but they are
also available on same github repository under logs
https://github.com/kenkinming2002/samsung-i2c-hid-bug-repro.

> [ 1976.296726] i2c_hid:i2c_hid_core_probe: i2c-hid-core.c: HID probe called for i2c 0x2c
> [ 1976.296960] i2c_hid:i2c_hid_fetch_hid_descriptor: i2c_hid_acpi i2c-SPPT2600:00: Using a HID descriptor override
> [ 1976.296965] i2c_hid:i2c_hid_fetch_hid_descriptor: i2c_hid_acpi i2c-SPPT2600:00: HID Descriptor: 1e 00 00 01 e2 01 21 00 24 00 1f 00 25 00 11 00 22 00 23 00 11 09 88 52 06 00 00 00 00 00
> [ 1976.296969] i2c_hid:i2c_hid_init_irq: i2c_hid_acpi i2c-SPPT2600:00: Requesting IRQ: 152
> [ 1976.297217] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: entering i2c_hid_parse
> [ 1976.297220] i2c_hid:i2c_hid_start_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_start_hwreset
> [ 1976.297222] i2c_hid:i2c_hid_set_power: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_set_power
> [ 1976.297224] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 08
> [ 1976.357910] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 01
> [ 1976.358600] i2c_hid:i2c_hid_finish_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_finish_hwreset: waiting...
> [ 1976.461915] i2c_hid:i2c_hid_finish_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_finish_hwreset: finished.
> [ 1976.461925] i2c_hid:i2c_hid_set_power: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_set_power
> [ 1976.461929] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 08
> [ 1976.523047] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: asking HID report descriptor
> [ 1976.523057] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=21 00
> [ 1976.523723] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: Report Descriptor:
> [ 1976.523954] hid-generic 0018:0911:5288.00FC: item fetching failed at offset 0/0
> [ 1976.523970] hid-generic 0018:0911:5288.00FC: probe with driver hid-generic failed with error -22

It seems that the touchpad really does not like us only retrieving the
hid descriptor and not the report descriptor and end up returning an
empty report descriptor. We know that this is the device returning an
empty report descriptor and not me botching up my hid-bpf driver by
looking at the third line from the bottom which comes from the i2c-hid
driver:

> [ 1976.523723] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: Report Descriptor:

This would imply that for an user who do not have hid-bpf report
descriptor fix, he would change from having a touchpad that works most
of the time to never which is a horrible regression to have.

Judging by the fact that I seem to be the only person affected that is
on this mailing list and my full disk encryption setup which kinda
triggered this issue might not be the most common, I am okay with
keeping this as a local patch for myself.

On a side note, I have written and compiled a hid-bpf driver but not yet
figure out how to it to load even after installing it with udev-hid-bpf.
There is probably something blatantly obvious I overlooked. That is
besides the point anyway since there is no point in a hid-bpf driver if
the above issue is not fixed. I also do not know how to fill the vid and
pid field for HID_DEVICE from HID_BPF_CONFIG but that seems to me to be
only for some introspection purposes that is not used in runtime.

Thanks.

Yours sincerely,
Ken Kwok

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ