LP: #2164848 - 7.0.0-30 vs 7.0.0-29 delta is one unrelated openvswitch
patch; failure is at image-load/early-boot, not a kernel code regression

Root Cause Summary

The difference between the kernel that works (7.0.0-29.29~24.04.2) and the
kernel that fails (7.0.0-30.30~24.04.1) cannot explain this symptom. The
whole functional delta between the two is a single commit:

  net: openvswitch: reject oversized nested action attrs
  (upstream 3f1f755366687d051174739fb99f7d560202f60b, CVE-2026-64531)

Everything else in -30 is packaging bookkeeping (changelog, tracking bug,
"Start new release"). The kernel configuration, the ABI and the packaging
are byte-for-byte identical between -29 and -30 - there is no config change
and no ABI bump. That commit touches only net/openvswitch/flow_netlink.c,
CONFIG_OPENVSWITCH is a module on amd64, and the openvswitch module is not
even loaded on this machine (it does not appear in ProcModules.txt). It is
also unreachable before userspace, so it cannot affect boot.

Additionally, the -29 kernel in use (~24.04.2) is a no-change respin of
~24.04.1, so the working/failing pair is not separated by a rebuild
difference either.

The failure therefore lies in the boot path on this specific installation -
the installed kernel image or initramfs, the GRUB/BIOS handoff, or early
device init - rather than in the code that changed. This machine is a
2011-era Gigabyte EX58-UD4P (X58/ICH10) with Award BIOS F14p dated
2011-01-28, booting in legacy BIOS mode from GPT via a 1 MiB BIOS boot
partition, with nouveau driving a GF106 GeForce GTS 450. Both a truncated
kernel/initramfs from an interrupted install and a nouveau
modeset/console-handoff hang produce exactly the reported picture: GRUB
lists the entry, then nothing.

Key Evidence

- Full source delta 7.0.0-29.29 -> 7.0.0-30.30 is 4 commits, of which only
  one is functional; diffstat is changelog + tracking-bug +
  net/openvswitch/flow_netlink.c only.
- Config/ABI/packaging diff between the two tags is empty.
- openvswitch is absent from ProcModules.txt - the changed module is never
  loaded on this system.
- All submitted logs are from the working 7.0.0-29 boot. WifiSyslog.txt
  spans jul 28 to ago 23 and contains zero occurrences of "7.0.0-30", and
  the only "Linux version" line is 7.0.0-29-generic. No log from a failed
  -30 boot exists.
- /sys/fs/pstore is empty (systemd-pstore.service skipped on
  ConditionDirectoryNotEmpty), so no panic was captured from the previous
  boot.
- "Found linux image: /boot/vmlinuz-7.0.0-30-generic" is printed by
  /etc/grub.d/10_linux during update-grub, not during boot, so it does not
  indicate where the boot actually stops.
- Kernel command line is "ro quiet splash", which hides any early failure
  message.
- No separate /boot partition; root is /dev/sdb3 (ext4) on a GPT disk with a
  1 MiB BIOS boot partition (sdb2), grub-pc 2.12-1ubuntu7.3, legacy BIOS
  boot (no EFI lines in dmesg at all).
- nouveau is already degraded on the working -29 kernel:
    nouveau 0000:01:00.0: drm: failed to create ce channel, -22
    Direct firmware load for nouveau/nvc3_fuc084 failed with error -2
    nouveau 0000:01:00.0: msvld: init failed, -19
- Firmware/platform warnings on -29:
    acpi PNP0A03:00: _OSC: platform retains control of PCIe features (AE_ERROR)
    PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs"
    i8042: Failed to disable AUX port, but continuing anyway...
    MDS: Vulnerable: Clear CPU buffers attempted, no microcode

Recommended Actions

1. Make the failure visible. At the GRUB menu select the 7.0.0-30 entry,
   press "e", delete "quiet splash" from the linux line, append
   "earlyprintk=vga", then Ctrl-X to boot. Please report or photograph the
   last message shown. This is the single most useful piece of missing
   information: it separates "GRUB cannot load the image" from "kernel
   starts and hangs in early init" from "hang at graphics handoff".

2. Test the 7.0.0-30 entry with "nomodeset" added, since nouveau is already
   reporting firmware and channel-creation errors on this GPU even on the
   working kernel.

3. Verify the installed files are intact - a truncated kernel or initramfs
   from an interrupted install gives exactly this symptom while the older
   kernel keeps working:
     dpkg -V linux-image-7.0.0-30-generic linux-modules-7.0.0-30-generic
     ls -l /boot/vmlinuz-7.0.0-30-generic /boot/initrd.img-7.0.0-30-generic
     df -h /boot /
     sudo apt reinstall linux-image-7.0.0-30-generic
     sudo update-initramfs -c -k 7.0.0-30-generic
     sudo update-grub
   Then retry the -30 entry.

4. Newer kernels are already published; please also test 7.0.0-31.31~24.04.1
   or later. If a newer kernel boots, the problem was local to the -30
   install rather than in the kernel.

5. If -30 or later still fail, attach the earlyprintk/serial output from
   step 1 plus the output of "sudo dmidecode -t bios" and
   "apt policy linux-image-7.0.0-30-generic". A further apport report
   collected from the working -29 kernel will not add usable information.


** CVE added: https://cve.org/CVERecord?id=CVE-2026-64531

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

Title:
  Freezes at grub boot do not load new kernel 7.0.0-30... 29 works...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-7.0/+bug/2164848/+subscriptions


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

Reply via email to