[Hyper-V] include kvp fix for Avoid reading past allocated blocks from KVP file

Bug #1750349 reported by Chris Valean
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Joseph Salisbury
Artful
Fix Released
High
Joseph Salisbury
Bionic
Fix Released
High
Joseph Salisbury
linux-azure (Ubuntu)
Fix Released
High
Unassigned

Bug Description

== SRU Justification ==
This commit is being requested in Bionic and linux-azure by Microsoft. It has
already been applied to Bionic. It is being requested in Artful, so it makes
it's way into linux-azure through the re-base process.

This fix is required if a large number of records are injected into a pool,
which can cause the kvp daemon to crash.

This commit has been cc'd to upstream stable. However, it has not yet been applied
to Artful, since upstream 4.13 is EOL.

== Fix ==
297d6b6e56c2 ("hv: kvp: Avoid reading past allocated blocks from KVP file")

== Regression Potential ==
Low. This patch has also been sent to upstream stable, so it has had additional upstream
review.

== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1750349

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Chris Valean (cvalean)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → High
Changed in linux (Ubuntu Bionic):
status: Confirmed → Triaged
tags: added: kernel-da-key kernel-hyper-v
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Should this patch be applied to just the custom linux-azure kernel or both linux-azure and the generic Ubuntu kernel?

Revision history for this message
Chris Valean (cvalean) wrote :

Please apply it to both kernels/releases.
Thank you!

Changed in linux (Ubuntu Bionic):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux-azure (Ubuntu Bionic):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Commit is now in the Bionic -proposed repository, kernel version Ubuntu-4.15.0-9.10.

Changed in linux (Ubuntu Bionic):
status: Triaged → Fix Committed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Just to confirm. Do you only require this commit in linux-azure Bionic? Or is it also needed in linux-azure Xenial, which is 4.13 based?

Revision history for this message
Chris Valean (cvalean) wrote :

Yes, please pick it in linux-azure Xenial 4.13.
This is not present in current 4.13.0-1012.14 proposed.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

SRU request submitted for Artful, which will get the fix into 4.13 linux-azure through the usual rebase process:
https://lists.ubuntu.com/archives/kernel-team/2018-March/090839.html

Changed in linux (Ubuntu Artful):
status: New → In Progress
assignee: nobody → Joseph Salisbury (jsalisbury)
importance: Undecided → High
no longer affects: linux-azure (Ubuntu Bionic)
no longer affects: linux-azure (Ubuntu Artful)
description: updated
Stefan Bader (smb)
Changed in linux (Ubuntu Artful):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) 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-artful' to 'verification-done-artful'. If the problem still exists, change the tag 'verification-needed-artful' to 'verification-failed-artful'.

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-artful
Revision history for this message
Chris Valean (cvalean) wrote :

The change is looking fine in artful proposed 4.13.0.39.42 kernel. bug status changed to verification-done

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

This bug was fixed in the package linux - 4.13.0-39.44

