{"cve":"CVE-2026-46041","nvd":{"published":"2026-05-27T14:17:23.520","modified":"2026-06-17T10:52:57.027","status":"Analyzed","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ngreybus: gb-beagleplay: fix sleep in atomic context in hdlc_tx_frames()\n\nhdlc_append() calls usleep_range() to wait for circular buffer space,\nbut it is called with tx_producer_lock (a spinlock) held via\nhdlc_tx_frames() -> hdlc_append_tx_frame()/hdlc_append_tx_u8()/etc.\nSleeping while holding a spinlock is illegal and can trigger\n\"BUG: scheduling while atomic\".\n\nFix this by moving the buffer-space wait out of hdlc_append() and into\nhdlc_tx_frames(), before the spinlock is acquired.  The new flow:\n\n 1. Pre-calculate the worst-case encoded frame length.\n 2. Wait (with sleep) outside the lock until enough space is available,\n    kicking the TX consumer work to drain the buffer.\n 3. Acquire the spinlock, re-verify space, and write the entire frame\n    atomically.\n\nThis ensures that sleeping only happens without any lock held, and\nthat frames are either fully enqueued or not written at all.\n\nThis bug is found by CodeQL static analysis tool (interprocedural\nsleep-in-atomic query) and my code review.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","score":5.5},"cwes":[],"references":["https://git.kernel.org/stable/c/51667fe2d9294d66e0228b9f51d1f01b6680a641","https://git.kernel.org/stable/c/6b526dca0966f2370835765019a54319b78fca8d","https://git.kernel.org/stable/c/9f2b87bcdfed55145acbf932dc12f2c057145cad","https://git.kernel.org/stable/c/b2801647c203a38e013802e9e9616b5bfac64968"],"products":["linux:linux_kernel"],"source":"nvd","synced_at":"2026-10-19T22:36:28.938604137+00:00"},"epss":{"cve":"CVE-2026-46041","score":0.00135,"percentile":0.02972,"date":"2026-10-31"},"kev":null,"osv":[],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}