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

Bug #1670544 reported by Joshua R. Poulson on 2017-03-07
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned
Xenial
Medium
Unassigned
Yakkety
Medium
Tim Gardner
Zesty
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) on 2017-03-07
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
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

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) on 2017-03-22
Changed in linux (Ubuntu Zesty):
status: Triaged → Fix Released
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: Triaged → In Progress
Tim Gardner (timg-tpi) wrote :

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

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

Chris Valean (cvalean) wrote :

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

Tim Gardner (timg-tpi) on 2017-03-29
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed

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
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) on 2017-05-18
Changed in linux (Ubuntu Xenial):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers