<div dir="ltr"><div>Applied to kinetic linux master-next</div><div><br></div><div>Thanks,</div><div><br></div><div>- Luke<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 20, 2023 at 2:22 AM Matthew Ruffell <<a href="mailto:matthew.ruffell@canonical.com">matthew.ruffell@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">BugLink: <a href="https://bugs.launchpad.net/bugs/2007001" rel="noreferrer" target="_blank">https://bugs.launchpad.net/bugs/2007001</a><br>
<br>
[Impact]<br>
<br>
Numerous VMWare users have reported that vmwgfx cannot reserve the memory<br>
region for the graphics framebuffer, leading their VMs to have blank screens.<br>
<br>
They see the following in dmesg:<br>
<br>
[ 11.135360] vmwgfx 0000:00:0f.0: BAR 2: can't reserve [mem 0x70000000-0x77ffffff 64bit pref]<br>
[ 11.135366] vmwgfx: probe of 0000:00:0f.0 failed with error -16<br>
<br>
And a cat /proc/iomem shows this:<br>
<br>
50000000-7fffffff : PCI Bus 0000:00<br>
  70000000-77ffffff : 0000:00:0f.0<br>
    70000000-702fffff : BOOTFB<br>
<br>
The kernel has failed to release this memory region for vmwgfx to occupy.<br>
<br>
Most affected users are on aarch64, with the host being Apple silicon systems.<br>
<br>
[Fix]<br>
<br>
The regression was introduced by the below commit in 5.19.0-30-generic:<br>
<br>
commit 5e01376124309b4dbd30d413f43c0d9c2f60edea<br>
Author: Thomas Zimmermann <<a href="mailto:tzimmermann@suse.de" target="_blank">tzimmermann@suse.de</a>><br>
Date: Mon Jul 18 09:23:18 2022 +0200<br>
Subject: video/aperture: Disable and unregister sysfb devices via aperture helpers<br>
Link: <a href="https://github.com/torvalds/linux/commit/5e01376124309b4dbd30d413f43c0d9c2f60edea" rel="noreferrer" target="_blank">https://github.com/torvalds/linux/commit/5e01376124309b4dbd30d413f43c0d9c2f60edea</a><br>
<br>
This commit was part of a larger refactoring of the video subsystem, and<br>
requires the entire series to function correctly. You can review the whole<br>
series below:<br>
<br>
<a href="https://patchwork.freedesktop.org/series/106040/" rel="noreferrer" target="_blank">https://patchwork.freedesktop.org/series/106040/</a><br>
<br>
The patch series also requires quite a few additional fixups to fix bugs<br>
introduced by the series, making the size about 15 commits in total. The<br>
contents of the series don't really fix any bugs, and their purpose is to<br>
refactor the code for future changes to the fbdev subsystem, and really aren't<br>
appropriate to be backported to a stable kernel series.<br>
<br>
"video/aperture: Disable and unregister sysfb devices via aperture helpers"<br>
seems to have been selected for -stable by mistake by its fixes: tag, and was<br>
pulled into upstream stable by a robot with little human review.<br>
<br>
The best course of action is to revert. No action needed for Lunar, as the<br>
entire series is present in that release.<br>
<br>
[Testcase]<br>
<br>
This bug affects users running Ubuntu in VMWare VMs, notably on aarch64 devices,<br>
like modern Apple computers. <br>
<br>
Start a Kinetic or Jammy-HWE Server or Desktop VM in VMWare Fusion on Apple<br>
silicon, and see if the display comes up or not.<br>
<br>
Affected users will see a blank screen.<br>
<br>
There is a test kernel available in the following ppa:<br>
<br>
<a href="https://launchpad.net/~mruffell/+archive/ubuntu/lp2007001-test" rel="noreferrer" target="_blank">https://launchpad.net/~mruffell/+archive/ubuntu/lp2007001-test</a><br>
<br>
If you install the test kernel and reboot, you will be able to see the screen<br>
on your VM like normal.<br>
<br>
[Where problems could occur]<br>
<br>
This commit changes when the sysfb is disabled and memory region for the<br>
graphics framebuffer is released to the proper device driver.<br>
<br>
If a regression were to occur, then graphics drivers may fail to reserve the<br>
framebuffer memory, and fail to start, leaving users with a blank screen.<br>
<br>
There are no workarounds, other than booting a previous kernel.<br>
<br>
Matthew Ruffell (1):<br>
  UBUNTU: SAUCE: Revert "video/aperture: Disable and unregister sysfb<br>
    devices via aperture helpers"<br>
<br>
 drivers/gpu/drm/drm_aperture.c   | 14 --------------<br>
 drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++<br>
 2 files changed, 12 insertions(+), 14 deletions(-)<br>
<br>
-- <br>
2.39.2<br>
<br>
<br>
-- <br>
kernel-team mailing list<br>
<a href="mailto:kernel-team@lists.ubuntu.com" target="_blank">kernel-team@lists.ubuntu.com</a><br>
<a href="https://lists.ubuntu.com/mailman/listinfo/kernel-team" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/kernel-team</a><br>
</blockquote></div></div>