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
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers