amdgpu: framebuffer is destroyed and the screen freezes with unsupported IP blocks

Bug #2003524 reported by Kleber Sacilotto de Souza
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Jammy
Invalid
Undecided
Unassigned
Kinetic
Fix Released
High
Unassigned
Lunar
Fix Released
Medium
Unassigned
linux-oem-6.1 (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Released
Undecided
Unassigned
Kinetic
Invalid
Undecided
Unassigned
Lunar
Invalid
Undecided
Unassigned

Bug Description

[Impact]
From "Mario Limonciello mario.limonciello at amd.com"
https://lists.ubuntu.com/archives/kernel-team/2023-January/136434.html.

There is a problem in amdgpu that if not all of IP blocks are supported or not all of the firmware is present then the framebuffer is destroyed and the screen freezes. In more recent kernels the amdgpu driver loads for all PCI VGA class AMD devices.

This effectively means that unless you have all the pieces you need to support a GPU then the installer freezes unless you do nomodeset.

This problem is to be fully fixed in kernel 6.3 with a ~47 patch series that is currently in drm-next. This does two basic things:
1) If the IP blocks isn't supported, don't destroy the framebuffer.
2) If firmware for any IP blocks aren't present, don't destroy the framebuffer.

The whole patch series still needs more time to back in drm-next, but the most important part of the series is the first patch which accomplishes "1".

This patch went out to stable 6.1.y as well:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/gpu/drm/amd?h=linux-6.1.y&id=dcfeba477b3e3df526e0f543b58fa71c045dff8b

My reasoning is that it will ensure that if someone picks up a newer GPU such as Ryzen 7000 desktop or RDNA3 based they can at least install Ubuntu without needing to use "Safe Graphics Mode" at the installer.

Sure; they won't have hardware acceleration without the rest of the kernel and framework, but that's a separate problem to a basic display.

[Fix]
Cherry-pick/backport commit 1923bc5a56daeeabd7e9093bad2febcd6af2416a "drm/amd: Delay removal of the firmware framebuffer" to Ubuntu Kinetic 5.19 kernel.

[Test case]
Boot kernel in a system with one of the amdgpu affected adapters.

[Where problems can occur]
The aforementioned commit could introduce other regressions on the support for AMD GPUs.

CVE References

Changed in linux (Ubuntu Kinetic):
status: New → In Progress
Changed in linux (Ubuntu Lunar):
status: New → In Progress
Stefan Bader (smb)
Changed in linux (Ubuntu Kinetic):
importance: Undecided → High
Stefan Bader (smb)
Changed in linux (Ubuntu Lunar):
importance: Undecided → Medium
status: In Progress → Fix Committed
Changed in linux (Ubuntu Kinetic):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux/5.19.0-31.32 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux verification-needed-kinetic
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (32.9 KiB)

This bug was fixed in the package linux - 5.19.0-31.32

---------------
linux (5.19.0-31.32) kinetic; urgency=medium

  * kinetic/linux: 5.19.0-31.32 -proposed tracker (LP: #2003423)

  * amdgpu: framebuffer is destroyed and the screen freezes with unsupported IP
    blocks (LP: #2003524)
    - drm/amd: Delay removal of the firmware framebuffer

  * Revoke & rotate to new signing key (LP: #2002812)
    - [Packaging] Revoke and rotate to new signing key

linux (5.19.0-30.31) kinetic; urgency=medium

  * kinetic/linux: 5.19.0-30.31 -proposed tracker (LP: #2001756)

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts
    - debian/dkms-versions -- update from kernel-versions (main/2023.01.02)

  * Add some ACPI device IDs for Intel HID device (LP: #1995453)
    - platform/x86/intel/hid: Add some ACPI device IDs

  * Fix iosm: WWAN cannot build the connection (DW5823e) (LP: #1998115)
    - net: wwan: iosm: fix driver not working with INTEL_IOMMU disabled
    - [Config] CONFIG_IOSM update annotations on arm64 armhf ppc64el s390x riscv64

  * BPF_[AND|OR|XOR|FETCH|XCHG|CMPXCHG] in net:test_bpf.sh from
    ubuntu_kernel_selftests failed on K-5.19 P9 (LP: #2001618)
    - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations
    - powerpc/bpf/64: add support for atomic fetch operations
    - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg

  * [DEP-8] Run ADT regression suite for lowlatency kernels Jammy and later
    (LP: #1999528)
    - [DEP-8] Fix regression suite to run on lowlatency

  * Kinetic update: upstream stable patchset 2022-12-15 (LP: #1999828)
    - serial: ar933x: Deassert Transmit Enable on ->rs485_config()
    - KVM: x86: Trace re-injected exceptions
    - RDMA/cma: Use output interface for net_dev check
    - IB/hfi1: Correctly move list in sc_disable()
    - RDMA/hns: Disable local invalidate operation
    - NFSv4: Fix a potential state reclaim deadlock
    - NFSv4.1: Handle RECLAIM_COMPLETE trunking errors
    - NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot
    - SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed
    - NFSv4.2: Fixup CLONE dest file size for zero-length count
    - nfs4: Fix kmemleak when allocate slot failed
    - net: dsa: Fix possible memory leaks in dsa_loop_init()
    - RDMA/core: Fix null-ptr-deref in ib_core_cleanup()
    - RDMA/qedr: clean up work queue on failure in qedr_alloc_resources()
    - net: dsa: fall back to default tagger if we can't load the one from DT
    - nfc: fdp: Fix potential memory leak in fdp_nci_send()
    - nfc: nxp-nci: Fix potential memory leak in nxp_nci_send()
    - nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send()
    - nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send()
    - net: fec: fix improper use of NETDEV_TX_BUSY
    - ata: pata_legacy: fix pdc20230_set_piomode()
    - net: sched: Fix use after free in red_enqueue()
    - net: tun: fix bugs for oversize packet when napi frags enabled
    - netfilter: nf_tables: netlink notifier might race to release objects
    - netfilter: nf_tables: release flow rule object from commit path
    - ipvs: use explicitly signed chars
    - ipvs: fix WARNING i...

Changed in linux (Ubuntu Kinetic):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.1/6.1.0-1007.7 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-oem-6.1 verification-needed-jammy
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-aws/5.19.0-1020.21 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-aws
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-lowlatency-hwe-5.19/5.19.0-1017.18~22.04.1 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-lowlatency-hwe-5.19
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-azure/5.19.0-1021.22 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-azure
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-raspi/5.19.0-1014.21 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-raspi
Timo Aaltonen (tjaalton)
Changed in linux-oem-6.1 (Ubuntu Kinetic):
status: New → Invalid
Changed in linux-oem-6.1 (Ubuntu Lunar):
status: New → Invalid
Changed in linux (Ubuntu Jammy):
status: New → Invalid
Changed in linux-oem-6.1 (Ubuntu Jammy):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (31.4 KiB)

This bug was fixed in the package linux-oem-6.1 - 6.1.0-1007.7

---------------
linux-oem-6.1 (6.1.0-1007.7) jammy; urgency=medium

  * jammy/linux-oem-6.1: 6.1.0-1007.7 -proposed tracker (LP: #2006571)

  * Miscellaneous Ubuntu changes
    - [Config] Update annotations after rebase

  [ Ubuntu: 6.1.0-14.14 ]

  * lunar/linux: 6.1.0-14.14 -proposed tracker (LP: #2003939)
  * Miscellaneous upstream changes
    - Revert "UBUNTU: debian/dkms-versions -- update from kernel-versions
      (main/master)"

  [ Ubuntu: 6.1.0-13.13 ]

  * lunar/linux: 6.1.0-13.13 -proposed tracker (LP: #2003683)
  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/master)
  * Lunar update: v6.1.6 upstream stable release (LP: #2003689)
    - parisc: Align parisc MADV_XXX constants with all other architectures
    - x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate()
    - x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate().
    - x86/fpu: Add a pkru argument to copy_uabi_to_xstate()
    - x86/fpu: Allow PKRU to be (once again) written by ptrace.
    - x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set
    - selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace
    - Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
    - gcc: disable -Warray-bounds for gcc-11 too
    - net: sched: disallow noqueue for qdisc classes
    - ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list
    - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform
    - ALSA: hda: cs35l41: Don't return -EINVAL from system suspend/resume
    - ALSA: hda - Enable headset mic on another Dell laptop with ALC3254
    - ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle
    - Linux 6.1.6
  * Lunar update: v6.1.6 upstream stable release (LP: #2003689) // CVE-2023-0266
    was assigned for this issue.
    - ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF
  * Lunar update: v6.1.5 upstream stable release (LP: #2003688)
    - ARM: renumber bits related to _TIF_WORK_MASK
    - btrfs: replace strncpy() with strscpy()
    - cifs: fix interface count calculation during refresh
    - cifs: refcount only the selected iface during interface update
    - usb: dwc3: gadget: Ignore End Transfer delay on teardown
    - btrfs: fix off-by-one in delalloc search during lseek
    - btrfs: fix compat_ro checks against remount
    - perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor
    - perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged
      data
    - phy: qcom-qmp-combo: fix broken power on
    - btrfs: fix an error handling path in btrfs_defrag_leaves()
    - SUNRPC: ensure the matching upcall is in-flight upon downcall
    - wifi: ath9k: use proper statements in conditionals
    - bpf: pull before calling skb_postpull_rcsum()
    - drm/panfrost: Fix GEM handle creation ref-counting
    - netfilter: nf_tables: consolidate set description
    - netfilter: nf_tables: add function to create set stateful expressions
    - netfilter: nf_tables: perform type checking for existing sets
    - ice: xsk: do ...

Changed in linux-oem-6.1 (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 6.1.0-16.16

---------------
linux (6.1.0-16.16) lunar; urgency=medium

  * lunar/linux: 6.1.0-16.16 -proposed tracker (LP: #2008480)

  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- temporarily drop broken dkms

 -- Andrea Righi <email address hidden> Fri, 24 Feb 2023 14:24:48 +0100

Changed in linux (Ubuntu Lunar):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-starfive/5.19.0-1014.16 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-starfive
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-riscv/5.19.0-1015.16 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-riscv
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-allwinner/5.19.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-kinetic' to 'verification-done-kinetic'. If the problem still exists, change the tag 'verification-needed-kinetic' to 'verification-failed-kinetic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-kinetic-linux-allwinner
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-nvidia-5.19/5.19.0-1009.9 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-nvidia-5.19
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.