[Hyper-V] Rebase Hyper-V to the upstream 4.10 kernel

Bug #1670544 reported by Joshua R. Poulson
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Xenial
Won't Fix
Medium
Unassigned
Yakkety
Fix Released
Medium
Tim Gardner
Zesty
Fix Released
Medium
Unassigned

Bug Description

Catching up with upstream 4.10 Hyper-V, files:
arch/x86/kernel/cpu/mshyperv.c
arch/x86/include/asm/mshyperv.h
arch/x86/include/uapi/asm/hyperv.h
include/linux/hyperv.h
drivers/hv/channel.c
drivers/hv/channel_mgmt.c
drivers/hv/connection.c
drivers/hv/hv_balloon.c
drivers/hv/hv.c
drivers/hv/hv_fcopy.c
drivers/hv/hv_kvp.c
drivers/hv/hv_snapshot.c
drivers/hv/hv_util.c
drivers/hv/hv_utils_transport.c
drivers/hv/hv_utils_transport.h
drivers/hv/hyperv_vmbus.h
drivers/hv/ring_buffer.c
drivers/hv/vmbus_drv.c
tools/hv/hv_fcopy_daemon.c
tools/hv/hv_get_dhcp_info.sh
tools/hv/hv_get_dns_info.sh
tools/hv/hv_kvp_daemon.c
tools/hv/hv_set_ifconfig.sh
tools/hv/hv_vss_daemon.c
tools/hv/lsvmbus
drivers/input/serio/hyperv-keyboard.c
drivers/net/hyperv/hyperv_net.h
drivers/net/hyperv/netvsc.c
drivers/net/hyperv/netvsc_drv.c
drivers/net/hyperv/rndis_filter.c
drivers/scsi/storvsc_drv.c
drivers/hid/hid-hyperv.c
drivers/pci/host/pci-hyperv.c
drivers/video/fbdev/hyperv_fb.c
drivers/uio/uio_hv_generic.c

