PatchSiren cyber security CVE debrief
CVE-2026-46041 Linux CVE debrief
A sleep-in-atomic-context vulnerability in the Linux kernel's Greybus BeaglePlay driver could cause system instability. The hdlc_append() function called usleep_range() while holding tx_producer_lock, a spinlock, which violates kernel locking rules and can trigger 'BUG: scheduling while atomic' errors. The fix restructures the code to wait for buffer space before acquiring the spinlock, ensuring all sleep operations occur without locks held. This vulnerability was identified through CodeQL static analysis and manual code review.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- Unknown
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-27
- Original CVE updated
- 2026-05-27
- Advisory published
- 2026-05-27
- Advisory updated
- 2026-05-27
Who should care
System administrators running Linux kernels with Greybus BeaglePlay support enabled, embedded systems developers using BeaglePlay hardware, and organizations with IoT or embedded Linux deployments utilizing Greybus protocols.
Technical summary
The vulnerability resides in drivers/greybus/gb-beagleplay.c in the Linux kernel's Greybus BeaglePlay driver. The hdlc_append() function, called from hdlc_tx_frames() with tx_producer_lock held, invoked usleep_range() to wait for circular buffer space. Since usleep_range() can sleep and spinlocks must be held without sleeping, this created a sleep-in-atomic-context condition. The fix pre-calculates required buffer space, waits outside the lock, then acquires the spinlock and writes the frame atomically. This ensures proper locking discipline and prevents kernel scheduling violations.
Defensive priority
medium
Recommended defensive actions
- Apply kernel patches from the stable kernel Git repositories to affected systems
- Update to a patched kernel version that includes the fix for CVE-2026-46041
- Monitor kernel logs for 'BUG: scheduling while atomic' errors as an indicator of potential exploitation attempts
- Review systems using Greybus BeaglePlay hardware for exposure to this vulnerability
Evidence notes
The vulnerability exists in the greybus: gb-beagleplay driver within the Linux kernel. The issue was detected by CodeQL's interprocedural sleep-in-atomic query and confirmed through code review. The fix involves moving the buffer-space wait operation outside of the spinlock-protected critical section in hdlc_tx_frames().
Official resources
-
CVE-2026-46041 CVE record
CVE.org
-
CVE-2026-46041 NVD detail
NVD
-
Source item URL
nvd_modified
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
416baaa9-dc9f-4396-8d5f-8c081fb06d67
2026-05-27