Kernel 4.15.0-50 or newer wont boot as Xen-DomU with PVH

Bug #1829378 reported by Jan Kellermann
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Fix Released
Undecided
Kai-Heng Feng

Bug Description

=== SRU Justification ===
[Impact]
NULL pointer dereference in acpi_quirk_matches_bios_ids() renders kernel
unbootable.

[Fix]
It's a regression caused by commit abd273f52766 ("UBUNTU: SAUCE: ACPI /
bus: Add some Lenovo laptops in list of acpi table term list").

When both bios_vendor and bios_ver are NULL then a NULL string is passed
to strncmp() and the issue occurs.

VMs may not provides string bios_vendor or bios_ver, so bail out early
when either bios_vendor or bios_ver is NULL.

[Test]
User reported the test kernel with proposed fix solves the issue.

[Regression Potenial]
Low. It's quite trivial so I don't think it'll regress anything.

=== Original Bug Report ===
After upgrading HWE-16.04-kernel from 4.15.0-48 to 4.15.0-50 the kernel crashes while booting as PVH-Guest with Xen 4.12 (booting as PV works).
Kernel 4.15.0-48 and prior did boot without any problems as PVH.

We have the same problem for Ubuntu 18.04 with Kernel 4.15.0-50. Ubunutu 18.04 with HWE-Kernel 4.18.0-20 boots without problems as PVH-DomU.

See also https://lists.xenproject.org/archives/html/xen-users/2019-05/msg00010.html

description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-meta-hwe (Ubuntu):
status: New → Confirmed
Revision history for this message
Stefan Bader (smb) wrote :

It will help to add whatever stack trace was submitted to the xen mailing list, to this bug report.

affects: linux-meta-hwe (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
David Kowis (dkowis) wrote :

Also does not boot for linux-image-4.15.0-51-generic

From the xl console output trying to boot that kernel. Previous kernels have no problem.

libxl: error: libxl_xshelp.c:201:libxl__xs_read_mandatory: xenstore read failed: `/libxl/45/type': No such file or directory
libxl: warning: libxl_dom.c:52:libxl__domain_type: unable to get domain type for domid=45, assuming HVM
xenconsole: Could not read tty from store: No such file or directory
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: console child [3420] exited with error status 2
root@nosgoth:/etc/xen/conf#

Revision history for this message
David Kowis (dkowis) wrote :

https://lists.xenproject.org/archives/html/xen-users/2019-05/txtiEUldDuKY9.txt

This is the stacktrace/log that was originally captured by the filer.

Revision history for this message
Jan Kellermann (jan-kellermann) wrote :

Sonmething new? Do you need further information?

We tried kernel linux-image-4.15.0-54 and were not able to boot as pvh (xen buld from source 4.12-staging from today).

linux-image-4.15.0-48 we are able to boot as pvh.

Some patches between 4.15.0-48 and 4.15.0-50 destroyed the ability to boot as pvh.

ky.

summary: - Kernel 4.15.0-50 wont boot as Xen-DomU with PVH
+ Kernel 4.15.0-50 or newer wont boot as Xen-DomU with PVH
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
Jan Kellermann (jan-kellermann) wrote :

@kaihengfeng thank you very much!
We can boot Ubuntu 16.04 with this kernel as PVH-xen-guest.

> Booting paravirtualized kernel on Xen PVH

tu ky.

description: updated
Changed in linux (Ubuntu Bionic):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the 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-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

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: verification-needed-bionic
Revision history for this message
Jan Kellermann (jan-kellermann) wrote :

Tested the proposed Kernel 4.15.0-56 and could boot as PVH-Guest.
Changed Tag to verification-done-bionic.

tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the 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-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

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: verification-needed-xenial
Revision history for this message
Jan Kellermann (jan-kellermann) wrote :

Tested the proposed Kernel 4.15.0-56 and could boot as PVH-Guest.
Changed Tag to verification-done-xenial.

tags: added: verification-done-xenial
removed: verification-done-bionic verification-needed-xenial
tags: added: verification-done-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (171.3 KiB)

This bug was fixed in the package linux - 4.15.0-58.64

---------------
linux (4.15.0-58.64) bionic; urgency=medium

  * unable to handle kernel NULL pointer dereference at 000000000000002c (IP:
    iget5_locked+0x9e/0x1f0) (LP: #1838982)
    - Revert "ovl: set I_CREATING on inode being created"
    - Revert "new primitive: discard_new_inode()"

linux (4.15.0-57.63) bionic; urgency=medium

  * CVE-2019-1125
    - x86/cpufeatures: Carve out CQM features retrieval
    - x86/cpufeatures: Combine word 11 and 12 into a new scattered features word
    - x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations
    - x86/speculation: Enable Spectre v1 swapgs mitigations
    - x86/entry/64: Use JMP instead of JMPQ
    - x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS

  * Packaging resync (LP: #1786013)
    - update dkms package versions

linux (4.15.0-56.62) bionic; urgency=medium

  * bionic/linux: 4.15.0-56.62 -proposed tracker (LP: #1837626)

  * Packaging resync (LP: #1786013)
    - [Packaging] resync git-ubuntu-log
    - [Packaging] update helper scripts

  * CVE-2019-2101
    - media: uvcvideo: Fix 'type' check leading to overflow

  * hibmc-drm Causes Unreadable Display for Huawei amd64 Servers (LP: #1762940)
    - [Config] Set CONFIG_DRM_HISI_HIBMC to arm64 only
    - SAUCE: Make CONFIG_DRM_HISI_HIBMC depend on ARM64

  * Bionic: support for Solarflare X2542 network adapter (sfc driver)
    (LP: #1836635)
    - sfc: make mem_bar a function rather than a constant
    - sfc: support VI strides other than 8k
    - sfc: add Medford2 (SFC9250) PCI Device IDs
    - sfc: improve PTP error reporting
    - sfc: update EF10 register definitions
    - sfc: populate the timer reload field
    - sfc: update MCDI protocol headers
    - sfc: support variable number of MAC stats
    - sfc: expose FEC stats on Medford2
    - sfc: expose CTPIO stats on NICs that support them
    - sfc: basic MCDI mapping of 25/50/100G link speeds
    - sfc: support the ethtool ksettings API properly so that 25/50/100G works
    - sfc: add bits for 25/50/100G supported/advertised speeds
    - sfc: remove tx and MCDI handling from NAPI budget consideration
    - sfc: handle TX timestamps in the normal data path
    - sfc: add function to determine which TX timestamping method to use
    - sfc: use main datapath for HW timestamps if available
    - sfc: only enable TX timestamping if the adapter is licensed for it
    - sfc: MAC TX timestamp handling on the 8000 series
    - sfc: on 8000 series use TX queues for TX timestamps
    - sfc: only advertise TX timestamping if we have the license for it
    - sfc: simplify RX datapath timestamping
    - sfc: support separate PTP and general timestamping
    - sfc: support second + quarter ns time format for receive datapath
    - sfc: support Medford2 frequency adjustment format
    - sfc: add suffix to large constant in ptp
    - sfc: mark some unexported symbols as static
    - sfc: update MCDI protocol headers
    - sfc: support FEC configuration through ethtool
    - sfc: remove ctpio_dmabuf_start from stats
    - sfc: stop the TX queue before pushing new buffers

  * [18.04 FEAT] zKVM: Add hardwar...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
Po-Hsu Lin (cypressyew)
Changed in linux (Ubuntu Bionic):
assignee: nobody → Kai-Heng Feng (kaihengfeng)
Changed in linux (Ubuntu):
status: Incomplete → Invalid
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.