Here is the delta from 4.9 to 4.10:
mshyperv.c : commit a5a1d1c2914b5316924c7893eb683a5420ebd3be : clocksource: Use a plain u64 instead of cycle_t
hyperv.h : commit 433e19cf33d34bb6751c874a9c00980552fe508c : Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
hyperv.h : commit f45be72c8ec0b85263d1fe1e6c681d8c87e198e6 : hyperv: Fix spelling of HV_UNKOWN
hyperv.h : commit fc76936d3ea5720a6e0948a08381b803a68deb28 : vmbus: add support for dynamic device id's
hyperv.h : commit 1f6ee4e7d83586c8b10bd4f2f4346353d04ce884 : Drivers: hv: vmbus: On write cleanup the logic to interrupt the host
hyperv.h : commit fa32ff6576623616c1751562edaed8c164ca5199 : Drivers: hv: ring_buffer: count on wrap around mappings in get_next_pkt_raw() (v2)
channel.c : commit 1f6ee4e7d83586c8b10bd4f2f4346353d04ce884 : Drivers: hv: vmbus: On write cleanup the logic to interrupt the host
channel.c : commit 3372592a140db69fd63837e81f048ab4abf8111e : Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host
channel_mgmt.c : commit f45be72c8ec0b85263d1fe1e6c681d8c87e198e6 : hyperv: Fix spelling of HV_UNKOWN
channel_mgmt.c : commit abd1026da4a7700a8db370947f75cd17b6ae6f76 : hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
channel_mgmt.c : commit 74198eb4a42c4a3c4fbef08fa01a291a282f7c2e : Drivers: hv: vmbus: Base host signaling strictly on the ring state
connection.c : commit 95096f2fbd10186d3e78a328b327afc71428f65f : uio-hv-generic: new userspace i/o driver for VMBus
hv_balloon.c : commit b3bb97b8a49f3c489134793705bc636c7883e777 : Drivers: hv: balloon: Add logging for dynamic memory operations
hv_balloon.c : commit 8500096017e3a1baadbdefe8b84a99117472af46 : Drivers: hv: balloon: Fix info request to show max page count
hv_balloon.c : commit 8ba8c0a111083bfe53f7a8a0e2f14fd12eb2e030 : Drivers: hv: balloon: Disable hot add when CONFIG_MEMORY_HOTPLUG is not set
hv.c : commit a5a1d1c2914b5316924c7893eb683a5420ebd3be : clocksource: Use a plain u64 instead of cycle_t
hv.c : commit 6ffc4b85358f6b7d252420cfa5862312cf5f83d8 : hv: change clockevents unbind tactics
hv_snapshot.c : commit b357fd3908c1191f2f56e38aa77f2aecdae18bc8 : Drivers: hv: vss: Operation timeouts should match host expectation
hv_snapshot.c : commit 23d2cc0c29eb0e7c6fe4cac88098306c31c40208 : Drivers: hv: vss: Improve log messages.
hv_util.c : commit 3da0401b4d0e17aea7526db0235d98fa535d903e : Drivers: hv: utils: Fix the mapping between host version and protocol to use
hyperv_vmbus.h : commit d7edd31ba9a661f1a3f357b43e84e84e5fad9538 : Drivers: hv: utils: reduce HV_UTIL_NEGO_TIMEOUT timeout
ring_buffer.c : commit 433e19cf33d34bb6751c874a9c00980552fe508c : Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
vmbus_drv.c : commit fc76936d3ea5720a6e0948a08381b803a68deb28 : vmbus: add support for dynamic device id's
vmbus_drv.c : commit f6b2db084b65b9dc0f910bc48d5f77c0e5166dc6 : vmbus: make sysfs names consistent with PCI
hv_fcopy_daemon.c : commit 0c38cda64aecb4a821210bb2d3d04092c181c0ae : tools: hv: remove unnecessary header files and netlink related code
hv_kvp_daemon.c : commit 0c38cda64aecb4a821210bb2d3d04092c181c0ae : tools: hv: remove unnecessary header files and netlink related code
hv_kvp_daemon.c : commit 51b68128ef55200fbe03d82c9ac5722f255e58b7 : Tools: hv: remove inclusion of linux/types.h
hv_kvp_daemon.c : commit 1745ba41945db2c77d918e3bcad898f8259f7f5a : tools: hv: fix a compile warning in snprintf
hyperv_net.h : commit d0c2c9973ecd267307543526ae93855e3a3e4b23 : net: use core MTU range checking in virt drivers
netvsc.c : commit 93ba2222550415e61f773a8e2ecd1f2a665f5ef5 : hv_netvsc: remove excessive logging on MTU change
netvsc.c : commit e8f0a89cd7591c5d4eb7c77833af865b4db356b7 : hv_netvsc: fix a race between netvsc_send() and netvsc_init_buf()
netvsc.c : commit 433e19cf33d34bb6751c874a9c00980552fe508c : Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
netvsc_drv.c : commit 0719e72ccb801829a3d735d187ca8417f0930459 : netvsc: add rcu_read locking to netvsc callback
netvsc_drv.c : commit d0c2c9973ecd267307543526ae93855e3a3e4b23 : net: use core MTU range checking in virt drivers
rndis_filter.c : commit 93ba2222550415e61f773a8e2ecd1f2a665f5ef5 : hv_netvsc: remove excessive logging on MTU change
storvsc_drv.c : commit b0120d9906253570f593daf82016a5331bbee2b8 : scsi: storvsc: Payload buffer incorrectly sized for 32 bit kernels.
pci-hyperv.c : commit 0de8ce3ee8e38cc66683438f715c79a2cc69539e : PCI: hv: Allocate physically contiguous hypercall params buffer
pci-hyperv.c : commit 542ccf4551fa019a8ae9dfb7c8cd7e73a3d7e614 : PCI: hv: Make unnecessarily global IRQ masking functions static
pci-hyperv.c : commit 8286e96d95f2dd01a72e3500322ad95153a469c2 : PCI: hv: Use the correct buffer size in new_pcichild_device()
pci-hyperv.c : commit e74d2ebdda33b3bdd1826b5b92e9aa45bdf92bb3 : PCI: hv: Delete the device earlier from hbus->children for hot-remove
pci-hyperv.c : commit 17978524a636d007e6b929304ae3eb5ea0371019 : PCI: hv: Fix hv_pci_remove() for hot-remove

In addition, there are two important fixes for PCI in linux-next (already included in SR-IOV work):
pci-hyperv.c : commit 60e2e2fbafdd1285ae1b4ad39ded41603e0c74d0 : PCI: hv: Fix wslot_to_devfn() to fix warnings on device removal
pci-hyperv.c : commit 4a9b0933bdfcd85da840284bf5a0eb17b654b9c2 : PCI: hv: Use device serial number as PCI domain

CVE References

Joshua R. Poulson (jrp)
Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
tags: added: kernel-da-key kernel-hyper-v
Changed in linux (Ubuntu Yakkety):
status: New → Triaged
Changed in linux (Ubuntu Xenial):
status: New → Triaged
importance: Undecided → Medium
Changed in linux (Ubuntu Yakkety):
importance: Undecided → Medium
Revision history for this message
Joshua R. Poulson (jrp) wrote :

Please include the stable release updates released this weekend (v4.10.2). The following Hyper-V commits were included:

hyperv.h : commit ec6f27bd19e0f9142c71d293d4c3b381348550b7 : Drivers: hv: vmbus: Fix a rescind handling bug
channel.c : commit ec6f27bd19e0f9142c71d293d4c3b381348550b7 : Drivers: hv: vmbus: Fix a rescind handling bug
channel.c : commit 0fd8c1cb80a1403aab4f36de85804c44666a486d : Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
channel_mgmt.c : commit ec6f27bd19e0f9142c71d293d4c3b381348550b7 : Drivers: hv: vmbus: Fix a rescind handling bug
channel_mgmt.c : commit 0fd8c1cb80a1403aab4f36de85804c44666a486d : Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
connection.c : commit 0fd8c1cb80a1403aab4f36de85804c44666a486d : Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
hv.c : commit f791a7b4a7ae3a008a8af887b5a3f36ad1ac0574 : hv: don't reset hv_context.tsc_page on crash
hv.c : commit aa2765857f7411a960778afc1ed34cb57dc43f08 : hv: allocate synic pages for all present CPUs
hv.c : commit a34da99e9468a3990a8ca91bb9e502af61f95535 : hv: init percpu_list in hv_synic_alloc()
hv.c : commit 6ffc4b85358f6b7d252420cfa5862312cf5f83d8 : hv: change clockevents unbind tactics
hv_fcopy.c : commit 48dc52df9155443289f8bbf52f25a4214961ebee : Drivers: hv: util: Fcopy: Fix a rescind processing issue
hv_kvp.c : commit f38bcff3986238898806512863b0e9d675de45ee : Drivers: hv: util: kvp: Fix a rescind processing issue
hv_snapshot.c : commit 93919359467c6ce2f0f0ca4ad0f517b2d9bb03cf : Drivers: hv: util: Backup: Fix a rescind processing issue
hyperv_vmbus.h : commit 0fd8c1cb80a1403aab4f36de85804c44666a486d : Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
ring_buffer.c : commit 42b0681b7fe98556c1e4288e534368cc0bf607f9 : Drivers: hv: vmbus: Prevent sending data on a rescinded channel
storvsc_drv.c : commit 99b3ba253c8b7bf8635fc68b5371a8225371f47c : scsi: storvsc: use tagged SRB requests if supported by the device
storvsc_drv.c : commit e5fbe2328cc5c7211e4338b76f9004214b5bb663 : scsi: storvsc: properly set residual data length on errors
storvsc_drv.c : commit 0aeb049529f3573dd35a549f846e5f623899d480 : scsi: storvsc: properly handle SRB_ERROR when sense message is present
pci-hyperv.c : commit 91f5bce789d9083f1e24bc09b00c8c781c015835 : PCI: hv: Fix wslot_to_devfn() to fix warnings on device removal

Revision history for this message
Joshua R. Poulson (jrp) wrote :

Please include the stable release updates released last night (v4.10.3). THe following Hyper-V commit was included:

hv.c : commit 070dfed4d04ef6c18f07a2d147c1be74c8c84f5b : drivers: hv: Turn off write permission on the hypercall page

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Zesty):
status: Triaged → Fix Released
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: Triaged → In Progress
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Test kernel at http://kernel.ubuntu.com/~rtg/hv-lp1670544/

git://kernel.ubuntu.com/rtg/ubuntu-yakkety.git hv

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

Thanks Tim!
We performed several sanity checks with the test kernel from comment #3 and it's looking good.

Revision history for this message
Tim Gardner (timg-tpi) wrote :
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) 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-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

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-yakkety
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (14.5 KiB)

This bug was fixed in the package linux - 4.8.0-49.52

---------------
linux (4.8.0-49.52) yakkety; urgency=low

  * linux: 4.8.0-49.52 -proposed tracker (LP: #1684427)

  * [Hyper-V] hv: util: move waiting for release to hv_utils_transport itself
    (LP: #1682561)
    - Drivers: hv: util: move waiting for release to hv_utils_transport itself

linux (4.8.0-48.51) yakkety; urgency=low

  * linux: 4.8.0-48.51 -proposed tracker (LP: #1682034)

  * [Hyper-V] hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
    (LP: #1681893)
    - Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()

linux (4.8.0-47.50) yakkety; urgency=low

  * linux: 4.8.0-47.50 -proposed tracker (LP: #1679678)

  * CVE-2017-6353
    - sctp: deny peeloff operation on asocs with threads sleeping on it

  * CVE-2017-5986
    - sctp: avoid BUG_ON on sctp_wait_for_sndbuf

  * vfat: missing iso8859-1 charset (LP: #1677230)
    - [Config] NLS_ISO8859_1=y

  * [Hyper-V] pci-hyperv: Use device serial number as PCI domain (LP: #1667527)
    - net/mlx4_core: Use cq quota in SRIOV when creating completion EQs

  * Regression: KVM modules should be on main kernel package (LP: #1678099)
    - [Config] powerpc: Add kvm-hv and kvm-pr to the generic inclusion list

  * linux-lts-xenial 4.4.0-63.84~14.04.2 ADT test failure with linux-lts-xenial
    4.4.0-63.84~14.04.2 (LP: #1664912)
    - SAUCE: apparmor: fix link auditing failure due to, uninitialized var

  * regession tests failing after stackprofile test is run (LP: #1661030)
    - SAUCE: fix regression with domain change in complain mode

  * Permission denied and inconsistent behavior in complain mode with 'ip netns
    list' command (LP: #1648903)
    - SAUCE: fix regression with domain change in complain mode

  * unexpected errno=13 and disconnected path when trying to open /proc/1/ns/mnt
    from a unshared mount namespace (LP: #1656121)
    - SAUCE: apparmor: null profiles should inherit parent control flags

  * apparmor refcount leak of profile namespace when removing profiles
    (LP: #1660849)
    - SAUCE: apparmor: fix ns ref count link when removing profiles from policy

  * tor in lxd: apparmor="DENIED" operation="change_onexec"
    namespace="root//CONTAINERNAME_<var-lib-lxd>" profile="unconfined"
    name="system_tor" (LP: #1648143)
    - SAUCE: apparmor: Fix no_new_privs blocking change_onexec when using stacked
      namespaces

  * apparmor oops in bind_mnt when dev_path lookup fails (LP: #1660840)
    - SAUCE: apparmor: fix oops in bind_mnt when dev_path lookup fails

  * apparmor auditing denied access of special apparmor .null fi\ le
    (LP: #1660836)
    - SAUCE: apparmor: Don't audit denied access of special apparmor .null file

  * apparmor label leak when new label is unused (LP: #1660834)
    - SAUCE: apparmor: fix label leak when new label is unused

  * apparmor reference count bug in label_merge_insert() (LP: #1660833)
    - SAUCE: apparmor: fix reference count bug in label_merge_insert()

  * apparmor's raw_data file in securityfs is sometimes truncated (LP: #1638996)
    - SAUCE: apparmor: fix replacement race in reading rawdata

  * unix domain socket cross permission check failing with n...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Brad Figg (brad-figg)
Changed in linux (Ubuntu Xenial):
status: Triaged → Won't Fix
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.