Message ID | 20170518225701.GA12019@gallifrey |
---|---|
State | New |
Headers | show |
On 19.05.2017 00:57, Marcelo Cerri wrote: > BugLink: https://bugs.launchpad.net/bugs/1690177 > > That's the backport from upstream for the Hyper-V drivers as requested by > lp#1690177. > > A few notes on the changes below: > I believe things looked ok when I pulled. Not sure time has made this request outdated. -Stefan > 1. I didn't apply the following commit because it doesn't seem to be necessary > and it affects a large number of files: > > 68db0cf10678630d286f4bbbbdfa102951a35faa sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> > > 2. There are 3 commits with trivial conflicts: > > f2ba2c6cbc39036bae82a1c2ffaf8fbd2faaa484 netvsc: remove no longer needed receive staging buffers > d5b882cc6fd355aa34b3cec46edefe45999dc605 vmbus: introduce in-place packet iterator > b5ce98f766bb3ad24458f12bcce6e5c897a97099 net: make ndo_get_stats64 a void function > > The first 2 conflicts were caused by 2 parallel branches in upstream and the > later one was caused by previous commits that we picked for the zesty kernel. > > 3. The following commit makes use of linux/refcount.h that is indirectly > included via linux/kref.h: > > 495c9a03c258267211ed5aa972ea1f51fca1eb1d netvsc: use refcount_t for keeping track of sub channels > > To avoid the backport of a large set of changes for kref.h, I decided to > include refcount.h where it is needed in the following commit: > > e53b7f0299c836b7cf683f1cfed81ba16b251545 UBUNTU: SAUCE: include refcount.h in hyperv_net.h > > --- > > The following changes since commit b18b5329c7081f661e161ab9330887006c8d18e7: > > UBUNTU: Ubuntu-azure-4.10.0-1005.5 (2017-05-15 22:49:17 -0300) > > are available in the git repository at: > > https://git.launchpad.net/~mhcerri/ubuntu/+source/linux/+git/azure lp1690177-hyperv-backport > > for you to fetch changes up to 87eed74fb30f0fe74ecab0bed78206885ca2bb3b: > > netvsc: Deal with rescinded channels correctly (2017-05-18 17:40:01 -0300) > > ---------------------------------------------------------------- > Cathy Avery (2): > scsi: scsi_transport_fc: Add dummy initiator role to rport > scsi: storvsc: Add support for FC rport. > > Christoph Hellwig (3): > scsi: mvumi: remove fake transport template > scsi: libsas: remove sas_scsi_timed_out > scsi: remove eh_timed_out methods in the transport template > > David Windsor (1): > locking/refcount: Add refcount_t API kernel-doc comments > > Dexuan Cui (1): > netvsc: fix use-after-free in netvsc_change_mtu() > > Elena Reshetova (2): > locking/refcounts: Add missing kernel.h header to have UINT_MAX defined > PCI: hv: Convert hv_pci_dev.refs from atomic_t to refcount_t > > Guenter Roeck (1): > Input: serio - drop unnecessary calls to device_init_wakeup > > Haiyang Zhang (1): > hv_netvsc: Fix the queue index computation in forwarding case > > K. Y. Srinivasan (6): > PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs > PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC > Drivers: hv: Fix a typo > Drivers: hv: Base autoeoi enablement based on hypervisor hints > Drivers: hv: Issue explicit EOI when autoeoi is not enabled > netvsc: Deal with rescinded channels correctly > > Marcelo Henrique Cerri (2): > UBUNTU: Start new release > UBUNTU: SAUCE: include refcount.h in hyperv_net.h > > Masahiro Yamada (1): > scripts/spelling.txt: add "intialization" pattern and fix typo instances > > Miguel Bernal Marin (2): > scsi: storvsc: Prefer kcalloc over kzalloc with multiply > scsi: storvsc: remove return at end of void function > > Mintz, Yuval (7): > qed*: Update to dual-license > qede: Break datapath logic into its own file > qede: Split filtering logic to its own file > qed*: Change maximal number of queues > qede: Postpone reallocation until NAPI end > qed*: RSS indirection based on queue-handles > qed*: Add support for ndo_set_vf_trust > > Parav Pandit (1): > net-next: treewide use is_vlan_dev() helper function. > > Peter Zijlstra (2): > refcount_t: Introduce a special purpose refcount type > locking/refcounts: Out-of-line everything > > Philippe Reynes (1): > net: hyperv: use new api ethtool_{get|set}_link_ksettings > > Simon Xiao (2): > netvsc: report per-channel stats in ethtool statistics > hv_netvsc: change netvsc device default duplex to FULL > > Stephen Hemminger (18): > vmbus: use kernel bitops for traversing interrupt mask > vmbus: drop no longer used kick_q argument > vmbus: remove no longer used signal_policy > vmbus: remove unused kickq argument to sendpacket > vmbus: put related per-cpu variable together > vmbus: callback is in softirq not workqueue > vmbus: change to per channel tasklet > vmbus: add direct isr callback mode > vmbus: expose hv_begin/end_read > vmbus: remove conditional locking of vmbus_write > vmbus: constify parameters where possible > vmbus: only reschedule tasklet if time limit exceeded > vmbus: remove useless return's > vmbus: remove unnecessary initialization > vmbus: fix spelling errors > vmbus: make channel_message table constant > vmbus: cleanup header file style > vmbus: expose debug info for drivers > > stephen hemminger (37): > netvsc: negotiate checksum and segmentation parameters > netvsc: report number of rx queues in ethtool > netvsc: add ethtool ops to get/set RSS key > netvsc: allow more flexible setting of number of channels > netvsc: remove unused variables > netvsc: remove no longer needed receive staging buffers > netvsc: enhance transmit select_queue > netvsc: group all per-channel state together > netvsc: optimize receive path > netvsc: don't pass void * to internal device_add > netvsc: simplify rndis_filter_remove > netvsc: eliminate per-device outstanding send counter > netvsc: account for packets/bytes transmitted after completion > netvsc: call netif_receive_skb > netvsc: handle select_queue when device is being removed > netvsc: simplify get next send section > netvsc: fix calculation of available send sections > netvsc: don't overload variable in same function > vmbus: introduce in-place packet iterator > netvsc: implement NAPI > netvsc: replace netdev_alloc_skb_ip_align with napi_alloc_skb > netvsc: remove unused #define > netvsc: need napi scheduled during removal > netvsc: avoid race with callback > netvsc: add comments about callback's and NAPI > netvsc: fix NAPI performance regression > netvsc: allow get/set of RSS indirection table > netvsc: handle offline mtu and channel change > netvsc: change max channel calculation > net: make ndo_get_stats64 a void function > netvsc: enable GRO > netvsc: use RCU to protect inner device structure > netvsc: uses RCU instead of removal flag > netvsc: use refcount_t for keeping track of sub channels > netvsc: remove unnecessary lock on shutdown > netvsc: eliminate unnecessary skb == NULL checks > netvsc: fix and cleanup rndis_filter_set_packet_filter > > arch/arm/mach-omap2/omap_twl.c | 2 +- > arch/x86/include/uapi/asm/hyperv.h | 7 +- > arch/x86/kernel/cpu/mshyperv.c | 3 + > debian.azure/abi/4.10.0-1004.4/abiname | 1 - > debian.azure/abi/4.10.0-1005.5/abiname | 1 + > .../{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure | 82 +- > .../amd64/azure.compiler | 0 > .../amd64/azure.modules | 0 > .../abi/{4.10.0-1004.4 => 4.10.0-1005.5}/fwinfo | 0 > debian.azure/changelog | 8 + > drivers/acpi/spcr.c | 2 +- > drivers/ata/libata-eh.c | 1 + > drivers/ata/libata-transport.c | 1 - > drivers/ata/libata.h | 1 - > drivers/firewire/core-device.c | 4 +- > drivers/hv/channel.c | 57 +- > drivers/hv/channel_mgmt.c | 89 +- > drivers/hv/connection.c | 169 +- > drivers/hv/hv.c | 129 +- > drivers/hv/hv_balloon.c | 2 - > drivers/hv/hv_fcopy.c | 2 - > drivers/hv/hv_kvp.c | 12 +- > drivers/hv/hv_snapshot.c | 2 - > drivers/hv/hv_util.c | 3 +- > drivers/hv/hyperv_vmbus.h | 105 +- > drivers/hv/ring_buffer.c | 165 +- > drivers/hv/vmbus_drv.c | 119 +- > drivers/infiniband/core/cma.c | 6 +- > drivers/infiniband/sw/rxe/rxe_net.c | 2 +- > drivers/infiniband/ulp/iser/iscsi_iser.c | 1 + > drivers/infiniband/ulp/srp/ib_srp.c | 1 + > drivers/input/serio/hyperv-keyboard.c | 1 - > drivers/message/fusion/mptfc.c | 1 + > drivers/message/fusion/mptsas.c | 2 +- > drivers/mmc/host/mmci_qcom_dml.c | 2 +- > drivers/net/bonding/bond_main.c | 10 +- > drivers/net/dummy.c | 5 +- > drivers/net/ethernet/alacritech/slicoss.c | 6 +- > drivers/net/ethernet/amazon/ena/ena_netdev.c | 10 +- > drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 6 +- > drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- > drivers/net/ethernet/atheros/alx/main.c | 6 +- > drivers/net/ethernet/broadcom/b44.c | 5 +- > drivers/net/ethernet/broadcom/bnx2.c | 5 +- > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +- > drivers/net/ethernet/broadcom/cnic.c | 2 +- > drivers/net/ethernet/broadcom/tg3.c | 8 +- > drivers/net/ethernet/brocade/bna/bnad.c | 6 +- > drivers/net/ethernet/calxeda/xgmac.c | 5 +- > drivers/net/ethernet/cavium/thunder/nicvf_main.c | 5 +- > drivers/net/ethernet/chelsio/cxgb3/l2t.c | 2 +- > drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 11 +- > drivers/net/ethernet/chelsio/cxgb4/l2t.c | 2 +- > drivers/net/ethernet/cisco/enic/enic_main.c | 8 +- > drivers/net/ethernet/ec_bhf.c | 4 +- > drivers/net/ethernet/emulex/benet/be_main.c | 5 +- > drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 6 +- > drivers/net/ethernet/hisilicon/hns/hns_enet.c | 6 +- > drivers/net/ethernet/ibm/ehea/ehea_main.c | 5 +- > drivers/net/ethernet/intel/e1000e/e1000.h | 4 +- > drivers/net/ethernet/intel/e1000e/netdev.c | 5 +- > drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 6 +- > drivers/net/ethernet/intel/i40e/i40e.h | 5 +- > drivers/net/ethernet/intel/i40e/i40e_main.c | 18 +- > drivers/net/ethernet/intel/igb/igb_main.c | 10 +- > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +- > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +- > drivers/net/ethernet/marvell/mvneta.c | 4 +- > drivers/net/ethernet/marvell/mvpp2.c | 4 +- > drivers/net/ethernet/marvell/sky2.c | 6 +- > drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 +- > drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 4 +- > drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 +- > drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 3 +- > drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 4 +- > drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 3 +- > drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 9 +- > drivers/net/ethernet/neterion/vxge/vxge-main.c | 4 +- > .../net/ethernet/netronome/nfp/nfp_net_common.c | 6 +- > drivers/net/ethernet/nvidia/forcedeth.c | 4 +- > .../net/ethernet/qlogic/netxen/netxen_nic_main.c | 18 +- > drivers/net/ethernet/qlogic/qed/qed.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_cxt.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_cxt.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_dcbx.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_dcbx.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_dev.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_dev_api.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_hsi.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_hw.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_hw.h | 32 +- > .../net/ethernet/qlogic/qed/qed_init_fw_funcs.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_init_ops.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_init_ops.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_int.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_int.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_iscsi.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_iscsi.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_l2.c | 296 ++- > drivers/net/ethernet/qlogic/qed/qed_l2.h | 60 +- > drivers/net/ethernet/qlogic/qed/qed_ll2.c | 31 +- > drivers/net/ethernet/qlogic/qed/qed_ll2.h | 31 +- > drivers/net/ethernet/qlogic/qed/qed_main.c | 43 +- > drivers/net/ethernet/qlogic/qed/qed_mcp.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_mcp.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_ooo.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_ooo.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_reg_addr.h | 32 +- > drivers/net/ethernet/qlogic/qed/qed_roce.c | 2 +- > drivers/net/ethernet/qlogic/qed/qed_roce.h | 2 +- > drivers/net/ethernet/qlogic/qed/qed_selftest.c | 32 + > drivers/net/ethernet/qlogic/qed/qed_sp.h | 34 +- > drivers/net/ethernet/qlogic/qed/qed_sp_commands.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_spq.c | 32 +- > drivers/net/ethernet/qlogic/qed/qed_sriov.c | 242 +- > drivers/net/ethernet/qlogic/qed/qed_sriov.h | 41 +- > drivers/net/ethernet/qlogic/qed/qed_vf.c | 44 +- > drivers/net/ethernet/qlogic/qed/qed_vf.h | 32 +- > drivers/net/ethernet/qlogic/qede/Makefile | 2 +- > drivers/net/ethernet/qlogic/qede/qede.h | 81 +- > drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 114 +- > drivers/net/ethernet/qlogic/qede/qede_filter.c | 759 ++++++ > drivers/net/ethernet/qlogic/qede/qede_fp.c | 1689 +++++++++++++ > drivers/net/ethernet/qlogic/qede/qede_main.c | 2622 ++------------------ > drivers/net/ethernet/qlogic/qede/qede_roce.c | 2 +- > drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 +- > drivers/net/ethernet/qualcomm/emac/emac.c | 6 +- > drivers/net/ethernet/realtek/8139too.c | 9 +- > drivers/net/ethernet/realtek/r8169.c | 4 +- > drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 8 +- > drivers/net/ethernet/sfc/efx.c | 6 +- > drivers/net/ethernet/sfc/falcon/efx.c | 6 +- > drivers/net/ethernet/sun/niu.c | 6 +- > drivers/net/ethernet/synopsys/dwc_eth_qos.c | 4 +- > drivers/net/ethernet/tile/tilepro.c | 4 +- > drivers/net/ethernet/via/via-rhine.c | 8 +- > drivers/net/fjes/fjes_main.c | 7 +- > drivers/net/hyperv/hyperv_net.h | 242 +- > drivers/net/hyperv/netvsc.c | 523 ++-- > drivers/net/hyperv/netvsc_drv.c | 715 +++--- > drivers/net/hyperv/rndis_filter.c | 428 ++-- > drivers/net/ifb.c | 6 +- > drivers/net/ipvlan/ipvlan_main.c | 5 +- > drivers/net/loopback.c | 5 +- > drivers/net/macsec.c | 8 +- > drivers/net/macvlan.c | 5 +- > drivers/net/nlmon.c | 4 +- > drivers/net/ppp/ppp_generic.c | 4 +- > drivers/net/slip/slip.c | 3 +- > drivers/net/team/team.c | 3 +- > drivers/net/tun.c | 3 +- > drivers/net/veth.c | 6 +- > drivers/net/virtio_net.c | 6 +- > drivers/net/vmxnet3/vmxnet3_ethtool.c | 4 +- > drivers/net/vmxnet3/vmxnet3_int.h | 4 +- > drivers/net/vrf.c | 5 +- > drivers/net/wireless/intel/ipw2x00/ipw2100.c | 4 +- > drivers/net/wireless/intel/ipw2x00/ipw2200.c | 2 +- > drivers/net/wireless/ti/wlcore/init.c | 2 +- > drivers/net/xen-netfront.c | 6 +- > drivers/pci/host/pci-hyperv.c | 22 +- > drivers/power/avs/smartreflex.c | 6 +- > drivers/s390/scsi/zfcp_scsi.c | 1 + > drivers/scsi/be2iscsi/be_main.c | 1 + > drivers/scsi/bfa/bfad_im.c | 2 + > drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 7 +- > drivers/scsi/bnx2i/bnx2i_iscsi.c | 1 + > drivers/scsi/csiostor/csio_scsi.c | 2 + > drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 1 + > drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 + > drivers/scsi/cxgbi/libcxgbi.c | 6 +- > drivers/scsi/fcoe/fcoe.c | 14 +- > drivers/scsi/fnic/fnic_main.c | 1 + > drivers/scsi/ibmvscsi/ibmvfc.c | 1 + > drivers/scsi/ibmvscsi/ibmvscsi.c | 1 + > drivers/scsi/ipr.c | 2 +- > drivers/scsi/iscsi_tcp.c | 1 + > drivers/scsi/libiscsi.c | 5 +- > drivers/scsi/libsas/sas_init.c | 1 - > drivers/scsi/libsas/sas_internal.h | 2 - > drivers/scsi/libsas/sas_scsi_host.c | 7 - > drivers/scsi/lpfc/lpfc_scsi.c | 2 + > drivers/scsi/lpfc/lpfc_sli.c | 14 +- > drivers/scsi/mvumi.c | 6 +- > drivers/scsi/qedi/qedi_iscsi.c | 1 + > drivers/scsi/qla2xxx/qla_os.c | 1 + > drivers/scsi/scsi_error.c | 4 +- > drivers/scsi/scsi_transport_fc.c | 19 +- > drivers/scsi/scsi_transport_sas.c | 2 +- > drivers/scsi/scsi_transport_srp.c | 5 +- > drivers/scsi/storvsc_drv.c | 34 +- > drivers/staging/netlogic/xlr_net.c | 10 +- > drivers/uio/uio_hv_generic.c | 2 +- > drivers/usb/gadget/udc/fsl_udc_core.c | 4 +- > include/linux/hyperv.h | 233 +- > include/linux/libata.h | 2 + > include/linux/netdevice.h | 8 +- > include/linux/qed/common_hsi.h | 33 +- > include/linux/qed/eth_common.h | 32 +- > include/linux/qed/iscsi_common.h | 32 +- > include/linux/qed/qed_chain.h | 34 +- > include/linux/qed/qed_eth_if.h | 34 +- > include/linux/qed/qed_if.h | 35 +- > include/linux/qed/qed_iov_if.h | 34 +- > include/linux/qed/qed_iscsi_if.h | 32 +- > include/linux/qed/qed_ll2_if.h | 31 +- > include/linux/qed/qed_roce_if.h | 2 +- > include/linux/qed/qede_roce.h | 2 +- > include/linux/qed/rdma_common.h | 32 +- > include/linux/qed/roce_common.h | 32 +- > include/linux/qed/storage_common.h | 32 +- > include/linux/qed/tcp_common.h | 32 +- > include/linux/refcount.h | 61 + > include/net/ip_tunnels.h | 4 +- > include/rdma/ib_addr.h | 6 +- > include/scsi/libiscsi.h | 1 + > include/scsi/scsi_transport.h | 11 - > include/scsi/scsi_transport_fc.h | 2 + > include/scsi/scsi_transport_srp.h | 1 + > lib/Makefile | 2 +- > lib/refcount.c | 365 +++ > net/8021q/vlan_dev.c | 5 +- > net/bridge/br_device.c | 6 +- > net/hsr/hsr_slave.c | 3 +- > net/ipv4/ip_tunnel_core.c | 6 +- > net/l2tp/l2tp_eth.c | 6 +- > net/mac80211/iface.c | 4 +- > net/openvswitch/vport-internal_dev.c | 4 +- > net/sched/sch_teql.c | 5 +- > scripts/spelling.txt | 1 + > sound/soc/qcom/lpass.h | 2 +- > sound/soc/soc-topology.c | 4 +- > 232 files changed, 6908 insertions(+), 4714 deletions(-) > delete mode 100644 debian.azure/abi/4.10.0-1004.4/abiname > create mode 100644 debian.azure/abi/4.10.0-1005.5/abiname > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure (99%) > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure.compiler (100%) > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure.modules (100%) > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/fwinfo (100%) > create mode 100644 drivers/net/ethernet/qlogic/qede/qede_filter.c > create mode 100644 drivers/net/ethernet/qlogic/qede/qede_fp.c > create mode 100644 include/linux/refcount.h > create mode 100644 lib/refcount.c >
On Tue, May 23, 2017 at 10:26:30AM +0200, Stefan Bader wrote: > On 19.05.2017 00:57, Marcelo Cerri wrote: > > BugLink: https://bugs.launchpad.net/bugs/1690177 > > > > That's the backport from upstream for the Hyper-V drivers as requested by > > lp#1690177. > > > > A few notes on the changes below: > > > > I believe things looked ok when I pulled. Not sure time has made this request > outdated. Most of it is still valid. However MS noticed some issues with PCI and requested 2 commits to be dropped. I'm preparing a new pull request without those commits. Thanks for the review. > > -Stefan > > > 1. I didn't apply the following commit because it doesn't seem to be necessary > > and it affects a large number of files: > > > > 68db0cf10678630d286f4bbbbdfa102951a35faa sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> > > > > 2. There are 3 commits with trivial conflicts: > > > > f2ba2c6cbc39036bae82a1c2ffaf8fbd2faaa484 netvsc: remove no longer needed receive staging buffers > > d5b882cc6fd355aa34b3cec46edefe45999dc605 vmbus: introduce in-place packet iterator > > b5ce98f766bb3ad24458f12bcce6e5c897a97099 net: make ndo_get_stats64 a void function > > > > The first 2 conflicts were caused by 2 parallel branches in upstream and the > > later one was caused by previous commits that we picked for the zesty kernel. > > > > 3. The following commit makes use of linux/refcount.h that is indirectly > > included via linux/kref.h: > > > > 495c9a03c258267211ed5aa972ea1f51fca1eb1d netvsc: use refcount_t for keeping track of sub channels > > > > To avoid the backport of a large set of changes for kref.h, I decided to > > include refcount.h where it is needed in the following commit: > > > > e53b7f0299c836b7cf683f1cfed81ba16b251545 UBUNTU: SAUCE: include refcount.h in hyperv_net.h > > > > --- > > > > The following changes since commit b18b5329c7081f661e161ab9330887006c8d18e7: > > > > UBUNTU: Ubuntu-azure-4.10.0-1005.5 (2017-05-15 22:49:17 -0300) > > > > are available in the git repository at: > > > > https://git.launchpad.net/~mhcerri/ubuntu/+source/linux/+git/azure lp1690177-hyperv-backport > > > > for you to fetch changes up to 87eed74fb30f0fe74ecab0bed78206885ca2bb3b: > > > > netvsc: Deal with rescinded channels correctly (2017-05-18 17:40:01 -0300) > > > > ---------------------------------------------------------------- > > Cathy Avery (2): > > scsi: scsi_transport_fc: Add dummy initiator role to rport > > scsi: storvsc: Add support for FC rport. > > > > Christoph Hellwig (3): > > scsi: mvumi: remove fake transport template > > scsi: libsas: remove sas_scsi_timed_out > > scsi: remove eh_timed_out methods in the transport template > > > > David Windsor (1): > > locking/refcount: Add refcount_t API kernel-doc comments > > > > Dexuan Cui (1): > > netvsc: fix use-after-free in netvsc_change_mtu() > > > > Elena Reshetova (2): > > locking/refcounts: Add missing kernel.h header to have UINT_MAX defined > > PCI: hv: Convert hv_pci_dev.refs from atomic_t to refcount_t > > > > Guenter Roeck (1): > > Input: serio - drop unnecessary calls to device_init_wakeup > > > > Haiyang Zhang (1): > > hv_netvsc: Fix the queue index computation in forwarding case > > > > K. Y. Srinivasan (6): > > PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs > > PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC > > Drivers: hv: Fix a typo > > Drivers: hv: Base autoeoi enablement based on hypervisor hints > > Drivers: hv: Issue explicit EOI when autoeoi is not enabled > > netvsc: Deal with rescinded channels correctly > > > > Marcelo Henrique Cerri (2): > > UBUNTU: Start new release > > UBUNTU: SAUCE: include refcount.h in hyperv_net.h > > > > Masahiro Yamada (1): > > scripts/spelling.txt: add "intialization" pattern and fix typo instances > > > > Miguel Bernal Marin (2): > > scsi: storvsc: Prefer kcalloc over kzalloc with multiply > > scsi: storvsc: remove return at end of void function > > > > Mintz, Yuval (7): > > qed*: Update to dual-license > > qede: Break datapath logic into its own file > > qede: Split filtering logic to its own file > > qed*: Change maximal number of queues > > qede: Postpone reallocation until NAPI end > > qed*: RSS indirection based on queue-handles > > qed*: Add support for ndo_set_vf_trust > > > > Parav Pandit (1): > > net-next: treewide use is_vlan_dev() helper function. > > > > Peter Zijlstra (2): > > refcount_t: Introduce a special purpose refcount type > > locking/refcounts: Out-of-line everything > > > > Philippe Reynes (1): > > net: hyperv: use new api ethtool_{get|set}_link_ksettings > > > > Simon Xiao (2): > > netvsc: report per-channel stats in ethtool statistics > > hv_netvsc: change netvsc device default duplex to FULL > > > > Stephen Hemminger (18): > > vmbus: use kernel bitops for traversing interrupt mask > > vmbus: drop no longer used kick_q argument > > vmbus: remove no longer used signal_policy > > vmbus: remove unused kickq argument to sendpacket > > vmbus: put related per-cpu variable together > > vmbus: callback is in softirq not workqueue > > vmbus: change to per channel tasklet > > vmbus: add direct isr callback mode > > vmbus: expose hv_begin/end_read > > vmbus: remove conditional locking of vmbus_write > > vmbus: constify parameters where possible > > vmbus: only reschedule tasklet if time limit exceeded > > vmbus: remove useless return's > > vmbus: remove unnecessary initialization > > vmbus: fix spelling errors > > vmbus: make channel_message table constant > > vmbus: cleanup header file style > > vmbus: expose debug info for drivers > > > > stephen hemminger (37): > > netvsc: negotiate checksum and segmentation parameters > > netvsc: report number of rx queues in ethtool > > netvsc: add ethtool ops to get/set RSS key > > netvsc: allow more flexible setting of number of channels > > netvsc: remove unused variables > > netvsc: remove no longer needed receive staging buffers > > netvsc: enhance transmit select_queue > > netvsc: group all per-channel state together > > netvsc: optimize receive path > > netvsc: don't pass void * to internal device_add > > netvsc: simplify rndis_filter_remove > > netvsc: eliminate per-device outstanding send counter > > netvsc: account for packets/bytes transmitted after completion > > netvsc: call netif_receive_skb > > netvsc: handle select_queue when device is being removed > > netvsc: simplify get next send section > > netvsc: fix calculation of available send sections > > netvsc: don't overload variable in same function > > vmbus: introduce in-place packet iterator > > netvsc: implement NAPI > > netvsc: replace netdev_alloc_skb_ip_align with napi_alloc_skb > > netvsc: remove unused #define > > netvsc: need napi scheduled during removal > > netvsc: avoid race with callback > > netvsc: add comments about callback's and NAPI > > netvsc: fix NAPI performance regression > > netvsc: allow get/set of RSS indirection table > > netvsc: handle offline mtu and channel change > > netvsc: change max channel calculation > > net: make ndo_get_stats64 a void function > > netvsc: enable GRO > > netvsc: use RCU to protect inner device structure > > netvsc: uses RCU instead of removal flag > > netvsc: use refcount_t for keeping track of sub channels > > netvsc: remove unnecessary lock on shutdown > > netvsc: eliminate unnecessary skb == NULL checks > > netvsc: fix and cleanup rndis_filter_set_packet_filter > > > > arch/arm/mach-omap2/omap_twl.c | 2 +- > > arch/x86/include/uapi/asm/hyperv.h | 7 +- > > arch/x86/kernel/cpu/mshyperv.c | 3 + > > debian.azure/abi/4.10.0-1004.4/abiname | 1 - > > debian.azure/abi/4.10.0-1005.5/abiname | 1 + > > .../{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure | 82 +- > > .../amd64/azure.compiler | 0 > > .../amd64/azure.modules | 0 > > .../abi/{4.10.0-1004.4 => 4.10.0-1005.5}/fwinfo | 0 > > debian.azure/changelog | 8 + > > drivers/acpi/spcr.c | 2 +- > > drivers/ata/libata-eh.c | 1 + > > drivers/ata/libata-transport.c | 1 - > > drivers/ata/libata.h | 1 - > > drivers/firewire/core-device.c | 4 +- > > drivers/hv/channel.c | 57 +- > > drivers/hv/channel_mgmt.c | 89 +- > > drivers/hv/connection.c | 169 +- > > drivers/hv/hv.c | 129 +- > > drivers/hv/hv_balloon.c | 2 - > > drivers/hv/hv_fcopy.c | 2 - > > drivers/hv/hv_kvp.c | 12 +- > > drivers/hv/hv_snapshot.c | 2 - > > drivers/hv/hv_util.c | 3 +- > > drivers/hv/hyperv_vmbus.h | 105 +- > > drivers/hv/ring_buffer.c | 165 +- > > drivers/hv/vmbus_drv.c | 119 +- > > drivers/infiniband/core/cma.c | 6 +- > > drivers/infiniband/sw/rxe/rxe_net.c | 2 +- > > drivers/infiniband/ulp/iser/iscsi_iser.c | 1 + > > drivers/infiniband/ulp/srp/ib_srp.c | 1 + > > drivers/input/serio/hyperv-keyboard.c | 1 - > > drivers/message/fusion/mptfc.c | 1 + > > drivers/message/fusion/mptsas.c | 2 +- > > drivers/mmc/host/mmci_qcom_dml.c | 2 +- > > drivers/net/bonding/bond_main.c | 10 +- > > drivers/net/dummy.c | 5 +- > > drivers/net/ethernet/alacritech/slicoss.c | 6 +- > > drivers/net/ethernet/amazon/ena/ena_netdev.c | 10 +- > > drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 6 +- > > drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- > > drivers/net/ethernet/atheros/alx/main.c | 6 +- > > drivers/net/ethernet/broadcom/b44.c | 5 +- > > drivers/net/ethernet/broadcom/bnx2.c | 5 +- > > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +- > > drivers/net/ethernet/broadcom/cnic.c | 2 +- > > drivers/net/ethernet/broadcom/tg3.c | 8 +- > > drivers/net/ethernet/brocade/bna/bnad.c | 6 +- > > drivers/net/ethernet/calxeda/xgmac.c | 5 +- > > drivers/net/ethernet/cavium/thunder/nicvf_main.c | 5 +- > > drivers/net/ethernet/chelsio/cxgb3/l2t.c | 2 +- > > drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 11 +- > > drivers/net/ethernet/chelsio/cxgb4/l2t.c | 2 +- > > drivers/net/ethernet/cisco/enic/enic_main.c | 8 +- > > drivers/net/ethernet/ec_bhf.c | 4 +- > > drivers/net/ethernet/emulex/benet/be_main.c | 5 +- > > drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 6 +- > > drivers/net/ethernet/hisilicon/hns/hns_enet.c | 6 +- > > drivers/net/ethernet/ibm/ehea/ehea_main.c | 5 +- > > drivers/net/ethernet/intel/e1000e/e1000.h | 4 +- > > drivers/net/ethernet/intel/e1000e/netdev.c | 5 +- > > drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 6 +- > > drivers/net/ethernet/intel/i40e/i40e.h | 5 +- > > drivers/net/ethernet/intel/i40e/i40e_main.c | 18 +- > > drivers/net/ethernet/intel/igb/igb_main.c | 10 +- > > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +- > > drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +- > > drivers/net/ethernet/marvell/mvneta.c | 4 +- > > drivers/net/ethernet/marvell/mvpp2.c | 4 +- > > drivers/net/ethernet/marvell/sky2.c | 6 +- > > drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 +- > > drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 4 +- > > drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 +- > > drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 3 +- > > drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 4 +- > > drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 3 +- > > drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 9 +- > > drivers/net/ethernet/neterion/vxge/vxge-main.c | 4 +- > > .../net/ethernet/netronome/nfp/nfp_net_common.c | 6 +- > > drivers/net/ethernet/nvidia/forcedeth.c | 4 +- > > .../net/ethernet/qlogic/netxen/netxen_nic_main.c | 18 +- > > drivers/net/ethernet/qlogic/qed/qed.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_cxt.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_cxt.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_dcbx.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_dcbx.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_dev.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_dev_api.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_hsi.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_hw.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_hw.h | 32 +- > > .../net/ethernet/qlogic/qed/qed_init_fw_funcs.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_init_ops.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_init_ops.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_int.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_int.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_iscsi.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_iscsi.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_l2.c | 296 ++- > > drivers/net/ethernet/qlogic/qed/qed_l2.h | 60 +- > > drivers/net/ethernet/qlogic/qed/qed_ll2.c | 31 +- > > drivers/net/ethernet/qlogic/qed/qed_ll2.h | 31 +- > > drivers/net/ethernet/qlogic/qed/qed_main.c | 43 +- > > drivers/net/ethernet/qlogic/qed/qed_mcp.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_mcp.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_ooo.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_ooo.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_reg_addr.h | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_roce.c | 2 +- > > drivers/net/ethernet/qlogic/qed/qed_roce.h | 2 +- > > drivers/net/ethernet/qlogic/qed/qed_selftest.c | 32 + > > drivers/net/ethernet/qlogic/qed/qed_sp.h | 34 +- > > drivers/net/ethernet/qlogic/qed/qed_sp_commands.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_spq.c | 32 +- > > drivers/net/ethernet/qlogic/qed/qed_sriov.c | 242 +- > > drivers/net/ethernet/qlogic/qed/qed_sriov.h | 41 +- > > drivers/net/ethernet/qlogic/qed/qed_vf.c | 44 +- > > drivers/net/ethernet/qlogic/qed/qed_vf.h | 32 +- > > drivers/net/ethernet/qlogic/qede/Makefile | 2 +- > > drivers/net/ethernet/qlogic/qede/qede.h | 81 +- > > drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 114 +- > > drivers/net/ethernet/qlogic/qede/qede_filter.c | 759 ++++++ > > drivers/net/ethernet/qlogic/qede/qede_fp.c | 1689 +++++++++++++ > > drivers/net/ethernet/qlogic/qede/qede_main.c | 2622 ++------------------ > > drivers/net/ethernet/qlogic/qede/qede_roce.c | 2 +- > > drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 4 +- > > drivers/net/ethernet/qualcomm/emac/emac.c | 6 +- > > drivers/net/ethernet/realtek/8139too.c | 9 +- > > drivers/net/ethernet/realtek/r8169.c | 4 +- > > drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 8 +- > > drivers/net/ethernet/sfc/efx.c | 6 +- > > drivers/net/ethernet/sfc/falcon/efx.c | 6 +- > > drivers/net/ethernet/sun/niu.c | 6 +- > > drivers/net/ethernet/synopsys/dwc_eth_qos.c | 4 +- > > drivers/net/ethernet/tile/tilepro.c | 4 +- > > drivers/net/ethernet/via/via-rhine.c | 8 +- > > drivers/net/fjes/fjes_main.c | 7 +- > > drivers/net/hyperv/hyperv_net.h | 242 +- > > drivers/net/hyperv/netvsc.c | 523 ++-- > > drivers/net/hyperv/netvsc_drv.c | 715 +++--- > > drivers/net/hyperv/rndis_filter.c | 428 ++-- > > drivers/net/ifb.c | 6 +- > > drivers/net/ipvlan/ipvlan_main.c | 5 +- > > drivers/net/loopback.c | 5 +- > > drivers/net/macsec.c | 8 +- > > drivers/net/macvlan.c | 5 +- > > drivers/net/nlmon.c | 4 +- > > drivers/net/ppp/ppp_generic.c | 4 +- > > drivers/net/slip/slip.c | 3 +- > > drivers/net/team/team.c | 3 +- > > drivers/net/tun.c | 3 +- > > drivers/net/veth.c | 6 +- > > drivers/net/virtio_net.c | 6 +- > > drivers/net/vmxnet3/vmxnet3_ethtool.c | 4 +- > > drivers/net/vmxnet3/vmxnet3_int.h | 4 +- > > drivers/net/vrf.c | 5 +- > > drivers/net/wireless/intel/ipw2x00/ipw2100.c | 4 +- > > drivers/net/wireless/intel/ipw2x00/ipw2200.c | 2 +- > > drivers/net/wireless/ti/wlcore/init.c | 2 +- > > drivers/net/xen-netfront.c | 6 +- > > drivers/pci/host/pci-hyperv.c | 22 +- > > drivers/power/avs/smartreflex.c | 6 +- > > drivers/s390/scsi/zfcp_scsi.c | 1 + > > drivers/scsi/be2iscsi/be_main.c | 1 + > > drivers/scsi/bfa/bfad_im.c | 2 + > > drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 7 +- > > drivers/scsi/bnx2i/bnx2i_iscsi.c | 1 + > > drivers/scsi/csiostor/csio_scsi.c | 2 + > > drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 1 + > > drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 + > > drivers/scsi/cxgbi/libcxgbi.c | 6 +- > > drivers/scsi/fcoe/fcoe.c | 14 +- > > drivers/scsi/fnic/fnic_main.c | 1 + > > drivers/scsi/ibmvscsi/ibmvfc.c | 1 + > > drivers/scsi/ibmvscsi/ibmvscsi.c | 1 + > > drivers/scsi/ipr.c | 2 +- > > drivers/scsi/iscsi_tcp.c | 1 + > > drivers/scsi/libiscsi.c | 5 +- > > drivers/scsi/libsas/sas_init.c | 1 - > > drivers/scsi/libsas/sas_internal.h | 2 - > > drivers/scsi/libsas/sas_scsi_host.c | 7 - > > drivers/scsi/lpfc/lpfc_scsi.c | 2 + > > drivers/scsi/lpfc/lpfc_sli.c | 14 +- > > drivers/scsi/mvumi.c | 6 +- > > drivers/scsi/qedi/qedi_iscsi.c | 1 + > > drivers/scsi/qla2xxx/qla_os.c | 1 + > > drivers/scsi/scsi_error.c | 4 +- > > drivers/scsi/scsi_transport_fc.c | 19 +- > > drivers/scsi/scsi_transport_sas.c | 2 +- > > drivers/scsi/scsi_transport_srp.c | 5 +- > > drivers/scsi/storvsc_drv.c | 34 +- > > drivers/staging/netlogic/xlr_net.c | 10 +- > > drivers/uio/uio_hv_generic.c | 2 +- > > drivers/usb/gadget/udc/fsl_udc_core.c | 4 +- > > include/linux/hyperv.h | 233 +- > > include/linux/libata.h | 2 + > > include/linux/netdevice.h | 8 +- > > include/linux/qed/common_hsi.h | 33 +- > > include/linux/qed/eth_common.h | 32 +- > > include/linux/qed/iscsi_common.h | 32 +- > > include/linux/qed/qed_chain.h | 34 +- > > include/linux/qed/qed_eth_if.h | 34 +- > > include/linux/qed/qed_if.h | 35 +- > > include/linux/qed/qed_iov_if.h | 34 +- > > include/linux/qed/qed_iscsi_if.h | 32 +- > > include/linux/qed/qed_ll2_if.h | 31 +- > > include/linux/qed/qed_roce_if.h | 2 +- > > include/linux/qed/qede_roce.h | 2 +- > > include/linux/qed/rdma_common.h | 32 +- > > include/linux/qed/roce_common.h | 32 +- > > include/linux/qed/storage_common.h | 32 +- > > include/linux/qed/tcp_common.h | 32 +- > > include/linux/refcount.h | 61 + > > include/net/ip_tunnels.h | 4 +- > > include/rdma/ib_addr.h | 6 +- > > include/scsi/libiscsi.h | 1 + > > include/scsi/scsi_transport.h | 11 - > > include/scsi/scsi_transport_fc.h | 2 + > > include/scsi/scsi_transport_srp.h | 1 + > > lib/Makefile | 2 +- > > lib/refcount.c | 365 +++ > > net/8021q/vlan_dev.c | 5 +- > > net/bridge/br_device.c | 6 +- > > net/hsr/hsr_slave.c | 3 +- > > net/ipv4/ip_tunnel_core.c | 6 +- > > net/l2tp/l2tp_eth.c | 6 +- > > net/mac80211/iface.c | 4 +- > > net/openvswitch/vport-internal_dev.c | 4 +- > > net/sched/sch_teql.c | 5 +- > > scripts/spelling.txt | 1 + > > sound/soc/qcom/lpass.h | 2 +- > > sound/soc/soc-topology.c | 4 +- > > 232 files changed, 6908 insertions(+), 4714 deletions(-) > > delete mode 100644 debian.azure/abi/4.10.0-1004.4/abiname > > create mode 100644 debian.azure/abi/4.10.0-1005.5/abiname > > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure (99%) > > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure.compiler (100%) > > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/amd64/azure.modules (100%) > > rename debian.azure/abi/{4.10.0-1004.4 => 4.10.0-1005.5}/fwinfo (100%) > > create mode 100644 drivers/net/ethernet/qlogic/qede/qede_filter.c > > create mode 100644 drivers/net/ethernet/qlogic/qede/qede_fp.c > > create mode 100644 include/linux/refcount.h > > create mode 100644 lib/refcount.c > > > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team