[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SA1PR21MB13352C415EE6A3E9D3072991BFDE9@SA1PR21MB1335.namprd21.prod.outlook.com>
Date: Fri, 10 Feb 2023 02:57:22 +0000
From: Dexuan Cui <decui@...rosoft.com>
To: Mohammed Gamal <mgamal@...hat.com>
CC: "linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] Drivers: vmbus: Check for channel allocation before
looking up relids
> From: Mohammed Gamal <mgamal@...hat.com>
> Sent: Thursday, February 9, 2023 1:48 AM
> ...
> > We saw this when triggering a crash with kdump enabled with
> > echo 'c' > /proc/sysrq-trigger
> >
> > When the new kernel boots, we see this stack trace:
Thanks for the details. Kdump is special in that the 'old' VMBus
channels might still be active (from the host's perspective),
when the new kernel starts to run.
Upon crash, Linux sends a CHANNELMSG_UNLOAD messge to the host,
and the host is supposed to quiesce/reset the VMBus devices, so
normally we should not see a crash in relid2channel().
> > [ 21.906679] Hardware name: Microsoft Corporation Virtual
> > Machine/Virtual Machine, BIOS 090007 05/18/2018
I guess you see the crash because you're running an old Hyper-V,
probably Windows Server 2016 or 2019, which may be unable to
reliably handle the guest's CHANNELMSG_UNLOAD messge.
Can you please mention kdump in the commit message?
BTW, regarding "before vmbus_connect() is called ", IMO it
should be "before vmbus_connect() is called or before it finishes".
Powered by blists - more mailing lists