SRU template for the noble backport (debdiff attached to comment #9).
Verified locally as described there; I will verify again once a package
is in noble-proposed.

[ Impact ]

On noble, gnome-shell (user session and GDM greeter) leaks scanout
buffers while the displays are in power save whenever a monitor reports
hotplug events. mutter detaches the onscreens on every view rebuild, but
only frees detached onscreens after a modeset, which never happens while
in power save. Some monitors and KVM switches pulse hotplug every few
seconds while blanked, so memory (shmem / dma-buf) grows by several
framebuffers per pulse until the session or greeter is OOM-killed, the
global OOM killer takes other processes, or the panel fails to come
back.

[ Test Plan ]

1. Use the native backend (Wayland session or the GDM greeter) with a monitor 
that toggles hotplug while in DPMS off (reproducible by unplugging/replugging 
the cable, or with a KVM/monitor that pulses HPD in standby).
2. Let the screen blank by waiting for the idle timeout 
(org.gnome.desktop.session idle-delay; 300 s by default, also on the GDM 
greeter).
3. While blanked, trigger several hotplug events.
4. Watch the session's shmem, e.g. `grep shmem 
/sys/fs/cgroup/user.slice/user-$UID.slice/memory.stat`.

Expected with the fix: shmem stays flat across hotplugs while blanked,
and the displays come back normally on wake. Without the fix: shmem
grows by several scanout-sized buffers per hotplug.

[ Where problems could occur ]

The change affects when detached onscreens are released in the native
renderer, and power-save handling in the monitor manager. A mistake
could show up as a crash or a use-after-free during hotplug while in
power save (the reason upstream needed c145106d on top of af0c9808, so
all three commits must be taken together), or as a black screen or
missing output when leaving power save after a hotplug. Nothing changes
for the X11 backend or outside power save.

[ Other Info ]

Upstream: https://gitlab.gnome.org/GNOME/mutter/-/issues/4101, MR !5285
(main), !5325 (gnome-50), commits af0c9808, 83c465ff, c145106d, released
in mutter 50.5. The noble backport drops the new upstream test case
(native-kms-device power-save gamma test) and its META_EXPORT_TEST
markers, since 46.x lacks the test helpers. The exported ABI is
unchanged.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2167374

Title:
  gnome-shell leaks scanout dma-bufs while locked (fixed in mutter 50.5)

To manage notifications about this bug go to:
https://bugs.launchpad.net/mutter/+bug/2167374/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to