[lvc-project] KMSAN vs. kmemleak
Fedor Pchelkin
pchelkin at ispras.ru
Fri Nov 29 13:13:21 MSK 2024
Добрый день, Дмитрий!
On Fri, 29. Nov 07:21, Antipov, Dmitriy wrote:
> Уважаемые коллеги,
>
> никто не пытался использовать kmemleak на ядре с включенным CONFIG_KMSAN?
> Когда один отладочный механизм ругается на другой, становится очень грустно:
>
> # echo scan > /sys/kernel/debug/kmemleak
>
> ==>
>
> [ 36.257737][ T1895] BUG: KMSAN: uninit-value in scan_block+0x1e1/0x250
> [ 36.258046][ T1895] scan_block+0x1e1/0x250
> [ 36.258257][ T1895] kmemleak_scan+0x87b/0x2630
> [ 36.258485][ T1895] kmemleak_write+0xba0/0xd30
> [ 36.258756][ T1895] full_proxy_write+0x15a/0x370
> [ 36.258998][ T1895] vfs_write+0x462/0x14b0
> [ 36.259213][ T1895] ksys_write+0x1e4/0x490
> [ 36.259429][ T1895] __x64_sys_write+0x97/0xf0
> [ 36.259658][ T1895] x64_sys_call+0x3080/0x3d90
> [ 36.259891][ T1895] do_syscall_64+0xd9/0x1b0
> [ 36.260112][ T1895] entry_SYSCALL_64_after_hwframe+0x77/0x7f
> [ 36.260398][ T1895]
> [ 36.260515][ T1895] Uninit was stored to memory at:
> [ 36.260766][ T1895] scan_block+0x1da/0x250
> [ 36.260978][ T1895] kmemleak_scan+0x87b/0x2630
> [ 36.261205][ T1895] kmemleak_write+0xba0/0xd30
> [ 36.261433][ T1895] full_proxy_write+0x15a/0x370
> [ 36.261674][ T1895] vfs_write+0x462/0x14b0
> [ 36.261896][ T1895] ksys_write+0x1e4/0x490
> [ 36.262120][ T1895] __x64_sys_write+0x97/0xf0
> [ 36.262359][ T1895] x64_sys_call+0x3080/0x3d90
> [ 36.262633][ T1895] do_syscall_64+0xd9/0x1b0
> [ 36.262880][ T1895] entry_SYSCALL_64_after_hwframe+0x77/0x7f
>
> (Наблюдается на upstream по состоянию на 7af08b57bcb9ebf78675c50069c54125c0a8b795).
Полагаю, Kmemleak и KMSAN никогда особо не были совместимы. Или наблюдаемое
поведение встретилось только на определённом состоянии репозитория, а
раньше не возникало?
Должно быть, разработчиков этих отладочных инструментов не интересует
возможность их совмещения - в тех же доступных тестовых конфигурациях ядра
с Syzbot одновременно они нигде не используются. Запросов от сообщества
тоже не было опубликовано, видимо никому не требуется их использовать
одновременно.
KASAN судя по истории коммитов подружили с Kmemleak, но для KMSAN подобной
работы проделано не было..
Разработчики наверно могут дать более исчерпывающий ответ.
- Catalin Marinas <catalin.marinas at arm.com> (maintainer:KMEMLEAK)
- Alexander Potapenko <glider at google.com> (maintainer:KMSAN)
- Marco Elver <elver at google.com> (reviewer:KMSAN)
- Dmitry Vyukov <dvyukov at google.com> (reviewer:KMSAN)
- kasan-dev at googlegroups.com (open list:KMSAN)
- linux-mm at kvack.org (open list:MEMORY MANAGEMENT)
More information about the lvc-project
mailing list