Re: [regression 6.1.y] Regression from 476c1dfefab8 ("mm: Don't pin ZERO_PAGE in pin_user_pages()") with pci-passthrough for both KVM VMs and booting in xen DomU

From: Milan Broz
Date: Thu Apr 17 2025 - 01:14:45 EST


On 4/16/25 11:50 PM, Salvatore Bonaccorso wrote:
Hi Alex,

On Wed, Apr 16, 2025 at 02:26:45PM -0600, Alex Williamson wrote:
On Tue, 15 Apr 2025 20:59:19 +0200
Salvatore Bonaccorso <carnil@xxxxxxxxxx> wrote:

Hi

[Apologies if this has been reported already but I have not found an
already filled corresponding report]

After updating from the 6.1.129 based version to 6.1.133, various
users have reported that their VMs do not boot anymore up (both KVM
and under Xen) if pci-passthrough is involved. The reports are at:

https://bugs.debian.org/1102889
https://bugs.debian.org/1102914
https://bugs.debian.org/1103153

Milan Broz bisected the issues and found that the commit introducing
the problems can be tracked down to backport of c8070b787519 ("mm:
Don't pin ZERO_PAGE in pin_user_pages()") from 6.5-rc1 which got
backported as 476c1dfefab8 ("mm: Don't pin ZERO_PAGE in
pin_user_pages()") in 6.1.130. See https://bugs.debian.org/1102914#60

#regzbot introduced: 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774

476c1dfefab8b98ae9c3e3ad283c2ac10d30c774 is the first bad commit
commit 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774
Author: David Howells <dhowells@xxxxxxxxxx>
Date: Fri May 26 22:41:40 2023 +0100

mm: Don't pin ZERO_PAGE in pin_user_pages()

[ Upstream commit c8070b78751955e59b42457b974bea4a4fe00187 ]

It's a bad backport, I've debugged and posted the fix for stable here:

https://lore.kernel.org/all/20250416202441.3911142-1-alex.williamson@xxxxxxxxxx/

Thank you, that worked (replying here as well mainly to fix my mistake
in the CC to stable@xxxxxxxxxxxxxxx, which got truncated to
table@xxxxxxxxxxxxxxx in my initial submission).

I can also confirm the fix works, thanks for the quick response!

Tested-by: Milan Broz <gmazyland@xxxxxxxxx>

Milan