CVE-2026-46272 in Linux
要約
〜によって VulDB • 2026年06月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
coresight: tmc-etr: sysfsモードとperfモード間のRace Conditionを修正
perfモードとsysfsモードを同時に実行しようとすると、tmc_etr_enable_hw()内のWARN_ON()が時折トリガーされます:
WARNING: CPU: 42 PID: 3911571 at drivers/hwtracing/coresight/coresight-tmc-etr.c:1060 tmc_etr_enable_hw+0xc0/0xd8 [coresight_tmc]
[..snip..]
Call trace: tmc_etr_enable_hw+0xc0/0xd8 [coresight_tmc] (P)
tmc_enable_etr_sink+0x11c/0x250 [coresight_tmc] (L)
tmc_enable_etr_sink+0x11c/0x250 [coresight_tmc]
coresight_enable_path+0x1c8/0x218 [coresight]
coresight_enable_sysfs+0xa4/0x228 [coresight]
enable_source_store+0x58/0xa8 [coresight]
dev_attr_store+0x20/0x40 sysfs_kf_write+0x4c/0x68 kernfs_fop_write_iter+0x120/0x1b8 vfs_write+0x2c8/0x388 ksys_write+0x74/0x108 __arm64_sys_write+0x24/0x38 el0_svc_common.constprop.0+0x64/0x148 do_el0_svc+0x24/0x38 el0_svc+0x3c/0x130 el0t_64_sync_handler+0xc8/0xd0 el0t_64_sync+0x1ac/0x1b0 ---[ end trace 0000000000000000 ]---
sysfsモードの有効化は、sysfsバッファの割り当て用とハードウェアの有効化用の2つのクリティカルな領域に分割されているため、perfモードとRace Conditionが発生する可能性があります。これを修正するために、sysfsモードでハードウェアを有効化する前に、perfモードが使用されているかどうかを再確認します。
mode: [sysfs mode] [perf mode]
tmc_etr_get_sysfs_buffer() spin_lock(&drvdata->spinlock) [sysfs buffer allocation]
spin_unlock(&drvdata->spinlock) spin_lock(&drvdata->spinlock) tmc_etr_enable_hw() drvdata->etr_buf = etr_perf->etr_buf spin_unlock(&drvdata->spinlock) spin_lock(&drvdata->spinlock) tmc_etr_enable_hw() WARN_ON(drvdata->etr_buf) // WARN sicne etr_buf initialized at the perf side spin_unlock(&drvdata->spinlock)
この修正により、get_etr_sysfs_buf内でCS_MODE_PERFのチェックを保持します。これにより、実際にバッファを割り当てる前に、perfモードが既に実行されているかどうかを確認できます。これにより、perfモードとのRace Conditionが発生した場合に、sysfsバッファの割り当て/解放にかかる時間を節約できます。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.