製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、greybus: gb-beagleplayのhdlc_tx_frames()関数内でスピンロックを保持したままスリープする不適切な動作が発見されました。この問題は、hdlc_append()関数がバッファの空き容量を待つためにusleep_range()を呼び出し、結果として「BUG: scheduling while atomic」というスケジューリングエラーを引き起こす可能性があることに起因します。本脆弱性は、スリープ処理をスピンロック取得前に移動し、フレームの完全な書き込みを保証する形で修正されました。この修正により、ロックが保持された状態でのスリープを回避し、システムの安定性を向上させます。

Possible impacts ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 27, 2026, midnight
Registration Date June 17, 2026, 3:40 p.m.
Last Update June 17, 2026, 3:40 p.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
Linux
Linux Kernel 6.13 以上 6.18.27 未満
Linux Kernel 6.19 以上 7.0.4 未満
Linux Kernel 6.7 以上 6.12.86 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年06月17日]
  掲載
June 17, 2026, 3:40 p.m.

NVD Vulnerability Information
CVE-2026-46041
Summary

In the Linux kernel, the following vulnerability has been resolved:

greybus: gb-beagleplay: fix sleep in atomic context in hdlc_tx_frames()

hdlc_append() calls usleep_range() to wait for circular buffer space,
but it is called with tx_producer_lock (a spinlock) held via
hdlc_tx_frames() -> hdlc_append_tx_frame()/hdlc_append_tx_u8()/etc.
Sleeping while holding a spinlock is illegal and can trigger
"BUG: scheduling while atomic".

Fix this by moving the buffer-space wait out of hdlc_append() and into
hdlc_tx_frames(), before the spinlock is acquired. The new flow:

1. Pre-calculate the worst-case encoded frame length.
2. Wait (with sleep) outside the lock until enough space is available,
kicking the TX consumer work to drain the buffer.
3. Acquire the spinlock, re-verify space, and write the entire frame
atomically.

This ensures that sleeping only happens without any lock held, and
that frames are either fully enqueued or not written at all.

This bug is found by CodeQL static analysis tool (interprocedural
sleep-in-atomic query) and my code review.

Publication Date May 27, 2026, 11:17 p.m.
Registration Date May 28, 2026, 4:13 a.m.
Last Update May 27, 2026, 11:48 p.m.
Related information, measures and tools
Common Vulnerabilities List