The following files comprise Hyper-V support in the upstream kernel:
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
The following commits are upstream in the 4.9 kernel release:
mshyperv.c : commit 186f43608a5c827f8284fe4559225b4dccaa49ef : x86/kernel: Audit and remove any unnecessary uses of module.h
hyperv.h : commit 509879bdb30b8e12bd0b3cb0bc8429f01478df4b : Drivers: hv: Introduce a policy for controlling channel affinity
hyperv.h : commit e7fca5d860aeeb1e606448f5191cea8d925cc7a3 : Drivers: hv: get rid of id in struct vmbus_channel
hyperv.h : commit 0f98829a99850836cf7c2cc9fbf1d7ce0f795780 : Drivers: hv: vmbus: suppress some "hv_vmbus: Unknown GUID" warnings
hyperv.h : commit 8e1d260738ca89bc7c87444f95f04a026d12b496 : Drivers: hv: utils: Support TimeSync version 4.0 protocol samples.
hyperv.h : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel.c : commit 3724287c0ec472815ebe5ae3790f77965c6aa557 : Drivers: hv: vmbus: Implement a mechanism to tag the channel for low latency
channel.c : commit 4d63763296ab7865a98bc29cc7d77145815ef89f : Drivers: hv: get rid of redundant messagecount in create_gpadl_header()
channel.c : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel.c : commit ccef9bcc02ee63ac171ea9f0d51e04b3e55b3a12 : Drivers: hv: vmbus: Enable explicit signaling policy for NIC channels
channel_mgmt.c : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel_mgmt.c : commit e7fca5d860aeeb1e606448f5191cea8d925cc7a3 : Drivers: hv: get rid of id in struct vmbus_channel
connection.c : commit 8de0d7e951826d7592e0ba1da655b175c4aa0923 : Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg()
hv_balloon.c : commit eece30b9f0046cee810a2c7caa2247f3f8dc85e2 : Drivers: hv: balloon: replace ha_region_mutex with spinlock
hv_balloon.c : commit b605c2d913589c448d4a6887262bb8e99da12009 : Drivers: hv: balloon: Use available memory value in pressure report
hv.c : commit a9f61ca793becabdefab03b77568d6c6f8c1bc79 : Drivers: hv: avoid vfree() on crash
mshyperv.c : commit 186f43608a5c827f8284fe4559225b4dccaa49ef : x86/kernel: Audit and remove any unnecessary uses of module.h
hyperv.h : commit 509879bdb30b8e12bd0b3cb0bc8429f01478df4b : Drivers: hv: Introduce a policy for controlling channel affinity
hyperv.h : commit e7fca5d860aeeb1e606448f5191cea8d925cc7a3 : Drivers: hv: get rid of id in struct vmbus_channel
hyperv.h : commit 0f98829a99850836cf7c2cc9fbf1d7ce0f795780 : Drivers: hv: vmbus: suppress some "hv_vmbus: Unknown GUID" warnings
hyperv.h : commit 8e1d260738ca89bc7c87444f95f04a026d12b496 : Drivers: hv: utils: Support TimeSync version 4.0 protocol samples.
hyperv.h : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel.c : commit 3724287c0ec472815ebe5ae3790f77965c6aa557 : Drivers: hv: vmbus: Implement a mechanism to tag the channel for low latency
channel.c : commit 4d63763296ab7865a98bc29cc7d77145815ef89f : Drivers: hv: get rid of redundant messagecount in create_gpadl_header()
channel.c : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel.c : commit ccef9bcc02ee63ac171ea9f0d51e04b3e55b3a12 : Drivers: hv: vmbus: Enable explicit signaling policy for NIC channels
channel_mgmt.c : commit 638fea33aee858cc665297a76f0039e95a28ce0c : Drivers: hv: vmbus: fix the race when querying & updating the percpu list
channel_mgmt.c : commit e7fca5d860aeeb1e606448f5191cea8d925cc7a3 : Drivers: hv: get rid of id in struct vmbus_channel
connection.c : commit 8de0d7e951826d7592e0ba1da655b175c4aa0923 : Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg()
hv_balloon.c : commit eece30b9f0046cee810a2c7caa2247f3f8dc85e2 : Drivers: hv: balloon: replace ha_region_mutex with spinlock
hv_balloon.c : commit b605c2d913589c448d4a6887262bb8e99da12009 : Drivers: hv: balloon: Use available memory value in pressure report
hv.c : commit a9f61ca793becabdefab03b77568d6c6f8c1bc79 : Drivers: hv: avoid vfree() on crash
hv_fcopy.c : commit e0fa3e5e7df61eb2c339c9f0067c202c0cdeec2c : Drivers: hv: utils: fix a race on userspace daemons registration
hv_fcopy.c : commit 7c959127581d420ec692344ee905504fdeecec1a : Drivers: hv: utils: unify driver registration reporting
hv_kvp.c : commit e0fa3e5e7df61eb2c339c9f0067c202c0cdeec2c : Drivers: hv: utils: fix a race on userspace daemons registration
hv_snapshot.c : commit 497af84b81b98b27e9ba7aebb8a373412e328497 : Drivers: hv: utils: Continue to poll VSS channel after handling requests.
hv_snapshot.c : commit e0fa3e5e7df61eb2c339c9f0067c202c0cdeec2c : Drivers: hv: utils: fix a race on userspace daemons registration
hv_snapshot.c : commit db886e4d24c2b3d334be2cc1bd1bd05d547eb4c4 : Drivers: hv: utils: Check VSS daemon is listening before a hot backup
hv_util.c : commit 3ba1eb17b633b419737b65429fa7124ce87c5efc : Drivers: hv: hv_util: Avoid dynamic allocation in time synch
hv_util.c : commit 407a3aee6ee2d2cb46d9ba3fc380bc29f35d020c : hv: do not lose pending heartbeat vmbus packets
hv_utils_transport.c : commit e0fa3e5e7df61eb2c339c9f0067c202c0cdeec2c : Drivers: hv: utils: fix a race on userspace daemons registration
hv_utils_transport.h : commit e0fa3e5e7df61eb2c339c9f0067c202c0cdeec2c : Drivers: hv: utils: fix a race on userspace daemons registration
hyperv_vmbus.h : commit a9f61ca793becabdefab03b77568d6c6f8c1bc79 : Drivers: hv: avoid vfree() on crash
ring_buffer.c : commit 9988ce685676cebe0b14dc128f00e1ae9cd1a4fa : Drivers: hv: ring_buffer: wrap around mappings for ring buffers
ring_buffer.c : commit ccef9bcc02ee63ac171ea9f0d51e04b3e55b3a12 : Drivers: hv: vmbus: Enable explicit signaling policy for NIC channels
ring_buffer.c : commit f24f0b495b17df33c03f3b758b1461385e9f0e50 : Drivers: hv: ring_buffer: use wrap around mappings in hv_copy{from, to}_ringbuffer()
vmbus_drv.c : commit e2e808413425d82c8f162933a30304d10a5df231 : Driver: hv: vmbus: Make mmio resource local
vmbus_drv.c : commit a9f61ca793becabdefab03b77568d6c6f8c1bc79 : Drivers: hv: avoid vfree() on crash
hv_kvp_daemon.c : commit 26840437cbd6d3625ea6ab34e17cd34bb810c861 : Tools: hv: kvp: ensure kvp device fd is closed on exec
hv_vss_daemon.c : commit db886e4d24c2b3d334be2cc1bd1bd05d547eb4c4 : Drivers: hv: utils: Check VSS daemon is listening before a hot backup
hyperv_net.h : commit 9477386687354f2aa8f4843170b7093c6dd1eb37 : hv_netvsc: make RSS hash key static
hyperv_net.h : commit e834da9a40edd3117ef0a9b2a73d845fe6b622a8 : hv_netvsc: pass struct net_device to rndis_filter_set_device_mac()
hyperv_net.h : commit c6a77ff82fb849534748719f37f3f9086d78ed39 : hv_netvsc: fix comments
hyperv_net.h : commit 7f5d5af0b2f859f09b3dcb16a00b800fa48d9288 : hv_netvsc: Add handler for physical link speed change
netvsc.c : commit 796cc88c32c1bd1f833d596448ac785a8736e57c : hv_netvsc: style cleanups
netvsc.c : commit e53a9c2a5a8cd0a3a8b3c0f9b7a3ad9bc6a28867 : hv_netvsc: use kcalloc
netvsc.c : commit 7f5d5af0b2f859f09b3dcb16a00b800fa48d9288 : hv_netvsc: Add handler for physical link speed change
netvsc.c : commit e5a78fad4f1eb49064e4c35d0a4263424b12124c : hv_netvsc: use ARRAY_SIZE() for NDIS versions
netvsc.c : commit e08f3ea586d4145e36c77f0dd1602374b5d7e928 : hv_netvsc: make device_remove void
netvsc.c : commit 6c4c137e5035e0e17fa40c223fa0a3167e0f65fa : hv_netvsc: make variable local
netvsc_drv.c : commit 796cc88c32c1bd1f833d596448ac785a8736e57c : hv_netvsc: style cleanups
netvsc_drv.c : commit a50af86dd49ee1851d1ccf06dd0019c05b95e297 : netvsc: reduce maximum GSO size
netvsc_drv.c : commit 2f5fa6c869e8f8c340dd05a2817eecbcea382c35 : hv_netvsc: pass struct netvsc_device to rndis_filter_{open, close}()
netvsc_drv.c : commit 7f5d5af0b2f859f09b3dcb16a00b800fa48d9288 : hv_netvsc: Add handler for physical link speed change
netvsc_drv.c : commit e52fed7177f74382f742c27de2cc5314790aebb6 : netvsc: fix incorrect receive checksum offloading
netvsc_drv.c : commit e834da9a40edd3117ef0a9b2a73d845fe6b622a8 : hv_netvsc: pass struct net_device to rndis_filter_set_device_mac()
netvsc_drv.c : commit b37879e6ca7079943542048da37f00a386c30cee : hv_netvsc: Add query for initial physical link speed
rndis_filter.c : commit 5362855aba7159aab8f7c6573eb675d9da317914 : netvsc: get rid of completion timeouts
rndis_filter.c : commit 9477386687354f2aa8f4843170b7093c6dd1eb37 : hv_netvsc: make RSS hash key static
rndis_filter.c : commit b37879e6ca7079943542048da37f00a386c30cee : hv_netvsc: Add query for initial physical link speed
storvsc_drv.c : commit 84b342c0f4dc0180ad4ac701b46024761ff4af11 : scsi: storvsc: Filter out storvsc messages CD-ROM medium not present
pci-hyperv.c : commit 0c6045d8c0eff0f7784f310407ccad44f622aa40 : PCI: hv: Use zero-length array in struct pci_packet
pci-hyperv.c : commit 7d0f8eec976ae5a364af84fd8e92f6da9ec05a41 : PCI: hv: Use pci_function_description[0] in struct definitions
pci-hyperv.c : commit 617ceb62eaa1a180e8af1be9903d960c3a0b2ebc : PCI: hv: Remove the unused 'wrk' in struct hv_pcibus_device
pci-hyperv.c : commit a5b45b7b952822aa5fbe842d2ee497c7c9dd7f55 : PCI: hv: Handle hv_pci_generic_compl() error case
pci-hyperv.c : commit 0c6e617f656ec259162a41c0849e3a7557c99d95 : PCI: hv: Fix interrupt cleanup path
pci-hyperv.c : commit 665e2245eb46a217926d45031b83f1212a1bb344 : PCI: hv: Handle vmbus_sendpacket() failure in hv_compose_msi_msg()
pci-hyperv.c : commit 4f1cb01a7892582d18483986fbc268cdef1b1dee : PCI: hv: Use list_move_tail() instead of list_del() + list_add_tail()
In addition 5 patches have been submitted to stable upstream but have not yet appeared in linux-next:
Patchset: Drivers: hv: vmbus: Some miscellaneous fixes (submitted to stable)
K. Y. Srinivasan (1):
Drivers: hv: vmbus: Prevent sending data on a rescinded channel
Vitaly Kuznetsov (4):
Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg()
hv: allocate synic pages for all present CPUs
hv: init percpu_list in hv_synic_alloc()
hv: don't reset hv_context.tsc_page on crash
I will post those commits once I see them go through.
These items are needed for the 14.04.5 and 16.04.1 HWE kernels, and 16.10, (and by extension, 16.04.2 HWE).
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1650059
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.