linux-kvm: please support kexec

Bug #1799791 reported by Steve Langasek on 2018-10-24
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-kvm (Ubuntu)
Medium
Connor Kuehl
Xenial
Undecided
Connor Kuehl
Bionic
Undecided
Connor Kuehl
Cosmic
Medium
Connor Kuehl
Disco
Undecided
Connor Kuehl

Bug Description

linux-kvm doesn't support kexec.

Adding support for kexec would enable other interesting uses of linux-kvm, such as for a linuxboot embedded kernel in kvm.

Please enable CONFIG_KEXEC=y, CONFIG_KEXEC_FILE=y in linux-kvm.

Changed in linux-kvm (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in linux-kvm (Ubuntu Bionic):
status: New → Triaged
importance: Undecided → Medium
Changed in linux-kvm (Ubuntu Cosmic):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux-kvm (Ubuntu Bionic):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux-kvm (Ubuntu Cosmic):
status: Triaged → In Progress
Changed in linux-kvm (Ubuntu Bionic):
status: Triaged → In Progress
no longer affects: linux-kvm (Ubuntu Bionic)
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel from the linux-kvm repo. This repo already has those two options enabled:

https://paste.ubuntu.com/p/b89KnWhdqq/

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1799791

Ryan Harper (raharper) wrote :

The virtio configuration in this new kernel build changed, can it get reverted to what the -kvm kernel currently has?

% grep VIRTIO /boot/config-*kvm
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_RPMSG_VIRTIO is not set
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_BLK=y
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_VIRTIO_INPUT is not set
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y

Joseph Salisbury (jsalisbury) wrote :

Sure, I'll take a look and build a new kernel.

Joseph Salisbury (jsalisbury) wrote :

I posted another test kernel built using the linux-kvm tree, with no changes made.

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1799791

This is the output from the default config files in this repo:

https://paste.ubuntu.com/p/79TsTgpXWt/

Ryan Harper (raharper) wrote :

Could you re-apply the KEXEC config changes to the linux-kvm tree build?

Joseph Salisbury (jsalisbury) wrote :

The CONFIG_KEXEC and CONFIG_KEXEC_FILE config options are already enabled for the linux-kvm repo. Here is a grep of the config directory:

https://paste.ubuntu.com/p/w84BrTZKVc/

This tree was cloned from:
lp:~canonical-kernel/ubuntu/+source/linux-kvm/+git/cosmic

Do you see these options enabled on your test environment after installing that kernel?

Changed in linux-kvm (Ubuntu Cosmic):
status: In Progress → Confirmed
Changed in linux-kvm (Ubuntu):
status: In Progress → Confirmed
assignee: Joseph Salisbury (jsalisbury) → nobody
Changed in linux-kvm (Ubuntu Cosmic):
assignee: Joseph Salisbury (jsalisbury) → nobody
Connor Kuehl (connork) on 2019-04-22
Changed in linux-kvm (Ubuntu):
assignee: nobody → Connor Kuehl (connork)
Changed in linux-kvm (Ubuntu Cosmic):
assignee: nobody → Connor Kuehl (connork)
Connor Kuehl (connork) wrote :

At first glance it looked like these options were enabled for linux-kvm because they showed up as being set to "yes" under the "debian.master/config/config.common.ubuntu" file. However, my grepping was too narrow because grepping for "CONFIG_KEXEC=" didn't show the following lines:

debian.kvm/config/config.common.ubuntu:# CONFIG_KEXEC is not set
debian.kvm/config/config.common.ubuntu:# CONFIG_KEXEC_FILE is not set

For derivative kernels like linux-kvm, if it's set in the debian.master but unset in debian.kvm, then it's unset for the package.

Sent a patch to the ML to enable it for linux-kvm: https://lists.ubuntu.com/archives/kernel-team/2019-April/100350.html

Changed in linux-kvm (Ubuntu Xenial):
status: New → In Progress
Changed in linux-kvm (Ubuntu Bionic):
status: New → In Progress
Changed in linux-kvm (Ubuntu Cosmic):
status: Confirmed → In Progress
Changed in linux-kvm (Ubuntu Disco):
status: New → In Progress
Connor Kuehl (connork) on 2019-05-08
Changed in linux-kvm (Ubuntu Xenial):
assignee: nobody → Connor Kuehl (connork)
Changed in linux-kvm (Ubuntu Bionic):
assignee: nobody → Connor Kuehl (connork)
Changed in linux-kvm (Ubuntu Disco):
assignee: nobody → Connor Kuehl (connork)

We are applying these changes on linux-kvm only for Cosmic and Disco for now. If they don't cause any problems (e.g. boot speed increase) we will apply later also for the older series.

Changed in linux-kvm (Ubuntu Cosmic):
status: In Progress → Fix Committed
Changed in linux-kvm (Ubuntu Disco):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (24.3 KiB)

This bug was fixed in the package linux-kvm - 5.0.0-1007.7

---------------
linux-kvm (5.0.0-1007.7) disco; urgency=medium

  * linux-kvm: 5.0.0-1007.7 -proposed tracker (LP: #1829169)

  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - [Config]: remove CONFIG_R3964
    - [Config]: add CONFIG_LDISC_AUTOLOAD=y

  * linux-kvm: please support kexec (LP: #1799791)
    - [Config]: enable KEXEC and KEXEC_FILE

  [ Ubuntu: 5.0.0-16.17 ]

  * linux: 5.0.0-16.17 -proposed tracker (LP: #1829173)
  * shiftfs: lock security sensitive superblock flags (LP: #1827122)
    - SAUCE: shiftfs: lock down certain superblock flags
  * Please package libbpf (which is done out of the kernel src) in Debian [for
    19.10] (LP: #1826410)
    - SAUCE: tools -- fix add ability to disable libbfd
  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - drm/i915/gvt: do not let pin count of shadow mm go negative
    - kbuild: pkg: use -f $(srctree)/Makefile to recurse to top Makefile
    - netfilter: nft_compat: use .release_ops and remove list of extension
    - netfilter: nf_tables: use-after-free in dynamic operations
    - netfilter: nf_tables: add missing ->release_ops() in error path of newrule()
    - hv_netvsc: Fix unwanted wakeup after tx_disable
    - ibmvnic: Fix completion structure initialization
    - ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
    - ipv6: Fix dangling pointer when ipv6 fragment
    - ipv6: sit: reset ip header pointer in ipip6_rcv
    - kcm: switch order of device registration to fix a crash
    - net: ethtool: not call vzalloc for zero sized memory request
    - net-gro: Fix GRO flush when receiving a GSO packet.
    - net/mlx5: Decrease default mr cache size
    - netns: provide pure entropy for net_hash_mix()
    - net: rds: force to destroy connection if t_sock is NULL in
      rds_tcp_kill_sock().
    - net/sched: act_sample: fix divide by zero in the traffic path
    - net/sched: fix ->get helper of the matchall cls
    - qmi_wwan: add Olicard 600
    - r8169: disable ASPM again
    - sctp: initialize _pad of sockaddr_in before copying to user memory
    - tcp: Ensure DCTCP reacts to losses
    - tcp: fix a potential NULL pointer dereference in tcp_sk_exit
    - vrf: check accept_source_route on the original netdevice
    - net/mlx5e: Fix error handling when refreshing TIRs
    - net/mlx5e: Add a lock on tir list
    - nfp: validate the return code from dev_queue_xmit()
    - nfp: disable netpoll on representors
    - bnxt_en: Improve RX consumer index validity check.
    - bnxt_en: Reset device on RX buffer errors.
    - net: ip_gre: fix possible use-after-free in erspan_rcv
    - net: ip6_gre: fix possible use-after-free in ip6erspan_rcv
    - net: bridge: always clear mcast matching struct on reports and leaves
    - net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop
    - net: vrf: Fix ping failed when vrf mtu is set to 0
    - net: core: netif_receive_skb_list: unlist skb before passing to pt->func
    - r8169: disable default rx interrupt coalescing on RTL8168
    - net: mlx5: Add a missing check on idr_find, free buf
    - net/mlx5e: Update xoff formula
    - net/mlx5e: Update...

Changed in linux-kvm (Ubuntu Disco):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-kvm - 4.18.0-1013.13

---------------
linux-kvm (4.18.0-1013.13) cosmic; urgency=medium

  * linux-kvm: 4.18.0-1013.13 -proposed tracker (LP: #1829184)

  * linux-kvm: please support kexec (LP: #1799791)
    - [Config]: enable KEXEC and KEXEC_FILE

  [ Ubuntu: 4.18.0-21.22 ]

  * linux: 4.18.0-21.22 -proposed tracker (LP: #1829186)
  * disable a.out support (LP: #1818552)
    - [Config] Turn off a.out support
  * ftrace in ubuntu_kernel_selftests hang with Cosmic kernel (LP: #1826385)
    - kprobes/x86: Fix instruction patching corruption when copying more than one
      RIP-relative instruction
  * touchpad not working on lenovo yoga 530 (LP: #1787775)
    - Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI"
    - Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base"
    - Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for
      upcoming platform"
    - i2c: add extra check to safe DMA buffer helper
    - i2c: Add drivers for the AMD PCIe MP2 I2C controller
    - [Config] Update config for AMD MP2 I2C driver
    - [Config] Update I2C_AMD_MP2 annotations
  * Geneve tunnels don't work when ipv6 is disabled (LP: #1794232)
    - geneve: correctly handle ipv6.disable module parameter
  * There are 4 HDMI/Displayport audio output listed in sound setting without
    attach any HDMI/DP monitor (LP: #1827967)
    - ALSA: hda/hdmi - Read the pin sense from register when repolling
    - ALSA: hda/hdmi - Consider eld_valid when reporting jack event
  * Headphone jack switch sense is inverted: plugging in headphones disables
    headphone output (LP: #1824259)
    - ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board
  * CTAUTO:DevOps:860.50:devops4fp1:Error occurred during LINUX Dmesg error
    Checking for all LINUX clients for devops4p10 (LP: #1766201)
    - SAUCE: integrity: downgrade error to warning
  * potential memory corruption on arm64 on dev release (LP: #1827437)
    - driver core: Postpone DMA tear-down until after devres release
  * powerpc/pmu/ebb test in ubuntu_kernel_selftest failed with "error while
    loading shared libraries" on Bionic/Cosmic PowerPC (LP: #1812805)
    - selftests/powerpc/pmu: Link ebb tests with -no-pie
  * unnecessary request_queue freeze (LP: #1815733)
    - block: avoid setting nr_requests to current value
    - block: avoid setting none scheduler if it's already none
  * Kprobe event string type argument failed in ftrace from
    ubuntu_kernel_selftests on B/C i386 (LP: #1825780)
    - selftests/ftrace: Fix kprobe string testcase to not probe notrace function
  * False positive test result in run_netsocktests from net in
    ubuntu_kernel_selftest (LP: #1825777)
    - selftests/net: correct the return value for run_netsocktests

 -- Andrea Righi <email address hidden> Wed, 15 May 2019 17:10:11 +0200

Changed in linux-kvm (Ubuntu Cosmic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (24.3 KiB)

This bug was fixed in the package linux-kvm - 5.0.0-1007.7

---------------
linux-kvm (5.0.0-1007.7) disco; urgency=medium

  * linux-kvm: 5.0.0-1007.7 -proposed tracker (LP: #1829169)

  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - [Config]: remove CONFIG_R3964
    - [Config]: add CONFIG_LDISC_AUTOLOAD=y

  * linux-kvm: please support kexec (LP: #1799791)
    - [Config]: enable KEXEC and KEXEC_FILE

  [ Ubuntu: 5.0.0-16.17 ]

  * linux: 5.0.0-16.17 -proposed tracker (LP: #1829173)
  * shiftfs: lock security sensitive superblock flags (LP: #1827122)
    - SAUCE: shiftfs: lock down certain superblock flags
  * Please package libbpf (which is done out of the kernel src) in Debian [for
    19.10] (LP: #1826410)
    - SAUCE: tools -- fix add ability to disable libbfd
  * Disco update: 5.0.8 upstream stable release (LP: #1828415)
    - drm/i915/gvt: do not let pin count of shadow mm go negative
    - kbuild: pkg: use -f $(srctree)/Makefile to recurse to top Makefile
    - netfilter: nft_compat: use .release_ops and remove list of extension
    - netfilter: nf_tables: use-after-free in dynamic operations
    - netfilter: nf_tables: add missing ->release_ops() in error path of newrule()
    - hv_netvsc: Fix unwanted wakeup after tx_disable
    - ibmvnic: Fix completion structure initialization
    - ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
    - ipv6: Fix dangling pointer when ipv6 fragment
    - ipv6: sit: reset ip header pointer in ipip6_rcv
    - kcm: switch order of device registration to fix a crash
    - net: ethtool: not call vzalloc for zero sized memory request
    - net-gro: Fix GRO flush when receiving a GSO packet.
    - net/mlx5: Decrease default mr cache size
    - netns: provide pure entropy for net_hash_mix()
    - net: rds: force to destroy connection if t_sock is NULL in
      rds_tcp_kill_sock().
    - net/sched: act_sample: fix divide by zero in the traffic path
    - net/sched: fix ->get helper of the matchall cls
    - qmi_wwan: add Olicard 600
    - r8169: disable ASPM again
    - sctp: initialize _pad of sockaddr_in before copying to user memory
    - tcp: Ensure DCTCP reacts to losses
    - tcp: fix a potential NULL pointer dereference in tcp_sk_exit
    - vrf: check accept_source_route on the original netdevice
    - net/mlx5e: Fix error handling when refreshing TIRs
    - net/mlx5e: Add a lock on tir list
    - nfp: validate the return code from dev_queue_xmit()
    - nfp: disable netpoll on representors
    - bnxt_en: Improve RX consumer index validity check.
    - bnxt_en: Reset device on RX buffer errors.
    - net: ip_gre: fix possible use-after-free in erspan_rcv
    - net: ip6_gre: fix possible use-after-free in ip6erspan_rcv
    - net: bridge: always clear mcast matching struct on reports and leaves
    - net: thunderx: fix NULL pointer dereference in nicvf_open/nicvf_stop
    - net: vrf: Fix ping failed when vrf mtu is set to 0
    - net: core: netif_receive_skb_list: unlist skb before passing to pt->func
    - r8169: disable default rx interrupt coalescing on RTL8168
    - net: mlx5: Add a missing check on idr_find, free buf
    - net/mlx5e: Update xoff formula
    - net/mlx5e: Update...

Changed in linux-kvm (Ubuntu):
status: Confirmed → Fix Released
Stefan Bader (smb) on 2019-07-15
Changed in linux-kvm (Ubuntu Bionic):
status: In Progress → Fix Committed
Changed in linux-kvm (Ubuntu Xenial):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (172.0 KiB)

This bug was fixed in the package linux-kvm - 4.15.0-1042.42

---------------
linux-kvm (4.15.0-1042.42) bionic; urgency=medium

  * bionic/linux-kvm: 4.15.0-1042.42 -proposed tracker (LP: #1839276)

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

  [ Ubuntu: 4.15.0-58.64 ]

  * 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-kvm (4.15.0-1041.41) bionic; urgency=medium

  [ Ubuntu: 4.15.0-57.63 ]

  * 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-kvm (4.15.0-1040.40) bionic; urgency=medium

  * bionic/linux-kvm: 4.15.0-1040.40 -proposed tracker (LP: #1837613)

  * Build Nvidia drivers in conjunction with kernel (LP: #1764792)
    - [Packaging] nvidia -- build and sign nvidia packages and ship signatures

  * zfs/spl build in conjunction with the kernel from DKMS source (LP: #1807378)
    - [Packaging] dkms -- add missing build dependencies

  * linux-kvm: please support kexec (LP: #1799791)
    - [Config]: enable KEXEC and KEXEC_FILE

  [ Ubuntu: 4.15.0-56.62 ]

  * 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 t...

Changed in linux-kvm (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (12.9 KiB)

This bug was fixed in the package linux-kvm - 4.4.0-1054.61

---------------
linux-kvm (4.4.0-1054.61) xenial; urgency=medium

  [ Ubuntu: 4.4.0-159.187 ]

  * 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

linux-kvm (4.4.0-1053.60) xenial; urgency=medium

  * xenial/linux-kvm: 4.4.0-1053.60 -proposed tracker (LP: #1837591)

  * CVE-2018-5383
    - kvm: [Config]: CRYPTO_ECDH=m

  * linux-kvm: please support kexec (LP: #1799791)
    - [Config]: enable KEXEC and KEXEC_FILE

  [ Ubuntu: 4.4.0-158.186 ]

  * xenial/linux: 4.4.0-158.186 -proposed tracker (LP: #1837609)
  * Packaging resync (LP: #1786013)
    - [Packaging] resync git-ubuntu-log
    - [Packaging] update helper scripts
  * ixgbe{vf} - Physical Function gets IRQ when VF checks link state
    (LP: #1836760)
    - ixgbevf: Use cached link state instead of re-reading the value for ethtool
  * CVE-2018-5383
    - crypto: kpp - Key-agreement Protocol Primitives API (KPP)
    - crypto: dh - Add DH software implementation
    - crypto: ecdh - Add ECDH software support
    - crypto: ecdh - make ecdh_shared_secret unique
    - crypto: doc - add KPP documentation
    - crypto: kpp, (ec)dh - fix typos
    - crypto: ecc - remove unused function arguments
    - crypto: ecc - remove unnecessary casts
    - crypto: ecc - rename ecdh_make_pub_key()
    - crypto: ecdh - add privkey generation support
    - crypto: ecc - Fix NULL pointer deref. on no default_rng
    - [Config] CRYPTO_ECDH=m
    - Bluetooth: convert smp and selftest to crypto kpp API
    - crypto: ecdh - add public key verification test
  * Xenial update: 4.4.185 upstream stable release (LP: #1836668)
    - fs/binfmt_flat.c: make load_flat_shared_library() work
    - scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
    - tracing: Silence GCC 9 array bounds warning
    - gcc-9: silence 'address-of-packed-member' warning
    - usb: chipidea: udc: workaround for endpoint conflict issue
    - Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
    - apparmor: enforce nullbyte at end of tag string
    - parport: Fix mem leak in parport_register_dev_model
    - parisc: Fix compiler warnings in float emulation code
    - IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
    - MIPS: uprobes: remove set but not used variable 'epc'
    - net: hns: Fix loopback test failed at copper ports
    - sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
    - scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
    - scsi: ufs: Check that space was properly alloced in copy_query_response
    - s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
    - hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
    - Btrfs: fix race between readahead and device replace/removal
    - btrfs: start readahead also in...

Changed in linux-kvm (Ubuntu Xenial):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers