Bug 215089 - local struct uinput_event inconsistency with kernel y2038 safe struct input_event: AVRCP events vanish on 32-bit
Summary: local struct uinput_event inconsistency with kernel y2038 safe struct input_e...
Status: RESOLVED IMPLEMENTED
Alias: None
Product: Drivers
Classification: Unclassified
Component: Bluetooth (show other bugs)
Hardware: All Linux
: P1 high
Assignee: linux-bluetooth@vger.kernel.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-21 15:55 UTC by macmpi
Modified: 2021-11-24 06:42 UTC (History)
0 users

See Also:
Kernel Version: 5.10
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description macmpi 2021-11-21 15:55:04 UTC
Under bluez (up to 5.62) compiled with time64 support (like musl1.2 or possibly newer glibc with __USE_TIME_BITS64) on 32-bit systems (x86 or armhf for instance), AVRCP events just never show-up on input device.

Tools like evtest will not report any event upon bluetooth headset media button keypress, whereas btmon sees them flowing through.

This bug does not hit x86-64 releases, only 32-bit are affected.

Issue has been discussed here [1], with a simple & replicable Alpinelinux 3.14 test case (based on musl 1.2).
Legacy local uinput_event struct might not play well with newer time64-aware input_event kernel structure.



[1] https://github.com/bluez/bluez/issues/84#issuecomment-942155841

Note You need to log in before you can comment on or make changes to this bug.