← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1632786] Re: [Hyper-V] do not lose pending heartbeat vmbus packets

 

This bug was fixed in the package linux - 3.13.0-106.153

---------------
linux (3.13.0-106.153) trusty; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1647749

  * CVE-2016-7916
    - proc: prevent accessing /proc/<PID>/environ until it's ready

  * CVE-2016-6213
    - mnt: Add a per mount namespace limit on the number of mounts

  * aio completions are dropped (LP: #1641129)
    - aio: fix reqs_available handling

  * [Hyper-V] do not lose pending heartbeat vmbus packets (LP: #1632786)
    - hv: do not lose pending heartbeat vmbus packets

  * ipv6: connected routes are missing after a down/up cycle on the loopback
    (LP: #1634545)
    - ipv6: reallocate addrconf router for ipv6 address when lo device up
    - ipv6: correctly add local routes when lo goes up

  * audit: prevent a new auditd to stop an old auditd still alive (LP: #1633404)
    - audit: stop an old auditd being starved out by a new auditd

  * Setting net.ipv4.neigh.default.gc_thresh1/2/3 on 3.13.0-97.144 or later
    causes 'invalid argument' error (LP: #1634892)
    - neigh: fix setting of default gc_* values

  * move nvme driver to linux-image (LP: #1640275)
    - [Config] Add nvme to the generic inclusion list

 -- Luis Henriques <luis.henriques@xxxxxxxxxxxxx>  Tue, 06 Dec 2016
15:00:27 +0000

** Changed in: linux (Ubuntu Vivid)
       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/1632786

Title:
  [Hyper-V] do not lose pending heartbeat vmbus packets

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Precise:
  Fix Released
Status in linux source package in Trusty:
  Fix Released
Status in linux source package in Vivid:
  Fix Released
Status in linux source package in Xenial:
  Fix Committed
Status in linux source package in Yakkety:
  Fix Committed

Bug description:
  Hyper-V hosts can continue sending heartbeat packets to guests
  independent of whether earlier packets have responses, which led to a
  potential issue of these packets being dropped when responses took too
  long to process. Lost heartbeats will lead to the host diagnosing that
  the guest is dead and should be shut down and restarted.

  The following patch was submitted upstream but has not yet been
  accepted. I will add the upstream commit ID once the patch goes into
  linux-next:

  From: Long Li <longli@xxxxxxxxxxxxx>

  The host keeps sending heartbeat packets independent of the
  guest responding to them.  Even though we respond to the heartbeat messages at
  interrupt level, we can have situations where there maybe multiple heartbeat
  messages pending that have not been responded to. For instance this occurs when the
  VM is paused and the host continues to send the heartbeat messages.
  Address this issue by draining and responding to all
  the heartbeat messages that maybe pending.

  Signed-off-by: Long Li <longli@xxxxxxxxxxxxx>
  Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
  CC: Stable <stable@xxxxxxxxxxxxxxx>
  ---
          V2: Submit the patch to stable as well - Joshua R. Poulson <jrp@xxxxxxx>

   drivers/hv/hv_util.c |   10 +++++++---
   1 files changed, 7 insertions(+), 3 deletions(-)

  diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
  index 4aa3cb6..bcd0630 100644
  --- a/drivers/hv/hv_util.c
  +++ b/drivers/hv/hv_util.c
  @@ -314,10 +314,14 @@ static void heartbeat_onchannelcallback(void *context)
          u8 *hbeat_txf_buf = util_heartbeat.recv_buffer;
          struct icmsg_negotiate *negop = NULL;

  -       vmbus_recvpacket(channel, hbeat_txf_buf,
  -                        PAGE_SIZE, &recvlen, &requestid);
  +       while (1) {
  +
  +               vmbus_recvpacket(channel, hbeat_txf_buf,
  +                                PAGE_SIZE, &recvlen, &requestid);
  +
  +               if (!recvlen)
  +                       break;

  -       if (recvlen > 0) {
                  icmsghdrp = (struct icmsg_hdr *)&hbeat_txf_buf[
                                  sizeof(struct vmbuspipe_hdr)];

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