[lvc-project] [PATCH] net/9p: fix infinite loop in p9_client_rpc on fatal signal

Vasiliy Kovalev kovalev at altlinux.org
Sun Apr 19 11:43:11 MSK 2026


On 4/18/26 22:27, Fedor Pchelkin wrote:
> On Fri, 17. Apr 07:52, Dominique Martinet wrote:
>> So if I understand this right, with a sane server, the tag will be used
>> until umount or a reply (to either the flush or the original request)?
>>
>> That sounds sane enough (and definitely better then Shigeru's patch)
>>
>>> Since this safely resolves the permanent D-state hang during
>>> `coredump_wait()` without causing the UAF or leaks that plagued earlier
>>> kernels (pre-`728356dedeff` ("9p: Add refcount to p9_req_t")), do you
>>> think this pragmatic fix is acceptable for mainline and stable?
>>
>> I'll need to find time (or someone) to perform some heavy tests with
>> this -- basically my problem is that these hangs are easy to test with
>> syzcaller but these are not ever supposed to happen with a real
>> (correct) server, so while I agree not having stuck threads would be
>> helpful to improve test efficiency I don't see it as a "real" problem
>> (as in, 9p mount is a privileged operation, so normal users aren't
>> supposed to mess around with a pipe/fd mount like syzcaller does)
>>
>> Basically I'd want to "just" mess around with a real system on a 9p
>> mount and play with ^C/sigkills and see what happens, but I don't have
>> time for that short term, so this will likely be a few months
> 
> Василий, здравствуйте!  Спасибо за патч и анализ проблемы.
> 
> Будете пробовать самостоятельно разбираться с этим при работе с корректным
> 9p сервером?  Насколько понимаю, Dominique не против самого подхода, но
> видимо хочет получить док-ва воспроизведения ошибки без сизколлера.  И
> здесь возникает вопрос: это он просто хочет удостовериться в реальности
> ошибки или же предполагает, что при проблемном сценарии там совсем всё
> развалится и такой патч особо погоды не поменяет?

Здравствуйте!

Проверил с реальным сервером (virtio) - SIGKILL и SIGINT по активному 
writer-процессу, регрессий нет. Ошибка в этом сценарии не 
воспроизводится, патч не задействует. Что происходит при более 
экзотических сценариях - не знаю, но Dominique сам писал "sounds sane 
enough" после моего предыдущего анализа refcount. Ответил ему в рассылку.

> Есть конечно вариант подождать его, если он не забудет, но похоже это
> будет небыстро.
> 
> В целом, мы готовы принять патч как устранение зависания от Syzkaller.
> Однако если вам самим получится поэкспериментировать с валидным сервером,
> это будет только плюсом — пока подождём вашего ответа.

-- 
Thanks,
Vasiliy



More information about the lvc-project mailing list