| Title | LinuxのLinux Kernelにおける競合状態に関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、mm/damon/coreのdamos_walk()とkdamond_fn()の終了競合の修正が行われました。kdamond_fn()のメインループ終了時に未処理のdamos_walk()リクエストをキャンセルし、damon_ctx-kdamondを解除します。一方、damos_walk()はリクエストをキューに登録した後、damon_ctx-kdamondがまだ存在するか確認し、存在すれば処理を待機します。しかし、これらの操作は別々のロックで保護されているため競合が発生し、デッドロックの可能性がありました。具体的には、kdamondが終了処理中に新たなdamos_walk()リクエストが登録されると、そのリクエストが処理されずに待機状態となり無限待機を引き起こしました。この問題を解決するために、新たにdamon_ctx構造体にwalk_control_obsoleteフィールドを導入し、同じロックで保護しつつdamos_walk()のリクエスト登録を制御します。kdamond_fn()はリクエストキャンセル前にこのフラグを設定し、damos_walk()はこのフラグをチェックして新規リクエストの追加を防止します。これにより、競合状況が解消されて適切な終了処理が保証されるようになりました。この問題はsashikoによって発見されました。 |
| Possible impacts | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | May 27, 2026, midnight |
| Registration Date | June 17, 2026, 3:42 p.m. |
| Last Update | June 17, 2026, 3:42 p.m. |
| CVSS3.0 : 警告 | |
| Score | 4.7 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 6.14 以上 7.0.4 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月17日] 掲載 |
June 17, 2026, 3:42 p.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: mm/damon/core: fix damos_walk() vs kdamond_fn() exit race When kdamond_fn() main loop is finished, the function cancels remaining The damos_walk() requests registration and damon_ctx->kdamond unset are For example, let's suppose kdamond successfully finished the damow_walk() Fix this by introducing another damon_ctx field, namely After this change, only requests that are guaranteed to be handled or The issue is found by sashiko [1]. |
|---|---|
| Publication Date | May 27, 2026, 11:17 p.m. |
| Registration Date | May 28, 2026, 4:12 a.m. |
| Last Update | May 27, 2026, 11:48 p.m. |