From: Krister Johansen <kjlx@templeofstupid.com>
To: Matthew Ruffell <matthew.ruffell@canonical.com>,
Michael Kelley <mhklinux@outlook.com>
Cc: "DECUI@microsoft.com" <DECUI@microsoft.com>,
"bhelgaas@google.com" <bhelgaas@google.com>,
"haiyangz@microsoft.com" <haiyangz@microsoft.com>,
"jakeo@microsoft.com" <jakeo@microsoft.com>,
"kwilczynski@kernel.org" <kwilczynski@kernel.org>,
"kys@microsoft.com" <kys@microsoft.com>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"longli@microsoft.com" <longli@microsoft.com>,
"lpieralisi@kernel.org" <lpieralisi@kernel.org>,
"mani@kernel.org" <mani@kernel.org>,
"robh@kernel.org" <robh@kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>,
"wei.liu@kernel.org" <wei.liu@kernel.org>
Subject: Re: [PATCH] PCI: hv: Allocate MMIO from above 4GB for the config window
Date: Fri, 6 Feb 2026 17:42:52 -0800 [thread overview]
Message-ID: <aYaYnMYik3SC45bb@templeofstupid.com> (raw)
In-Reply-To: <SN6PR02MB41573CD2EA6CD82A0C238F66D494A@SN6PR02MB4157.namprd02.prod.outlook.com>
Hi Matthew and Michael,
On Fri, Jan 23, 2026 at 06:39:24AM +0000, Michael Kelley wrote:
> From: Matthew Ruffell <matthew.ruffell@canonical.com> Sent: Thursday, January 22, 2026 9:39 PM
> > > > There's a parameter to the kexec() command that governs whether it uses the
> > > > kexec_file_load() system call or the kexec_load() system call.
> > > > I wonder if that parameter makes a difference in the problem described for this
> > > > patch.
> >
> > Yes, it does indeed make a difference. I have been debugging this the past few
> > days, and my colleague Melissa noticed that the problem reproduces when secure
> > boot is disabled, but it does not reproduce when secure boot is enabled.
> > Additionally, it reproduces on jammy, but not noble. It turns out that
> > kexec-tools on jammy defaults to kexec_load() when secure boot is disabled,
> > and when enabled, it instead uses kexec_file_load(). On noble, it defaults to
> > first trying kexec_file_load() before falling back to kexec_load(), so the
> > issue does not reproduce.
>
> This is good info, and definitely a clue. So to be clear, the problem repros
> only when kexec_load() is used. With kexec_file_load(), it does not repro. Is that
> right? I saw a similar distinction when working on commit 304386373007,
> though in the opposite direction!
Just to muddy the waters here, I have a team on the Noble 6.8 kernel
train that's running into this issue on Standard_D#pds_v6 with secure
boot disabled. I've validated via strace(8) that kexec(8) is calling
kexec_file_load(2), but in this case the problem Dexuan describes in the
cover letter occurs but affects NIC attachment instead of the NVMe
storage device. (e.g. pci_hyperv attach of the NIC reports the
pass-through error instead of successfully attaching).
> > > > > /*
> > > > > * Set up a region of MMIO space to use for accessing configuration
> > > > > - * space.
> > > > > + * space. Use the high MMIO range to not conflict with the hyperv_drm
> > > > > + * driver (which normally gets MMIO from the low MMIO range) in the
> > > > > + * kdump kernel of a Gen2 VM, which fails to reserve the framebuffer
> > > > > + * MMIO range in vmbus_reserve_fb() due to screen_info.lfb_base being
> > > > > + * zero in the kdump kernel.
> > > > > */
> > > > > - ret = vmbus_allocate_mmio(&hbus->mem_config, hbus->hdev, 0, -1,
> > > > > + ret = vmbus_allocate_mmio(&hbus->mem_config, hbus->hdev, SZ_4G, -1,
> > > > > PCI_CONFIG_MMIO_LENGTH, 0x1000, false);
> > > > > if (ret)
> > > > > return ret;
> > > > > --
> >
> > Thank you for the patch Dexuan.
> >
> > This patch fixes the problem on Ubuntu 5.15, and 6.8 based kernels
> > booting V6 instance types on Azure with Gen 2 images.
>
> Are you seeing the problem on x86/64 or arm64 instances in Azure?
> "V6 instance types" could be either, I think, but I'm guessing you
> are on x86/64.
>
> And just to confirm: are you seeing the problem with the
> Hyper-V DRM driver, or the Hyper-V FB driver? This patch mentions
> the DRM driver, so I assume that's the problematic config.
It's been arm64 and not x86 for the case I've seen. They're currently
running with the hyperv_drm driver, but they've also tried swapping to
the fb driver without any change in results.
> > Tested-by: Matthew Ruffell <matthew.ruffell@canonical.com>
All of the above said, I also tested Dexuan's fix on these instances and
found that with the patch applied kdump did work again.
Tested-by: Krister Johansen <johansen@templeofstupid.com>
-K
prev parent reply other threads:[~2026-02-07 1:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-22 2:03 [PATCH] PCI: hv: Allocate MMIO from above 4GB for the config window Dexuan Cui
2026-01-22 7:10 ` Michael Kelley
2026-01-22 19:14 ` Long Li
2026-01-22 20:22 ` Michael Kelley
2026-01-23 5:39 ` Matthew Ruffell
2026-01-23 6:39 ` Michael Kelley
2026-01-23 18:28 ` Michael Kelley
2026-01-23 20:21 ` Dexuan Cui
2026-02-07 1:42 ` Krister Johansen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aYaYnMYik3SC45bb@templeofstupid.com \
--to=kjlx@templeofstupid.com \
--cc=DECUI@microsoft.com \
--cc=bhelgaas@google.com \
--cc=haiyangz@microsoft.com \
--cc=jakeo@microsoft.com \
--cc=kwilczynski@kernel.org \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=longli@microsoft.com \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=matthew.ruffell@canonical.com \
--cc=mhklinux@outlook.com \
--cc=robh@kernel.org \
--cc=stable@vger.kernel.org \
--cc=wei.liu@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox