PatchSiren

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

2026-05-27