<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div id="compose-body-wrapper" dir="auto">
<div>По срабатыванию:</div>
<div><br>
</div>
<div>https://lvc-svacer.ispras.ru/r/d3f22ahr8jq9ghitd0m0</div>
<div><br>
</div>
<div>В результате исследования удалось доказать, что переменная acpi_disabled</div>
<div>может иметь значение 0, но воспроизвести баг не удалось.</div>
<div><br>
</div>
<div>После создания и отправки патча в сообщество был получен ответ:</div>
<div><br>
</div>
<div> I understand the case we are trying to make here, but I tried </div>
<div> reproducing this at my end, where we are probing VMBus using Devicetree,
</div>
<div> and CONFIG_ACPI is enabled and there is no "acpi=off" in kernel cmdline.</div>
<div> But still, when the control reaches this particular function - </div>
<div> vmbus_platform_driver_probe(), acpi_disabled still shows up as 1 for me.</div>
<div> Can you please share your configuration how you are able to reproduce </div>
<div> this issue.</div>
<div><br>
</div>
<div>Мейнтейнер также не смог воспроизвести падение.</div>
<div><br>
</div>
<div>Кроме того, согласно документации:</div>
<div><br>
</div>
<div> There can be two kernel build combinations. One build where</div>
<div> ACPI is not selected in Kconfig and another one with the ACPI Kconfig.</div>
<div><br>
</div>
<div> In the first case, vfio_platform_acpi_probe will return since</div>
<div> acpi_disabled is 1. DT user will not see any kind of messages from</div>
<div> ACPI.</div>
<div><br>
</div>
<div> In the second case, both DT and ACPI is compiled in but the system is</div>
<div> booting with any of these combinations.</div>
<div><br>
</div>
<div> If the firmware is DT type, then acpi_disabled is 1. The ACPI probe routine</div>
<div> terminates immediately without any messages.</div>
<div><br>
</div>
<div>Документация относится не к нашему драйверу, но переменная acpi_disabled глобальная.</div>
<div><br>
</div>
<div>Исходя из этого считаем необходимым перевести задачу в статус confirmed minor</div>
<div dir="auto"><br>
</div>
<div dir="auto" id="tmjah_g_1299"></div>
<br>
</div>
<div class="replyHeader" dir="auto">На 10 марта 2026 г., в 11:54, Fedor Pchelkin <<a href="mailto:pchelkin@ispras.ru">pchelkin@ispras.ru</a>> написал:<br>
</div>
<br>
<br>
<div>
<blockquote cite="mid:20260310115345-d5ef7790bc1496508f6e1002-pchelkin@ispras" type="cite" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>ВНИМАНИЕ: Письмо отправлено внешним отправителем. </div>
<div> Не переходите по ссылкам и не открывайте вложения, если не уверены в их безопасности!
</div>
<div><br>
</div>
<div><br>
</div>
<div>On Tue, 10. Mar 08:42, Ваторопин Андрей wrote:</div>
<blockquote class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>From: Andrey Vatoropin <a.vatoropin@crpt.ru></div>
<div><br>
</div>
<div>The current driver supports detection via both the ACPI interface and the</div>
<div>Device Tree interface (OF).</div>
<div><br>
</div>
<div>In the function vmbus_platform_driver_probe() upon driver detection via OF,</div>
<div>the branch vmbus_device_add() should be executed.</div>
<div><br>
</div>
<div>However, the variable "acpi_disabled" is a global variable that, in general</div>
<div>equals 0 when CONFIG_ACPI is enabled. Therefore, it may enter another</div>
<div>branch with vmbus_acpi_add().</div>
<div><br>
</div>
<div>Therefore, in the function vmbus_acpi_add(), when the device is not ACPI,</div>
<div>the ACPI_COMPANION macro may return a NULL value, and this pointer is then</div>
<div>dereferenced.</div>
<div><br>
</div>
<div>Add a NULL pointer check for the "device" pointer before dereferencing it.</div>
<div><br>
</div>
<div>Found by Linux Verification Center (linuxtesting.org) with SVACE.</div>
<div><br>
</div>
<div>Fixes: f83705a51275 ("Driver: VMBus: Add Devicetree support")</div>
<div>Cc: stable@vger.kernel.org</div>
<div>Signed-off-by: Andrey Vatoropin <a.vatoropin@crpt.ru></div>
<div>---</div>
</blockquote>
<div><br>
</div>
<div>Для ветки 6.12 понадобится выслать адаптированную версию патча только в</div>
<div>lvc-patches.</div>
<div><br>
</div>
<blockquote class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> drivers/hv/vmbus_drv.c | 3 +++</div>
<div> 1 file changed, 3 insertions(+)</div>
<div><br>
</div>
<div>diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c</div>
<div>index bc4fc1951ae1..c9ee3375b524 100644</div>
<div>--- a/drivers/hv/vmbus_drv.c</div>
<div>+++ b/drivers/hv/vmbus_drv.c</div>
<div>@@ -2571,6 +2571,9 @@ static int vmbus_acpi_add(struct platform_device *pdev)</div>
<div> struct acpi_device *ancestor;</div>
<div> struct acpi_device *device = ACPI_COMPANION(&pdev->dev);</div>
<div> </div>
<div>+ if (!device)</div>
<div>+ return -ENODEV;</div>
<div>+</div>
<div> vmbus_root_device = &device->dev;</div>
<div> </div>
<div> /*</div>
<div>-- </div>
<div>2.43.0</div>
</blockquote>
</blockquote>
</div>
</body>
</html>