---------------
linux (4.13.0-39.44) artful; urgency=medium

  * linux: 4.13.0-39.44 -proposed tracker (LP: #1761456)

  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2
    Intel) // CVE-2017-5754
    - x86/mm: Reinitialize TLB state on hotplug and resume

  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2 Intel)
    - Revert "x86/mm: Only set IBPB when the new thread cannot ptrace current
      thread"
    - x86/speculation: Use Indirect Branch Prediction Barrier in context switch

  * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please
    install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876)
    - [Packaging] include the retpoline extractor in the headers

  * retpoline hints: primary infrastructure and initial hints (LP: #1758856)
    - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32bit
    - x86/paravirt, objtool: Annotate indirect calls
    - [Packaging] retpoline -- add safe usage hint support
    - [Packaging] retpoline-check -- only report additions
    - [Packaging] retpoline -- widen indirect call/jmp detection
    - [Packaging] retpoline -- elide %rip relative indirections
    - [Packaging] retpoline -- clear hint information from packages
    - KVM: x86: Make indirect calls in emulator speculation safe
    - KVM: VMX: Make indirect call speculation safe
    - x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
    - SAUCE: early/late -- annotate indirect calls in early/late initialisation
      code
    - SAUCE: vga_set_mode -- avoid jump tables
    - [Config] retpoline -- switch to new format
    - [Packaging] retpoline hints -- handle missing files when RETPOLINE not
      enabled
    - [Packaging] final-checks -- remove check for empty retpoline files

  * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655)
    - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386

  * zfs system process hung on container stop/delete (LP: #1754584)
    - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)

  * zfs-linux 0.6.5.11-1ubuntu5 ADT test failure with linux 4.15.0-1.2
    (LP: #1737761)
    - SAUCE: (noup) Update zfs to 0.6.5.11-1ubuntu3.2

  * AT_BASE_PLATFORM in AUXV is absent on kernels available on Ubuntu 17.10
    (LP: #1759312)
    - powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features

  * btrfs and tar sparse truncate archives (LP: #1757565)
    - Btrfs: move definition of the function btrfs_find_new_delalloc_bytes
    - Btrfs: fix reported number of inode blocks after buffered append writes

  * efifb broken on ThunderX-based Gigabyte nodes (LP: #1758375)
    - drivers/fbdev/efifb: Allow BAR to be moved instead of claiming it

  * Intel i40e PF reset due to incorrect MDD detection (continues...)
    (LP: #1723127)
    - i40e/i40ev...

Read more...

Changed in linux (Ubuntu Artful):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (33.5 KiB)

This bug was fixed in the package linux-azure - 4.13.0-1014.17

---------------
linux-azure (4.13.0-1014.17) xenial; urgency=medium

  * linux-azure: 4.13.0-1014.17 -proposed tracker (LP: #1761459)

  * retpoline hints: primary infrastructure and initial hints (LP: #1758856)
    - [Config] retpoline -- switch to new format

  * [Hyper-V] PCI: hv: Fix 2 hang issues in hv_compose_msi_msg (LP: #1758378)
    - SAUCE: PCI: hv: Serialize the present and eject work items
    - SAUCE: PCI: hv: Fix 2 hang issues in hv_compose_msi_msg()
    - SAUCE: PCI: hv: Fix a comment typo in _hv_pcifront_read_config()
    - SAUCE: PCI: hv: Remove the bogus test in hv_eject_device_work()
    - SAUCE: PCI: hv: Only queue new work items in hv_pci_devices_present() if
      necessary

  [ Ubuntu: 4.13.0-39.44 ]

  * linux: 4.13.0-39.44 -proposed tracker (LP: #1761456)
  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2
    Intel) // CVE-2017-5754
    - x86/mm: Reinitialize TLB state on hotplug and resume
  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2 Intel)
    - Revert "x86/mm: Only set IBPB when the new thread cannot ptrace current
      thread"
    - x86/speculation: Use Indirect Branch Prediction Barrier in context switch
  * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please
    install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876)
    - [Packaging] include the retpoline extractor in the headers
  * retpoline hints: primary infrastructure and initial hints (LP: #1758856)
    - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32bit
    - x86/paravirt, objtool: Annotate indirect calls
    - [Packaging] retpoline -- add safe usage hint support
    - [Packaging] retpoline-check -- only report additions
    - [Packaging] retpoline -- widen indirect call/jmp detection
    - [Packaging] retpoline -- elide %rip relative indirections
    - [Packaging] retpoline -- clear hint information from packages
    - KVM: x86: Make indirect calls in emulator speculation safe
    - KVM: VMX: Make indirect call speculation safe
    - x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
    - SAUCE: early/late -- annotate indirect calls in early/late initialisation
      code
    - SAUCE: vga_set_mode -- avoid jump tables
    - [Config] retpoline -- switch to new format
    - [Packaging] retpoline hints -- handle missing files when RETPOLINE not
      enabled
    - [Packaging] final-checks -- remove check for empty retpoline files
  * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655)
    - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386
  * zfs system process hung on container stop/delete (LP: #1754584)
    - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)
  * zfs-linux 0.6.5.11-1ubuntu5 ADT test failure with linux 4.15.0-1.2
    (LP: #1737761)
    ...

Changed in linux-azure (Ubuntu):
status: Triaged → Fix Released
status: Triaged → Fix Released
Revision history for this message
Chris Valean (cvalean) wrote :

Joe, Brad - I see this bug still reads 'committed' for bionic.
Looking for a Fix released for all so that we can close it.

Thank you!

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

The fix landed in Bionic via the 4.15-rc3 updates:
297d6b6e56c2 hv: kvp: Avoid reading past allocated blocks from KVP file

The status has been changed to "Fix Released"

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
Chris Valean (cvalean)
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Brad Figg (brad-figg)
tags: added: cscc
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.