← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1661430] Re: [Hyper-V] Fix ring buffer handling to avoid host throttling

 

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

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

  * linux: 4.8.0-40.43 -proposed tracker (LP: #1667066)

  [ Andy Whitcroft ]
  * NFS client : permission denied when trying to access subshare, since kernel
    4.4.0-31 (LP: #1649292)
    - fs: Better permission checking for submounts

  * shaking screen  (LP: #1651981)
    - drm/radeon: drop verde dpm quirks

  * [0bda:0328] Card reader failed after S3 (LP: #1664809)
    - usb: hub: Wait for connection to be reestablished after port reset

  * 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

  * In Ubuntu 17.04 : after reboot getting message in console like Unable to
    open file: /etc/keys/x509_ima.der (-2) (LP: #1656908)
    - SAUCE: ima: Downgrade error to warning

  * 16.04.2: Extra patches for POWER9 (LP: #1664564)
    - powerpc/mm: Fix no execute fault handling on pre-POWER5
    - powerpc/mm: Fix spurrious segfaults on radix with autonuma

  * ibmvscsis: Add SGL LIMIT (LP: #1662551)
    - ibmvscsis: Add SGL limit

  * [Hyper-V] Bug fixes for storvsc (tagged queuing, error conditions)
    (LP: #1663687)
    - scsi: storvsc: Enable tracking of queue depth
    - scsi: storvsc: Remove the restriction on max segment size
    - scsi: storvsc: Enable multi-queue support
    - scsi: storvsc: use tagged SRB requests if supported by the device
    - scsi: storvsc: properly handle SRB_ERROR when sense message is present
    - scsi: storvsc: properly set residual data length on errors

  * Ubuntu16.10-KVM:Big configuration with multiple guests running SRIOV VFs
    caused KVM host hung and all KVM guests down. (LP: #1651248)
    - KVM: PPC: Book 3S: XICS cleanup: remove XICS_RM_REJECT
    - KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
    - KVM: PPC: Book 3S: XICS: Fix potential issue with duplicate IRQ resends
    - KVM: PPC: Book 3S: XICS: Implement ICS P/Q states
    - KVM: PPC: Book 3S: XICS: Don't lock twice when checking for resend

  * ISST-LTE:pNV: ppc64_cpu command is hung w HDs, SSDs and NVMe (LP: #1662666)
    - blk-mq: Avoid memory reclaim when remapping queues
    - blk-mq: Fix failed allocation path when mapping queues
    - blk-mq: Always schedule hctx->next_cpu

  * systemd-udevd hung in blk_mq_freeze_queue_wait testing unpartitioned NVMe
    drive (LP: #1662673)
    - percpu-refcount: fix reference leak during percpu-atomic transition

  * [Yakkety SRU] Enable KEXEC support in ARM64 kernel (LP: #1662554)
    - [Config] Enable KEXEC support in ARM64.

  * [Hyper-V] Fix ring buffer handling to avoid host throttling (LP: #1661430)
    - Drivers: hv: vmbus: On write cleanup the logic to interrupt the host
    - Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host
    - Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()

  * brd module compiled as built-in (LP: #1593293)
    - CONFIG_BLK_DEV_RAM=m

  * 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

  * flock not mediated by 'k' (LP: #1658219)
    - SAUCE: apparmor: flock mediation is not being enforced on cache check

  * 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_parser hangs indefinitely when called by multiple threads
    (LP: #1645037)
    - SAUCE: apparmor: fix lock ordering for mkdir

  * apparmor leaking securityfs pin count (LP: #1660846)
    - SAUCE: apparmor: fix leak on securityfs pin count

  * apparmor reference count leak when securityfs_setup_d_inode\ () fails
    (LP: #1660845)
    - SAUCE: apparmor: fix reference count leak when securityfs_setup_d_inode()
      fails

  * apparmor not checking error if security_pin_fs() fails (LP: #1660842)
    - SAUCE: apparmor: fix not handling error case when securityfs_pin_fs() fails

  * 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 nested namespaces
    (LP: #1660832)
    - SAUCE: apparmor: fix cross ns perm of unix domain sockets

  * Enable CONFIG_NET_DROP_MONITOR=m in Ubuntu Kernel (LP: #1660634)
    - [Config] CONFIG_NET_DROP_MONITOR=m

  * Linux kernel 4.8 hangs at boot up (LP: #1659340)
    - SAUCE: x86/efi: Always map first physical page into EFI pagetables

  * s390/kconfig: CONFIG_NUMA without CONFIG_NUMA_EMU does not make any sense on
    s390x (LP: #1557690)
    - [Config] CONFIG_NUMA_BALANCING=y
    - [Config] CONFIG_NUMA=y, CONFIG_NUMA_EMU=y for s390x

 -- Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx>  Wed, 22 Feb
2017 15:03:35 -0300

** Changed in: linux (Ubuntu Yakkety)
       Status: Fix Committed => Fix Released

** Changed in: linux (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1661430

Title:
  [Hyper-V] Fix ring buffer handling to avoid host throttling

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Xenial:
  Fix Released
Status in linux source package in Yakkety:
  Fix Released
Status in linux source package in Zesty:
  Fix Committed

Bug description:
  An unfortunate side effect of some of the recent work done to improve
  ring buffer performance made a situation where the host would
  interpret guest requests as a denial of service attack, pausing guest
  communications for five seconds. This series of fixes corrects this
  problem.

  Needed for each kernel that has included a389fcfd2cb5 ("Drivers: hv:
  vmbus: Fix signaling logic in hv_need_to_signal_on_read()")

  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=74198eb4a42c4a3c4fbef08fa01a291a282f7c2e

  Drivers: hv: vmbus: Base host signaling strictly on the ring state
  One of the factors that can result in the host concluding that a given
  guest in mounting a DOS attack is if the guest generates interrupts
  to the host when the host is not expecting it. If these "spurious"
  interrupts reach a certain rate, the host can throttle the guest to
  minimize the impact. The host computation of the "expected number
  of interrupts" is strictly based on the ring transitions. Until
  the host logic is fixed, base the guest logic to interrupt solely
  on the ring state.

  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1f6ee4e7d83586c8b10bd4f2f4346353d04ce884

  Drivers: hv: vmbus: On write cleanup the logic to interrupt the host
  Signal the host when we determine the host is to be signaled.
  The currrent code determines the need to signal in the ringbuffer
  code and actually issues the signal elsewhere. This can result
  in the host viewing this interrupt as spurious since the host may also
  poll the channel. Make the necessary adjustments.

  https://git.kernel.org/cgit/linux/kernel/git/next/linux-
  next.git/commit/?id=3372592a140db69fd63837e81f048ab4abf8111e

  Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host
  Signal the host when we determine the host is to be signaled -
  on th read path. The currrent code determines the need to signal in the
  ringbuffer code and actually issues the signal elsewhere. This can result
  in the host viewing this interrupt as spurious since the host may also
  poll the channel. Make the necessary adjustments.

  https://git.kernel.org/cgit/linux/kernel/git/next/linux-
  next.git/commit/?id=433e19cf33d34bb6751c874a9c00980552fe508c

  Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
  Commit a389fcfd2cb5 ("Drivers: hv: vmbus: Fix signaling logic in
  hv_need_to_signal_on_read()")
  added the proper mb(), but removed the test "prev_write_sz < pending_sz"
  when making the signal decision.

  As a result, the guest can signal the host unnecessarily,
  and then the host can throttle the guest because the host
  thinks the guest is buggy or malicious; finally the user
  running stress test can perceive intermittent freeze of
  the guest.

  This patch brings back the test, and properly handles the
  in-place consumption APIs used by NetVSC (see get_next_pkt_raw(),
  put_pkt_raw() and commit_rd_index()).

  Fixes: a389fcfd2cb5 ("Drivers: hv: vmbus: Fix signaling logic in
  hv_need_to_signal_on_read()")

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1661430/+subscriptions