Executive brief
A vulnerability was identified in the Linux kernel's BeaglePlay driver, which is used for communication on BeaglePlay hardware. The issue involves a technical error where the system attempts to pause or 'sleep' while holding a lock that requires immediate execution. In practice, this can lead to system instability, kernel panics, or a 'hang' where the device becomes unresponsive during data transmission.
Technical details
A 'sleep in atomic context' vulnerability exists in drivers/greybus/gb-beagleplay.c. The function hdlc_append() calls usleep_range() while the tx_producer_lock (a spinlock) is held. In Linux kernel development, sleeping while holding a spinlock is an invalid operation that triggers a 'scheduling while atomic' bug. This occurs during HDLC frame transmission when the circular buffer is full. An attacker or specific system conditions could trigger this code path, leading to a kernel panic or system hang. The fix involves pre-calculating the required buffer space and waiting outside of the spinlock-protected section.
Affected products
- Linux Linux Kernel BeaglePlay driver (gb-beagleplay)
Timeline
- 2026-03-30: other: Patch submitted by developer
- 2026-05-27: advisory: CVE-2026-46041 published by NVD