From xen-changelog-bounces@lists.xen.org Sat Feb 06 12:55:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Feb 2016 12:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aS2OJ-0007vx-L1; Sat, 06 Feb 2016 12:55:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2OH-0007vs-UL
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:55:06 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	D1/86-28221-92DE5B65; Sat, 06 Feb 2016 12:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1454763303!21956460!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 930 invoked from network); 6 Feb 2016 12:55:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Feb 2016 12:55:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2PW-0002Ud-Ha
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:56:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2OE-0007Tc-SD
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:55:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aS2OE-0007Tc-SD@xenbits.xen.org>
Date: Sat, 06 Feb 2016 12:55:02 +0000
Subject: [Xen-changelog] [qemu-xen master] e1000: eliminate infinite loops
	on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e9d825298c0d7e14caf6c4d36d4d3894d138f858
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 11:33:35 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 09c9e9d..6eac66d 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -819,7 +819,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1065,7 +1066,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Feb 06 12:55:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Feb 2016 12:55:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aS2OJ-0007vx-L1; Sat, 06 Feb 2016 12:55:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2OH-0007vs-UL
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:55:06 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	D1/86-28221-92DE5B65; Sat, 06 Feb 2016 12:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1454763303!21956460!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 930 invoked from network); 6 Feb 2016 12:55:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Feb 2016 12:55:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2PW-0002Ud-Ha
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:56:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aS2OE-0007Tc-SD
	for xen-changelog@lists.xensource.com; Sat, 06 Feb 2016 12:55:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aS2OE-0007Tc-SD@xenbits.xen.org>
Date: Sat, 06 Feb 2016 12:55:02 +0000
Subject: [Xen-changelog] [qemu-xen master] e1000: eliminate infinite loops
	on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e9d825298c0d7e14caf6c4d36d4d3894d138f858
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 11:33:35 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 09c9e9d..6eac66d 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -819,7 +819,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1065,7 +1066,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyM-0002t4-EE; Sun, 07 Feb 2016 18:22:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyL-0002sz-Fk
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:09 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	BB/B9-07651-05B87B65; Sun, 07 Feb 2016 18:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1454869327!1394130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4113 invoked from network); 7 Feb 2016 18:22:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzd-0007ZG-Ay
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyI-0000ci-LS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyI-0000ci-LS@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:06 +0000
Subject: [Xen-changelog] [xen master] arm: clean up build variables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a9da09b8646dac7ce2b85e9a216f1566defc2196
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Wed Jan 20 15:47:59 2016 -0600
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Jan 29 14:25:41 2016 +0000

    arm: clean up build variables
    
    This consolidates some of the different variables used for the ARM
    builds. This change was prompted by the Kconfig changes but looking back
    in time the CONFIG_ARM_{32,64} variables existed before Kconfig so this
    should just be a generic cleanup.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- switch from ifdef X to ifeq (X,y) in one place as discussed ]
---
 xen/arch/arm/Makefile            |  8 ++++----
 xen/arch/arm/Rules.mk            | 18 ++++--------------
 xen/drivers/passthrough/Makefile |  2 +-
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 2f050f5..9982a93 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,7 +1,7 @@
-subdir-$(arm32) += arm32
-subdir-$(arm64) += arm64
+subdir-$(CONFIG_ARM_32) += arm32
+subdir-$(CONFIG_ARM_64) += arm64
 subdir-y += platforms
-subdir-$(arm64) += efi
+subdir-$(CONFIG_ARM_64) += efi
 
 obj-$(EARLY_PRINTK) += early_printk.o
 obj-y += cpu.o
@@ -52,7 +52,7 @@ ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS)
 
 $(TARGET): $(TARGET)-syms $(TARGET).axf
 	$(OBJCOPY) -O binary -S $< $@
-ifeq (arm64,$(XEN_TARGET_ARCH))
+ifeq ($(CONFIG_ARM_64),y)
 	ln -sf $(notdir $@)  ../../$(notdir $@).efi
 endif
 
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 4947e64..0aea282 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -11,22 +11,12 @@ CFLAGS += -I$(BASEDIR)/include
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 $(call cc-option-add,CFLAGS,CC,-Wnested-externs)
 
-arm := y
-
-ifeq ($(TARGET_SUBARCH),arm32)
 # Prevent floating-point variables from creeping into Xen.
-CFLAGS += -msoft-float
-CFLAGS += -mcpu=cortex-a15
-arm32 := y
-arm64 := n
-endif
+CFLAGS-$(CONFIG_ARM_32) += -msoft-float
+CFLAGS-$(CONFIG_ARM_32) += -mcpu=cortex-a15
 
-ifeq ($(TARGET_SUBARCH),arm64)
-CFLAGS += -mcpu=generic
-CFLAGS += -mgeneral-regs-only # No fp registers etc
-arm32 := n
-arm64 := y
-endif
+CFLAGS-$(CONFIG_ARM_64) += -mcpu=generic
+CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only # No fp registers etc
 
 ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
diff --git a/xen/drivers/passthrough/Makefile b/xen/drivers/passthrough/Makefile
index ca84e36..6087333 100644
--- a/xen/drivers/passthrough/Makefile
+++ b/xen/drivers/passthrough/Makefile
@@ -1,7 +1,7 @@
 subdir-$(CONFIG_X86) += vtd
 subdir-$(CONFIG_X86) += amd
 subdir-$(CONFIG_X86) += x86
-subdir-$(arm) += arm
+subdir-$(CONFIG_ARM) += arm
 
 obj-y += iommu.o
 obj-$(CONFIG_X86) += io.o
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyM-0002t4-EE; Sun, 07 Feb 2016 18:22:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyL-0002sz-Fk
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:09 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	BB/B9-07651-05B87B65; Sun, 07 Feb 2016 18:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1454869327!1394130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4113 invoked from network); 7 Feb 2016 18:22:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzd-0007ZG-Ay
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyI-0000ci-LS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyI-0000ci-LS@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:06 +0000
Subject: [Xen-changelog] [xen master] arm: clean up build variables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a9da09b8646dac7ce2b85e9a216f1566defc2196
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Wed Jan 20 15:47:59 2016 -0600
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Jan 29 14:25:41 2016 +0000

    arm: clean up build variables
    
    This consolidates some of the different variables used for the ARM
    builds. This change was prompted by the Kconfig changes but looking back
    in time the CONFIG_ARM_{32,64} variables existed before Kconfig so this
    should just be a generic cleanup.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- switch from ifdef X to ifeq (X,y) in one place as discussed ]
---
 xen/arch/arm/Makefile            |  8 ++++----
 xen/arch/arm/Rules.mk            | 18 ++++--------------
 xen/drivers/passthrough/Makefile |  2 +-
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 2f050f5..9982a93 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,7 +1,7 @@
-subdir-$(arm32) += arm32
-subdir-$(arm64) += arm64
+subdir-$(CONFIG_ARM_32) += arm32
+subdir-$(CONFIG_ARM_64) += arm64
 subdir-y += platforms
-subdir-$(arm64) += efi
+subdir-$(CONFIG_ARM_64) += efi
 
 obj-$(EARLY_PRINTK) += early_printk.o
 obj-y += cpu.o
@@ -52,7 +52,7 @@ ALL_OBJS := $(TARGET_SUBARCH)/head.o $(ALL_OBJS)
 
 $(TARGET): $(TARGET)-syms $(TARGET).axf
 	$(OBJCOPY) -O binary -S $< $@
-ifeq (arm64,$(XEN_TARGET_ARCH))
+ifeq ($(CONFIG_ARM_64),y)
 	ln -sf $(notdir $@)  ../../$(notdir $@).efi
 endif
 
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 4947e64..0aea282 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -11,22 +11,12 @@ CFLAGS += -I$(BASEDIR)/include
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 $(call cc-option-add,CFLAGS,CC,-Wnested-externs)
 
-arm := y
-
-ifeq ($(TARGET_SUBARCH),arm32)
 # Prevent floating-point variables from creeping into Xen.
-CFLAGS += -msoft-float
-CFLAGS += -mcpu=cortex-a15
-arm32 := y
-arm64 := n
-endif
+CFLAGS-$(CONFIG_ARM_32) += -msoft-float
+CFLAGS-$(CONFIG_ARM_32) += -mcpu=cortex-a15
 
-ifeq ($(TARGET_SUBARCH),arm64)
-CFLAGS += -mcpu=generic
-CFLAGS += -mgeneral-regs-only # No fp registers etc
-arm32 := n
-arm64 := y
-endif
+CFLAGS-$(CONFIG_ARM_64) += -mcpu=generic
+CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only # No fp registers etc
 
 ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
diff --git a/xen/drivers/passthrough/Makefile b/xen/drivers/passthrough/Makefile
index ca84e36..6087333 100644
--- a/xen/drivers/passthrough/Makefile
+++ b/xen/drivers/passthrough/Makefile
@@ -1,7 +1,7 @@
 subdir-$(CONFIG_X86) += vtd
 subdir-$(CONFIG_X86) += amd
 subdir-$(CONFIG_X86) += x86
-subdir-$(arm) += arm
+subdir-$(CONFIG_ARM) += arm
 
 obj-y += iommu.o
 obj-$(CONFIG_X86) += io.o
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyX-0002uU-Jm; Sun, 07 Feb 2016 18:22:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyW-0002uK-6D
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:20 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	A0/21-10715-B5B87B65; Sun, 07 Feb 2016 18:22:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869337!22045235!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21454 invoked from network); 7 Feb 2016 18:22:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzn-0007Zr-OM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyT-0000dD-A2
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyT-0000dD-A2@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:17 +0000
Subject: [Xen-changelog] [xen master] x86/HVM: differentiate IO/mem
	resources tracked by ioreq server
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5a32c5b8eacbcd727939c9b4d2d98cf619bcbd6
Author:     Shuai Ruan <shuai.ruan@linux.intel.com>
AuthorDate: Fri Jan 29 17:49:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:49:11 2016 +0100

    x86/HVM: differentiate IO/mem resources tracked by ioreq server
    
    Currently in ioreq server, guest write-protected ram pages are
    tracked in the same rangeset with device mmio resources. Yet
    unlike device mmio, which can be in big chunks, the guest write-
    protected pages may be discrete ranges with 4K bytes each. This
    patch uses a seperate rangeset for the guest ram pages.
    
    To differentiate the ioreq type between the write-protected memory
    ranges and the mmio ranges when selecting an ioreq server, the p2m
    type is retrieved by calling get_page_from_gfn(). And we do not
    need to worry about the p2m type change during the ioreq selection
    process.
    
    Note: Previously, a new hypercall or subop was suggested to map
    write-protected pages into ioreq server. However, it turned out
    handler of this new hypercall would be almost the same with the
    existing pair - HVMOP_[un]map_io_range_to_ioreq_server, and there's
    already a type parameter in this hypercall. So no new hypercall
    defined, only a new type is introduced.
    
    Signed-off-by: Shuai Ruan <shuai.ruan@linux.intel.com>
    Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
---
 tools/libxc/include/xenctrl.h    | 31 ++++++++++++++++++++++
 tools/libxc/xc_domain.c          | 55 ++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c           | 27 +++++++++++++++++---
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/public/hvm/hvm_op.h  |  1 +
 5 files changed, 111 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 1d656ac..1a5f4ec 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -1714,6 +1714,37 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch,
                                             int is_mmio,
                                             uint64_t start,
                                             uint64_t end);
+/**
+ * This function registers a range of write-protected memory for emulation.
+ *
+ * @parm xch a handle to an open hypervisor interface.
+ * @parm domid the domain id to be serviced
+ * @parm id the IOREQ Server id.
+ * @parm start start of range
+ * @parm end end of range (inclusive).
+ * @return 0 on success, -1 on failure.
+ */
+int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
+                                            domid_t domid,
+                                            ioservid_t id,
+                                            xen_pfn_t start,
+                                            xen_pfn_t end);
+
+/**
+ * This function deregisters a range of write-protected memory for emulation.
+ *
+ * @parm xch a handle to an open hypervisor interface.
+ * @parm domid the domain id to be serviced
+ * @parm id the IOREQ Server id.
+ * @parm start start of range
+ * @parm end end of range (inclusive).
+ * @return 0 on success, -1 on failure.
+ */
+int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
+                                                domid_t domid,
+                                                ioservid_t id,
+                                                xen_pfn_t start,
+                                                xen_pfn_t end);
 
 /**
  * This function registers a PCI device for config space emulation.
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index 921113d..e21b602 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -1523,6 +1523,61 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch, domid_t domid,
     return rc;
 }
 
+int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
+                                            domid_t domid,
+                                            ioservid_t id,
+                                            xen_pfn_t start,
+                                            xen_pfn_t end)
+{
+    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
+    int rc;
+
+    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
+    if ( arg == NULL )
+        return -1;
+
+    arg->domid = domid;
+    arg->id = id;
+    arg->type = HVMOP_IO_RANGE_WP_MEM;
+    arg->start = start;
+    arg->end = end;
+
+    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
+                  HVMOP_map_io_range_to_ioreq_server,
+                  HYPERCALL_BUFFER_AS_ARG(arg));
+
+    xc_hypercall_buffer_free(xch, arg);
+    return rc;
+}
+
+int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
+                                                domid_t domid,
+                                                ioservid_t id,
+                                                xen_pfn_t start,
+                                                xen_pfn_t end)
+{
+    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
+    int rc;
+
+    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
+    if ( arg == NULL )
+        return -1;
+
+    arg->domid = domid;
+    arg->id = id;
+    arg->type = HVMOP_IO_RANGE_WP_MEM;
+    arg->start = start;
+    arg->end = end;
+
+    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
+                  HVMOP_unmap_io_range_from_ioreq_server,
+                  HYPERCALL_BUFFER_AS_ARG(arg));
+
+    xc_hypercall_buffer_free(xch, arg);
+    return rc;
+
+}
+
 int xc_hvm_map_pcidev_to_ioreq_server(xc_interface *xch, domid_t domid,
                                       ioservid_t id, uint16_t segment,
                                       uint8_t bus, uint8_t device,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 674feea..74c2a82 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -932,6 +932,9 @@ static void hvm_ioreq_server_free_rangesets(struct hvm_ioreq_server *s,
         rangeset_destroy(s->range[i]);
 }
 
+const char *const io_range_name[NR_IO_RANGE_TYPES] =
+                                {"port", "mmio", "pci", "wp-mem"};
+
 static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s, 
                                             bool_t is_default)
 {
@@ -946,10 +949,7 @@ static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s,
         char *name;
 
         rc = asprintf(&name, "ioreq_server %d %s", s->id,
-                      (i == HVMOP_IO_RANGE_PORT) ? "port" :
-                      (i == HVMOP_IO_RANGE_MEMORY) ? "memory" :
-                      (i == HVMOP_IO_RANGE_PCI) ? "pci" :
-                      "");
+                      (i < NR_IO_RANGE_TYPES) ? io_range_name[i] : "");
         if ( rc )
             goto fail;
 
@@ -1267,6 +1267,7 @@ static int hvm_map_io_range_to_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
+            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -1318,6 +1319,7 @@ static int hvm_unmap_io_range_from_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
+            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -2601,6 +2603,18 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
         type = (p->type == IOREQ_TYPE_PIO) ?
                 HVMOP_IO_RANGE_PORT : HVMOP_IO_RANGE_MEMORY;
         addr = p->addr;
+        if ( type == HVMOP_IO_RANGE_MEMORY )
+        {
+            p2m_type_t p2mt;
+            struct page_info *ram_page;
+
+            ram_page = get_page_from_gfn(d, PFN_DOWN(p->addr), &p2mt, 0);
+            if ( p2mt == p2m_mmio_write_dm )
+                type = HVMOP_IO_RANGE_WP_MEM;
+
+            if ( ram_page )
+                put_page(ram_page);
+        }
     }
 
     list_for_each_entry ( s,
@@ -2642,6 +2656,11 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
             }
 
             break;
+        case HVMOP_IO_RANGE_WP_MEM:
+            if ( rangeset_contains_singleton(r, PFN_DOWN(addr)) )
+                return s;
+
+            break;
         }
     }
 
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index a8cc2ad..1e13973 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -48,7 +48,7 @@ struct hvm_ioreq_vcpu {
     bool_t           pending;
 };
 
-#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_PCI + 1)
+#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_WP_MEM + 1)
 #define MAX_NR_IO_RANGES  256
 
 struct hvm_ioreq_server {
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 1606185..c0b1e30 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -333,6 +333,7 @@ struct xen_hvm_io_range {
 # define HVMOP_IO_RANGE_PORT   0 /* I/O port range */
 # define HVMOP_IO_RANGE_MEMORY 1 /* MMIO range */
 # define HVMOP_IO_RANGE_PCI    2 /* PCI segment/bus/dev/func range */
+# define HVMOP_IO_RANGE_WP_MEM 3 /* Write-protected ram range */
     uint64_aligned_t start, end; /* IN - inclusive start and end of range */
 };
 typedef struct xen_hvm_io_range xen_hvm_io_range_t;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyX-0002uU-Jm; Sun, 07 Feb 2016 18:22:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyW-0002uK-6D
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:20 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	A0/21-10715-B5B87B65; Sun, 07 Feb 2016 18:22:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869337!22045235!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21454 invoked from network); 7 Feb 2016 18:22:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzn-0007Zr-OM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyT-0000dD-A2
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyT-0000dD-A2@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:17 +0000
Subject: [Xen-changelog] [xen master] x86/HVM: differentiate IO/mem
	resources tracked by ioreq server
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5a32c5b8eacbcd727939c9b4d2d98cf619bcbd6
Author:     Shuai Ruan <shuai.ruan@linux.intel.com>
AuthorDate: Fri Jan 29 17:49:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:49:11 2016 +0100

    x86/HVM: differentiate IO/mem resources tracked by ioreq server
    
    Currently in ioreq server, guest write-protected ram pages are
    tracked in the same rangeset with device mmio resources. Yet
    unlike device mmio, which can be in big chunks, the guest write-
    protected pages may be discrete ranges with 4K bytes each. This
    patch uses a seperate rangeset for the guest ram pages.
    
    To differentiate the ioreq type between the write-protected memory
    ranges and the mmio ranges when selecting an ioreq server, the p2m
    type is retrieved by calling get_page_from_gfn(). And we do not
    need to worry about the p2m type change during the ioreq selection
    process.
    
    Note: Previously, a new hypercall or subop was suggested to map
    write-protected pages into ioreq server. However, it turned out
    handler of this new hypercall would be almost the same with the
    existing pair - HVMOP_[un]map_io_range_to_ioreq_server, and there's
    already a type parameter in this hypercall. So no new hypercall
    defined, only a new type is introduced.
    
    Signed-off-by: Shuai Ruan <shuai.ruan@linux.intel.com>
    Signed-off-by: Yu Zhang <yu.c.zhang@linux.intel.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
---
 tools/libxc/include/xenctrl.h    | 31 ++++++++++++++++++++++
 tools/libxc/xc_domain.c          | 55 ++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c           | 27 +++++++++++++++++---
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/public/hvm/hvm_op.h  |  1 +
 5 files changed, 111 insertions(+), 5 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 1d656ac..1a5f4ec 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -1714,6 +1714,37 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch,
                                             int is_mmio,
                                             uint64_t start,
                                             uint64_t end);
+/**
+ * This function registers a range of write-protected memory for emulation.
+ *
+ * @parm xch a handle to an open hypervisor interface.
+ * @parm domid the domain id to be serviced
+ * @parm id the IOREQ Server id.
+ * @parm start start of range
+ * @parm end end of range (inclusive).
+ * @return 0 on success, -1 on failure.
+ */
+int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
+                                            domid_t domid,
+                                            ioservid_t id,
+                                            xen_pfn_t start,
+                                            xen_pfn_t end);
+
+/**
+ * This function deregisters a range of write-protected memory for emulation.
+ *
+ * @parm xch a handle to an open hypervisor interface.
+ * @parm domid the domain id to be serviced
+ * @parm id the IOREQ Server id.
+ * @parm start start of range
+ * @parm end end of range (inclusive).
+ * @return 0 on success, -1 on failure.
+ */
+int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
+                                                domid_t domid,
+                                                ioservid_t id,
+                                                xen_pfn_t start,
+                                                xen_pfn_t end);
 
 /**
  * This function registers a PCI device for config space emulation.
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index 921113d..e21b602 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -1523,6 +1523,61 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch, domid_t domid,
     return rc;
 }
 
+int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
+                                            domid_t domid,
+                                            ioservid_t id,
+                                            xen_pfn_t start,
+                                            xen_pfn_t end)
+{
+    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
+    int rc;
+
+    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
+    if ( arg == NULL )
+        return -1;
+
+    arg->domid = domid;
+    arg->id = id;
+    arg->type = HVMOP_IO_RANGE_WP_MEM;
+    arg->start = start;
+    arg->end = end;
+
+    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
+                  HVMOP_map_io_range_to_ioreq_server,
+                  HYPERCALL_BUFFER_AS_ARG(arg));
+
+    xc_hypercall_buffer_free(xch, arg);
+    return rc;
+}
+
+int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
+                                                domid_t domid,
+                                                ioservid_t id,
+                                                xen_pfn_t start,
+                                                xen_pfn_t end)
+{
+    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
+    int rc;
+
+    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
+    if ( arg == NULL )
+        return -1;
+
+    arg->domid = domid;
+    arg->id = id;
+    arg->type = HVMOP_IO_RANGE_WP_MEM;
+    arg->start = start;
+    arg->end = end;
+
+    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
+                  HVMOP_unmap_io_range_from_ioreq_server,
+                  HYPERCALL_BUFFER_AS_ARG(arg));
+
+    xc_hypercall_buffer_free(xch, arg);
+    return rc;
+
+}
+
 int xc_hvm_map_pcidev_to_ioreq_server(xc_interface *xch, domid_t domid,
                                       ioservid_t id, uint16_t segment,
                                       uint8_t bus, uint8_t device,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 674feea..74c2a82 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -932,6 +932,9 @@ static void hvm_ioreq_server_free_rangesets(struct hvm_ioreq_server *s,
         rangeset_destroy(s->range[i]);
 }
 
+const char *const io_range_name[NR_IO_RANGE_TYPES] =
+                                {"port", "mmio", "pci", "wp-mem"};
+
 static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s, 
                                             bool_t is_default)
 {
@@ -946,10 +949,7 @@ static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s,
         char *name;
 
         rc = asprintf(&name, "ioreq_server %d %s", s->id,
-                      (i == HVMOP_IO_RANGE_PORT) ? "port" :
-                      (i == HVMOP_IO_RANGE_MEMORY) ? "memory" :
-                      (i == HVMOP_IO_RANGE_PCI) ? "pci" :
-                      "");
+                      (i < NR_IO_RANGE_TYPES) ? io_range_name[i] : "");
         if ( rc )
             goto fail;
 
@@ -1267,6 +1267,7 @@ static int hvm_map_io_range_to_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
+            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -1318,6 +1319,7 @@ static int hvm_unmap_io_range_from_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
+            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -2601,6 +2603,18 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
         type = (p->type == IOREQ_TYPE_PIO) ?
                 HVMOP_IO_RANGE_PORT : HVMOP_IO_RANGE_MEMORY;
         addr = p->addr;
+        if ( type == HVMOP_IO_RANGE_MEMORY )
+        {
+            p2m_type_t p2mt;
+            struct page_info *ram_page;
+
+            ram_page = get_page_from_gfn(d, PFN_DOWN(p->addr), &p2mt, 0);
+            if ( p2mt == p2m_mmio_write_dm )
+                type = HVMOP_IO_RANGE_WP_MEM;
+
+            if ( ram_page )
+                put_page(ram_page);
+        }
     }
 
     list_for_each_entry ( s,
@@ -2642,6 +2656,11 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
             }
 
             break;
+        case HVMOP_IO_RANGE_WP_MEM:
+            if ( rangeset_contains_singleton(r, PFN_DOWN(addr)) )
+                return s;
+
+            break;
         }
     }
 
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index a8cc2ad..1e13973 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -48,7 +48,7 @@ struct hvm_ioreq_vcpu {
     bool_t           pending;
 };
 
-#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_PCI + 1)
+#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_WP_MEM + 1)
 #define MAX_NR_IO_RANGES  256
 
 struct hvm_ioreq_server {
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index 1606185..c0b1e30 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -333,6 +333,7 @@ struct xen_hvm_io_range {
 # define HVMOP_IO_RANGE_PORT   0 /* I/O port range */
 # define HVMOP_IO_RANGE_MEMORY 1 /* MMIO range */
 # define HVMOP_IO_RANGE_PCI    2 /* PCI segment/bus/dev/func range */
+# define HVMOP_IO_RANGE_WP_MEM 3 /* Write-protected ram range */
     uint64_aligned_t start, end; /* IN - inclusive start and end of range */
 };
 typedef struct xen_hvm_io_range xen_hvm_io_range_t;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyh-0002vZ-QM; Sun, 07 Feb 2016 18:22:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyg-0002vO-OX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:30 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	5D/3A-12072-56B87B65; Sun, 07 Feb 2016 18:22:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1454869348!20872305!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 50849 invoked from network); 7 Feb 2016 18:22:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzy-0007a2-2i
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:50 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyd-0000e0-Lx
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyd-0000e0-Lx@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:27 +0000
Subject: [Xen-changelog] [xen master] x86/vm_event: reset monitor in
	vm_event_cleanup_domain()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b848dc83cc3f500a9d9f7ebcf16eece7f31566ba
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Fri Jan 29 17:50:05 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:50:05 2016 +0100

    x86/vm_event: reset monitor in vm_event_cleanup_domain()
    
    It is currently possible to leave a monitor flag enabled even
    after vm_event_cleanup_domain() has been called, potentially
    leading to a crash in hvm_msr_write_intercept() and hvm_set_crX()
    (when v->arch.vm_event has become NULL, but the corresponding
    corresponding v->domain->arch.monitor flag is non-zero).
    This patch zeroes out arch.monitor in vm_event_cleanup_domain().
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index 9677ecc..08d678a 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -56,6 +56,7 @@ void vm_event_cleanup_domain(struct domain *d)
     }
 
     d->arch.mem_access_emulate_each_rep = 0;
+    memset(&d->arch.monitor, 0, sizeof(d->arch.monitor));
 }
 
 void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyh-0002vZ-QM; Sun, 07 Feb 2016 18:22:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyg-0002vO-OX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:30 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	5D/3A-12072-56B87B65; Sun, 07 Feb 2016 18:22:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1454869348!20872305!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 50849 invoked from network); 7 Feb 2016 18:22:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzy-0007a2-2i
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:50 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyd-0000e0-Lx
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyd-0000e0-Lx@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:27 +0000
Subject: [Xen-changelog] [xen master] x86/vm_event: reset monitor in
	vm_event_cleanup_domain()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b848dc83cc3f500a9d9f7ebcf16eece7f31566ba
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Fri Jan 29 17:50:05 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:50:05 2016 +0100

    x86/vm_event: reset monitor in vm_event_cleanup_domain()
    
    It is currently possible to leave a monitor flag enabled even
    after vm_event_cleanup_domain() has been called, potentially
    leading to a crash in hvm_msr_write_intercept() and hvm_set_crX()
    (when v->arch.vm_event has become NULL, but the corresponding
    corresponding v->domain->arch.monitor flag is non-zero).
    This patch zeroes out arch.monitor in vm_event_cleanup_domain().
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index 9677ecc..08d678a 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -56,6 +56,7 @@ void vm_event_cleanup_domain(struct domain *d)
     }
 
     d->arch.mem_access_emulate_each_rep = 0;
+    memset(&d->arch.monitor, 0, sizeof(d->arch.monitor));
 }
 
 void vm_event_toggle_singlestep(struct domain *d, struct vcpu *v)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyr-0002ws-VT; Sun, 07 Feb 2016 18:22:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyq-0002wd-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:40 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	46/99-12635-F6B87B65; Sun, 07 Feb 2016 18:22:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1454869358!20586510!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52534 invoked from network); 7 Feb 2016 18:22:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU08-0007aA-Ai
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyn-0000ea-Uw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyn-0000ea-Uw@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:37 +0000
Subject: [Xen-changelog] [xen master] reset runstate_guest handles on soft
	reset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7ff56b7e4d2d110db93124457cbbdb8c6bee08e6
Author:     Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Fri Jan 29 17:50:41 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:50:41 2016 +0100

    reset runstate_guest handles on soft reset
    
    runstate_guest handles need to be reset to prevent update_runstate_area()
    corrupting guest's memory after we resume the guest.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 xen/common/domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 2979c1b..603b718 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1074,7 +1074,10 @@ int domain_soft_reset(struct domain *d)
     grant_table_warn_active_grants(d);
 
     for_each_vcpu ( d, v )
+    {
+        set_xen_guest_handle(runstate_guest(v), NULL);
         unmap_vcpu_info(v);
+    }
 
     rc = arch_domain_soft_reset(d);
     if ( !rc )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTyr-0002ws-VT; Sun, 07 Feb 2016 18:22:41 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyq-0002wd-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:40 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	46/99-12635-F6B87B65; Sun, 07 Feb 2016 18:22:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1454869358!20586510!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52534 invoked from network); 7 Feb 2016 18:22:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU08-0007aA-Ai
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyn-0000ea-Uw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyn-0000ea-Uw@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:37 +0000
Subject: [Xen-changelog] [xen master] reset runstate_guest handles on soft
	reset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7ff56b7e4d2d110db93124457cbbdb8c6bee08e6
Author:     Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Fri Jan 29 17:50:41 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:50:41 2016 +0100

    reset runstate_guest handles on soft reset
    
    runstate_guest handles need to be reset to prevent update_runstate_area()
    corrupting guest's memory after we resume the guest.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 xen/common/domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 2979c1b..603b718 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1074,7 +1074,10 @@ int domain_soft_reset(struct domain *d)
     grant_table_warn_active_grants(d);
 
     for_each_vcpu ( d, v )
+    {
+        set_xen_guest_handle(runstate_guest(v), NULL);
         unmap_vcpu_info(v);
+    }
 
     rc = arch_domain_soft_reset(d);
     if ( !rc )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTz2-0002yE-42; Sun, 07 Feb 2016 18:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTz1-0002y3-3S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:51 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	81/8D-23747-A7B87B65; Sun, 07 Feb 2016 18:22:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1454869368!20982656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56152 invoked from network); 7 Feb 2016 18:22:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0I-0007ak-O8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyy-0000fe-9z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyy-0000fe-9z@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:48 +0000
Subject: [Xen-changelog] [xen master] atomic: replace
	atomic_compareandswap() with atomic_cmpxchg()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0efc073816369fbf304a55600b3e41fb1e8aaae
Author:     David Vrabel <david.vrabel@citrix.com>
AuthorDate: Fri Jan 29 17:51:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:51:15 2016 +0100

    atomic: replace atomic_compareandswap() with atomic_cmpxchg()
    
    atomic_compareandswap() used atomic_t as the new, old and returned
    values which is less convenient than using just int.
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/common/domain.c          |  5 +----
 xen/include/asm-arm/atomic.h |  8 --------
 xen/include/asm-x86/atomic.h | 24 ++++++++++++++++--------
 xen/include/xen/sched.h      |  9 ++++-----
 4 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 603b718..425767c 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -857,14 +857,11 @@ static void complete_domain_destroy(struct rcu_head *head)
 void domain_destroy(struct domain *d)
 {
     struct domain **pd;
-    atomic_t old = ATOMIC_INIT(0);
-    atomic_t new = ATOMIC_INIT(DOMAIN_DESTROYED);
 
     BUG_ON(!d->is_dying);
 
     /* May be already destroyed, or get_domain() can race us. */
-    old = atomic_compareandswap(old, new, &d->refcnt);
-    if ( _atomic_read(old) != 0 )
+    if ( atomic_cmpxchg(&d->refcnt, 0, DOMAIN_DESTROYED) != 0 )
         return;
 
     cpupool_rm_domain(d);
diff --git a/xen/include/asm-arm/atomic.h b/xen/include/asm-arm/atomic.h
index 5a38c67..29ab265 100644
--- a/xen/include/asm-arm/atomic.h
+++ b/xen/include/asm-arm/atomic.h
@@ -138,14 +138,6 @@ static inline void _atomic_set(atomic_t *v, int i)
 # error "unknown ARM variant"
 #endif
 
-static inline atomic_t atomic_compareandswap(
-    atomic_t old, atomic_t new, atomic_t *v)
-{
-    atomic_t rc;
-    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
-    return rc;
-}
-
 #endif /* __ARCH_ARM_ATOMIC__ */
 /*
  * Local variables:
diff --git a/xen/include/asm-x86/atomic.h b/xen/include/asm-x86/atomic.h
index 2b8c877..d246b70 100644
--- a/xen/include/asm-x86/atomic.h
+++ b/xen/include/asm-x86/atomic.h
@@ -135,6 +135,10 @@ static inline void _atomic_set(atomic_t *v, int i)
     v->counter = i;
 }
 
+static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+{
+    return cmpxchg(&v->counter, old, new);
+}
 
 /**
  * atomic_add - add integer to atomic variable
@@ -152,6 +156,18 @@ static inline void atomic_add(int i, atomic_t *v)
 }
 
 /**
+ * atomic_add_return - add integer and return
+ * @i: integer value to add
+ * @v: pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ */
+static inline int atomic_add_return(int i, atomic_t *v)
+{
+    return i + arch_fetch_and_add(&v->counter, i);
+}
+
+/**
  * atomic_sub - subtract the atomic variable
  * @i: integer value to subtract
  * @v: pointer of type atomic_t
@@ -272,12 +288,4 @@ static inline int atomic_add_negative(int i, atomic_t *v)
     return c;
 }
 
-static inline atomic_t atomic_compareandswap(
-    atomic_t old, atomic_t new, atomic_t *v)
-{
-    atomic_t rc;
-    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
-    return rc;
-}
-
 #endif /* __ARCH_X86_ATOMIC__ */
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 82b6dd1..5870745 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -483,16 +483,15 @@ extern struct vcpu *idle_vcpu[NR_CPUS];
  */
 static always_inline int get_domain(struct domain *d)
 {
-    atomic_t old, new, seen = d->refcnt;
+    int old, seen = atomic_read(&d->refcnt);
     do
     {
         old = seen;
-        if ( unlikely(_atomic_read(old) & DOMAIN_DESTROYED) )
+        if ( unlikely(old & DOMAIN_DESTROYED) )
             return 0;
-        _atomic_set(&new, _atomic_read(old) + 1);
-        seen = atomic_compareandswap(old, new, &d->refcnt);
+        seen = atomic_cmpxchg(&d->refcnt, old, old + 1);
     }
-    while ( unlikely(_atomic_read(seen) != _atomic_read(old)) );
+    while ( unlikely(seen != old) );
     return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:22:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTz2-0002yE-42; Sun, 07 Feb 2016 18:22:52 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTz1-0002y3-3S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:51 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	81/8D-23747-A7B87B65; Sun, 07 Feb 2016 18:22:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1454869368!20982656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56152 invoked from network); 7 Feb 2016 18:22:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0I-0007ak-O8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTyy-0000fe-9z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTyy-0000fe-9z@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:48 +0000
Subject: [Xen-changelog] [xen master] atomic: replace
	atomic_compareandswap() with atomic_cmpxchg()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0efc073816369fbf304a55600b3e41fb1e8aaae
Author:     David Vrabel <david.vrabel@citrix.com>
AuthorDate: Fri Jan 29 17:51:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:51:15 2016 +0100

    atomic: replace atomic_compareandswap() with atomic_cmpxchg()
    
    atomic_compareandswap() used atomic_t as the new, old and returned
    values which is less convenient than using just int.
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/common/domain.c          |  5 +----
 xen/include/asm-arm/atomic.h |  8 --------
 xen/include/asm-x86/atomic.h | 24 ++++++++++++++++--------
 xen/include/xen/sched.h      |  9 ++++-----
 4 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 603b718..425767c 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -857,14 +857,11 @@ static void complete_domain_destroy(struct rcu_head *head)
 void domain_destroy(struct domain *d)
 {
     struct domain **pd;
-    atomic_t old = ATOMIC_INIT(0);
-    atomic_t new = ATOMIC_INIT(DOMAIN_DESTROYED);
 
     BUG_ON(!d->is_dying);
 
     /* May be already destroyed, or get_domain() can race us. */
-    old = atomic_compareandswap(old, new, &d->refcnt);
-    if ( _atomic_read(old) != 0 )
+    if ( atomic_cmpxchg(&d->refcnt, 0, DOMAIN_DESTROYED) != 0 )
         return;
 
     cpupool_rm_domain(d);
diff --git a/xen/include/asm-arm/atomic.h b/xen/include/asm-arm/atomic.h
index 5a38c67..29ab265 100644
--- a/xen/include/asm-arm/atomic.h
+++ b/xen/include/asm-arm/atomic.h
@@ -138,14 +138,6 @@ static inline void _atomic_set(atomic_t *v, int i)
 # error "unknown ARM variant"
 #endif
 
-static inline atomic_t atomic_compareandswap(
-    atomic_t old, atomic_t new, atomic_t *v)
-{
-    atomic_t rc;
-    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
-    return rc;
-}
-
 #endif /* __ARCH_ARM_ATOMIC__ */
 /*
  * Local variables:
diff --git a/xen/include/asm-x86/atomic.h b/xen/include/asm-x86/atomic.h
index 2b8c877..d246b70 100644
--- a/xen/include/asm-x86/atomic.h
+++ b/xen/include/asm-x86/atomic.h
@@ -135,6 +135,10 @@ static inline void _atomic_set(atomic_t *v, int i)
     v->counter = i;
 }
 
+static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
+{
+    return cmpxchg(&v->counter, old, new);
+}
 
 /**
  * atomic_add - add integer to atomic variable
@@ -152,6 +156,18 @@ static inline void atomic_add(int i, atomic_t *v)
 }
 
 /**
+ * atomic_add_return - add integer and return
+ * @i: integer value to add
+ * @v: pointer of type atomic_t
+ *
+ * Atomically adds @i to @v and returns @i + @v
+ */
+static inline int atomic_add_return(int i, atomic_t *v)
+{
+    return i + arch_fetch_and_add(&v->counter, i);
+}
+
+/**
  * atomic_sub - subtract the atomic variable
  * @i: integer value to subtract
  * @v: pointer of type atomic_t
@@ -272,12 +288,4 @@ static inline int atomic_add_negative(int i, atomic_t *v)
     return c;
 }
 
-static inline atomic_t atomic_compareandswap(
-    atomic_t old, atomic_t new, atomic_t *v)
-{
-    atomic_t rc;
-    rc.counter = __cmpxchg(&v->counter, old.counter, new.counter, sizeof(int));
-    return rc;
-}
-
 #endif /* __ARCH_X86_ATOMIC__ */
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 82b6dd1..5870745 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -483,16 +483,15 @@ extern struct vcpu *idle_vcpu[NR_CPUS];
  */
 static always_inline int get_domain(struct domain *d)
 {
-    atomic_t old, new, seen = d->refcnt;
+    int old, seen = atomic_read(&d->refcnt);
     do
     {
         old = seen;
-        if ( unlikely(_atomic_read(old) & DOMAIN_DESTROYED) )
+        if ( unlikely(old & DOMAIN_DESTROYED) )
             return 0;
-        _atomic_set(&new, _atomic_read(old) + 1);
-        seen = atomic_compareandswap(old, new, &d->refcnt);
+        seen = atomic_cmpxchg(&d->refcnt, old, old + 1);
     }
-    while ( unlikely(_atomic_read(seen) != _atomic_read(old)) );
+    while ( unlikely(seen != old) );
     return 1;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzE-000304-8I; Sun, 07 Feb 2016 18:23:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzC-0002zs-Rk
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:02 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	03/41-08977-68B87B65; Sun, 07 Feb 2016 18:23:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1454869378!12834294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54920 invoked from network); 7 Feb 2016 18:22:59 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0T-0007at-1N
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTz8-0000g5-LO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTz8-0000g5-LO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:58 +0000
Subject: [Xen-changelog] [xen master] spinlock: shrink struct lock_debug
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e73460f8636160779fbaded71fa739c1c615c9a6
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Fri Jan 29 17:52:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:52:23 2016 +0100

    spinlock: shrink struct lock_debug
    
    Reduce the size of struct lock_debug so increases in other lock
    structures don't increase the size of struct domain too much.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/include/xen/spinlock.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 8b2590f..22c4fc2 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -8,7 +8,7 @@
 
 #ifndef NDEBUG
 struct lock_debug {
-    int irq_safe; /* +1: IRQ-safe; 0: not IRQ-safe; -1: don't know yet */
+    s16 irq_safe; /* +1: IRQ-safe; 0: not IRQ-safe; -1: don't know yet */
 };
 #define _LOCK_DEBUG { -1 }
 void spin_debug_enable(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzE-000304-8I; Sun, 07 Feb 2016 18:23:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzC-0002zs-Rk
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:02 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	03/41-08977-68B87B65; Sun, 07 Feb 2016 18:23:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1454869378!12834294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54920 invoked from network); 7 Feb 2016 18:22:59 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:22:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0T-0007at-1N
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTz8-0000g5-LO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:22:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTz8-0000g5-LO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:22:58 +0000
Subject: [Xen-changelog] [xen master] spinlock: shrink struct lock_debug
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e73460f8636160779fbaded71fa739c1c615c9a6
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Fri Jan 29 17:52:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Jan 29 17:52:23 2016 +0100

    spinlock: shrink struct lock_debug
    
    Reduce the size of struct lock_debug so increases in other lock
    structures don't increase the size of struct domain too much.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
---
 xen/include/xen/spinlock.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 8b2590f..22c4fc2 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -8,7 +8,7 @@
 
 #ifndef NDEBUG
 struct lock_debug {
-    int irq_safe; /* +1: IRQ-safe; 0: not IRQ-safe; -1: don't know yet */
+    s16 irq_safe; /* +1: IRQ-safe; 0: not IRQ-safe; -1: don't know yet */
 };
 #define _LOCK_DEBUG { -1 }
 void spin_debug_enable(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzN-00032I-F8; Sun, 07 Feb 2016 18:23:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzL-00031z-O7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:11 +0000
Content-Length: 5883
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	02/04-09478-F8B87B65; Sun, 07 Feb 2016 18:23:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869389!20866047!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1743 invoked from network); 7 Feb 2016 18:23:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0d-0007b1-Cs
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzI-0000gp-W9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [xen master] ﻿x86/HVMlite: document the BSP/AP boot ABI
Message-Id: <E1aSTzI-0000gp-W9@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:08 +0000
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3333763147270263587=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============3333763147270263587==
Content-Length: 5554
Content-Transfer-Encoding: quoted-printable

commit bea86645bb38e88621af204148e4c017acd0a066
Author:     Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
AuthorDate: Mon Feb 1 13:50:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:50:52 2016 +0100

    =EF=BB=BFx86/HVMlite: document the BSP/AP boot ABI
    
    The discussion in [1] lead to an agreement of the missing pieces in PVH
    (or HVM without a device-model) in order to progress with it's
    implementation.
    
    One of the missing pieces is a new boot ABI, that replaces the PV boot
    ABI. The aim of this new boot ABI is to remove the limitations of the
    PV boot ABI, that are no longer present when using auto-translated
    guests. The new boot protocol should allow to use the same entry point
    for both 32bit and 64bit guests, and let the guest choose it's bitness
    and paging mode at run time without the domain builder knowing in
    advance.
    
    This patch introduces a new document called hvmlite.markdown, with the
    intention of merging it into pvh.markdown once the HVMlite implementation
    has feature parity with PVH and the old PVH ABI is replaced with the
    HVMlite one.
    
    [1] http://lists.xen.org/archives/html/xen-devel/2015-06/msg00258.html
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/misc/hvmlite.markdown | 82 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/docs/misc/hvmlite.markdown b/docs/misc/hvmlite.markdown
new file mode 100644
index 0000000..c1b75c6
--- /dev/null
+++ b/docs/misc/hvmlite.markdown
@@ -0,0 +1,82 @@
+**NOTE**: this document will be merged into `pvh.markdown` once PVH is replaced
+with the HVMlite implementation.
+
+# x86/HVM direct boot ABI #
+
+Since the Xen entry point into the kernel can be different from the
+native entry point, a `ELFNOTE` is used in order to tell the domain
+builder how to load and jump into the kernel entry point:
+
+    ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,          .long,  xen_start32)
+
+The presence of the `XEN_ELFNOTE_PHYS32_ENTRY` note indicates that the
+kernel supports the boot ABI described in this document.
+
+The domain builder must load the kernel into the guest memory space and
+jump into the entry point defined at `XEN_ELFNOTE_PHYS32_ENTRY` with the
+following machine state:
+
+ * `ebx`: contains the physical memory address where the loader has placed
+   the boot start info structure.
+
+ * `cr0`: bit 0 (PE) must be set. All the other writeable bits are cleared.
+
+ * `cr4`: all bits are cleared.
+
+ * `cs`: must be a 32-bit read/execute code segment with a base of =E2=80=980=E2=80=99
+   and a limit of =E2=80=980xFFFFFFFF=E2=80=99. The selector value is unspecified.
+
+ * `ds`, `es`: must be a 32-bit read/write data segment with a base of
+   =E2=80=980=E2=80=99 and a limit of =E2=80=980xFFFFFFFF=E2=80=99. The selector values are all unspecified.
+
+ * `tr`: must be a 32-bit TSS (active) with a base of '0' and a limit of '0x67'.
+
+ * `eflags`: bit 17 (VM) must be cleared. Bit 9 (IF) must be cleared.
+   Bit 8 (TF) must be cleared. Other bits are all unspecified.
+
+All other processor registers and flag bits are unspecified. The OS is in
+charge of setting up it's own stack, GDT and IDT.
+
+The format of the boot start info structure is the following (pointed to
+be %ebx):
+
+    struct hvm_start_info {
+    #define HVM_START_MAGIC_VALUE 0x336ec578
+        uint32_t magic;             /* Contains the magic value 0x336ec578       */
+                                    /* ("xEn3" with the 0x80 bit of the "E" set).*/
+        uint32_t flags;             /* SIF_xxx flags.                            */
+        uint32_t cmdline_paddr;     /* Physical address of the command line.     */
+        uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
+        uint32_t modlist_paddr;     /* Physical address of an array of           */
+                                    /* hvm_modlist_entry.                        */
+    };
+
+    struct hvm_modlist_entry {
+        uint32_t paddr;             /* Physical address of the module.           */
+        uint32_t size;              /* Size of the module in bytes.              */
+    };
+
+Other relevant information needed in order to boot a guest kernel
+(console page address, xenstore event channel...) can be obtained
+using HVMPARAMS, just like it's done on HVM guests.
+
+The setup of the hypercall page is also performed in the same way
+as HVM guests, using the hypervisor cpuid leaves and msr ranges.
+
+## AP startup ##
+
+AP startup is performed using hypercalls. The following VCPU operations
+are used in order to bring up secondary vCPUs:
+
+ * `VCPUOP_initialise` is used to set the initial state of the vCPU. The
+   argument passed to the hypercall must be of the type vcpu_hvm_context.
+   See `public/hvm/hvm_vcpu.h` for the layout of the structure. Note that
+   this hypercall allows starting the vCPU in several modes (16/32/64bits),
+   regardless of the mode the BSP is currently running on.
+
+ * `VCPUOP_up` is used to launch the vCPU once the initial state has been
+   set using `VCPUOP_initialise`.
+
+ * `VCPUOP_down` is used to bring down a vCPU.
+
+ * `VCPUOP_is_up` is used to scan the number of available vCPUs.
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3333763147270263587==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============3333763147270263587==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzN-00032I-F8; Sun, 07 Feb 2016 18:23:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzL-00031z-O7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:11 +0000
Content-Length: 5883
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	02/04-09478-F8B87B65; Sun, 07 Feb 2016 18:23:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869389!20866047!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1743 invoked from network); 7 Feb 2016 18:23:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0d-0007b1-Cs
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzI-0000gp-W9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [xen master] ﻿x86/HVMlite: document the BSP/AP boot ABI
Message-Id: <E1aSTzI-0000gp-W9@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:08 +0000
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3333763147270263587=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============3333763147270263587==
Content-Length: 5554
Content-Transfer-Encoding: quoted-printable

commit bea86645bb38e88621af204148e4c017acd0a066
Author:     Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
AuthorDate: Mon Feb 1 13:50:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:50:52 2016 +0100

    =EF=BB=BFx86/HVMlite: document the BSP/AP boot ABI
    
    The discussion in [1] lead to an agreement of the missing pieces in PVH
    (or HVM without a device-model) in order to progress with it's
    implementation.
    
    One of the missing pieces is a new boot ABI, that replaces the PV boot
    ABI. The aim of this new boot ABI is to remove the limitations of the
    PV boot ABI, that are no longer present when using auto-translated
    guests. The new boot protocol should allow to use the same entry point
    for both 32bit and 64bit guests, and let the guest choose it's bitness
    and paging mode at run time without the domain builder knowing in
    advance.
    
    This patch introduces a new document called hvmlite.markdown, with the
    intention of merging it into pvh.markdown once the HVMlite implementation
    has feature parity with PVH and the old PVH ABI is replaced with the
    HVMlite one.
    
    [1] http://lists.xen.org/archives/html/xen-devel/2015-06/msg00258.html
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/misc/hvmlite.markdown | 82 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

diff --git a/docs/misc/hvmlite.markdown b/docs/misc/hvmlite.markdown
new file mode 100644
index 0000000..c1b75c6
--- /dev/null
+++ b/docs/misc/hvmlite.markdown
@@ -0,0 +1,82 @@
+**NOTE**: this document will be merged into `pvh.markdown` once PVH is replaced
+with the HVMlite implementation.
+
+# x86/HVM direct boot ABI #
+
+Since the Xen entry point into the kernel can be different from the
+native entry point, a `ELFNOTE` is used in order to tell the domain
+builder how to load and jump into the kernel entry point:
+
+    ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,          .long,  xen_start32)
+
+The presence of the `XEN_ELFNOTE_PHYS32_ENTRY` note indicates that the
+kernel supports the boot ABI described in this document.
+
+The domain builder must load the kernel into the guest memory space and
+jump into the entry point defined at `XEN_ELFNOTE_PHYS32_ENTRY` with the
+following machine state:
+
+ * `ebx`: contains the physical memory address where the loader has placed
+   the boot start info structure.
+
+ * `cr0`: bit 0 (PE) must be set. All the other writeable bits are cleared.
+
+ * `cr4`: all bits are cleared.
+
+ * `cs`: must be a 32-bit read/execute code segment with a base of =E2=80=980=E2=80=99
+   and a limit of =E2=80=980xFFFFFFFF=E2=80=99. The selector value is unspecified.
+
+ * `ds`, `es`: must be a 32-bit read/write data segment with a base of
+   =E2=80=980=E2=80=99 and a limit of =E2=80=980xFFFFFFFF=E2=80=99. The selector values are all unspecified.
+
+ * `tr`: must be a 32-bit TSS (active) with a base of '0' and a limit of '0x67'.
+
+ * `eflags`: bit 17 (VM) must be cleared. Bit 9 (IF) must be cleared.
+   Bit 8 (TF) must be cleared. Other bits are all unspecified.
+
+All other processor registers and flag bits are unspecified. The OS is in
+charge of setting up it's own stack, GDT and IDT.
+
+The format of the boot start info structure is the following (pointed to
+be %ebx):
+
+    struct hvm_start_info {
+    #define HVM_START_MAGIC_VALUE 0x336ec578
+        uint32_t magic;             /* Contains the magic value 0x336ec578       */
+                                    /* ("xEn3" with the 0x80 bit of the "E" set).*/
+        uint32_t flags;             /* SIF_xxx flags.                            */
+        uint32_t cmdline_paddr;     /* Physical address of the command line.     */
+        uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
+        uint32_t modlist_paddr;     /* Physical address of an array of           */
+                                    /* hvm_modlist_entry.                        */
+    };
+
+    struct hvm_modlist_entry {
+        uint32_t paddr;             /* Physical address of the module.           */
+        uint32_t size;              /* Size of the module in bytes.              */
+    };
+
+Other relevant information needed in order to boot a guest kernel
+(console page address, xenstore event channel...) can be obtained
+using HVMPARAMS, just like it's done on HVM guests.
+
+The setup of the hypercall page is also performed in the same way
+as HVM guests, using the hypervisor cpuid leaves and msr ranges.
+
+## AP startup ##
+
+AP startup is performed using hypercalls. The following VCPU operations
+are used in order to bring up secondary vCPUs:
+
+ * `VCPUOP_initialise` is used to set the initial state of the vCPU. The
+   argument passed to the hypercall must be of the type vcpu_hvm_context.
+   See `public/hvm/hvm_vcpu.h` for the layout of the structure. Note that
+   this hypercall allows starting the vCPU in several modes (16/32/64bits),
+   regardless of the mode the BSP is currently running on.
+
+ * `VCPUOP_up` is used to launch the vCPU once the initial state has been
+   set using `VCPUOP_initialise`.
+
+ * `VCPUOP_down` is used to bring down a vCPU.
+
+ * `VCPUOP_is_up` is used to scan the number of available vCPUs.
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3333763147270263587==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============3333763147270263587==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzY-00033h-Kl; Sun, 07 Feb 2016 18:23:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzW-00033R-AX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:22 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	60/8A-12072-99B87B65; Sun, 07 Feb 2016 18:23:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1454869399!20872247!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65089 invoked from network); 7 Feb 2016 18:23:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0n-0007bs-QF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzT-0000hL-CV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzT-0000hL-CV@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:19 +0000
Subject: [Xen-changelog] [xen master] vm_event: make sure the domain is
	paused in key domctls
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 24fdd3da8aae0fb386d781f98b5abe4b7dd03d88
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 1 13:51:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:51:14 2016 +0100

    vm_event: make sure the domain is paused in key domctls
    
    This patch pauses the domain for all writes through the 'ad'
    pointer in monitor_domctl(), defers a domain_unpause() call until
    after the CRs are updated for the MONITOR_EVENT_WRITE_CTRLREG
    case, and makes sure that the domain is paused for both vm_event
    enable and disable cases in vm_event_domctl().
    Thanks go to Andrew Cooper for his review and suggestions.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/monitor.c | 32 +++++++++++++++++++-------------
 xen/common/domctl.c    | 12 ++++++------
 xen/common/vm_event.c  | 17 ++++++++++++++++-
 3 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 7611f7b..1d43880 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -69,6 +69,9 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
     struct arch_domain *ad = &d->arch;
     uint32_t capabilities = get_capabilities(d);
 
+    if ( current->domain == d ) /* no domain_pause() */
+        return -EPERM;
+
     rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
     if ( rc )
         return rc;
@@ -80,7 +83,9 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         return 0;
 
     case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
-        d->arch.mem_access_emulate_each_rep = !!mop->event;
+        domain_pause(d);
+        ad->mem_access_emulate_each_rep = !!mop->event;
+        domain_unpause(d);
         return 0;
     }
 
@@ -109,6 +114,8 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         if ( rc )
             return rc;
 
+        domain_pause(d);
+
         if ( mop->u.mov_to_cr.sync )
             ad->monitor.write_ctrlreg_sync |= ctrlreg_bitmask;
         else
@@ -119,20 +126,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         else
             ad->monitor.write_ctrlreg_onchangeonly &= ~ctrlreg_bitmask;
 
-        domain_pause(d);
-
         if ( !status )
             ad->monitor.write_ctrlreg_enabled |= ctrlreg_bitmask;
         else
             ad->monitor.write_ctrlreg_enabled &= ~ctrlreg_bitmask;
 
-        domain_unpause(d);
-
         if ( mop->u.mov_to_cr.index == VM_EVENT_X86_CR3 )
             /* Latches new CR3 mask through CR0 code */
             for_each_vcpu ( d, v )
                 hvm_update_guest_cr(v, 0);
 
+        domain_unpause(d);
+
         break;
     }
 
@@ -145,16 +150,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
             return rc;
 
         if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
+             mop->u.mov_to_msr.extended_capture &&
+             !hvm_enable_msr_exit_interception(d) )
+            return -EOPNOTSUPP;
+
+        domain_pause(d);
+
+        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
              mop->u.mov_to_msr.extended_capture )
-        {
-            if ( hvm_enable_msr_exit_interception(d) )
                 ad->monitor.mov_to_msr_extended = 1;
-            else
-                return -EOPNOTSUPP;
-        } else
+        else
             ad->monitor.mov_to_msr_extended = 0;
 
-        domain_pause(d);
         ad->monitor.mov_to_msr_enabled = !status;
         domain_unpause(d);
         break;
@@ -196,9 +203,8 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         if ( rc )
             return rc;
 
-        ad->monitor.guest_request_sync = mop->u.guest_request.sync;
-
         domain_pause(d);
+        ad->monitor.guest_request_sync = mop->u.guest_request.sync;
         ad->monitor.guest_request_enabled = !status;
         domain_unpause(d);
         break;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index dc1ea06..121a34a 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -709,7 +709,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     }
 
     case XEN_DOMCTL_soft_reset:
-        if ( d == current->domain )
+        if ( d == current->domain ) /* no domain_pause() */
         {
             ret = -EINVAL;
             break;
@@ -1136,11 +1136,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 
 #ifdef CONFIG_HAS_MEM_ACCESS
     case XEN_DOMCTL_set_access_required:
-        if ( unlikely(current->domain == d) )
+        if ( unlikely(current->domain == d) ) /* no domain_pause() */
             ret = -EPERM;
         else
+        {
+            domain_pause(d);
             p2m_get_hostp2m(d)->access_required =
                 op->u.access_required.access_required;
+            domain_unpause(d);
+        }
         break;
 #endif
 
@@ -1175,10 +1179,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     }
 
     case XEN_DOMCTL_monitor_op:
-        ret = -EPERM;
-        if ( current->domain == d )
-            break;
-
         ret = monitor_domctl(d, &op->u.monitor_op);
         if ( !ret )
             copyback = 1;
diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index 28a7add..9f43a76 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -567,7 +567,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
     if ( rc )
         return rc;
 
-    if ( unlikely(d == current->domain) )
+    if ( unlikely(d == current->domain) ) /* no domain_pause() */
     {
         gdprintk(XENLOG_INFO, "Tried to do a memory event op on itself.\n");
         return -EINVAL;
@@ -624,6 +624,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
             if ( p2m->pod.entry_count )
                 break;
 
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_paging,
                                  HVM_PARAM_PAGING_RING_PFN,
                                  mem_paging_notification);
@@ -632,7 +633,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
@@ -658,6 +663,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
         switch( vec->op )
         {
         case XEN_VM_EVENT_ENABLE:
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_access,
                                  HVM_PARAM_MONITOR_RING_PFN,
                                  monitor_notification);
@@ -665,7 +671,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
@@ -701,6 +711,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
             if ( !hap_enabled(d) )
                 break;
 
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_sharing,
                                  HVM_PARAM_SHARING_RING_PFN,
                                  mem_sharing_notification);
@@ -708,7 +719,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzY-00033h-Kl; Sun, 07 Feb 2016 18:23:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzW-00033R-AX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:22 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	60/8A-12072-99B87B65; Sun, 07 Feb 2016 18:23:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1454869399!20872247!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65089 invoked from network); 7 Feb 2016 18:23:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0n-0007bs-QF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzT-0000hL-CV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzT-0000hL-CV@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:19 +0000
Subject: [Xen-changelog] [xen master] vm_event: make sure the domain is
	paused in key domctls
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 24fdd3da8aae0fb386d781f98b5abe4b7dd03d88
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 1 13:51:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:51:14 2016 +0100

    vm_event: make sure the domain is paused in key domctls
    
    This patch pauses the domain for all writes through the 'ad'
    pointer in monitor_domctl(), defers a domain_unpause() call until
    after the CRs are updated for the MONITOR_EVENT_WRITE_CTRLREG
    case, and makes sure that the domain is paused for both vm_event
    enable and disable cases in vm_event_domctl().
    Thanks go to Andrew Cooper for his review and suggestions.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/monitor.c | 32 +++++++++++++++++++-------------
 xen/common/domctl.c    | 12 ++++++------
 xen/common/vm_event.c  | 17 ++++++++++++++++-
 3 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 7611f7b..1d43880 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -69,6 +69,9 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
     struct arch_domain *ad = &d->arch;
     uint32_t capabilities = get_capabilities(d);
 
+    if ( current->domain == d ) /* no domain_pause() */
+        return -EPERM;
+
     rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
     if ( rc )
         return rc;
@@ -80,7 +83,9 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         return 0;
 
     case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
-        d->arch.mem_access_emulate_each_rep = !!mop->event;
+        domain_pause(d);
+        ad->mem_access_emulate_each_rep = !!mop->event;
+        domain_unpause(d);
         return 0;
     }
 
@@ -109,6 +114,8 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         if ( rc )
             return rc;
 
+        domain_pause(d);
+
         if ( mop->u.mov_to_cr.sync )
             ad->monitor.write_ctrlreg_sync |= ctrlreg_bitmask;
         else
@@ -119,20 +126,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         else
             ad->monitor.write_ctrlreg_onchangeonly &= ~ctrlreg_bitmask;
 
-        domain_pause(d);
-
         if ( !status )
             ad->monitor.write_ctrlreg_enabled |= ctrlreg_bitmask;
         else
             ad->monitor.write_ctrlreg_enabled &= ~ctrlreg_bitmask;
 
-        domain_unpause(d);
-
         if ( mop->u.mov_to_cr.index == VM_EVENT_X86_CR3 )
             /* Latches new CR3 mask through CR0 code */
             for_each_vcpu ( d, v )
                 hvm_update_guest_cr(v, 0);
 
+        domain_unpause(d);
+
         break;
     }
 
@@ -145,16 +150,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
             return rc;
 
         if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
+             mop->u.mov_to_msr.extended_capture &&
+             !hvm_enable_msr_exit_interception(d) )
+            return -EOPNOTSUPP;
+
+        domain_pause(d);
+
+        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
              mop->u.mov_to_msr.extended_capture )
-        {
-            if ( hvm_enable_msr_exit_interception(d) )
                 ad->monitor.mov_to_msr_extended = 1;
-            else
-                return -EOPNOTSUPP;
-        } else
+        else
             ad->monitor.mov_to_msr_extended = 0;
 
-        domain_pause(d);
         ad->monitor.mov_to_msr_enabled = !status;
         domain_unpause(d);
         break;
@@ -196,9 +203,8 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         if ( rc )
             return rc;
 
-        ad->monitor.guest_request_sync = mop->u.guest_request.sync;
-
         domain_pause(d);
+        ad->monitor.guest_request_sync = mop->u.guest_request.sync;
         ad->monitor.guest_request_enabled = !status;
         domain_unpause(d);
         break;
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index dc1ea06..121a34a 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -709,7 +709,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     }
 
     case XEN_DOMCTL_soft_reset:
-        if ( d == current->domain )
+        if ( d == current->domain ) /* no domain_pause() */
         {
             ret = -EINVAL;
             break;
@@ -1136,11 +1136,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 
 #ifdef CONFIG_HAS_MEM_ACCESS
     case XEN_DOMCTL_set_access_required:
-        if ( unlikely(current->domain == d) )
+        if ( unlikely(current->domain == d) ) /* no domain_pause() */
             ret = -EPERM;
         else
+        {
+            domain_pause(d);
             p2m_get_hostp2m(d)->access_required =
                 op->u.access_required.access_required;
+            domain_unpause(d);
+        }
         break;
 #endif
 
@@ -1175,10 +1179,6 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     }
 
     case XEN_DOMCTL_monitor_op:
-        ret = -EPERM;
-        if ( current->domain == d )
-            break;
-
         ret = monitor_domctl(d, &op->u.monitor_op);
         if ( !ret )
             copyback = 1;
diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index 28a7add..9f43a76 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -567,7 +567,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
     if ( rc )
         return rc;
 
-    if ( unlikely(d == current->domain) )
+    if ( unlikely(d == current->domain) ) /* no domain_pause() */
     {
         gdprintk(XENLOG_INFO, "Tried to do a memory event op on itself.\n");
         return -EINVAL;
@@ -624,6 +624,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
             if ( p2m->pod.entry_count )
                 break;
 
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_paging,
                                  HVM_PARAM_PAGING_RING_PFN,
                                  mem_paging_notification);
@@ -632,7 +633,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
@@ -658,6 +663,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
         switch( vec->op )
         {
         case XEN_VM_EVENT_ENABLE:
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_access,
                                  HVM_PARAM_MONITOR_RING_PFN,
                                  monitor_notification);
@@ -665,7 +671,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
@@ -701,6 +711,7 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
             if ( !hap_enabled(d) )
                 break;
 
+            /* domain_pause() not required here, see XSA-99 */
             rc = vm_event_enable(d, vec, ved, _VPF_mem_sharing,
                                  HVM_PARAM_SHARING_RING_PFN,
                                  mem_sharing_notification);
@@ -708,7 +719,11 @@ int vm_event_domctl(struct domain *d, xen_domctl_vm_event_op_t *vec,
 
         case XEN_VM_EVENT_DISABLE:
             if ( ved->ring_page )
+            {
+                domain_pause(d);
                 rc = vm_event_disable(d, ved);
+                domain_unpause(d);
+            }
             break;
 
         case XEN_VM_EVENT_RESUME:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzh-000350-Pd; Sun, 07 Feb 2016 18:23:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzg-00034k-ND
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:32 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	6E/47-24450-4AB87B65; Sun, 07 Feb 2016 18:23:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1454869410!22011613!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62615 invoked from network); 7 Feb 2016 18:23:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0y-0007c0-7t
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzd-0000hj-Qy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:29 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzd-0000hj-Qy@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:29 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: fix xcomp_bv initialization
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 104a409ebce4499a6c04e5d28075cd6ee4991977
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:52:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:52:50 2016 +0100

    x86/xstate: fix xcomp_bv initialization
    
    We must not clear the compaction bit when using XSAVES/XRSTORS. And
    we need to guarantee that xcomp_bv never has any bits clear which
    are set in xstate_bv (which requires partly undoing commit 83ae0bb226
    ["x86/xsave: simplify xcomp_bv initialization"]). Split initialization
    of xcomp_bv from the other FPU/SSE/AVX related state setup in
    arch_set_info_guest() and hvm_load_cpu_ctxt().
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domain.c  | 18 ++++++++++++------
 xen/arch/x86/hvm/hvm.c | 25 +++++++++++++++----------
 2 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 352c194..b513028 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -923,15 +923,13 @@ int arch_set_info_guest(
     {
         memcpy(v->arch.fpu_ctxt, &c.nat->fpu_ctxt, sizeof(c.nat->fpu_ctxt));
         if ( v->arch.xsave_area )
-        {
             v->arch.xsave_area->xsave_hdr.xstate_bv = XSTATE_FP_SSE;
-            v->arch.xsave_area->xsave_hdr.xcomp_bv =
-                cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
-        }
     }
     else if ( v->arch.xsave_area )
-        memset(&v->arch.xsave_area->xsave_hdr, 0,
-               sizeof(v->arch.xsave_area->xsave_hdr));
+    {
+        v->arch.xsave_area->xsave_hdr.xstate_bv = 0;
+        v->arch.xsave_area->fpu_sse.mxcsr = MXCSR_DEFAULT;
+    }
     else
     {
         typeof(v->arch.xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
@@ -940,6 +938,14 @@ int arch_set_info_guest(
         fpu_sse->fcw = FCW_DEFAULT;
         fpu_sse->mxcsr = MXCSR_DEFAULT;
     }
+    if ( cpu_has_xsaves )
+    {
+        ASSERT(v->arch.xsave_area);
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = XSTATE_COMPACTION_ENABLED |
+            v->arch.xsave_area->xsave_hdr.xstate_bv;
+    }
+    else if ( v->arch.xsave_area )
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = 0;
 
     if ( !compat )
     {
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 74c2a82..b4f1c8c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1973,6 +1973,7 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     struct hvm_hw_cpu ctxt;
     struct segment_register seg;
     const char *errstr;
+    struct xsave_struct *xsave_area;
 
     /* Which vcpu is this? */
     vcpuid = hvm_load_instance(h);
@@ -2099,20 +2100,24 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     seg.attr.bytes = ctxt.ldtr_arbytes;
     hvm_set_segment_register(v, x86_seg_ldtr, &seg);
 
+    /* Cover xsave-absent save file restoration on xsave-capable host. */
+    xsave_area = xsave_enabled(v) ? NULL : v->arch.xsave_area;
+
     v->fpu_initialised = !!(ctxt.flags & XEN_X86_FPU_INITIALISED);
     if ( v->fpu_initialised )
     {
         memcpy(v->arch.fpu_ctxt, ctxt.fpu_regs, sizeof(ctxt.fpu_regs));
-        /* In case xsave-absent save file is restored on a xsave-capable host */
-        if ( cpu_has_xsave && !xsave_enabled(v) )
-        {
-            struct xsave_struct *xsave_area = v->arch.xsave_area;
-
+        if ( xsave_area )
             xsave_area->xsave_hdr.xstate_bv = XSTATE_FP_SSE;
-            xsave_area->xsave_hdr.xcomp_bv =
-                cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
-        }
     }
+    else if ( xsave_area )
+    {
+        xsave_area->xsave_hdr.xstate_bv = 0;
+        xsave_area->fpu_sse.mxcsr = MXCSR_DEFAULT;
+    }
+    if ( cpu_has_xsaves && xsave_area )
+        xsave_area->xsave_hdr.xcomp_bv = XSTATE_COMPACTION_ENABLED |
+            xsave_area->xsave_hdr.xstate_bv;
 
     v->arch.user_regs.eax = ctxt.rax;
     v->arch.user_regs.ebx = ctxt.rbx;
@@ -5487,8 +5492,8 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip)
     if ( v->arch.xsave_area )
     {
         v->arch.xsave_area->xsave_hdr.xstate_bv = XSTATE_FP;
-        v->arch.xsave_area->xsave_hdr.xcomp_bv =
-            cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = cpu_has_xsaves
+            ? XSTATE_COMPACTION_ENABLED | XSTATE_FP : 0;
     }
 
     v->arch.vgc_flags = VGCF_online;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzh-000350-Pd; Sun, 07 Feb 2016 18:23:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzg-00034k-ND
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:32 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	6E/47-24450-4AB87B65; Sun, 07 Feb 2016 18:23:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1454869410!22011613!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62615 invoked from network); 7 Feb 2016 18:23:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0y-0007c0-7t
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzd-0000hj-Qy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:29 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzd-0000hj-Qy@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:29 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: fix xcomp_bv initialization
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 104a409ebce4499a6c04e5d28075cd6ee4991977
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:52:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:52:50 2016 +0100

    x86/xstate: fix xcomp_bv initialization
    
    We must not clear the compaction bit when using XSAVES/XRSTORS. And
    we need to guarantee that xcomp_bv never has any bits clear which
    are set in xstate_bv (which requires partly undoing commit 83ae0bb226
    ["x86/xsave: simplify xcomp_bv initialization"]). Split initialization
    of xcomp_bv from the other FPU/SSE/AVX related state setup in
    arch_set_info_guest() and hvm_load_cpu_ctxt().
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domain.c  | 18 ++++++++++++------
 xen/arch/x86/hvm/hvm.c | 25 +++++++++++++++----------
 2 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 352c194..b513028 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -923,15 +923,13 @@ int arch_set_info_guest(
     {
         memcpy(v->arch.fpu_ctxt, &c.nat->fpu_ctxt, sizeof(c.nat->fpu_ctxt));
         if ( v->arch.xsave_area )
-        {
             v->arch.xsave_area->xsave_hdr.xstate_bv = XSTATE_FP_SSE;
-            v->arch.xsave_area->xsave_hdr.xcomp_bv =
-                cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
-        }
     }
     else if ( v->arch.xsave_area )
-        memset(&v->arch.xsave_area->xsave_hdr, 0,
-               sizeof(v->arch.xsave_area->xsave_hdr));
+    {
+        v->arch.xsave_area->xsave_hdr.xstate_bv = 0;
+        v->arch.xsave_area->fpu_sse.mxcsr = MXCSR_DEFAULT;
+    }
     else
     {
         typeof(v->arch.xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
@@ -940,6 +938,14 @@ int arch_set_info_guest(
         fpu_sse->fcw = FCW_DEFAULT;
         fpu_sse->mxcsr = MXCSR_DEFAULT;
     }
+    if ( cpu_has_xsaves )
+    {
+        ASSERT(v->arch.xsave_area);
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = XSTATE_COMPACTION_ENABLED |
+            v->arch.xsave_area->xsave_hdr.xstate_bv;
+    }
+    else if ( v->arch.xsave_area )
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = 0;
 
     if ( !compat )
     {
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 74c2a82..b4f1c8c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1973,6 +1973,7 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     struct hvm_hw_cpu ctxt;
     struct segment_register seg;
     const char *errstr;
+    struct xsave_struct *xsave_area;
 
     /* Which vcpu is this? */
     vcpuid = hvm_load_instance(h);
@@ -2099,20 +2100,24 @@ static int hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
     seg.attr.bytes = ctxt.ldtr_arbytes;
     hvm_set_segment_register(v, x86_seg_ldtr, &seg);
 
+    /* Cover xsave-absent save file restoration on xsave-capable host. */
+    xsave_area = xsave_enabled(v) ? NULL : v->arch.xsave_area;
+
     v->fpu_initialised = !!(ctxt.flags & XEN_X86_FPU_INITIALISED);
     if ( v->fpu_initialised )
     {
         memcpy(v->arch.fpu_ctxt, ctxt.fpu_regs, sizeof(ctxt.fpu_regs));
-        /* In case xsave-absent save file is restored on a xsave-capable host */
-        if ( cpu_has_xsave && !xsave_enabled(v) )
-        {
-            struct xsave_struct *xsave_area = v->arch.xsave_area;
-
+        if ( xsave_area )
             xsave_area->xsave_hdr.xstate_bv = XSTATE_FP_SSE;
-            xsave_area->xsave_hdr.xcomp_bv =
-                cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
-        }
     }
+    else if ( xsave_area )
+    {
+        xsave_area->xsave_hdr.xstate_bv = 0;
+        xsave_area->fpu_sse.mxcsr = MXCSR_DEFAULT;
+    }
+    if ( cpu_has_xsaves && xsave_area )
+        xsave_area->xsave_hdr.xcomp_bv = XSTATE_COMPACTION_ENABLED |
+            xsave_area->xsave_hdr.xstate_bv;
 
     v->arch.user_regs.eax = ctxt.rax;
     v->arch.user_regs.ebx = ctxt.rbx;
@@ -5487,8 +5492,8 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip)
     if ( v->arch.xsave_area )
     {
         v->arch.xsave_area->xsave_hdr.xstate_bv = XSTATE_FP;
-        v->arch.xsave_area->xsave_hdr.xcomp_bv =
-            cpu_has_xsaves ? XSTATE_COMPACTION_ENABLED : 0;
+        v->arch.xsave_area->xsave_hdr.xcomp_bv = cpu_has_xsaves
+            ? XSTATE_COMPACTION_ENABLED | XSTATE_FP : 0;
     }
 
     v->arch.vgc_flags = VGCF_online;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzr-00036E-Tk; Sun, 07 Feb 2016 18:23:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzq-000366-Ur
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:43 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	BF/5C-10115-EAB87B65; Sun, 07 Feb 2016 18:23:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1454869420!22144055!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46888 invoked from network); 7 Feb 2016 18:23:41 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU18-0007ca-LU
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzo-0000iE-8O
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzo-0000iE-8O@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:40 +0000
Subject: [Xen-changelog] [xen master] x86: adjust xsave structure attributes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b011a5bf41e3101a9f2108e6f25281f9279d9628
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:53:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:53:16 2016 +0100

    x86: adjust xsave structure attributes
    
    The packed attribute was pointlessly used here - there are no
    misaligned fields, and hence even if the attribute took effect, it
    would at best lead to the compiler generating worse code.
    
    At the same time specify the required alignment of the fpu_sse sub-
    structure, such that the various typeof() uses on that field obtain
    pointers to properly aligned memory (knowledge which a compiler may
    want to make use of).
    
    Also add suitable build-time checks.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/i387.c          | 4 +++-
 xen/arch/x86/xstate.c        | 3 ++-
 xen/include/asm-x86/xstate.h | 4 ++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c
index 331a401..67016c9 100644
--- a/xen/arch/x86/i387.c
+++ b/xen/arch/x86/i387.c
@@ -277,7 +277,9 @@ int vcpu_init_fpu(struct vcpu *v)
     }
     else
     {
-        v->arch.fpu_ctxt = _xzalloc(sizeof(v->arch.xsave_area->fpu_sse), 16);
+        BUILD_BUG_ON(__alignof(v->arch.xsave_area->fpu_sse) < 16);
+        v->arch.fpu_ctxt = _xzalloc(sizeof(v->arch.xsave_area->fpu_sse),
+                                    __alignof(v->arch.xsave_area->fpu_sse));
         if ( v->arch.fpu_ctxt )
         {
             typeof(v->arch.xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 4e87ab3..f5d62fe 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -414,7 +414,8 @@ int xstate_alloc_save_area(struct vcpu *v)
     BUG_ON(xsave_cntxt_size < XSTATE_AREA_MIN_SIZE);
 
     /* XSAVE/XRSTOR requires the save area be 64-byte-boundary aligned. */
-    save_area = _xzalloc(xsave_cntxt_size, 64);
+    BUILD_BUG_ON(__alignof(*save_area) < 64);
+    save_area = _xzalloc(xsave_cntxt_size, __alignof(*save_area));
     if ( save_area == NULL )
         return -ENOMEM;
 
diff --git a/xen/include/asm-x86/xstate.h b/xen/include/asm-x86/xstate.h
index 12d939b..c902bb1 100644
--- a/xen/include/asm-x86/xstate.h
+++ b/xen/include/asm-x86/xstate.h
@@ -48,9 +48,9 @@ extern u64 xfeature_mask;
 extern unsigned int *xstate_sizes;
 
 /* extended state save area */
-struct __packed __attribute__((aligned (64))) xsave_struct
+struct __attribute__((aligned (64))) xsave_struct
 {
-    union {                                  /* FPU/MMX, SSE */
+    union __attribute__((aligned(16))) {     /* FPU/MMX, SSE */
         char x[512];
         struct {
             uint16_t fcw;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSTzr-00036E-Tk; Sun, 07 Feb 2016 18:23:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzq-000366-Ur
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:43 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	BF/5C-10115-EAB87B65; Sun, 07 Feb 2016 18:23:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1454869420!22144055!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46888 invoked from network); 7 Feb 2016 18:23:41 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU18-0007ca-LU
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzo-0000iE-8O
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzo-0000iE-8O@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:40 +0000
Subject: [Xen-changelog] [xen master] x86: adjust xsave structure attributes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b011a5bf41e3101a9f2108e6f25281f9279d9628
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:53:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:53:16 2016 +0100

    x86: adjust xsave structure attributes
    
    The packed attribute was pointlessly used here - there are no
    misaligned fields, and hence even if the attribute took effect, it
    would at best lead to the compiler generating worse code.
    
    At the same time specify the required alignment of the fpu_sse sub-
    structure, such that the various typeof() uses on that field obtain
    pointers to properly aligned memory (knowledge which a compiler may
    want to make use of).
    
    Also add suitable build-time checks.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/i387.c          | 4 +++-
 xen/arch/x86/xstate.c        | 3 ++-
 xen/include/asm-x86/xstate.h | 4 ++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c
index 331a401..67016c9 100644
--- a/xen/arch/x86/i387.c
+++ b/xen/arch/x86/i387.c
@@ -277,7 +277,9 @@ int vcpu_init_fpu(struct vcpu *v)
     }
     else
     {
-        v->arch.fpu_ctxt = _xzalloc(sizeof(v->arch.xsave_area->fpu_sse), 16);
+        BUILD_BUG_ON(__alignof(v->arch.xsave_area->fpu_sse) < 16);
+        v->arch.fpu_ctxt = _xzalloc(sizeof(v->arch.xsave_area->fpu_sse),
+                                    __alignof(v->arch.xsave_area->fpu_sse));
         if ( v->arch.fpu_ctxt )
         {
             typeof(v->arch.xsave_area->fpu_sse) *fpu_sse = v->arch.fpu_ctxt;
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 4e87ab3..f5d62fe 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -414,7 +414,8 @@ int xstate_alloc_save_area(struct vcpu *v)
     BUG_ON(xsave_cntxt_size < XSTATE_AREA_MIN_SIZE);
 
     /* XSAVE/XRSTOR requires the save area be 64-byte-boundary aligned. */
-    save_area = _xzalloc(xsave_cntxt_size, 64);
+    BUILD_BUG_ON(__alignof(*save_area) < 64);
+    save_area = _xzalloc(xsave_cntxt_size, __alignof(*save_area));
     if ( save_area == NULL )
         return -ENOMEM;
 
diff --git a/xen/include/asm-x86/xstate.h b/xen/include/asm-x86/xstate.h
index 12d939b..c902bb1 100644
--- a/xen/include/asm-x86/xstate.h
+++ b/xen/include/asm-x86/xstate.h
@@ -48,9 +48,9 @@ extern u64 xfeature_mask;
 extern unsigned int *xstate_sizes;
 
 /* extended state save area */
-struct __packed __attribute__((aligned (64))) xsave_struct
+struct __attribute__((aligned (64))) xsave_struct
 {
-    union {                                  /* FPU/MMX, SSE */
+    union __attribute__((aligned(16))) {     /* FPU/MMX, SSE */
         char x[512];
         struct {
             uint16_t fcw;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:54 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU02-00037e-23; Sun, 07 Feb 2016 18:23:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU01-00037S-AN
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:53 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	7B/AB-09708-8BB87B65; Sun, 07 Feb 2016 18:23:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1454869430!14573535!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20172 invoked from network); 7 Feb 2016 18:23:51 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:51 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1J-0007ci-03
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzy-0000jf-JG
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:50 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzy-0000jf-JG@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:50 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: fix fault behavior on
	XRSTORS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 01493a3c572f1abe4c6357e3dd9e6942f338f595
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:53:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:53:40 2016 +0100

    x86/xstate: fix fault behavior on XRSTORS
    
    XRSTORS unconditionally faults when xcomp_bv has bit 63 clear. Instead
    of just fixing this issue, overhaul the fault recovery code, which -
    one of the many mistakes made when xstate support got introduced - was
    blindly mirroring that accompanying FXRSTOR, neglecting the fact that
    XRSTOR{,S} aren't all-or-nothing instructions. The new code, first of
    all, does all the recovery actions in C, simplifying the inline
    assembly used. And it does its work in a multi-stage fashion: Upon
    first seeing a fault, state fixups get applied strictly based on what
    architecturally may cause #GP. When seeing another fault despite the
    fixups done, state gets fully reset. A third fault would then lead to
    crashing the domain (instead of hanging the hypervisor in an infinite
    loop of recurring faults).
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xstate.c | 96 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 77 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index f5d62fe..2e1efb7 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -29,6 +29,8 @@ unsigned int *__read_mostly xstate_sizes;
 static unsigned int __read_mostly xstate_features;
 static unsigned int __read_mostly xstate_comp_offsets[sizeof(xfeature_mask)*8];
 
+static uint32_t __read_mostly mxcsr_mask = 0x0000ffbf;
+
 /* Cached xcr0 for fast read */
 static DEFINE_PER_CPU(uint64_t, xcr0);
 
@@ -342,6 +344,7 @@ void xrstor(struct vcpu *v, uint64_t mask)
     uint32_t hmask = mask >> 32;
     uint32_t lmask = mask;
     struct xsave_struct *ptr = v->arch.xsave_area;
+    unsigned int faults, prev_faults;
 
     /*
      * AMD CPUs don't save/restore FDP/FIP/FOP unless an exception
@@ -361,35 +364,84 @@ void xrstor(struct vcpu *v, uint64_t mask)
     /*
      * XRSTOR can fault if passed a corrupted data block. We handle this
      * possibility, which may occur if the block was passed to us by control
-     * tools or through VCPUOP_initialise, by silently clearing the block.
+     * tools or through VCPUOP_initialise, by silently adjusting state.
      */
-    switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
+    for ( prev_faults = faults = 0; ; prev_faults = faults )
     {
+        switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
+        {
 #define XRSTOR(pfx) \
         alternative_io("1: .byte " pfx "0x0f,0xae,0x2f\n" \
+                       "3:\n" \
                        "   .section .fixup,\"ax\"\n" \
-                       "2: mov %[size],%%ecx\n" \
-                       "   xor %[lmask_out],%[lmask_out]\n" \
-                       "   rep stosb\n" \
-                       "   lea %[mem],%[ptr]\n" \
-                       "   mov %[lmask_in],%[lmask_out]\n" \
-                       "   jmp 1b\n" \
+                       "2: inc%z[faults] %[faults]\n" \
+                       "   jmp 3b\n" \
                        "   .previous\n" \
                        _ASM_EXTABLE(1b, 2b), \
                        ".byte " pfx "0x0f,0xc7,0x1f\n", \
                        X86_FEATURE_XSAVES, \
-                       ASM_OUTPUT2([ptr] "+&D" (ptr), [lmask_out] "+&a" (lmask)), \
-                       [mem] "m" (*ptr), [lmask_in] "g" (lmask), \
-                       [hmask] "d" (hmask), [size] "m" (xsave_cntxt_size) \
-                       : "ecx")
-
-    default:
-        XRSTOR("0x48,");
-        break;
-    case 4: case 2:
-        XRSTOR("");
-        break;
+                       ASM_OUTPUT2([mem] "+m" (*ptr), [faults] "+g" (faults)), \
+                       [lmask] "a" (lmask), [hmask] "d" (hmask), \
+                       [ptr] "D" (ptr))
+
+        default:
+            XRSTOR("0x48,");
+            break;
+        case 4: case 2:
+            XRSTOR("");
+            break;
 #undef XRSTOR
+        }
+        if ( likely(faults == prev_faults) )
+            break;
+#ifndef NDEBUG
+        gprintk(XENLOG_WARNING, "fault#%u: mxcsr=%08x\n",
+                faults, ptr->fpu_sse.mxcsr);
+        gprintk(XENLOG_WARNING, "xs=%016lx xc=%016lx\n",
+                ptr->xsave_hdr.xstate_bv, ptr->xsave_hdr.xcomp_bv);
+        gprintk(XENLOG_WARNING, "r0=%016lx r1=%016lx\n",
+                ptr->xsave_hdr.reserved[0], ptr->xsave_hdr.reserved[1]);
+        gprintk(XENLOG_WARNING, "r2=%016lx r3=%016lx\n",
+                ptr->xsave_hdr.reserved[2], ptr->xsave_hdr.reserved[3]);
+        gprintk(XENLOG_WARNING, "r4=%016lx r5=%016lx\n",
+                ptr->xsave_hdr.reserved[4], ptr->xsave_hdr.reserved[5]);
+#endif
+        switch ( faults )
+        {
+        case 1: /* Stage 1: Reset state to be loaded. */
+            ptr->xsave_hdr.xstate_bv &= ~mask;
+            /*
+             * Also try to eliminate fault reasons, even if this shouldn't be
+             * needed here (other code should ensure the sanity of the data).
+             */
+            if ( ((mask & XSTATE_SSE) ||
+                  ((mask & XSTATE_YMM) &&
+                   !(ptr->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED))) )
+                ptr->fpu_sse.mxcsr &= mxcsr_mask;
+            if ( cpu_has_xsaves || cpu_has_xsavec )
+            {
+                ptr->xsave_hdr.xcomp_bv &= this_cpu(xcr0) | this_cpu(xss);
+                ptr->xsave_hdr.xstate_bv &= ptr->xsave_hdr.xcomp_bv;
+                ptr->xsave_hdr.xcomp_bv |= XSTATE_COMPACTION_ENABLED;
+            }
+            else
+            {
+                ptr->xsave_hdr.xstate_bv &= this_cpu(xcr0);
+                ptr->xsave_hdr.xcomp_bv = 0;
+            }
+            memset(ptr->xsave_hdr.reserved, 0, sizeof(ptr->xsave_hdr.reserved));
+            continue;
+
+        case 2: /* Stage 2: Reset all state. */
+            ptr->fpu_sse.mxcsr = MXCSR_DEFAULT;
+            ptr->xsave_hdr.xstate_bv = 0;
+            ptr->xsave_hdr.xcomp_bv = cpu_has_xsaves
+                                      ? XSTATE_COMPACTION_ENABLED : 0;
+            continue;
+        }
+
+        domain_crash(current->domain);
+        return;
     }
 }
 
@@ -496,6 +548,8 @@ void xstate_init(struct cpuinfo_x86 *c)
 
     if ( bsp )
     {
+        static typeof(current->arch.xsave_area->fpu_sse) __initdata ctxt;
+
         xfeature_mask = feature_mask;
         /*
          * xsave_cntxt_size is the max size required by enabled features.
@@ -504,6 +558,10 @@ void xstate_init(struct cpuinfo_x86 *c)
         xsave_cntxt_size = _xstate_ctxt_size(feature_mask);
         printk("%s: using cntxt_size: %#x and states: %#"PRIx64"\n",
             __func__, xsave_cntxt_size, xfeature_mask);
+
+        asm ( "fxsave %0" : "=m" (ctxt) );
+        if ( ctxt.mxcsr_mask )
+            mxcsr_mask = ctxt.mxcsr_mask;
     }
     else
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:23:54 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:23:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU02-00037e-23; Sun, 07 Feb 2016 18:23:54 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU01-00037S-AN
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:53 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	7B/AB-09708-8BB87B65; Sun, 07 Feb 2016 18:23:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1454869430!14573535!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20172 invoked from network); 7 Feb 2016 18:23:51 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:23:51 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1J-0007ci-03
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSTzy-0000jf-JG
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:23:50 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSTzy-0000jf-JG@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:23:50 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: fix fault behavior on
	XRSTORS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 01493a3c572f1abe4c6357e3dd9e6942f338f595
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:53:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:53:40 2016 +0100

    x86/xstate: fix fault behavior on XRSTORS
    
    XRSTORS unconditionally faults when xcomp_bv has bit 63 clear. Instead
    of just fixing this issue, overhaul the fault recovery code, which -
    one of the many mistakes made when xstate support got introduced - was
    blindly mirroring that accompanying FXRSTOR, neglecting the fact that
    XRSTOR{,S} aren't all-or-nothing instructions. The new code, first of
    all, does all the recovery actions in C, simplifying the inline
    assembly used. And it does its work in a multi-stage fashion: Upon
    first seeing a fault, state fixups get applied strictly based on what
    architecturally may cause #GP. When seeing another fault despite the
    fixups done, state gets fully reset. A third fault would then lead to
    crashing the domain (instead of hanging the hypervisor in an infinite
    loop of recurring faults).
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xstate.c | 96 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 77 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index f5d62fe..2e1efb7 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -29,6 +29,8 @@ unsigned int *__read_mostly xstate_sizes;
 static unsigned int __read_mostly xstate_features;
 static unsigned int __read_mostly xstate_comp_offsets[sizeof(xfeature_mask)*8];
 
+static uint32_t __read_mostly mxcsr_mask = 0x0000ffbf;
+
 /* Cached xcr0 for fast read */
 static DEFINE_PER_CPU(uint64_t, xcr0);
 
@@ -342,6 +344,7 @@ void xrstor(struct vcpu *v, uint64_t mask)
     uint32_t hmask = mask >> 32;
     uint32_t lmask = mask;
     struct xsave_struct *ptr = v->arch.xsave_area;
+    unsigned int faults, prev_faults;
 
     /*
      * AMD CPUs don't save/restore FDP/FIP/FOP unless an exception
@@ -361,35 +364,84 @@ void xrstor(struct vcpu *v, uint64_t mask)
     /*
      * XRSTOR can fault if passed a corrupted data block. We handle this
      * possibility, which may occur if the block was passed to us by control
-     * tools or through VCPUOP_initialise, by silently clearing the block.
+     * tools or through VCPUOP_initialise, by silently adjusting state.
      */
-    switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
+    for ( prev_faults = faults = 0; ; prev_faults = faults )
     {
+        switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
+        {
 #define XRSTOR(pfx) \
         alternative_io("1: .byte " pfx "0x0f,0xae,0x2f\n" \
+                       "3:\n" \
                        "   .section .fixup,\"ax\"\n" \
-                       "2: mov %[size],%%ecx\n" \
-                       "   xor %[lmask_out],%[lmask_out]\n" \
-                       "   rep stosb\n" \
-                       "   lea %[mem],%[ptr]\n" \
-                       "   mov %[lmask_in],%[lmask_out]\n" \
-                       "   jmp 1b\n" \
+                       "2: inc%z[faults] %[faults]\n" \
+                       "   jmp 3b\n" \
                        "   .previous\n" \
                        _ASM_EXTABLE(1b, 2b), \
                        ".byte " pfx "0x0f,0xc7,0x1f\n", \
                        X86_FEATURE_XSAVES, \
-                       ASM_OUTPUT2([ptr] "+&D" (ptr), [lmask_out] "+&a" (lmask)), \
-                       [mem] "m" (*ptr), [lmask_in] "g" (lmask), \
-                       [hmask] "d" (hmask), [size] "m" (xsave_cntxt_size) \
-                       : "ecx")
-
-    default:
-        XRSTOR("0x48,");
-        break;
-    case 4: case 2:
-        XRSTOR("");
-        break;
+                       ASM_OUTPUT2([mem] "+m" (*ptr), [faults] "+g" (faults)), \
+                       [lmask] "a" (lmask), [hmask] "d" (hmask), \
+                       [ptr] "D" (ptr))
+
+        default:
+            XRSTOR("0x48,");
+            break;
+        case 4: case 2:
+            XRSTOR("");
+            break;
 #undef XRSTOR
+        }
+        if ( likely(faults == prev_faults) )
+            break;
+#ifndef NDEBUG
+        gprintk(XENLOG_WARNING, "fault#%u: mxcsr=%08x\n",
+                faults, ptr->fpu_sse.mxcsr);
+        gprintk(XENLOG_WARNING, "xs=%016lx xc=%016lx\n",
+                ptr->xsave_hdr.xstate_bv, ptr->xsave_hdr.xcomp_bv);
+        gprintk(XENLOG_WARNING, "r0=%016lx r1=%016lx\n",
+                ptr->xsave_hdr.reserved[0], ptr->xsave_hdr.reserved[1]);
+        gprintk(XENLOG_WARNING, "r2=%016lx r3=%016lx\n",
+                ptr->xsave_hdr.reserved[2], ptr->xsave_hdr.reserved[3]);
+        gprintk(XENLOG_WARNING, "r4=%016lx r5=%016lx\n",
+                ptr->xsave_hdr.reserved[4], ptr->xsave_hdr.reserved[5]);
+#endif
+        switch ( faults )
+        {
+        case 1: /* Stage 1: Reset state to be loaded. */
+            ptr->xsave_hdr.xstate_bv &= ~mask;
+            /*
+             * Also try to eliminate fault reasons, even if this shouldn't be
+             * needed here (other code should ensure the sanity of the data).
+             */
+            if ( ((mask & XSTATE_SSE) ||
+                  ((mask & XSTATE_YMM) &&
+                   !(ptr->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED))) )
+                ptr->fpu_sse.mxcsr &= mxcsr_mask;
+            if ( cpu_has_xsaves || cpu_has_xsavec )
+            {
+                ptr->xsave_hdr.xcomp_bv &= this_cpu(xcr0) | this_cpu(xss);
+                ptr->xsave_hdr.xstate_bv &= ptr->xsave_hdr.xcomp_bv;
+                ptr->xsave_hdr.xcomp_bv |= XSTATE_COMPACTION_ENABLED;
+            }
+            else
+            {
+                ptr->xsave_hdr.xstate_bv &= this_cpu(xcr0);
+                ptr->xsave_hdr.xcomp_bv = 0;
+            }
+            memset(ptr->xsave_hdr.reserved, 0, sizeof(ptr->xsave_hdr.reserved));
+            continue;
+
+        case 2: /* Stage 2: Reset all state. */
+            ptr->fpu_sse.mxcsr = MXCSR_DEFAULT;
+            ptr->xsave_hdr.xstate_bv = 0;
+            ptr->xsave_hdr.xcomp_bv = cpu_has_xsaves
+                                      ? XSTATE_COMPACTION_ENABLED : 0;
+            continue;
+        }
+
+        domain_crash(current->domain);
+        return;
     }
 }
 
@@ -496,6 +548,8 @@ void xstate_init(struct cpuinfo_x86 *c)
 
     if ( bsp )
     {
+        static typeof(current->arch.xsave_area->fpu_sse) __initdata ctxt;
+
         xfeature_mask = feature_mask;
         /*
          * xsave_cntxt_size is the max size required by enabled features.
@@ -504,6 +558,10 @@ void xstate_init(struct cpuinfo_x86 *c)
         xsave_cntxt_size = _xstate_ctxt_size(feature_mask);
         printk("%s: using cntxt_size: %#x and states: %#"PRIx64"\n",
             __func__, xsave_cntxt_size, xfeature_mask);
+
+        asm ( "fxsave %0" : "=m" (ctxt) );
+        if ( ctxt.mxcsr_mask )
+            mxcsr_mask = ctxt.mxcsr_mask;
     }
     else
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0C-00039d-9f; Sun, 07 Feb 2016 18:24:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0B-00039M-AF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:03 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	12/EC-31122-2CB87B65; Sun, 07 Feb 2016 18:24:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454869441!14452094!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61776 invoked from network); 7 Feb 2016 18:24:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1T-0007cv-Bg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU08-0000kQ-VT
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:00 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU08-0000kQ-VT@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:00 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: extend validation to cover
	full header
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d570d8229158136d5a1c75a2ee2a76493b720a3b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:54:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:54:09 2016 +0100

    x86/xstate: extend validation to cover full header
    
    Since we never hand out compacted state, at least for now we're also
    not going to accept such.
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domctl.c                  |  2 +-
 xen/arch/x86/hvm/hvm.c                 | 15 ++++++++++++++-
 xen/arch/x86/xstate.c                  | 13 ++++++++++---
 xen/include/asm-x86/xstate.h           |  8 ++++----
 xen/include/public/arch-x86/hvm/save.h |  7 +++----
 5 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 1d71216..f15046a 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -964,7 +964,7 @@ long arch_do_domctl(
             {
                 if ( evc->size >= 2 * sizeof(uint64_t) + XSTATE_AREA_MIN_SIZE )
                     ret = validate_xstate(_xcr0, _xcr0_accum,
-                                          _xsave_area->xsave_hdr.xstate_bv);
+                                          &_xsave_area->xsave_hdr);
             }
             else if ( !_xcr0 )
                 ret = 0;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index b4f1c8c..dea3335 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2190,6 +2190,19 @@ static int hvm_save_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
     return 0;
 }
 
+/*
+ * Structure layout conformity checks, documenting correctness of the cast in
+ * the invocation of validate_xstate() below.
+ * Leverage CONFIG_COMPAT machinery to perform this.
+ */
+#define xen_xsave_hdr xsave_hdr
+#define compat_xsave_hdr hvm_hw_cpu_xsave_hdr
+CHECK_FIELD_(struct, xsave_hdr, xstate_bv);
+CHECK_FIELD_(struct, xsave_hdr, xcomp_bv);
+CHECK_FIELD_(struct, xsave_hdr, reserved);
+#undef compat_xsave_hdr
+#undef xen_xsave_hdr
+
 static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
 {
     unsigned int vcpuid, size;
@@ -2245,7 +2258,7 @@ static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
     h->cur += desc->length;
 
     err = validate_xstate(ctxt->xcr0, ctxt->xcr0_accum,
-                          ctxt->save_area.xsave_hdr.xstate_bv);
+                          (const void *)&ctxt->save_area.xsave_hdr);
     if ( err )
     {
         printk(XENLOG_G_WARNING
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 2e1efb7..5dface9 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -613,17 +613,24 @@ static bool_t valid_xcr0(u64 xcr0)
     return !(xcr0 & XSTATE_BNDREGS) == !(xcr0 & XSTATE_BNDCSR);
 }
 
-int validate_xstate(u64 xcr0, u64 xcr0_accum, u64 xstate_bv)
+int validate_xstate(u64 xcr0, u64 xcr0_accum, const struct xsave_hdr *hdr)
 {
-    if ( (xstate_bv & ~xcr0_accum) ||
+    unsigned int i;
+
+    if ( (hdr->xstate_bv & ~xcr0_accum) ||
          (xcr0 & ~xcr0_accum) ||
          !valid_xcr0(xcr0) ||
          !valid_xcr0(xcr0_accum) )
         return -EINVAL;
 
-    if ( xcr0_accum & ~xfeature_mask )
+    if ( (xcr0_accum & ~xfeature_mask) ||
+         hdr->xcomp_bv )
         return -EOPNOTSUPP;
 
+    for ( i = 0; i < ARRAY_SIZE(hdr->reserved); ++i )
+        if ( hdr->reserved[i] )
+            return -EIO;
+
     return 0;
 }
 
diff --git a/xen/include/asm-x86/xstate.h b/xen/include/asm-x86/xstate.h
index c902bb1..84f0af9 100644
--- a/xen/include/asm-x86/xstate.h
+++ b/xen/include/asm-x86/xstate.h
@@ -72,14 +72,13 @@ struct __attribute__((aligned (64))) xsave_struct
         };
     } fpu_sse;
 
-    struct {
+    struct xsave_hdr {
         u64 xstate_bv;
         u64 xcomp_bv;
         u64 reserved[6];
     } xsave_hdr;                             /* The 64-byte header */
 
-    struct { char x[XSTATE_YMM_SIZE]; } ymm; /* YMM */
-    char   data[];                           /* Future new states */
+    char data[];                             /* Variable layout states */
 };
 
 /* extended state operations */
@@ -90,7 +89,8 @@ uint64_t get_msr_xss(void);
 void xsave(struct vcpu *v, uint64_t mask);
 void xrstor(struct vcpu *v, uint64_t mask);
 bool_t xsave_enabled(const struct vcpu *v);
-int __must_check validate_xstate(u64 xcr0, u64 xcr0_accum, u64 xstate_bv);
+int __must_check validate_xstate(u64 xcr0, u64 xcr0_accum,
+                                 const struct xsave_hdr *);
 int __must_check handle_xsetbv(u32 index, u64 new_bv);
 void expand_xsave_states(struct vcpu *v, void *dest, unsigned int size);
 void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size);
diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 6862720..fbd1c6a 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -564,12 +564,11 @@ struct hvm_hw_cpu_xsave {
     struct {
         struct { char x[512]; } fpu_sse;
 
-        struct {
+        struct hvm_hw_cpu_xsave_hdr {
             uint64_t xstate_bv;         /* Updated by XRSTOR */
-            uint64_t reserved[7];
+            uint64_t xcomp_bv;          /* Updated by XRSTOR{C,S} */
+            uint64_t reserved[6];
         } xsave_hdr;                    /* The 64-byte header */
-
-        struct { char x[0]; } ymm;    /* YMM */
     } save_area;
 };
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0C-00039d-9f; Sun, 07 Feb 2016 18:24:04 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0B-00039M-AF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:03 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	12/EC-31122-2CB87B65; Sun, 07 Feb 2016 18:24:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454869441!14452094!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61776 invoked from network); 7 Feb 2016 18:24:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1T-0007cv-Bg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU08-0000kQ-VT
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:00 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU08-0000kQ-VT@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:00 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: extend validation to cover
	full header
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d570d8229158136d5a1c75a2ee2a76493b720a3b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 1 13:54:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:54:09 2016 +0100

    x86/xstate: extend validation to cover full header
    
    Since we never hand out compacted state, at least for now we're also
    not going to accept such.
    
    Reported-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domctl.c                  |  2 +-
 xen/arch/x86/hvm/hvm.c                 | 15 ++++++++++++++-
 xen/arch/x86/xstate.c                  | 13 ++++++++++---
 xen/include/asm-x86/xstate.h           |  8 ++++----
 xen/include/public/arch-x86/hvm/save.h |  7 +++----
 5 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 1d71216..f15046a 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -964,7 +964,7 @@ long arch_do_domctl(
             {
                 if ( evc->size >= 2 * sizeof(uint64_t) + XSTATE_AREA_MIN_SIZE )
                     ret = validate_xstate(_xcr0, _xcr0_accum,
-                                          _xsave_area->xsave_hdr.xstate_bv);
+                                          &_xsave_area->xsave_hdr);
             }
             else if ( !_xcr0 )
                 ret = 0;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index b4f1c8c..dea3335 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2190,6 +2190,19 @@ static int hvm_save_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
     return 0;
 }
 
+/*
+ * Structure layout conformity checks, documenting correctness of the cast in
+ * the invocation of validate_xstate() below.
+ * Leverage CONFIG_COMPAT machinery to perform this.
+ */
+#define xen_xsave_hdr xsave_hdr
+#define compat_xsave_hdr hvm_hw_cpu_xsave_hdr
+CHECK_FIELD_(struct, xsave_hdr, xstate_bv);
+CHECK_FIELD_(struct, xsave_hdr, xcomp_bv);
+CHECK_FIELD_(struct, xsave_hdr, reserved);
+#undef compat_xsave_hdr
+#undef xen_xsave_hdr
+
 static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
 {
     unsigned int vcpuid, size;
@@ -2245,7 +2258,7 @@ static int hvm_load_cpu_xsave_states(struct domain *d, hvm_domain_context_t *h)
     h->cur += desc->length;
 
     err = validate_xstate(ctxt->xcr0, ctxt->xcr0_accum,
-                          ctxt->save_area.xsave_hdr.xstate_bv);
+                          (const void *)&ctxt->save_area.xsave_hdr);
     if ( err )
     {
         printk(XENLOG_G_WARNING
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 2e1efb7..5dface9 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -613,17 +613,24 @@ static bool_t valid_xcr0(u64 xcr0)
     return !(xcr0 & XSTATE_BNDREGS) == !(xcr0 & XSTATE_BNDCSR);
 }
 
-int validate_xstate(u64 xcr0, u64 xcr0_accum, u64 xstate_bv)
+int validate_xstate(u64 xcr0, u64 xcr0_accum, const struct xsave_hdr *hdr)
 {
-    if ( (xstate_bv & ~xcr0_accum) ||
+    unsigned int i;
+
+    if ( (hdr->xstate_bv & ~xcr0_accum) ||
          (xcr0 & ~xcr0_accum) ||
          !valid_xcr0(xcr0) ||
          !valid_xcr0(xcr0_accum) )
         return -EINVAL;
 
-    if ( xcr0_accum & ~xfeature_mask )
+    if ( (xcr0_accum & ~xfeature_mask) ||
+         hdr->xcomp_bv )
         return -EOPNOTSUPP;
 
+    for ( i = 0; i < ARRAY_SIZE(hdr->reserved); ++i )
+        if ( hdr->reserved[i] )
+            return -EIO;
+
     return 0;
 }
 
diff --git a/xen/include/asm-x86/xstate.h b/xen/include/asm-x86/xstate.h
index c902bb1..84f0af9 100644
--- a/xen/include/asm-x86/xstate.h
+++ b/xen/include/asm-x86/xstate.h
@@ -72,14 +72,13 @@ struct __attribute__((aligned (64))) xsave_struct
         };
     } fpu_sse;
 
-    struct {
+    struct xsave_hdr {
         u64 xstate_bv;
         u64 xcomp_bv;
         u64 reserved[6];
     } xsave_hdr;                             /* The 64-byte header */
 
-    struct { char x[XSTATE_YMM_SIZE]; } ymm; /* YMM */
-    char   data[];                           /* Future new states */
+    char data[];                             /* Variable layout states */
 };
 
 /* extended state operations */
@@ -90,7 +89,8 @@ uint64_t get_msr_xss(void);
 void xsave(struct vcpu *v, uint64_t mask);
 void xrstor(struct vcpu *v, uint64_t mask);
 bool_t xsave_enabled(const struct vcpu *v);
-int __must_check validate_xstate(u64 xcr0, u64 xcr0_accum, u64 xstate_bv);
+int __must_check validate_xstate(u64 xcr0, u64 xcr0_accum,
+                                 const struct xsave_hdr *);
 int __must_check handle_xsetbv(u32 index, u64 new_bv);
 void expand_xsave_states(struct vcpu *v, void *dest, unsigned int size);
 void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size);
diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 6862720..fbd1c6a 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -564,12 +564,11 @@ struct hvm_hw_cpu_xsave {
     struct {
         struct { char x[512]; } fpu_sse;
 
-        struct {
+        struct hvm_hw_cpu_xsave_hdr {
             uint64_t xstate_bv;         /* Updated by XRSTOR */
-            uint64_t reserved[7];
+            uint64_t xcomp_bv;          /* Updated by XRSTOR{C,S} */
+            uint64_t reserved[6];
         } xsave_hdr;                    /* The 64-byte header */
-
-        struct { char x[0]; } ymm;    /* YMM */
     } save_area;
 };
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0M-0003Bs-Do; Sun, 07 Feb 2016 18:24:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0L-0003Bj-E8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:13 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	8A/BB-09708-CCB87B65; Sun, 07 Feb 2016 18:24:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869451!14572030!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37612 invoked from network); 7 Feb 2016 18:24:12 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1d-0007dX-KG
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0J-0000lY-7e
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0J-0000lY-7e@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:11 +0000
Subject: [Xen-changelog] [xen master] x86: convert shadow-paging to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 54da55fda7e4be7454ac9b19a8e84b1e8b4079e5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 1 13:54:46 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:54:46 2016 +0100

    x86: convert shadow-paging to Kconfig
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/Kconfig            | 18 ++++++++++++++++++
 xen/arch/x86/Rules.mk           |  4 ----
 xen/arch/x86/mm/shadow/Makefile |  2 +-
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 4781b34..1fd72fa 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -27,6 +27,24 @@ menu "Architecture Features"
 
 source "arch/Kconfig"
 
+config SHADOW_PAGING
+        bool "Shadow Paging"
+        default y
+        ---help---
+
+          Shadow paging is a software alternative to hardware paging support
+          (Intel EPT, AMD NPT).
+
+          It is required for:
+            * Running HVM guests on hardware lacking hardware paging support
+              (First-generation Intel VT-x or AMD SVM).
+            * Live migration of PV guests.
+
+          Under a small number of specific workloads, shadow paging may be
+          deliberately used as a performance optimisation.
+
+          If unsure, say Y.
+
 config BIGMEM
 	bool "big memory support"
 	default n
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index a108d24..a1cdae0 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -22,13 +22,9 @@ $(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \
                      -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM \
                      '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@')
 
-shadow-paging ?= y
-
 CFLAGS += -mno-red-zone -mno-sse -fpic
 CFLAGS += -fno-asynchronous-unwind-tables
 # -fvisibility=hidden reduces -fpic cost, if it's available
 ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
 endif
-
-CFLAGS-$(shadow-paging) += -DCONFIG_SHADOW_PAGING
diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile
index a07bc0c..cd4ec8a 100644
--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -1,4 +1,4 @@
-ifeq ($(shadow-paging),y)
+ifeq ($(CONFIG_SHADOW_PAGING),y)
 obj-y += common.o guest_2.o guest_3.o guest_4.o
 else
 obj-y += none.o
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0M-0003Bs-Do; Sun, 07 Feb 2016 18:24:14 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0L-0003Bj-E8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:13 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	8A/BB-09708-CCB87B65; Sun, 07 Feb 2016 18:24:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869451!14572030!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37612 invoked from network); 7 Feb 2016 18:24:12 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1d-0007dX-KG
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0J-0000lY-7e
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0J-0000lY-7e@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:11 +0000
Subject: [Xen-changelog] [xen master] x86: convert shadow-paging to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 54da55fda7e4be7454ac9b19a8e84b1e8b4079e5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 1 13:54:46 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:54:46 2016 +0100

    x86: convert shadow-paging to Kconfig
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/Kconfig            | 18 ++++++++++++++++++
 xen/arch/x86/Rules.mk           |  4 ----
 xen/arch/x86/mm/shadow/Makefile |  2 +-
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 4781b34..1fd72fa 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -27,6 +27,24 @@ menu "Architecture Features"
 
 source "arch/Kconfig"
 
+config SHADOW_PAGING
+        bool "Shadow Paging"
+        default y
+        ---help---
+
+          Shadow paging is a software alternative to hardware paging support
+          (Intel EPT, AMD NPT).
+
+          It is required for:
+            * Running HVM guests on hardware lacking hardware paging support
+              (First-generation Intel VT-x or AMD SVM).
+            * Live migration of PV guests.
+
+          Under a small number of specific workloads, shadow paging may be
+          deliberately used as a performance optimisation.
+
+          If unsure, say Y.
+
 config BIGMEM
 	bool "big memory support"
 	default n
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index a108d24..a1cdae0 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -22,13 +22,9 @@ $(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \
                      -U__OBJECT_LABEL__ -DHAVE_GAS_QUOTED_SYM \
                      '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@')
 
-shadow-paging ?= y
-
 CFLAGS += -mno-red-zone -mno-sse -fpic
 CFLAGS += -fno-asynchronous-unwind-tables
 # -fvisibility=hidden reduces -fpic cost, if it's available
 ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
 endif
-
-CFLAGS-$(shadow-paging) += -DCONFIG_SHADOW_PAGING
diff --git a/xen/arch/x86/mm/shadow/Makefile b/xen/arch/x86/mm/shadow/Makefile
index a07bc0c..cd4ec8a 100644
--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -1,4 +1,4 @@
-ifeq ($(shadow-paging),y)
+ifeq ($(CONFIG_SHADOW_PAGING),y)
 obj-y += common.o guest_2.o guest_3.o guest_4.o
 else
 obj-y += none.o
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0X-0003DE-Io; Sun, 07 Feb 2016 18:24:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0W-0003D4-8U
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:24 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	45/A1-28221-7DB87B65; Sun, 07 Feb 2016 18:24:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1454869461!21781342!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5759 invoked from network); 7 Feb 2016 18:24:22 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:22 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1o-0007dh-0i
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0T-0000mP-JK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:21 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0T-0000mP-JK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:21 +0000
Subject: [Xen-changelog] [xen master] Kconfig: import kconfig.h from Linux
	4.3
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 601b5977008770e872827689eb5e868276eea7b9
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Mon Feb 1 13:55:51 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:55:51 2016 +0100

    Kconfig: import kconfig.h from Linux 4.3
    
    To support using CONFIG_ options in C/CPP expressions, import kconfig.h
    from the Linux v4.3 tag (commit id
    6a13feb9c82803e2b815eca72fa7a9f5561d7861).
    Only import IS_ENABLED for Xen since Xen doesn't support loadable
    modules.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/kconfig.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/xen/include/xen/kconfig.h b/xen/include/xen/kconfig.h
new file mode 100644
index 0000000..4d58c5b
--- /dev/null
+++ b/xen/include/xen/kconfig.h
@@ -0,0 +1,31 @@
+#ifndef __XEN_KCONFIG_H
+#define __XEN_KCONFIG_H
+
+#include <generated/autoconf.h>
+
+/*
+ * Helper macros to use CONFIG_ options in C/CPP expressions. Note that
+ * these only work with boolean option.
+ */
+
+/*
+ * Getting something that works in C and CPP for an arg that may or may
+ * not be defined is tricky.  Here, if we have "#define CONFIG_BOOGER 1"
+ * we match on the placeholder define, insert the "0," for arg1 and generate
+ * the triplet (0, 1, 0).  Then the last step cherry picks the 2nd arg (a one).
+ * When CONFIG_BOOGER is not defined, we generate a (... 1, 0) pair, and when
+ * the last step cherry picks the 2nd arg, we get a zero.
+ */
+#define __ARG_PLACEHOLDER_1 0,
+#define config_enabled(cfg) _config_enabled(cfg)
+#define _config_enabled(value) __config_enabled(__ARG_PLACEHOLDER_##value)
+#define __config_enabled(arg1_or_junk) ___config_enabled(arg1_or_junk 1, 0)
+#define ___config_enabled(__ignored, val, ...) val
+
+/*
+ * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0
+ * otherwise.
+ */
+#define IS_ENABLED(option) config_enabled(option)
+
+#endif /* __XEN_KCONFIG_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0X-0003DE-Io; Sun, 07 Feb 2016 18:24:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0W-0003D4-8U
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:24 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	45/A1-28221-7DB87B65; Sun, 07 Feb 2016 18:24:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1454869461!21781342!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5759 invoked from network); 7 Feb 2016 18:24:22 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:22 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1o-0007dh-0i
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0T-0000mP-JK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:21 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0T-0000mP-JK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:21 +0000
Subject: [Xen-changelog] [xen master] Kconfig: import kconfig.h from Linux
	4.3
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 601b5977008770e872827689eb5e868276eea7b9
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Mon Feb 1 13:55:51 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:55:51 2016 +0100

    Kconfig: import kconfig.h from Linux 4.3
    
    To support using CONFIG_ options in C/CPP expressions, import kconfig.h
    from the Linux v4.3 tag (commit id
    6a13feb9c82803e2b815eca72fa7a9f5561d7861).
    Only import IS_ENABLED for Xen since Xen doesn't support loadable
    modules.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/kconfig.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/xen/include/xen/kconfig.h b/xen/include/xen/kconfig.h
new file mode 100644
index 0000000..4d58c5b
--- /dev/null
+++ b/xen/include/xen/kconfig.h
@@ -0,0 +1,31 @@
+#ifndef __XEN_KCONFIG_H
+#define __XEN_KCONFIG_H
+
+#include <generated/autoconf.h>
+
+/*
+ * Helper macros to use CONFIG_ options in C/CPP expressions. Note that
+ * these only work with boolean option.
+ */
+
+/*
+ * Getting something that works in C and CPP for an arg that may or may
+ * not be defined is tricky.  Here, if we have "#define CONFIG_BOOGER 1"
+ * we match on the placeholder define, insert the "0," for arg1 and generate
+ * the triplet (0, 1, 0).  Then the last step cherry picks the 2nd arg (a one).
+ * When CONFIG_BOOGER is not defined, we generate a (... 1, 0) pair, and when
+ * the last step cherry picks the 2nd arg, we get a zero.
+ */
+#define __ARG_PLACEHOLDER_1 0,
+#define config_enabled(cfg) _config_enabled(cfg)
+#define _config_enabled(value) __config_enabled(__ARG_PLACEHOLDER_##value)
+#define __config_enabled(arg1_or_junk) ___config_enabled(arg1_or_junk 1, 0)
+#define ___config_enabled(__ignored, val, ...) val
+
+/*
+ * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0
+ * otherwise.
+ */
+#define IS_ENABLED(option) config_enabled(option)
+
+#endif /* __XEN_KCONFIG_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0h-0003EV-Nk; Sun, 07 Feb 2016 18:24:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0g-0003EN-Ca
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:34 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	FB/CB-09708-1EB87B65; Sun, 07 Feb 2016 18:24:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1454869472!14446733!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53007 invoked from network); 7 Feb 2016 18:24:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1y-0007dp-Dm
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0e-0000n6-0k
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0e-0000n6-0k@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:32 +0000
Subject: [Xen-changelog] [xen master] ACPI: add config for BIOS table scan
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 123d8d1b9b18d6b036d37b3acfdc43434644cc87
Author:     Graeme Gregory <graeme.gregory@linaro.org>
AuthorDate: Mon Feb 1 13:56:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:56:16 2016 +0100

    ACPI: add config for BIOS table scan
    
    With the addition of ARM64 that does not have a traditional BIOS to
    scan, add a config option which is selected on x86 (ia64 doesn't need
    it either, it is EFI/UEFI based system) to do the traditional BIOS
    scanning for tables.
    
    Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
    Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    [Linux commit 8a1664be0b922dd6afd60eca96a992ef5ec22c40]
    [Include <xen/kconfig.h> in osl.c so that it could use IS_ENABLED]
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/Kconfig     | 1 +
 xen/drivers/acpi/Kconfig | 3 +++
 xen/drivers/acpi/osl.c   | 5 ++++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 1fd72fa..3a90f47 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -3,6 +3,7 @@ config X86_64
 
 config X86
 	def_bool y
+	select ACPI_LEGACY_TABLES_LOOKUP
 	select COMPAT
 	select HAS_ACPI
 	select HAS_CPUFREQ
diff --git a/xen/drivers/acpi/Kconfig b/xen/drivers/acpi/Kconfig
index 11ab5e4..82d73ca 100644
--- a/xen/drivers/acpi/Kconfig
+++ b/xen/drivers/acpi/Kconfig
@@ -2,3 +2,6 @@
 # Select HAS_ACPI if ACPI is supported
 config HAS_ACPI
 	bool
+
+config ACPI_LEGACY_TABLES_LOOKUP
+	bool
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index ce15470..2f1d723 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/domain_page.h>
 #include <xen/efi.h>
 #include <xen/vmap.h>
+#include <xen/kconfig.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -75,12 +76,14 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 			       "System description tables not found\n");
 			return 0;
 		}
-	} else {
+	} else if (IS_ENABLED(CONFIG_ACPI_LEGACY_TABLES_LOOKUP)) {
 		acpi_physical_address pa = 0;
 
 		acpi_find_root_pointer(&pa);
 		return pa;
 	}
+
+	return 0;
 }
 
 void __iomem *
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0h-0003EV-Nk; Sun, 07 Feb 2016 18:24:35 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0g-0003EN-Ca
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:34 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	FB/CB-09708-1EB87B65; Sun, 07 Feb 2016 18:24:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1454869472!14446733!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53007 invoked from network); 7 Feb 2016 18:24:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1y-0007dp-Dm
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0e-0000n6-0k
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0e-0000n6-0k@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:32 +0000
Subject: [Xen-changelog] [xen master] ACPI: add config for BIOS table scan
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 123d8d1b9b18d6b036d37b3acfdc43434644cc87
Author:     Graeme Gregory <graeme.gregory@linaro.org>
AuthorDate: Mon Feb 1 13:56:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:56:16 2016 +0100

    ACPI: add config for BIOS table scan
    
    With the addition of ARM64 that does not have a traditional BIOS to
    scan, add a config option which is selected on x86 (ia64 doesn't need
    it either, it is EFI/UEFI based system) to do the traditional BIOS
    scanning for tables.
    
    Signed-off-by: Graeme Gregory <graeme.gregory@linaro.org>
    Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    [Linux commit 8a1664be0b922dd6afd60eca96a992ef5ec22c40]
    [Include <xen/kconfig.h> in osl.c so that it could use IS_ENABLED]
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/Kconfig     | 1 +
 xen/drivers/acpi/Kconfig | 3 +++
 xen/drivers/acpi/osl.c   | 5 ++++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 1fd72fa..3a90f47 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -3,6 +3,7 @@ config X86_64
 
 config X86
 	def_bool y
+	select ACPI_LEGACY_TABLES_LOOKUP
 	select COMPAT
 	select HAS_ACPI
 	select HAS_CPUFREQ
diff --git a/xen/drivers/acpi/Kconfig b/xen/drivers/acpi/Kconfig
index 11ab5e4..82d73ca 100644
--- a/xen/drivers/acpi/Kconfig
+++ b/xen/drivers/acpi/Kconfig
@@ -2,3 +2,6 @@
 # Select HAS_ACPI if ACPI is supported
 config HAS_ACPI
 	bool
+
+config ACPI_LEGACY_TABLES_LOOKUP
+	bool
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index ce15470..2f1d723 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/domain_page.h>
 #include <xen/efi.h>
 #include <xen/vmap.h>
+#include <xen/kconfig.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -75,12 +76,14 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 			       "System description tables not found\n");
 			return 0;
 		}
-	} else {
+	} else if (IS_ENABLED(CONFIG_ACPI_LEGACY_TABLES_LOOKUP)) {
 		acpi_physical_address pa = 0;
 
 		acpi_find_root_pointer(&pa);
 		return pa;
 	}
+
+	return 0;
 }
 
 void __iomem *
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0s-0003G1-Rc; Sun, 07 Feb 2016 18:24:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0q-0003Fs-TI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:45 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	19/9E-17090-CEB87B65; Sun, 07 Feb 2016 18:24:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454869482!20786058!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46652 invoked from network); 7 Feb 2016 18:24:43 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:43 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU28-0007eQ-On
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0o-0000nY-Bi
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0o-0000nY-Bi@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:42 +0000
Subject: [Xen-changelog] [xen master] acpi: refactor acpi_os_map_memory to
	be architecturally independent
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1d0f16710b6b2ef3d72eaf4d8426d98594b91b92
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Mon Feb 1 13:56:54 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:56:54 2016 +0100

    acpi: refactor acpi_os_map_memory to be architecturally independent
    
    The first Mb handling is not necessary and the attribute of __vmap() is
    different for ARM. Factor the first Mb handling only for x86 and define
    a mapping attribute for each architecture.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/acpi/osl.c     | 6 +++---
 xen/include/asm-x86/acpi.h | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 2f1d723..8a28d87 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -93,11 +93,11 @@ acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 		mfn_t mfn = _mfn(PFN_DOWN(phys));
 		unsigned int offs = phys & (PAGE_SIZE - 1);
 
-		/* The low first Mb is always mapped. */
-		if ( !((phys + size - 1) >> 20) )
+		/* The low first Mb is always mapped on x86. */
+		if (IS_ENABLED(CONFIG_X86) && !((phys + size - 1) >> 20))
 			return __va(phys);
 		return __vmap(&mfn, PFN_UP(offs + size), 1, 1,
-			      PAGE_HYPERVISOR_NOCACHE) + offs;
+			      ACPI_MAP_MEM_ATTR) + offs;
 	}
 	return __acpi_map_table(phys, size);
 }
diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index d3bde78..d532e3d 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -163,4 +163,6 @@ void hvm_acpi_sleep_button(struct domain *d);
 void save_rest_processor_state(void);
 void restore_rest_processor_state(void);
 
+#define ACPI_MAP_MEM_ATTR	PAGE_HYPERVISOR_NOCACHE
+
 #endif /*__X86_ASM_ACPI_H*/
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU0s-0003G1-Rc; Sun, 07 Feb 2016 18:24:46 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0q-0003Fs-TI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:45 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	19/9E-17090-CEB87B65; Sun, 07 Feb 2016 18:24:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454869482!20786058!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46652 invoked from network); 7 Feb 2016 18:24:43 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:43 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU28-0007eQ-On
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0o-0000nY-Bi
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0o-0000nY-Bi@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:42 +0000
Subject: [Xen-changelog] [xen master] acpi: refactor acpi_os_map_memory to
	be architecturally independent
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1d0f16710b6b2ef3d72eaf4d8426d98594b91b92
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Mon Feb 1 13:56:54 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:56:54 2016 +0100

    acpi: refactor acpi_os_map_memory to be architecturally independent
    
    The first Mb handling is not necessary and the attribute of __vmap() is
    different for ARM. Factor the first Mb handling only for x86 and define
    a mapping attribute for each architecture.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/acpi/osl.c     | 6 +++---
 xen/include/asm-x86/acpi.h | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 2f1d723..8a28d87 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -93,11 +93,11 @@ acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 		mfn_t mfn = _mfn(PFN_DOWN(phys));
 		unsigned int offs = phys & (PAGE_SIZE - 1);
 
-		/* The low first Mb is always mapped. */
-		if ( !((phys + size - 1) >> 20) )
+		/* The low first Mb is always mapped on x86. */
+		if (IS_ENABLED(CONFIG_X86) && !((phys + size - 1) >> 20))
 			return __va(phys);
 		return __vmap(&mfn, PFN_UP(offs + size), 1, 1,
-			      PAGE_HYPERVISOR_NOCACHE) + offs;
+			      ACPI_MAP_MEM_ATTR) + offs;
 	}
 	return __acpi_map_table(phys, size);
 }
diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index d3bde78..d532e3d 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -163,4 +163,6 @@ void hvm_acpi_sleep_button(struct domain *d);
 void save_rest_processor_state(void);
 void restore_rest_processor_state(void);
 
+#define ACPI_MAP_MEM_ATTR	PAGE_HYPERVISOR_NOCACHE
+
 #endif /*__X86_ASM_ACPI_H*/
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU12-0003HD-Vc; Sun, 07 Feb 2016 18:24:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU11-0003H6-C8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:55 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	28/F8-07165-6FB87B65; Sun, 07 Feb 2016 18:24:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869493!22045440!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28338 invoked from network); 7 Feb 2016 18:24:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2J-0007eY-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0y-0000od-Of
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:52 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0y-0000od-Of@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:52 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: cover non-x86 vm_event
	files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3ac90e9bb2f110d9ef0f4c1239aced83d88834e4
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 1 13:59:46 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:59:46 2016 +0100

    MAINTAINERS: cover non-x86 vm_event files
    
    This patch covers modifications to xen/arch/*/vm_event.c, in order
    to include ARM vm_event maintainership.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7c1bf82..b36d9be 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -362,7 +362,7 @@ F:	xen/common/vm_event.c
 F:	xen/common/mem_access.c
 F:	xen/arch/x86/hvm/event.c
 F:	xen/arch/x86/monitor.c
-F:	xen/arch/x86/vm_event.c
+F:	xen/arch/*/vm_event.c
 F:	tools/tests/xen-access
 
 VTPM
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:24:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU12-0003HD-Vc; Sun, 07 Feb 2016 18:24:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU11-0003H6-C8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:55 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	28/F8-07165-6FB87B65; Sun, 07 Feb 2016 18:24:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869493!22045440!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28338 invoked from network); 7 Feb 2016 18:24:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:24:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2J-0007eY-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU0y-0000od-Of
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:24:52 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU0y-0000od-Of@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:24:52 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: cover non-x86 vm_event
	files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3ac90e9bb2f110d9ef0f4c1239aced83d88834e4
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 1 13:59:46 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 13:59:46 2016 +0100

    MAINTAINERS: cover non-x86 vm_event files
    
    This patch covers modifications to xen/arch/*/vm_event.c, in order
    to include ARM vm_event maintainership.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 7c1bf82..b36d9be 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -362,7 +362,7 @@ F:	xen/common/vm_event.c
 F:	xen/common/mem_access.c
 F:	xen/arch/x86/hvm/event.c
 F:	xen/arch/x86/monitor.c
-F:	xen/arch/x86/vm_event.c
+F:	xen/arch/*/vm_event.c
 F:	tools/tests/xen-access
 
 VTPM
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1D-0003IX-37; Sun, 07 Feb 2016 18:25:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1B-0003IN-P4
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:05 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	86/A1-08977-10C87B65; Sun, 07 Feb 2016 18:25:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454869503!14452156!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64401 invoked from network); 7 Feb 2016 18:25:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2T-0007el-LV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU19-0000pP-6y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU19-0000pP-6y@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:03 +0000
Subject: [Xen-changelog] [xen master] x86: shrink 'struct domain',
	was already PAGE_SIZE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 428607a410e8abfb4bb71195d74cd1157e3d06ae
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Mon Feb 1 14:00:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 14:00:30 2016 +0100

    x86: shrink 'struct domain', was already PAGE_SIZE
    
    The X86 domain structure already occupied PAGE_SIZE (4096).
    
    Looking @ the memory layout of the structure, we could see that
    overall most was occupied by (used the pahole tool on domain.o):
     * sizeof(domain.arch) = sizeof(arch_domain) = 3328 bytes.
     * sizeof(domain.arch.hvm_domain) = 2224 bytes.
     * sizeof(domain.arch.hvm_domain.pl_time) = 1088 bytes.
    This patch attempts to free some space, by making the pl_time
    field in hvm_domain dynamically allocated.
    We xzalloc/xfree it @ hvm_domain_initialise/hvm_domain_destroy.
    
    After this change, the domain structure shrunk w/ 1152 bytes (>1K!).
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hpet.c          |  5 ++---
 xen/arch/x86/hvm/hvm.c           |  9 ++++++++-
 xen/arch/x86/hvm/pmtimer.c       | 18 +++++++++---------
 xen/arch/x86/hvm/rtc.c           |  5 ++---
 xen/arch/x86/hvm/vpt.c           | 10 +++++-----
 xen/arch/x86/time.c              |  2 +-
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/asm-x86/hvm/vpt.h    |  1 +
 8 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index 5e020ae..3ea895a 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -26,10 +26,9 @@
 #include <xen/event.h>
 #include <xen/trace.h>
 
-#define domain_vhpet(x) (&(x)->arch.hvm_domain.pl_time.vhpet)
+#define domain_vhpet(x) (&(x)->arch.hvm_domain.pl_time->vhpet)
 #define vcpu_vhpet(x)   (domain_vhpet((x)->domain))
-#define vhpet_domain(x) (container_of((x), struct domain, \
-                                      arch.hvm_domain.pl_time.vhpet))
+#define vhpet_domain(x) (container_of(x, struct pl_time, vhpet)->domain)
 #define vhpet_vcpu(x)   (pt_global_vcpu_target(vhpet_domain(x)))
 
 #define HPET_BASE_ADDRESS   0xfed00000ULL
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index dea3335..f24400d 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1576,13 +1576,18 @@ int hvm_domain_initialise(struct domain *d)
     if ( rc != 0 )
         goto fail0;
 
+    d->arch.hvm_domain.pl_time = xzalloc(struct pl_time);
     d->arch.hvm_domain.params = xzalloc_array(uint64_t, HVM_NR_PARAMS);
     d->arch.hvm_domain.io_handler = xzalloc_array(struct hvm_io_handler,
                                                   NR_IO_HANDLERS);
     rc = -ENOMEM;
-    if ( !d->arch.hvm_domain.params || !d->arch.hvm_domain.io_handler )
+    if ( !d->arch.hvm_domain.pl_time ||
+         !d->arch.hvm_domain.params  || !d->arch.hvm_domain.io_handler )
         goto fail1;
 
+    /* need link to containing domain */
+    d->arch.hvm_domain.pl_time->domain = d;
+
     /* Set the default IO Bitmap. */
     if ( is_hardware_domain(d) )
     {
@@ -1639,6 +1644,7 @@ int hvm_domain_initialise(struct domain *d)
         xfree(d->arch.hvm_domain.io_bitmap);
     xfree(d->arch.hvm_domain.io_handler);
     xfree(d->arch.hvm_domain.params);
+    xfree(d->arch.hvm_domain.pl_time);
  fail0:
     hvm_destroy_cacheattr_region_list(d);
     return rc;
@@ -1669,6 +1675,7 @@ void hvm_domain_destroy(struct domain *d)
 {
     xfree(d->arch.hvm_domain.io_handler);
     xfree(d->arch.hvm_domain.params);
+    xfree(d->arch.hvm_domain.pl_time);
 
     hvm_destroy_cacheattr_region_list(d);
 
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index 9c2e4bd..b1a5565 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -66,7 +66,7 @@ static void pmt_update_sci(PMTState *s)
 
 void hvm_acpi_power_button(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -79,7 +79,7 @@ void hvm_acpi_power_button(struct domain *d)
 
 void hvm_acpi_sleep_button(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -152,7 +152,7 @@ static int handle_evt_io(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct vcpu *v = current;
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
     uint32_t addr, data, byte;
     int i;
 
@@ -215,7 +215,7 @@ static int handle_pmt_io(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct vcpu *v = current;
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
 
     if ( bytes != 4 )
     {
@@ -251,7 +251,7 @@ static int handle_pmt_io(
 
 static int pmtimer_save(struct domain *d, hvm_domain_context_t *h)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
     uint32_t x, msb = s->pm.tmr_val & TMR_VAL_MSB;
     int rc;
 
@@ -282,7 +282,7 @@ static int pmtimer_save(struct domain *d, hvm_domain_context_t *h)
 
 static int pmtimer_load(struct domain *d, hvm_domain_context_t *h)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return -ENODEV;
@@ -345,7 +345,7 @@ int pmtimer_change_ioport(struct domain *d, unsigned int version)
 
 void pmtimer_init(struct vcpu *v)
 {
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(v->domain) )
         return;
@@ -369,7 +369,7 @@ void pmtimer_init(struct vcpu *v)
 
 void pmtimer_deinit(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -383,5 +383,5 @@ void pmtimer_reset(struct domain *d)
         return;
 
     /* Reset the counter. */
-    d->arch.hvm_domain.pl_time.vpmt.pm.tmr_val = 0;
+    d->arch.hvm_domain.pl_time->vpmt.pm.tmr_val = 0;
 }
diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
index d391e38..4d792a4 100644
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -38,10 +38,9 @@
 #define MIN_PER_HOUR    60
 #define HOUR_PER_DAY    24
 
-#define domain_vrtc(x) (&(x)->arch.hvm_domain.pl_time.vrtc)
+#define domain_vrtc(x) (&(x)->arch.hvm_domain.pl_time->vrtc)
 #define vcpu_vrtc(x)   (domain_vrtc((x)->domain))
-#define vrtc_domain(x) (container_of((x), struct domain, \
-                                     arch.hvm_domain.pl_time.vrtc))
+#define vrtc_domain(x) (container_of(x, struct pl_time, vrtc)->domain)
 #define vrtc_vcpu(x)   (pt_global_vcpu_target(vrtc_domain(x)))
 #define epoch_year     1900
 #define get_year(x)    (x + epoch_year)
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 4fa6566..358ec57 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -28,7 +28,7 @@
 
 void hvm_init_guest_time(struct domain *d)
 {
-    struct pl_time *pl = &d->arch.hvm_domain.pl_time;
+    struct pl_time *pl = d->arch.hvm_domain.pl_time;
 
     spin_lock_init(&pl->pl_time_lock);
     pl->stime_offset = -(u64)get_s_time();
@@ -37,7 +37,7 @@ void hvm_init_guest_time(struct domain *d)
 
 u64 hvm_get_guest_time_fixed(struct vcpu *v, u64 at_tsc)
 {
-    struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
+    struct pl_time *pl = v->domain->arch.hvm_domain.pl_time;
     u64 now;
 
     /* Called from device models shared with PV guests. Be careful. */
@@ -505,7 +505,7 @@ void pt_adjust_global_vcpu_target(struct vcpu *v)
     pt_adjust_vcpu(&vpit->pt0, v);
     spin_unlock(&vpit->lock);
 
-    pl_time = &v->domain->arch.hvm_domain.pl_time;
+    pl_time = v->domain->arch.hvm_domain.pl_time;
 
     spin_lock(&pl_time->vrtc.lock);
     pt_adjust_vcpu(&pl_time->vrtc.pt, v);
@@ -540,9 +540,9 @@ void pt_may_unmask_irq(struct domain *d, struct periodic_time *vlapic_pt)
     if ( d )
     {
         pt_resume(&d->arch.vpit.pt0);
-        pt_resume(&d->arch.hvm_domain.pl_time.vrtc.pt);
+        pt_resume(&d->arch.hvm_domain.pl_time->vrtc.pt);
         for ( i = 0; i < HPET_TIMER_NUM; i++ )
-            pt_resume(&d->arch.hvm_domain.pl_time.vhpet.pt[i]);
+            pt_resume(&d->arch.hvm_domain.pl_time->vhpet.pt[i]);
     }
 
     if ( vlapic_pt )
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 988403a..5819b9f 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -799,7 +799,7 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
         if ( is_hvm_domain(d) )
         {
-            struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
+            struct pl_time *pl = v->domain->arch.hvm_domain.pl_time;
 
             stime += pl->stime_offset + v->arch.hvm_vcpu.stime_offset;
             if ( stime >= 0 )
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index 1e13973..4b54c5d 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -91,7 +91,7 @@ struct hvm_domain {
     /* Cached CF8 for guest PCI config cycles */
     uint32_t                pci_cf8;
 
-    struct pl_time         pl_time;
+    struct pl_time         *pl_time;
 
     struct hvm_io_handler *io_handler;
     unsigned int          io_handler_count;
diff --git a/xen/include/asm-x86/hvm/vpt.h b/xen/include/asm-x86/hvm/vpt.h
index 495d669..a27bea4 100644
--- a/xen/include/asm-x86/hvm/vpt.h
+++ b/xen/include/asm-x86/hvm/vpt.h
@@ -139,6 +139,7 @@ struct pl_time {    /* platform time */
     /* Ensures monotonicity in appropriate timer modes. */
     uint64_t last_guest_time;
     spinlock_t pl_time_lock;
+    struct domain *domain;
 };
 
 void pt_save_timer(struct vcpu *v);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1D-0003IX-37; Sun, 07 Feb 2016 18:25:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1B-0003IN-P4
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:05 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	86/A1-08977-10C87B65; Sun, 07 Feb 2016 18:25:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454869503!14452156!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64401 invoked from network); 7 Feb 2016 18:25:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2T-0007el-LV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU19-0000pP-6y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU19-0000pP-6y@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:03 +0000
Subject: [Xen-changelog] [xen master] x86: shrink 'struct domain',
	was already PAGE_SIZE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 428607a410e8abfb4bb71195d74cd1157e3d06ae
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Mon Feb 1 14:00:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 1 14:00:30 2016 +0100

    x86: shrink 'struct domain', was already PAGE_SIZE
    
    The X86 domain structure already occupied PAGE_SIZE (4096).
    
    Looking @ the memory layout of the structure, we could see that
    overall most was occupied by (used the pahole tool on domain.o):
     * sizeof(domain.arch) = sizeof(arch_domain) = 3328 bytes.
     * sizeof(domain.arch.hvm_domain) = 2224 bytes.
     * sizeof(domain.arch.hvm_domain.pl_time) = 1088 bytes.
    This patch attempts to free some space, by making the pl_time
    field in hvm_domain dynamically allocated.
    We xzalloc/xfree it @ hvm_domain_initialise/hvm_domain_destroy.
    
    After this change, the domain structure shrunk w/ 1152 bytes (>1K!).
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hpet.c          |  5 ++---
 xen/arch/x86/hvm/hvm.c           |  9 ++++++++-
 xen/arch/x86/hvm/pmtimer.c       | 18 +++++++++---------
 xen/arch/x86/hvm/rtc.c           |  5 ++---
 xen/arch/x86/hvm/vpt.c           | 10 +++++-----
 xen/arch/x86/time.c              |  2 +-
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/asm-x86/hvm/vpt.h    |  1 +
 8 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index 5e020ae..3ea895a 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -26,10 +26,9 @@
 #include <xen/event.h>
 #include <xen/trace.h>
 
-#define domain_vhpet(x) (&(x)->arch.hvm_domain.pl_time.vhpet)
+#define domain_vhpet(x) (&(x)->arch.hvm_domain.pl_time->vhpet)
 #define vcpu_vhpet(x)   (domain_vhpet((x)->domain))
-#define vhpet_domain(x) (container_of((x), struct domain, \
-                                      arch.hvm_domain.pl_time.vhpet))
+#define vhpet_domain(x) (container_of(x, struct pl_time, vhpet)->domain)
 #define vhpet_vcpu(x)   (pt_global_vcpu_target(vhpet_domain(x)))
 
 #define HPET_BASE_ADDRESS   0xfed00000ULL
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index dea3335..f24400d 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1576,13 +1576,18 @@ int hvm_domain_initialise(struct domain *d)
     if ( rc != 0 )
         goto fail0;
 
+    d->arch.hvm_domain.pl_time = xzalloc(struct pl_time);
     d->arch.hvm_domain.params = xzalloc_array(uint64_t, HVM_NR_PARAMS);
     d->arch.hvm_domain.io_handler = xzalloc_array(struct hvm_io_handler,
                                                   NR_IO_HANDLERS);
     rc = -ENOMEM;
-    if ( !d->arch.hvm_domain.params || !d->arch.hvm_domain.io_handler )
+    if ( !d->arch.hvm_domain.pl_time ||
+         !d->arch.hvm_domain.params  || !d->arch.hvm_domain.io_handler )
         goto fail1;
 
+    /* need link to containing domain */
+    d->arch.hvm_domain.pl_time->domain = d;
+
     /* Set the default IO Bitmap. */
     if ( is_hardware_domain(d) )
     {
@@ -1639,6 +1644,7 @@ int hvm_domain_initialise(struct domain *d)
         xfree(d->arch.hvm_domain.io_bitmap);
     xfree(d->arch.hvm_domain.io_handler);
     xfree(d->arch.hvm_domain.params);
+    xfree(d->arch.hvm_domain.pl_time);
  fail0:
     hvm_destroy_cacheattr_region_list(d);
     return rc;
@@ -1669,6 +1675,7 @@ void hvm_domain_destroy(struct domain *d)
 {
     xfree(d->arch.hvm_domain.io_handler);
     xfree(d->arch.hvm_domain.params);
+    xfree(d->arch.hvm_domain.pl_time);
 
     hvm_destroy_cacheattr_region_list(d);
 
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index 9c2e4bd..b1a5565 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -66,7 +66,7 @@ static void pmt_update_sci(PMTState *s)
 
 void hvm_acpi_power_button(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -79,7 +79,7 @@ void hvm_acpi_power_button(struct domain *d)
 
 void hvm_acpi_sleep_button(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -152,7 +152,7 @@ static int handle_evt_io(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct vcpu *v = current;
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
     uint32_t addr, data, byte;
     int i;
 
@@ -215,7 +215,7 @@ static int handle_pmt_io(
     int dir, unsigned int port, unsigned int bytes, uint32_t *val)
 {
     struct vcpu *v = current;
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
 
     if ( bytes != 4 )
     {
@@ -251,7 +251,7 @@ static int handle_pmt_io(
 
 static int pmtimer_save(struct domain *d, hvm_domain_context_t *h)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
     uint32_t x, msb = s->pm.tmr_val & TMR_VAL_MSB;
     int rc;
 
@@ -282,7 +282,7 @@ static int pmtimer_save(struct domain *d, hvm_domain_context_t *h)
 
 static int pmtimer_load(struct domain *d, hvm_domain_context_t *h)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return -ENODEV;
@@ -345,7 +345,7 @@ int pmtimer_change_ioport(struct domain *d, unsigned int version)
 
 void pmtimer_init(struct vcpu *v)
 {
-    PMTState *s = &v->domain->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &v->domain->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(v->domain) )
         return;
@@ -369,7 +369,7 @@ void pmtimer_init(struct vcpu *v)
 
 void pmtimer_deinit(struct domain *d)
 {
-    PMTState *s = &d->arch.hvm_domain.pl_time.vpmt;
+    PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
 
     if ( !has_vpm(d) )
         return;
@@ -383,5 +383,5 @@ void pmtimer_reset(struct domain *d)
         return;
 
     /* Reset the counter. */
-    d->arch.hvm_domain.pl_time.vpmt.pm.tmr_val = 0;
+    d->arch.hvm_domain.pl_time->vpmt.pm.tmr_val = 0;
 }
diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
index d391e38..4d792a4 100644
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -38,10 +38,9 @@
 #define MIN_PER_HOUR    60
 #define HOUR_PER_DAY    24
 
-#define domain_vrtc(x) (&(x)->arch.hvm_domain.pl_time.vrtc)
+#define domain_vrtc(x) (&(x)->arch.hvm_domain.pl_time->vrtc)
 #define vcpu_vrtc(x)   (domain_vrtc((x)->domain))
-#define vrtc_domain(x) (container_of((x), struct domain, \
-                                     arch.hvm_domain.pl_time.vrtc))
+#define vrtc_domain(x) (container_of(x, struct pl_time, vrtc)->domain)
 #define vrtc_vcpu(x)   (pt_global_vcpu_target(vrtc_domain(x)))
 #define epoch_year     1900
 #define get_year(x)    (x + epoch_year)
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 4fa6566..358ec57 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -28,7 +28,7 @@
 
 void hvm_init_guest_time(struct domain *d)
 {
-    struct pl_time *pl = &d->arch.hvm_domain.pl_time;
+    struct pl_time *pl = d->arch.hvm_domain.pl_time;
 
     spin_lock_init(&pl->pl_time_lock);
     pl->stime_offset = -(u64)get_s_time();
@@ -37,7 +37,7 @@ void hvm_init_guest_time(struct domain *d)
 
 u64 hvm_get_guest_time_fixed(struct vcpu *v, u64 at_tsc)
 {
-    struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
+    struct pl_time *pl = v->domain->arch.hvm_domain.pl_time;
     u64 now;
 
     /* Called from device models shared with PV guests. Be careful. */
@@ -505,7 +505,7 @@ void pt_adjust_global_vcpu_target(struct vcpu *v)
     pt_adjust_vcpu(&vpit->pt0, v);
     spin_unlock(&vpit->lock);
 
-    pl_time = &v->domain->arch.hvm_domain.pl_time;
+    pl_time = v->domain->arch.hvm_domain.pl_time;
 
     spin_lock(&pl_time->vrtc.lock);
     pt_adjust_vcpu(&pl_time->vrtc.pt, v);
@@ -540,9 +540,9 @@ void pt_may_unmask_irq(struct domain *d, struct periodic_time *vlapic_pt)
     if ( d )
     {
         pt_resume(&d->arch.vpit.pt0);
-        pt_resume(&d->arch.hvm_domain.pl_time.vrtc.pt);
+        pt_resume(&d->arch.hvm_domain.pl_time->vrtc.pt);
         for ( i = 0; i < HPET_TIMER_NUM; i++ )
-            pt_resume(&d->arch.hvm_domain.pl_time.vhpet.pt[i]);
+            pt_resume(&d->arch.hvm_domain.pl_time->vhpet.pt[i]);
     }
 
     if ( vlapic_pt )
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 988403a..5819b9f 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -799,7 +799,7 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
         if ( is_hvm_domain(d) )
         {
-            struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
+            struct pl_time *pl = v->domain->arch.hvm_domain.pl_time;
 
             stime += pl->stime_offset + v->arch.hvm_vcpu.stime_offset;
             if ( stime >= 0 )
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index 1e13973..4b54c5d 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -91,7 +91,7 @@ struct hvm_domain {
     /* Cached CF8 for guest PCI config cycles */
     uint32_t                pci_cf8;
 
-    struct pl_time         pl_time;
+    struct pl_time         *pl_time;
 
     struct hvm_io_handler *io_handler;
     unsigned int          io_handler_count;
diff --git a/xen/include/asm-x86/hvm/vpt.h b/xen/include/asm-x86/hvm/vpt.h
index 495d669..a27bea4 100644
--- a/xen/include/asm-x86/hvm/vpt.h
+++ b/xen/include/asm-x86/hvm/vpt.h
@@ -139,6 +139,7 @@ struct pl_time {    /* platform time */
     /* Ensures monotonicity in appropriate timer modes. */
     uint64_t last_guest_time;
     spinlock_t pl_time_lock;
+    struct domain *domain;
 };
 
 void pt_save_timer(struct vcpu *v);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1N-0003LI-DK; Sun, 07 Feb 2016 18:25:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1M-0003Ku-86
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:16 +0000
Received: from [85.158.137.68] by server-2.bemta-3.messagelabs.com id
	EA/04-21201-B0C87B65; Sun, 07 Feb 2016 18:25:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1454869513!20835780!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10313 invoked from network); 7 Feb 2016 18:25:14 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:14 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2d-0007fc-V9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1J-0000qF-J0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:13 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1J-0000qF-J0@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:13 +0000
Subject: [Xen-changelog] [xen master] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:00:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:00:52 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 04dde83..4f9951f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -389,10 +389,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1306,8 +1309,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1315,13 +1316,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1N-0003LI-DK; Sun, 07 Feb 2016 18:25:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1M-0003Ku-86
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:16 +0000
Received: from [85.158.137.68] by server-2.bemta-3.messagelabs.com id
	EA/04-21201-B0C87B65; Sun, 07 Feb 2016 18:25:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1454869513!20835780!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10313 invoked from network); 7 Feb 2016 18:25:14 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:14 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2d-0007fc-V9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1J-0000qF-J0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:13 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1J-0000qF-J0@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:13 +0000
Subject: [Xen-changelog] [xen master] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:00:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:00:52 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 04dde83..4f9951f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -389,10 +389,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1306,8 +1309,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1315,13 +1316,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1X-0003Mc-ID; Sun, 07 Feb 2016 18:25:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1W-0003MW-Mg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:26 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	CB/15-13475-51C87B65; Sun, 07 Feb 2016 18:25:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869524!22045473!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29864 invoked from network); 7 Feb 2016 18:25:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2o-0007fk-Bw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1T-0000qn-VU
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:23 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1T-0000qn-VU@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:23 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: don't intercept #UD
	exceptions in general
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d7918e28bd644490e8bff7003e6abf78f33031a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:01:29 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:01:29 2016 +0100

    x86/hvm: don't intercept #UD exceptions in general
    
    c/s 0f1cb96e "x86 hvm: Allow cross-vendor migration" caused HVM domains to
    unconditionally intercept #UD exceptions.  While cross-vendor migration is
    cool as a demo, it is extremely niche.
    
    Intercepting #UD allows userspace code in a multi-vcpu guest to execute
    arbitrary instructions in the x86 emulator by having one thread execute a ud2a
    instruction, and having a second thread rewrite the instruction before the
    emulator performs an instruction fetch.
    
    XSAs 105, 106 and 110 are all examples where guest userspace can use bugs in
    the x86 emulator to compromise security of the domain, either by privilege
    escalation or causing a crash.
    
    c/s 2d67a7a4 "x86: synchronize PCI config space access decoding"
    introduced (amongst other things) a per-domain vendor, based on the guests
    cpuid policy.
    
    Use the per-guest vendor to enable #UD interception only when a domain is
    configured for a vendor different to the current hardware.  (#UD interception
    is also enabled if hvm_fep is specified on the Xen command line.  This is a
    debug-only option whose entire purpose is for testing the x86 emulator.)
    
    As a result, the overwhelming majority of usecases now have #UD interception
    disabled, removing an attack surface for malicious guest userspace.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/domctl.c         | 19 +++++++++++++++++++
 xen/arch/x86/hvm/hvm.c        |  8 ++++----
 xen/arch/x86/hvm/svm/svm.c    | 16 ++++++++++++++++
 xen/arch/x86/hvm/vmx/vmx.c    | 15 +++++++++++++++
 xen/include/asm-x86/hvm/hvm.h | 15 ++++++++++++++-
 5 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index f15046a..55aecdc 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -65,8 +65,18 @@ static void update_domain_cpuid_info(struct domain *d,
                 .ecx = ctl->ecx
             }
         };
+        int old_vendor = d->arch.x86_vendor;
 
         d->arch.x86_vendor = get_cpu_vendor(vendor_id.str, gcv_guest);
+
+        if ( is_hvm_domain(d) && (d->arch.x86_vendor != old_vendor) )
+        {
+            struct vcpu *v;
+
+            for_each_vcpu( d, v )
+                hvm_update_guest_vendor(v);
+        }
+
         break;
     }
 
@@ -707,6 +717,12 @@ long arch_do_domctl(
         xen_domctl_cpuid_t *ctl = &domctl->u.cpuid;
         cpuid_input_t *cpuid, *unused = NULL;
 
+        if ( d == currd ) /* no domain_pause() */
+        {
+            ret = -EINVAL;
+            break;
+        }
+
         for ( i = 0; i < MAX_CPUID_INPUT; i++ )
         {
             cpuid = &d->arch.cpuids[i];
@@ -724,6 +740,8 @@ long arch_do_domctl(
                 break;
         }
 
+        domain_pause(d);
+
         if ( i < MAX_CPUID_INPUT )
             *cpuid = *ctl;
         else if ( unused )
@@ -734,6 +752,7 @@ long arch_do_domctl(
         if ( !ret )
             update_domain_cpuid_info(d, ctl);
 
+        domain_unpause(d);
         break;
     }
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f24400d..38cdba8 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -93,12 +93,10 @@ unsigned long __section(".bss.page_aligned")
 static bool_t __initdata opt_hap_enabled = 1;
 boolean_param("hap", opt_hap_enabled);
 
-#ifndef NDEBUG
+#ifndef opt_hvm_fep
 /* Permit use of the Forced Emulation Prefix in HVM guests */
-static bool_t opt_hvm_fep;
+bool_t opt_hvm_fep;
 boolean_param("hvm_fep", opt_hvm_fep);
-#else
-#define opt_hvm_fep 0
 #endif
 
 /* Xen command-line option to enable altp2m */
@@ -2513,6 +2511,8 @@ int hvm_vcpu_initialise(struct vcpu *v)
         hvm_set_guest_tsc(v, 0);
     }
 
+    hvm_update_guest_vendor(v);
+
     return 0;
 
  fail7:
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 953e0b5..e62dfa1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -597,6 +597,21 @@ static void svm_update_guest_efer(struct vcpu *v)
     vmcb_set_efer(vmcb, new_efer);
 }
 
+static void svm_update_guest_vendor(struct vcpu *v)
+{
+    struct arch_svm_struct *arch_svm = &v->arch.hvm_svm;
+    struct vmcb_struct *vmcb = arch_svm->vmcb;
+    u32 bitmap = vmcb_get_exception_intercepts(vmcb);
+
+    if ( opt_hvm_fep ||
+         (v->domain->arch.x86_vendor != boot_cpu_data.x86_vendor) )
+        bitmap |= (1U << TRAP_invalid_op);
+    else
+        bitmap &= ~(1U << TRAP_invalid_op);
+
+    vmcb_set_exception_intercepts(vmcb, bitmap);
+}
+
 static void svm_sync_vmcb(struct vcpu *v)
 {
     struct arch_svm_struct *arch_svm = &v->arch.hvm_svm;
@@ -2245,6 +2260,7 @@ static struct hvm_function_table __initdata svm_function_table = {
     .get_shadow_gs_base   = svm_get_shadow_gs_base,
     .update_guest_cr      = svm_update_guest_cr,
     .update_guest_efer    = svm_update_guest_efer,
+    .update_guest_vendor  = svm_update_guest_vendor,
     .set_guest_pat        = svm_set_guest_pat,
     .get_guest_pat        = svm_get_guest_pat,
     .set_tsc_offset       = svm_set_tsc_offset,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4f9951f..195def6 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -73,6 +73,7 @@ static void vmx_free_vlapic_mapping(struct domain *d);
 static void vmx_install_vlapic_mapping(struct vcpu *v);
 static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr);
 static void vmx_update_guest_efer(struct vcpu *v);
+static void vmx_update_guest_vendor(struct vcpu *v);
 static void vmx_cpuid_intercept(
     unsigned int *eax, unsigned int *ebx,
     unsigned int *ecx, unsigned int *edx);
@@ -398,6 +399,19 @@ void vmx_update_exception_bitmap(struct vcpu *v)
         __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
+static void vmx_update_guest_vendor(struct vcpu *v)
+{
+    if ( opt_hvm_fep ||
+         (v->domain->arch.x86_vendor != boot_cpu_data.x86_vendor) )
+        v->arch.hvm_vmx.exception_bitmap |= (1U << TRAP_invalid_op);
+    else
+        v->arch.hvm_vmx.exception_bitmap &= ~(1U << TRAP_invalid_op);
+
+    vmx_vmcs_enter(v);
+    vmx_update_exception_bitmap(v);
+    vmx_vmcs_exit(v);
+}
+
 static int vmx_guest_x86_mode(struct vcpu *v)
 {
     unsigned long cs_ar_bytes;
@@ -1963,6 +1977,7 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .update_host_cr3      = vmx_update_host_cr3,
     .update_guest_cr      = vmx_update_guest_cr,
     .update_guest_efer    = vmx_update_guest_efer,
+    .update_guest_vendor  = vmx_update_guest_vendor,
     .set_guest_pat        = vmx_set_guest_pat,
     .get_guest_pat        = vmx_get_guest_pat,
     .set_tsc_offset       = vmx_set_tsc_offset,
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index a87224b..0b15616 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -28,6 +28,13 @@
 #include <public/hvm/ioreq.h>
 #include <xen/mm.h>
 
+#ifndef NDEBUG
+/* Permit use of the Forced Emulation Prefix in HVM guests */
+extern bool_t opt_hvm_fep;
+#else
+#define opt_hvm_fep 0
+#endif
+
 /* Interrupt acknowledgement sources. */
 enum hvm_intsrc {
     hvm_intsrc_none,
@@ -136,6 +143,8 @@ struct hvm_function_table {
     void (*update_guest_cr)(struct vcpu *v, unsigned int cr);
     void (*update_guest_efer)(struct vcpu *v);
 
+    void (*update_guest_vendor)(struct vcpu *v);
+
     int  (*get_guest_pat)(struct vcpu *v, u64 *);
     int  (*set_guest_pat)(struct vcpu *v, u64);
 
@@ -316,6 +325,11 @@ static inline void hvm_update_guest_efer(struct vcpu *v)
     hvm_funcs.update_guest_efer(v);
 }
 
+static inline void hvm_update_guest_vendor(struct vcpu *v)
+{
+    hvm_funcs.update_guest_vendor(v);
+}
+
 /*
  * Called to ensure than all guest-specific mappings in a tagged TLB are 
  * flushed; does *not* flush Xen's TLB entries, and on processors without a 
@@ -387,7 +401,6 @@ static inline int hvm_event_pending(struct vcpu *v)
 
 /* These exceptions must always be intercepted. */
 #define HVM_TRAP_MASK ((1U << TRAP_debug)           | \
-                       (1U << TRAP_invalid_op)      | \
                        (1U << TRAP_alignment_check) | \
                        (1U << TRAP_machine_check))
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1X-0003Mc-ID; Sun, 07 Feb 2016 18:25:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1W-0003MW-Mg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:26 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	CB/15-13475-51C87B65; Sun, 07 Feb 2016 18:25:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1454869524!22045473!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29864 invoked from network); 7 Feb 2016 18:25:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2o-0007fk-Bw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1T-0000qn-VU
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:23 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1T-0000qn-VU@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:23 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: don't intercept #UD
	exceptions in general
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d7918e28bd644490e8bff7003e6abf78f33031a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:01:29 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:01:29 2016 +0100

    x86/hvm: don't intercept #UD exceptions in general
    
    c/s 0f1cb96e "x86 hvm: Allow cross-vendor migration" caused HVM domains to
    unconditionally intercept #UD exceptions.  While cross-vendor migration is
    cool as a demo, it is extremely niche.
    
    Intercepting #UD allows userspace code in a multi-vcpu guest to execute
    arbitrary instructions in the x86 emulator by having one thread execute a ud2a
    instruction, and having a second thread rewrite the instruction before the
    emulator performs an instruction fetch.
    
    XSAs 105, 106 and 110 are all examples where guest userspace can use bugs in
    the x86 emulator to compromise security of the domain, either by privilege
    escalation or causing a crash.
    
    c/s 2d67a7a4 "x86: synchronize PCI config space access decoding"
    introduced (amongst other things) a per-domain vendor, based on the guests
    cpuid policy.
    
    Use the per-guest vendor to enable #UD interception only when a domain is
    configured for a vendor different to the current hardware.  (#UD interception
    is also enabled if hvm_fep is specified on the Xen command line.  This is a
    debug-only option whose entire purpose is for testing the x86 emulator.)
    
    As a result, the overwhelming majority of usecases now have #UD interception
    disabled, removing an attack surface for malicious guest userspace.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/domctl.c         | 19 +++++++++++++++++++
 xen/arch/x86/hvm/hvm.c        |  8 ++++----
 xen/arch/x86/hvm/svm/svm.c    | 16 ++++++++++++++++
 xen/arch/x86/hvm/vmx/vmx.c    | 15 +++++++++++++++
 xen/include/asm-x86/hvm/hvm.h | 15 ++++++++++++++-
 5 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index f15046a..55aecdc 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -65,8 +65,18 @@ static void update_domain_cpuid_info(struct domain *d,
                 .ecx = ctl->ecx
             }
         };
+        int old_vendor = d->arch.x86_vendor;
 
         d->arch.x86_vendor = get_cpu_vendor(vendor_id.str, gcv_guest);
+
+        if ( is_hvm_domain(d) && (d->arch.x86_vendor != old_vendor) )
+        {
+            struct vcpu *v;
+
+            for_each_vcpu( d, v )
+                hvm_update_guest_vendor(v);
+        }
+
         break;
     }
 
@@ -707,6 +717,12 @@ long arch_do_domctl(
         xen_domctl_cpuid_t *ctl = &domctl->u.cpuid;
         cpuid_input_t *cpuid, *unused = NULL;
 
+        if ( d == currd ) /* no domain_pause() */
+        {
+            ret = -EINVAL;
+            break;
+        }
+
         for ( i = 0; i < MAX_CPUID_INPUT; i++ )
         {
             cpuid = &d->arch.cpuids[i];
@@ -724,6 +740,8 @@ long arch_do_domctl(
                 break;
         }
 
+        domain_pause(d);
+
         if ( i < MAX_CPUID_INPUT )
             *cpuid = *ctl;
         else if ( unused )
@@ -734,6 +752,7 @@ long arch_do_domctl(
         if ( !ret )
             update_domain_cpuid_info(d, ctl);
 
+        domain_unpause(d);
         break;
     }
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f24400d..38cdba8 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -93,12 +93,10 @@ unsigned long __section(".bss.page_aligned")
 static bool_t __initdata opt_hap_enabled = 1;
 boolean_param("hap", opt_hap_enabled);
 
-#ifndef NDEBUG
+#ifndef opt_hvm_fep
 /* Permit use of the Forced Emulation Prefix in HVM guests */
-static bool_t opt_hvm_fep;
+bool_t opt_hvm_fep;
 boolean_param("hvm_fep", opt_hvm_fep);
-#else
-#define opt_hvm_fep 0
 #endif
 
 /* Xen command-line option to enable altp2m */
@@ -2513,6 +2511,8 @@ int hvm_vcpu_initialise(struct vcpu *v)
         hvm_set_guest_tsc(v, 0);
     }
 
+    hvm_update_guest_vendor(v);
+
     return 0;
 
  fail7:
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 953e0b5..e62dfa1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -597,6 +597,21 @@ static void svm_update_guest_efer(struct vcpu *v)
     vmcb_set_efer(vmcb, new_efer);
 }
 
+static void svm_update_guest_vendor(struct vcpu *v)
+{
+    struct arch_svm_struct *arch_svm = &v->arch.hvm_svm;
+    struct vmcb_struct *vmcb = arch_svm->vmcb;
+    u32 bitmap = vmcb_get_exception_intercepts(vmcb);
+
+    if ( opt_hvm_fep ||
+         (v->domain->arch.x86_vendor != boot_cpu_data.x86_vendor) )
+        bitmap |= (1U << TRAP_invalid_op);
+    else
+        bitmap &= ~(1U << TRAP_invalid_op);
+
+    vmcb_set_exception_intercepts(vmcb, bitmap);
+}
+
 static void svm_sync_vmcb(struct vcpu *v)
 {
     struct arch_svm_struct *arch_svm = &v->arch.hvm_svm;
@@ -2245,6 +2260,7 @@ static struct hvm_function_table __initdata svm_function_table = {
     .get_shadow_gs_base   = svm_get_shadow_gs_base,
     .update_guest_cr      = svm_update_guest_cr,
     .update_guest_efer    = svm_update_guest_efer,
+    .update_guest_vendor  = svm_update_guest_vendor,
     .set_guest_pat        = svm_set_guest_pat,
     .get_guest_pat        = svm_get_guest_pat,
     .set_tsc_offset       = svm_set_tsc_offset,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 4f9951f..195def6 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -73,6 +73,7 @@ static void vmx_free_vlapic_mapping(struct domain *d);
 static void vmx_install_vlapic_mapping(struct vcpu *v);
 static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr);
 static void vmx_update_guest_efer(struct vcpu *v);
+static void vmx_update_guest_vendor(struct vcpu *v);
 static void vmx_cpuid_intercept(
     unsigned int *eax, unsigned int *ebx,
     unsigned int *ecx, unsigned int *edx);
@@ -398,6 +399,19 @@ void vmx_update_exception_bitmap(struct vcpu *v)
         __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
+static void vmx_update_guest_vendor(struct vcpu *v)
+{
+    if ( opt_hvm_fep ||
+         (v->domain->arch.x86_vendor != boot_cpu_data.x86_vendor) )
+        v->arch.hvm_vmx.exception_bitmap |= (1U << TRAP_invalid_op);
+    else
+        v->arch.hvm_vmx.exception_bitmap &= ~(1U << TRAP_invalid_op);
+
+    vmx_vmcs_enter(v);
+    vmx_update_exception_bitmap(v);
+    vmx_vmcs_exit(v);
+}
+
 static int vmx_guest_x86_mode(struct vcpu *v)
 {
     unsigned long cs_ar_bytes;
@@ -1963,6 +1977,7 @@ static struct hvm_function_table __initdata vmx_function_table = {
     .update_host_cr3      = vmx_update_host_cr3,
     .update_guest_cr      = vmx_update_guest_cr,
     .update_guest_efer    = vmx_update_guest_efer,
+    .update_guest_vendor  = vmx_update_guest_vendor,
     .set_guest_pat        = vmx_set_guest_pat,
     .get_guest_pat        = vmx_get_guest_pat,
     .set_tsc_offset       = vmx_set_tsc_offset,
diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h
index a87224b..0b15616 100644
--- a/xen/include/asm-x86/hvm/hvm.h
+++ b/xen/include/asm-x86/hvm/hvm.h
@@ -28,6 +28,13 @@
 #include <public/hvm/ioreq.h>
 #include <xen/mm.h>
 
+#ifndef NDEBUG
+/* Permit use of the Forced Emulation Prefix in HVM guests */
+extern bool_t opt_hvm_fep;
+#else
+#define opt_hvm_fep 0
+#endif
+
 /* Interrupt acknowledgement sources. */
 enum hvm_intsrc {
     hvm_intsrc_none,
@@ -136,6 +143,8 @@ struct hvm_function_table {
     void (*update_guest_cr)(struct vcpu *v, unsigned int cr);
     void (*update_guest_efer)(struct vcpu *v);
 
+    void (*update_guest_vendor)(struct vcpu *v);
+
     int  (*get_guest_pat)(struct vcpu *v, u64 *);
     int  (*set_guest_pat)(struct vcpu *v, u64);
 
@@ -316,6 +325,11 @@ static inline void hvm_update_guest_efer(struct vcpu *v)
     hvm_funcs.update_guest_efer(v);
 }
 
+static inline void hvm_update_guest_vendor(struct vcpu *v)
+{
+    hvm_funcs.update_guest_vendor(v);
+}
+
 /*
  * Called to ensure than all guest-specific mappings in a tagged TLB are 
  * flushed; does *not* flush Xen's TLB entries, and on processors without a 
@@ -387,7 +401,6 @@ static inline int hvm_event_pending(struct vcpu *v)
 
 /* These exceptions must always be intercepted. */
 #define HVM_TRAP_MASK ((1U << TRAP_debug)           | \
-                       (1U << TRAP_invalid_op)      | \
                        (1U << TRAP_alignment_check) | \
                        (1U << TRAP_machine_check))
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1r-0003OL-Ng; Sun, 07 Feb 2016 18:25:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1r-0003OA-0r
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:47 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	F0/9D-02745-A2C87B65; Sun, 07 Feb 2016 18:25:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1454869534!1394322!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13368 invoked from network); 7 Feb 2016 18:25:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2y-0007fs-PF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1e-0000rG-BO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1e-0000rG-BO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:34 +0000
Subject: [Xen-changelog] [xen master] x86: only check for two watchdog NMIs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b6171b7b9fe1666bc5eae38bc5e992c2c233c43d
Author:     David Vrabel <david.vrabel@citrix.com>
AuthorDate: Tue Feb 2 14:01:57 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:01:57 2016 +0100

    x86: only check for two watchdog NMIs
    
    Since the NMI handler can now recognize watchdog NMIs, make
    check_nmi_watchdog() only check for at least two watchdog NMIs.  This
    prevents false negatives caused by other processors (which may be
    being power managed by the BIOS) running at reduced clock frequencies.
    
    We check for more than one NMI since there are apparently systems
    where the NMI works only once.
    
    This will also slightly speed up boot times since we only wait the
    full 10 ticks if the NMI watchdog on one or more CPUs is not working.
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/nmi.c | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index b1195a1..426c24e 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -139,7 +139,18 @@ int nmi_active;
 
 static void __init wait_for_nmis(void *p)
 {
-    mdelay((10*1000)/nmi_hz); /* wait 10 ticks */
+    unsigned int cpu = smp_processor_id();
+    unsigned int start_count = nmi_count(cpu);
+    unsigned long ticks = 10 * 1000 * cpu_khz / nmi_hz;
+    unsigned long s, e;
+
+    s = rdtsc();
+    do {
+        cpu_relax();
+        if ( nmi_count(cpu) >= start_count + 2 )
+            break;
+        e = rdtsc();
+    } while( e - s < ticks );
 }
 
 int __init check_nmi_watchdog (void)
@@ -156,15 +167,16 @@ int __init check_nmi_watchdog (void)
     for_each_online_cpu ( cpu )
         prev_nmi_count[cpu] = nmi_count(cpu);
 
-    /* Wait for 10 ticks.  Busy-wait on all CPUs: the LAPIC counter that
-     * the NMI watchdog uses only runs while the core's not halted */
-    if ( nmi_watchdog == NMI_LOCAL_APIC )
-        smp_call_function(wait_for_nmis, NULL, 0);
-    wait_for_nmis(NULL);
+    /*
+     * Wait at most 10 ticks for 2 watchdog NMIs on each CPU.
+     * Busy-wait on all CPUs: the LAPIC counter that the NMI watchdog
+     * uses only runs while the core's not halted
+     */
+    on_selected_cpus(&cpu_online_map, wait_for_nmis, NULL, 1);
 
     for_each_online_cpu ( cpu )
     {
-        if ( nmi_count(cpu) - prev_nmi_count[cpu] <= 5 )
+        if ( nmi_count(cpu) - prev_nmi_count[cpu] < 2 )
         {
             printk(" %d", cpu);
             ok = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1r-0003OL-Ng; Sun, 07 Feb 2016 18:25:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1r-0003OA-0r
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:47 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	F0/9D-02745-A2C87B65; Sun, 07 Feb 2016 18:25:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1454869534!1394322!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13368 invoked from network); 7 Feb 2016 18:25:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2y-0007fs-PF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1e-0000rG-BO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1e-0000rG-BO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:34 +0000
Subject: [Xen-changelog] [xen master] x86: only check for two watchdog NMIs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b6171b7b9fe1666bc5eae38bc5e992c2c233c43d
Author:     David Vrabel <david.vrabel@citrix.com>
AuthorDate: Tue Feb 2 14:01:57 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:01:57 2016 +0100

    x86: only check for two watchdog NMIs
    
    Since the NMI handler can now recognize watchdog NMIs, make
    check_nmi_watchdog() only check for at least two watchdog NMIs.  This
    prevents false negatives caused by other processors (which may be
    being power managed by the BIOS) running at reduced clock frequencies.
    
    We check for more than one NMI since there are apparently systems
    where the NMI works only once.
    
    This will also slightly speed up boot times since we only wait the
    full 10 ticks if the NMI watchdog on one or more CPUs is not working.
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/nmi.c | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index b1195a1..426c24e 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -139,7 +139,18 @@ int nmi_active;
 
 static void __init wait_for_nmis(void *p)
 {
-    mdelay((10*1000)/nmi_hz); /* wait 10 ticks */
+    unsigned int cpu = smp_processor_id();
+    unsigned int start_count = nmi_count(cpu);
+    unsigned long ticks = 10 * 1000 * cpu_khz / nmi_hz;
+    unsigned long s, e;
+
+    s = rdtsc();
+    do {
+        cpu_relax();
+        if ( nmi_count(cpu) >= start_count + 2 )
+            break;
+        e = rdtsc();
+    } while( e - s < ticks );
 }
 
 int __init check_nmi_watchdog (void)
@@ -156,15 +167,16 @@ int __init check_nmi_watchdog (void)
     for_each_online_cpu ( cpu )
         prev_nmi_count[cpu] = nmi_count(cpu);
 
-    /* Wait for 10 ticks.  Busy-wait on all CPUs: the LAPIC counter that
-     * the NMI watchdog uses only runs while the core's not halted */
-    if ( nmi_watchdog == NMI_LOCAL_APIC )
-        smp_call_function(wait_for_nmis, NULL, 0);
-    wait_for_nmis(NULL);
+    /*
+     * Wait at most 10 ticks for 2 watchdog NMIs on each CPU.
+     * Busy-wait on all CPUs: the LAPIC counter that the NMI watchdog
+     * uses only runs while the core's not halted
+     */
+    on_selected_cpus(&cpu_online_map, wait_for_nmis, NULL, 1);
 
     for_each_online_cpu ( cpu )
     {
-        if ( nmi_count(cpu) - prev_nmi_count[cpu] <= 5 )
+        if ( nmi_count(cpu) - prev_nmi_count[cpu] < 2 )
         {
             printk(" %d", cpu);
             ok = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1s-0003Or-Rh; Sun, 07 Feb 2016 18:25:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1r-0003OH-Jw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:47 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	CE/AE-15991-A2C87B65; Sun, 07 Feb 2016 18:25:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1454869545!22121734!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65371 invoked from network); 7 Feb 2016 18:25:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU39-0007gP-7A
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1o-0000ro-QA
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1o-0000ro-QA@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:44 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: fix use-after-free introduced
	by c/s 428607a
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 949fea109e5f51bb9cbf5f283eb9fac26186dfac
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:02:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:02:37 2016 +0100

    x86/hvm: fix use-after-free introduced by c/s 428607a
    
    c/s 428607a "x86: shrink 'struct domain', was already PAGE_SIZE" introduced a
    use-after-free error during domain destruction, because of the order in which
    timers are torn down.
    
      (XEN) Xen call trace:
      (XEN)    [<ffff82d08013344e>] spinlock.c#check_lock+0x1e/0x40
      (XEN)    [<ffff82d08013349b>] _spin_lock+0x11/0x52
      (XEN)    [<ffff82d0801e8076>] vpt.c#pt_lock+0x24/0x40
      (XEN)    [<ffff82d0801e88f4>] destroy_periodic_time+0x18/0x81
      (XEN)    [<ffff82d0801e1089>] rtc_deinit+0x53/0x78
      (XEN)    [<ffff82d0801d1e5a>] hvm_domain_destroy+0x52/0x69
      (XEN)    [<ffff82d08016a758>] arch_domain_destroy+0x1a/0x98
      (XEN)    [<ffff82d080107cd5>] domain.c#complete_domain_destroy+0x6f/0x182
      (XEN)    [<ffff82d080126a19>] rcupdate.c#rcu_process_callbacks+0x144/0x1a6
      (XEN)    [<ffff82d080132c52>] softirq.c#__do_softirq+0x82/0x8d
      (XEN)    [<ffff82d080132caa>] do_softirq+0x13/0x15
      (XEN)    [<ffff82d080248ae1>] entry.o#process_softirqs+0x21/0x30
      (XEN)
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 3:
      (XEN) GENERAL PROTECTION FAULT
      (XEN) [error_code=0000]
      (XEN) ****************************************
    
    Defer the freeing of d->arch.hvm_domain.pl_time until all timers have been
    destroyed.
    
    For safety, NULL out the pointers after freeing them, in an attempt to make
    mistakes more obvious in the future.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 38cdba8..dfeecca 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1672,8 +1672,10 @@ void hvm_domain_relinquish_resources(struct domain *d)
 void hvm_domain_destroy(struct domain *d)
 {
     xfree(d->arch.hvm_domain.io_handler);
+    d->arch.hvm_domain.io_handler = NULL;
+
     xfree(d->arch.hvm_domain.params);
-    xfree(d->arch.hvm_domain.pl_time);
+    d->arch.hvm_domain.params = NULL;
 
     hvm_destroy_cacheattr_region_list(d);
 
@@ -1684,6 +1686,9 @@ void hvm_domain_destroy(struct domain *d)
     rtc_deinit(d);
     stdvga_deinit(d);
     vioapic_deinit(d);
+
+    xfree(d->arch.hvm_domain.pl_time);
+    d->arch.hvm_domain.pl_time = NULL;
 }
 
 static int hvm_save_tsc_adjust(struct domain *d, hvm_domain_context_t *h)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU1s-0003Or-Rh; Sun, 07 Feb 2016 18:25:48 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1r-0003OH-Jw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:47 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	CE/AE-15991-A2C87B65; Sun, 07 Feb 2016 18:25:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1454869545!22121734!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65371 invoked from network); 7 Feb 2016 18:25:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU39-0007gP-7A
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1o-0000ro-QA
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1o-0000ro-QA@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:44 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: fix use-after-free introduced
	by c/s 428607a
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 949fea109e5f51bb9cbf5f283eb9fac26186dfac
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Feb 2 14:02:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:02:37 2016 +0100

    x86/hvm: fix use-after-free introduced by c/s 428607a
    
    c/s 428607a "x86: shrink 'struct domain', was already PAGE_SIZE" introduced a
    use-after-free error during domain destruction, because of the order in which
    timers are torn down.
    
      (XEN) Xen call trace:
      (XEN)    [<ffff82d08013344e>] spinlock.c#check_lock+0x1e/0x40
      (XEN)    [<ffff82d08013349b>] _spin_lock+0x11/0x52
      (XEN)    [<ffff82d0801e8076>] vpt.c#pt_lock+0x24/0x40
      (XEN)    [<ffff82d0801e88f4>] destroy_periodic_time+0x18/0x81
      (XEN)    [<ffff82d0801e1089>] rtc_deinit+0x53/0x78
      (XEN)    [<ffff82d0801d1e5a>] hvm_domain_destroy+0x52/0x69
      (XEN)    [<ffff82d08016a758>] arch_domain_destroy+0x1a/0x98
      (XEN)    [<ffff82d080107cd5>] domain.c#complete_domain_destroy+0x6f/0x182
      (XEN)    [<ffff82d080126a19>] rcupdate.c#rcu_process_callbacks+0x144/0x1a6
      (XEN)    [<ffff82d080132c52>] softirq.c#__do_softirq+0x82/0x8d
      (XEN)    [<ffff82d080132caa>] do_softirq+0x13/0x15
      (XEN)    [<ffff82d080248ae1>] entry.o#process_softirqs+0x21/0x30
      (XEN)
      (XEN)
      (XEN) ****************************************
      (XEN) Panic on CPU 3:
      (XEN) GENERAL PROTECTION FAULT
      (XEN) [error_code=0000]
      (XEN) ****************************************
    
    Defer the freeing of d->arch.hvm_domain.pl_time until all timers have been
    destroyed.
    
    For safety, NULL out the pointers after freeing them, in an attempt to make
    mistakes more obvious in the future.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/hvm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 38cdba8..dfeecca 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1672,8 +1672,10 @@ void hvm_domain_relinquish_resources(struct domain *d)
 void hvm_domain_destroy(struct domain *d)
 {
     xfree(d->arch.hvm_domain.io_handler);
+    d->arch.hvm_domain.io_handler = NULL;
+
     xfree(d->arch.hvm_domain.params);
-    xfree(d->arch.hvm_domain.pl_time);
+    d->arch.hvm_domain.params = NULL;
 
     hvm_destroy_cacheattr_region_list(d);
 
@@ -1684,6 +1686,9 @@ void hvm_domain_destroy(struct domain *d)
     rtc_deinit(d);
     stdvga_deinit(d);
     vioapic_deinit(d);
+
+    xfree(d->arch.hvm_domain.pl_time);
+    d->arch.hvm_domain.pl_time = NULL;
 }
 
 static int hvm_save_tsc_adjust(struct domain *d, hvm_domain_context_t *h)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU23-0003Qd-0A; Sun, 07 Feb 2016 18:25:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU21-0003QR-Eo
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:57 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	5A/C1-08977-43C87B65; Sun, 07 Feb 2016 18:25:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1454869555!14447923!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12217 invoked from network); 7 Feb 2016 18:25:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3J-0007gd-JQ
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1z-0000tK-6c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1z-0000tK-6c@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:55 +0000
Subject: [Xen-changelog] [xen master] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Tue Feb 2 14:03:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:03:06 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 03fb2c2..8fbbd54 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1101,6 +1101,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1112,8 +1113,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:25:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:25:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU23-0003Qd-0A; Sun, 07 Feb 2016 18:25:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU21-0003QR-Eo
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:57 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	5A/C1-08977-43C87B65; Sun, 07 Feb 2016 18:25:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1454869555!14447923!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12217 invoked from network); 7 Feb 2016 18:25:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:25:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3J-0007gd-JQ
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU1z-0000tK-6c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:25:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU1z-0000tK-6c@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:25:55 +0000
Subject: [Xen-changelog] [xen master] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Tue Feb 2 14:03:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:03:06 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 03fb2c2..8fbbd54 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1101,6 +1101,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1112,8 +1113,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2C-0003TA-Ux; Sun, 07 Feb 2016 18:26:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2B-0003Sw-Ug
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:08 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	04/50-21901-F3C87B65; Sun, 07 Feb 2016 18:26:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869565!20866227!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10108 invoked from network); 7 Feb 2016 18:26:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3T-0007gq-Tv
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU29-0000uR-Gg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU29-0000uR-Gg@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:05 +0000
Subject: [Xen-changelog] [xen master] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Tue Feb 2 14:03:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:03:40 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 8fbbd54..671bbee 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1092,6 +1092,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2C-0003TA-Ux; Sun, 07 Feb 2016 18:26:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2B-0003Sw-Ug
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:08 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	04/50-21901-F3C87B65; Sun, 07 Feb 2016 18:26:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869565!20866227!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10108 invoked from network); 7 Feb 2016 18:26:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3T-0007gq-Tv
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU29-0000uR-Gg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU29-0000uR-Gg@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:05 +0000
Subject: [Xen-changelog] [xen master] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Tue Feb 2 14:03:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 2 14:03:40 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 8fbbd54..671bbee 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1092,6 +1092,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2O-0003WJ-3P; Sun, 07 Feb 2016 18:26:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2N-0003W6-2Y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:19 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	47/22-28221-A4C87B65; Sun, 07 Feb 2016 18:26:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1454869576!18328499!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2218 invoked from network); 7 Feb 2016 18:26:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3e-0007hU-Bp
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2J-0000v8-Rx
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2J-0000v8-Rx@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:15 +0000
Subject: [Xen-changelog] [xen master] xen/arm: drop hip04 support
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4a7abc58ff74ff54cf2ad490d5b279a0e9aad9eb
Author:     Zoltan Kiss <zoltan.kiss@linaro.org>
AuthorDate: Tue Feb 2 13:13:04 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:13:04 2016 +0000

    xen/arm: drop hip04 support
    
    This platform is no longer actively used, but it makes GICv2 development
    harder.
    
    Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS                    |   5 -
 docs/misc/arm/early-printk.txt |   1 -
 xen/arch/arm/Makefile          |   1 -
 xen/arch/arm/Rules.mk          |   1 -
 xen/arch/arm/gic-hip04.c       | 757 -----------------------------------------
 5 files changed, 765 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b36d9be..ccbe5db 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -177,11 +177,6 @@ S:	Supported
 F:	xen/arch/x86/debug.c
 F:	tools/debugger/gdbsx/
 
-HISILICON HIP04 SUPPORT
-M:	Zoltan Kiss <zoltan.kiss@huawei.com>
-S:	Supported
-F:	xen/arch/arm/gic-hip04.c
-
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 M:	Gang Wei <gang.wei@intel.com>
 M:	Shane Wang <shane.wang@intel.com>
diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index 7e03955..41b528b 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -37,7 +37,6 @@ the name of the machine:
   - dra7: printk with 8250 on DRA7 platform
   - exynos5250: printk with the second UART
   - fastmodel: printk on ARM Fastmodel software emulators
-  - hip04-d01: printk with 8250 on HiSilicon Hip-04 D01
   - juno: printk with pl011 on Juno platform
   - lager: printk with SCIF0 on Renesas R-Car H2 processors
   - midway: printk with the pl011 on Calxeda Midway processors
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 9982a93..1783912 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -12,7 +12,6 @@ obj-y += domctl.o
 obj-y += sysctl.o
 obj-y += domain_build.o
 obj-y += gic.o gic-v2.o
-obj-$(CONFIG_ARM_32) += gic-hip04.o
 obj-$(CONFIG_HAS_GICV3) += gic-v3.o
 obj-y += io.o
 obj-y += irq.o
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 0aea282..93304be 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -32,7 +32,6 @@ EARLY_PRINTK_brcm           := 8250,0xF040AB00,2
 EARLY_PRINTK_dra7           := 8250,0x4806A000,2
 EARLY_PRINTK_fastmodel      := pl011,0x1c090000,115200
 EARLY_PRINTK_exynos5250     := exynos4210,0x12c20000
-EARLY_PRINTK_hip04-d01      := 8250,0xE4007000,2
 EARLY_PRINTK_juno           := pl011,0x7ff80000
 EARLY_PRINTK_lager          := scif,0xe6e60000
 EARLY_PRINTK_midway         := pl011,0xfff36000
diff --git a/xen/arch/arm/gic-hip04.c b/xen/arch/arm/gic-hip04.c
deleted file mode 100644
index a42cf24..0000000
--- a/xen/arch/arm/gic-hip04.c
+++ /dev/null
@@ -1,757 +0,0 @@
-/*
- * xen/arch/arm/gic-hip04.c
- *
- * Generic Interrupt Controller for HiSilicon Hip04 platform
- * Based heavily on gic-v2.c (id 3bcf563fec26378f7f4cf1e2ad0d4d5b3f341919)
- *
- * Tim Deegan <tim@xen.org>
- * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <xen/config.h>
-#include <xen/lib.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/irq.h>
-#include <xen/sched.h>
-#include <xen/errno.h>
-#include <xen/softirq.h>
-#include <xen/list.h>
-#include <xen/device_tree.h>
-#include <xen/libfdt/libfdt.h>
-#include <xen/sizes.h>
-#include <asm/p2m.h>
-#include <asm/domain.h>
-#include <asm/platform.h>
-#include <asm/device.h>
-
-#include <asm/io.h>
-#include <asm/gic.h>
-
-/*
- * LR register definitions are GIC v2 specific.
- * Moved these definitions from header file to here
- */
-#define GICH_V2_LR_VIRTUAL_MASK    0x3ff
-#define GICH_V2_LR_VIRTUAL_SHIFT   0
-#define GICH_V2_LR_PHYSICAL_MASK   0x3ff
-#define GICH_V2_LR_PHYSICAL_SHIFT  10
-#define GICH_V2_LR_STATE_MASK      0x3
-#define GICH_V2_LR_STATE_SHIFT     28
-#define GICH_V2_LR_PRIORITY_SHIFT  23
-#define GICH_V2_LR_PRIORITY_MASK   0x1f
-#define GICH_V2_LR_HW_SHIFT        31
-#define GICH_V2_LR_HW_MASK         0x1
-#define GICH_V2_LR_GRP_SHIFT       30
-#define GICH_V2_LR_GRP_MASK        0x1
-#define GICH_V2_LR_MAINTENANCE_IRQ (1<<19)
-#define GICH_V2_LR_GRP1            (1<<30)
-#define GICH_V2_LR_HW              (1<<31)
-#define GICH_V2_LR_CPUID_SHIFT     9
-#define GICH_V2_VTR_NRLRGS         0x3f
-
-#define GICH_V2_VMCR_PRIORITY_MASK   0x1f
-#define GICH_V2_VMCR_PRIORITY_SHIFT  27
-
-/* Global state */
-static struct {
-    void __iomem * map_dbase; /* IO mapped Address of distributor registers */
-    void __iomem * map_cbase[2]; /* IO mapped Address of CPU interface registers */
-    void __iomem * map_hbase; /* IO Address of virtual interface registers */
-    spinlock_t lock;
-} gicv2;
-
-static struct gic_info gicv2_info;
-
-/* The GIC mapping of CPU interfaces does not necessarily match the
- * logical CPU numbering. Let's use mapping as returned by the GIC
- * itself
- */
-static DEFINE_PER_CPU(u16, gic_cpu_id);
-
-/* Maximum cpu interface per GIC */
-#define NR_GIC_CPU_IF 16
-
-#define HIP04_GICD_SGI_TARGET_SHIFT 8
-
-#define HIP04_GICH_APR   0x70
-#define HIP04_GICH_LR    0x80
-
-static inline void writeb_gicd(uint8_t val, unsigned int offset)
-{
-    writeb_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline void writew_gicd(uint16_t val, unsigned int offset)
-{
-    writew_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline void writel_gicd(uint32_t val, unsigned int offset)
-{
-    writel_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline uint32_t readl_gicd(unsigned int offset)
-{
-    return readl_relaxed(gicv2.map_dbase + offset);
-}
-
-static inline void writel_gicc(uint32_t val, unsigned int offset)
-{
-    unsigned int page = offset >> PAGE_SHIFT;
-    offset &= ~PAGE_MASK;
-    writel_relaxed(val, gicv2.map_cbase[page] + offset);
-}
-
-static inline uint32_t readl_gicc(unsigned int offset)
-{
-    unsigned int page = offset >> PAGE_SHIFT;
-    offset &= ~PAGE_MASK;
-    return readl_relaxed(gicv2.map_cbase[page] + offset);
-}
-
-static inline void writel_gich(uint32_t val, unsigned int offset)
-{
-    writel_relaxed(val, gicv2.map_hbase + offset);
-}
-
-static inline uint32_t readl_gich(int unsigned offset)
-{
-    return readl_relaxed(gicv2.map_hbase + offset);
-}
-
-static unsigned int hip04gic_cpu_mask(const cpumask_t *cpumask)
-{
-    unsigned int cpu;
-    unsigned int mask = 0;
-    cpumask_t possible_mask;
-
-    cpumask_and(&possible_mask, cpumask, &cpu_possible_map);
-    for_each_cpu( cpu, &possible_mask )
-    {
-        ASSERT(cpu < NR_GIC_CPU_IF);
-        mask |= per_cpu(gic_cpu_id, cpu);
-    }
-
-    return mask;
-}
-
-static void hip04gic_save_state(struct vcpu *v)
-{
-    int i;
-
-    /* No need for spinlocks here because interrupts are disabled around
-     * this call and it only accesses struct vcpu fields that cannot be
-     * accessed simultaneously by another pCPU.
-     */
-    for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-        v->arch.gic.v2.lr[i] = readl_gich(HIP04_GICH_LR + i * 4);
-
-    v->arch.gic.v2.apr = readl_gich(HIP04_GICH_APR);
-    v->arch.gic.v2.vmcr = readl_gich(GICH_VMCR);
-    /* Disable until next VCPU scheduled */
-    writel_gich(0, GICH_HCR);
-}
-
-static void hip04gic_restore_state(const struct vcpu *v)
-{
-    int i;
-
-    for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-        writel_gich(v->arch.gic.v2.lr[i], HIP04_GICH_LR + i * 4);
-
-    writel_gich(v->arch.gic.v2.apr, HIP04_GICH_APR);
-    writel_gich(v->arch.gic.v2.vmcr, GICH_VMCR);
-    writel_gich(GICH_HCR_EN, GICH_HCR);
-}
-
-static void hip04gic_dump_state(const struct vcpu *v)
-{
-    int i;
-
-    if ( v == current )
-    {
-        for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-            printk("   HW_LR[%d]=%x\n", i,
-                   readl_gich(HIP04_GICH_LR + i * 4));
-    }
-    else
-    {
-        for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-            printk("   VCPU_LR[%d]=%x\n", i, v->arch.gic.v2.lr[i]);
-    }
-}
-
-static void hip04gic_eoi_irq(struct irq_desc *irqd)
-{
-    int irq = irqd->irq;
-    /* Lower the priority */
-    writel_gicc(irq, GICC_EOIR);
-}
-
-static void hip04gic_dir_irq(struct irq_desc *irqd)
-{
-    /* Deactivate */
-    writel_gicc(irqd->irq, GICC_DIR);
-}
-
-static unsigned int hip04gic_read_irq(void)
-{
-    return (readl_gicc(GICC_IAR) & GICC_IA_IRQ);
-}
-
-/*
- * needs to be called with a valid cpu_mask, ie each cpu in the mask has
- * already called gic_cpu_init
- */
-static void hip04gic_set_irq_properties(struct irq_desc *desc,
-                                   const cpumask_t *cpu_mask,
-                                   unsigned int priority)
-{
-    uint32_t cfg, actual, edgebit;
-    unsigned int mask = hip04gic_cpu_mask(cpu_mask);
-    unsigned int irq = desc->irq;
-    unsigned int type = desc->arch.type;
-
-    ASSERT(type != DT_IRQ_TYPE_INVALID);
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock(&gicv2.lock);
-    /* Set edge / level */
-    cfg = readl_gicd(GICD_ICFGR + (irq / 16) * 4);
-    edgebit = 2u << (2 * (irq % 16));
-    if ( type & DT_IRQ_TYPE_LEVEL_MASK )
-        cfg &= ~edgebit;
-    else if ( type & DT_IRQ_TYPE_EDGE_BOTH )
-        cfg |= edgebit;
-    writel_gicd(cfg, GICD_ICFGR + (irq / 16) * 4);
-
-    actual = readl_gicd(GICD_ICFGR + (irq / 16) * 4);
-    if ( ( cfg & edgebit ) ^ ( actual & edgebit ) )
-    {
-        printk(XENLOG_WARNING "GIC-HIP04: WARNING: "
-               "CPU%d: Failed to configure IRQ%u as %s-triggered. "
-               "H/w forces to %s-triggered.\n",
-               smp_processor_id(), desc->irq,
-               cfg & edgebit ? "Edge" : "Level",
-               actual & edgebit ? "Edge" : "Level");
-        desc->arch.type = actual & edgebit ?
-            DT_IRQ_TYPE_EDGE_RISING :
-            DT_IRQ_TYPE_LEVEL_HIGH;
-    }
-
-    /* Set target CPU mask (RAZ/WI on uniprocessor) */
-    writew_gicd(mask, GICD_ITARGETSR + irq * 2);
-    /* Set priority */
-    writeb_gicd(priority, GICD_IPRIORITYR + irq);
-
-    spin_unlock(&gicv2.lock);
-}
-
-static void __init hip04gic_dist_init(void)
-{
-    uint32_t type;
-    uint32_t cpumask;
-    uint32_t gic_cpus;
-    unsigned int nr_lines;
-    int i;
-
-    cpumask = readl_gicd(GICD_ITARGETSR) & 0xffff;
-    cpumask |= cpumask << 16;
-
-    /* Disable the distributor */
-    writel_gicd(0, GICD_CTLR);
-
-    type = readl_gicd(GICD_TYPER);
-    nr_lines = 32 * ((type & GICD_TYPE_LINES) + 1);
-    gic_cpus = 16;
-    printk("GIC-HIP04: %d lines, %d cpu%s%s (IID %8.8x).\n",
-           nr_lines, gic_cpus, (gic_cpus == 1) ? "" : "s",
-           (type & GICD_TYPE_SEC) ? ", secure" : "",
-           readl_gicd(GICD_IIDR));
-
-    /* Default all global IRQs to level, active low */
-    for ( i = 32; i < nr_lines; i += 16 )
-        writel_gicd(0x0, GICD_ICFGR + (i / 16) * 4);
-
-    /* Route all global IRQs to this CPU */
-    for ( i = 32; i < nr_lines; i += 2 )
-        writel_gicd(cpumask, GICD_ITARGETSR + (i / 2) * 4);
-
-    /* Default priority for global interrupts */
-    for ( i = 32; i < nr_lines; i += 4 )
-        writel_gicd(GIC_PRI_IRQ << 24 | GIC_PRI_IRQ << 16 |
-                    GIC_PRI_IRQ << 8 | GIC_PRI_IRQ,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Disable all global interrupts */
-    for ( i = 32; i < nr_lines; i += 32 )
-        writel_gicd(~0x0, GICD_ICENABLER + (i / 32) * 4);
-
-    /* Only 1020 interrupts are supported */
-    gicv2_info.nr_lines = min(1020U, nr_lines);
-
-    /* Turn on the distributor */
-    writel_gicd(GICD_CTL_ENABLE, GICD_CTLR);
-}
-
-static void hip04gic_cpu_init(void)
-{
-    int i;
-
-    this_cpu(gic_cpu_id) = readl_gicd(GICD_ITARGETSR) & 0xffff;
-
-    /* The first 32 interrupts (PPI and SGI) are banked per-cpu, so
-     * even though they are controlled with GICD registers, they must
-     * be set up here with the other per-cpu state. */
-    writel_gicd(0xffff0000, GICD_ICENABLER); /* Disable all PPI */
-    writel_gicd(0x0000ffff, GICD_ISENABLER); /* Enable all SGI */
-
-    /* Set SGI priorities */
-    for ( i = 0; i < 16; i += 4 )
-        writel_gicd(GIC_PRI_IPI << 24 | GIC_PRI_IPI << 16 |
-                    GIC_PRI_IPI << 8 | GIC_PRI_IPI,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Set PPI priorities */
-    for ( i = 16; i < 32; i += 4 )
-        writel_gicd(GIC_PRI_IRQ << 24 | GIC_PRI_IRQ << 16 |
-                    GIC_PRI_IRQ << 8 | GIC_PRI_IRQ,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Local settings: interface controller */
-    /* Don't mask by priority */
-    writel_gicc(0xff, GICC_PMR);
-    /* Finest granularity of priority */
-    writel_gicc(0x0, GICC_BPR);
-    /* Turn on delivery */
-    writel_gicc(GICC_CTL_ENABLE|GICC_CTL_EOI, GICC_CTLR);
-}
-
-static void hip04gic_cpu_disable(void)
-{
-    writel_gicc(0x0, GICC_CTLR);
-}
-
-static void hip04gic_hyp_init(void)
-{
-    uint32_t vtr;
-    uint8_t nr_lrs;
-
-    vtr = readl_gich(GICH_VTR);
-    nr_lrs  = (vtr & GICH_V2_VTR_NRLRGS) + 1;
-    gicv2_info.nr_lrs = nr_lrs;
-}
-
-static void hip04gic_hyp_disable(void)
-{
-    writel_gich(0, GICH_HCR);
-}
-
-static int hip04gic_secondary_cpu_init(void)
-{
-    spin_lock(&gicv2.lock);
-
-    hip04gic_cpu_init();
-    hip04gic_hyp_init();
-
-    spin_unlock(&gicv2.lock);
-
-    return 0;
-}
-
-static void hip04gic_send_SGI(enum gic_sgi sgi, enum gic_sgi_mode irqmode,
-                           const cpumask_t *cpu_mask)
-{
-    unsigned int mask = 0;
-    cpumask_t online_mask;
-
-    switch ( irqmode )
-    {
-    case SGI_TARGET_OTHERS:
-        writel_gicd(GICD_SGI_TARGET_OTHERS | sgi, GICD_SGIR);
-        break;
-    case SGI_TARGET_SELF:
-        writel_gicd(GICD_SGI_TARGET_SELF | sgi, GICD_SGIR);
-        break;
-    case SGI_TARGET_LIST:
-        cpumask_and(&online_mask, cpu_mask, &cpu_online_map);
-        mask = hip04gic_cpu_mask(&online_mask);
-        writel_gicd(GICD_SGI_TARGET_LIST |
-                    (mask << HIP04_GICD_SGI_TARGET_SHIFT) | sgi,
-                    GICD_SGIR);
-        break;
-    default:
-        BUG();
-    }
-}
-
-/* Shut down the per-CPU GIC interface */
-static void hip04gic_disable_interface(void)
-{
-    spin_lock(&gicv2.lock);
-    hip04gic_cpu_disable();
-    hip04gic_hyp_disable();
-    spin_unlock(&gicv2.lock);
-}
-
-static void hip04gic_update_lr(int lr, const struct pending_irq *p,
-                            unsigned int state)
-{
-    uint32_t lr_reg;
-
-    BUG_ON(lr >= gicv2_info.nr_lrs);
-    BUG_ON(lr < 0);
-
-    lr_reg = (((state & GICH_V2_LR_STATE_MASK) << GICH_V2_LR_STATE_SHIFT)  |
-              ((GIC_PRI_TO_GUEST(p->priority) & GICH_V2_LR_PRIORITY_MASK)
-                                             << GICH_V2_LR_PRIORITY_SHIFT) |
-              ((p->irq & GICH_V2_LR_VIRTUAL_MASK) << GICH_V2_LR_VIRTUAL_SHIFT));
-
-    if ( p->desc != NULL )
-        lr_reg |= GICH_V2_LR_HW | ((p->desc->irq & GICH_V2_LR_PHYSICAL_MASK )
-                                   << GICH_V2_LR_PHYSICAL_SHIFT);
-
-    writel_gich(lr_reg, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_clear_lr(int lr)
-{
-    writel_gich(0, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_read_lr(int lr, struct gic_lr *lr_reg)
-{
-    uint32_t lrv;
-
-    lrv          = readl_gich(HIP04_GICH_LR + lr * 4);
-    lr_reg->pirq = (lrv >> GICH_V2_LR_PHYSICAL_SHIFT) & GICH_V2_LR_PHYSICAL_MASK;
-    lr_reg->virq = (lrv >> GICH_V2_LR_VIRTUAL_SHIFT) & GICH_V2_LR_VIRTUAL_MASK;
-    lr_reg->priority = (lrv >> GICH_V2_LR_PRIORITY_SHIFT) & GICH_V2_LR_PRIORITY_MASK;
-    lr_reg->state     = (lrv >> GICH_V2_LR_STATE_SHIFT) & GICH_V2_LR_STATE_MASK;
-    lr_reg->hw_status = (lrv >> GICH_V2_LR_HW_SHIFT) & GICH_V2_LR_HW_MASK;
-    lr_reg->grp       = (lrv >> GICH_V2_LR_GRP_SHIFT) & GICH_V2_LR_GRP_MASK;
-}
-
-static void hip04gic_write_lr(int lr, const struct gic_lr *lr_reg)
-{
-    uint32_t lrv = 0;
-
-    lrv = ( ((lr_reg->pirq & GICH_V2_LR_PHYSICAL_MASK) << GICH_V2_LR_PHYSICAL_SHIFT) |
-          ((lr_reg->virq & GICH_V2_LR_VIRTUAL_MASK) << GICH_V2_LR_VIRTUAL_SHIFT)   |
-          ((uint32_t)(lr_reg->priority & GICH_V2_LR_PRIORITY_MASK)
-                                      << GICH_V2_LR_PRIORITY_SHIFT) |
-          ((uint32_t)(lr_reg->state & GICH_V2_LR_STATE_MASK)
-                                   << GICH_V2_LR_STATE_SHIFT) |
-          ((uint32_t)(lr_reg->hw_status & GICH_V2_LR_HW_MASK)
-                                       << GICH_V2_LR_HW_SHIFT)  |
-          ((uint32_t)(lr_reg->grp & GICH_V2_LR_GRP_MASK) << GICH_V2_LR_GRP_SHIFT) );
-
-    writel_gich(lrv, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_hcr_status(uint32_t flag, bool_t status)
-{
-    uint32_t hcr = readl_gich(GICH_HCR);
-
-    if ( status )
-        hcr |= flag;
-    else
-        hcr &= (~flag);
-
-    writel_gich(hcr, GICH_HCR);
-}
-
-static unsigned int hip04gic_read_vmcr_priority(void)
-{
-   return ((readl_gich(GICH_VMCR) >> GICH_V2_VMCR_PRIORITY_SHIFT)
-           & GICH_V2_VMCR_PRIORITY_MASK);
-}
-
-static unsigned int hip04gic_read_apr(int apr_reg)
-{
-   return readl_gich(HIP04_GICH_APR);
-}
-
-static void hip04gic_irq_enable(struct irq_desc *desc)
-{
-    unsigned long flags;
-    int irq = desc->irq;
-
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock_irqsave(&gicv2.lock, flags);
-    clear_bit(_IRQ_DISABLED, &desc->status);
-    dsb(sy);
-    /* Enable routing */
-    writel_gicd((1u << (irq % 32)), GICD_ISENABLER + (irq / 32) * 4);
-    spin_unlock_irqrestore(&gicv2.lock, flags);
-}
-
-static void hip04gic_irq_disable(struct irq_desc *desc)
-{
-    unsigned long flags;
-    int irq = desc->irq;
-
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock_irqsave(&gicv2.lock, flags);
-    /* Disable routing */
-    writel_gicd(1u << (irq % 32), GICD_ICENABLER + (irq / 32) * 4);
-    set_bit(_IRQ_DISABLED, &desc->status);
-    spin_unlock_irqrestore(&gicv2.lock, flags);
-}
-
-static unsigned int hip04gic_irq_startup(struct irq_desc *desc)
-{
-    hip04gic_irq_enable(desc);
-
-    return 0;
-}
-
-static void hip04gic_irq_shutdown(struct irq_desc *desc)
-{
-    hip04gic_irq_disable(desc);
-}
-
-static void hip04gic_irq_ack(struct irq_desc *desc)
-{
-    /* No ACK -- reading IAR has done this for us */
-}
-
-static void hip04gic_host_irq_end(struct irq_desc *desc)
-{
-    /* Lower the priority */
-    hip04gic_eoi_irq(desc);
-    /* Deactivate */
-    hip04gic_dir_irq(desc);
-}
-
-static void hip04gic_guest_irq_end(struct irq_desc *desc)
-{
-    /* Lower the priority of the IRQ */
-    hip04gic_eoi_irq(desc);
-    /* Deactivation happens in maintenance interrupt / via GICV */
-}
-
-static void hip04gic_irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask)
-{
-    unsigned int mask;
-
-    ASSERT(!cpumask_empty(cpu_mask));
-
-    spin_lock(&gicv2.lock);
-
-    mask = hip04gic_cpu_mask(cpu_mask);
-
-    /* Set target CPU mask (RAZ/WI on uniprocessor) */
-    writew_gicd(mask, GICD_ITARGETSR + desc->irq * 2);
-
-    spin_unlock(&gicv2.lock);
-}
-
-static int hip04gic_make_hwdom_dt_node(const struct domain *d,
-                                       const struct dt_device_node *gic,
-                                       void *fdt)
-{
-    const void *compatible;
-    u32 len;
-    const __be32 *regs;
-    int res = 0;
-
-    /*
-     * Replace compatibility string with a standard one.
-     * dom0 will see a compatible GIC. This as GICC is compatible
-     * with standard one and GICD (emulated by Xen) is compatible
-     * to standard. Otherwise we should implement HIP04 GICD in
-     * the virtual GIC.
-     * This actually limit CPU number to 8 for dom0.
-     */
-    compatible = DT_COMPAT_GIC_CORTEX_A15;
-    len = strlen((char*) compatible) + 1;
-
-    res = fdt_property(fdt, "compatible", compatible, len);
-    if ( res )
-        return res;
-
-    /*
-     * DTB provides up to 4 regions to handle virtualization
-     * (in order GICD, GICC, GICH and GICV interfaces)
-     * however dom0 just needs GICD and GICC provided by Xen.
-     */
-    regs = dt_get_property(gic, "reg", &len);
-    if ( !regs )
-    {
-        dprintk(XENLOG_ERR, "Can't find reg property for the gic node\n");
-        return -FDT_ERR_XEN(ENOENT);
-    }
-
-    len = dt_cells_to_size(dt_n_addr_cells(gic) + dt_n_size_cells(gic));
-    len *= 2;
-
-    res = fdt_property(fdt, "reg", regs, len);
-
-    return res;
-}
-
-/* XXX different for level vs edge */
-static hw_irq_controller hip04gic_host_irq_type = {
-    .typename     = "gic-hip04",
-    .startup      = hip04gic_irq_startup,
-    .shutdown     = hip04gic_irq_shutdown,
-    .enable       = hip04gic_irq_enable,
-    .disable      = hip04gic_irq_disable,
-    .ack          = hip04gic_irq_ack,
-    .end          = hip04gic_host_irq_end,
-    .set_affinity = hip04gic_irq_set_affinity,
-};
-
-static hw_irq_controller hip04gic_guest_irq_type = {
-    .typename     = "gic-hip04",
-    .startup      = hip04gic_irq_startup,
-    .shutdown     = hip04gic_irq_shutdown,
-    .enable       = hip04gic_irq_enable,
-    .disable      = hip04gic_irq_disable,
-    .ack          = hip04gic_irq_ack,
-    .end          = hip04gic_guest_irq_end,
-    .set_affinity = hip04gic_irq_set_affinity,
-};
-
-static int __init hip04gic_init(void)
-{
-    int res;
-    paddr_t hbase, dbase, cbase, csize, vbase;
-    const struct dt_device_node *node = gicv2_info.node;
-
-    res = dt_device_get_address(node, 0, &dbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the distributor");
-
-    res = dt_device_get_address(node, 1, &cbase, &csize);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the CPU");
-
-    res = dt_device_get_address(node, 2, &hbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the hypervisor");
-
-    res = dt_device_get_address(node, 3, &vbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the virtual CPU");
-
-    res = platform_get_irq(node, 0);
-    if ( res < 0 )
-        panic("GIC-HIP04: Cannot find the maintenance IRQ");
-    gicv2_info.maintenance_irq = res;
-
-    /* TODO: Add check on distributor, cpu size */
-
-    printk("GIC-HIP04 initialization:\n"
-              "        gic_dist_addr=%"PRIpaddr"\n"
-              "        gic_cpu_addr=%"PRIpaddr"\n"
-              "        gic_hyp_addr=%"PRIpaddr"\n"
-              "        gic_vcpu_addr=%"PRIpaddr"\n"
-              "        gic_maintenance_irq=%u\n",
-              dbase, cbase, hbase, vbase,
-              gicv2_info.maintenance_irq);
-
-    if ( (dbase & ~PAGE_MASK) || (cbase & ~PAGE_MASK) ||
-         (hbase & ~PAGE_MASK) || (vbase & ~PAGE_MASK) )
-        panic("GIC-HIP04 interfaces not page aligned");
-
-    gicv2.map_dbase = ioremap_nocache(dbase, PAGE_SIZE);
-    if ( !gicv2.map_dbase )
-        panic("GIC-HIP04: Failed to ioremap for GIC distributor\n");
-
-    gicv2.map_cbase[0] = ioremap_nocache(cbase, PAGE_SIZE);
-    gicv2.map_cbase[1] = ioremap_nocache(cbase + PAGE_SIZE, PAGE_SIZE);
-
-    if ( !gicv2.map_cbase[0] || !gicv2.map_cbase[1] )
-        panic("GIC-HIP04: Failed to ioremap for GIC CPU interface\n");
-
-    gicv2.map_hbase = ioremap_nocache(hbase, PAGE_SIZE);
-    if ( !gicv2.map_hbase )
-        panic("GIC-HIP04: Failed to ioremap for GIC Virtual interface\n");
-
-    vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
-
-    /* Global settings: interrupt distributor */
-    spin_lock_init(&gicv2.lock);
-    spin_lock(&gicv2.lock);
-
-    hip04gic_dist_init();
-    hip04gic_cpu_init();
-    hip04gic_hyp_init();
-
-    spin_unlock(&gicv2.lock);
-
-    return 0;
-}
-
-const static struct gic_hw_operations hip04gic_ops = {
-    .info                = &gicv2_info,
-    .init                = hip04gic_init,
-    .secondary_init      = hip04gic_secondary_cpu_init,
-    .save_state          = hip04gic_save_state,
-    .restore_state       = hip04gic_restore_state,
-    .dump_state          = hip04gic_dump_state,
-    .gic_host_irq_type   = &hip04gic_host_irq_type,
-    .gic_guest_irq_type  = &hip04gic_guest_irq_type,
-    .eoi_irq             = hip04gic_eoi_irq,
-    .deactivate_irq      = hip04gic_dir_irq,
-    .read_irq            = hip04gic_read_irq,
-    .set_irq_properties  = hip04gic_set_irq_properties,
-    .send_SGI            = hip04gic_send_SGI,
-    .disable_interface   = hip04gic_disable_interface,
-    .update_lr           = hip04gic_update_lr,
-    .update_hcr_status   = hip04gic_hcr_status,
-    .clear_lr            = hip04gic_clear_lr,
-    .read_lr             = hip04gic_read_lr,
-    .write_lr            = hip04gic_write_lr,
-    .read_vmcr_priority  = hip04gic_read_vmcr_priority,
-    .read_apr            = hip04gic_read_apr,
-    .make_hwdom_dt_node  = hip04gic_make_hwdom_dt_node,
-};
-
-/* Set up the GIC */
-static int __init hip04gic_preinit(struct dt_device_node *node,
-                                   const void *data)
-{
-    gicv2_info.hw_version = GIC_V2;
-    gicv2_info.node = node;
-    register_gic_ops(&hip04gic_ops);
-    dt_irq_xlate = gic_irq_xlate;
-
-    return 0;
-}
-
-static const struct dt_device_match hip04gic_dt_match[] __initconst =
-{
-    DT_MATCH_COMPATIBLE("hisilicon,hip04-intc"),
-    { /* sentinel */ },
-};
-
-DT_DEVICE_START(hip04gic, "GIC-HIP04", DEVICE_GIC)
-        .dt_match = hip04gic_dt_match,
-        .init = hip04gic_preinit,
-DT_DEVICE_END
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2O-0003WJ-3P; Sun, 07 Feb 2016 18:26:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2N-0003W6-2Y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:19 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	47/22-28221-A4C87B65; Sun, 07 Feb 2016 18:26:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1454869576!18328499!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2218 invoked from network); 7 Feb 2016 18:26:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3e-0007hU-Bp
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2J-0000v8-Rx
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2J-0000v8-Rx@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:15 +0000
Subject: [Xen-changelog] [xen master] xen/arm: drop hip04 support
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4a7abc58ff74ff54cf2ad490d5b279a0e9aad9eb
Author:     Zoltan Kiss <zoltan.kiss@linaro.org>
AuthorDate: Tue Feb 2 13:13:04 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:13:04 2016 +0000

    xen/arm: drop hip04 support
    
    This platform is no longer actively used, but it makes GICv2 development
    harder.
    
    Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS                    |   5 -
 docs/misc/arm/early-printk.txt |   1 -
 xen/arch/arm/Makefile          |   1 -
 xen/arch/arm/Rules.mk          |   1 -
 xen/arch/arm/gic-hip04.c       | 757 -----------------------------------------
 5 files changed, 765 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b36d9be..ccbe5db 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -177,11 +177,6 @@ S:	Supported
 F:	xen/arch/x86/debug.c
 F:	tools/debugger/gdbsx/
 
-HISILICON HIP04 SUPPORT
-M:	Zoltan Kiss <zoltan.kiss@huawei.com>
-S:	Supported
-F:	xen/arch/arm/gic-hip04.c
-
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 M:	Gang Wei <gang.wei@intel.com>
 M:	Shane Wang <shane.wang@intel.com>
diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index 7e03955..41b528b 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -37,7 +37,6 @@ the name of the machine:
   - dra7: printk with 8250 on DRA7 platform
   - exynos5250: printk with the second UART
   - fastmodel: printk on ARM Fastmodel software emulators
-  - hip04-d01: printk with 8250 on HiSilicon Hip-04 D01
   - juno: printk with pl011 on Juno platform
   - lager: printk with SCIF0 on Renesas R-Car H2 processors
   - midway: printk with the pl011 on Calxeda Midway processors
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 9982a93..1783912 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -12,7 +12,6 @@ obj-y += domctl.o
 obj-y += sysctl.o
 obj-y += domain_build.o
 obj-y += gic.o gic-v2.o
-obj-$(CONFIG_ARM_32) += gic-hip04.o
 obj-$(CONFIG_HAS_GICV3) += gic-v3.o
 obj-y += io.o
 obj-y += irq.o
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 0aea282..93304be 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -32,7 +32,6 @@ EARLY_PRINTK_brcm           := 8250,0xF040AB00,2
 EARLY_PRINTK_dra7           := 8250,0x4806A000,2
 EARLY_PRINTK_fastmodel      := pl011,0x1c090000,115200
 EARLY_PRINTK_exynos5250     := exynos4210,0x12c20000
-EARLY_PRINTK_hip04-d01      := 8250,0xE4007000,2
 EARLY_PRINTK_juno           := pl011,0x7ff80000
 EARLY_PRINTK_lager          := scif,0xe6e60000
 EARLY_PRINTK_midway         := pl011,0xfff36000
diff --git a/xen/arch/arm/gic-hip04.c b/xen/arch/arm/gic-hip04.c
deleted file mode 100644
index a42cf24..0000000
--- a/xen/arch/arm/gic-hip04.c
+++ /dev/null
@@ -1,757 +0,0 @@
-/*
- * xen/arch/arm/gic-hip04.c
- *
- * Generic Interrupt Controller for HiSilicon Hip04 platform
- * Based heavily on gic-v2.c (id 3bcf563fec26378f7f4cf1e2ad0d4d5b3f341919)
- *
- * Tim Deegan <tim@xen.org>
- * Copyright (c) 2011 Citrix Systems.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <xen/config.h>
-#include <xen/lib.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/irq.h>
-#include <xen/sched.h>
-#include <xen/errno.h>
-#include <xen/softirq.h>
-#include <xen/list.h>
-#include <xen/device_tree.h>
-#include <xen/libfdt/libfdt.h>
-#include <xen/sizes.h>
-#include <asm/p2m.h>
-#include <asm/domain.h>
-#include <asm/platform.h>
-#include <asm/device.h>
-
-#include <asm/io.h>
-#include <asm/gic.h>
-
-/*
- * LR register definitions are GIC v2 specific.
- * Moved these definitions from header file to here
- */
-#define GICH_V2_LR_VIRTUAL_MASK    0x3ff
-#define GICH_V2_LR_VIRTUAL_SHIFT   0
-#define GICH_V2_LR_PHYSICAL_MASK   0x3ff
-#define GICH_V2_LR_PHYSICAL_SHIFT  10
-#define GICH_V2_LR_STATE_MASK      0x3
-#define GICH_V2_LR_STATE_SHIFT     28
-#define GICH_V2_LR_PRIORITY_SHIFT  23
-#define GICH_V2_LR_PRIORITY_MASK   0x1f
-#define GICH_V2_LR_HW_SHIFT        31
-#define GICH_V2_LR_HW_MASK         0x1
-#define GICH_V2_LR_GRP_SHIFT       30
-#define GICH_V2_LR_GRP_MASK        0x1
-#define GICH_V2_LR_MAINTENANCE_IRQ (1<<19)
-#define GICH_V2_LR_GRP1            (1<<30)
-#define GICH_V2_LR_HW              (1<<31)
-#define GICH_V2_LR_CPUID_SHIFT     9
-#define GICH_V2_VTR_NRLRGS         0x3f
-
-#define GICH_V2_VMCR_PRIORITY_MASK   0x1f
-#define GICH_V2_VMCR_PRIORITY_SHIFT  27
-
-/* Global state */
-static struct {
-    void __iomem * map_dbase; /* IO mapped Address of distributor registers */
-    void __iomem * map_cbase[2]; /* IO mapped Address of CPU interface registers */
-    void __iomem * map_hbase; /* IO Address of virtual interface registers */
-    spinlock_t lock;
-} gicv2;
-
-static struct gic_info gicv2_info;
-
-/* The GIC mapping of CPU interfaces does not necessarily match the
- * logical CPU numbering. Let's use mapping as returned by the GIC
- * itself
- */
-static DEFINE_PER_CPU(u16, gic_cpu_id);
-
-/* Maximum cpu interface per GIC */
-#define NR_GIC_CPU_IF 16
-
-#define HIP04_GICD_SGI_TARGET_SHIFT 8
-
-#define HIP04_GICH_APR   0x70
-#define HIP04_GICH_LR    0x80
-
-static inline void writeb_gicd(uint8_t val, unsigned int offset)
-{
-    writeb_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline void writew_gicd(uint16_t val, unsigned int offset)
-{
-    writew_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline void writel_gicd(uint32_t val, unsigned int offset)
-{
-    writel_relaxed(val, gicv2.map_dbase + offset);
-}
-
-static inline uint32_t readl_gicd(unsigned int offset)
-{
-    return readl_relaxed(gicv2.map_dbase + offset);
-}
-
-static inline void writel_gicc(uint32_t val, unsigned int offset)
-{
-    unsigned int page = offset >> PAGE_SHIFT;
-    offset &= ~PAGE_MASK;
-    writel_relaxed(val, gicv2.map_cbase[page] + offset);
-}
-
-static inline uint32_t readl_gicc(unsigned int offset)
-{
-    unsigned int page = offset >> PAGE_SHIFT;
-    offset &= ~PAGE_MASK;
-    return readl_relaxed(gicv2.map_cbase[page] + offset);
-}
-
-static inline void writel_gich(uint32_t val, unsigned int offset)
-{
-    writel_relaxed(val, gicv2.map_hbase + offset);
-}
-
-static inline uint32_t readl_gich(int unsigned offset)
-{
-    return readl_relaxed(gicv2.map_hbase + offset);
-}
-
-static unsigned int hip04gic_cpu_mask(const cpumask_t *cpumask)
-{
-    unsigned int cpu;
-    unsigned int mask = 0;
-    cpumask_t possible_mask;
-
-    cpumask_and(&possible_mask, cpumask, &cpu_possible_map);
-    for_each_cpu( cpu, &possible_mask )
-    {
-        ASSERT(cpu < NR_GIC_CPU_IF);
-        mask |= per_cpu(gic_cpu_id, cpu);
-    }
-
-    return mask;
-}
-
-static void hip04gic_save_state(struct vcpu *v)
-{
-    int i;
-
-    /* No need for spinlocks here because interrupts are disabled around
-     * this call and it only accesses struct vcpu fields that cannot be
-     * accessed simultaneously by another pCPU.
-     */
-    for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-        v->arch.gic.v2.lr[i] = readl_gich(HIP04_GICH_LR + i * 4);
-
-    v->arch.gic.v2.apr = readl_gich(HIP04_GICH_APR);
-    v->arch.gic.v2.vmcr = readl_gich(GICH_VMCR);
-    /* Disable until next VCPU scheduled */
-    writel_gich(0, GICH_HCR);
-}
-
-static void hip04gic_restore_state(const struct vcpu *v)
-{
-    int i;
-
-    for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-        writel_gich(v->arch.gic.v2.lr[i], HIP04_GICH_LR + i * 4);
-
-    writel_gich(v->arch.gic.v2.apr, HIP04_GICH_APR);
-    writel_gich(v->arch.gic.v2.vmcr, GICH_VMCR);
-    writel_gich(GICH_HCR_EN, GICH_HCR);
-}
-
-static void hip04gic_dump_state(const struct vcpu *v)
-{
-    int i;
-
-    if ( v == current )
-    {
-        for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-            printk("   HW_LR[%d]=%x\n", i,
-                   readl_gich(HIP04_GICH_LR + i * 4));
-    }
-    else
-    {
-        for ( i = 0; i < gicv2_info.nr_lrs; i++ )
-            printk("   VCPU_LR[%d]=%x\n", i, v->arch.gic.v2.lr[i]);
-    }
-}
-
-static void hip04gic_eoi_irq(struct irq_desc *irqd)
-{
-    int irq = irqd->irq;
-    /* Lower the priority */
-    writel_gicc(irq, GICC_EOIR);
-}
-
-static void hip04gic_dir_irq(struct irq_desc *irqd)
-{
-    /* Deactivate */
-    writel_gicc(irqd->irq, GICC_DIR);
-}
-
-static unsigned int hip04gic_read_irq(void)
-{
-    return (readl_gicc(GICC_IAR) & GICC_IA_IRQ);
-}
-
-/*
- * needs to be called with a valid cpu_mask, ie each cpu in the mask has
- * already called gic_cpu_init
- */
-static void hip04gic_set_irq_properties(struct irq_desc *desc,
-                                   const cpumask_t *cpu_mask,
-                                   unsigned int priority)
-{
-    uint32_t cfg, actual, edgebit;
-    unsigned int mask = hip04gic_cpu_mask(cpu_mask);
-    unsigned int irq = desc->irq;
-    unsigned int type = desc->arch.type;
-
-    ASSERT(type != DT_IRQ_TYPE_INVALID);
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock(&gicv2.lock);
-    /* Set edge / level */
-    cfg = readl_gicd(GICD_ICFGR + (irq / 16) * 4);
-    edgebit = 2u << (2 * (irq % 16));
-    if ( type & DT_IRQ_TYPE_LEVEL_MASK )
-        cfg &= ~edgebit;
-    else if ( type & DT_IRQ_TYPE_EDGE_BOTH )
-        cfg |= edgebit;
-    writel_gicd(cfg, GICD_ICFGR + (irq / 16) * 4);
-
-    actual = readl_gicd(GICD_ICFGR + (irq / 16) * 4);
-    if ( ( cfg & edgebit ) ^ ( actual & edgebit ) )
-    {
-        printk(XENLOG_WARNING "GIC-HIP04: WARNING: "
-               "CPU%d: Failed to configure IRQ%u as %s-triggered. "
-               "H/w forces to %s-triggered.\n",
-               smp_processor_id(), desc->irq,
-               cfg & edgebit ? "Edge" : "Level",
-               actual & edgebit ? "Edge" : "Level");
-        desc->arch.type = actual & edgebit ?
-            DT_IRQ_TYPE_EDGE_RISING :
-            DT_IRQ_TYPE_LEVEL_HIGH;
-    }
-
-    /* Set target CPU mask (RAZ/WI on uniprocessor) */
-    writew_gicd(mask, GICD_ITARGETSR + irq * 2);
-    /* Set priority */
-    writeb_gicd(priority, GICD_IPRIORITYR + irq);
-
-    spin_unlock(&gicv2.lock);
-}
-
-static void __init hip04gic_dist_init(void)
-{
-    uint32_t type;
-    uint32_t cpumask;
-    uint32_t gic_cpus;
-    unsigned int nr_lines;
-    int i;
-
-    cpumask = readl_gicd(GICD_ITARGETSR) & 0xffff;
-    cpumask |= cpumask << 16;
-
-    /* Disable the distributor */
-    writel_gicd(0, GICD_CTLR);
-
-    type = readl_gicd(GICD_TYPER);
-    nr_lines = 32 * ((type & GICD_TYPE_LINES) + 1);
-    gic_cpus = 16;
-    printk("GIC-HIP04: %d lines, %d cpu%s%s (IID %8.8x).\n",
-           nr_lines, gic_cpus, (gic_cpus == 1) ? "" : "s",
-           (type & GICD_TYPE_SEC) ? ", secure" : "",
-           readl_gicd(GICD_IIDR));
-
-    /* Default all global IRQs to level, active low */
-    for ( i = 32; i < nr_lines; i += 16 )
-        writel_gicd(0x0, GICD_ICFGR + (i / 16) * 4);
-
-    /* Route all global IRQs to this CPU */
-    for ( i = 32; i < nr_lines; i += 2 )
-        writel_gicd(cpumask, GICD_ITARGETSR + (i / 2) * 4);
-
-    /* Default priority for global interrupts */
-    for ( i = 32; i < nr_lines; i += 4 )
-        writel_gicd(GIC_PRI_IRQ << 24 | GIC_PRI_IRQ << 16 |
-                    GIC_PRI_IRQ << 8 | GIC_PRI_IRQ,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Disable all global interrupts */
-    for ( i = 32; i < nr_lines; i += 32 )
-        writel_gicd(~0x0, GICD_ICENABLER + (i / 32) * 4);
-
-    /* Only 1020 interrupts are supported */
-    gicv2_info.nr_lines = min(1020U, nr_lines);
-
-    /* Turn on the distributor */
-    writel_gicd(GICD_CTL_ENABLE, GICD_CTLR);
-}
-
-static void hip04gic_cpu_init(void)
-{
-    int i;
-
-    this_cpu(gic_cpu_id) = readl_gicd(GICD_ITARGETSR) & 0xffff;
-
-    /* The first 32 interrupts (PPI and SGI) are banked per-cpu, so
-     * even though they are controlled with GICD registers, they must
-     * be set up here with the other per-cpu state. */
-    writel_gicd(0xffff0000, GICD_ICENABLER); /* Disable all PPI */
-    writel_gicd(0x0000ffff, GICD_ISENABLER); /* Enable all SGI */
-
-    /* Set SGI priorities */
-    for ( i = 0; i < 16; i += 4 )
-        writel_gicd(GIC_PRI_IPI << 24 | GIC_PRI_IPI << 16 |
-                    GIC_PRI_IPI << 8 | GIC_PRI_IPI,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Set PPI priorities */
-    for ( i = 16; i < 32; i += 4 )
-        writel_gicd(GIC_PRI_IRQ << 24 | GIC_PRI_IRQ << 16 |
-                    GIC_PRI_IRQ << 8 | GIC_PRI_IRQ,
-                    GICD_IPRIORITYR + (i / 4) * 4);
-
-    /* Local settings: interface controller */
-    /* Don't mask by priority */
-    writel_gicc(0xff, GICC_PMR);
-    /* Finest granularity of priority */
-    writel_gicc(0x0, GICC_BPR);
-    /* Turn on delivery */
-    writel_gicc(GICC_CTL_ENABLE|GICC_CTL_EOI, GICC_CTLR);
-}
-
-static void hip04gic_cpu_disable(void)
-{
-    writel_gicc(0x0, GICC_CTLR);
-}
-
-static void hip04gic_hyp_init(void)
-{
-    uint32_t vtr;
-    uint8_t nr_lrs;
-
-    vtr = readl_gich(GICH_VTR);
-    nr_lrs  = (vtr & GICH_V2_VTR_NRLRGS) + 1;
-    gicv2_info.nr_lrs = nr_lrs;
-}
-
-static void hip04gic_hyp_disable(void)
-{
-    writel_gich(0, GICH_HCR);
-}
-
-static int hip04gic_secondary_cpu_init(void)
-{
-    spin_lock(&gicv2.lock);
-
-    hip04gic_cpu_init();
-    hip04gic_hyp_init();
-
-    spin_unlock(&gicv2.lock);
-
-    return 0;
-}
-
-static void hip04gic_send_SGI(enum gic_sgi sgi, enum gic_sgi_mode irqmode,
-                           const cpumask_t *cpu_mask)
-{
-    unsigned int mask = 0;
-    cpumask_t online_mask;
-
-    switch ( irqmode )
-    {
-    case SGI_TARGET_OTHERS:
-        writel_gicd(GICD_SGI_TARGET_OTHERS | sgi, GICD_SGIR);
-        break;
-    case SGI_TARGET_SELF:
-        writel_gicd(GICD_SGI_TARGET_SELF | sgi, GICD_SGIR);
-        break;
-    case SGI_TARGET_LIST:
-        cpumask_and(&online_mask, cpu_mask, &cpu_online_map);
-        mask = hip04gic_cpu_mask(&online_mask);
-        writel_gicd(GICD_SGI_TARGET_LIST |
-                    (mask << HIP04_GICD_SGI_TARGET_SHIFT) | sgi,
-                    GICD_SGIR);
-        break;
-    default:
-        BUG();
-    }
-}
-
-/* Shut down the per-CPU GIC interface */
-static void hip04gic_disable_interface(void)
-{
-    spin_lock(&gicv2.lock);
-    hip04gic_cpu_disable();
-    hip04gic_hyp_disable();
-    spin_unlock(&gicv2.lock);
-}
-
-static void hip04gic_update_lr(int lr, const struct pending_irq *p,
-                            unsigned int state)
-{
-    uint32_t lr_reg;
-
-    BUG_ON(lr >= gicv2_info.nr_lrs);
-    BUG_ON(lr < 0);
-
-    lr_reg = (((state & GICH_V2_LR_STATE_MASK) << GICH_V2_LR_STATE_SHIFT)  |
-              ((GIC_PRI_TO_GUEST(p->priority) & GICH_V2_LR_PRIORITY_MASK)
-                                             << GICH_V2_LR_PRIORITY_SHIFT) |
-              ((p->irq & GICH_V2_LR_VIRTUAL_MASK) << GICH_V2_LR_VIRTUAL_SHIFT));
-
-    if ( p->desc != NULL )
-        lr_reg |= GICH_V2_LR_HW | ((p->desc->irq & GICH_V2_LR_PHYSICAL_MASK )
-                                   << GICH_V2_LR_PHYSICAL_SHIFT);
-
-    writel_gich(lr_reg, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_clear_lr(int lr)
-{
-    writel_gich(0, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_read_lr(int lr, struct gic_lr *lr_reg)
-{
-    uint32_t lrv;
-
-    lrv          = readl_gich(HIP04_GICH_LR + lr * 4);
-    lr_reg->pirq = (lrv >> GICH_V2_LR_PHYSICAL_SHIFT) & GICH_V2_LR_PHYSICAL_MASK;
-    lr_reg->virq = (lrv >> GICH_V2_LR_VIRTUAL_SHIFT) & GICH_V2_LR_VIRTUAL_MASK;
-    lr_reg->priority = (lrv >> GICH_V2_LR_PRIORITY_SHIFT) & GICH_V2_LR_PRIORITY_MASK;
-    lr_reg->state     = (lrv >> GICH_V2_LR_STATE_SHIFT) & GICH_V2_LR_STATE_MASK;
-    lr_reg->hw_status = (lrv >> GICH_V2_LR_HW_SHIFT) & GICH_V2_LR_HW_MASK;
-    lr_reg->grp       = (lrv >> GICH_V2_LR_GRP_SHIFT) & GICH_V2_LR_GRP_MASK;
-}
-
-static void hip04gic_write_lr(int lr, const struct gic_lr *lr_reg)
-{
-    uint32_t lrv = 0;
-
-    lrv = ( ((lr_reg->pirq & GICH_V2_LR_PHYSICAL_MASK) << GICH_V2_LR_PHYSICAL_SHIFT) |
-          ((lr_reg->virq & GICH_V2_LR_VIRTUAL_MASK) << GICH_V2_LR_VIRTUAL_SHIFT)   |
-          ((uint32_t)(lr_reg->priority & GICH_V2_LR_PRIORITY_MASK)
-                                      << GICH_V2_LR_PRIORITY_SHIFT) |
-          ((uint32_t)(lr_reg->state & GICH_V2_LR_STATE_MASK)
-                                   << GICH_V2_LR_STATE_SHIFT) |
-          ((uint32_t)(lr_reg->hw_status & GICH_V2_LR_HW_MASK)
-                                       << GICH_V2_LR_HW_SHIFT)  |
-          ((uint32_t)(lr_reg->grp & GICH_V2_LR_GRP_MASK) << GICH_V2_LR_GRP_SHIFT) );
-
-    writel_gich(lrv, HIP04_GICH_LR + lr * 4);
-}
-
-static void hip04gic_hcr_status(uint32_t flag, bool_t status)
-{
-    uint32_t hcr = readl_gich(GICH_HCR);
-
-    if ( status )
-        hcr |= flag;
-    else
-        hcr &= (~flag);
-
-    writel_gich(hcr, GICH_HCR);
-}
-
-static unsigned int hip04gic_read_vmcr_priority(void)
-{
-   return ((readl_gich(GICH_VMCR) >> GICH_V2_VMCR_PRIORITY_SHIFT)
-           & GICH_V2_VMCR_PRIORITY_MASK);
-}
-
-static unsigned int hip04gic_read_apr(int apr_reg)
-{
-   return readl_gich(HIP04_GICH_APR);
-}
-
-static void hip04gic_irq_enable(struct irq_desc *desc)
-{
-    unsigned long flags;
-    int irq = desc->irq;
-
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock_irqsave(&gicv2.lock, flags);
-    clear_bit(_IRQ_DISABLED, &desc->status);
-    dsb(sy);
-    /* Enable routing */
-    writel_gicd((1u << (irq % 32)), GICD_ISENABLER + (irq / 32) * 4);
-    spin_unlock_irqrestore(&gicv2.lock, flags);
-}
-
-static void hip04gic_irq_disable(struct irq_desc *desc)
-{
-    unsigned long flags;
-    int irq = desc->irq;
-
-    ASSERT(spin_is_locked(&desc->lock));
-
-    spin_lock_irqsave(&gicv2.lock, flags);
-    /* Disable routing */
-    writel_gicd(1u << (irq % 32), GICD_ICENABLER + (irq / 32) * 4);
-    set_bit(_IRQ_DISABLED, &desc->status);
-    spin_unlock_irqrestore(&gicv2.lock, flags);
-}
-
-static unsigned int hip04gic_irq_startup(struct irq_desc *desc)
-{
-    hip04gic_irq_enable(desc);
-
-    return 0;
-}
-
-static void hip04gic_irq_shutdown(struct irq_desc *desc)
-{
-    hip04gic_irq_disable(desc);
-}
-
-static void hip04gic_irq_ack(struct irq_desc *desc)
-{
-    /* No ACK -- reading IAR has done this for us */
-}
-
-static void hip04gic_host_irq_end(struct irq_desc *desc)
-{
-    /* Lower the priority */
-    hip04gic_eoi_irq(desc);
-    /* Deactivate */
-    hip04gic_dir_irq(desc);
-}
-
-static void hip04gic_guest_irq_end(struct irq_desc *desc)
-{
-    /* Lower the priority of the IRQ */
-    hip04gic_eoi_irq(desc);
-    /* Deactivation happens in maintenance interrupt / via GICV */
-}
-
-static void hip04gic_irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask)
-{
-    unsigned int mask;
-
-    ASSERT(!cpumask_empty(cpu_mask));
-
-    spin_lock(&gicv2.lock);
-
-    mask = hip04gic_cpu_mask(cpu_mask);
-
-    /* Set target CPU mask (RAZ/WI on uniprocessor) */
-    writew_gicd(mask, GICD_ITARGETSR + desc->irq * 2);
-
-    spin_unlock(&gicv2.lock);
-}
-
-static int hip04gic_make_hwdom_dt_node(const struct domain *d,
-                                       const struct dt_device_node *gic,
-                                       void *fdt)
-{
-    const void *compatible;
-    u32 len;
-    const __be32 *regs;
-    int res = 0;
-
-    /*
-     * Replace compatibility string with a standard one.
-     * dom0 will see a compatible GIC. This as GICC is compatible
-     * with standard one and GICD (emulated by Xen) is compatible
-     * to standard. Otherwise we should implement HIP04 GICD in
-     * the virtual GIC.
-     * This actually limit CPU number to 8 for dom0.
-     */
-    compatible = DT_COMPAT_GIC_CORTEX_A15;
-    len = strlen((char*) compatible) + 1;
-
-    res = fdt_property(fdt, "compatible", compatible, len);
-    if ( res )
-        return res;
-
-    /*
-     * DTB provides up to 4 regions to handle virtualization
-     * (in order GICD, GICC, GICH and GICV interfaces)
-     * however dom0 just needs GICD and GICC provided by Xen.
-     */
-    regs = dt_get_property(gic, "reg", &len);
-    if ( !regs )
-    {
-        dprintk(XENLOG_ERR, "Can't find reg property for the gic node\n");
-        return -FDT_ERR_XEN(ENOENT);
-    }
-
-    len = dt_cells_to_size(dt_n_addr_cells(gic) + dt_n_size_cells(gic));
-    len *= 2;
-
-    res = fdt_property(fdt, "reg", regs, len);
-
-    return res;
-}
-
-/* XXX different for level vs edge */
-static hw_irq_controller hip04gic_host_irq_type = {
-    .typename     = "gic-hip04",
-    .startup      = hip04gic_irq_startup,
-    .shutdown     = hip04gic_irq_shutdown,
-    .enable       = hip04gic_irq_enable,
-    .disable      = hip04gic_irq_disable,
-    .ack          = hip04gic_irq_ack,
-    .end          = hip04gic_host_irq_end,
-    .set_affinity = hip04gic_irq_set_affinity,
-};
-
-static hw_irq_controller hip04gic_guest_irq_type = {
-    .typename     = "gic-hip04",
-    .startup      = hip04gic_irq_startup,
-    .shutdown     = hip04gic_irq_shutdown,
-    .enable       = hip04gic_irq_enable,
-    .disable      = hip04gic_irq_disable,
-    .ack          = hip04gic_irq_ack,
-    .end          = hip04gic_guest_irq_end,
-    .set_affinity = hip04gic_irq_set_affinity,
-};
-
-static int __init hip04gic_init(void)
-{
-    int res;
-    paddr_t hbase, dbase, cbase, csize, vbase;
-    const struct dt_device_node *node = gicv2_info.node;
-
-    res = dt_device_get_address(node, 0, &dbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the distributor");
-
-    res = dt_device_get_address(node, 1, &cbase, &csize);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the CPU");
-
-    res = dt_device_get_address(node, 2, &hbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the hypervisor");
-
-    res = dt_device_get_address(node, 3, &vbase, NULL);
-    if ( res )
-        panic("GIC-HIP04: Cannot find a valid address for the virtual CPU");
-
-    res = platform_get_irq(node, 0);
-    if ( res < 0 )
-        panic("GIC-HIP04: Cannot find the maintenance IRQ");
-    gicv2_info.maintenance_irq = res;
-
-    /* TODO: Add check on distributor, cpu size */
-
-    printk("GIC-HIP04 initialization:\n"
-              "        gic_dist_addr=%"PRIpaddr"\n"
-              "        gic_cpu_addr=%"PRIpaddr"\n"
-              "        gic_hyp_addr=%"PRIpaddr"\n"
-              "        gic_vcpu_addr=%"PRIpaddr"\n"
-              "        gic_maintenance_irq=%u\n",
-              dbase, cbase, hbase, vbase,
-              gicv2_info.maintenance_irq);
-
-    if ( (dbase & ~PAGE_MASK) || (cbase & ~PAGE_MASK) ||
-         (hbase & ~PAGE_MASK) || (vbase & ~PAGE_MASK) )
-        panic("GIC-HIP04 interfaces not page aligned");
-
-    gicv2.map_dbase = ioremap_nocache(dbase, PAGE_SIZE);
-    if ( !gicv2.map_dbase )
-        panic("GIC-HIP04: Failed to ioremap for GIC distributor\n");
-
-    gicv2.map_cbase[0] = ioremap_nocache(cbase, PAGE_SIZE);
-    gicv2.map_cbase[1] = ioremap_nocache(cbase + PAGE_SIZE, PAGE_SIZE);
-
-    if ( !gicv2.map_cbase[0] || !gicv2.map_cbase[1] )
-        panic("GIC-HIP04: Failed to ioremap for GIC CPU interface\n");
-
-    gicv2.map_hbase = ioremap_nocache(hbase, PAGE_SIZE);
-    if ( !gicv2.map_hbase )
-        panic("GIC-HIP04: Failed to ioremap for GIC Virtual interface\n");
-
-    vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
-
-    /* Global settings: interrupt distributor */
-    spin_lock_init(&gicv2.lock);
-    spin_lock(&gicv2.lock);
-
-    hip04gic_dist_init();
-    hip04gic_cpu_init();
-    hip04gic_hyp_init();
-
-    spin_unlock(&gicv2.lock);
-
-    return 0;
-}
-
-const static struct gic_hw_operations hip04gic_ops = {
-    .info                = &gicv2_info,
-    .init                = hip04gic_init,
-    .secondary_init      = hip04gic_secondary_cpu_init,
-    .save_state          = hip04gic_save_state,
-    .restore_state       = hip04gic_restore_state,
-    .dump_state          = hip04gic_dump_state,
-    .gic_host_irq_type   = &hip04gic_host_irq_type,
-    .gic_guest_irq_type  = &hip04gic_guest_irq_type,
-    .eoi_irq             = hip04gic_eoi_irq,
-    .deactivate_irq      = hip04gic_dir_irq,
-    .read_irq            = hip04gic_read_irq,
-    .set_irq_properties  = hip04gic_set_irq_properties,
-    .send_SGI            = hip04gic_send_SGI,
-    .disable_interface   = hip04gic_disable_interface,
-    .update_lr           = hip04gic_update_lr,
-    .update_hcr_status   = hip04gic_hcr_status,
-    .clear_lr            = hip04gic_clear_lr,
-    .read_lr             = hip04gic_read_lr,
-    .write_lr            = hip04gic_write_lr,
-    .read_vmcr_priority  = hip04gic_read_vmcr_priority,
-    .read_apr            = hip04gic_read_apr,
-    .make_hwdom_dt_node  = hip04gic_make_hwdom_dt_node,
-};
-
-/* Set up the GIC */
-static int __init hip04gic_preinit(struct dt_device_node *node,
-                                   const void *data)
-{
-    gicv2_info.hw_version = GIC_V2;
-    gicv2_info.node = node;
-    register_gic_ops(&hip04gic_ops);
-    dt_irq_xlate = gic_irq_xlate;
-
-    return 0;
-}
-
-static const struct dt_device_match hip04gic_dt_match[] __initconst =
-{
-    DT_MATCH_COMPATIBLE("hisilicon,hip04-intc"),
-    { /* sentinel */ },
-};
-
-DT_DEVICE_START(hip04gic, "GIC-HIP04", DEVICE_GIC)
-        .dt_match = hip04gic_dt_match,
-        .init = hip04gic_preinit,
-DT_DEVICE_END
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2Y-0003Yp-DR; Sun, 07 Feb 2016 18:26:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2X-0003YO-9u
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:29 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
	06/E2-12946-45C87B65; Sun, 07 Feb 2016 18:26:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1454869586!13367132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42221 invoked from network); 7 Feb 2016 18:26:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3o-0007hc-MM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2U-0000vk-9K
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2U-0000vk-9K@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:26 +0000
Subject: [Xen-changelog] [xen master] libxl: Use libxl_strdup instead of
	strdup on libxl_version_info
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d531444b6e4575b59977b8ead910baf12ec0de77
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:30:57 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:01 2016 +0000

    libxl: Use libxl_strdup instead of strdup on libxl_version_info
    
    The change is simple replace of raw strdup with a libxl variant.
    The benefit of that is the libxl variant has the extra
    behaviour of abort-on-alloc-fail - and will improve error handling.
    
    libxl_version_info is a bit odd - it is a public function and as libxl.h
    mentions - the callers of libxl_ public function needs to call the appropiate
    _dispose() function.
    
    "However libxl_get_version_info() is special and returns a cached
    result from the ctx which cannot and should not be freed (as evidenced
    by it returning a const struct). This data is freed in libxl_ctx_free()
    by calling libxl_version_info_dispose(). This is why none of the callers
    remember to free -- they shouldn't be doing so." (Ian Campbell)
    
    So the patch makes sure to use the NOGC.
    
    Suggested-by: Wei Liu <wei.liu2@citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 94b5656..82a91eb 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -5258,6 +5258,7 @@ libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
+    GC_INIT(ctx);
     union {
         xen_extraversion_t xen_extra;
         xen_compile_info_t xen_cc;
@@ -5270,26 +5271,26 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     libxl_version_info *info = &ctx->version_info;
 
     if (info->xen_version_extra != NULL)
-        return info;
+        goto out;
 
     xen_version = xc_version(ctx->xch, XENVER_version, NULL);
     info->xen_version_major = xen_version >> 16;
     info->xen_version_minor = xen_version & 0xFF;
 
     xc_version(ctx->xch, XENVER_extraversion, &u.xen_extra);
-    info->xen_version_extra = strdup(u.xen_extra);
+    info->xen_version_extra = libxl__strdup(NOGC, u.xen_extra);
 
     xc_version(ctx->xch, XENVER_compile_info, &u.xen_cc);
-    info->compiler = strdup(u.xen_cc.compiler);
-    info->compile_by = strdup(u.xen_cc.compile_by);
-    info->compile_domain = strdup(u.xen_cc.compile_domain);
-    info->compile_date = strdup(u.xen_cc.compile_date);
+    info->compiler = libxl__strdup(NOGC, u.xen_cc.compiler);
+    info->compile_by = libxl__strdup(NOGC, u.xen_cc.compile_by);
+    info->compile_domain = libxl__strdup(NOGC, u.xen_cc.compile_domain);
+    info->compile_date = libxl__strdup(NOGC, u.xen_cc.compile_date);
 
     xc_version(ctx->xch, XENVER_capabilities, &u.xen_caps);
-    info->capabilities = strdup(u.xen_caps);
+    info->capabilities = libxl__strdup(NOGC, u.xen_caps);
 
     xc_version(ctx->xch, XENVER_changeset, &u.xen_chgset);
-    info->changeset = strdup(u.xen_chgset);
+    info->changeset = libxl__strdup(NOGC, u.xen_chgset);
 
     xc_version(ctx->xch, XENVER_platform_parameters, &u.p_parms);
     info->virt_start = u.p_parms.virt_start;
@@ -5297,8 +5298,10 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->pagesize = xc_version(ctx->xch, XENVER_pagesize, NULL);
 
     xc_version(ctx->xch, XENVER_commandline, &u.xen_commandline);
-    info->commandline = strdup(u.xen_commandline);
+    info->commandline = libxl__strdup(NOGC, u.xen_commandline);
 
+ out:
+    GC_FREE;
     return info;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2Y-0003Yp-DR; Sun, 07 Feb 2016 18:26:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2X-0003YO-9u
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:29 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
	06/E2-12946-45C87B65; Sun, 07 Feb 2016 18:26:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1454869586!13367132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42221 invoked from network); 7 Feb 2016 18:26:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3o-0007hc-MM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2U-0000vk-9K
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2U-0000vk-9K@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:26 +0000
Subject: [Xen-changelog] [xen master] libxl: Use libxl_strdup instead of
	strdup on libxl_version_info
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d531444b6e4575b59977b8ead910baf12ec0de77
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:30:57 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:01 2016 +0000

    libxl: Use libxl_strdup instead of strdup on libxl_version_info
    
    The change is simple replace of raw strdup with a libxl variant.
    The benefit of that is the libxl variant has the extra
    behaviour of abort-on-alloc-fail - and will improve error handling.
    
    libxl_version_info is a bit odd - it is a public function and as libxl.h
    mentions - the callers of libxl_ public function needs to call the appropiate
    _dispose() function.
    
    "However libxl_get_version_info() is special and returns a cached
    result from the ctx which cannot and should not be freed (as evidenced
    by it returning a const struct). This data is freed in libxl_ctx_free()
    by calling libxl_version_info_dispose(). This is why none of the callers
    remember to free -- they shouldn't be doing so." (Ian Campbell)
    
    So the patch makes sure to use the NOGC.
    
    Suggested-by: Wei Liu <wei.liu2@citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 94b5656..82a91eb 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -5258,6 +5258,7 @@ libxl_numainfo *libxl_get_numainfo(libxl_ctx *ctx, int *nr)
 
 const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
 {
+    GC_INIT(ctx);
     union {
         xen_extraversion_t xen_extra;
         xen_compile_info_t xen_cc;
@@ -5270,26 +5271,26 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     libxl_version_info *info = &ctx->version_info;
 
     if (info->xen_version_extra != NULL)
-        return info;
+        goto out;
 
     xen_version = xc_version(ctx->xch, XENVER_version, NULL);
     info->xen_version_major = xen_version >> 16;
     info->xen_version_minor = xen_version & 0xFF;
 
     xc_version(ctx->xch, XENVER_extraversion, &u.xen_extra);
-    info->xen_version_extra = strdup(u.xen_extra);
+    info->xen_version_extra = libxl__strdup(NOGC, u.xen_extra);
 
     xc_version(ctx->xch, XENVER_compile_info, &u.xen_cc);
-    info->compiler = strdup(u.xen_cc.compiler);
-    info->compile_by = strdup(u.xen_cc.compile_by);
-    info->compile_domain = strdup(u.xen_cc.compile_domain);
-    info->compile_date = strdup(u.xen_cc.compile_date);
+    info->compiler = libxl__strdup(NOGC, u.xen_cc.compiler);
+    info->compile_by = libxl__strdup(NOGC, u.xen_cc.compile_by);
+    info->compile_domain = libxl__strdup(NOGC, u.xen_cc.compile_domain);
+    info->compile_date = libxl__strdup(NOGC, u.xen_cc.compile_date);
 
     xc_version(ctx->xch, XENVER_capabilities, &u.xen_caps);
-    info->capabilities = strdup(u.xen_caps);
+    info->capabilities = libxl__strdup(NOGC, u.xen_caps);
 
     xc_version(ctx->xch, XENVER_changeset, &u.xen_chgset);
-    info->changeset = strdup(u.xen_chgset);
+    info->changeset = libxl__strdup(NOGC, u.xen_chgset);
 
     xc_version(ctx->xch, XENVER_platform_parameters, &u.p_parms);
     info->virt_start = u.p_parms.virt_start;
@@ -5297,8 +5298,10 @@ const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx)
     info->pagesize = xc_version(ctx->xch, XENVER_pagesize, NULL);
 
     xc_version(ctx->xch, XENVER_commandline, &u.xen_commandline);
-    info->commandline = strdup(u.xen_commandline);
+    info->commandline = libxl__strdup(NOGC, u.xen_commandline);
 
+ out:
+    GC_FREE;
     return info;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2i-0003aa-J9; Sun, 07 Feb 2016 18:26:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2g-0003aB-Oq
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:38 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	BA/5D-31122-E5C87B65; Sun, 07 Feb 2016 18:26:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1454869596!14446861!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58535 invoked from network); 7 Feb 2016 18:26:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3y-0007hk-Uy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2e-0000wM-Ix
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2e-0000wM-Ix@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:36 +0000
Subject: [Xen-changelog] [xen master] libxc/xc_domain_resume: Update comment.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 882c0b009bf81e94b9a03594351297bdeb0ff0fb
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:30:58 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:17 2016 +0000

    libxc/xc_domain_resume: Update comment.
    
    To hopefully clarify what it meant. Also point out that mechanism
    by which the return 1 value is done is via an intimate knowledge of the
    hypercall ABI (i.e. which register - eax - is the return value).
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/xc_resume.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/tools/libxc/xc_resume.c b/tools/libxc/xc_resume.c
index 87d4324..e692b81 100644
--- a/tools/libxc/xc_resume.c
+++ b/tools/libxc/xc_resume.c
@@ -248,11 +248,20 @@ out:
 /*
  * Resume execution of a domain after suspend shutdown.
  * This can happen in one of two ways:
- *  1. Resume with special return code.
- *  2. Reset guest environment so it believes it is resumed in a new
- *     domain context.
+ *  1. (fast=1) Resume the guest without resetting the domain environment.
+ *     The guests's call to SCHEDOP_shutdown(SHUTDOWN_suspend) will return 1.
+ *
+ *  2. (fast=0) Reset guest environment so it believes it is resumed in a new
+ *     domain context. The guests's call to SCHEDOP_shutdown(SHUTDOWN_suspend)
+ *     will return 0.
+ *
+ * (1) should only by used for guests which can handle the special return
+ * code. Also note that the insertion of the return code is quite interesting
+ * and that the guest MUST be paused - otherwise we would be corrupting
+ * the guest vCPU state.
+ *
  * (2) should be used only for guests which cannot handle the special
- * new return code. (1) is always safe (but slower).
+ * new return code - and it is always safe (but slower).
  */
 int xc_domain_resume(xc_interface *xch, uint32_t domid, int fast)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2i-0003aa-J9; Sun, 07 Feb 2016 18:26:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2g-0003aB-Oq
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:38 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	BA/5D-31122-E5C87B65; Sun, 07 Feb 2016 18:26:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1454869596!14446861!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58535 invoked from network); 7 Feb 2016 18:26:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3y-0007hk-Uy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2e-0000wM-Ix
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2e-0000wM-Ix@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:36 +0000
Subject: [Xen-changelog] [xen master] libxc/xc_domain_resume: Update comment.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 882c0b009bf81e94b9a03594351297bdeb0ff0fb
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:30:58 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:17 2016 +0000

    libxc/xc_domain_resume: Update comment.
    
    To hopefully clarify what it meant. Also point out that mechanism
    by which the return 1 value is done is via an intimate knowledge of the
    hypercall ABI (i.e. which register - eax - is the return value).
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/xc_resume.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/tools/libxc/xc_resume.c b/tools/libxc/xc_resume.c
index 87d4324..e692b81 100644
--- a/tools/libxc/xc_resume.c
+++ b/tools/libxc/xc_resume.c
@@ -248,11 +248,20 @@ out:
 /*
  * Resume execution of a domain after suspend shutdown.
  * This can happen in one of two ways:
- *  1. Resume with special return code.
- *  2. Reset guest environment so it believes it is resumed in a new
- *     domain context.
+ *  1. (fast=1) Resume the guest without resetting the domain environment.
+ *     The guests's call to SCHEDOP_shutdown(SHUTDOWN_suspend) will return 1.
+ *
+ *  2. (fast=0) Reset guest environment so it believes it is resumed in a new
+ *     domain context. The guests's call to SCHEDOP_shutdown(SHUTDOWN_suspend)
+ *     will return 0.
+ *
+ * (1) should only by used for guests which can handle the special return
+ * code. Also note that the insertion of the return code is quite interesting
+ * and that the guest MUST be paused - otherwise we would be corrupting
+ * the guest vCPU state.
+ *
  * (2) should be used only for guests which cannot handle the special
- * new return code. (1) is always safe (but slower).
+ * new return code - and it is always safe (but slower).
  */
 int xc_domain_resume(xc_interface *xch, uint32_t domid, int fast)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2s-0003cC-N6; Sun, 07 Feb 2016 18:26:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2q-0003bv-TP
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:49 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	43/4C-09708-86C87B65; Sun, 07 Feb 2016 18:26:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1454869607!14573726!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27476 invoked from network); 7 Feb 2016 18:26:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU49-0007iL-9h
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2o-0000x9-Rt
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2o-0000x9-Rt@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:46 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: run_helper - add #define
	for arguments.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dfea696c7cab7a8eafcecddca103b610eb51b8df
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:31:00 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:48 2016 +0000

    tools/libxl: run_helper - add #define for arguments.
    
    Describe what the four (or more in the future) arguments
    are for.
    
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 tools/libxl/libxl_save_callout.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 3af99af..45b9727 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -119,13 +119,22 @@ void libxl__save_helper_init(libxl__save_helper_state *shs)
 
 /*----- helper execution -----*/
 
+/*
+ * Both save and restore share four parameters:
+ * 1) Path to libxl-save-helper.
+ * 2) --[restore|save]-domain.
+ * 3) stream file descriptor.
+ * n) save/restore specific parameters.
+ * 4) A \0 at the end.
+ */
+#define HELPER_NR_ARGS 4
 static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
                        const char *mode_arg, int stream_fd,
                        const int *preserve_fds, int num_preserve_fds,
                        const unsigned long *argnums, int num_argnums)
 {
     STATE_AO_GC(shs->ao);
-    const char *args[4 + num_argnums];
+    const char *args[HELPER_NR_ARGS + num_argnums];
     const char **arg = args;
     int i, rc;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:26:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:26:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU2s-0003cC-N6; Sun, 07 Feb 2016 18:26:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2q-0003bv-TP
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:49 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	43/4C-09708-86C87B65; Sun, 07 Feb 2016 18:26:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1454869607!14573726!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27476 invoked from network); 7 Feb 2016 18:26:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU49-0007iL-9h
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2o-0000x9-Rt
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2o-0000x9-Rt@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:46 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: run_helper - add #define
	for arguments.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dfea696c7cab7a8eafcecddca103b610eb51b8df
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Jan 26 16:31:00 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:17:48 2016 +0000

    tools/libxl: run_helper - add #define for arguments.
    
    Describe what the four (or more in the future) arguments
    are for.
    
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 tools/libxl/libxl_save_callout.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_save_callout.c b/tools/libxl/libxl_save_callout.c
index 3af99af..45b9727 100644
--- a/tools/libxl/libxl_save_callout.c
+++ b/tools/libxl/libxl_save_callout.c
@@ -119,13 +119,22 @@ void libxl__save_helper_init(libxl__save_helper_state *shs)
 
 /*----- helper execution -----*/
 
+/*
+ * Both save and restore share four parameters:
+ * 1) Path to libxl-save-helper.
+ * 2) --[restore|save]-domain.
+ * 3) stream file descriptor.
+ * n) save/restore specific parameters.
+ * 4) A \0 at the end.
+ */
+#define HELPER_NR_ARGS 4
 static void run_helper(libxl__egc *egc, libxl__save_helper_state *shs,
                        const char *mode_arg, int stream_fd,
                        const int *preserve_fds, int num_preserve_fds,
                        const unsigned long *argnums, int num_argnums)
 {
     STATE_AO_GC(shs->ao);
-    const char *args[4 + num_argnums];
+    const char *args[HELPER_NR_ARGS + num_argnums];
     const char **arg = args;
     int i, rc;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU32-0003dx-S4; Sun, 07 Feb 2016 18:27:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU31-0003dn-Oz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:59 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	86/89-07165-37C87B65; Sun, 07 Feb 2016 18:26:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1454869617!21781530!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13202 invoked from network); 7 Feb 2016 18:26:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4J-0007iT-Lg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2z-0000y4-8X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2z-0000y4-8X@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:57 +0000
Subject: [Xen-changelog] [xen master] tools/libxc: Provide
	evtchn_port_or_error_t for compat xenctrl interface
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 856967b7e7dabb79b72933cb7d2cd5f5513a5e87
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 1 11:08:03 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:18:10 2016 +0000

    tools/libxc: Provide evtchn_port_or_error_t for compat xenctrl interface
    
    c/s 2d2f789 "tools: rename libxc's evtchn_port_or_error_t with an xc_
    prefix" doesn't cater for older applications which have requested
    XC_WANT_COMPAT_EVTCHN_API
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/include/xenctrl_compat.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxc/include/xenctrl_compat.h b/tools/libxc/include/xenctrl_compat.h
index dc513a3..93ccadb 100644
--- a/tools/libxc/include/xenctrl_compat.h
+++ b/tools/libxc/include/xenctrl_compat.h
@@ -51,6 +51,7 @@ void *xc_map_foreign_bulk(xc_interface *xch, uint32_t dom, int prot,
 #ifdef XC_WANT_COMPAT_EVTCHN_API
 
 typedef struct xenevtchn_handle xc_evtchn;
+typedef xc_evtchn_port_or_error_t evtchn_port_or_error_t;
 
 xc_evtchn *xc_evtchn_open(xentoollog_logger *logger,
                              unsigned open_flags);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU32-0003dx-S4; Sun, 07 Feb 2016 18:27:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU31-0003dn-Oz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:59 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	86/89-07165-37C87B65; Sun, 07 Feb 2016 18:26:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1454869617!21781530!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13202 invoked from network); 7 Feb 2016 18:26:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:26:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4J-0007iT-Lg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU2z-0000y4-8X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:26:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU2z-0000y4-8X@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:26:57 +0000
Subject: [Xen-changelog] [xen master] tools/libxc: Provide
	evtchn_port_or_error_t for compat xenctrl interface
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 856967b7e7dabb79b72933cb7d2cd5f5513a5e87
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 1 11:08:03 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:18:10 2016 +0000

    tools/libxc: Provide evtchn_port_or_error_t for compat xenctrl interface
    
    c/s 2d2f789 "tools: rename libxc's evtchn_port_or_error_t with an xc_
    prefix" doesn't cater for older applications which have requested
    XC_WANT_COMPAT_EVTCHN_API
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/include/xenctrl_compat.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxc/include/xenctrl_compat.h b/tools/libxc/include/xenctrl_compat.h
index dc513a3..93ccadb 100644
--- a/tools/libxc/include/xenctrl_compat.h
+++ b/tools/libxc/include/xenctrl_compat.h
@@ -51,6 +51,7 @@ void *xc_map_foreign_bulk(xc_interface *xch, uint32_t dom, int prot,
 #ifdef XC_WANT_COMPAT_EVTCHN_API
 
 typedef struct xenevtchn_handle xc_evtchn;
+typedef xc_evtchn_port_or_error_t evtchn_port_or_error_t;
 
 xc_evtchn *xc_evtchn_open(xentoollog_logger *logger,
                              unsigned open_flags);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3D-0003ft-0J; Sun, 07 Feb 2016 18:27:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3B-0003ff-PS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:09 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	B2/7D-31122-D7C87B65; Sun, 07 Feb 2016 18:27:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869627!14572224!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44431 invoked from network); 7 Feb 2016 18:27:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4U-0007ib-1b
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU39-0000ys-K4
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU39-0000ys-K4@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:07 +0000
Subject: [Xen-changelog] [xen master] xl: don't free additional memory on
	soft reset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a58aeaabb4d507f4c797d3817d94e3041252b9eb
Author:     Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Thu Jan 28 11:58:25 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:18:38 2016 +0000

    xl: don't free additional memory on soft reset
    
    We don't need to free anything extra from Dom0 in order to perform soft
    reset. It can also fail soft reset if it happens that we don't have this
    memory (which we don't need) available.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 25507c7..20704d2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2867,11 +2867,13 @@ start:
     if (rc < 0)
         goto error_out;
 
-    ret = freemem(domid, &d_config.b_info);
-    if (ret < 0) {
-        fprintf(stderr, "failed to free memory for the domain\n");
-        ret = ERROR_FAIL;
-        goto error_out;
+    if (domid_soft_reset == INVALID_DOMID) {
+        ret = freemem(domid, &d_config.b_info);
+        if (ret < 0) {
+            fprintf(stderr, "failed to free memory for the domain\n");
+            ret = ERROR_FAIL;
+            goto error_out;
+        }
     }
 
     libxl_asyncprogress_how autoconnect_console_how_buf;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3D-0003ft-0J; Sun, 07 Feb 2016 18:27:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3B-0003ff-PS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:09 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	B2/7D-31122-D7C87B65; Sun, 07 Feb 2016 18:27:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869627!14572224!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44431 invoked from network); 7 Feb 2016 18:27:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4U-0007ib-1b
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU39-0000ys-K4
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU39-0000ys-K4@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:07 +0000
Subject: [Xen-changelog] [xen master] xl: don't free additional memory on
	soft reset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a58aeaabb4d507f4c797d3817d94e3041252b9eb
Author:     Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Thu Jan 28 11:58:25 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:18:38 2016 +0000

    xl: don't free additional memory on soft reset
    
    We don't need to free anything extra from Dom0 in order to perform soft
    reset. It can also fail soft reset if it happens that we don't have this
    memory (which we don't need) available.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 25507c7..20704d2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2867,11 +2867,13 @@ start:
     if (rc < 0)
         goto error_out;
 
-    ret = freemem(domid, &d_config.b_info);
-    if (ret < 0) {
-        fprintf(stderr, "failed to free memory for the domain\n");
-        ret = ERROR_FAIL;
-        goto error_out;
+    if (domid_soft_reset == INVALID_DOMID) {
+        ret = freemem(domid, &d_config.b_info);
+        if (ret < 0) {
+            fprintf(stderr, "failed to free memory for the domain\n");
+            ret = ERROR_FAIL;
+            goto error_out;
+        }
     }
 
     libxl_asyncprogress_how autoconnect_console_how_buf;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3O-0003i0-5p; Sun, 07 Feb 2016 18:27:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3M-0003hp-PP
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:20 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	D3/86-08347-88C87B65; Sun, 07 Feb 2016 18:27:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869638!21163103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18564 invoked from network); 7 Feb 2016 18:27:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4e-0007jS-ES
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3J-0000zz-U9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3J-0000zz-U9@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:17 +0000
Subject: [Xen-changelog] [xen master] arm: p2m.c bug-fix: hypervisor hang on
	__p2m_get_mem_access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6b1c74abc90273efaa749022bd5367330d20aab6
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Jan 27 14:24:35 2016 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:20:07 2016 +0000

    arm: p2m.c bug-fix: hypervisor hang on __p2m_get_mem_access
    
    When __p2m_get_mem_access gets called, the p2m lock is already taken
    by either get_page_from_gva or p2m_get_mem_access.
    
    Possible code paths:
    1)	-> get_page_from_gva
    		-> p2m_mem_access_check_and_get_page
    			-> __p2m_get_mem_access
    2)	-> p2m_get_mem_access
    		-> __p2m_get_mem_access
    
    In both cases if __p2m_get_mem_access subsequently gets to
    call p2m_lookup (happens if !radix_tree_lookup(...)), a hypervisor
    hang will occur, since p2m_lookup also spin-locks on the p2m lock.
    
    This bug-fix simply replaces the p2m_lookup call from __p2m_get_mem_access
    with a call to __p2m_lookup.
    
    Following Ian's suggestion, we also add an ASSERT to ensure that
    the p2m lock is taken upon __p2m_get_mem_access entry.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/p2m.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 2190908..e8e6db4 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -468,6 +468,8 @@ static int __p2m_get_mem_access(struct domain *d, gfn_t gfn,
 #undef ACCESS
     };
 
+    ASSERT(spin_is_locked(&p2m->lock));
+
     /* If no setting was ever set, just return rwx. */
     if ( !p2m->mem_access_enabled )
     {
@@ -490,7 +492,7 @@ static int __p2m_get_mem_access(struct domain *d, gfn_t gfn,
          * No setting was found in the Radix tree. Check if the
          * entry exists in the page-tables.
          */
-        paddr_t maddr = p2m_lookup(d, gfn_x(gfn) << PAGE_SHIFT, NULL);
+        paddr_t maddr = __p2m_lookup(d, gfn_x(gfn) << PAGE_SHIFT, NULL);
         if ( INVALID_PADDR == maddr )
             return -ESRCH;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3O-0003i0-5p; Sun, 07 Feb 2016 18:27:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3M-0003hp-PP
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:20 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	D3/86-08347-88C87B65; Sun, 07 Feb 2016 18:27:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869638!21163103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18564 invoked from network); 7 Feb 2016 18:27:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4e-0007jS-ES
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3J-0000zz-U9
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3J-0000zz-U9@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:17 +0000
Subject: [Xen-changelog] [xen master] arm: p2m.c bug-fix: hypervisor hang on
	__p2m_get_mem_access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6b1c74abc90273efaa749022bd5367330d20aab6
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Jan 27 14:24:35 2016 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:20:07 2016 +0000

    arm: p2m.c bug-fix: hypervisor hang on __p2m_get_mem_access
    
    When __p2m_get_mem_access gets called, the p2m lock is already taken
    by either get_page_from_gva or p2m_get_mem_access.
    
    Possible code paths:
    1)	-> get_page_from_gva
    		-> p2m_mem_access_check_and_get_page
    			-> __p2m_get_mem_access
    2)	-> p2m_get_mem_access
    		-> __p2m_get_mem_access
    
    In both cases if __p2m_get_mem_access subsequently gets to
    call p2m_lookup (happens if !radix_tree_lookup(...)), a hypervisor
    hang will occur, since p2m_lookup also spin-locks on the p2m lock.
    
    This bug-fix simply replaces the p2m_lookup call from __p2m_get_mem_access
    with a call to __p2m_lookup.
    
    Following Ian's suggestion, we also add an ASSERT to ensure that
    the p2m lock is taken upon __p2m_get_mem_access entry.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/p2m.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 2190908..e8e6db4 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -468,6 +468,8 @@ static int __p2m_get_mem_access(struct domain *d, gfn_t gfn,
 #undef ACCESS
     };
 
+    ASSERT(spin_is_locked(&p2m->lock));
+
     /* If no setting was ever set, just return rwx. */
     if ( !p2m->mem_access_enabled )
     {
@@ -490,7 +492,7 @@ static int __p2m_get_mem_access(struct domain *d, gfn_t gfn,
          * No setting was found in the Radix tree. Check if the
          * entry exists in the page-tables.
          */
-        paddr_t maddr = p2m_lookup(d, gfn_x(gfn) << PAGE_SHIFT, NULL);
+        paddr_t maddr = __p2m_lookup(d, gfn_x(gfn) << PAGE_SHIFT, NULL);
         if ( INVALID_PADDR == maddr )
             return -ESRCH;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3Y-0003jW-An; Sun, 07 Feb 2016 18:27:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3W-0003jD-N5
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:30 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	57/E0-21901-29C87B65; Sun, 07 Feb 2016 18:27:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1454869648!20541040!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12835 invoked from network); 7 Feb 2016 18:27:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4o-0007ja-O0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:50 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3U-00010b-Ar
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3U-00010b-Ar@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:28 +0000
Subject: [Xen-changelog] [xen master] libxl: Add CPU hotplug support for HVM
	domains without device model
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 21e19ae558300daed6cde53285ffd841dd59aa50
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Tue Feb 2 16:02:12 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:20:58 2016 +0000

    libxl: Add CPU hotplug support for HVM domains without device model
    
    HVMlite domains add/remove VCPUs by toggling "availability" property in
    xenstore.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 82a91eb..2d18b8d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -5560,6 +5560,7 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, libxl_bitmap *cpumap)
     case LIBXL_DOMAIN_TYPE_HVM:
         switch (libxl__device_model_version_running(gc, domid)) {
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
+        case LIBXL_DEVICE_MODEL_VERSION_NONE:
             rc = libxl__set_vcpuonline_xenstore(gc, domid, cpumap, &info);
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3Y-0003jW-An; Sun, 07 Feb 2016 18:27:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3W-0003jD-N5
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:30 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	57/E0-21901-29C87B65; Sun, 07 Feb 2016 18:27:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1454869648!20541040!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12835 invoked from network); 7 Feb 2016 18:27:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4o-0007ja-O0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:50 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3U-00010b-Ar
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3U-00010b-Ar@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:28 +0000
Subject: [Xen-changelog] [xen master] libxl: Add CPU hotplug support for HVM
	domains without device model
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 21e19ae558300daed6cde53285ffd841dd59aa50
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Tue Feb 2 16:02:12 2016 -0500
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:20:58 2016 +0000

    libxl: Add CPU hotplug support for HVM domains without device model
    
    HVMlite domains add/remove VCPUs by toggling "availability" property in
    xenstore.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 82a91eb..2d18b8d 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -5560,6 +5560,7 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, libxl_bitmap *cpumap)
     case LIBXL_DOMAIN_TYPE_HVM:
         switch (libxl__device_model_version_running(gc, domid)) {
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
+        case LIBXL_DEVICE_MODEL_VERSION_NONE:
             rc = libxl__set_vcpuonline_xenstore(gc, domid, cpumap, &info);
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3i-0003l0-Es; Sun, 07 Feb 2016 18:27:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3g-0003kp-TT
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:41 +0000
Content-Length: 2196
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	17/6C-09708-C9C87B65; Sun, 07 Feb 2016 18:27:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1454869659!14425555!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16083 invoked from network); 7 Feb 2016 18:27:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4z-0007jw-6F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3e-00011d-N0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3e-00011d-N0@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:38 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak in
	xc_dom_load_hvm_kernel error path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4638323794114454492=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============4638323794114454492==
Content-Length: 1795
Content-Transfer-Encoding: quoted-printable

commit e260c1c90583c2fc3099dda6155ffa484d10ae6e
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Wed Feb 3 11:59:57 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:22:13 2016 +0000

    libxc: fix leak in xc_dom_load_hvm_kernel error path
    
    Error path in xc_dom_load_hvm_kernel needs to use the 'error' label instead
    of directly returning. This is needed so the entries local variable is
    freed.
    
    Coverity-ID: 1351227
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_hvmloader.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_hvmloader.c b/tools/libxc/xc_dom_hvmloader.c
index 79a3b99..330d5e8 100644
--- a/tools/libxc/xc_dom_hvmloader.c
+++ b/tools/libxc/xc_dom_hvmloader.c
@@ -257,7 +257,7 @@ static elf_errorstatus xc_dom_load_hvm_kernel(struct xc_dom_image *dom)
     if ( rc < 0 )
     {
         DOMPRINTF("%s: failed to load elf binary", __func__);
-        return rc;
+        goto error;
     }
 
     munmap(elf->dest_base, elf->dest_size);
@@ -267,14 +267,14 @@ static elf_errorstatus xc_dom_load_hvm_kernel(struct xc_dom_image *dom)
     if ( rc !=3D 0 )
     {
         DOMPRINTF("%s: insufficient space to load modules.", __func__);
-        return rc;
+        goto error;
     }
 
     rc =3D loadmodules(dom, m_start, m_end, dom->guest_domid);
     if ( rc !=3D 0 )
     {
         DOMPRINTF("%s: unable to load modules.", __func__);
-        return rc;
+        goto error;
     }
 
     dom->parms.phys_entry =3D elf_uval(elf, elf->ehdr, e_entry);
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============4638323794114454492==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============4638323794114454492==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3i-0003l0-Es; Sun, 07 Feb 2016 18:27:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3g-0003kp-TT
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:41 +0000
Content-Length: 2196
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	17/6C-09708-C9C87B65; Sun, 07 Feb 2016 18:27:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1454869659!14425555!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16083 invoked from network); 7 Feb 2016 18:27:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4z-0007jw-6F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3e-00011d-N0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3e-00011d-N0@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:38 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak in
	xc_dom_load_hvm_kernel error path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4638323794114454492=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============4638323794114454492==
Content-Length: 1795
Content-Transfer-Encoding: quoted-printable

commit e260c1c90583c2fc3099dda6155ffa484d10ae6e
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Wed Feb 3 11:59:57 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:22:13 2016 +0000

    libxc: fix leak in xc_dom_load_hvm_kernel error path
    
    Error path in xc_dom_load_hvm_kernel needs to use the 'error' label instead
    of directly returning. This is needed so the entries local variable is
    freed.
    
    Coverity-ID: 1351227
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_hvmloader.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_hvmloader.c b/tools/libxc/xc_dom_hvmloader.c
index 79a3b99..330d5e8 100644
--- a/tools/libxc/xc_dom_hvmloader.c
+++ b/tools/libxc/xc_dom_hvmloader.c
@@ -257,7 +257,7 @@ static elf_errorstatus xc_dom_load_hvm_kernel(struct xc_dom_image *dom)
     if ( rc < 0 )
     {
         DOMPRINTF("%s: failed to load elf binary", __func__);
-        return rc;
+        goto error;
     }
 
     munmap(elf->dest_base, elf->dest_size);
@@ -267,14 +267,14 @@ static elf_errorstatus xc_dom_load_hvm_kernel(struct xc_dom_image *dom)
     if ( rc !=3D 0 )
     {
         DOMPRINTF("%s: insufficient space to load modules.", __func__);
-        return rc;
+        goto error;
     }
 
     rc =3D loadmodules(dom, m_start, m_end, dom->guest_domid);
     if ( rc !=3D 0 )
     {
         DOMPRINTF("%s: unable to load modules.", __func__);
-        return rc;
+        goto error;
     }
 
     dom->parms.phys_entry =3D elf_uval(elf, elf->ehdr, e_entry);
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============4638323794114454492==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============4638323794114454492==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3s-0003nJ-MC; Sun, 07 Feb 2016 18:27:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3r-0003n2-Ko
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	17/09-28228-6AC87B65; Sun, 07 Feb 2016 18:27:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1454869669!22011941!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9390 invoked from network); 7 Feb 2016 18:27:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU59-0007kI-G8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3p-00013H-3A
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3p-00013H-3A@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:49 +0000
Subject: [Xen-changelog] [xen master] tools: xenconsole: cleanup when
	clock_gettime fails.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e403ca3da791bf2a6001d1fc3d7def180c0e439
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:43:47 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:22:45 2016 +0000

    tools: xenconsole: cleanup when clock_gettime fails.
    
    All other error paths in the infinite loop in handle_io use break, so
    as to free resources.
    
    CID: 1351226
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/console/daemon/io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index e2e7a6b..34666c4 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -1053,7 +1053,7 @@ void handle_io(void)
 						 POLLIN|POLLPRI);
 
 		if (clock_gettime(CLOCK_MONOTONIC, &ts) < 0)
-			return;
+			break;
 		now = ((long long)ts.tv_sec * 1000) + (ts.tv_nsec / 1000000);
 
 		/* Re-calculate any event counter allowances & unblock
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:27:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU3s-0003nJ-MC; Sun, 07 Feb 2016 18:27:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3r-0003n2-Ko
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	17/09-28228-6AC87B65; Sun, 07 Feb 2016 18:27:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1454869669!22011941!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9390 invoked from network); 7 Feb 2016 18:27:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:27:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU59-0007kI-G8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3p-00013H-3A
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3p-00013H-3A@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:49 +0000
Subject: [Xen-changelog] [xen master] tools: xenconsole: cleanup when
	clock_gettime fails.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e403ca3da791bf2a6001d1fc3d7def180c0e439
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:43:47 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:22:45 2016 +0000

    tools: xenconsole: cleanup when clock_gettime fails.
    
    All other error paths in the infinite loop in handle_io use break, so
    as to free resources.
    
    CID: 1351226
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/console/daemon/io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index e2e7a6b..34666c4 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -1053,7 +1053,7 @@ void handle_io(void)
 						 POLLIN|POLLPRI);
 
 		if (clock_gettime(CLOCK_MONOTONIC, &ts) < 0)
-			return;
+			break;
 		now = ((long long)ts.tv_sec * 1000) + (ts.tv_nsec / 1000000);
 
 		/* Re-calculate any event counter allowances & unblock
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU42-0003p4-QJ; Sun, 07 Feb 2016 18:28:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU41-0003oo-HM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:01 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	10/22-08977-0BC87B65; Sun, 07 Feb 2016 18:28:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869679!14572274!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46490 invoked from network); 7 Feb 2016 18:28:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5J-0007kR-Nn
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3z-000142-Ab
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3z-000142-Ab@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:59 +0000
Subject: [Xen-changelog] [xen master] libxenforeignmemory: handle partial
	failure correctly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc449379d9932c2fec23c5b8e838e01c837660a7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:10:01 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:23:08 2016 +0000

    libxenforeignmemory: handle partial failure correctly
    
    Coverity rightly points out that checking for ret == NULL and then
    calling osdep unmap(ret) is wrong.
    
    The intention on this code path is to turn partial failure into total
    failure when the err argument is NULL, so we want to take this patch
    whenever ret is _non_ NULL (and err_to_free is set, indicating err was
    NULL).
    
    CID: 1351219
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libs/foreignmemory/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c
index cfb0a73..a5110a7 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -78,7 +78,7 @@ void *xenforeignmemory_map(xenforeignmemory_handle *fmem,
 
     ret = osdep_xenforeignmemory_map(fmem, dom, prot, num, arr, err);
 
-    if ( ret == 0 && err_to_free )
+    if ( ret && err_to_free )
     {
         int i;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU42-0003p4-QJ; Sun, 07 Feb 2016 18:28:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU41-0003oo-HM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:01 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	10/22-08977-0BC87B65; Sun, 07 Feb 2016 18:28:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1454869679!14572274!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46490 invoked from network); 7 Feb 2016 18:28:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5J-0007kR-Nn
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU3z-000142-Ab
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:27:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU3z-000142-Ab@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:27:59 +0000
Subject: [Xen-changelog] [xen master] libxenforeignmemory: handle partial
	failure correctly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc449379d9932c2fec23c5b8e838e01c837660a7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:10:01 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:23:08 2016 +0000

    libxenforeignmemory: handle partial failure correctly
    
    Coverity rightly points out that checking for ret == NULL and then
    calling osdep unmap(ret) is wrong.
    
    The intention on this code path is to turn partial failure into total
    failure when the err argument is NULL, so we want to take this patch
    whenever ret is _non_ NULL (and err_to_free is set, indicating err was
    NULL).
    
    CID: 1351219
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libs/foreignmemory/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c
index cfb0a73..a5110a7 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -78,7 +78,7 @@ void *xenforeignmemory_map(xenforeignmemory_handle *fmem,
 
     ret = osdep_xenforeignmemory_map(fmem, dom, prot, num, arr, err);
 
-    if ( ret == 0 && err_to_free )
+    if ( ret && err_to_free )
     {
         int i;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4D-0003rU-W0; Sun, 07 Feb 2016 18:28:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4C-0003rC-CI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:12 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	CB/0C-21594-BBC87B65; Sun, 07 Feb 2016 18:28:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869690!20866330!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15285 invoked from network); 7 Feb 2016 18:28:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5U-0007kZ-Db
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU49-00014c-Lf
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU49-00014c-Lf@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:09 +0000
Subject: [Xen-changelog] [xen master] tools: libxencall/foreignmemory:
	initialise handle->fd
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7db1f6a67da2ba4997ad2079f0c652b3a18fd9d5
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:09:42 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:23:43 2016 +0000

    tools: libxencall/foreignmemory: initialise handle->fd
    
    Otherwise the osdep close on the error path touches an uninitialised
    varialble.
    
    CID: 1351231 (foreignmemory) and 1351230 (call)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libs/call/core.c          | 2 ++
 tools/libs/foreignmemory/core.c | 1 +
 2 files changed, 3 insertions(+)

diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index bbf88de..5ca0372 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -24,6 +24,8 @@ xencall_handle *xencall_open(xentoollog_logger *logger, unsigned open_flags)
 
     if (!xcall) return NULL;
 
+    xcall->fd = -1;
+
     xcall->flags = open_flags;
     xcall->buffer_cache_nr = 0;
 
diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c
index a5110a7..a872b95 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -27,6 +27,7 @@ xenforeignmemory_handle *xenforeignmemory_open(xentoollog_logger *logger,
 
     if (!fmem) return NULL;
 
+    fmem->fd = -1;
     fmem->logger = logger;
     fmem->logger_tofree = NULL;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4D-0003rU-W0; Sun, 07 Feb 2016 18:28:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4C-0003rC-CI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:12 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	CB/0C-21594-BBC87B65; Sun, 07 Feb 2016 18:28:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1454869690!20866330!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15285 invoked from network); 7 Feb 2016 18:28:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5U-0007kZ-Db
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU49-00014c-Lf
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU49-00014c-Lf@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:09 +0000
Subject: [Xen-changelog] [xen master] tools: libxencall/foreignmemory:
	initialise handle->fd
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7db1f6a67da2ba4997ad2079f0c652b3a18fd9d5
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 10:09:42 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:23:43 2016 +0000

    tools: libxencall/foreignmemory: initialise handle->fd
    
    Otherwise the osdep close on the error path touches an uninitialised
    varialble.
    
    CID: 1351231 (foreignmemory) and 1351230 (call)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libs/call/core.c          | 2 ++
 tools/libs/foreignmemory/core.c | 1 +
 2 files changed, 3 insertions(+)

diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index bbf88de..5ca0372 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -24,6 +24,8 @@ xencall_handle *xencall_open(xentoollog_logger *logger, unsigned open_flags)
 
     if (!xcall) return NULL;
 
+    xcall->fd = -1;
+
     xcall->flags = open_flags;
     xcall->buffer_cache_nr = 0;
 
diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c
index a5110a7..a872b95 100644
--- a/tools/libs/foreignmemory/core.c
+++ b/tools/libs/foreignmemory/core.c
@@ -27,6 +27,7 @@ xenforeignmemory_handle *xenforeignmemory_open(xentoollog_logger *logger,
 
     if (!fmem) return NULL;
 
+    fmem->fd = -1;
     fmem->logger = logger;
     fmem->logger_tofree = NULL;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4P-0003t2-4V; Sun, 07 Feb 2016 18:28:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4N-0003so-D6
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:23 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	2A/BD-03066-6CC87B65; Sun, 07 Feb 2016 18:28:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1454869700!20835961!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18670 invoked from network); 7 Feb 2016 18:28:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5e-0007lD-Qo
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4K-00015K-AK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4K-00015K-AK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:20 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: improve logging on domain
	create failure.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 164bc9aecc94922f87bf0f740e2ce1b0af35cb29
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jan 26 14:38:46 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:24:19 2016 +0000

    tools/libxl: improve logging on domain create failure.
    
    A user reported[0] that xl create failed with just:
        libxl: error: libxl_create.c:892:initiate_domain_create: Unable to set domain build info defaults
    and some resulting fallout, but without indicating why it was unable
    to set the defaults, even in verbose mode[1].
    
    Go through libxl__domain_{create,build}_info_setdefault and ensure
    that each error path logs something.
    
    In most cases this involved simply adding a call to LOG.
    
    In two cases this involved switching from strdup to
    libxl__strdup(NOGC) and removing the existing error handling.
    
    When switching from qemu-xen to qemu-xen-traditional (because the
    former is not available) log at level INFO rather than VERBOSE, so
    the message would normally be printed. Also tweak the language here.
    
    I'm not sure all these messages are reachable (some might be shadowed
    by previous error paths) but it seems better to err on the side of
    caution.
    
    [0] http://lists.xen.org/archives/html/xen-users/2016-01/msg00125.html
    [1] http://lists.xen.org/archives/html/xen-users/2016-01/msg00129.html
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Cc: suse.dev@fea.st
---
 tools/libxl/libxl_create.c | 48 +++++++++++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 18 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index e491d83..de5d27f 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -30,8 +30,10 @@
 int libxl__domain_create_info_setdefault(libxl__gc *gc,
                                          libxl_domain_create_info *c_info)
 {
-    if (!c_info->type)
+    if (!c_info->type) {
+        LOG(ERROR, "domain type unspecified");
         return ERROR_INVAL;
+    }
 
     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         libxl_defbool_setdefault(&c_info->hap, true);
@@ -66,8 +68,10 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     int i;
 
     if (b_info->type != LIBXL_DOMAIN_TYPE_HVM &&
-        b_info->type != LIBXL_DOMAIN_TYPE_PV)
+        b_info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(ERROR, "invalid domain type");
         return ERROR_INVAL;
+    }
 
     libxl_defbool_setdefault(&b_info->device_model_stubdomain, false);
 
@@ -97,8 +101,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             if (rc < 0) {
                 /* qemu-xen unavailable, use qemu-xen-traditional */
                 if (errno == ENOENT) {
-                    LOGE(VERBOSE, "qemu-xen is unavailable"
-                         ", use qemu-xen-traditional instead");
+                    LOGE(INFO, "qemu-xen is unavailable"
+                         ", using qemu-xen-traditional instead");
                     b_info->device_model_version =
                         LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
                 } else {
@@ -121,18 +125,24 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
                 b_info->u.hvm.bios = LIBXL_BIOS_TYPE_SEABIOS; break;
             case LIBXL_DEVICE_MODEL_VERSION_NONE:
                 break;
-            default:return ERROR_INVAL;
+            default:
+                LOG(ERROR, "unknown device model version");
+                return ERROR_INVAL;
             }
 
         /* Enforce BIOS<->Device Model version relationship */
         switch (b_info->device_model_version) {
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            if (b_info->u.hvm.bios != LIBXL_BIOS_TYPE_ROMBIOS)
+            if (b_info->u.hvm.bios != LIBXL_BIOS_TYPE_ROMBIOS) {
+                LOG(ERROR, "qemu-xen-traditional requires bios=rombios.");
                 return ERROR_INVAL;
+            }
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            if (b_info->u.hvm.bios == LIBXL_BIOS_TYPE_ROMBIOS)
+            if (b_info->u.hvm.bios == LIBXL_BIOS_TYPE_ROMBIOS) {
+                LOG(ERROR, "qemu-xen does not support bios=rombios.");
                 return ERROR_INVAL;
+            }
             break;
         case LIBXL_DEVICE_MODEL_VERSION_NONE:
             break;
@@ -160,19 +170,25 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
     if (!b_info->avail_vcpus.size) {
-        if (libxl_cpu_bitmap_alloc(CTX, &b_info->avail_vcpus, 1))
+        if (libxl_cpu_bitmap_alloc(CTX, &b_info->avail_vcpus, 1)) {
+            LOG(ERROR, "unable to allocate avail_vcpus bitmap");
             return ERROR_FAIL;
+        }
         libxl_bitmap_set(&b_info->avail_vcpus, 0);
-    } else if (b_info->avail_vcpus.size > HVM_MAX_VCPUS)
+    } else if (b_info->avail_vcpus.size > HVM_MAX_VCPUS) {
+        LOG(ERROR, "avail_vcpus bitmap contains too many VCPUS");
         return ERROR_FAIL;
+    }
 
     /* In libxl internals, we want to deal with vcpu_hard_affinity only! */
     if (b_info->cpumap.size && !b_info->num_vcpu_hard_affinity) {
         b_info->vcpu_hard_affinity = libxl__calloc(gc, b_info->max_vcpus,
                                                    sizeof(libxl_bitmap));
         for (i = 0; i < b_info->max_vcpus; i++) {
-            if (libxl_cpu_bitmap_alloc(CTX, &b_info->vcpu_hard_affinity[i], 0))
+            if (libxl_cpu_bitmap_alloc(CTX, &b_info->vcpu_hard_affinity[i], 0)) {
+                LOG(ERROR, "failed to allocate vcpu hard affinity bitmap");
                 return ERROR_FAIL;
+            }
             libxl_bitmap_copy(CTX, &b_info->vcpu_hard_affinity[i],
                               &b_info->cpumap);
         }
@@ -318,18 +334,14 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             return ERROR_INVAL;
         }
 
-        if (!b_info->u.hvm.boot) {
-            b_info->u.hvm.boot = strdup("cda");
-            if (!b_info->u.hvm.boot) return ERROR_NOMEM;
-        }
+        if (!b_info->u.hvm.boot)
+            b_info->u.hvm.boot = libxl__strdup(NOGC, "cda");
 
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
-            if (!b_info->u.hvm.vnc.listen) {
-                b_info->u.hvm.vnc.listen = strdup("127.0.0.1");
-                if (!b_info->u.hvm.vnc.listen) return ERROR_NOMEM;
-            }
+            if (!b_info->u.hvm.vnc.listen)
+                b_info->u.hvm.vnc.listen = libxl__strdup(NOGC, "127.0.0.1");
         }
 
         libxl_defbool_setdefault(&b_info->u.hvm.sdl.enable, false);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4P-0003t2-4V; Sun, 07 Feb 2016 18:28:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4N-0003so-D6
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:23 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	2A/BD-03066-6CC87B65; Sun, 07 Feb 2016 18:28:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1454869700!20835961!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18670 invoked from network); 7 Feb 2016 18:28:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5e-0007lD-Qo
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4K-00015K-AK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4K-00015K-AK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:20 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: improve logging on domain
	create failure.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 164bc9aecc94922f87bf0f740e2ce1b0af35cb29
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jan 26 14:38:46 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:24:19 2016 +0000

    tools/libxl: improve logging on domain create failure.
    
    A user reported[0] that xl create failed with just:
        libxl: error: libxl_create.c:892:initiate_domain_create: Unable to set domain build info defaults
    and some resulting fallout, but without indicating why it was unable
    to set the defaults, even in verbose mode[1].
    
    Go through libxl__domain_{create,build}_info_setdefault and ensure
    that each error path logs something.
    
    In most cases this involved simply adding a call to LOG.
    
    In two cases this involved switching from strdup to
    libxl__strdup(NOGC) and removing the existing error handling.
    
    When switching from qemu-xen to qemu-xen-traditional (because the
    former is not available) log at level INFO rather than VERBOSE, so
    the message would normally be printed. Also tweak the language here.
    
    I'm not sure all these messages are reachable (some might be shadowed
    by previous error paths) but it seems better to err on the side of
    caution.
    
    [0] http://lists.xen.org/archives/html/xen-users/2016-01/msg00125.html
    [1] http://lists.xen.org/archives/html/xen-users/2016-01/msg00129.html
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Cc: suse.dev@fea.st
---
 tools/libxl/libxl_create.c | 48 +++++++++++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 18 deletions(-)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index e491d83..de5d27f 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -30,8 +30,10 @@
 int libxl__domain_create_info_setdefault(libxl__gc *gc,
                                          libxl_domain_create_info *c_info)
 {
-    if (!c_info->type)
+    if (!c_info->type) {
+        LOG(ERROR, "domain type unspecified");
         return ERROR_INVAL;
+    }
 
     if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         libxl_defbool_setdefault(&c_info->hap, true);
@@ -66,8 +68,10 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     int i;
 
     if (b_info->type != LIBXL_DOMAIN_TYPE_HVM &&
-        b_info->type != LIBXL_DOMAIN_TYPE_PV)
+        b_info->type != LIBXL_DOMAIN_TYPE_PV) {
+        LOG(ERROR, "invalid domain type");
         return ERROR_INVAL;
+    }
 
     libxl_defbool_setdefault(&b_info->device_model_stubdomain, false);
 
@@ -97,8 +101,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             if (rc < 0) {
                 /* qemu-xen unavailable, use qemu-xen-traditional */
                 if (errno == ENOENT) {
-                    LOGE(VERBOSE, "qemu-xen is unavailable"
-                         ", use qemu-xen-traditional instead");
+                    LOGE(INFO, "qemu-xen is unavailable"
+                         ", using qemu-xen-traditional instead");
                     b_info->device_model_version =
                         LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL;
                 } else {
@@ -121,18 +125,24 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
                 b_info->u.hvm.bios = LIBXL_BIOS_TYPE_SEABIOS; break;
             case LIBXL_DEVICE_MODEL_VERSION_NONE:
                 break;
-            default:return ERROR_INVAL;
+            default:
+                LOG(ERROR, "unknown device model version");
+                return ERROR_INVAL;
             }
 
         /* Enforce BIOS<->Device Model version relationship */
         switch (b_info->device_model_version) {
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL:
-            if (b_info->u.hvm.bios != LIBXL_BIOS_TYPE_ROMBIOS)
+            if (b_info->u.hvm.bios != LIBXL_BIOS_TYPE_ROMBIOS) {
+                LOG(ERROR, "qemu-xen-traditional requires bios=rombios.");
                 return ERROR_INVAL;
+            }
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            if (b_info->u.hvm.bios == LIBXL_BIOS_TYPE_ROMBIOS)
+            if (b_info->u.hvm.bios == LIBXL_BIOS_TYPE_ROMBIOS) {
+                LOG(ERROR, "qemu-xen does not support bios=rombios.");
                 return ERROR_INVAL;
+            }
             break;
         case LIBXL_DEVICE_MODEL_VERSION_NONE:
             break;
@@ -160,19 +170,25 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
     if (!b_info->max_vcpus)
         b_info->max_vcpus = 1;
     if (!b_info->avail_vcpus.size) {
-        if (libxl_cpu_bitmap_alloc(CTX, &b_info->avail_vcpus, 1))
+        if (libxl_cpu_bitmap_alloc(CTX, &b_info->avail_vcpus, 1)) {
+            LOG(ERROR, "unable to allocate avail_vcpus bitmap");
             return ERROR_FAIL;
+        }
         libxl_bitmap_set(&b_info->avail_vcpus, 0);
-    } else if (b_info->avail_vcpus.size > HVM_MAX_VCPUS)
+    } else if (b_info->avail_vcpus.size > HVM_MAX_VCPUS) {
+        LOG(ERROR, "avail_vcpus bitmap contains too many VCPUS");
         return ERROR_FAIL;
+    }
 
     /* In libxl internals, we want to deal with vcpu_hard_affinity only! */
     if (b_info->cpumap.size && !b_info->num_vcpu_hard_affinity) {
         b_info->vcpu_hard_affinity = libxl__calloc(gc, b_info->max_vcpus,
                                                    sizeof(libxl_bitmap));
         for (i = 0; i < b_info->max_vcpus; i++) {
-            if (libxl_cpu_bitmap_alloc(CTX, &b_info->vcpu_hard_affinity[i], 0))
+            if (libxl_cpu_bitmap_alloc(CTX, &b_info->vcpu_hard_affinity[i], 0)) {
+                LOG(ERROR, "failed to allocate vcpu hard affinity bitmap");
                 return ERROR_FAIL;
+            }
             libxl_bitmap_copy(CTX, &b_info->vcpu_hard_affinity[i],
                               &b_info->cpumap);
         }
@@ -318,18 +334,14 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             return ERROR_INVAL;
         }
 
-        if (!b_info->u.hvm.boot) {
-            b_info->u.hvm.boot = strdup("cda");
-            if (!b_info->u.hvm.boot) return ERROR_NOMEM;
-        }
+        if (!b_info->u.hvm.boot)
+            b_info->u.hvm.boot = libxl__strdup(NOGC, "cda");
 
         libxl_defbool_setdefault(&b_info->u.hvm.vnc.enable, true);
         if (libxl_defbool_val(b_info->u.hvm.vnc.enable)) {
             libxl_defbool_setdefault(&b_info->u.hvm.vnc.findunused, true);
-            if (!b_info->u.hvm.vnc.listen) {
-                b_info->u.hvm.vnc.listen = strdup("127.0.0.1");
-                if (!b_info->u.hvm.vnc.listen) return ERROR_NOMEM;
-            }
+            if (!b_info->u.hvm.vnc.listen)
+                b_info->u.hvm.vnc.listen = libxl__strdup(NOGC, "127.0.0.1");
         }
 
         libxl_defbool_setdefault(&b_info->u.hvm.sdl.enable, false);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4Z-0003ug-Am; Sun, 07 Feb 2016 18:28:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4X-0003uN-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:33 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	FB/44-25438-0DC87B65; Sun, 07 Feb 2016 18:28:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1454869711!22121917!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7566 invoked from network); 7 Feb 2016 18:28:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5p-0007lL-8Z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4U-00016Q-Ox
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4U-00016Q-Ox@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:30 +0000
Subject: [Xen-changelog] [xen master] xenstore: add stddef.h to
	xenstore_lib.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0f2b207d464f6b2a3508934a86b79557d3d0f0fd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jan 27 17:06:09 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:24:54 2016 +0000

    xenstore: add stddef.h to xenstore_lib.h
    
    xs_perm_to_string takes a size_t which isn't defined by anything
    pulled in directly by this header.
    
    Given the other headers xenstore_lib.h pulls in this looks to be an
    oversight rather than a deliberate policy.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenstore/include/xenstore_lib.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenstore/include/xenstore_lib.h b/tools/xenstore/include/xenstore_lib.h
index 5a10c6c..462b7b9 100644
--- a/tools/xenstore/include/xenstore_lib.h
+++ b/tools/xenstore/include/xenstore_lib.h
@@ -19,6 +19,7 @@
 #ifndef XENSTORE_LIB_H
 #define XENSTORE_LIB_H
 
+#include <stddef.h>
 #include <stdbool.h>
 #include <limits.h>
 #include <errno.h>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4Z-0003ug-Am; Sun, 07 Feb 2016 18:28:35 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4X-0003uN-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:33 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	FB/44-25438-0DC87B65; Sun, 07 Feb 2016 18:28:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1454869711!22121917!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7566 invoked from network); 7 Feb 2016 18:28:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5p-0007lL-8Z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4U-00016Q-Ox
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4U-00016Q-Ox@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:30 +0000
Subject: [Xen-changelog] [xen master] xenstore: add stddef.h to
	xenstore_lib.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0f2b207d464f6b2a3508934a86b79557d3d0f0fd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jan 27 17:06:09 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:24:54 2016 +0000

    xenstore: add stddef.h to xenstore_lib.h
    
    xs_perm_to_string takes a size_t which isn't defined by anything
    pulled in directly by this header.
    
    Given the other headers xenstore_lib.h pulls in this looks to be an
    oversight rather than a deliberate policy.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenstore/include/xenstore_lib.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenstore/include/xenstore_lib.h b/tools/xenstore/include/xenstore_lib.h
index 5a10c6c..462b7b9 100644
--- a/tools/xenstore/include/xenstore_lib.h
+++ b/tools/xenstore/include/xenstore_lib.h
@@ -19,6 +19,7 @@
 #ifndef XENSTORE_LIB_H
 #define XENSTORE_LIB_H
 
+#include <stddef.h>
 #include <stdbool.h>
 #include <limits.h>
 #include <errno.h>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:44 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4i-0003wX-IW; Sun, 07 Feb 2016 18:28:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4h-0003wI-Bl
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:43 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	05/BD-31122-ADC87B65; Sun, 07 Feb 2016 18:28:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1454869721!14440926!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60982 invoked from network); 7 Feb 2016 18:28:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5z-0007mS-JS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4f-00017C-6X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4f-00017C-6X@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:41 +0000
Subject: [Xen-changelog] [xen master] arm/smpboot: Move dt specific code in
	smp to seperate functions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit eaf1de3d66de73508895fee947e229b539ff3ac5
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:16 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:57:13 2016 +0000

    arm/smpboot: Move dt specific code in smp to seperate functions
    
    Partition smp initialization functions into generic and dt specific
    parts, this will be useful when introducing new functions for smp
    initialization based on acpi.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/arm64/smpboot.c |  7 ++++++-
 xen/arch/arm/smpboot.c       | 29 ++++++++++++++++++-----------
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 62e6abb..7928f69 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -70,7 +70,7 @@ int __init arch_smp_init(void)
     return 0;
 }
 
-int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
+static int __init dt_arch_cpu_init(int cpu, struct dt_device_node *dn)
 {
     const char *enable_method;
 
@@ -94,6 +94,11 @@ int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
     return 0;
 }
 
+int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
+{
+    return dt_arch_cpu_init(cpu, dn);
+}
+
 int __init arch_cpu_up(int cpu)
 {
     if ( !smp_enable_ops[cpu].prepare_cpu )
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 00b2b2a..b6119d1 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -92,7 +92,7 @@ smp_clear_cpu_maps (void)
  * MPIDR values related to logical cpus
  * Code base on Linux arch/arm/kernel/devtree.c
  */
-void __init smp_init_cpus(void)
+static void __init dt_smp_init_cpus(void)
 {
     register_t mpidr;
     struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -106,16 +106,6 @@ void __init smp_init_cpus(void)
     bool_t bootcpu_valid = 0;
     int rc;
 
-    /* scan the DTB for a PSCI node and set a global variable */
-    psci_init();
-
-    if ( (rc = arch_smp_init()) < 0 )
-    {
-        printk(XENLOG_WARNING "SMP init failed (%d)\n"
-               "Using only 1 CPU\n", rc);
-        return;
-    }
-
     mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
 
     if ( !cpus )
@@ -243,6 +233,23 @@ void __init smp_init_cpus(void)
     }
 }
 
+void __init smp_init_cpus(void)
+{
+    int rc;
+
+    /* initialize PSCI and set a global variable */
+    psci_init();
+
+    if ( (rc = arch_smp_init()) < 0 )
+    {
+        printk(XENLOG_WARNING "SMP init failed (%d)\n"
+               "Using only 1 CPU\n", rc);
+        return;
+    }
+
+    dt_smp_init_cpus();
+}
+
 int __init
 smp_get_max_cpus (void)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:44 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4i-0003wX-IW; Sun, 07 Feb 2016 18:28:44 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4h-0003wI-Bl
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:43 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	05/BD-31122-ADC87B65; Sun, 07 Feb 2016 18:28:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1454869721!14440926!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60982 invoked from network); 7 Feb 2016 18:28:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5z-0007mS-JS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4f-00017C-6X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4f-00017C-6X@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:41 +0000
Subject: [Xen-changelog] [xen master] arm/smpboot: Move dt specific code in
	smp to seperate functions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit eaf1de3d66de73508895fee947e229b539ff3ac5
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:16 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:57:13 2016 +0000

    arm/smpboot: Move dt specific code in smp to seperate functions
    
    Partition smp initialization functions into generic and dt specific
    parts, this will be useful when introducing new functions for smp
    initialization based on acpi.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/arm64/smpboot.c |  7 ++++++-
 xen/arch/arm/smpboot.c       | 29 ++++++++++++++++++-----------
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 62e6abb..7928f69 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -70,7 +70,7 @@ int __init arch_smp_init(void)
     return 0;
 }
 
-int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
+static int __init dt_arch_cpu_init(int cpu, struct dt_device_node *dn)
 {
     const char *enable_method;
 
@@ -94,6 +94,11 @@ int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
     return 0;
 }
 
+int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
+{
+    return dt_arch_cpu_init(cpu, dn);
+}
+
 int __init arch_cpu_up(int cpu)
 {
     if ( !smp_enable_ops[cpu].prepare_cpu )
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 00b2b2a..b6119d1 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -92,7 +92,7 @@ smp_clear_cpu_maps (void)
  * MPIDR values related to logical cpus
  * Code base on Linux arch/arm/kernel/devtree.c
  */
-void __init smp_init_cpus(void)
+static void __init dt_smp_init_cpus(void)
 {
     register_t mpidr;
     struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -106,16 +106,6 @@ void __init smp_init_cpus(void)
     bool_t bootcpu_valid = 0;
     int rc;
 
-    /* scan the DTB for a PSCI node and set a global variable */
-    psci_init();
-
-    if ( (rc = arch_smp_init()) < 0 )
-    {
-        printk(XENLOG_WARNING "SMP init failed (%d)\n"
-               "Using only 1 CPU\n", rc);
-        return;
-    }
-
     mpidr = boot_cpu_data.mpidr.bits & MPIDR_HWID_MASK;
 
     if ( !cpus )
@@ -243,6 +233,23 @@ void __init smp_init_cpus(void)
     }
 }
 
+void __init smp_init_cpus(void)
+{
+    int rc;
+
+    /* initialize PSCI and set a global variable */
+    psci_init();
+
+    if ( (rc = arch_smp_init()) < 0 )
+    {
+        printk(XENLOG_WARNING "SMP init failed (%d)\n"
+               "Using only 1 CPU\n", rc);
+        return;
+    }
+
+    dt_smp_init_cpus();
+}
+
 int __init
 smp_get_max_cpus (void)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4t-0003yM-Oj; Sun, 07 Feb 2016 18:28:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4r-0003yA-VM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:54 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	5A/02-29293-5EC87B65; Sun, 07 Feb 2016 18:28:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1454869731!20580032!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 50619 invoked from network); 7 Feb 2016 18:28:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6A-0007mc-0U
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4p-00018G-Gy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4p-00018G-Gy@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:51 +0000
Subject: [Xen-changelog] [xen master] arm/gic-v2: Refactor gicv2_init into
	generic and dt specific parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57ab13c2ce469e8df9b5c2fae7bbb6bec4e5825a
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:17 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:57:13 2016 +0000

    arm/gic-v2: Refactor gicv2_init into generic and dt specific parts
    
    Refactor gic-v2 related functions into dt and generic parts. This will be
    helpful when adding acpi support for gic.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic-v2.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 793dca7..3fb5823 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -628,13 +628,12 @@ static bool_t gicv2_is_aliased(paddr_t cbase, paddr_t csize)
     return ((val_low & 0xfff0fff) == 0x0202043B && val_low == val_high);
 }
 
-static int __init gicv2_init(void)
+static paddr_t __initdata hbase, dbase, cbase, csize, vbase;
+
+static void __init gicv2_dt_init(void)
 {
     int res;
-    paddr_t hbase, dbase;
-    paddr_t cbase, csize;
-    paddr_t vbase, vsize;
-    uint32_t aliased_offset = 0;
+    paddr_t vsize;
     const struct dt_device_node *node = gicv2_info.node;
 
     res = dt_device_get_address(node, 0, &dbase, NULL);
@@ -680,6 +679,13 @@ static int __init gicv2_init(void)
     if ( csize != vsize )
         panic("GICv2: Sizes of GICC (%#"PRIpaddr") and GICV (%#"PRIpaddr") don't match\n",
                csize, vsize);
+}
+
+static int __init gicv2_init(void)
+{
+    uint32_t aliased_offset = 0;
+
+    gicv2_dt_init();
 
     printk("GICv2 initialization:\n"
               "        gic_dist_addr=%"PRIpaddr"\n"
@@ -765,7 +771,8 @@ const static struct gic_hw_operations gicv2_ops = {
 };
 
 /* Set up the GIC */
-static int __init gicv2_preinit(struct dt_device_node *node, const void *data)
+static int __init gicv2_dt_preinit(struct dt_device_node *node,
+                                   const void *data)
 {
     gicv2_info.hw_version = GIC_V2;
     gicv2_info.node = node;
@@ -783,7 +790,7 @@ static const struct dt_device_match gicv2_dt_match[] __initconst =
 
 DT_DEVICE_START(gicv2, "GICv2", DEVICE_GIC)
         .dt_match = gicv2_dt_match,
-        .init = gicv2_preinit,
+        .init = gicv2_dt_preinit,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:28:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU4t-0003yM-Oj; Sun, 07 Feb 2016 18:28:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4r-0003yA-VM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:54 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	5A/02-29293-5EC87B65; Sun, 07 Feb 2016 18:28:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1454869731!20580032!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 50619 invoked from network); 7 Feb 2016 18:28:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:28:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6A-0007mc-0U
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4p-00018G-Gy
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:28:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4p-00018G-Gy@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:28:51 +0000
Subject: [Xen-changelog] [xen master] arm/gic-v2: Refactor gicv2_init into
	generic and dt specific parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57ab13c2ce469e8df9b5c2fae7bbb6bec4e5825a
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:17 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 11:57:13 2016 +0000

    arm/gic-v2: Refactor gicv2_init into generic and dt specific parts
    
    Refactor gic-v2 related functions into dt and generic parts. This will be
    helpful when adding acpi support for gic.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic-v2.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 793dca7..3fb5823 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -628,13 +628,12 @@ static bool_t gicv2_is_aliased(paddr_t cbase, paddr_t csize)
     return ((val_low & 0xfff0fff) == 0x0202043B && val_low == val_high);
 }
 
-static int __init gicv2_init(void)
+static paddr_t __initdata hbase, dbase, cbase, csize, vbase;
+
+static void __init gicv2_dt_init(void)
 {
     int res;
-    paddr_t hbase, dbase;
-    paddr_t cbase, csize;
-    paddr_t vbase, vsize;
-    uint32_t aliased_offset = 0;
+    paddr_t vsize;
     const struct dt_device_node *node = gicv2_info.node;
 
     res = dt_device_get_address(node, 0, &dbase, NULL);
@@ -680,6 +679,13 @@ static int __init gicv2_init(void)
     if ( csize != vsize )
         panic("GICv2: Sizes of GICC (%#"PRIpaddr") and GICV (%#"PRIpaddr") don't match\n",
                csize, vsize);
+}
+
+static int __init gicv2_init(void)
+{
+    uint32_t aliased_offset = 0;
+
+    gicv2_dt_init();
 
     printk("GICv2 initialization:\n"
               "        gic_dist_addr=%"PRIpaddr"\n"
@@ -765,7 +771,8 @@ const static struct gic_hw_operations gicv2_ops = {
 };
 
 /* Set up the GIC */
-static int __init gicv2_preinit(struct dt_device_node *node, const void *data)
+static int __init gicv2_dt_preinit(struct dt_device_node *node,
+                                   const void *data)
 {
     gicv2_info.hw_version = GIC_V2;
     gicv2_info.node = node;
@@ -783,7 +790,7 @@ static const struct dt_device_match gicv2_dt_match[] __initconst =
 
 DT_DEVICE_START(gicv2, "GICv2", DEVICE_GIC)
         .dt_match = gicv2_dt_match,
-        .init = gicv2_preinit,
+        .init = gicv2_dt_preinit,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU54-00040W-VU; Sun, 07 Feb 2016 18:29:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU52-00040F-Iw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:04 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	63/52-08977-FEC87B65; Sun, 07 Feb 2016 18:29:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454869742!14020777!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47509 invoked from network); 7 Feb 2016 18:29:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6K-0007mp-EI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4z-0001AF-Tg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4z-0001AF-Tg@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:01 +0000
Subject: [Xen-changelog] [xen master] arm/gic-v3: Refactor gicv3_init into
	generic and dt specific parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3aeac4372f40d1958d109fba4f6510621f6dc3a
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Thu Jan 28 10:33:12 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:14 2016 +0000

    arm/gic-v3: Refactor gicv3_init into generic and dt specific parts
    
    Refactor gic-v3 related functions into dt and generic parts. This will be
    helpful when adding acpi support for gic-v3.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic-v3.c | 84 +++++++++++++++++++++++++++------------------------
 1 file changed, 45 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index a245b56..fa61231 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1138,26 +1138,14 @@ static int __init cmp_rdist(const void *a, const void *b)
     return ( l->base < r->base) ? -1 : 0;
 }
 
+static paddr_t __initdata dbase = INVALID_PADDR;
+static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
+static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
+
 /* If the GICv3 supports GICv2, initialize it */
-static void __init gicv3_init_v2(const struct dt_device_node *node,
-                                 paddr_t dbase)
+static void __init gicv3_init_v2(void)
 {
-    int res;
-    paddr_t cbase, csize;
-    paddr_t vbase, vsize;
-
-    /*
-     * For GICv3 supporting GICv2, GICC and GICV base address will be
-     * provided.
-     */
-    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
-                                &cbase, &csize);
-    if ( res )
-        return;
-
-    res = dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
-                                &vbase, &vsize);
-    if ( res )
+    if ( cbase == INVALID_PADDR || vbase == INVALID_PADDR )
         return;
 
     /*
@@ -1180,20 +1168,11 @@ static void __init gicv3_init_v2(const struct dt_device_node *node,
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
 
-/* Set up the GIC */
-static int __init gicv3_init(void)
+static void __init gicv3_dt_init(void)
 {
     struct rdist_region *rdist_regs;
     int res, i;
-    uint32_t reg;
     const struct dt_device_node *node = gicv3_info.node;
-    paddr_t dbase;
-
-    if ( !cpu_has_gicv3 )
-    {
-        dprintk(XENLOG_ERR, "GICv3: driver requires system register support\n");
-        return -ENODEV;
-    }
 
     res = dt_device_get_address(node, 0, &dbase, NULL);
     if ( res )
@@ -1203,14 +1182,6 @@ static int __init gicv3_init(void)
         panic("GICv3:  Found unaligned distributor address %"PRIpaddr"",
               dbase);
 
-    gicv3.map_dbase = ioremap_nocache(dbase, SZ_64K);
-    if ( !gicv3.map_dbase )
-        panic("GICv3: Failed to ioremap for GIC distributor\n");
-
-    reg = readl_relaxed(GICD + GICD_PIDR2) & GIC_PIDR2_ARCH_MASK;
-    if ( reg != GIC_PIDR2_ARCH_GICv3 && reg != GIC_PIDR2_ARCH_GICv4 )
-         panic("GICv3: no distributor detected\n");
-
     if ( !dt_property_read_u32(node, "#redistributor-regions",
                 &gicv3.rdist_count) )
         gicv3.rdist_count = 1;
@@ -1248,6 +1219,41 @@ static int __init gicv3_init(void)
         panic("GICv3: Cannot find the maintenance IRQ");
     gicv3_info.maintenance_irq = res;
 
+    /*
+     * For GICv3 supporting GICv2, GICC and GICV base address will be
+     * provided.
+     */
+    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
+                                &cbase, &csize);
+    if ( res )
+        return;
+
+    dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
+                          &vbase, &vsize);
+}
+
+/* Set up the GIC */
+static int __init gicv3_init(void)
+{
+    int res, i;
+    uint32_t reg;
+
+    if ( !cpu_has_gicv3 )
+    {
+        dprintk(XENLOG_ERR, "GICv3: driver requires system register support\n");
+        return -ENODEV;
+    }
+
+    gicv3_dt_init();
+
+    gicv3.map_dbase = ioremap_nocache(dbase, SZ_64K);
+    if ( !gicv3.map_dbase )
+        panic("GICv3: Failed to ioremap for GIC distributor\n");
+
+    reg = readl_relaxed(GICD + GICD_PIDR2) & GIC_PIDR2_ARCH_MASK;
+    if ( reg != GIC_PIDR2_ARCH_GICv3 && reg != GIC_PIDR2_ARCH_GICv4 )
+         panic("GICv3: no distributor detected\n");
+
     for ( i = 0; i < gicv3.rdist_count; i++ )
     {
         /* map dbase & rdist regions */
@@ -1277,7 +1283,7 @@ static int __init gicv3_init(void)
 
     vgic_v3_setup_hw(dbase, gicv3.rdist_count, gicv3.rdist_regions,
                      gicv3.rdist_stride);
-    gicv3_init_v2(node, dbase);
+    gicv3_init_v2();
 
     spin_lock_init(&gicv3.lock);
 
@@ -1317,7 +1323,7 @@ static const struct gic_hw_operations gicv3_ops = {
     .make_hwdom_dt_node  = gicv3_make_hwdom_dt_node,
 };
 
-static int __init gicv3_preinit(struct dt_device_node *node, const void *data)
+static int __init gicv3_dt_preinit(struct dt_device_node *node, const void *data)
 {
     gicv3_info.hw_version = GIC_V3;
     gicv3_info.node = node;
@@ -1335,7 +1341,7 @@ static const struct dt_device_match gicv3_dt_match[] __initconst =
 
 DT_DEVICE_START(gicv3, "GICv3", DEVICE_GIC)
         .dt_match = gicv3_dt_match,
-        .init = gicv3_preinit,
+        .init = gicv3_dt_preinit,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU54-00040W-VU; Sun, 07 Feb 2016 18:29:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU52-00040F-Iw
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:04 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	63/52-08977-FEC87B65; Sun, 07 Feb 2016 18:29:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454869742!14020777!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47509 invoked from network); 7 Feb 2016 18:29:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6K-0007mp-EI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU4z-0001AF-Tg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU4z-0001AF-Tg@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:01 +0000
Subject: [Xen-changelog] [xen master] arm/gic-v3: Refactor gicv3_init into
	generic and dt specific parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3aeac4372f40d1958d109fba4f6510621f6dc3a
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Thu Jan 28 10:33:12 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:14 2016 +0000

    arm/gic-v3: Refactor gicv3_init into generic and dt specific parts
    
    Refactor gic-v3 related functions into dt and generic parts. This will be
    helpful when adding acpi support for gic-v3.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/gic-v3.c | 84 +++++++++++++++++++++++++++------------------------
 1 file changed, 45 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index a245b56..fa61231 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1138,26 +1138,14 @@ static int __init cmp_rdist(const void *a, const void *b)
     return ( l->base < r->base) ? -1 : 0;
 }
 
+static paddr_t __initdata dbase = INVALID_PADDR;
+static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
+static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
+
 /* If the GICv3 supports GICv2, initialize it */
-static void __init gicv3_init_v2(const struct dt_device_node *node,
-                                 paddr_t dbase)
+static void __init gicv3_init_v2(void)
 {
-    int res;
-    paddr_t cbase, csize;
-    paddr_t vbase, vsize;
-
-    /*
-     * For GICv3 supporting GICv2, GICC and GICV base address will be
-     * provided.
-     */
-    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
-                                &cbase, &csize);
-    if ( res )
-        return;
-
-    res = dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
-                                &vbase, &vsize);
-    if ( res )
+    if ( cbase == INVALID_PADDR || vbase == INVALID_PADDR )
         return;
 
     /*
@@ -1180,20 +1168,11 @@ static void __init gicv3_init_v2(const struct dt_device_node *node,
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
 
-/* Set up the GIC */
-static int __init gicv3_init(void)
+static void __init gicv3_dt_init(void)
 {
     struct rdist_region *rdist_regs;
     int res, i;
-    uint32_t reg;
     const struct dt_device_node *node = gicv3_info.node;
-    paddr_t dbase;
-
-    if ( !cpu_has_gicv3 )
-    {
-        dprintk(XENLOG_ERR, "GICv3: driver requires system register support\n");
-        return -ENODEV;
-    }
 
     res = dt_device_get_address(node, 0, &dbase, NULL);
     if ( res )
@@ -1203,14 +1182,6 @@ static int __init gicv3_init(void)
         panic("GICv3:  Found unaligned distributor address %"PRIpaddr"",
               dbase);
 
-    gicv3.map_dbase = ioremap_nocache(dbase, SZ_64K);
-    if ( !gicv3.map_dbase )
-        panic("GICv3: Failed to ioremap for GIC distributor\n");
-
-    reg = readl_relaxed(GICD + GICD_PIDR2) & GIC_PIDR2_ARCH_MASK;
-    if ( reg != GIC_PIDR2_ARCH_GICv3 && reg != GIC_PIDR2_ARCH_GICv4 )
-         panic("GICv3: no distributor detected\n");
-
     if ( !dt_property_read_u32(node, "#redistributor-regions",
                 &gicv3.rdist_count) )
         gicv3.rdist_count = 1;
@@ -1248,6 +1219,41 @@ static int __init gicv3_init(void)
         panic("GICv3: Cannot find the maintenance IRQ");
     gicv3_info.maintenance_irq = res;
 
+    /*
+     * For GICv3 supporting GICv2, GICC and GICV base address will be
+     * provided.
+     */
+    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
+                                &cbase, &csize);
+    if ( res )
+        return;
+
+    dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
+                          &vbase, &vsize);
+}
+
+/* Set up the GIC */
+static int __init gicv3_init(void)
+{
+    int res, i;
+    uint32_t reg;
+
+    if ( !cpu_has_gicv3 )
+    {
+        dprintk(XENLOG_ERR, "GICv3: driver requires system register support\n");
+        return -ENODEV;
+    }
+
+    gicv3_dt_init();
+
+    gicv3.map_dbase = ioremap_nocache(dbase, SZ_64K);
+    if ( !gicv3.map_dbase )
+        panic("GICv3: Failed to ioremap for GIC distributor\n");
+
+    reg = readl_relaxed(GICD + GICD_PIDR2) & GIC_PIDR2_ARCH_MASK;
+    if ( reg != GIC_PIDR2_ARCH_GICv3 && reg != GIC_PIDR2_ARCH_GICv4 )
+         panic("GICv3: no distributor detected\n");
+
     for ( i = 0; i < gicv3.rdist_count; i++ )
     {
         /* map dbase & rdist regions */
@@ -1277,7 +1283,7 @@ static int __init gicv3_init(void)
 
     vgic_v3_setup_hw(dbase, gicv3.rdist_count, gicv3.rdist_regions,
                      gicv3.rdist_stride);
-    gicv3_init_v2(node, dbase);
+    gicv3_init_v2();
 
     spin_lock_init(&gicv3.lock);
 
@@ -1317,7 +1323,7 @@ static const struct gic_hw_operations gicv3_ops = {
     .make_hwdom_dt_node  = gicv3_make_hwdom_dt_node,
 };
 
-static int __init gicv3_preinit(struct dt_device_node *node, const void *data)
+static int __init gicv3_dt_preinit(struct dt_device_node *node, const void *data)
 {
     gicv3_info.hw_version = GIC_V3;
     gicv3_info.node = node;
@@ -1335,7 +1341,7 @@ static const struct dt_device_match gicv3_dt_match[] __initconst =
 
 DT_DEVICE_START(gicv3, "GICv3", DEVICE_GIC)
         .dt_match = gicv3_dt_match,
-        .init = gicv3_preinit,
+        .init = gicv3_dt_preinit,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5E-00042Y-38; Sun, 07 Feb 2016 18:29:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5D-00042H-DV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:15 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	B3/A2-10715-AFC87B65; Sun, 07 Feb 2016 18:29:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1454869752!22116091!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9189 invoked from network); 7 Feb 2016 18:29:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6U-0007ng-Sg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5A-0001F6-DF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5A-0001F6-DF@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:12 +0000
Subject: [Xen-changelog] [xen master] arm/uart: Rename dt-uart.c to
	arm-uart.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57c59533c97aefd74b511ae0aa14565db9029032
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:19 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:19 2016 +0000

    arm/uart: Rename dt-uart.c to arm-uart.c
    
    Since we will add ACPI initialization for UART in this file later,
    rename it with a generic name.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS                 |   2 +-
 xen/drivers/char/Makefile   |   2 +-
 xen/drivers/char/arm-uart.c | 107 ++++++++++++++++++++++++++++++++++++++++++++
 xen/drivers/char/dt-uart.c  | 107 --------------------------------------------
 4 files changed, 109 insertions(+), 109 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ccbe5db..f07384c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -134,7 +134,7 @@ L:	xen-devel@lists.xen.org
 F:	xen/arch/arm/
 F:	xen/include/asm-arm/
 F:	xen/drivers/char/cadence-uart.c
-F:	xen/drivers/char/dt-uart.c
+F:	xen/drivers/char/arm-uart.c
 F:	xen/drivers/char/exynos4210-uart.c
 F:	xen/drivers/char/omap-uart.c
 F:	xen/drivers/char/pl011.c
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index aa620fc..aa169d7 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -6,5 +6,5 @@ obj-$(CONFIG_HAS_EXYNOS4210) += exynos4210-uart.o
 obj-$(CONFIG_HAS_OMAP) += omap-uart.o
 obj-$(CONFIG_HAS_SCIF) += scif-uart.o
 obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
-obj-$(CONFIG_ARM) += dt-uart.o
+obj-$(CONFIG_ARM) += arm-uart.o
 obj-y += serial.o
diff --git a/xen/drivers/char/arm-uart.c b/xen/drivers/char/arm-uart.c
new file mode 100644
index 0000000..883e615
--- /dev/null
+++ b/xen/drivers/char/arm-uart.c
@@ -0,0 +1,107 @@
+/*
+ * xen/drivers/char/arm-uart.c
+ *
+ * Generic uart retrieved via the device tree
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (c) 2013 Linaro Limited.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <asm/device.h>
+#include <asm/types.h>
+#include <xen/console.h>
+#include <xen/device_tree.h>
+#include <xen/serial.h>
+#include <xen/errno.h>
+
+/*
+ * Configure UART port with a string:
+ * path:options
+ *
+ * @path: full path used in the device tree for the UART. If the path
+ * doesn't start with '/', we assuming that it's an alias.
+ * @options: UART speficic options (see in each UART driver)
+ */
+static char __initdata opt_dtuart[256] = "";
+string_param("dtuart", opt_dtuart);
+
+void __init dt_uart_init(void)
+{
+    struct dt_device_node *dev;
+    int ret;
+    const char *devpath = opt_dtuart;
+    char *options;
+
+    if ( !console_has("dtuart") )
+        return; /* Not for us */
+
+    if ( !strcmp(opt_dtuart, "") )
+    {
+        const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+
+        if ( chosen )
+        {
+            const char *stdout;
+
+            ret = dt_property_read_string(chosen, "stdout-path", &stdout);
+            if ( ret >= 0 )
+            {
+                printk("Taking dtuart configuration from /chosen/stdout-path\n");
+                if ( strlcpy(opt_dtuart, stdout, sizeof(opt_dtuart))
+                     >= sizeof(opt_dtuart) )
+                    printk("WARNING: /chosen/stdout-path too long, truncated\n");
+            }
+            else if ( ret != -EINVAL /* Not present */ )
+                printk("Failed to read /chosen/stdout-path (%d)\n", ret);
+        }
+    }
+
+    if ( !strcmp(opt_dtuart, "") )
+    {
+        printk("No dtuart path configured\n");
+        return;
+    }
+
+    options = strchr(opt_dtuart, ':');
+    if ( options != NULL )
+        *(options++) = '\0';
+    else
+        options = "";
+
+    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath, options);
+    if ( *devpath == '/' )
+        dev = dt_find_node_by_path(devpath);
+    else
+        dev = dt_find_node_by_alias(devpath);
+
+    if ( !dev )
+    {
+        printk("Unable to find device \"%s\"\n", devpath);
+        return;
+    }
+
+    ret = device_init(dev, DEVICE_SERIAL, options);
+
+    if ( ret )
+        printk("Unable to initialize dtuart: %d\n", ret);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/char/dt-uart.c b/xen/drivers/char/dt-uart.c
deleted file mode 100644
index d599322..0000000
--- a/xen/drivers/char/dt-uart.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * xen/drivers/char/dt-uart.c
- *
- * Generic uart retrieved via the device tree
- *
- * Julien Grall <julien.grall@linaro.org>
- * Copyright (c) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <asm/device.h>
-#include <asm/types.h>
-#include <xen/console.h>
-#include <xen/device_tree.h>
-#include <xen/serial.h>
-#include <xen/errno.h>
-
-/*
- * Configure UART port with a string:
- * path:options
- *
- * @path: full path used in the device tree for the UART. If the path
- * doesn't start with '/', we assuming that it's an alias.
- * @options: UART speficic options (see in each UART driver)
- */
-static char __initdata opt_dtuart[256] = "";
-string_param("dtuart", opt_dtuart);
-
-void __init dt_uart_init(void)
-{
-    struct dt_device_node *dev;
-    int ret;
-    const char *devpath = opt_dtuart;
-    char *options;
-
-    if ( !console_has("dtuart") )
-        return; /* Not for us */
-
-    if ( !strcmp(opt_dtuart, "") )
-    {
-        const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-
-        if ( chosen )
-        {
-            const char *stdout;
-
-            ret = dt_property_read_string(chosen, "stdout-path", &stdout);
-            if ( ret >= 0 )
-            {
-                printk("Taking dtuart configuration from /chosen/stdout-path\n");
-                if ( strlcpy(opt_dtuart, stdout, sizeof(opt_dtuart))
-                     >= sizeof(opt_dtuart) )
-                    printk("WARNING: /chosen/stdout-path too long, truncated\n");
-            }
-            else if ( ret != -EINVAL /* Not present */ )
-                printk("Failed to read /chosen/stdout-path (%d)\n", ret);
-        }
-    }
-
-    if ( !strcmp(opt_dtuart, "") )
-    {
-        printk("No dtuart path configured\n");
-        return;
-    }
-
-    options = strchr(opt_dtuart, ':');
-    if ( options != NULL )
-        *(options++) = '\0';
-    else
-        options = "";
-
-    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath, options);
-    if ( *devpath == '/' )
-        dev = dt_find_node_by_path(devpath);
-    else
-        dev = dt_find_node_by_alias(devpath);
-
-    if ( !dev )
-    {
-        printk("Unable to find device \"%s\"\n", devpath);
-        return;
-    }
-
-    ret = device_init(dev, DEVICE_SERIAL, options);
-
-    if ( ret )
-        printk("Unable to initialize dtuart: %d\n", ret);
-}
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5E-00042Y-38; Sun, 07 Feb 2016 18:29:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5D-00042H-DV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:15 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	B3/A2-10715-AFC87B65; Sun, 07 Feb 2016 18:29:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1454869752!22116091!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9189 invoked from network); 7 Feb 2016 18:29:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6U-0007ng-Sg
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5A-0001F6-DF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5A-0001F6-DF@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:12 +0000
Subject: [Xen-changelog] [xen master] arm/uart: Rename dt-uart.c to
	arm-uart.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57c59533c97aefd74b511ae0aa14565db9029032
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:19 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:19 2016 +0000

    arm/uart: Rename dt-uart.c to arm-uart.c
    
    Since we will add ACPI initialization for UART in this file later,
    rename it with a generic name.
    
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS                 |   2 +-
 xen/drivers/char/Makefile   |   2 +-
 xen/drivers/char/arm-uart.c | 107 ++++++++++++++++++++++++++++++++++++++++++++
 xen/drivers/char/dt-uart.c  | 107 --------------------------------------------
 4 files changed, 109 insertions(+), 109 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ccbe5db..f07384c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -134,7 +134,7 @@ L:	xen-devel@lists.xen.org
 F:	xen/arch/arm/
 F:	xen/include/asm-arm/
 F:	xen/drivers/char/cadence-uart.c
-F:	xen/drivers/char/dt-uart.c
+F:	xen/drivers/char/arm-uart.c
 F:	xen/drivers/char/exynos4210-uart.c
 F:	xen/drivers/char/omap-uart.c
 F:	xen/drivers/char/pl011.c
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index aa620fc..aa169d7 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -6,5 +6,5 @@ obj-$(CONFIG_HAS_EXYNOS4210) += exynos4210-uart.o
 obj-$(CONFIG_HAS_OMAP) += omap-uart.o
 obj-$(CONFIG_HAS_SCIF) += scif-uart.o
 obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
-obj-$(CONFIG_ARM) += dt-uart.o
+obj-$(CONFIG_ARM) += arm-uart.o
 obj-y += serial.o
diff --git a/xen/drivers/char/arm-uart.c b/xen/drivers/char/arm-uart.c
new file mode 100644
index 0000000..883e615
--- /dev/null
+++ b/xen/drivers/char/arm-uart.c
@@ -0,0 +1,107 @@
+/*
+ * xen/drivers/char/arm-uart.c
+ *
+ * Generic uart retrieved via the device tree
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (c) 2013 Linaro Limited.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <asm/device.h>
+#include <asm/types.h>
+#include <xen/console.h>
+#include <xen/device_tree.h>
+#include <xen/serial.h>
+#include <xen/errno.h>
+
+/*
+ * Configure UART port with a string:
+ * path:options
+ *
+ * @path: full path used in the device tree for the UART. If the path
+ * doesn't start with '/', we assuming that it's an alias.
+ * @options: UART speficic options (see in each UART driver)
+ */
+static char __initdata opt_dtuart[256] = "";
+string_param("dtuart", opt_dtuart);
+
+void __init dt_uart_init(void)
+{
+    struct dt_device_node *dev;
+    int ret;
+    const char *devpath = opt_dtuart;
+    char *options;
+
+    if ( !console_has("dtuart") )
+        return; /* Not for us */
+
+    if ( !strcmp(opt_dtuart, "") )
+    {
+        const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+
+        if ( chosen )
+        {
+            const char *stdout;
+
+            ret = dt_property_read_string(chosen, "stdout-path", &stdout);
+            if ( ret >= 0 )
+            {
+                printk("Taking dtuart configuration from /chosen/stdout-path\n");
+                if ( strlcpy(opt_dtuart, stdout, sizeof(opt_dtuart))
+                     >= sizeof(opt_dtuart) )
+                    printk("WARNING: /chosen/stdout-path too long, truncated\n");
+            }
+            else if ( ret != -EINVAL /* Not present */ )
+                printk("Failed to read /chosen/stdout-path (%d)\n", ret);
+        }
+    }
+
+    if ( !strcmp(opt_dtuart, "") )
+    {
+        printk("No dtuart path configured\n");
+        return;
+    }
+
+    options = strchr(opt_dtuart, ':');
+    if ( options != NULL )
+        *(options++) = '\0';
+    else
+        options = "";
+
+    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath, options);
+    if ( *devpath == '/' )
+        dev = dt_find_node_by_path(devpath);
+    else
+        dev = dt_find_node_by_alias(devpath);
+
+    if ( !dev )
+    {
+        printk("Unable to find device \"%s\"\n", devpath);
+        return;
+    }
+
+    ret = device_init(dev, DEVICE_SERIAL, options);
+
+    if ( ret )
+        printk("Unable to initialize dtuart: %d\n", ret);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/char/dt-uart.c b/xen/drivers/char/dt-uart.c
deleted file mode 100644
index d599322..0000000
--- a/xen/drivers/char/dt-uart.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * xen/drivers/char/dt-uart.c
- *
- * Generic uart retrieved via the device tree
- *
- * Julien Grall <julien.grall@linaro.org>
- * Copyright (c) 2013 Linaro Limited.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <asm/device.h>
-#include <asm/types.h>
-#include <xen/console.h>
-#include <xen/device_tree.h>
-#include <xen/serial.h>
-#include <xen/errno.h>
-
-/*
- * Configure UART port with a string:
- * path:options
- *
- * @path: full path used in the device tree for the UART. If the path
- * doesn't start with '/', we assuming that it's an alias.
- * @options: UART speficic options (see in each UART driver)
- */
-static char __initdata opt_dtuart[256] = "";
-string_param("dtuart", opt_dtuart);
-
-void __init dt_uart_init(void)
-{
-    struct dt_device_node *dev;
-    int ret;
-    const char *devpath = opt_dtuart;
-    char *options;
-
-    if ( !console_has("dtuart") )
-        return; /* Not for us */
-
-    if ( !strcmp(opt_dtuart, "") )
-    {
-        const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-
-        if ( chosen )
-        {
-            const char *stdout;
-
-            ret = dt_property_read_string(chosen, "stdout-path", &stdout);
-            if ( ret >= 0 )
-            {
-                printk("Taking dtuart configuration from /chosen/stdout-path\n");
-                if ( strlcpy(opt_dtuart, stdout, sizeof(opt_dtuart))
-                     >= sizeof(opt_dtuart) )
-                    printk("WARNING: /chosen/stdout-path too long, truncated\n");
-            }
-            else if ( ret != -EINVAL /* Not present */ )
-                printk("Failed to read /chosen/stdout-path (%d)\n", ret);
-        }
-    }
-
-    if ( !strcmp(opt_dtuart, "") )
-    {
-        printk("No dtuart path configured\n");
-        return;
-    }
-
-    options = strchr(opt_dtuart, ':');
-    if ( options != NULL )
-        *(options++) = '\0';
-    else
-        options = "";
-
-    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath, options);
-    if ( *devpath == '/' )
-        dev = dt_find_node_by_path(devpath);
-    else
-        dev = dt_find_node_by_alias(devpath);
-
-    if ( !dev )
-    {
-        printk("Unable to find device \"%s\"\n", devpath);
-        return;
-    }
-
-    ret = device_init(dev, DEVICE_SERIAL, options);
-
-    if ( ret )
-        printk("Unable to initialize dtuart: %d\n", ret);
-}
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * tab-width: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5O-000444-7Z; Sun, 07 Feb 2016 18:29:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5N-00043u-E0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:25 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	01/0E-03066-40D87B65; Sun, 07 Feb 2016 18:29:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1454869763!20983039!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31127 invoked from network); 7 Feb 2016 18:29:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6f-0007nt-99
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5K-0001HB-R8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5K-0001HB-R8@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:22 +0000
Subject: [Xen-changelog] [xen master] pl011: Refactor pl011 driver to dt and
	common initialization parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0f5f9d8933258f49371a4e85e7459726c593d4ac
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:20 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:20 2016 +0000

    pl011: Refactor pl011 driver to dt and common initialization parts
    
    Refactor pl011 driver to dt and common initialization parts. This will
    be useful later when acpi specific uart initialization function is
    introduced.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/drivers/char/pl011.c | 64 ++++++++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 26 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 67e6df5..7e16294 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -226,12 +226,42 @@ static struct uart_driver __read_mostly pl011_driver = {
     .vuart_info   = pl011_vuart,
 };
 
+static int __init pl011_uart_init(int irq, u64 addr, u64 size)
+{
+    struct pl011 *uart;
+
+    uart = &pl011_com;
+    uart->irq       = irq;
+    uart->clock_hz  = 0x16e3600;
+    uart->baud      = BAUD_AUTO;
+    uart->data_bits = 8;
+    uart->parity    = PARITY_NONE;
+    uart->stop_bits = 1;
+
+    uart->regs = ioremap_nocache(addr, size);
+    if ( !uart->regs )
+    {
+        printk("pl011: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = DR;
+    uart->vuart.status_off = FR;
+    uart->vuart.status = 0;
+
+    /* Register with generic serial driver. */
+    serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
+
+    return 0;
+}
+
 /* TODO: Parse UART config from the command line */
-static int __init pl011_uart_init(struct dt_device_node *dev,
-                                  const void *data)
+static int __init pl011_dt_uart_init(struct dt_device_node *dev,
+                                     const void *data)
 {
     const char *config = data;
-    struct pl011 *uart;
     int res;
     u64 addr, size;
 
@@ -240,14 +270,6 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         printk("WARNING: UART configuration is not supported\n");
     }
 
-    uart = &pl011_com;
-
-    uart->clock_hz  = 0x16e3600;
-    uart->baud      = BAUD_AUTO;
-    uart->data_bits = 8;
-    uart->parity    = PARITY_NONE;
-    uart->stop_bits = 1;
-
     res = dt_device_get_address(dev, 0, &addr, &size);
     if ( res )
     {
@@ -262,24 +284,14 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         printk("pl011: Unable to retrieve the IRQ\n");
         return -EINVAL;
     }
-    uart->irq = res;
 
-    uart->regs = ioremap_nocache(addr, size);
-    if ( !uart->regs )
+    res = pl011_uart_init(res, addr, size);
+    if ( res < 0 )
     {
-        printk("pl011: Unable to map the UART memory\n");
-        return -ENOMEM;
+        printk("pl011: Unable to initialize\n");
+        return res;
     }
 
-    uart->vuart.base_addr = addr;
-    uart->vuart.size = size;
-    uart->vuart.data_off = DR;
-    uart->vuart.status_off = FR;
-    uart->vuart.status = 0;
-
-    /* Register with generic serial driver. */
-    serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
-
     dt_device_set_used_by(dev, DOMID_XEN);
 
     return 0;
@@ -293,7 +305,7 @@ static const struct dt_device_match pl011_dt_match[] __initconst =
 
 DT_DEVICE_START(pl011, "PL011 UART", DEVICE_SERIAL)
         .dt_match = pl011_dt_match,
-        .init = pl011_uart_init,
+        .init = pl011_dt_uart_init,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5O-000444-7Z; Sun, 07 Feb 2016 18:29:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5N-00043u-E0
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:25 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	01/0E-03066-40D87B65; Sun, 07 Feb 2016 18:29:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1454869763!20983039!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31127 invoked from network); 7 Feb 2016 18:29:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6f-0007nt-99
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5K-0001HB-R8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5K-0001HB-R8@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:22 +0000
Subject: [Xen-changelog] [xen master] pl011: Refactor pl011 driver to dt and
	common initialization parts
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0f5f9d8933258f49371a4e85e7459726c593d4ac
Author:     Shannon Zhao <shannon.zhao@linaro.org>
AuthorDate: Sat Jan 23 16:00:20 2016 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Feb 3 12:01:20 2016 +0000

    pl011: Refactor pl011 driver to dt and common initialization parts
    
    Refactor pl011 driver to dt and common initialization parts. This will
    be useful later when acpi specific uart initialization function is
    introduced.
    
    Signed-off-by: Parth Dixit <parth.dixit@linaro.org>
    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/drivers/char/pl011.c | 64 ++++++++++++++++++++++++++++--------------------
 1 file changed, 38 insertions(+), 26 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 67e6df5..7e16294 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -226,12 +226,42 @@ static struct uart_driver __read_mostly pl011_driver = {
     .vuart_info   = pl011_vuart,
 };
 
+static int __init pl011_uart_init(int irq, u64 addr, u64 size)
+{
+    struct pl011 *uart;
+
+    uart = &pl011_com;
+    uart->irq       = irq;
+    uart->clock_hz  = 0x16e3600;
+    uart->baud      = BAUD_AUTO;
+    uart->data_bits = 8;
+    uart->parity    = PARITY_NONE;
+    uart->stop_bits = 1;
+
+    uart->regs = ioremap_nocache(addr, size);
+    if ( !uart->regs )
+    {
+        printk("pl011: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = DR;
+    uart->vuart.status_off = FR;
+    uart->vuart.status = 0;
+
+    /* Register with generic serial driver. */
+    serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
+
+    return 0;
+}
+
 /* TODO: Parse UART config from the command line */
-static int __init pl011_uart_init(struct dt_device_node *dev,
-                                  const void *data)
+static int __init pl011_dt_uart_init(struct dt_device_node *dev,
+                                     const void *data)
 {
     const char *config = data;
-    struct pl011 *uart;
     int res;
     u64 addr, size;
 
@@ -240,14 +270,6 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         printk("WARNING: UART configuration is not supported\n");
     }
 
-    uart = &pl011_com;
-
-    uart->clock_hz  = 0x16e3600;
-    uart->baud      = BAUD_AUTO;
-    uart->data_bits = 8;
-    uart->parity    = PARITY_NONE;
-    uart->stop_bits = 1;
-
     res = dt_device_get_address(dev, 0, &addr, &size);
     if ( res )
     {
@@ -262,24 +284,14 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         printk("pl011: Unable to retrieve the IRQ\n");
         return -EINVAL;
     }
-    uart->irq = res;
 
-    uart->regs = ioremap_nocache(addr, size);
-    if ( !uart->regs )
+    res = pl011_uart_init(res, addr, size);
+    if ( res < 0 )
     {
-        printk("pl011: Unable to map the UART memory\n");
-        return -ENOMEM;
+        printk("pl011: Unable to initialize\n");
+        return res;
     }
 
-    uart->vuart.base_addr = addr;
-    uart->vuart.size = size;
-    uart->vuart.data_off = DR;
-    uart->vuart.status_off = FR;
-    uart->vuart.status = 0;
-
-    /* Register with generic serial driver. */
-    serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
-
     dt_device_set_used_by(dev, DOMID_XEN);
 
     return 0;
@@ -293,7 +305,7 @@ static const struct dt_device_match pl011_dt_match[] __initconst =
 
 DT_DEVICE_START(pl011, "PL011 UART", DEVICE_SERIAL)
         .dt_match = pl011_dt_match,
-        .init = pl011_uart_init,
+        .init = pl011_dt_uart_init,
 DT_DEVICE_END
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5Z-00045Y-Ct; Sun, 07 Feb 2016 18:29:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5Y-00045Q-Ea
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:36 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	F1/CC-09708-F0D87B65; Sun, 07 Feb 2016 18:29:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1454869773!10059216!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25164 invoked from network); 7 Feb 2016 18:29:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6p-0007o2-Rp
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5V-0001LR-8v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5V-0001LR-8v@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:33 +0000
Subject: [Xen-changelog] [xen master] spinlock: move rwlock API and per-cpu
	rwlocks into their own files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57fa2ce1a188caa222c7e524f2f5b6b34dec099a
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Wed Feb 3 14:09:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:09:09 2016 +0100

    spinlock: move rwlock API and per-cpu rwlocks into their own files
    
    In preparation for a replacement read-write lock implementation, move
    the API and the per-cpu read-write locks into their own files.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm/mem_sharing.c |   1 +
 xen/common/Makefile           |   1 +
 xen/common/rwlock.c           |  47 +++++++++++++
 xen/common/spinlock.c         |  45 -------------
 xen/include/asm-x86/mm.h      |   1 +
 xen/include/xen/grant_table.h |   1 +
 xen/include/xen/rwlock.h      | 150 ++++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/sched.h       |   1 +
 xen/include/xen/spinlock.h    | 143 ----------------------------------------
 xen/xsm/flask/ss/services.c   |   1 +
 10 files changed, 203 insertions(+), 188 deletions(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index a95e105..a522423 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -23,6 +23,7 @@
 #include <xen/types.h>
 #include <xen/domain_page.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/mm.h>
 #include <xen/grant_table.h>
 #include <xen/sched.h>
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 4df71ee..6e82b33 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -30,6 +30,7 @@ obj-y += rangeset.o
 obj-y += radix-tree.o
 obj-y += rbtree.o
 obj-y += rcupdate.o
+obj-y += rwlock.o
 obj-$(CONFIG_SCHED_ARINC653) += sched_arinc653.o
 obj-$(CONFIG_SCHED_CREDIT) += sched_credit.o
 obj-$(CONFIG_SCHED_CREDIT2) += sched_credit2.o
diff --git a/xen/common/rwlock.c b/xen/common/rwlock.c
new file mode 100644
index 0000000..410d4dc
--- /dev/null
+++ b/xen/common/rwlock.c
@@ -0,0 +1,47 @@
+#include <xen/rwlock.h>
+#include <xen/irq.h>
+
+static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
+
+void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    unsigned int cpu;
+    cpumask_t *rwlock_readers = &this_cpu(percpu_rwlock_readers);
+
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /*
+     * First take the write lock to protect against other writers or slow
+     * path readers.
+     */
+    write_lock(&percpu_rwlock->rwlock);
+
+    /* Now set the global variable so that readers start using read_lock. */
+    percpu_rwlock->writer_activating = 1;
+    smp_mb();
+
+    /* Using a per cpu cpumask is only safe if there is no nesting. */
+    ASSERT(!in_irq());
+    cpumask_copy(rwlock_readers, &cpu_online_map);
+
+    /* Check if there are any percpu readers in progress on this rwlock. */
+    for ( ; ; )
+    {
+        for_each_cpu(cpu, rwlock_readers)
+        {
+            /*
+             * Remove any percpu readers not contending on this rwlock
+             * from our check mask.
+             */
+            if ( per_cpu_ptr(per_cpudata, cpu) != percpu_rwlock )
+                __cpumask_clear_cpu(cpu, rwlock_readers);
+        }
+        /* Check if we've cleared all percpu readers from check mask. */
+        if ( cpumask_empty(rwlock_readers) )
+            break;
+        /* Give the coherency fabric a break. */
+        cpu_relax();
+    };
+}
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index bab1f95..7b0cf6c 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -10,8 +10,6 @@
 #include <asm/processor.h>
 #include <asm/atomic.h>
 
-static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
-
 #ifndef NDEBUG
 
 static atomic_t spin_debug __read_mostly = ATOMIC_INIT(0);
@@ -494,49 +492,6 @@ int _rw_is_write_locked(rwlock_t *lock)
     return (lock->lock == RW_WRITE_FLAG); /* writer in critical section? */
 }
 
-void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    unsigned int cpu;
-    cpumask_t *rwlock_readers = &this_cpu(percpu_rwlock_readers);
-
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* 
-     * First take the write lock to protect against other writers or slow 
-     * path readers.
-     */
-    write_lock(&percpu_rwlock->rwlock);
-
-    /* Now set the global variable so that readers start using read_lock. */
-    percpu_rwlock->writer_activating = 1;
-    smp_mb();
-
-    /* Using a per cpu cpumask is only safe if there is no nesting. */
-    ASSERT(!in_irq());
-    cpumask_copy(rwlock_readers, &cpu_online_map);
-
-    /* Check if there are any percpu readers in progress on this rwlock. */
-    for ( ; ; )
-    {
-        for_each_cpu(cpu, rwlock_readers)
-        {
-            /* 
-             * Remove any percpu readers not contending on this rwlock
-             * from our check mask.
-             */
-            if ( per_cpu_ptr(per_cpudata, cpu) != percpu_rwlock )
-                __cpumask_clear_cpu(cpu, rwlock_readers);
-        }
-        /* Check if we've cleared all percpu readers from check mask. */
-        if ( cpumask_empty(rwlock_readers) )
-            break;
-        /* Give the coherency fabric a break. */
-        cpu_relax();
-    };
-}
-
 #ifdef LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 7598414..4560deb 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -5,6 +5,7 @@
 #include <xen/config.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include <asm/x86_emulate.h>
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index b4f064e..32b0ecd 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -23,6 +23,7 @@
 #ifndef __XEN_GRANT_TABLE_H__
 #define __XEN_GRANT_TABLE_H__
 
+#include <xen/rwlock.h>
 #include <public/grant_table.h>
 #include <asm/page.h>
 #include <asm/grant_table.h>
diff --git a/xen/include/xen/rwlock.h b/xen/include/xen/rwlock.h
new file mode 100644
index 0000000..9d87783
--- /dev/null
+++ b/xen/include/xen/rwlock.h
@@ -0,0 +1,150 @@
+#ifndef __RWLOCK_H__
+#define __RWLOCK_H__
+
+#include <xen/spinlock.h>
+
+#define read_lock(l)                  _read_lock(l)
+#define read_lock_irq(l)              _read_lock_irq(l)
+#define read_lock_irqsave(l, f)                                 \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = _read_lock_irqsave(l));                          \
+    })
+
+#define read_unlock(l)                _read_unlock(l)
+#define read_unlock_irq(l)            _read_unlock_irq(l)
+#define read_unlock_irqrestore(l, f)  _read_unlock_irqrestore(l, f)
+#define read_trylock(l)               _read_trylock(l)
+
+#define write_lock(l)                 _write_lock(l)
+#define write_lock_irq(l)             _write_lock_irq(l)
+#define write_lock_irqsave(l, f)                                \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = _write_lock_irqsave(l));                         \
+    })
+#define write_trylock(l)              _write_trylock(l)
+
+#define write_unlock(l)               _write_unlock(l)
+#define write_unlock_irq(l)           _write_unlock_irq(l)
+#define write_unlock_irqrestore(l, f) _write_unlock_irqrestore(l, f)
+
+#define rw_is_locked(l)               _rw_is_locked(l)
+#define rw_is_write_locked(l)         _rw_is_write_locked(l)
+
+
+typedef struct percpu_rwlock percpu_rwlock_t;
+
+struct percpu_rwlock {
+    rwlock_t            rwlock;
+    bool_t              writer_activating;
+#ifndef NDEBUG
+    percpu_rwlock_t     **percpu_owner;
+#endif
+};
+
+#ifndef NDEBUG
+#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0, owner }
+static inline void _percpu_rwlock_owner_check(percpu_rwlock_t **per_cpudata,
+                                         percpu_rwlock_t *percpu_rwlock)
+{
+    ASSERT(per_cpudata == percpu_rwlock->percpu_owner);
+}
+#else
+#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0 }
+#define _percpu_rwlock_owner_check(data, lock) ((void)0)
+#endif
+
+#define DEFINE_PERCPU_RWLOCK_RESOURCE(l, owner) \
+    percpu_rwlock_t l = PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner))
+#define percpu_rwlock_resource_init(l, owner) \
+    (*(l) = (percpu_rwlock_t)PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner)))
+
+static inline void _percpu_read_lock(percpu_rwlock_t **per_cpudata,
+                                         percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /* We cannot support recursion on the same lock. */
+    ASSERT(this_cpu_ptr(per_cpudata) != percpu_rwlock);
+    /*
+     * Detect using a second percpu_rwlock_t simulatenously and fallback
+     * to standard read_lock.
+     */
+    if ( unlikely(this_cpu_ptr(per_cpudata) != NULL ) )
+    {
+        read_lock(&percpu_rwlock->rwlock);
+        return;
+    }
+
+    /* Indicate this cpu is reading. */
+    this_cpu_ptr(per_cpudata) = percpu_rwlock;
+    smp_mb();
+    /* Check if a writer is waiting. */
+    if ( unlikely(percpu_rwlock->writer_activating) )
+    {
+        /* Let the waiting writer know we aren't holding the lock. */
+        this_cpu_ptr(per_cpudata) = NULL;
+        /* Wait using the read lock to keep the lock fair. */
+        read_lock(&percpu_rwlock->rwlock);
+        /* Set the per CPU data again and continue. */
+        this_cpu_ptr(per_cpudata) = percpu_rwlock;
+        /* Drop the read lock because we don't need it anymore. */
+        read_unlock(&percpu_rwlock->rwlock);
+    }
+}
+
+static inline void _percpu_read_unlock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /* Verify the read lock was taken for this lock */
+    ASSERT(this_cpu_ptr(per_cpudata) != NULL);
+    /*
+     * Detect using a second percpu_rwlock_t simulatenously and fallback
+     * to standard read_unlock.
+     */
+    if ( unlikely(this_cpu_ptr(per_cpudata) != percpu_rwlock ) )
+    {
+        read_unlock(&percpu_rwlock->rwlock);
+        return;
+    }
+    this_cpu_ptr(per_cpudata) = NULL;
+    smp_wmb();
+}
+
+/* Don't inline percpu write lock as it's a complex function. */
+void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
+                        percpu_rwlock_t *percpu_rwlock);
+
+static inline void _percpu_write_unlock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    ASSERT(percpu_rwlock->writer_activating);
+    percpu_rwlock->writer_activating = 0;
+    write_unlock(&percpu_rwlock->rwlock);
+}
+
+#define percpu_rw_is_write_locked(l)         _rw_is_write_locked(&((l)->rwlock))
+
+#define percpu_read_lock(percpu, lock) \
+    _percpu_read_lock(&get_per_cpu_var(percpu), lock)
+#define percpu_read_unlock(percpu, lock) \
+    _percpu_read_unlock(&get_per_cpu_var(percpu), lock)
+#define percpu_write_lock(percpu, lock) \
+    _percpu_write_lock(&get_per_cpu_var(percpu), lock)
+#define percpu_write_unlock(percpu, lock) \
+    _percpu_write_unlock(&get_per_cpu_var(percpu), lock)
+
+#define DEFINE_PERCPU_RWLOCK_GLOBAL(name) DEFINE_PER_CPU(percpu_rwlock_t *, \
+                                                         name)
+#define DECLARE_PERCPU_RWLOCK_GLOBAL(name) DECLARE_PER_CPU(percpu_rwlock_t *, \
+                                                           name)
+
+#endif /* __RWLOCK_H__ */
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 5870745..b47a3fe 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -4,6 +4,7 @@
 
 #include <xen/types.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/shared.h>
 #include <xen/timer.h>
 #include <xen/rangeset.h>
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 22c4fc2..765db51 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -236,147 +236,4 @@ int _rw_is_write_locked(rwlock_t *lock);
 #define spin_lock_recursive(l)        _spin_lock_recursive(l)
 #define spin_unlock_recursive(l)      _spin_unlock_recursive(l)
 
-#define read_lock(l)                  _read_lock(l)
-#define read_lock_irq(l)              _read_lock_irq(l)
-#define read_lock_irqsave(l, f)                                 \
-    ({                                                          \
-        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
-        ((f) = _read_lock_irqsave(l));                          \
-    })
-
-#define read_unlock(l)                _read_unlock(l)
-#define read_unlock_irq(l)            _read_unlock_irq(l)
-#define read_unlock_irqrestore(l, f)  _read_unlock_irqrestore(l, f)
-#define read_trylock(l)               _read_trylock(l)
-
-#define write_lock(l)                 _write_lock(l)
-#define write_lock_irq(l)             _write_lock_irq(l)
-#define write_lock_irqsave(l, f)                                \
-    ({                                                          \
-        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
-        ((f) = _write_lock_irqsave(l));                         \
-    })
-#define write_trylock(l)              _write_trylock(l)
-
-#define write_unlock(l)               _write_unlock(l)
-#define write_unlock_irq(l)           _write_unlock_irq(l)
-#define write_unlock_irqrestore(l, f) _write_unlock_irqrestore(l, f)
-
-#define rw_is_locked(l)               _rw_is_locked(l)
-#define rw_is_write_locked(l)         _rw_is_write_locked(l)
-
-typedef struct percpu_rwlock percpu_rwlock_t;
-
-struct percpu_rwlock {
-    rwlock_t            rwlock;
-    bool_t              writer_activating;
-#ifndef NDEBUG
-    percpu_rwlock_t     **percpu_owner;
-#endif
-};
-
-#ifndef NDEBUG
-#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0, owner }
-static inline void _percpu_rwlock_owner_check(percpu_rwlock_t **per_cpudata,
-                                         percpu_rwlock_t *percpu_rwlock)
-{
-    ASSERT(per_cpudata == percpu_rwlock->percpu_owner);
-}
-#else
-#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0 }
-#define _percpu_rwlock_owner_check(data, lock) ((void)0)
-#endif
-
-#define DEFINE_PERCPU_RWLOCK_RESOURCE(l, owner) \
-    percpu_rwlock_t l = PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner))
-#define percpu_rwlock_resource_init(l, owner) \
-    (*(l) = (percpu_rwlock_t)PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner)))
-
-static inline void _percpu_read_lock(percpu_rwlock_t **per_cpudata,
-                                         percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* We cannot support recursion on the same lock. */
-    ASSERT(this_cpu_ptr(per_cpudata) != percpu_rwlock);
-    /* 
-     * Detect using a second percpu_rwlock_t simulatenously and fallback
-     * to standard read_lock.
-     */
-    if ( unlikely(this_cpu_ptr(per_cpudata) != NULL ) )
-    {
-        read_lock(&percpu_rwlock->rwlock);
-        return;
-    }
-
-    /* Indicate this cpu is reading. */
-    this_cpu_ptr(per_cpudata) = percpu_rwlock;
-    smp_mb();
-    /* Check if a writer is waiting. */
-    if ( unlikely(percpu_rwlock->writer_activating) )
-    {
-        /* Let the waiting writer know we aren't holding the lock. */
-        this_cpu_ptr(per_cpudata) = NULL;
-        /* Wait using the read lock to keep the lock fair. */
-        read_lock(&percpu_rwlock->rwlock);
-        /* Set the per CPU data again and continue. */
-        this_cpu_ptr(per_cpudata) = percpu_rwlock;
-        /* Drop the read lock because we don't need it anymore. */
-        read_unlock(&percpu_rwlock->rwlock);
-    }
-}
-
-static inline void _percpu_read_unlock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* Verify the read lock was taken for this lock */
-    ASSERT(this_cpu_ptr(per_cpudata) != NULL);
-    /* 
-     * Detect using a second percpu_rwlock_t simulatenously and fallback
-     * to standard read_unlock.
-     */
-    if ( unlikely(this_cpu_ptr(per_cpudata) != percpu_rwlock ) )
-    {
-        read_unlock(&percpu_rwlock->rwlock);
-        return;
-    }
-    this_cpu_ptr(per_cpudata) = NULL;
-    smp_wmb();
-}
-
-/* Don't inline percpu write lock as it's a complex function. */
-void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
-                        percpu_rwlock_t *percpu_rwlock);
-
-static inline void _percpu_write_unlock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    ASSERT(percpu_rwlock->writer_activating);
-    percpu_rwlock->writer_activating = 0;
-    write_unlock(&percpu_rwlock->rwlock);
-}
-
-#define percpu_rw_is_write_locked(l)         _rw_is_write_locked(&((l)->rwlock))
-
-#define percpu_read_lock(percpu, lock) \
-    _percpu_read_lock(&get_per_cpu_var(percpu), lock)
-#define percpu_read_unlock(percpu, lock) \
-    _percpu_read_unlock(&get_per_cpu_var(percpu), lock)
-#define percpu_write_lock(percpu, lock) \
-    _percpu_write_lock(&get_per_cpu_var(percpu), lock)
-#define percpu_write_unlock(percpu, lock) \
-    _percpu_write_unlock(&get_per_cpu_var(percpu), lock)
-
-#define DEFINE_PERCPU_RWLOCK_GLOBAL(name) DEFINE_PER_CPU(percpu_rwlock_t *, \
-                                                         name)
-#define DECLARE_PERCPU_RWLOCK_GLOBAL(name) DECLARE_PER_CPU(percpu_rwlock_t *, \
-                                                         name)
-
 #endif /* __SPINLOCK_H__ */
diff --git a/xen/xsm/flask/ss/services.c b/xen/xsm/flask/ss/services.c
index f31d7d7..9da358b 100644
--- a/xen/xsm/flask/ss/services.c
+++ b/xen/xsm/flask/ss/services.c
@@ -40,6 +40,7 @@
 #include <xen/xmalloc.h>
 #include <xen/string.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/errno.h>
 #include "flask.h"
 #include "avc.h"
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5Z-00045Y-Ct; Sun, 07 Feb 2016 18:29:37 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5Y-00045Q-Ea
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:36 +0000
Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id
	F1/CC-09708-F0D87B65; Sun, 07 Feb 2016 18:29:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1454869773!10059216!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25164 invoked from network); 7 Feb 2016 18:29:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6p-0007o2-Rp
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5V-0001LR-8v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5V-0001LR-8v@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:33 +0000
Subject: [Xen-changelog] [xen master] spinlock: move rwlock API and per-cpu
	rwlocks into their own files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 57fa2ce1a188caa222c7e524f2f5b6b34dec099a
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Wed Feb 3 14:09:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:09:09 2016 +0100

    spinlock: move rwlock API and per-cpu rwlocks into their own files
    
    In preparation for a replacement read-write lock implementation, move
    the API and the per-cpu read-write locks into their own files.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm/mem_sharing.c |   1 +
 xen/common/Makefile           |   1 +
 xen/common/rwlock.c           |  47 +++++++++++++
 xen/common/spinlock.c         |  45 -------------
 xen/include/asm-x86/mm.h      |   1 +
 xen/include/xen/grant_table.h |   1 +
 xen/include/xen/rwlock.h      | 150 ++++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/sched.h       |   1 +
 xen/include/xen/spinlock.h    | 143 ----------------------------------------
 xen/xsm/flask/ss/services.c   |   1 +
 10 files changed, 203 insertions(+), 188 deletions(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index a95e105..a522423 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -23,6 +23,7 @@
 #include <xen/types.h>
 #include <xen/domain_page.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/mm.h>
 #include <xen/grant_table.h>
 #include <xen/sched.h>
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 4df71ee..6e82b33 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -30,6 +30,7 @@ obj-y += rangeset.o
 obj-y += radix-tree.o
 obj-y += rbtree.o
 obj-y += rcupdate.o
+obj-y += rwlock.o
 obj-$(CONFIG_SCHED_ARINC653) += sched_arinc653.o
 obj-$(CONFIG_SCHED_CREDIT) += sched_credit.o
 obj-$(CONFIG_SCHED_CREDIT2) += sched_credit2.o
diff --git a/xen/common/rwlock.c b/xen/common/rwlock.c
new file mode 100644
index 0000000..410d4dc
--- /dev/null
+++ b/xen/common/rwlock.c
@@ -0,0 +1,47 @@
+#include <xen/rwlock.h>
+#include <xen/irq.h>
+
+static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
+
+void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    unsigned int cpu;
+    cpumask_t *rwlock_readers = &this_cpu(percpu_rwlock_readers);
+
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /*
+     * First take the write lock to protect against other writers or slow
+     * path readers.
+     */
+    write_lock(&percpu_rwlock->rwlock);
+
+    /* Now set the global variable so that readers start using read_lock. */
+    percpu_rwlock->writer_activating = 1;
+    smp_mb();
+
+    /* Using a per cpu cpumask is only safe if there is no nesting. */
+    ASSERT(!in_irq());
+    cpumask_copy(rwlock_readers, &cpu_online_map);
+
+    /* Check if there are any percpu readers in progress on this rwlock. */
+    for ( ; ; )
+    {
+        for_each_cpu(cpu, rwlock_readers)
+        {
+            /*
+             * Remove any percpu readers not contending on this rwlock
+             * from our check mask.
+             */
+            if ( per_cpu_ptr(per_cpudata, cpu) != percpu_rwlock )
+                __cpumask_clear_cpu(cpu, rwlock_readers);
+        }
+        /* Check if we've cleared all percpu readers from check mask. */
+        if ( cpumask_empty(rwlock_readers) )
+            break;
+        /* Give the coherency fabric a break. */
+        cpu_relax();
+    };
+}
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index bab1f95..7b0cf6c 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -10,8 +10,6 @@
 #include <asm/processor.h>
 #include <asm/atomic.h>
 
-static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
-
 #ifndef NDEBUG
 
 static atomic_t spin_debug __read_mostly = ATOMIC_INIT(0);
@@ -494,49 +492,6 @@ int _rw_is_write_locked(rwlock_t *lock)
     return (lock->lock == RW_WRITE_FLAG); /* writer in critical section? */
 }
 
-void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    unsigned int cpu;
-    cpumask_t *rwlock_readers = &this_cpu(percpu_rwlock_readers);
-
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* 
-     * First take the write lock to protect against other writers or slow 
-     * path readers.
-     */
-    write_lock(&percpu_rwlock->rwlock);
-
-    /* Now set the global variable so that readers start using read_lock. */
-    percpu_rwlock->writer_activating = 1;
-    smp_mb();
-
-    /* Using a per cpu cpumask is only safe if there is no nesting. */
-    ASSERT(!in_irq());
-    cpumask_copy(rwlock_readers, &cpu_online_map);
-
-    /* Check if there are any percpu readers in progress on this rwlock. */
-    for ( ; ; )
-    {
-        for_each_cpu(cpu, rwlock_readers)
-        {
-            /* 
-             * Remove any percpu readers not contending on this rwlock
-             * from our check mask.
-             */
-            if ( per_cpu_ptr(per_cpudata, cpu) != percpu_rwlock )
-                __cpumask_clear_cpu(cpu, rwlock_readers);
-        }
-        /* Check if we've cleared all percpu readers from check mask. */
-        if ( cpumask_empty(rwlock_readers) )
-            break;
-        /* Give the coherency fabric a break. */
-        cpu_relax();
-    };
-}
-
 #ifdef LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 7598414..4560deb 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -5,6 +5,7 @@
 #include <xen/config.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
 #include <asm/x86_emulate.h>
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index b4f064e..32b0ecd 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -23,6 +23,7 @@
 #ifndef __XEN_GRANT_TABLE_H__
 #define __XEN_GRANT_TABLE_H__
 
+#include <xen/rwlock.h>
 #include <public/grant_table.h>
 #include <asm/page.h>
 #include <asm/grant_table.h>
diff --git a/xen/include/xen/rwlock.h b/xen/include/xen/rwlock.h
new file mode 100644
index 0000000..9d87783
--- /dev/null
+++ b/xen/include/xen/rwlock.h
@@ -0,0 +1,150 @@
+#ifndef __RWLOCK_H__
+#define __RWLOCK_H__
+
+#include <xen/spinlock.h>
+
+#define read_lock(l)                  _read_lock(l)
+#define read_lock_irq(l)              _read_lock_irq(l)
+#define read_lock_irqsave(l, f)                                 \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = _read_lock_irqsave(l));                          \
+    })
+
+#define read_unlock(l)                _read_unlock(l)
+#define read_unlock_irq(l)            _read_unlock_irq(l)
+#define read_unlock_irqrestore(l, f)  _read_unlock_irqrestore(l, f)
+#define read_trylock(l)               _read_trylock(l)
+
+#define write_lock(l)                 _write_lock(l)
+#define write_lock_irq(l)             _write_lock_irq(l)
+#define write_lock_irqsave(l, f)                                \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = _write_lock_irqsave(l));                         \
+    })
+#define write_trylock(l)              _write_trylock(l)
+
+#define write_unlock(l)               _write_unlock(l)
+#define write_unlock_irq(l)           _write_unlock_irq(l)
+#define write_unlock_irqrestore(l, f) _write_unlock_irqrestore(l, f)
+
+#define rw_is_locked(l)               _rw_is_locked(l)
+#define rw_is_write_locked(l)         _rw_is_write_locked(l)
+
+
+typedef struct percpu_rwlock percpu_rwlock_t;
+
+struct percpu_rwlock {
+    rwlock_t            rwlock;
+    bool_t              writer_activating;
+#ifndef NDEBUG
+    percpu_rwlock_t     **percpu_owner;
+#endif
+};
+
+#ifndef NDEBUG
+#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0, owner }
+static inline void _percpu_rwlock_owner_check(percpu_rwlock_t **per_cpudata,
+                                         percpu_rwlock_t *percpu_rwlock)
+{
+    ASSERT(per_cpudata == percpu_rwlock->percpu_owner);
+}
+#else
+#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0 }
+#define _percpu_rwlock_owner_check(data, lock) ((void)0)
+#endif
+
+#define DEFINE_PERCPU_RWLOCK_RESOURCE(l, owner) \
+    percpu_rwlock_t l = PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner))
+#define percpu_rwlock_resource_init(l, owner) \
+    (*(l) = (percpu_rwlock_t)PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner)))
+
+static inline void _percpu_read_lock(percpu_rwlock_t **per_cpudata,
+                                         percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /* We cannot support recursion on the same lock. */
+    ASSERT(this_cpu_ptr(per_cpudata) != percpu_rwlock);
+    /*
+     * Detect using a second percpu_rwlock_t simulatenously and fallback
+     * to standard read_lock.
+     */
+    if ( unlikely(this_cpu_ptr(per_cpudata) != NULL ) )
+    {
+        read_lock(&percpu_rwlock->rwlock);
+        return;
+    }
+
+    /* Indicate this cpu is reading. */
+    this_cpu_ptr(per_cpudata) = percpu_rwlock;
+    smp_mb();
+    /* Check if a writer is waiting. */
+    if ( unlikely(percpu_rwlock->writer_activating) )
+    {
+        /* Let the waiting writer know we aren't holding the lock. */
+        this_cpu_ptr(per_cpudata) = NULL;
+        /* Wait using the read lock to keep the lock fair. */
+        read_lock(&percpu_rwlock->rwlock);
+        /* Set the per CPU data again and continue. */
+        this_cpu_ptr(per_cpudata) = percpu_rwlock;
+        /* Drop the read lock because we don't need it anymore. */
+        read_unlock(&percpu_rwlock->rwlock);
+    }
+}
+
+static inline void _percpu_read_unlock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    /* Verify the read lock was taken for this lock */
+    ASSERT(this_cpu_ptr(per_cpudata) != NULL);
+    /*
+     * Detect using a second percpu_rwlock_t simulatenously and fallback
+     * to standard read_unlock.
+     */
+    if ( unlikely(this_cpu_ptr(per_cpudata) != percpu_rwlock ) )
+    {
+        read_unlock(&percpu_rwlock->rwlock);
+        return;
+    }
+    this_cpu_ptr(per_cpudata) = NULL;
+    smp_wmb();
+}
+
+/* Don't inline percpu write lock as it's a complex function. */
+void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
+                        percpu_rwlock_t *percpu_rwlock);
+
+static inline void _percpu_write_unlock(percpu_rwlock_t **per_cpudata,
+                percpu_rwlock_t *percpu_rwlock)
+{
+    /* Validate the correct per_cpudata variable has been provided. */
+    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
+
+    ASSERT(percpu_rwlock->writer_activating);
+    percpu_rwlock->writer_activating = 0;
+    write_unlock(&percpu_rwlock->rwlock);
+}
+
+#define percpu_rw_is_write_locked(l)         _rw_is_write_locked(&((l)->rwlock))
+
+#define percpu_read_lock(percpu, lock) \
+    _percpu_read_lock(&get_per_cpu_var(percpu), lock)
+#define percpu_read_unlock(percpu, lock) \
+    _percpu_read_unlock(&get_per_cpu_var(percpu), lock)
+#define percpu_write_lock(percpu, lock) \
+    _percpu_write_lock(&get_per_cpu_var(percpu), lock)
+#define percpu_write_unlock(percpu, lock) \
+    _percpu_write_unlock(&get_per_cpu_var(percpu), lock)
+
+#define DEFINE_PERCPU_RWLOCK_GLOBAL(name) DEFINE_PER_CPU(percpu_rwlock_t *, \
+                                                         name)
+#define DECLARE_PERCPU_RWLOCK_GLOBAL(name) DECLARE_PER_CPU(percpu_rwlock_t *, \
+                                                           name)
+
+#endif /* __RWLOCK_H__ */
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 5870745..b47a3fe 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -4,6 +4,7 @@
 
 #include <xen/types.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/shared.h>
 #include <xen/timer.h>
 #include <xen/rangeset.h>
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 22c4fc2..765db51 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -236,147 +236,4 @@ int _rw_is_write_locked(rwlock_t *lock);
 #define spin_lock_recursive(l)        _spin_lock_recursive(l)
 #define spin_unlock_recursive(l)      _spin_unlock_recursive(l)
 
-#define read_lock(l)                  _read_lock(l)
-#define read_lock_irq(l)              _read_lock_irq(l)
-#define read_lock_irqsave(l, f)                                 \
-    ({                                                          \
-        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
-        ((f) = _read_lock_irqsave(l));                          \
-    })
-
-#define read_unlock(l)                _read_unlock(l)
-#define read_unlock_irq(l)            _read_unlock_irq(l)
-#define read_unlock_irqrestore(l, f)  _read_unlock_irqrestore(l, f)
-#define read_trylock(l)               _read_trylock(l)
-
-#define write_lock(l)                 _write_lock(l)
-#define write_lock_irq(l)             _write_lock_irq(l)
-#define write_lock_irqsave(l, f)                                \
-    ({                                                          \
-        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
-        ((f) = _write_lock_irqsave(l));                         \
-    })
-#define write_trylock(l)              _write_trylock(l)
-
-#define write_unlock(l)               _write_unlock(l)
-#define write_unlock_irq(l)           _write_unlock_irq(l)
-#define write_unlock_irqrestore(l, f) _write_unlock_irqrestore(l, f)
-
-#define rw_is_locked(l)               _rw_is_locked(l)
-#define rw_is_write_locked(l)         _rw_is_write_locked(l)
-
-typedef struct percpu_rwlock percpu_rwlock_t;
-
-struct percpu_rwlock {
-    rwlock_t            rwlock;
-    bool_t              writer_activating;
-#ifndef NDEBUG
-    percpu_rwlock_t     **percpu_owner;
-#endif
-};
-
-#ifndef NDEBUG
-#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0, owner }
-static inline void _percpu_rwlock_owner_check(percpu_rwlock_t **per_cpudata,
-                                         percpu_rwlock_t *percpu_rwlock)
-{
-    ASSERT(per_cpudata == percpu_rwlock->percpu_owner);
-}
-#else
-#define PERCPU_RW_LOCK_UNLOCKED(owner) { RW_LOCK_UNLOCKED, 0 }
-#define _percpu_rwlock_owner_check(data, lock) ((void)0)
-#endif
-
-#define DEFINE_PERCPU_RWLOCK_RESOURCE(l, owner) \
-    percpu_rwlock_t l = PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner))
-#define percpu_rwlock_resource_init(l, owner) \
-    (*(l) = (percpu_rwlock_t)PERCPU_RW_LOCK_UNLOCKED(&get_per_cpu_var(owner)))
-
-static inline void _percpu_read_lock(percpu_rwlock_t **per_cpudata,
-                                         percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* We cannot support recursion on the same lock. */
-    ASSERT(this_cpu_ptr(per_cpudata) != percpu_rwlock);
-    /* 
-     * Detect using a second percpu_rwlock_t simulatenously and fallback
-     * to standard read_lock.
-     */
-    if ( unlikely(this_cpu_ptr(per_cpudata) != NULL ) )
-    {
-        read_lock(&percpu_rwlock->rwlock);
-        return;
-    }
-
-    /* Indicate this cpu is reading. */
-    this_cpu_ptr(per_cpudata) = percpu_rwlock;
-    smp_mb();
-    /* Check if a writer is waiting. */
-    if ( unlikely(percpu_rwlock->writer_activating) )
-    {
-        /* Let the waiting writer know we aren't holding the lock. */
-        this_cpu_ptr(per_cpudata) = NULL;
-        /* Wait using the read lock to keep the lock fair. */
-        read_lock(&percpu_rwlock->rwlock);
-        /* Set the per CPU data again and continue. */
-        this_cpu_ptr(per_cpudata) = percpu_rwlock;
-        /* Drop the read lock because we don't need it anymore. */
-        read_unlock(&percpu_rwlock->rwlock);
-    }
-}
-
-static inline void _percpu_read_unlock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    /* Verify the read lock was taken for this lock */
-    ASSERT(this_cpu_ptr(per_cpudata) != NULL);
-    /* 
-     * Detect using a second percpu_rwlock_t simulatenously and fallback
-     * to standard read_unlock.
-     */
-    if ( unlikely(this_cpu_ptr(per_cpudata) != percpu_rwlock ) )
-    {
-        read_unlock(&percpu_rwlock->rwlock);
-        return;
-    }
-    this_cpu_ptr(per_cpudata) = NULL;
-    smp_wmb();
-}
-
-/* Don't inline percpu write lock as it's a complex function. */
-void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
-                        percpu_rwlock_t *percpu_rwlock);
-
-static inline void _percpu_write_unlock(percpu_rwlock_t **per_cpudata,
-                percpu_rwlock_t *percpu_rwlock)
-{
-    /* Validate the correct per_cpudata variable has been provided. */
-    _percpu_rwlock_owner_check(per_cpudata, percpu_rwlock);
-
-    ASSERT(percpu_rwlock->writer_activating);
-    percpu_rwlock->writer_activating = 0;
-    write_unlock(&percpu_rwlock->rwlock);
-}
-
-#define percpu_rw_is_write_locked(l)         _rw_is_write_locked(&((l)->rwlock))
-
-#define percpu_read_lock(percpu, lock) \
-    _percpu_read_lock(&get_per_cpu_var(percpu), lock)
-#define percpu_read_unlock(percpu, lock) \
-    _percpu_read_unlock(&get_per_cpu_var(percpu), lock)
-#define percpu_write_lock(percpu, lock) \
-    _percpu_write_lock(&get_per_cpu_var(percpu), lock)
-#define percpu_write_unlock(percpu, lock) \
-    _percpu_write_unlock(&get_per_cpu_var(percpu), lock)
-
-#define DEFINE_PERCPU_RWLOCK_GLOBAL(name) DEFINE_PER_CPU(percpu_rwlock_t *, \
-                                                         name)
-#define DECLARE_PERCPU_RWLOCK_GLOBAL(name) DECLARE_PER_CPU(percpu_rwlock_t *, \
-                                                         name)
-
 #endif /* __SPINLOCK_H__ */
diff --git a/xen/xsm/flask/ss/services.c b/xen/xsm/flask/ss/services.c
index f31d7d7..9da358b 100644
--- a/xen/xsm/flask/ss/services.c
+++ b/xen/xsm/flask/ss/services.c
@@ -40,6 +40,7 @@
 #include <xen/xmalloc.h>
 #include <xen/string.h>
 #include <xen/spinlock.h>
+#include <xen/rwlock.h>
 #include <xen/errno.h>
 #include "flask.h"
 #include "avc.h"
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5k-00047p-O8; Sun, 07 Feb 2016 18:29:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5i-00047c-Rs
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:47 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	29/52-29293-A1D87B65; Sun, 07 Feb 2016 18:29:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454869784!20786334!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17240 invoked from network); 7 Feb 2016 18:29:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU70-0007og-BM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5f-0001PS-Oc
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5f-0001PS-Oc@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:43 +0000
Subject: [Xen-changelog] [xen master] spinlock: fair read-write locks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 55d8424e4e65c549eb7be4bff6d3c4c77f54afef
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Wed Feb 3 14:10:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:10:33 2016 +0100

    spinlock: fair read-write locks
    
    The current rwlocks are write-biased and unfair.  This allows writers
    to starve readers in situations where there are many writers (e.g.,
    p2m type changes from log dirty updates during domain save).
    
    Replace the current implementation with queued read-write locks which use
    a fair spinlock (a ticket lock in this case) to ensure fairness between
    readers and writers when they are contended.
    
    This implementation is from the Linux commit 70af2f8a4f48 by Waiman
    Long and Peter Zijlstra.
    
        locking/rwlocks: Introduce 'qrwlocks' - fair, queued rwlocks
    
        This rwlock uses the arch_spin_lock_t as a waitqueue, and assuming
        the arch_spin_lock_t is a fair lock (ticket,mcs etc..) the
        resulting rwlock is a fair lock.
    
        It fits in the same 8 bytes as the regular rwlock_t by folding the
        reader and writer count into a single integer, using the remaining
        4 bytes for the arch_spinlock_t.
    
        Architectures that can single-copy adress bytes can optimize
        queue_write_unlock() with a 0 write to the LSB (the write count).
    
    We do not yet make use of the architecture-specific optimization noted
    above.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/rwlock.c        | 102 +++++++++++++++++++++++
 xen/common/spinlock.c      | 204 ---------------------------------------------
 xen/include/xen/rwlock.h   | 182 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/spinlock.h |  32 -------
 4 files changed, 284 insertions(+), 236 deletions(-)

diff --git a/xen/common/rwlock.c b/xen/common/rwlock.c
index 410d4dc..d568bbf 100644
--- a/xen/common/rwlock.c
+++ b/xen/common/rwlock.c
@@ -1,6 +1,108 @@
 #include <xen/rwlock.h>
 #include <xen/irq.h>
 
+/*
+ * rspin_until_writer_unlock - spin until writer is gone.
+ * @lock  : Pointer to queue rwlock structure.
+ * @cnts: Current queue rwlock writer status byte.
+ *
+ * In interrupt context or at the head of the queue, the reader will just
+ * increment the reader count & wait until the writer releases the lock.
+ */
+static inline void rspin_until_writer_unlock(rwlock_t *lock, u32 cnts)
+{
+    while ( (cnts & _QW_WMASK) == _QW_LOCKED )
+    {
+        cpu_relax();
+        smp_rmb();
+        cnts = atomic_read(&lock->cnts);
+    }
+}
+
+/*
+ * queue_read_lock_slowpath - acquire read lock of a queue rwlock.
+ * @lock: Pointer to queue rwlock structure.
+ */
+void queue_read_lock_slowpath(rwlock_t *lock)
+{
+    u32 cnts;
+
+    /*
+     * Readers come here when they cannot get the lock without waiting.
+     */
+    atomic_sub(_QR_BIAS, &lock->cnts);
+
+    /*
+     * Put the reader into the wait queue.
+     */
+    spin_lock(&lock->lock);
+
+    /*
+     * At the head of the wait queue now, wait until the writer state
+     * goes to 0 and then try to increment the reader count and get
+     * the lock. It is possible that an incoming writer may steal the
+     * lock in the interim, so it is necessary to check the writer byte
+     * to make sure that the write lock isn't taken.
+     */
+    while ( atomic_read(&lock->cnts) & _QW_WMASK )
+        cpu_relax();
+
+    cnts = atomic_add_return(_QR_BIAS, &lock->cnts) - _QR_BIAS;
+    rspin_until_writer_unlock(lock, cnts);
+
+    /*
+     * Signal the next one in queue to become queue head.
+     */
+    spin_unlock(&lock->lock);
+}
+
+/*
+ * queue_write_lock_slowpath - acquire write lock of a queue rwlock
+ * @lock : Pointer to queue rwlock structure.
+ */
+void queue_write_lock_slowpath(rwlock_t *lock)
+{
+    u32 cnts;
+
+    /* Put the writer into the wait queue. */
+    spin_lock(&lock->lock);
+
+    /* Try to acquire the lock directly if no reader is present. */
+    if ( !atomic_read(&lock->cnts) &&
+         (atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0) )
+        goto unlock;
+
+    /*
+     * Set the waiting flag to notify readers that a writer is pending,
+     * or wait for a previous writer to go away.
+     */
+    for ( ; ; )
+    {
+        cnts = atomic_read(&lock->cnts);
+        if ( !(cnts & _QW_WMASK) &&
+             (atomic_cmpxchg(&lock->cnts, cnts,
+                             cnts | _QW_WAITING) == cnts) )
+            break;
+
+        cpu_relax();
+    }
+
+    /* When no more readers, set the locked flag. */
+    for ( ; ; )
+    {
+        cnts = atomic_read(&lock->cnts);
+        if ( (cnts == _QW_WAITING) &&
+             (atomic_cmpxchg(&lock->cnts, _QW_WAITING,
+                             _QW_LOCKED) == _QW_WAITING) )
+            break;
+
+        cpu_relax();
+    }
+ unlock:
+    spin_unlock(&lock->lock);
+}
+
+
 static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
 
 void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 7b0cf6c..a43fa84 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -288,210 +288,6 @@ void _spin_unlock_recursive(spinlock_t *lock)
     }
 }
 
-void _read_lock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        while ( (x = lock->lock) & RW_WRITE_FLAG )
-            cpu_relax();
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-}
-
-void _read_lock_irq(rwlock_t *lock)
-{
-    uint32_t x;
-
-    ASSERT(local_irq_is_enabled());
-    local_irq_disable();
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_enable();
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-}
-
-unsigned long _read_lock_irqsave(rwlock_t *lock)
-{
-    uint32_t x;
-    unsigned long flags;
-
-    local_irq_save(flags);
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_restore(flags);
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-    return flags;
-}
-
-int _read_trylock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-            return 0;
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-    return 1;
-}
-
-#ifndef _raw_read_unlock
-# define _raw_read_unlock(l) do {                      \
-    uint32_t x = (l)->lock, y;                         \
-    while ( (y = cmpxchg(&(l)->lock, x, x - 1)) != x ) \
-        x = y;                                         \
-} while (0)
-#endif
-
-inline void _read_unlock(rwlock_t *lock)
-{
-    preempt_enable();
-    _raw_read_unlock(lock);
-}
-
-void _read_unlock_irq(rwlock_t *lock)
-{
-    _read_unlock(lock);
-    local_irq_enable();
-}
-
-void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
-{
-    _read_unlock(lock);
-    local_irq_restore(flags);
-}
-
-void _write_lock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        while ( (x = lock->lock) & RW_WRITE_FLAG )
-            cpu_relax();
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-}
-
-void _write_lock_irq(rwlock_t *lock)
-{
-    uint32_t x;
-
-    ASSERT(local_irq_is_enabled());
-    local_irq_disable();
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_enable();
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-}
-
-unsigned long _write_lock_irqsave(rwlock_t *lock)
-{
-    uint32_t x;
-    unsigned long flags;
-
-    local_irq_save(flags);
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_restore(flags);
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-    return flags;
-}
-
-int _write_trylock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) != 0 )
-            return 0;
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    preempt_disable();
-    return 1;
-}
-
-#ifndef _raw_write_unlock
-# define _raw_write_unlock(l) xchg(&(l)->lock, 0)
-#endif
-
-inline void _write_unlock(rwlock_t *lock)
-{
-    preempt_enable();
-    if ( _raw_write_unlock(lock) != RW_WRITE_FLAG )
-        BUG();
-}
-
-void _write_unlock_irq(rwlock_t *lock)
-{
-    _write_unlock(lock);
-    local_irq_enable();
-}
-
-void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
-{
-    _write_unlock(lock);
-    local_irq_restore(flags);
-}
-
-int _rw_is_locked(rwlock_t *lock)
-{
-    check_lock(&lock->debug);
-    return (lock->lock != 0); /* anyone in critical section? */
-}
-
-int _rw_is_write_locked(rwlock_t *lock)
-{
-    check_lock(&lock->debug);
-    return (lock->lock == RW_WRITE_FLAG); /* writer in critical section? */
-}
-
 #ifdef LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/include/xen/rwlock.h b/xen/include/xen/rwlock.h
index 9d87783..35657c5 100644
--- a/xen/include/xen/rwlock.h
+++ b/xen/include/xen/rwlock.h
@@ -3,6 +3,188 @@
 
 #include <xen/spinlock.h>
 
+#include <asm/atomic.h>
+#include <asm/system.h>
+
+typedef struct {
+    atomic_t cnts;
+    spinlock_t lock;
+} rwlock_t;
+
+#define    RW_LOCK_UNLOCKED {           \
+    .cnts = ATOMIC_INIT(0),             \
+    .lock = SPIN_LOCK_UNLOCKED          \
+}
+
+#define DEFINE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED
+#define rwlock_init(l) (*(l) = (rwlock_t)RW_LOCK_UNLOCKED)
+
+/*
+ * Writer states & reader shift and bias.
+ *
+ * Writer field is 8 bit to allow for potential optimisation, see
+ * _write_unlock().
+ */
+#define    _QW_WAITING  1               /* A writer is waiting     */
+#define    _QW_LOCKED   0xff            /* A writer holds the lock */
+#define    _QW_WMASK    0xff            /* Writer mask.*/
+#define    _QR_SHIFT    8               /* Reader count shift      */
+#define    _QR_BIAS     (1U << _QR_SHIFT)
+
+void queue_read_lock_slowpath(rwlock_t *lock);
+void queue_write_lock_slowpath(rwlock_t *lock);
+
+/*
+ * _read_trylock - try to acquire read lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ * Return: 1 if lock acquired, 0 if failed.
+ */
+static inline int _read_trylock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_read(&lock->cnts);
+    if ( likely(!(cnts & _QW_WMASK)) )
+    {
+        cnts = (u32)atomic_add_return(_QR_BIAS, &lock->cnts);
+        if ( likely(!(cnts & _QW_WMASK)) )
+            return 1;
+        atomic_sub(_QR_BIAS, &lock->cnts);
+    }
+    return 0;
+}
+
+/*
+ * _read_lock - acquire read lock of a queue rwlock.
+ * @lock: Pointer to queue rwlock structure.
+ */
+static inline void _read_lock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_add_return(_QR_BIAS, &lock->cnts);
+    if ( likely(!(cnts & _QW_WMASK)) )
+        return;
+
+    /* The slowpath will decrement the reader count, if necessary. */
+    queue_read_lock_slowpath(lock);
+}
+
+static inline void _read_lock_irq(rwlock_t *lock)
+{
+    ASSERT(local_irq_is_enabled());
+    local_irq_disable();
+    _read_lock(lock);
+}
+
+static inline unsigned long _read_lock_irqsave(rwlock_t *lock)
+{
+    unsigned long flags;
+    local_irq_save(flags);
+    _read_lock(lock);
+    return flags;
+}
+
+/*
+ * _read_unlock - release read lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ */
+static inline void _read_unlock(rwlock_t *lock)
+{
+    /*
+     * Atomically decrement the reader count
+     */
+    atomic_sub(_QR_BIAS, &lock->cnts);
+}
+
+static inline void _read_unlock_irq(rwlock_t *lock)
+{
+    _read_unlock(lock);
+    local_irq_enable();
+}
+
+static inline void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
+{
+    _read_unlock(lock);
+    local_irq_restore(flags);
+}
+
+static inline int _rw_is_locked(rwlock_t *lock)
+{
+    return atomic_read(&lock->cnts);
+}
+
+/*
+ * queue_write_lock - acquire write lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ */
+static inline void _write_lock(rwlock_t *lock)
+{
+    /* Optimize for the unfair lock case where the fair flag is 0. */
+    if ( atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0 )
+        return;
+
+    queue_write_lock_slowpath(lock);
+}
+
+static inline void _write_lock_irq(rwlock_t *lock)
+{
+    ASSERT(local_irq_is_enabled());
+    local_irq_disable();
+    _write_lock(lock);
+}
+
+static inline unsigned long _write_lock_irqsave(rwlock_t *lock)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    _write_lock(lock);
+    return flags;
+}
+
+/*
+ * queue_write_trylock - try to acquire write lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ * Return: 1 if lock acquired, 0 if failed.
+ */
+static inline int _write_trylock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_read(&lock->cnts);
+    if ( unlikely(cnts) )
+        return 0;
+
+    return likely(atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0);
+}
+
+static inline void _write_unlock(rwlock_t *lock)
+{
+    /*
+     * If the writer field is atomic, it can be cleared directly.
+     * Otherwise, an atomic subtraction will be used to clear it.
+     */
+    atomic_sub(_QW_LOCKED, &lock->cnts);
+}
+
+static inline void _write_unlock_irq(rwlock_t *lock)
+{
+    _write_unlock(lock);
+    local_irq_enable();
+}
+
+static inline void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
+{
+    _write_unlock(lock);
+    local_irq_restore(flags);
+}
+
+static inline int _rw_is_write_locked(rwlock_t *lock)
+{
+    return (atomic_read(&lock->cnts) & _QW_WMASK) == _QW_LOCKED;
+}
+
 #define read_lock(l)                  _read_lock(l)
 #define read_lock_irq(l)              _read_lock_irq(l)
 #define read_lock_irqsave(l, f)                                 \
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 765db51..77ab7d5 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -152,17 +152,6 @@ typedef struct spinlock {
 
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
 
-typedef struct {
-    volatile uint32_t lock;
-    struct lock_debug debug;
-} rwlock_t;
-
-#define RW_WRITE_FLAG (1u<<31)
-
-#define RW_LOCK_UNLOCKED { 0, _LOCK_DEBUG }
-#define DEFINE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED
-#define rwlock_init(l) (*(l) = (rwlock_t)RW_LOCK_UNLOCKED)
-
 void _spin_lock(spinlock_t *lock);
 void _spin_lock_irq(spinlock_t *lock);
 unsigned long _spin_lock_irqsave(spinlock_t *lock);
@@ -179,27 +168,6 @@ int _spin_trylock_recursive(spinlock_t *lock);
 void _spin_lock_recursive(spinlock_t *lock);
 void _spin_unlock_recursive(spinlock_t *lock);
 
-void _read_lock(rwlock_t *lock);
-void _read_lock_irq(rwlock_t *lock);
-unsigned long _read_lock_irqsave(rwlock_t *lock);
-
-void _read_unlock(rwlock_t *lock);
-void _read_unlock_irq(rwlock_t *lock);
-void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
-int _read_trylock(rwlock_t *lock);
-
-void _write_lock(rwlock_t *lock);
-void _write_lock_irq(rwlock_t *lock);
-unsigned long _write_lock_irqsave(rwlock_t *lock);
-int _write_trylock(rwlock_t *lock);
-
-void _write_unlock(rwlock_t *lock);
-void _write_unlock_irq(rwlock_t *lock);
-void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
-
-int _rw_is_locked(rwlock_t *lock);
-int _rw_is_write_locked(rwlock_t *lock);
-
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_irq(l)              _spin_lock_irq(l)
 #define spin_lock_irqsave(l, f)                                 \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5k-00047p-O8; Sun, 07 Feb 2016 18:29:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5i-00047c-Rs
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:47 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	29/52-29293-A1D87B65; Sun, 07 Feb 2016 18:29:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454869784!20786334!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17240 invoked from network); 7 Feb 2016 18:29:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU70-0007og-BM
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5f-0001PS-Oc
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5f-0001PS-Oc@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:43 +0000
Subject: [Xen-changelog] [xen master] spinlock: fair read-write locks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 55d8424e4e65c549eb7be4bff6d3c4c77f54afef
Author:     Jennifer Herbert <jennifer.herbert@citrix.com>
AuthorDate: Wed Feb 3 14:10:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:10:33 2016 +0100

    spinlock: fair read-write locks
    
    The current rwlocks are write-biased and unfair.  This allows writers
    to starve readers in situations where there are many writers (e.g.,
    p2m type changes from log dirty updates during domain save).
    
    Replace the current implementation with queued read-write locks which use
    a fair spinlock (a ticket lock in this case) to ensure fairness between
    readers and writers when they are contended.
    
    This implementation is from the Linux commit 70af2f8a4f48 by Waiman
    Long and Peter Zijlstra.
    
        locking/rwlocks: Introduce 'qrwlocks' - fair, queued rwlocks
    
        This rwlock uses the arch_spin_lock_t as a waitqueue, and assuming
        the arch_spin_lock_t is a fair lock (ticket,mcs etc..) the
        resulting rwlock is a fair lock.
    
        It fits in the same 8 bytes as the regular rwlock_t by folding the
        reader and writer count into a single integer, using the remaining
        4 bytes for the arch_spinlock_t.
    
        Architectures that can single-copy adress bytes can optimize
        queue_write_unlock() with a 0 write to the LSB (the write count).
    
    We do not yet make use of the architecture-specific optimization noted
    above.
    
    Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/rwlock.c        | 102 +++++++++++++++++++++++
 xen/common/spinlock.c      | 204 ---------------------------------------------
 xen/include/xen/rwlock.h   | 182 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/spinlock.h |  32 -------
 4 files changed, 284 insertions(+), 236 deletions(-)

diff --git a/xen/common/rwlock.c b/xen/common/rwlock.c
index 410d4dc..d568bbf 100644
--- a/xen/common/rwlock.c
+++ b/xen/common/rwlock.c
@@ -1,6 +1,108 @@
 #include <xen/rwlock.h>
 #include <xen/irq.h>
 
+/*
+ * rspin_until_writer_unlock - spin until writer is gone.
+ * @lock  : Pointer to queue rwlock structure.
+ * @cnts: Current queue rwlock writer status byte.
+ *
+ * In interrupt context or at the head of the queue, the reader will just
+ * increment the reader count & wait until the writer releases the lock.
+ */
+static inline void rspin_until_writer_unlock(rwlock_t *lock, u32 cnts)
+{
+    while ( (cnts & _QW_WMASK) == _QW_LOCKED )
+    {
+        cpu_relax();
+        smp_rmb();
+        cnts = atomic_read(&lock->cnts);
+    }
+}
+
+/*
+ * queue_read_lock_slowpath - acquire read lock of a queue rwlock.
+ * @lock: Pointer to queue rwlock structure.
+ */
+void queue_read_lock_slowpath(rwlock_t *lock)
+{
+    u32 cnts;
+
+    /*
+     * Readers come here when they cannot get the lock without waiting.
+     */
+    atomic_sub(_QR_BIAS, &lock->cnts);
+
+    /*
+     * Put the reader into the wait queue.
+     */
+    spin_lock(&lock->lock);
+
+    /*
+     * At the head of the wait queue now, wait until the writer state
+     * goes to 0 and then try to increment the reader count and get
+     * the lock. It is possible that an incoming writer may steal the
+     * lock in the interim, so it is necessary to check the writer byte
+     * to make sure that the write lock isn't taken.
+     */
+    while ( atomic_read(&lock->cnts) & _QW_WMASK )
+        cpu_relax();
+
+    cnts = atomic_add_return(_QR_BIAS, &lock->cnts) - _QR_BIAS;
+    rspin_until_writer_unlock(lock, cnts);
+
+    /*
+     * Signal the next one in queue to become queue head.
+     */
+    spin_unlock(&lock->lock);
+}
+
+/*
+ * queue_write_lock_slowpath - acquire write lock of a queue rwlock
+ * @lock : Pointer to queue rwlock structure.
+ */
+void queue_write_lock_slowpath(rwlock_t *lock)
+{
+    u32 cnts;
+
+    /* Put the writer into the wait queue. */
+    spin_lock(&lock->lock);
+
+    /* Try to acquire the lock directly if no reader is present. */
+    if ( !atomic_read(&lock->cnts) &&
+         (atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0) )
+        goto unlock;
+
+    /*
+     * Set the waiting flag to notify readers that a writer is pending,
+     * or wait for a previous writer to go away.
+     */
+    for ( ; ; )
+    {
+        cnts = atomic_read(&lock->cnts);
+        if ( !(cnts & _QW_WMASK) &&
+             (atomic_cmpxchg(&lock->cnts, cnts,
+                             cnts | _QW_WAITING) == cnts) )
+            break;
+
+        cpu_relax();
+    }
+
+    /* When no more readers, set the locked flag. */
+    for ( ; ; )
+    {
+        cnts = atomic_read(&lock->cnts);
+        if ( (cnts == _QW_WAITING) &&
+             (atomic_cmpxchg(&lock->cnts, _QW_WAITING,
+                             _QW_LOCKED) == _QW_WAITING) )
+            break;
+
+        cpu_relax();
+    }
+ unlock:
+    spin_unlock(&lock->lock);
+}
+
+
 static DEFINE_PER_CPU(cpumask_t, percpu_rwlock_readers);
 
 void _percpu_write_lock(percpu_rwlock_t **per_cpudata,
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 7b0cf6c..a43fa84 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -288,210 +288,6 @@ void _spin_unlock_recursive(spinlock_t *lock)
     }
 }
 
-void _read_lock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        while ( (x = lock->lock) & RW_WRITE_FLAG )
-            cpu_relax();
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-}
-
-void _read_lock_irq(rwlock_t *lock)
-{
-    uint32_t x;
-
-    ASSERT(local_irq_is_enabled());
-    local_irq_disable();
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_enable();
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-}
-
-unsigned long _read_lock_irqsave(rwlock_t *lock)
-{
-    uint32_t x;
-    unsigned long flags;
-
-    local_irq_save(flags);
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_restore(flags);
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-    return flags;
-}
-
-int _read_trylock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-            return 0;
-    } while ( cmpxchg(&lock->lock, x, x+1) != x );
-    preempt_disable();
-    return 1;
-}
-
-#ifndef _raw_read_unlock
-# define _raw_read_unlock(l) do {                      \
-    uint32_t x = (l)->lock, y;                         \
-    while ( (y = cmpxchg(&(l)->lock, x, x - 1)) != x ) \
-        x = y;                                         \
-} while (0)
-#endif
-
-inline void _read_unlock(rwlock_t *lock)
-{
-    preempt_enable();
-    _raw_read_unlock(lock);
-}
-
-void _read_unlock_irq(rwlock_t *lock)
-{
-    _read_unlock(lock);
-    local_irq_enable();
-}
-
-void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
-{
-    _read_unlock(lock);
-    local_irq_restore(flags);
-}
-
-void _write_lock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        while ( (x = lock->lock) & RW_WRITE_FLAG )
-            cpu_relax();
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-}
-
-void _write_lock_irq(rwlock_t *lock)
-{
-    uint32_t x;
-
-    ASSERT(local_irq_is_enabled());
-    local_irq_disable();
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_enable();
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-}
-
-unsigned long _write_lock_irqsave(rwlock_t *lock)
-{
-    uint32_t x;
-    unsigned long flags;
-
-    local_irq_save(flags);
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) & RW_WRITE_FLAG )
-        {
-            local_irq_restore(flags);
-            while ( (x = lock->lock) & RW_WRITE_FLAG )
-                cpu_relax();
-            local_irq_disable();
-        }
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    while ( x != 0 )
-    {
-        cpu_relax();
-        x = lock->lock & ~RW_WRITE_FLAG;
-    }
-    preempt_disable();
-    return flags;
-}
-
-int _write_trylock(rwlock_t *lock)
-{
-    uint32_t x;
-
-    check_lock(&lock->debug);
-    do {
-        if ( (x = lock->lock) != 0 )
-            return 0;
-    } while ( cmpxchg(&lock->lock, x, x|RW_WRITE_FLAG) != x );
-    preempt_disable();
-    return 1;
-}
-
-#ifndef _raw_write_unlock
-# define _raw_write_unlock(l) xchg(&(l)->lock, 0)
-#endif
-
-inline void _write_unlock(rwlock_t *lock)
-{
-    preempt_enable();
-    if ( _raw_write_unlock(lock) != RW_WRITE_FLAG )
-        BUG();
-}
-
-void _write_unlock_irq(rwlock_t *lock)
-{
-    _write_unlock(lock);
-    local_irq_enable();
-}
-
-void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
-{
-    _write_unlock(lock);
-    local_irq_restore(flags);
-}
-
-int _rw_is_locked(rwlock_t *lock)
-{
-    check_lock(&lock->debug);
-    return (lock->lock != 0); /* anyone in critical section? */
-}
-
-int _rw_is_write_locked(rwlock_t *lock)
-{
-    check_lock(&lock->debug);
-    return (lock->lock == RW_WRITE_FLAG); /* writer in critical section? */
-}
-
 #ifdef LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/include/xen/rwlock.h b/xen/include/xen/rwlock.h
index 9d87783..35657c5 100644
--- a/xen/include/xen/rwlock.h
+++ b/xen/include/xen/rwlock.h
@@ -3,6 +3,188 @@
 
 #include <xen/spinlock.h>
 
+#include <asm/atomic.h>
+#include <asm/system.h>
+
+typedef struct {
+    atomic_t cnts;
+    spinlock_t lock;
+} rwlock_t;
+
+#define    RW_LOCK_UNLOCKED {           \
+    .cnts = ATOMIC_INIT(0),             \
+    .lock = SPIN_LOCK_UNLOCKED          \
+}
+
+#define DEFINE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED
+#define rwlock_init(l) (*(l) = (rwlock_t)RW_LOCK_UNLOCKED)
+
+/*
+ * Writer states & reader shift and bias.
+ *
+ * Writer field is 8 bit to allow for potential optimisation, see
+ * _write_unlock().
+ */
+#define    _QW_WAITING  1               /* A writer is waiting     */
+#define    _QW_LOCKED   0xff            /* A writer holds the lock */
+#define    _QW_WMASK    0xff            /* Writer mask.*/
+#define    _QR_SHIFT    8               /* Reader count shift      */
+#define    _QR_BIAS     (1U << _QR_SHIFT)
+
+void queue_read_lock_slowpath(rwlock_t *lock);
+void queue_write_lock_slowpath(rwlock_t *lock);
+
+/*
+ * _read_trylock - try to acquire read lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ * Return: 1 if lock acquired, 0 if failed.
+ */
+static inline int _read_trylock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_read(&lock->cnts);
+    if ( likely(!(cnts & _QW_WMASK)) )
+    {
+        cnts = (u32)atomic_add_return(_QR_BIAS, &lock->cnts);
+        if ( likely(!(cnts & _QW_WMASK)) )
+            return 1;
+        atomic_sub(_QR_BIAS, &lock->cnts);
+    }
+    return 0;
+}
+
+/*
+ * _read_lock - acquire read lock of a queue rwlock.
+ * @lock: Pointer to queue rwlock structure.
+ */
+static inline void _read_lock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_add_return(_QR_BIAS, &lock->cnts);
+    if ( likely(!(cnts & _QW_WMASK)) )
+        return;
+
+    /* The slowpath will decrement the reader count, if necessary. */
+    queue_read_lock_slowpath(lock);
+}
+
+static inline void _read_lock_irq(rwlock_t *lock)
+{
+    ASSERT(local_irq_is_enabled());
+    local_irq_disable();
+    _read_lock(lock);
+}
+
+static inline unsigned long _read_lock_irqsave(rwlock_t *lock)
+{
+    unsigned long flags;
+    local_irq_save(flags);
+    _read_lock(lock);
+    return flags;
+}
+
+/*
+ * _read_unlock - release read lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ */
+static inline void _read_unlock(rwlock_t *lock)
+{
+    /*
+     * Atomically decrement the reader count
+     */
+    atomic_sub(_QR_BIAS, &lock->cnts);
+}
+
+static inline void _read_unlock_irq(rwlock_t *lock)
+{
+    _read_unlock(lock);
+    local_irq_enable();
+}
+
+static inline void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
+{
+    _read_unlock(lock);
+    local_irq_restore(flags);
+}
+
+static inline int _rw_is_locked(rwlock_t *lock)
+{
+    return atomic_read(&lock->cnts);
+}
+
+/*
+ * queue_write_lock - acquire write lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ */
+static inline void _write_lock(rwlock_t *lock)
+{
+    /* Optimize for the unfair lock case where the fair flag is 0. */
+    if ( atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0 )
+        return;
+
+    queue_write_lock_slowpath(lock);
+}
+
+static inline void _write_lock_irq(rwlock_t *lock)
+{
+    ASSERT(local_irq_is_enabled());
+    local_irq_disable();
+    _write_lock(lock);
+}
+
+static inline unsigned long _write_lock_irqsave(rwlock_t *lock)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    _write_lock(lock);
+    return flags;
+}
+
+/*
+ * queue_write_trylock - try to acquire write lock of a queue rwlock.
+ * @lock : Pointer to queue rwlock structure.
+ * Return: 1 if lock acquired, 0 if failed.
+ */
+static inline int _write_trylock(rwlock_t *lock)
+{
+    u32 cnts;
+
+    cnts = atomic_read(&lock->cnts);
+    if ( unlikely(cnts) )
+        return 0;
+
+    return likely(atomic_cmpxchg(&lock->cnts, 0, _QW_LOCKED) == 0);
+}
+
+static inline void _write_unlock(rwlock_t *lock)
+{
+    /*
+     * If the writer field is atomic, it can be cleared directly.
+     * Otherwise, an atomic subtraction will be used to clear it.
+     */
+    atomic_sub(_QW_LOCKED, &lock->cnts);
+}
+
+static inline void _write_unlock_irq(rwlock_t *lock)
+{
+    _write_unlock(lock);
+    local_irq_enable();
+}
+
+static inline void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
+{
+    _write_unlock(lock);
+    local_irq_restore(flags);
+}
+
+static inline int _rw_is_write_locked(rwlock_t *lock)
+{
+    return (atomic_read(&lock->cnts) & _QW_WMASK) == _QW_LOCKED;
+}
+
 #define read_lock(l)                  _read_lock(l)
 #define read_lock_irq(l)              _read_lock_irq(l)
 #define read_lock_irqsave(l, f)                                 \
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 765db51..77ab7d5 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -152,17 +152,6 @@ typedef struct spinlock {
 
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
 
-typedef struct {
-    volatile uint32_t lock;
-    struct lock_debug debug;
-} rwlock_t;
-
-#define RW_WRITE_FLAG (1u<<31)
-
-#define RW_LOCK_UNLOCKED { 0, _LOCK_DEBUG }
-#define DEFINE_RWLOCK(l) rwlock_t l = RW_LOCK_UNLOCKED
-#define rwlock_init(l) (*(l) = (rwlock_t)RW_LOCK_UNLOCKED)
-
 void _spin_lock(spinlock_t *lock);
 void _spin_lock_irq(spinlock_t *lock);
 unsigned long _spin_lock_irqsave(spinlock_t *lock);
@@ -179,27 +168,6 @@ int _spin_trylock_recursive(spinlock_t *lock);
 void _spin_lock_recursive(spinlock_t *lock);
 void _spin_unlock_recursive(spinlock_t *lock);
 
-void _read_lock(rwlock_t *lock);
-void _read_lock_irq(rwlock_t *lock);
-unsigned long _read_lock_irqsave(rwlock_t *lock);
-
-void _read_unlock(rwlock_t *lock);
-void _read_unlock_irq(rwlock_t *lock);
-void _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
-int _read_trylock(rwlock_t *lock);
-
-void _write_lock(rwlock_t *lock);
-void _write_lock_irq(rwlock_t *lock);
-unsigned long _write_lock_irqsave(rwlock_t *lock);
-int _write_trylock(rwlock_t *lock);
-
-void _write_unlock(rwlock_t *lock);
-void _write_unlock_irq(rwlock_t *lock);
-void _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags);
-
-int _rw_is_locked(rwlock_t *lock);
-int _rw_is_write_locked(rwlock_t *lock);
-
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_irq(l)              _spin_lock_irq(l)
 #define spin_lock_irqsave(l, f)                                 \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5u-00049K-TJ; Sun, 07 Feb 2016 18:29:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5t-000493-78
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:57 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	C7/D6-23366-42D87B65; Sun, 07 Feb 2016 18:29:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869794!21163286!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25305 invoked from network); 7 Feb 2016 18:29:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7A-0007oo-NF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5q-0001V2-8Y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5q-0001V2-8Y@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:54 +0000
Subject: [Xen-changelog] [xen master] x86/PV: fix unintended dependency of
	m2p-strict mode on migration-v2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit be05b5385fb261c1fa1cbb6b4bdc12a6e8676c4b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 3 14:12:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:12:00 2016 +0100

    x86/PV: fix unintended dependency of m2p-strict mode on migration-v2
    
    This went unnoticed until a backport of this to an older Xen got used,
    causing migration of guests enabling this VM assist to fail, because
    page table pinning there precedes vCPU context loading, and hence L4
    tables get initialized for the wrong mode. Fix this by post-processing
    L4 tables when setting the intended VM assist flags for the guest.
    
    Note that this leaves in place a dependency on vCPU 0 getting its guest
    context restored first, but afaict the logic here is not the only thing
    depending on that.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domain.c        | 41 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/mm.c            | 30 ++++++++++++++++++++++++------
 xen/include/asm-x86/domain.h |  2 ++
 xen/include/asm-x86/mm.h     |  2 +-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index b513028..9d43f7b 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1075,7 +1075,48 @@ int arch_set_info_guest(
         goto out;
 
     if ( v->vcpu_id == 0 )
+    {
+        /*
+         * In the restore case we need to deal with L4 pages which got
+         * initialized with m2p_strict still clear (and which hence lack the
+         * correct initial RO_MPT_VIRT_{START,END} L4 entry).
+         */
+        if ( d != current->domain && !VM_ASSIST(d, m2p_strict) &&
+             is_pv_domain(d) && !is_pv_32bit_domain(d) &&
+             test_bit(VMASST_TYPE_m2p_strict, &c.nat->vm_assist) &&
+             atomic_read(&d->arch.pv_domain.nr_l4_pages) )
+        {
+            bool_t done = 0;
+
+            spin_lock_recursive(&d->page_alloc_lock);
+
+            for ( i = 0; ; )
+            {
+                struct page_info *page = page_list_remove_head(&d->page_list);
+
+                if ( page_lock(page) )
+                {
+                    if ( (page->u.inuse.type_info & PGT_type_mask) ==
+                         PGT_l4_page_table )
+                        done = !fill_ro_mpt(page_to_mfn(page));
+
+                    page_unlock(page);
+                }
+
+                page_list_add_tail(page, &d->page_list);
+
+                if ( done || (!(++i & 0xff) && hypercall_preempt_check()) )
+                    break;
+            }
+
+            spin_unlock_recursive(&d->page_alloc_lock);
+
+            if ( !done )
+                return -ERESTART;
+        }
+
         d->vm_assist = c(vm_assist);
+    }
 
     rc = put_old_guest_table(current);
     if ( rc )
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1ee431e..6fcd2c2 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1463,13 +1463,20 @@ void init_guest_l4_table(l4_pgentry_t l4tab[], const struct domain *d,
         l4tab[l4_table_offset(RO_MPT_VIRT_START)] = l4e_empty();
 }
 
-void fill_ro_mpt(unsigned long mfn)
+bool_t fill_ro_mpt(unsigned long mfn)
 {
     l4_pgentry_t *l4tab = map_domain_page(_mfn(mfn));
+    bool_t ret = 0;
 
-    l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
-        idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+    if ( !l4e_get_intpte(l4tab[l4_table_offset(RO_MPT_VIRT_START)]) )
+    {
+        l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
+            idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+        ret = 1;
+    }
     unmap_domain_page(l4tab);
+
+    return ret;
 }
 
 void zap_ro_mpt(unsigned long mfn)
@@ -1527,10 +1534,15 @@ static int alloc_l4_table(struct page_info *page)
         adjust_guest_l4e(pl4e[i], d);
     }
 
-    init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+    if ( rc >= 0 )
+    {
+        init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+        atomic_inc(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    return rc;
 }
 
 static void free_l1_table(struct page_info *page)
@@ -1648,7 +1660,13 @@ static int free_l4_table(struct page_info *page)
 
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    if ( rc >= 0 )
+    {
+        atomic_dec(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
+
+    return rc;
 }
 
 int page_lock(struct page_info *page)
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 405adef..4072e27 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -248,6 +248,8 @@ struct pv_domain
 {
     l1_pgentry_t **gdt_ldt_l1tab;
 
+    atomic_t nr_l4_pages;
+
     /* map_domain_page() mapping cache. */
     struct mapcache_domain mapcache;
 };
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 4560deb..a097382 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -323,7 +323,7 @@ int free_page_type(struct page_info *page, unsigned long type,
 
 void init_guest_l4_table(l4_pgentry_t[], const struct domain *,
                          bool_t zap_ro_mpt);
-void fill_ro_mpt(unsigned long mfn);
+bool_t fill_ro_mpt(unsigned long mfn);
 void zap_ro_mpt(unsigned long mfn);
 
 int is_iomem_page(unsigned long mfn);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:29:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:29:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU5u-00049K-TJ; Sun, 07 Feb 2016 18:29:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5t-000493-78
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:57 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	C7/D6-23366-42D87B65; Sun, 07 Feb 2016 18:29:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869794!21163286!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25305 invoked from network); 7 Feb 2016 18:29:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:29:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7A-0007oo-NF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU5q-0001V2-8Y
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:29:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU5q-0001V2-8Y@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:29:54 +0000
Subject: [Xen-changelog] [xen master] x86/PV: fix unintended dependency of
	m2p-strict mode on migration-v2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit be05b5385fb261c1fa1cbb6b4bdc12a6e8676c4b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 3 14:12:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 3 14:12:00 2016 +0100

    x86/PV: fix unintended dependency of m2p-strict mode on migration-v2
    
    This went unnoticed until a backport of this to an older Xen got used,
    causing migration of guests enabling this VM assist to fail, because
    page table pinning there precedes vCPU context loading, and hence L4
    tables get initialized for the wrong mode. Fix this by post-processing
    L4 tables when setting the intended VM assist flags for the guest.
    
    Note that this leaves in place a dependency on vCPU 0 getting its guest
    context restored first, but afaict the logic here is not the only thing
    depending on that.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/domain.c        | 41 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/mm.c            | 30 ++++++++++++++++++++++++------
 xen/include/asm-x86/domain.h |  2 ++
 xen/include/asm-x86/mm.h     |  2 +-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index b513028..9d43f7b 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1075,7 +1075,48 @@ int arch_set_info_guest(
         goto out;
 
     if ( v->vcpu_id == 0 )
+    {
+        /*
+         * In the restore case we need to deal with L4 pages which got
+         * initialized with m2p_strict still clear (and which hence lack the
+         * correct initial RO_MPT_VIRT_{START,END} L4 entry).
+         */
+        if ( d != current->domain && !VM_ASSIST(d, m2p_strict) &&
+             is_pv_domain(d) && !is_pv_32bit_domain(d) &&
+             test_bit(VMASST_TYPE_m2p_strict, &c.nat->vm_assist) &&
+             atomic_read(&d->arch.pv_domain.nr_l4_pages) )
+        {
+            bool_t done = 0;
+
+            spin_lock_recursive(&d->page_alloc_lock);
+
+            for ( i = 0; ; )
+            {
+                struct page_info *page = page_list_remove_head(&d->page_list);
+
+                if ( page_lock(page) )
+                {
+                    if ( (page->u.inuse.type_info & PGT_type_mask) ==
+                         PGT_l4_page_table )
+                        done = !fill_ro_mpt(page_to_mfn(page));
+
+                    page_unlock(page);
+                }
+
+                page_list_add_tail(page, &d->page_list);
+
+                if ( done || (!(++i & 0xff) && hypercall_preempt_check()) )
+                    break;
+            }
+
+            spin_unlock_recursive(&d->page_alloc_lock);
+
+            if ( !done )
+                return -ERESTART;
+        }
+
         d->vm_assist = c(vm_assist);
+    }
 
     rc = put_old_guest_table(current);
     if ( rc )
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1ee431e..6fcd2c2 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1463,13 +1463,20 @@ void init_guest_l4_table(l4_pgentry_t l4tab[], const struct domain *d,
         l4tab[l4_table_offset(RO_MPT_VIRT_START)] = l4e_empty();
 }
 
-void fill_ro_mpt(unsigned long mfn)
+bool_t fill_ro_mpt(unsigned long mfn)
 {
     l4_pgentry_t *l4tab = map_domain_page(_mfn(mfn));
+    bool_t ret = 0;
 
-    l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
-        idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+    if ( !l4e_get_intpte(l4tab[l4_table_offset(RO_MPT_VIRT_START)]) )
+    {
+        l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
+            idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+        ret = 1;
+    }
     unmap_domain_page(l4tab);
+
+    return ret;
 }
 
 void zap_ro_mpt(unsigned long mfn)
@@ -1527,10 +1534,15 @@ static int alloc_l4_table(struct page_info *page)
         adjust_guest_l4e(pl4e[i], d);
     }
 
-    init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+    if ( rc >= 0 )
+    {
+        init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+        atomic_inc(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    return rc;
 }
 
 static void free_l1_table(struct page_info *page)
@@ -1648,7 +1660,13 @@ static int free_l4_table(struct page_info *page)
 
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    if ( rc >= 0 )
+    {
+        atomic_dec(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
+
+    return rc;
 }
 
 int page_lock(struct page_info *page)
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 405adef..4072e27 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -248,6 +248,8 @@ struct pv_domain
 {
     l1_pgentry_t **gdt_ldt_l1tab;
 
+    atomic_t nr_l4_pages;
+
     /* map_domain_page() mapping cache. */
     struct mapcache_domain mapcache;
 };
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 4560deb..a097382 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -323,7 +323,7 @@ int free_page_type(struct page_info *page, unsigned long type,
 
 void init_guest_l4_table(l4_pgentry_t[], const struct domain *,
                          bool_t zap_ro_mpt);
-void fill_ro_mpt(unsigned long mfn);
+bool_t fill_ro_mpt(unsigned long mfn);
 void zap_ro_mpt(unsigned long mfn);
 
 int is_iomem_page(unsigned long mfn);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU65-0004Ak-1X; Sun, 07 Feb 2016 18:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU63-0004AU-A7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:07 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	D2/1E-10115-E2D87B65; Sun, 07 Feb 2016 18:30:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1454869805!22116154!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12056 invoked from network); 7 Feb 2016 18:30:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7L-0007ox-5c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU60-0001WW-Nf
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU60-0001WW-Nf@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:04 +0000
Subject: [Xen-changelog] [xen master] x86: support 2- and 3-way alternatives
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6f8e41c67a884b5eaa321bd58fdcf593179f5f2c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 4 11:38:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:38:52 2016 +0100

    x86: support 2- and 3-way alternatives
    
    Parts taken from Linux, but implementing the ALTERNATIVE*() macros
    recursively to avoid needless redundancy.
    
    Also make the .discard section non-writable (we might even consider
    dropping its alloc flag too) and limit the pushing and popping of
    sections.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/asm-x86/alternative.h | 63 ++++++++++++++++++++++++++++++++-------
 1 file changed, 52 insertions(+), 11 deletions(-)

diff --git a/xen/include/asm-x86/alternative.h b/xen/include/asm-x86/alternative.h
index 7d11354..1056630 100644
--- a/xen/include/asm-x86/alternative.h
+++ b/xen/include/asm-x86/alternative.h
@@ -46,18 +46,28 @@ extern void alternative_instructions(void);
 #define ALTINSTR_REPLACEMENT(newinstr, feature, number) /* replacement */     \
         b_replacement(number)":\n\t" newinstr "\n" e_replacement(number) ":\n\t"
 
+#define ALTERNATIVE_N(newinstr, feature, number)	\
+	".pushsection .altinstructions,\"a\"\n"		\
+	ALTINSTR_ENTRY(feature, number)			\
+	".section .discard,\"a\",@progbits\n"		\
+	DISCARD_ENTRY(number)				\
+	".section .altinstr_replacement, \"ax\"\n"	\
+	ALTINSTR_REPLACEMENT(newinstr, feature, number)	\
+	".popsection\n"
+
 /* alternative assembly primitive: */
-#define ALTERNATIVE(oldinstr, newinstr, feature)                        \
-        OLDINSTR(oldinstr)                                              \
-        ".pushsection .altinstructions,\"a\"\n"                         \
-        ALTINSTR_ENTRY(feature, 1)                                      \
-        ".popsection\n"                                                 \
-        ".pushsection .discard,\"aw\",@progbits\n"                      \
-        DISCARD_ENTRY(1)                                                \
-        ".popsection\n"                                                 \
-        ".pushsection .altinstr_replacement, \"ax\"\n"                  \
-        ALTINSTR_REPLACEMENT(newinstr, feature, 1)                      \
-        ".popsection"
+#define ALTERNATIVE(oldinstr, newinstr, feature)			  \
+	OLDINSTR(oldinstr)						  \
+	ALTERNATIVE_N(newinstr, feature, 1)
+
+#define ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
+	ALTERNATIVE(oldinstr, newinstr1, feature1)			  \
+	ALTERNATIVE_N(newinstr2, feature2, 2)
+
+#define ALTERNATIVE_3(oldinstr, newinstr1, feature1, newinstr2, feature2, \
+		      newinstr3, feature3)				  \
+	ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
+	ALTERNATIVE_N(newinstr3, feature3, 3)
 
 /*
  * Alternative instructions for different CPU types or capabilities.
@@ -93,6 +103,37 @@ extern void alternative_instructions(void);
 	asm volatile (ALTERNATIVE(oldinstr, newinstr, feature)		\
 		      : output : input)
 
+/*
+ * This is similar to alternative_io. But it has two features and
+ * respective instructions.
+ *
+ * If CPU has feature2, newinstr2 is used.
+ * Otherwise, if CPU has feature1, newinstr1 is used.
+ * Otherwise, oldinstr is used.
+ */
+#define alternative_io_2(oldinstr, newinstr1, feature1, newinstr2,	\
+			 feature2, output, input...)			\
+	asm volatile(ALTERNATIVE_2(oldinstr, newinstr1, feature1,	\
+				   newinstr2, feature2)			\
+		     : output : input)
+
+/*
+ * This is similar to alternative_io. But it has three features and
+ * respective instructions.
+ *
+ * If CPU has feature3, newinstr3 is used.
+ * Otherwise, if CPU has feature2, newinstr2 is used.
+ * Otherwise, if CPU has feature1, newinstr1 is used.
+ * Otherwise, oldinstr is used.
+ */
+#define alternative_io_3(oldinstr, newinstr1, feature1, newinstr2,	\
+			 feature2, newinstr3, feature3, output,		\
+			 input...)					\
+	asm volatile(ALTERNATIVE_3(oldinstr, newinstr1, feature1,	\
+				   newinstr2, feature2, newinstr3,	\
+				   feature3)				\
+		     : output : input)
+
 /* Use this macro(s) if you need more than one output parameter. */
 #define ASM_OUTPUT2(a...) a
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU65-0004Ak-1X; Sun, 07 Feb 2016 18:30:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU63-0004AU-A7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:07 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	D2/1E-10115-E2D87B65; Sun, 07 Feb 2016 18:30:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1454869805!22116154!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12056 invoked from network); 7 Feb 2016 18:30:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7L-0007ox-5c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU60-0001WW-Nf
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU60-0001WW-Nf@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:04 +0000
Subject: [Xen-changelog] [xen master] x86: support 2- and 3-way alternatives
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6f8e41c67a884b5eaa321bd58fdcf593179f5f2c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 4 11:38:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:38:52 2016 +0100

    x86: support 2- and 3-way alternatives
    
    Parts taken from Linux, but implementing the ALTERNATIVE*() macros
    recursively to avoid needless redundancy.
    
    Also make the .discard section non-writable (we might even consider
    dropping its alloc flag too) and limit the pushing and popping of
    sections.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/asm-x86/alternative.h | 63 ++++++++++++++++++++++++++++++++-------
 1 file changed, 52 insertions(+), 11 deletions(-)

diff --git a/xen/include/asm-x86/alternative.h b/xen/include/asm-x86/alternative.h
index 7d11354..1056630 100644
--- a/xen/include/asm-x86/alternative.h
+++ b/xen/include/asm-x86/alternative.h
@@ -46,18 +46,28 @@ extern void alternative_instructions(void);
 #define ALTINSTR_REPLACEMENT(newinstr, feature, number) /* replacement */     \
         b_replacement(number)":\n\t" newinstr "\n" e_replacement(number) ":\n\t"
 
+#define ALTERNATIVE_N(newinstr, feature, number)	\
+	".pushsection .altinstructions,\"a\"\n"		\
+	ALTINSTR_ENTRY(feature, number)			\
+	".section .discard,\"a\",@progbits\n"		\
+	DISCARD_ENTRY(number)				\
+	".section .altinstr_replacement, \"ax\"\n"	\
+	ALTINSTR_REPLACEMENT(newinstr, feature, number)	\
+	".popsection\n"
+
 /* alternative assembly primitive: */
-#define ALTERNATIVE(oldinstr, newinstr, feature)                        \
-        OLDINSTR(oldinstr)                                              \
-        ".pushsection .altinstructions,\"a\"\n"                         \
-        ALTINSTR_ENTRY(feature, 1)                                      \
-        ".popsection\n"                                                 \
-        ".pushsection .discard,\"aw\",@progbits\n"                      \
-        DISCARD_ENTRY(1)                                                \
-        ".popsection\n"                                                 \
-        ".pushsection .altinstr_replacement, \"ax\"\n"                  \
-        ALTINSTR_REPLACEMENT(newinstr, feature, 1)                      \
-        ".popsection"
+#define ALTERNATIVE(oldinstr, newinstr, feature)			  \
+	OLDINSTR(oldinstr)						  \
+	ALTERNATIVE_N(newinstr, feature, 1)
+
+#define ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
+	ALTERNATIVE(oldinstr, newinstr1, feature1)			  \
+	ALTERNATIVE_N(newinstr2, feature2, 2)
+
+#define ALTERNATIVE_3(oldinstr, newinstr1, feature1, newinstr2, feature2, \
+		      newinstr3, feature3)				  \
+	ALTERNATIVE_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
+	ALTERNATIVE_N(newinstr3, feature3, 3)
 
 /*
  * Alternative instructions for different CPU types or capabilities.
@@ -93,6 +103,37 @@ extern void alternative_instructions(void);
 	asm volatile (ALTERNATIVE(oldinstr, newinstr, feature)		\
 		      : output : input)
 
+/*
+ * This is similar to alternative_io. But it has two features and
+ * respective instructions.
+ *
+ * If CPU has feature2, newinstr2 is used.
+ * Otherwise, if CPU has feature1, newinstr1 is used.
+ * Otherwise, oldinstr is used.
+ */
+#define alternative_io_2(oldinstr, newinstr1, feature1, newinstr2,	\
+			 feature2, output, input...)			\
+	asm volatile(ALTERNATIVE_2(oldinstr, newinstr1, feature1,	\
+				   newinstr2, feature2)			\
+		     : output : input)
+
+/*
+ * This is similar to alternative_io. But it has three features and
+ * respective instructions.
+ *
+ * If CPU has feature3, newinstr3 is used.
+ * Otherwise, if CPU has feature2, newinstr2 is used.
+ * Otherwise, if CPU has feature1, newinstr1 is used.
+ * Otherwise, oldinstr is used.
+ */
+#define alternative_io_3(oldinstr, newinstr1, feature1, newinstr2,	\
+			 feature2, newinstr3, feature3, output,		\
+			 input...)					\
+	asm volatile(ALTERNATIVE_3(oldinstr, newinstr1, feature1,	\
+				   newinstr2, feature2, newinstr3,	\
+				   feature3)				\
+		     : output : input)
+
 /* Use this macro(s) if you need more than one output parameter. */
 #define ASM_OUTPUT2(a...) a
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6F-0004D8-87; Sun, 07 Feb 2016 18:30:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6D-0004Cw-VI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:18 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	39/BF-15991-93D87B65; Sun, 07 Feb 2016 18:30:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869815!21163316!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26841 invoked from network); 7 Feb 2016 18:30:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7V-0007pg-IL
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6B-0001XD-1F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6B-0001XD-1F@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:15 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: also use alternative asm
	on xsave side
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ea9395f82aa692a85b76bd1ec16c1ecf8500c7c9
Author:     Shuai Ruan <shuai.ruan@linux.intel.com>
AuthorDate: Thu Feb 4 11:39:32 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:39:32 2016 +0100

    x86/xstate: also use alternative asm on xsave side
    
    From: Shuai Ruan <shuai.ruan@linux.intel.com>
    
    This patch use alternavtive asm on the xsave side.
    As xsaves use modified optimization like xsaveopt, xsaves
    may not writing the FPU portion of the save image too.
    So xsaves also need some extra tweaks.
    
    Signed-off-by: Shuai Ruan <shuai.ruan@linux.intel.com>
    
    Fix XSAVES opcode. Extend the other respective XSAVEOPT conditional to
    cover XSAVES as well. Re-wrap comment being adjusted.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xstate.c | 57 ++++++++++++++++++---------------------------------
 1 file changed, 20 insertions(+), 37 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 5dface9..c5d17ff 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -250,27 +250,29 @@ void xsave(struct vcpu *v, uint64_t mask)
     uint32_t hmask = mask >> 32;
     uint32_t lmask = mask;
     int word_size = mask & XSTATE_FP ? (cpu_has_fpu_sel ? 8 : 0) : -1;
+#define XSAVE(pfx) \
+        alternative_io_3(".byte " pfx "0x0f,0xae,0x27\n", /* xsave */ \
+                         ".byte " pfx "0x0f,0xae,0x37\n", /* xsaveopt */ \
+                         X86_FEATURE_XSAVEOPT, \
+                         ".byte " pfx "0x0f,0xc7,0x27\n", /* xsavec */ \
+                         X86_FEATURE_XSAVEC, \
+                         ".byte " pfx "0x0f,0xc7,0x2f\n", /* xsaves */ \
+                         X86_FEATURE_XSAVES, \
+                         "=m" (*ptr), \
+                         "a" (lmask), "d" (hmask), "D" (ptr))
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
         typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
         typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
 
-        if ( cpu_has_xsaves )
-            asm volatile ( ".byte 0x48,0x0f,0xc7,0x2f"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsavec )
-            asm volatile ( ".byte 0x48,0x0f,0xc7,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsaveopt )
+        if ( cpu_has_xsaveopt || cpu_has_xsaves )
         {
             /*
-             * xsaveopt may not write the FPU portion even when the respective
-             * mask bit is set. For the check further down to work we hence
-             * need to put the save image back into the state that it was in
-             * right after the previous xsaveopt.
+             * XSAVEOPT/XSAVES may not write the FPU portion even when the
+             * respective mask bit is set. For the check further down to work
+             * we hence need to put the save image back into the state that
+             * it was in right after the previous XSAVEOPT.
              */
             if ( word_size > 0 &&
                  (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
@@ -279,14 +281,9 @@ void xsave(struct vcpu *v, uint64_t mask)
                 ptr->fpu_sse.fip.sel = 0;
                 ptr->fpu_sse.fdp.sel = 0;
             }
-            asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
         }
-        else
-            asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
+
+        XSAVE("0x48,");
 
         if ( !(mask & ptr->xsave_hdr.xstate_bv & XSTATE_FP) ||
              /*
@@ -296,7 +293,7 @@ void xsave(struct vcpu *v, uint64_t mask)
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
         {
-            if ( cpu_has_xsaveopt && word_size > 0 )
+            if ( (cpu_has_xsaveopt || cpu_has_xsaves) && word_size > 0 )
             {
                 ptr->fpu_sse.fip.sel = fcs;
                 ptr->fpu_sse.fdp.sel = fds;
@@ -317,24 +314,10 @@ void xsave(struct vcpu *v, uint64_t mask)
     }
     else
     {
-        if ( cpu_has_xsaves )
-            asm volatile ( ".byte 0x0f,0xc7,0x2f"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsavec )
-            asm volatile ( ".byte 0x0f,0xc7,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsaveopt )
-            asm volatile ( ".byte 0x0f,0xae,0x37"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else
-            asm volatile ( ".byte 0x0f,0xae,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
+        XSAVE("");
         word_size = 4;
     }
+#undef XSAVE
     if ( word_size >= 0 )
         ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] = word_size;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6F-0004D8-87; Sun, 07 Feb 2016 18:30:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6D-0004Cw-VI
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:18 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	39/BF-15991-93D87B65; Sun, 07 Feb 2016 18:30:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1454869815!21163316!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26841 invoked from network); 7 Feb 2016 18:30:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7V-0007pg-IL
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6B-0001XD-1F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6B-0001XD-1F@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:15 +0000
Subject: [Xen-changelog] [xen master] x86/xstate: also use alternative asm
	on xsave side
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ea9395f82aa692a85b76bd1ec16c1ecf8500c7c9
Author:     Shuai Ruan <shuai.ruan@linux.intel.com>
AuthorDate: Thu Feb 4 11:39:32 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:39:32 2016 +0100

    x86/xstate: also use alternative asm on xsave side
    
    From: Shuai Ruan <shuai.ruan@linux.intel.com>
    
    This patch use alternavtive asm on the xsave side.
    As xsaves use modified optimization like xsaveopt, xsaves
    may not writing the FPU portion of the save image too.
    So xsaves also need some extra tweaks.
    
    Signed-off-by: Shuai Ruan <shuai.ruan@linux.intel.com>
    
    Fix XSAVES opcode. Extend the other respective XSAVEOPT conditional to
    cover XSAVES as well. Re-wrap comment being adjusted.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/xstate.c | 57 ++++++++++++++++++---------------------------------
 1 file changed, 20 insertions(+), 37 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 5dface9..c5d17ff 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -250,27 +250,29 @@ void xsave(struct vcpu *v, uint64_t mask)
     uint32_t hmask = mask >> 32;
     uint32_t lmask = mask;
     int word_size = mask & XSTATE_FP ? (cpu_has_fpu_sel ? 8 : 0) : -1;
+#define XSAVE(pfx) \
+        alternative_io_3(".byte " pfx "0x0f,0xae,0x27\n", /* xsave */ \
+                         ".byte " pfx "0x0f,0xae,0x37\n", /* xsaveopt */ \
+                         X86_FEATURE_XSAVEOPT, \
+                         ".byte " pfx "0x0f,0xc7,0x27\n", /* xsavec */ \
+                         X86_FEATURE_XSAVEC, \
+                         ".byte " pfx "0x0f,0xc7,0x2f\n", /* xsaves */ \
+                         X86_FEATURE_XSAVES, \
+                         "=m" (*ptr), \
+                         "a" (lmask), "d" (hmask), "D" (ptr))
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
         typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
         typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
 
-        if ( cpu_has_xsaves )
-            asm volatile ( ".byte 0x48,0x0f,0xc7,0x2f"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsavec )
-            asm volatile ( ".byte 0x48,0x0f,0xc7,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsaveopt )
+        if ( cpu_has_xsaveopt || cpu_has_xsaves )
         {
             /*
-             * xsaveopt may not write the FPU portion even when the respective
-             * mask bit is set. For the check further down to work we hence
-             * need to put the save image back into the state that it was in
-             * right after the previous xsaveopt.
+             * XSAVEOPT/XSAVES may not write the FPU portion even when the
+             * respective mask bit is set. For the check further down to work
+             * we hence need to put the save image back into the state that
+             * it was in right after the previous XSAVEOPT.
              */
             if ( word_size > 0 &&
                  (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
@@ -279,14 +281,9 @@ void xsave(struct vcpu *v, uint64_t mask)
                 ptr->fpu_sse.fip.sel = 0;
                 ptr->fpu_sse.fdp.sel = 0;
             }
-            asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
         }
-        else
-            asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
+
+        XSAVE("0x48,");
 
         if ( !(mask & ptr->xsave_hdr.xstate_bv & XSTATE_FP) ||
              /*
@@ -296,7 +293,7 @@ void xsave(struct vcpu *v, uint64_t mask)
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
         {
-            if ( cpu_has_xsaveopt && word_size > 0 )
+            if ( (cpu_has_xsaveopt || cpu_has_xsaves) && word_size > 0 )
             {
                 ptr->fpu_sse.fip.sel = fcs;
                 ptr->fpu_sse.fdp.sel = fds;
@@ -317,24 +314,10 @@ void xsave(struct vcpu *v, uint64_t mask)
     }
     else
     {
-        if ( cpu_has_xsaves )
-            asm volatile ( ".byte 0x0f,0xc7,0x2f"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsavec )
-            asm volatile ( ".byte 0x0f,0xc7,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else if ( cpu_has_xsaveopt )
-            asm volatile ( ".byte 0x0f,0xae,0x37"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
-        else
-            asm volatile ( ".byte 0x0f,0xae,0x27"
-                           : "=m" (*ptr)
-                           : "a" (lmask), "d" (hmask), "D" (ptr) );
+        XSAVE("");
         word_size = 4;
     }
+#undef XSAVE
     if ( word_size >= 0 )
         ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] = word_size;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6P-0004Ed-CV; Sun, 07 Feb 2016 18:30:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6N-0004EO-W1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:28 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	6C/FC-21594-34D87B65; Sun, 07 Feb 2016 18:30:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1454869825!20852458!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1996 invoked from network); 7 Feb 2016 18:30:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7f-0007po-TY
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6L-0001b4-Fb
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6L-0001b4-Fb@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:25 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: disable pkeys for guests in
	non-paging mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c41e0266dd59ab50b7a153157e9bd2a3ad114b53
Author:     Huaitong Han <huaitong.han@intel.com>
AuthorDate: Thu Feb 4 11:40:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:40:08 2016 +0100

    x86/hvm: disable pkeys for guests in non-paging mode
    
    This patch disables pkeys for guest in non-paging mode, However XEN always uses
    paging mode to emulate guest non-paging mode, To emulate this behavior, pkeys
    needs to be manually disabled when guest switches to non-paging mode.
    
    Signed-off-by: Huaitong Han <huaitong.han@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 195def6..b9f340c 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1379,12 +1379,13 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
         if ( !hvm_paging_enabled(v) )
         {
             /*
-             * SMEP/SMAP is disabled if CPU is in non-paging mode in hardware.
-             * However Xen always uses paging mode to emulate guest non-paging
-             * mode. To emulate this behavior, SMEP/SMAP needs to be manually
-             * disabled when guest VCPU is in non-paging mode.
+             * SMEP/SMAP/PKU is disabled if CPU is in non-paging mode in
+             * hardware. However Xen always uses paging mode to emulate guest
+             * non-paging mode. To emulate this behavior, SMEP/SMAP/PKU needs
+             * to be manually disabled when guest VCPU is in non-paging mode.
              */
-            v->arch.hvm_vcpu.hw_cr[4] &= ~(X86_CR4_SMEP | X86_CR4_SMAP);
+            v->arch.hvm_vcpu.hw_cr[4] &=
+                ~(X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_PKE);
         }
         __vmwrite(GUEST_CR4, v->arch.hvm_vcpu.hw_cr[4]);
         break;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6P-0004Ed-CV; Sun, 07 Feb 2016 18:30:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6N-0004EO-W1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:28 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	6C/FC-21594-34D87B65; Sun, 07 Feb 2016 18:30:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1454869825!20852458!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1996 invoked from network); 7 Feb 2016 18:30:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7f-0007po-TY
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6L-0001b4-Fb
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6L-0001b4-Fb@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:25 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: disable pkeys for guests in
	non-paging mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c41e0266dd59ab50b7a153157e9bd2a3ad114b53
Author:     Huaitong Han <huaitong.han@intel.com>
AuthorDate: Thu Feb 4 11:40:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:40:08 2016 +0100

    x86/hvm: disable pkeys for guests in non-paging mode
    
    This patch disables pkeys for guest in non-paging mode, However XEN always uses
    paging mode to emulate guest non-paging mode, To emulate this behavior, pkeys
    needs to be manually disabled when guest switches to non-paging mode.
    
    Signed-off-by: Huaitong Han <huaitong.han@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 195def6..b9f340c 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1379,12 +1379,13 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
         if ( !hvm_paging_enabled(v) )
         {
             /*
-             * SMEP/SMAP is disabled if CPU is in non-paging mode in hardware.
-             * However Xen always uses paging mode to emulate guest non-paging
-             * mode. To emulate this behavior, SMEP/SMAP needs to be manually
-             * disabled when guest VCPU is in non-paging mode.
+             * SMEP/SMAP/PKU is disabled if CPU is in non-paging mode in
+             * hardware. However Xen always uses paging mode to emulate guest
+             * non-paging mode. To emulate this behavior, SMEP/SMAP/PKU needs
+             * to be manually disabled when guest VCPU is in non-paging mode.
              */
-            v->arch.hvm_vcpu.hw_cr[4] &= ~(X86_CR4_SMEP | X86_CR4_SMAP);
+            v->arch.hvm_vcpu.hw_cr[4] &=
+                ~(X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_PKE);
         }
         __vmwrite(GUEST_CR4, v->arch.hvm_vcpu.hw_cr[4]);
         break;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6a-0004GL-H6; Sun, 07 Feb 2016 18:30:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6Y-0004G6-Cq
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:38 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	01/42-21901-D4D87B65; Sun, 07 Feb 2016 18:30:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1454869836!8551617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1718 invoked from network); 7 Feb 2016 18:30:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7q-0007pw-9m
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6V-0001cX-T7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6V-0001cX-T7@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:35 +0000
Subject: [Xen-changelog] [xen master] x86/mm: clean up pfec handling in
	gva_to_gfn
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e3e4ae8bb8314462496c2b065cfe4e8bc5205d5a
Author:     George Dunlap <george.dunlap@citrix.com>
AuthorDate: Thu Feb 4 11:41:07 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:41:07 2016 +0100

    x86/mm: clean up pfec handling in gva_to_gfn
    
    At the moment, the pfec argument to gva_to_gfn has two functions:
    
    * To inform guest_walk what kind of access is happenind
    
    * As a value to pass back into the guest in the event of a fault.
    
    Unfortunately this is not quite treated consistently: the hvm_fetch_*
    function will "pre-clear" the PFEC_insn_fetch flag before calling
    gva_to_gfn; meaning guest_walk doesn't actually know whether a given
    access is an instruction fetch or not.  This works now, but will cause
    issues when pkeys are introduced, since guest_walk will need to know
    whether an access is an instruction fetch even if it doesn't return
    PFEC_insn_fetch.
    
    Fix this by making a clean separation for in and out functionalities
    of the pfec argument:
    
    1. Always pass in the access type to gva_to_gfn
    
    2. Filter out inappropriate access flags before returning from gva_to_gfn.
    
    (The PFEC_insn_fetch flag should only be passed to the guest if either NX or
    SMEP is enabled.  See Intel 64 Developer's Manual, Volume 3, Chapter Paging,
    PAGE-FAULT EXCEPTIONS)
    
    Signed-off-by: George Dunlap <george.dunlap@citrix.com>
    Signed-off-by: Huaitong Han <huaitong.han@intel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/hvm.c           |  8 ++------
 xen/arch/x86/mm/hap/guest_walk.c | 10 +++++++++-
 xen/arch/x86/mm/shadow/multi.c   |  6 ++++++
 xen/include/asm-x86/paging.h     |  6 +++++-
 4 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index dfeecca..35ec6c9 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4487,11 +4487,9 @@ enum hvm_copy_result hvm_copy_from_guest_virt(
 enum hvm_copy_result hvm_fetch_from_guest_virt(
     void *buf, unsigned long vaddr, int size, uint32_t pfec)
 {
-    if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) )
-        pfec |= PFEC_insn_fetch;
     return __hvm_copy(buf, vaddr, size,
                       HVMCOPY_from_guest | HVMCOPY_fault | HVMCOPY_virt,
-                      PFEC_page_present | pfec);
+                      PFEC_page_present | PFEC_insn_fetch | pfec);
 }
 
 enum hvm_copy_result hvm_copy_to_guest_virt_nofault(
@@ -4513,11 +4511,9 @@ enum hvm_copy_result hvm_copy_from_guest_virt_nofault(
 enum hvm_copy_result hvm_fetch_from_guest_virt_nofault(
     void *buf, unsigned long vaddr, int size, uint32_t pfec)
 {
-    if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) )
-        pfec |= PFEC_insn_fetch;
     return __hvm_copy(buf, vaddr, size,
                       HVMCOPY_from_guest | HVMCOPY_no_fault | HVMCOPY_virt,
-                      PFEC_page_present | pfec);
+                      PFEC_page_present | PFEC_insn_fetch | pfec);
 }
 
 unsigned long copy_to_user_hvm(void *to, const void *from, unsigned int len)
diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
index 11c1b35..8aa7e0f 100644
--- a/xen/arch/x86/mm/hap/guest_walk.c
+++ b/xen/arch/x86/mm/hap/guest_walk.c
@@ -82,7 +82,7 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
     if ( !top_page )
     {
         pfec[0] &= ~PFEC_page_present;
-        return INVALID_GFN;
+        goto out_tweak_pfec;
     }
     top_mfn = _mfn(page_to_mfn(top_page));
 
@@ -136,6 +136,14 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
     if ( missing & _PAGE_SHARED )
         pfec[0] = PFEC_page_shared;
 
+ out_tweak_pfec:
+    /*
+     * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+     * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+     */
+    if ( !hvm_nx_enabled(v) && !hvm_smep_enabled(v) )
+        pfec[0] &= ~PFEC_insn_fetch;
+
     return INVALID_GFN;
 }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 162c06f..d42597c 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -3669,6 +3669,12 @@ sh_gva_to_gfn(struct vcpu *v, struct p2m_domain *p2m,
             pfec[0] &= ~PFEC_page_present;
         if ( missing & _PAGE_INVALID_BITS )
             pfec[0] |= PFEC_reserved_bit;
+        /*
+         * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+         * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+         */
+        if ( is_hvm_vcpu(v) && !hvm_nx_enabled(v) && !hvm_smep_enabled(v) )
+            pfec[0] &= ~PFEC_insn_fetch;
         return INVALID_GFN;
     }
     gfn = guest_walk_to_gfn(&gw);
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 9a8653d..195fe8f 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -255,7 +255,11 @@ static inline bool_t paging_invlpg(struct vcpu *v, unsigned long va)
  * tables don't map this address for this kind of access.
  * pfec[0] is used to determine which kind of access this is when
  * walking the tables.  The caller should set the PFEC_page_present bit
- * in pfec[0]; in the failure case, that bit will be cleared if appropriate. */
+ * in pfec[0]; in the failure case, that bit will be cleared if appropriate.
+ *
+ * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+ * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+ */
 unsigned long paging_gva_to_gfn(struct vcpu *v,
                                 unsigned long va,
                                 uint32_t *pfec);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6a-0004GL-H6; Sun, 07 Feb 2016 18:30:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6Y-0004G6-Cq
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:38 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	01/42-21901-D4D87B65; Sun, 07 Feb 2016 18:30:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1454869836!8551617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1718 invoked from network); 7 Feb 2016 18:30:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7q-0007pw-9m
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6V-0001cX-T7
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6V-0001cX-T7@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:35 +0000
Subject: [Xen-changelog] [xen master] x86/mm: clean up pfec handling in
	gva_to_gfn
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e3e4ae8bb8314462496c2b065cfe4e8bc5205d5a
Author:     George Dunlap <george.dunlap@citrix.com>
AuthorDate: Thu Feb 4 11:41:07 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 4 11:41:07 2016 +0100

    x86/mm: clean up pfec handling in gva_to_gfn
    
    At the moment, the pfec argument to gva_to_gfn has two functions:
    
    * To inform guest_walk what kind of access is happenind
    
    * As a value to pass back into the guest in the event of a fault.
    
    Unfortunately this is not quite treated consistently: the hvm_fetch_*
    function will "pre-clear" the PFEC_insn_fetch flag before calling
    gva_to_gfn; meaning guest_walk doesn't actually know whether a given
    access is an instruction fetch or not.  This works now, but will cause
    issues when pkeys are introduced, since guest_walk will need to know
    whether an access is an instruction fetch even if it doesn't return
    PFEC_insn_fetch.
    
    Fix this by making a clean separation for in and out functionalities
    of the pfec argument:
    
    1. Always pass in the access type to gva_to_gfn
    
    2. Filter out inappropriate access flags before returning from gva_to_gfn.
    
    (The PFEC_insn_fetch flag should only be passed to the guest if either NX or
    SMEP is enabled.  See Intel 64 Developer's Manual, Volume 3, Chapter Paging,
    PAGE-FAULT EXCEPTIONS)
    
    Signed-off-by: George Dunlap <george.dunlap@citrix.com>
    Signed-off-by: Huaitong Han <huaitong.han@intel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/hvm.c           |  8 ++------
 xen/arch/x86/mm/hap/guest_walk.c | 10 +++++++++-
 xen/arch/x86/mm/shadow/multi.c   |  6 ++++++
 xen/include/asm-x86/paging.h     |  6 +++++-
 4 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index dfeecca..35ec6c9 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4487,11 +4487,9 @@ enum hvm_copy_result hvm_copy_from_guest_virt(
 enum hvm_copy_result hvm_fetch_from_guest_virt(
     void *buf, unsigned long vaddr, int size, uint32_t pfec)
 {
-    if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) )
-        pfec |= PFEC_insn_fetch;
     return __hvm_copy(buf, vaddr, size,
                       HVMCOPY_from_guest | HVMCOPY_fault | HVMCOPY_virt,
-                      PFEC_page_present | pfec);
+                      PFEC_page_present | PFEC_insn_fetch | pfec);
 }
 
 enum hvm_copy_result hvm_copy_to_guest_virt_nofault(
@@ -4513,11 +4511,9 @@ enum hvm_copy_result hvm_copy_from_guest_virt_nofault(
 enum hvm_copy_result hvm_fetch_from_guest_virt_nofault(
     void *buf, unsigned long vaddr, int size, uint32_t pfec)
 {
-    if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) )
-        pfec |= PFEC_insn_fetch;
     return __hvm_copy(buf, vaddr, size,
                       HVMCOPY_from_guest | HVMCOPY_no_fault | HVMCOPY_virt,
-                      PFEC_page_present | pfec);
+                      PFEC_page_present | PFEC_insn_fetch | pfec);
 }
 
 unsigned long copy_to_user_hvm(void *to, const void *from, unsigned int len)
diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
index 11c1b35..8aa7e0f 100644
--- a/xen/arch/x86/mm/hap/guest_walk.c
+++ b/xen/arch/x86/mm/hap/guest_walk.c
@@ -82,7 +82,7 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
     if ( !top_page )
     {
         pfec[0] &= ~PFEC_page_present;
-        return INVALID_GFN;
+        goto out_tweak_pfec;
     }
     top_mfn = _mfn(page_to_mfn(top_page));
 
@@ -136,6 +136,14 @@ unsigned long hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(
     if ( missing & _PAGE_SHARED )
         pfec[0] = PFEC_page_shared;
 
+ out_tweak_pfec:
+    /*
+     * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+     * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+     */
+    if ( !hvm_nx_enabled(v) && !hvm_smep_enabled(v) )
+        pfec[0] &= ~PFEC_insn_fetch;
+
     return INVALID_GFN;
 }
 
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 162c06f..d42597c 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -3669,6 +3669,12 @@ sh_gva_to_gfn(struct vcpu *v, struct p2m_domain *p2m,
             pfec[0] &= ~PFEC_page_present;
         if ( missing & _PAGE_INVALID_BITS )
             pfec[0] |= PFEC_reserved_bit;
+        /*
+         * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+         * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+         */
+        if ( is_hvm_vcpu(v) && !hvm_nx_enabled(v) && !hvm_smep_enabled(v) )
+            pfec[0] &= ~PFEC_insn_fetch;
         return INVALID_GFN;
     }
     gfn = guest_walk_to_gfn(&gw);
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 9a8653d..195fe8f 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -255,7 +255,11 @@ static inline bool_t paging_invlpg(struct vcpu *v, unsigned long va)
  * tables don't map this address for this kind of access.
  * pfec[0] is used to determine which kind of access this is when
  * walking the tables.  The caller should set the PFEC_page_present bit
- * in pfec[0]; in the failure case, that bit will be cleared if appropriate. */
+ * in pfec[0]; in the failure case, that bit will be cleared if appropriate.
+ *
+ * SDM Intel 64 Volume 3, Chapter Paging, PAGE-FAULT EXCEPTIONS:
+ * The PFEC_insn_fetch flag is set only when NX or SMEP are enabled.
+ */
 unsigned long paging_gva_to_gfn(struct vcpu *v,
                                 unsigned long va,
                                 uint32_t *pfec);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6k-0004MR-LT; Sun, 07 Feb 2016 18:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6j-0004Lv-7u
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:49 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	7F/2E-31122-85D87B65; Sun, 07 Feb 2016 18:30:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1454869846!14448253!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48771 invoked from network); 7 Feb 2016 18:30:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU80-0007qX-Py
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6g-0001hR-BE
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6g-0001hR-BE@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:46 +0000
Subject: [Xen-changelog] [xen master] libxenevtchn: rename
	evtchn_port_or_errot_t as xenevtchn_port...
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bc8baa9673f54907a73d9bc9930f5d8301b16119
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 4 13:00:29 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:19:30 2016 +0000

    libxenevtchn: rename evtchn_port_or_errot_t as xenevtchn_port...
    
    Otherwise the name clashes with the libxc evtchn_compat use of the
    name (which is compat, so can't really change), and triggers an error
    with older gcc relating to redefining typedefs (which are not allowed
    per the spec, but which are tolerated by newer gcc)
    
    None of qemu-trad, qemu-xen or mini-os actually use this type, so this
    should be fine. Note that the library API is not actually stable until
    4.7 is releases.
    
    Reported-by: Olaf Hering <olaf@aepfle.de>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Olaf Hering <olaf@aepfle.de>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/console/daemon/io.c                     | 10 +++++-----
 tools/libs/evtchn/freebsd.c                   |  8 ++++----
 tools/libs/evtchn/include/xenevtchn.h         | 10 +++++-----
 tools/libs/evtchn/linux.c                     |  8 ++++----
 tools/libs/evtchn/minios.c                    |  8 ++++----
 tools/libs/evtchn/netbsd.c                    |  8 ++++----
 tools/libs/evtchn/solaris.c                   |  8 ++++----
 tools/libvchan/init.c                         |  4 ++--
 tools/libxl/libxl_event.c                     |  2 +-
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c |  6 +++---
 10 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 34666c4..7e6a886 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -101,8 +101,8 @@ struct domain {
 	struct domain *next;
 	char *conspath;
 	int ring_ref;
-	evtchn_port_or_error_t local_port;
-	evtchn_port_or_error_t remote_port;
+	xenevtchn_port_or_error_t local_port;
+	xenevtchn_port_or_error_t remote_port;
 	xenevtchn_handle *xce_handle;
 	int xce_pollfd_idx;
 	struct xencons_interface *interface;
@@ -868,7 +868,7 @@ static void handle_tty_write(struct domain *dom)
 
 static void handle_ring_read(struct domain *dom)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	if (dom->is_dead)
 		return;
@@ -914,7 +914,7 @@ static void handle_hv_logs(xenevtchn_handle *xce_handle, bool force)
 	char *bufptr = buffer;
 	unsigned int size;
 	static uint32_t index = 0;
-	evtchn_port_or_error_t port = -1;
+	xenevtchn_port_or_error_t port = -1;
 
 	if (!force && ((port = xenevtchn_pending(xce_handle)) == -1))
 		return;
@@ -1005,7 +1005,7 @@ static void reset_fds(void)
 void handle_io(void)
 {
 	int ret;
-	evtchn_port_or_error_t log_hv_evtchn = -1;
+	xenevtchn_port_or_error_t log_hv_evtchn = -1;
 	int xce_pollfd_idx = -1;
 	int xs_pollfd_idx = -1;
 	xenevtchn_handle *xce_handle = NULL;
diff --git a/tools/libs/evtchn/freebsd.c b/tools/libs/evtchn/freebsd.c
index ead2e71..30eaa70 100644
--- a/tools/libs/evtchn/freebsd.c
+++ b/tools/libs/evtchn/freebsd.c
@@ -62,7 +62,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int ret, fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -73,7 +73,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return ( ret == 0 ) ? bind.port : ret;
 }
 
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid, evtchn_port_t remote_port)
 {
     int ret, fd = xce->fd;
@@ -86,7 +86,7 @@ xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid, evtchn_port_t
     return ( ret == 0 ) ? bind.port : ret;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int ret, fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -107,7 +107,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/include/xenevtchn.h b/tools/libs/evtchn/include/xenevtchn.h
index 0fa3f84..93b80cb 100644
--- a/tools/libs/evtchn/include/xenevtchn.h
+++ b/tools/libs/evtchn/include/xenevtchn.h
@@ -28,7 +28,7 @@
 #include <xen/event_channel.h>
 
 /* A port identifier is guaranteed to fit in 31 bits. */
-typedef int evtchn_port_or_error_t;
+typedef int xenevtchn_port_or_error_t;
 
 typedef struct xenevtchn_handle xenevtchn_handle;
 
@@ -101,14 +101,14 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port);
  * Returns a new event port awaiting interdomain connection from the given
  * domain ID, or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid);
 
 /*
  * Returns a new event port bound to the remote port for the given domain ID,
  * or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                            evtchn_port_t remote_port);
 
@@ -116,7 +116,7 @@ xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
  * Bind an event channel to the given VIRQ. Returns the event channel bound to
  * the VIRQ, or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq);
 
 /*
@@ -142,7 +142,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port);
  * xenevtchn_unmask (if you want to receive any further
  * notifications).
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_pending(xenevtchn_handle *xce);
 
 /*
diff --git a/tools/libs/evtchn/linux.c b/tools/libs/evtchn/linux.c
index 0a3c6e1..a581c5d 100644
--- a/tools/libs/evtchn/linux.c
+++ b/tools/libs/evtchn/linux.c
@@ -64,7 +64,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
                                                    uint32_t domid)
 {
     int fd = xce->fd;
@@ -75,7 +75,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
     return ioctl(fd, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
                                                   uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
@@ -88,7 +88,7 @@ evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
     return ioctl(fd, IOCTL_EVTCHN_BIND_INTERDOMAIN, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
                                            unsigned int virq)
 {
     int fd = xce->fd;
@@ -109,7 +109,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index 2c89952..ccf37f0 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -128,7 +128,7 @@ static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     wake_up(&event_queue);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
@@ -155,7 +155,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return port;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -199,7 +199,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return -1;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
@@ -224,7 +224,7 @@ evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int v
     return port;
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
diff --git a/tools/libs/evtchn/netbsd.c b/tools/libs/evtchn/netbsd.c
index 77ae51f..114c6e6 100644
--- a/tools/libs/evtchn/netbsd.c
+++ b/tools/libs/evtchn/netbsd.c
@@ -62,7 +62,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -77,7 +77,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint3
         return -1;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -104,7 +104,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -119,7 +119,7 @@ evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int v
         return bind.port;
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/solaris.c b/tools/libs/evtchn/solaris.c
index b4720cd..dc249aa 100644
--- a/tools/libs/evtchn/solaris.c
+++ b/tools/libs/evtchn/solaris.c
@@ -65,7 +65,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -75,7 +75,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return ioctl(fd, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -87,7 +87,7 @@ evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_
     return ioctl(fd, IOCTL_EVTCHN_BIND_INTERDOMAIN, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -107,7 +107,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c
index cadd12c..83e1dee 100644
--- a/tools/libvchan/init.c
+++ b/tools/libvchan/init.c
@@ -215,7 +215,7 @@ static int init_gnt_cli(struct libxenvchan *ctrl, int domain, uint32_t ring_ref)
 static int init_evt_srv(struct libxenvchan *ctrl, int domain,
                         struct xentoollog_logger *logger)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	ctrl->event = xenevtchn_open(logger, 0);
 	if (!ctrl->event)
@@ -348,7 +348,7 @@ out:
 static int init_evt_cli(struct libxenvchan *ctrl, int domain,
                         struct xentoollog_logger *logger)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	ctrl->event = xenevtchn_open(logger, 0);
 	if (!ctrl->event)
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 8548365..02b39e6 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -719,7 +719,7 @@ static void evtchn_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
     EGC_GC;
     libxl__ev_evtchn *evev;
     int rc;
-    evtchn_port_or_error_t port;
+    xenevtchn_port_or_error_t port;
 
     rc = evtchn_revents_check(egc, revents);
     if (rc) return;
diff --git a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
index c2d4737..b711fd8 100644
--- a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
@@ -81,7 +81,7 @@ CAMLprim value stub_eventchn_bind_interdomain(value xce, value domid,
 {
 	CAMLparam3(xce, domid, remote_port);
 	CAMLlocal1(port);
-	evtchn_port_or_error_t rc;
+	xenevtchn_port_or_error_t rc;
 
 	rc = xenevtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
 	if (rc == -1)
@@ -95,7 +95,7 @@ CAMLprim value stub_eventchn_bind_dom_exc_virq(value xce)
 {
 	CAMLparam1(xce);
 	CAMLlocal1(port);
-	evtchn_port_or_error_t rc;
+	xenevtchn_port_or_error_t rc;
 
 	rc = xenevtchn_bind_virq(_H(xce), VIRQ_DOM_EXC);
 	if (rc == -1)
@@ -121,7 +121,7 @@ CAMLprim value stub_eventchn_pending(value xce)
 {
 	CAMLparam1(xce);
 	CAMLlocal1(result);
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	port = xenevtchn_pending(_H(xce));
 	if (port == -1)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:30:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:30:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6k-0004MR-LT; Sun, 07 Feb 2016 18:30:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6j-0004Lv-7u
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:49 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	7F/2E-31122-85D87B65; Sun, 07 Feb 2016 18:30:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1454869846!14448253!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48771 invoked from network); 7 Feb 2016 18:30:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU80-0007qX-Py
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6g-0001hR-BE
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6g-0001hR-BE@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:46 +0000
Subject: [Xen-changelog] [xen master] libxenevtchn: rename
	evtchn_port_or_errot_t as xenevtchn_port...
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bc8baa9673f54907a73d9bc9930f5d8301b16119
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 4 13:00:29 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:19:30 2016 +0000

    libxenevtchn: rename evtchn_port_or_errot_t as xenevtchn_port...
    
    Otherwise the name clashes with the libxc evtchn_compat use of the
    name (which is compat, so can't really change), and triggers an error
    with older gcc relating to redefining typedefs (which are not allowed
    per the spec, but which are tolerated by newer gcc)
    
    None of qemu-trad, qemu-xen or mini-os actually use this type, so this
    should be fine. Note that the library API is not actually stable until
    4.7 is releases.
    
    Reported-by: Olaf Hering <olaf@aepfle.de>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Olaf Hering <olaf@aepfle.de>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/console/daemon/io.c                     | 10 +++++-----
 tools/libs/evtchn/freebsd.c                   |  8 ++++----
 tools/libs/evtchn/include/xenevtchn.h         | 10 +++++-----
 tools/libs/evtchn/linux.c                     |  8 ++++----
 tools/libs/evtchn/minios.c                    |  8 ++++----
 tools/libs/evtchn/netbsd.c                    |  8 ++++----
 tools/libs/evtchn/solaris.c                   |  8 ++++----
 tools/libvchan/init.c                         |  4 ++--
 tools/libxl/libxl_event.c                     |  2 +-
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c |  6 +++---
 10 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 34666c4..7e6a886 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -101,8 +101,8 @@ struct domain {
 	struct domain *next;
 	char *conspath;
 	int ring_ref;
-	evtchn_port_or_error_t local_port;
-	evtchn_port_or_error_t remote_port;
+	xenevtchn_port_or_error_t local_port;
+	xenevtchn_port_or_error_t remote_port;
 	xenevtchn_handle *xce_handle;
 	int xce_pollfd_idx;
 	struct xencons_interface *interface;
@@ -868,7 +868,7 @@ static void handle_tty_write(struct domain *dom)
 
 static void handle_ring_read(struct domain *dom)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	if (dom->is_dead)
 		return;
@@ -914,7 +914,7 @@ static void handle_hv_logs(xenevtchn_handle *xce_handle, bool force)
 	char *bufptr = buffer;
 	unsigned int size;
 	static uint32_t index = 0;
-	evtchn_port_or_error_t port = -1;
+	xenevtchn_port_or_error_t port = -1;
 
 	if (!force && ((port = xenevtchn_pending(xce_handle)) == -1))
 		return;
@@ -1005,7 +1005,7 @@ static void reset_fds(void)
 void handle_io(void)
 {
 	int ret;
-	evtchn_port_or_error_t log_hv_evtchn = -1;
+	xenevtchn_port_or_error_t log_hv_evtchn = -1;
 	int xce_pollfd_idx = -1;
 	int xs_pollfd_idx = -1;
 	xenevtchn_handle *xce_handle = NULL;
diff --git a/tools/libs/evtchn/freebsd.c b/tools/libs/evtchn/freebsd.c
index ead2e71..30eaa70 100644
--- a/tools/libs/evtchn/freebsd.c
+++ b/tools/libs/evtchn/freebsd.c
@@ -62,7 +62,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int ret, fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -73,7 +73,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return ( ret == 0 ) ? bind.port : ret;
 }
 
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid, evtchn_port_t remote_port)
 {
     int ret, fd = xce->fd;
@@ -86,7 +86,7 @@ xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid, evtchn_port_t
     return ( ret == 0 ) ? bind.port : ret;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int ret, fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -107,7 +107,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/include/xenevtchn.h b/tools/libs/evtchn/include/xenevtchn.h
index 0fa3f84..93b80cb 100644
--- a/tools/libs/evtchn/include/xenevtchn.h
+++ b/tools/libs/evtchn/include/xenevtchn.h
@@ -28,7 +28,7 @@
 #include <xen/event_channel.h>
 
 /* A port identifier is guaranteed to fit in 31 bits. */
-typedef int evtchn_port_or_error_t;
+typedef int xenevtchn_port_or_error_t;
 
 typedef struct xenevtchn_handle xenevtchn_handle;
 
@@ -101,14 +101,14 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port);
  * Returns a new event port awaiting interdomain connection from the given
  * domain ID, or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid);
 
 /*
  * Returns a new event port bound to the remote port for the given domain ID,
  * or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                            evtchn_port_t remote_port);
 
@@ -116,7 +116,7 @@ xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
  * Bind an event channel to the given VIRQ. Returns the event channel bound to
  * the VIRQ, or -1 on failure, in which case errno will be set appropriately.
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq);
 
 /*
@@ -142,7 +142,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port);
  * xenevtchn_unmask (if you want to receive any further
  * notifications).
  */
-evtchn_port_or_error_t
+xenevtchn_port_or_error_t
 xenevtchn_pending(xenevtchn_handle *xce);
 
 /*
diff --git a/tools/libs/evtchn/linux.c b/tools/libs/evtchn/linux.c
index 0a3c6e1..a581c5d 100644
--- a/tools/libs/evtchn/linux.c
+++ b/tools/libs/evtchn/linux.c
@@ -64,7 +64,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
                                                    uint32_t domid)
 {
     int fd = xce->fd;
@@ -75,7 +75,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce,
     return ioctl(fd, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
                                                   uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
@@ -88,7 +88,7 @@ evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce,
     return ioctl(fd, IOCTL_EVTCHN_BIND_INTERDOMAIN, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce,
                                            unsigned int virq)
 {
     int fd = xce->fd;
@@ -109,7 +109,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c
index 2c89952..ccf37f0 100644
--- a/tools/libs/evtchn/minios.c
+++ b/tools/libs/evtchn/minios.c
@@ -128,7 +128,7 @@ static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
     wake_up(&event_queue);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
@@ -155,7 +155,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return port;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -199,7 +199,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return -1;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
@@ -224,7 +224,7 @@ evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int v
     return port;
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     struct evtchn_port_info *port_info;
diff --git a/tools/libs/evtchn/netbsd.c b/tools/libs/evtchn/netbsd.c
index 77ae51f..114c6e6 100644
--- a/tools/libs/evtchn/netbsd.c
+++ b/tools/libs/evtchn/netbsd.c
@@ -62,7 +62,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -77,7 +77,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle * xce, uint3
         return -1;
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -104,7 +104,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -119,7 +119,7 @@ evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int v
         return bind.port;
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libs/evtchn/solaris.c b/tools/libs/evtchn/solaris.c
index b4720cd..dc249aa 100644
--- a/tools/libs/evtchn/solaris.c
+++ b/tools/libs/evtchn/solaris.c
@@ -65,7 +65,7 @@ int xenevtchn_notify(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_NOTIFY, &notify);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
+xenevtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32_t domid)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_unbound_port bind;
@@ -75,7 +75,7 @@ evtchn_port_or_error_t xenevtchn_bind_unbound_port(xenevtchn_handle *xce, uint32
     return ioctl(fd, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
+xenevtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_t domid,
                                                   evtchn_port_t remote_port)
 {
     int fd = xce->fd;
@@ -87,7 +87,7 @@ evtchn_port_or_error_t xenevtchn_bind_interdomain(xenevtchn_handle *xce, uint32_
     return ioctl(fd, IOCTL_EVTCHN_BIND_INTERDOMAIN, &bind);
 }
 
-evtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
+xenevtchn_port_or_error_t xenevtchn_bind_virq(xenevtchn_handle *xce, unsigned int virq)
 {
     int fd = xce->fd;
     struct ioctl_evtchn_bind_virq bind;
@@ -107,7 +107,7 @@ int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port)
     return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind);
 }
 
-evtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
+xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
 {
     int fd = xce->fd;
     evtchn_port_t port;
diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c
index cadd12c..83e1dee 100644
--- a/tools/libvchan/init.c
+++ b/tools/libvchan/init.c
@@ -215,7 +215,7 @@ static int init_gnt_cli(struct libxenvchan *ctrl, int domain, uint32_t ring_ref)
 static int init_evt_srv(struct libxenvchan *ctrl, int domain,
                         struct xentoollog_logger *logger)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	ctrl->event = xenevtchn_open(logger, 0);
 	if (!ctrl->event)
@@ -348,7 +348,7 @@ out:
 static int init_evt_cli(struct libxenvchan *ctrl, int domain,
                         struct xentoollog_logger *logger)
 {
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	ctrl->event = xenevtchn_open(logger, 0);
 	if (!ctrl->event)
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index 8548365..02b39e6 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -719,7 +719,7 @@ static void evtchn_fd_callback(libxl__egc *egc, libxl__ev_fd *ev,
     EGC_GC;
     libxl__ev_evtchn *evev;
     int rc;
-    evtchn_port_or_error_t port;
+    xenevtchn_port_or_error_t port;
 
     rc = evtchn_revents_check(egc, revents);
     if (rc) return;
diff --git a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
index c2d4737..b711fd8 100644
--- a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
@@ -81,7 +81,7 @@ CAMLprim value stub_eventchn_bind_interdomain(value xce, value domid,
 {
 	CAMLparam3(xce, domid, remote_port);
 	CAMLlocal1(port);
-	evtchn_port_or_error_t rc;
+	xenevtchn_port_or_error_t rc;
 
 	rc = xenevtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
 	if (rc == -1)
@@ -95,7 +95,7 @@ CAMLprim value stub_eventchn_bind_dom_exc_virq(value xce)
 {
 	CAMLparam1(xce);
 	CAMLlocal1(port);
-	evtchn_port_or_error_t rc;
+	xenevtchn_port_or_error_t rc;
 
 	rc = xenevtchn_bind_virq(_H(xce), VIRQ_DOM_EXC);
 	if (rc == -1)
@@ -121,7 +121,7 @@ CAMLprim value stub_eventchn_pending(value xce)
 {
 	CAMLparam1(xce);
 	CAMLlocal1(result);
-	evtchn_port_or_error_t port;
+	xenevtchn_port_or_error_t port;
 
 	port = xenevtchn_pending(_H(xce));
 	if (port == -1)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6u-0004Vv-Uo; Sun, 07 Feb 2016 18:31:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6t-0004VM-G5
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:59 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	F1/DC-07651-26D87B65; Sun, 07 Feb 2016 18:30:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1454869857!20551431!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15493 invoked from network); 7 Feb 2016 18:30:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8B-0007qh-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6q-0001kG-NS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6q-0001kG-NS@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:56 +0000
Subject: [Xen-changelog] [xen master] tools: consolidate Makefile runes to
	building+installing qemu-trad
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a16f286fea90c8461650fd16348577c5b6bfbb2b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 16:10:48 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:20:35 2016 +0000

    tools: consolidate Makefile runes to building+installing qemu-trad
    
    Currently both subdir-all-qemu-traditional-dir and subdir-install-...
    recurse into qemu-traditional-dir and run xen-setup, but with subtly
    different options (--extra-cflags was only passed for install).
    
    Consolidate these by having the install target depend on the all
    (build) target and only calling make install.
    
    There is a subtlty which is that qemu-trad's build is not completely
    isolated from xen.git and requires some environment variables etc. To
    handle this refactor the setup code into a make macro and $(call) it
    in both cases.
    
    Note that this doesn't actually omit a potential double call to
    configure, since all is still called during install, this is the same
    for qemu-xen. Note that it doesn't result in a double build in either
    case, since apparently the qemu configure is idempotent.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/Makefile | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 15680a5..3d3fd60 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -184,28 +184,25 @@ qemu-xen-traditional-dir-force-update: qemu-xen-traditional-dir-find
 		$(GIT) reset --hard $(QEMU_TRADITIONAL_REVISION); \
 	fi
 
-subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+qemu-traditional-recurse = \
 	set -e; \
 		$(buildmakevars2shellvars); \
 		export CONFIG_BLKTAP1=n; \
 		cd qemu-xen-traditional-dir; \
-		$(QEMU_ROOT)/xen-setup \
-		$(IOEMU_EXTRA_LDFLAGS) \
-		--cpu=$(IOEMU_CPU_ARCH) \
-		$(IOEMU_CONFIGURE_CROSS); \
-		$(MAKE) all
+		$(1)
 
-subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
-	set -e; \
-		$(buildmakevars2shellvars); \
-		export CONFIG_BLKTAP1=n; \
-		cd qemu-xen-traditional-dir; \
+subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+	$(call qemu-traditional-recurse,\
 		$(QEMU_ROOT)/xen-setup \
 		--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
 		$(IOEMU_EXTRA_LDFLAGS) \
 		--cpu=$(IOEMU_CPU_ARCH) \
 		$(IOEMU_CONFIGURE_CROSS); \
-		$(MAKE) install
+		$(MAKE) all \
+	)
+
+subdir-install-qemu-xen-traditional-dir: subdir-all-qemu-xen-traditional-dir
+	$(call qemu-traditional-recurse,$(MAKE) install)
 
 subdir-clean-qemu-xen-traditional-dir:
 	set -e; if test -d qemu-xen-traditional-dir/.; then \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU6u-0004Vv-Uo; Sun, 07 Feb 2016 18:31:00 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6t-0004VM-G5
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:59 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	F1/DC-07651-26D87B65; Sun, 07 Feb 2016 18:30:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1454869857!20551431!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15493 invoked from network); 7 Feb 2016 18:30:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:30:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8B-0007qh-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU6q-0001kG-NS
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:30:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU6q-0001kG-NS@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:30:56 +0000
Subject: [Xen-changelog] [xen master] tools: consolidate Makefile runes to
	building+installing qemu-trad
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a16f286fea90c8461650fd16348577c5b6bfbb2b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 16:10:48 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:20:35 2016 +0000

    tools: consolidate Makefile runes to building+installing qemu-trad
    
    Currently both subdir-all-qemu-traditional-dir and subdir-install-...
    recurse into qemu-traditional-dir and run xen-setup, but with subtly
    different options (--extra-cflags was only passed for install).
    
    Consolidate these by having the install target depend on the all
    (build) target and only calling make install.
    
    There is a subtlty which is that qemu-trad's build is not completely
    isolated from xen.git and requires some environment variables etc. To
    handle this refactor the setup code into a make macro and $(call) it
    in both cases.
    
    Note that this doesn't actually omit a potential double call to
    configure, since all is still called during install, this is the same
    for qemu-xen. Note that it doesn't result in a double build in either
    case, since apparently the qemu configure is idempotent.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/Makefile | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 15680a5..3d3fd60 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -184,28 +184,25 @@ qemu-xen-traditional-dir-force-update: qemu-xen-traditional-dir-find
 		$(GIT) reset --hard $(QEMU_TRADITIONAL_REVISION); \
 	fi
 
-subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+qemu-traditional-recurse = \
 	set -e; \
 		$(buildmakevars2shellvars); \
 		export CONFIG_BLKTAP1=n; \
 		cd qemu-xen-traditional-dir; \
-		$(QEMU_ROOT)/xen-setup \
-		$(IOEMU_EXTRA_LDFLAGS) \
-		--cpu=$(IOEMU_CPU_ARCH) \
-		$(IOEMU_CONFIGURE_CROSS); \
-		$(MAKE) all
+		$(1)
 
-subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
-	set -e; \
-		$(buildmakevars2shellvars); \
-		export CONFIG_BLKTAP1=n; \
-		cd qemu-xen-traditional-dir; \
+subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
+	$(call qemu-traditional-recurse,\
 		$(QEMU_ROOT)/xen-setup \
 		--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
 		$(IOEMU_EXTRA_LDFLAGS) \
 		--cpu=$(IOEMU_CPU_ARCH) \
 		$(IOEMU_CONFIGURE_CROSS); \
-		$(MAKE) install
+		$(MAKE) all \
+	)
+
+subdir-install-qemu-xen-traditional-dir: subdir-all-qemu-xen-traditional-dir
+	$(call qemu-traditional-recurse,$(MAKE) install)
 
 subdir-clean-qemu-xen-traditional-dir:
 	set -e; if test -d qemu-xen-traditional-dir/.; then \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU76-0004XN-3N; Sun, 07 Feb 2016 18:31:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU74-0004X5-9l
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:10 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	45/C6-13475-D6D87B65; Sun, 07 Feb 2016 18:31:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1454869867!20111846!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29065 invoked from network); 7 Feb 2016 18:31:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:31:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8L-0007qp-P8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU71-0001mq-4Z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU71-0001mq-4Z@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:31:07 +0000
Subject: [Xen-changelog] [xen master] tools: Do not expose all builds to
	unstable hypercall APIs by default
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3237645813d768e0f766cb53aa376d8bab106375
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 16:10:49 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:20:40 2016 +0000

    tools: Do not expose all builds to unstable hypercall APIs by default
    
    Currently __XEN_TOOLS__ is defined in the global CFLAGS used for tools
    builds, exposing them all to the various unstable hypercall interfaces.
    
    However there are places where we do not want this (in particular all
    the stable libraries now under tools/libs), and there is a risk of
    such uses slipping in unnoticed (currently there are none, but I
    tripped over the mixed nature of the HVMOPs just now in some new code
    I was putting together).
    
    Instead only define __XEN_TOOLS__ for things which explicitly want the
    unstable APIs. The vast majority of these are consumers of libxenctrl,
    which have opted into unstable interfaces by using libxenctrl already,
    so adding -D__XEN_TOOLS__ to CFLAGS_libxenctrl covers these without
    needing to patch the dozen or so tools manually.
    
    The libxc build itself, which doesn't use CFLAGS_libxenctrl, now needs
    the define too. As does gdbsx's own low level hypercall binding
    library xg.
    
    hvmloader no longer needs to undefine the symbol.
    
    The ocaml evtchn bindings don't actually need sysctl.h and therefore
    don't actually need __XEN_TOOLS__ either.
    
    qemu-xen-traditional doesn't use CFLAGS_libxenctrl and so we pass the
    define there (via --extra-cflags) too.
    
    Having removed __XEN_TOOLS__ replace it with
    __XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ so that in
    tree code is always using the latest APIs.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/Makefile                                | 2 +-
 tools/Rules.mk                                | 6 ++++--
 tools/debugger/gdbsx/xg/Makefile              | 1 +
 tools/firmware/hvmloader/Makefile             | 2 +-
 tools/libxc/Makefile                          | 1 +
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c | 1 -
 6 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 3d3fd60..cb8652c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -194,7 +194,7 @@ qemu-traditional-recurse = \
 subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
 	$(call qemu-traditional-recurse,\
 		$(QEMU_ROOT)/xen-setup \
-		--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
+		--extra-cflags="-D__XEN_TOOLS__ $(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
 		$(IOEMU_EXTRA_LDFLAGS) \
 		--cpu=$(IOEMU_CPU_ARCH) \
 		$(IOEMU_CONFIGURE_CROSS); \
diff --git a/tools/Rules.mk b/tools/Rules.mk
index d47fa45..9ef0b47 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -108,7 +108,9 @@ CFLAGS_libxenforeignmemory = -I$(XEN_LIBXENFOREIGNMEMORY)/include $(CFLAGS_xenin
 LDLIBS_libxenforeignmemory = $(XEN_LIBXENFOREIGNMEMORY)/libxenforeignmemory$(libextension)
 SHLIB_libxenforeignmemory  = -Wl,-rpath-link=$(XEN_LIBXENFOREIGNMEMORY)
 
-CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude)
+# code which compiles against libxenctrl get __XEN_TOOLS__ and
+# therefore sees the unstable hypercall interfaces.
+CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude) -D__XEN_TOOLS__
 SHDEPS_libxenctrl = $(SHLIB_libxentoollog) $(SHLIB_libxenevtchn) $(SHLIB_libxengnttab) $(SHLIB_libxengntshr) $(SHLIB_libxencall) $(SHLIB_libxenforeignmemory)
 LDLIBS_libxenctrl = $(SHDEPS_libxenctrl) $(XEN_LIBXC)/libxenctrl$(libextension)
 SHLIB_libxenctrl  = $(SHDEPS_libxenctrl) -Wl,-rpath-link=$(XEN_LIBXC)
@@ -159,7 +161,7 @@ SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapc
 LDLIBS_libxenlight = $(SHDEPS_libxenlight) $(XEN_XENLIGHT)/libxenlight$(libextension)
 SHLIB_libxenlight  = $(SHDEPS_libxenlight) -Wl,-rpath-link=$(XEN_XENLIGHT)
 
-CFLAGS += -D__XEN_TOOLS__
+CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
 
 # Get gcc to generate the dependencies for us.
 CFLAGS += -MMD -MF .$(if $(filter-out .,$(@D)),$(subst /,@,$(@D))@)$(@F).d
diff --git a/tools/debugger/gdbsx/xg/Makefile b/tools/debugger/gdbsx/xg/Makefile
index 78b4021..6a8937b 100644
--- a/tools/debugger/gdbsx/xg/Makefile
+++ b/tools/debugger/gdbsx/xg/Makefile
@@ -4,6 +4,7 @@ include ../Rules.mk
 XG_HDRS := xg_public.h 
 XG_OBJS := xg_main.o 
 
+CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(CFLAGS_xeninclude)
 
 
diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index 0560a7b..f2f4791 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -31,7 +31,7 @@ SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
 CFLAGS += $(CFLAGS_xeninclude)
 
 # We mustn't use tools-only public interfaces.
-CFLAGS += -U__XEN_TOOLS__ -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
+CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
 
 OBJS  = hvmloader.o mp_tables.o util.o smbios.o 
 OBJS += smp.o cacheattr.o xenbus.o vnuma.o
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index ca8bab7..0a8614c 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -105,6 +105,7 @@ endif
 
 CFLAGS   += -Werror -Wmissing-prototypes
 CFLAGS   += -I. -I./include $(CFLAGS_xeninclude)
+CFLAGS   += -D__XEN_TOOLS__
 
 # Needed for posix_fadvise64() in xc_linux.c
 CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE
diff --git a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
index b711fd8..45a385d 100644
--- a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
@@ -21,7 +21,6 @@
 #include <errno.h>
 #include <stdint.h>
 #include <sys/ioctl.h>
-#include <xen/sysctl.h>
 #include <xen/xen.h>
 #include <xen/sys/evtchn.h>
 #include <xenevtchn.h>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU76-0004XN-3N; Sun, 07 Feb 2016 18:31:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU74-0004X5-9l
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:10 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	45/C6-13475-D6D87B65; Sun, 07 Feb 2016 18:31:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1454869867!20111846!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29065 invoked from network); 7 Feb 2016 18:31:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:31:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8L-0007qp-P8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU71-0001mq-4Z
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU71-0001mq-4Z@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:31:07 +0000
Subject: [Xen-changelog] [xen master] tools: Do not expose all builds to
	unstable hypercall APIs by default
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3237645813d768e0f766cb53aa376d8bab106375
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 3 16:10:49 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:20:40 2016 +0000

    tools: Do not expose all builds to unstable hypercall APIs by default
    
    Currently __XEN_TOOLS__ is defined in the global CFLAGS used for tools
    builds, exposing them all to the various unstable hypercall interfaces.
    
    However there are places where we do not want this (in particular all
    the stable libraries now under tools/libs), and there is a risk of
    such uses slipping in unnoticed (currently there are none, but I
    tripped over the mixed nature of the HVMOPs just now in some new code
    I was putting together).
    
    Instead only define __XEN_TOOLS__ for things which explicitly want the
    unstable APIs. The vast majority of these are consumers of libxenctrl,
    which have opted into unstable interfaces by using libxenctrl already,
    so adding -D__XEN_TOOLS__ to CFLAGS_libxenctrl covers these without
    needing to patch the dozen or so tools manually.
    
    The libxc build itself, which doesn't use CFLAGS_libxenctrl, now needs
    the define too. As does gdbsx's own low level hypercall binding
    library xg.
    
    hvmloader no longer needs to undefine the symbol.
    
    The ocaml evtchn bindings don't actually need sysctl.h and therefore
    don't actually need __XEN_TOOLS__ either.
    
    qemu-xen-traditional doesn't use CFLAGS_libxenctrl and so we pass the
    define there (via --extra-cflags) too.
    
    Having removed __XEN_TOOLS__ replace it with
    __XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ so that in
    tree code is always using the latest APIs.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/Makefile                                | 2 +-
 tools/Rules.mk                                | 6 ++++--
 tools/debugger/gdbsx/xg/Makefile              | 1 +
 tools/firmware/hvmloader/Makefile             | 2 +-
 tools/libxc/Makefile                          | 1 +
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c | 1 -
 6 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index 3d3fd60..cb8652c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -194,7 +194,7 @@ qemu-traditional-recurse = \
 subdir-all-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
 	$(call qemu-traditional-recurse,\
 		$(QEMU_ROOT)/xen-setup \
-		--extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
+		--extra-cflags="-D__XEN_TOOLS__ $(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
 		$(IOEMU_EXTRA_LDFLAGS) \
 		--cpu=$(IOEMU_CPU_ARCH) \
 		$(IOEMU_CONFIGURE_CROSS); \
diff --git a/tools/Rules.mk b/tools/Rules.mk
index d47fa45..9ef0b47 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -108,7 +108,9 @@ CFLAGS_libxenforeignmemory = -I$(XEN_LIBXENFOREIGNMEMORY)/include $(CFLAGS_xenin
 LDLIBS_libxenforeignmemory = $(XEN_LIBXENFOREIGNMEMORY)/libxenforeignmemory$(libextension)
 SHLIB_libxenforeignmemory  = -Wl,-rpath-link=$(XEN_LIBXENFOREIGNMEMORY)
 
-CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude)
+# code which compiles against libxenctrl get __XEN_TOOLS__ and
+# therefore sees the unstable hypercall interfaces.
+CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_libxentoollog) $(CFLAGS_libxenforeignmemory) $(CFLAGS_xeninclude) -D__XEN_TOOLS__
 SHDEPS_libxenctrl = $(SHLIB_libxentoollog) $(SHLIB_libxenevtchn) $(SHLIB_libxengnttab) $(SHLIB_libxengntshr) $(SHLIB_libxencall) $(SHLIB_libxenforeignmemory)
 LDLIBS_libxenctrl = $(SHDEPS_libxenctrl) $(XEN_LIBXC)/libxenctrl$(libextension)
 SHLIB_libxenctrl  = $(SHDEPS_libxenctrl) -Wl,-rpath-link=$(XEN_LIBXC)
@@ -159,7 +161,7 @@ SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapc
 LDLIBS_libxenlight = $(SHDEPS_libxenlight) $(XEN_XENLIGHT)/libxenlight$(libextension)
 SHLIB_libxenlight  = $(SHDEPS_libxenlight) -Wl,-rpath-link=$(XEN_XENLIGHT)
 
-CFLAGS += -D__XEN_TOOLS__
+CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
 
 # Get gcc to generate the dependencies for us.
 CFLAGS += -MMD -MF .$(if $(filter-out .,$(@D)),$(subst /,@,$(@D))@)$(@F).d
diff --git a/tools/debugger/gdbsx/xg/Makefile b/tools/debugger/gdbsx/xg/Makefile
index 78b4021..6a8937b 100644
--- a/tools/debugger/gdbsx/xg/Makefile
+++ b/tools/debugger/gdbsx/xg/Makefile
@@ -4,6 +4,7 @@ include ../Rules.mk
 XG_HDRS := xg_public.h 
 XG_OBJS := xg_main.o 
 
+CFLAGS += -D__XEN_TOOLS__
 CFLAGS += $(CFLAGS_xeninclude)
 
 
diff --git a/tools/firmware/hvmloader/Makefile b/tools/firmware/hvmloader/Makefile
index 0560a7b..f2f4791 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -31,7 +31,7 @@ SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
 CFLAGS += $(CFLAGS_xeninclude)
 
 # We mustn't use tools-only public interfaces.
-CFLAGS += -U__XEN_TOOLS__ -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
+CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
 
 OBJS  = hvmloader.o mp_tables.o util.o smbios.o 
 OBJS += smp.o cacheattr.o xenbus.o vnuma.o
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index ca8bab7..0a8614c 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -105,6 +105,7 @@ endif
 
 CFLAGS   += -Werror -Wmissing-prototypes
 CFLAGS   += -I. -I./include $(CFLAGS_xeninclude)
+CFLAGS   += -D__XEN_TOOLS__
 
 # Needed for posix_fadvise64() in xc_linux.c
 CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE
diff --git a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
index b711fd8..45a385d 100644
--- a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
@@ -21,7 +21,6 @@
 #include <errno.h>
 #include <stdint.h>
 #include <sys/ioctl.h>
-#include <xen/sysctl.h>
 #include <xen/xen.h>
 #include <xen/sys/evtchn.h>
 #include <xenevtchn.h>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU7F-0004Zk-Aj; Sun, 07 Feb 2016 18:31:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7E-0004ZT-7X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:20 +0000
Content-Length: 2358
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	B8/C2-08977-77D87B65; Sun, 07 Feb 2016 18:31:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1454869878!14425806!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25399 invoked from network); 7 Feb 2016 18:31:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:31:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8W-0007rk-A8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7B-0001o5-QD
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU7B-0001o5-QD@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:31:17 +0000
Subject: [Xen-changelog] [xen master] libxc: fix uninitialised usage of rc
	in meminit_hvm
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2852128648544304057=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2852128648544304057==
Content-Length: 1956
Content-Transfer-Encoding: quoted-printable

commit 1ac81bb7166b79b6555290547d4effff305c74d0
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Thu Feb 4 15:25:50 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:26:12 2016 +0000

    libxc: fix uninitialised usage of rc in meminit_hvm
    
    Due to the HVMlite changes there's a chance that the value in rc is checked
    without being initialised. Fix this by initialising it to 0 prior to the
    while loop. Also add a specific error check to a previous populate_physmap
    call, this prevents us from overwriting this error.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reported-by: Olaf Hering <olaf@aepfle.de>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index ef474a8..2a3f64b 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -1412,8 +1412,15 @@ static int meminit_hvm(struct xc_dom_image *dom)
      * ensure that we can be preempted and hence dom0 remains responsive.
      */
     if ( dom->device_model )
+    {
         rc =3D xc_domain_populate_physmap_exact(
             xch, domid, 0xa0, 0, memflags, &dom->p2m_host[0x00]);
+        if ( rc !=3D 0 )
+        {
+            DOMPRINTF("Could not populate low memory (< 0xA0).\n");
+            goto error_out;
+        }
+    }
 
     stat_normal_pages =3D 0;
     for ( vmemid =3D 0; vmemid < nr_vmemranges; vmemid++ )
@@ -1440,6 +1447,7 @@ static int meminit_hvm(struct xc_dom_image *dom)
         else
             cur_pages =3D vmemranges[vmemid].start >> PAGE_SHIFT;
 
+        rc =3D 0;
         while ( (rc =3D=3D 0) && (end_pages > cur_pages) )
         {
             /* Clip count to maximum 1GB extent. */
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2852128648544304057==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2852128648544304057==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 18:31:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 18:31:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSU7F-0004Zk-Aj; Sun, 07 Feb 2016 18:31:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7E-0004ZT-7X
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:20 +0000
Content-Length: 2358
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	B8/C2-08977-77D87B65; Sun, 07 Feb 2016 18:31:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-21.messagelabs.com!1454869878!14425806!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25399 invoked from network); 7 Feb 2016 18:31:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 18:31:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU8W-0007rk-A8
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:32:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSU7B-0001o5-QD
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 18:31:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSU7B-0001o5-QD@xenbits.xen.org>
Date: Sun, 07 Feb 2016 18:31:17 +0000
Subject: [Xen-changelog] [xen master] libxc: fix uninitialised usage of rc
	in meminit_hvm
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2852128648544304057=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2852128648544304057==
Content-Length: 1956
Content-Transfer-Encoding: quoted-printable

commit 1ac81bb7166b79b6555290547d4effff305c74d0
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Thu Feb 4 15:25:50 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 4 15:26:12 2016 +0000

    libxc: fix uninitialised usage of rc in meminit_hvm
    
    Due to the HVMlite changes there's a chance that the value in rc is checked
    without being initialised. Fix this by initialising it to 0 prior to the
    while loop. Also add a specific error check to a previous populate_physmap
    call, this prevents us from overwriting this error.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reported-by: Olaf Hering <olaf@aepfle.de>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index ef474a8..2a3f64b 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -1412,8 +1412,15 @@ static int meminit_hvm(struct xc_dom_image *dom)
      * ensure that we can be preempted and hence dom0 remains responsive.
      */
     if ( dom->device_model )
+    {
         rc =3D xc_domain_populate_physmap_exact(
             xch, domid, 0xa0, 0, memflags, &dom->p2m_host[0x00]);
+        if ( rc !=3D 0 )
+        {
+            DOMPRINTF("Could not populate low memory (< 0xA0).\n");
+            goto error_out;
+        }
+    }
 
     stat_normal_pages =3D 0;
     for ( vmemid =3D 0; vmemid < nr_vmemranges; vmemid++ )
@@ -1440,6 +1447,7 @@ static int meminit_hvm(struct xc_dom_image *dom)
         else
             cur_pages =3D vmemranges[vmemid].start >> PAGE_SHIFT;
 
+        rc =3D 0;
         while ( (rc =3D=3D 0) && (end_pages > cur_pages) )
         {
             /* Clip count to maximum 1GB extent. */
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2852128648544304057==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2852128648544304057==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuP-0006Oi-GH; Sun, 07 Feb 2016 19:22:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuN-0006Ob-Kz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:07 +0000
Content-Length: 3668
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	29/A7-18633-F5997B65; Sun, 07 Feb 2016 19:22:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1454872925!20813808!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62781 invoked from network); 7 Feb 2016 19:22:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvf-0000Sd-KX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuK-0005zy-Ne
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuK-0005zy-Ne@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7183295586760008866=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============7183295586760008866==
Content-Length: 3310
Content-Transfer-Encoding: quoted-printable

commit dfa931206ef90f27c4998399e03233501d7e8705
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:03 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure            | 19 ++++++++++++++++++-
 hw/xen_common.h      | 16 ++++++++++++++++
 hw/xen_domainbuild.c |  2 +-
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 994f731..4dcbd67 100755
--- a/configure
+++ b/configure
@@ -1432,7 +1432,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/xen_common.h b/hw/xen_common.h
index 727757a..f6d4951 100644
--- a/hw/xen_common.h
+++ b/hw/xen_common.h
@@ -157,4 +157,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
diff --git a/hw/xen_domainbuild.c b/hw/xen_domainbuild.c
index db14974..f4d170a 100644
--- a/hw/xen_domainbuild.c
+++ b/hw/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3


--===============7183295586760008866==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============7183295586760008866==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuP-0006Oi-GH; Sun, 07 Feb 2016 19:22:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuN-0006Ob-Kz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:07 +0000
Content-Length: 3668
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	29/A7-18633-F5997B65; Sun, 07 Feb 2016 19:22:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1454872925!20813808!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62781 invoked from network); 7 Feb 2016 19:22:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvf-0000Sd-KX
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuK-0005zy-Ne
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuK-0005zy-Ne@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7183295586760008866=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============7183295586760008866==
Content-Length: 3310
Content-Transfer-Encoding: quoted-printable

commit dfa931206ef90f27c4998399e03233501d7e8705
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:03 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure            | 19 ++++++++++++++++++-
 hw/xen_common.h      | 16 ++++++++++++++++
 hw/xen_domainbuild.c |  2 +-
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 994f731..4dcbd67 100755
--- a/configure
+++ b/configure
@@ -1432,7 +1432,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/xen_common.h b/hw/xen_common.h
index 727757a..f6d4951 100644
--- a/hw/xen_common.h
+++ b/hw/xen_common.h
@@ -157,4 +157,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
diff --git a/hw/xen_domainbuild.c b/hw/xen_domainbuild.c
index db14974..f4d170a 100644
--- a/hw/xen_domainbuild.c
+++ b/hw/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3


--===============7183295586760008866==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============7183295586760008866==--

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuZ-0006QF-Kk; Sun, 07 Feb 2016 19:22:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuY-0006PK-3j
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:18 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	6F/1F-08479-96997B65; Sun, 07 Feb 2016 19:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1454872935!13370721!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11170 invoked from network); 7 Feb 2016 19:22:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvq-0000Sl-0x
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuV-00060N-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuV-00060N-H1@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbdaad6d9ff47f6ef5677d5e94f2b55d08f3545c
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:08 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/e1000.c b/hw/e1000.c
index 8e097f1..5f35931 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -673,7 +673,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -872,7 +873,8 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuZ-0006QF-Kk; Sun, 07 Feb 2016 19:22:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuY-0006PK-3j
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:18 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	6F/1F-08479-96997B65; Sun, 07 Feb 2016 19:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1454872935!13370721!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11170 invoked from network); 7 Feb 2016 19:22:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvq-0000Sl-0x
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuV-00060N-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuV-00060N-H1@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbdaad6d9ff47f6ef5677d5e94f2b55d08f3545c
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:08 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/e1000.c b/hw/e1000.c
index 8e097f1..5f35931 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -673,7 +673,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -872,7 +873,8 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuj-0006RT-PE; Sun, 07 Feb 2016 19:22:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUui-0006RG-4S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:28 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	40/A9-31122-37997B65; Sun, 07 Feb 2016 19:22:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454872946!14024552!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42104 invoked from network); 7 Feb 2016 19:22:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw0-0000TP-IO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuf-00060l-Rj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuf-00060l-Rj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ed858e4fafbb950761dd408ed9b2185ce4a3b38a
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:08 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index c5eccaf..6427261 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1890,15 +1890,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuj-0006RT-PE; Sun, 07 Feb 2016 19:22:29 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUui-0006RG-4S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:28 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	40/A9-31122-37997B65; Sun, 07 Feb 2016 19:22:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454872946!14024552!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42104 invoked from network); 7 Feb 2016 19:22:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw0-0000TP-IO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuf-00060l-Rj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuf-00060l-Rj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ed858e4fafbb950761dd408ed9b2185ce4a3b38a
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:08 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index c5eccaf..6427261 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1890,15 +1890,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuu-0006TP-0W; Sun, 07 Feb 2016 19:22:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUus-0006T3-Ku
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:38 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	8B/A9-31122-E7997B65; Sun, 07 Feb 2016 19:22:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454872956!14024563!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42276 invoked from network); 7 Feb 2016 19:22:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwA-0000TX-Uz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuq-00061E-En
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuq-00061E-En@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc3e0649dfa63bf63254057c9cbe2050cb73c26f
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/megasas.c b/hw/megasas.c
index 61b6527..3a3c6e8 100644
--- a/hw/megasas.c
+++ b/hw/megasas.c
@@ -661,7 +661,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUuu-0006TP-0W; Sun, 07 Feb 2016 19:22:40 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUus-0006T3-Ku
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:38 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	8B/A9-31122-E7997B65; Sun, 07 Feb 2016 19:22:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1454872956!14024563!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42276 invoked from network); 7 Feb 2016 19:22:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwA-0000TX-Uz
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUuq-00061E-En
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUuq-00061E-En@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc3e0649dfa63bf63254057c9cbe2050cb73c26f
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/megasas.c b/hw/megasas.c
index 61b6527..3a3c6e8 100644
--- a/hw/megasas.c
+++ b/hw/megasas.c
@@ -661,7 +661,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUv4-0006Us-5h; Sun, 07 Feb 2016 19:22:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUv3-0006Ug-8p
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:49 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	C5/31-07651-88997B65; Sun, 07 Feb 2016 19:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1454872967!13364694!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11067 invoked from network); 7 Feb 2016 19:22:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwL-0000U8-AV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUv0-00062F-Pj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUv0-00062F-Pj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:46 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 240814db3ec94b6bc2947f5a5b256acb890fdf81
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/ne2000.c b/hw/ne2000.c
index 61d1305..b0b1ad9 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -475,8 +475,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         cpu_to_le32wu((uint32_t *)(s->mem + addr), val);
     }
 }
@@ -505,8 +506,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return le32_to_cpupu((uint32_t *)(s->mem + addr));
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:22:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:22:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUv4-0006Us-5h; Sun, 07 Feb 2016 19:22:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUv3-0006Ug-8p
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:49 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	C5/31-07651-88997B65; Sun, 07 Feb 2016 19:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1454872967!13364694!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11067 invoked from network); 7 Feb 2016 19:22:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwL-0000U8-AV
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUv0-00062F-Pj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUv0-00062F-Pj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:46 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 240814db3ec94b6bc2947f5a5b256acb890fdf81
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/ne2000.c b/hw/ne2000.c
index 61d1305..b0b1ad9 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -475,8 +475,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         cpu_to_le32wu((uint32_t *)(s->mem + addr), val);
     }
 }
@@ -505,8 +506,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return le32_to_cpupu((uint32_t *)(s->mem + addr));
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvE-0006WT-AJ; Sun, 07 Feb 2016 19:23:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvD-0006WG-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:59 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	5A/B9-31122-29997B65; Sun, 07 Feb 2016 19:22:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1454872977!14438974!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41367 invoked from network); 7 Feb 2016 19:22:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwV-0000UH-Ny
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvB-00063Y-6c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvB-00063Y-6c@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4c32a1d125c7a541a0a4a95186e2af3b6d0a9004
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 67562db..6a7e2fb 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -722,6 +722,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvE-0006WT-AJ; Sun, 07 Feb 2016 19:23:00 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvD-0006WG-H1
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:59 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	5A/B9-31122-29997B65; Sun, 07 Feb 2016 19:22:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1454872977!14438974!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41367 invoked from network); 7 Feb 2016 19:22:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:22:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwV-0000UH-Ny
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvB-00063Y-6c
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:22:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvB-00063Y-6c@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:22:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4c32a1d125c7a541a0a4a95186e2af3b6d0a9004
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 67562db..6a7e2fb 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -722,6 +722,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvP-0006YA-Ej; Sun, 07 Feb 2016 19:23:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvN-0006Xy-RR
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:09 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	B5/C9-31122-D9997B65; Sun, 07 Feb 2016 19:23:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454872987!14456312!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28831 invoked from network); 7 Feb 2016 19:23:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwg-0000UP-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvL-00064T-Jj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvL-00064T-Jj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0f5252ed1ba0e1634e282a953a456da1ae637d6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c
index 0c037a2..8cd216c 100644
--- a/hw/cadence_gem.c
+++ b/hw/cadence_gem.c
@@ -659,6 +659,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvP-0006YA-Ej; Sun, 07 Feb 2016 19:23:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvN-0006Xy-RR
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:09 +0000
Received: from [85.158.143.35] by server-3.bemta-4.messagelabs.com id
	B5/C9-31122-D9997B65; Sun, 07 Feb 2016 19:23:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1454872987!14456312!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28831 invoked from network); 7 Feb 2016 19:23:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwg-0000UP-5v
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvL-00064T-Jj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvL-00064T-Jj@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0f5252ed1ba0e1634e282a953a456da1ae637d6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/cadence_gem.c b/hw/cadence_gem.c
index 0c037a2..8cd216c 100644
--- a/hw/cadence_gem.c
+++ b/hw/cadence_gem.c
@@ -659,6 +659,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUva-0006aE-Is; Sun, 07 Feb 2016 19:23:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvY-0006a6-KF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:20 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	58/EB-06010-7A997B65; Sun, 07 Feb 2016 19:23:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1454872998!20876172!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46863 invoked from network); 7 Feb 2016 19:23:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwq-0000UX-Lv
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvW-00065O-3t
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvW-00065O-3t@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 921412688e6e0373097e3ab808e08fdacb20bac9
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 7df8e21..3ec2824 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1354,21 +1354,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, 2, ehci->dma);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUva-0006aE-Is; Sun, 07 Feb 2016 19:23:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvY-0006a6-KF
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:20 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	58/EB-06010-7A997B65; Sun, 07 Feb 2016 19:23:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1454872998!20876172!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46863 invoked from network); 7 Feb 2016 19:23:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUwq-0000UX-Lv
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvW-00065O-3t
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvW-00065O-3t@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 921412688e6e0373097e3ab808e08fdacb20bac9
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 7df8e21..3ec2824 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1354,21 +1354,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, 2, ehci->dma);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvk-0006bj-On; Sun, 07 Feb 2016 19:23:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvj-0006bR-4S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:31 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	A7/E5-23747-2B997B65; Sun, 07 Feb 2016 19:23:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1454873008!20319017!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57018 invoked from network); 7 Feb 2016 19:23:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUx1-0000VO-3F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvg-00066E-GK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvg-00066E-GK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 36b4f8a6fe38e1bd3c8ec51d4f6e168d05282713
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 3ec2824..8efa43b 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1341,7 +1341,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     dir =(itd->bufptr[1] & ITD_BUFPTR_DIRECTION);
@@ -1431,9 +1431,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvk-0006bj-On; Sun, 07 Feb 2016 19:23:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvj-0006bR-4S
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:31 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	A7/E5-23747-2B997B65; Sun, 07 Feb 2016 19:23:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1454873008!20319017!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57018 invoked from network); 7 Feb 2016 19:23:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUx1-0000VO-3F
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:24:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvg-00066E-GK
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvg-00066E-GK@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 36b4f8a6fe38e1bd3c8ec51d4f6e168d05282713
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 3ec2824..8efa43b 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1341,7 +1341,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     dir =(itd->bufptr[1] & ITD_BUFPTR_DIRECTION);
@@ -1431,9 +1431,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvu-0006dA-VS; Sun, 07 Feb 2016 19:23:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvt-0006cu-71
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:41 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	97/7E-08977-CB997B65; Sun, 07 Feb 2016 19:23:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1454873019!14440240!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31037 invoked from network); 7 Feb 2016 19:23:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUxB-0000VX-Ew
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:25:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvq-00067A-TY
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvq-00067A-TY@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:38 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fc857bbe30c58b627423c58004d8d6e75df74846
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/pcnet.c b/hw/pcnet.c
index c2d8abc..22d20bb 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1083,6 +1083,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUvu-0006dA-VS; Sun, 07 Feb 2016 19:23:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvt-0006cu-71
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:41 +0000
Received: from [85.158.143.35] by server-2.bemta-4.messagelabs.com id
	97/7E-08977-CB997B65; Sun, 07 Feb 2016 19:23:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1454873019!14440240!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31037 invoked from network); 7 Feb 2016 19:23:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUxB-0000VX-Ew
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:25:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUvq-00067A-TY
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUvq-00067A-TY@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:38 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fc857bbe30c58b627423c58004d8d6e75df74846
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/pcnet.c b/hw/pcnet.c
index c2d8abc..22d20bb 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1083,6 +1083,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUw5-0006fl-4X; Sun, 07 Feb 2016 19:23:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw4-0006fY-0j
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:52 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	B1/B5-17089-7C997B65; Sun, 07 Feb 2016 19:23:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454873029!20789852!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28803 invoked from network); 7 Feb 2016 19:23:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUxL-0000WF-Sj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:25:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw1-00068B-AO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUw1-00068B-AO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 10c1b763c26feb645627a1639e722515f3e1e876
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/pcnet.c b/hw/pcnet.c
index 22d20bb..121ae1f 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1109,7 +1109,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1258,8 +1258,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 07 19:23:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Feb 2016 19:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aSUw5-0006fl-4X; Sun, 07 Feb 2016 19:23:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw4-0006fY-0j
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:52 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	B1/B5-17089-7C997B65; Sun, 07 Feb 2016 19:23:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1454873029!20789852!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28803 invoked from network); 7 Feb 2016 19:23:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Feb 2016 19:23:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUxL-0000WF-Sj
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:25:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aSUw1-00068B-AO
	for xen-changelog@lists.xensource.com; Sun, 07 Feb 2016 19:23:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aSUw1-00068B-AO@xenbits.xen.org>
Date: Sun, 07 Feb 2016 19:23:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.3] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 10c1b763c26feb645627a1639e722515f3e1e876
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:47:09 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/pcnet.c b/hw/pcnet.c
index 22d20bb..121ae1f 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1109,7 +1109,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1258,8 +1258,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgIj-0002jL-Uf; Thu, 11 Feb 2016 01:44:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIi-0002jG-JO
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:08 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	83/A9-18633-767EBB65; Thu, 11 Feb 2016 01:44:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455155043!21609210!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31925 invoked from network); 11 Feb 2016 01:44:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgK6-0006SV-7j
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgId-0001rz-Gi
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgId-0001rz-Gi@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:03 +0000
Subject: [Xen-changelog] [xen master] vm_event: Fix regression caused by
	b701ccc8
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c9c430df0062e0f6a1d95c5d3eb8af267183c6f0
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Fri Feb 5 14:20:16 2016 -0700
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:10:15 2016 +0000

    vm_event: Fix regression caused by b701ccc8
    
    When xc_map_foreign_batch got deprecated reinitializing vm_event on a domain
    where an event listener was previously active broke as it relied on the flag
    XEN_DOMCTL_PFINFO_XTAB to indicate that the magic page is not in the physmap.
    Manually check the gpfn type, add it to the physmap if needed, and only then
    try to map it.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Cc: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_vm_event.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/tools/libxc/xc_vm_event.c b/tools/libxc/xc_vm_event.c
index 57abce0..443c73b 100644
--- a/tools/libxc/xc_vm_event.c
+++ b/tools/libxc/xc_vm_event.c
@@ -72,11 +72,10 @@ void *xc_vm_event_enable(xc_interface *xch, domid_t domain_id, int param,
 
     ring_pfn = pfn;
     mmap_pfn = pfn;
-    ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
-                                     &mmap_pfn, 1);
-    if ( !ring_page )
+    rc1 = xc_get_pfn_type_batch(xch, domain_id, 1, &mmap_pfn);
+    if ( rc1 || mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
     {
-        /* Map failed, populate ring page */
+        /* Page not in the physmap, try to populate it */
         rc1 = xc_domain_populate_physmap_exact(xch, domain_id, 1, 0, 0,
                                               &ring_pfn);
         if ( rc1 != 0 )
@@ -84,15 +83,15 @@ void *xc_vm_event_enable(xc_interface *xch, domid_t domain_id, int param,
             PERROR("Failed to populate ring pfn\n");
             goto out;
         }
+    }
 
-        mmap_pfn = ring_pfn;
-        ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
+    mmap_pfn = ring_pfn;
+    ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
                                          &mmap_pfn, 1);
-        if ( !ring_page )
-        {
-            PERROR("Could not map the ring page\n");
-            goto out;
-        }
+    if ( !ring_page )
+    {
+        PERROR("Could not map the ring page\n");
+        goto out;
     }
 
     switch ( param )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgIj-0002jL-Uf; Thu, 11 Feb 2016 01:44:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIi-0002jG-JO
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:08 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	83/A9-18633-767EBB65; Thu, 11 Feb 2016 01:44:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455155043!21609210!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31925 invoked from network); 11 Feb 2016 01:44:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgK6-0006SV-7j
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgId-0001rz-Gi
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgId-0001rz-Gi@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:03 +0000
Subject: [Xen-changelog] [xen master] vm_event: Fix regression caused by
	b701ccc8
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c9c430df0062e0f6a1d95c5d3eb8af267183c6f0
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Fri Feb 5 14:20:16 2016 -0700
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:10:15 2016 +0000

    vm_event: Fix regression caused by b701ccc8
    
    When xc_map_foreign_batch got deprecated reinitializing vm_event on a domain
    where an event listener was previously active broke as it relied on the flag
    XEN_DOMCTL_PFINFO_XTAB to indicate that the magic page is not in the physmap.
    Manually check the gpfn type, add it to the physmap if needed, and only then
    try to map it.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Cc: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_vm_event.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/tools/libxc/xc_vm_event.c b/tools/libxc/xc_vm_event.c
index 57abce0..443c73b 100644
--- a/tools/libxc/xc_vm_event.c
+++ b/tools/libxc/xc_vm_event.c
@@ -72,11 +72,10 @@ void *xc_vm_event_enable(xc_interface *xch, domid_t domain_id, int param,
 
     ring_pfn = pfn;
     mmap_pfn = pfn;
-    ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
-                                     &mmap_pfn, 1);
-    if ( !ring_page )
+    rc1 = xc_get_pfn_type_batch(xch, domain_id, 1, &mmap_pfn);
+    if ( rc1 || mmap_pfn & XEN_DOMCTL_PFINFO_XTAB )
     {
-        /* Map failed, populate ring page */
+        /* Page not in the physmap, try to populate it */
         rc1 = xc_domain_populate_physmap_exact(xch, domain_id, 1, 0, 0,
                                               &ring_pfn);
         if ( rc1 != 0 )
@@ -84,15 +83,15 @@ void *xc_vm_event_enable(xc_interface *xch, domid_t domain_id, int param,
             PERROR("Failed to populate ring pfn\n");
             goto out;
         }
+    }
 
-        mmap_pfn = ring_pfn;
-        ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
+    mmap_pfn = ring_pfn;
+    ring_page = xc_map_foreign_pages(xch, domain_id, PROT_READ | PROT_WRITE,
                                          &mmap_pfn, 1);
-        if ( !ring_page )
-        {
-            PERROR("Could not map the ring page\n");
-            goto out;
-        }
+    if ( !ring_page )
+    {
+        PERROR("Could not map the ring page\n");
+        goto out;
     }
 
     switch ( param )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgIs-0002kD-2j; Thu, 11 Feb 2016 01:44:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIq-0002jT-It
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:16 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	12/90-24375-F67EBB65; Thu, 11 Feb 2016 01:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455155054!21755258!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21011 invoked from network); 11 Feb 2016 01:44:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKG-0006SZ-JD
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIn-0001tl-UC
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:13 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgIn-0001tl-UC@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:13 +0000
Subject: [Xen-changelog] [xen master] xl: use bool type for flags instead of
	int
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb24954e51e21583241f2ce93db40f4057823066
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Sat Feb 6 03:00:52 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:10:57 2016 +0000

    xl: use bool type for flags instead of int
    
    in schedulers' command handlers.
    
    No functional change intended.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 20704d2..d07ccb2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -6035,9 +6035,11 @@ int main_sched_credit(int argc, char **argv)
 {
     const char *dom = NULL;
     const char *cpupool = NULL;
-    int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
-    int opt_s = 0;
-    int tslice = 0, opt_t = 0, ratelimit = 0, opt_r = 0;
+    int weight = 256, cap = 0;
+    int tslice = 0, ratelimit = 0;
+    bool opt_w = false, opt_c = false;
+    bool opt_t = false, opt_r = false;
+    bool opt_s = false;
     int opt, rc;
     static struct option opts[] = {
         {"domain", 1, 0, 'd'},
@@ -6056,22 +6058,22 @@ int main_sched_credit(int argc, char **argv)
         break;
     case 'w':
         weight = strtol(optarg, NULL, 10);
-        opt_w = 1;
+        opt_w = true;
         break;
     case 'c':
         cap = strtol(optarg, NULL, 10);
-        opt_c = 1;
+        opt_c = true;
         break;
     case 't':
         tslice = strtol(optarg, NULL, 10);
-        opt_t = 1;
+        opt_t = true;
         break;
     case 'r':
         ratelimit = strtol(optarg, NULL, 10);
-        opt_r = 1;
+        opt_r = true;
         break;
     case 's':
-        opt_s = 1;
+        opt_s = true;
         break;
     case 'p':
         cpupool = optarg;
@@ -6157,7 +6159,8 @@ int main_sched_credit2(int argc, char **argv)
 {
     const char *dom = NULL;
     const char *cpupool = NULL;
-    int weight = 256, opt_w = 0;
+    int weight = 256;
+    bool opt_w = false;
     int opt, rc;
     static struct option opts[] = {
         {"domain", 1, 0, 'd'},
@@ -6172,7 +6175,7 @@ int main_sched_credit2(int argc, char **argv)
         break;
     case 'w':
         weight = strtol(optarg, NULL, 10);
-        opt_w = 1;
+        opt_w = true;
         break;
     case 'p':
         cpupool = optarg;
@@ -6246,11 +6249,11 @@ int main_sched_rtds(int argc, char **argv)
         break;
     case 'p':
         period = strtol(optarg, NULL, 10);
-        opt_p = 1;
+        opt_p = true;
         break;
     case 'b':
         budget = strtol(optarg, NULL, 10);
-        opt_b = 1;
+        opt_b = true;
         break;
     case 'c':
         cpupool = optarg;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgIs-0002kD-2j; Thu, 11 Feb 2016 01:44:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIq-0002jT-It
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:16 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	12/90-24375-F67EBB65; Thu, 11 Feb 2016 01:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455155054!21755258!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21011 invoked from network); 11 Feb 2016 01:44:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKG-0006SZ-JD
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIn-0001tl-UC
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:13 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgIn-0001tl-UC@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:13 +0000
Subject: [Xen-changelog] [xen master] xl: use bool type for flags instead of
	int
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb24954e51e21583241f2ce93db40f4057823066
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Sat Feb 6 03:00:52 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:10:57 2016 +0000

    xl: use bool type for flags instead of int
    
    in schedulers' command handlers.
    
    No functional change intended.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 20704d2..d07ccb2 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -6035,9 +6035,11 @@ int main_sched_credit(int argc, char **argv)
 {
     const char *dom = NULL;
     const char *cpupool = NULL;
-    int weight = 256, cap = 0, opt_w = 0, opt_c = 0;
-    int opt_s = 0;
-    int tslice = 0, opt_t = 0, ratelimit = 0, opt_r = 0;
+    int weight = 256, cap = 0;
+    int tslice = 0, ratelimit = 0;
+    bool opt_w = false, opt_c = false;
+    bool opt_t = false, opt_r = false;
+    bool opt_s = false;
     int opt, rc;
     static struct option opts[] = {
         {"domain", 1, 0, 'd'},
@@ -6056,22 +6058,22 @@ int main_sched_credit(int argc, char **argv)
         break;
     case 'w':
         weight = strtol(optarg, NULL, 10);
-        opt_w = 1;
+        opt_w = true;
         break;
     case 'c':
         cap = strtol(optarg, NULL, 10);
-        opt_c = 1;
+        opt_c = true;
         break;
     case 't':
         tslice = strtol(optarg, NULL, 10);
-        opt_t = 1;
+        opt_t = true;
         break;
     case 'r':
         ratelimit = strtol(optarg, NULL, 10);
-        opt_r = 1;
+        opt_r = true;
         break;
     case 's':
-        opt_s = 1;
+        opt_s = true;
         break;
     case 'p':
         cpupool = optarg;
@@ -6157,7 +6159,8 @@ int main_sched_credit2(int argc, char **argv)
 {
     const char *dom = NULL;
     const char *cpupool = NULL;
-    int weight = 256, opt_w = 0;
+    int weight = 256;
+    bool opt_w = false;
     int opt, rc;
     static struct option opts[] = {
         {"domain", 1, 0, 'd'},
@@ -6172,7 +6175,7 @@ int main_sched_credit2(int argc, char **argv)
         break;
     case 'w':
         weight = strtol(optarg, NULL, 10);
-        opt_w = 1;
+        opt_w = true;
         break;
     case 'p':
         cpupool = optarg;
@@ -6246,11 +6249,11 @@ int main_sched_rtds(int argc, char **argv)
         break;
     case 'p':
         period = strtol(optarg, NULL, 10);
-        opt_p = 1;
+        opt_p = true;
         break;
     case 'b':
         budget = strtol(optarg, NULL, 10);
-        opt_b = 1;
+        opt_b = true;
         break;
     case 'c':
         cpupool = optarg;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgJ2-0002lH-7W; Thu, 11 Feb 2016 01:44:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJ0-0002l7-R9
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:26 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	AB/46-25435-A77EBB65; Thu, 11 Feb 2016 01:44:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455155064!22996647!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16496 invoked from network); 11 Feb 2016 01:44:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKQ-0006Sl-SC
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIy-0001uq-8H
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgIy-0001uq-8H@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:24 +0000
Subject: [Xen-changelog] [xen master] libxc: correct memory range check in
	domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe52f6a47ed09cf0e6a760e0858bdbb6bf71ceb2
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Mon Feb 8 15:23:52 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:28:21 2016 +0000

    libxc: correct memory range check in domain builder
    
    Commit 81a76e4b12961a9f54f5021809074196dfe6dbba ("libxc: rework of
    domain builder's page table handler") introduced a regression with
    checking the required memory size of the domain. The needed maximum pfn
    of the initial kernel mapping was added to the currently last used pfn
    resulting in doubling the estimated memory need.
    
    Correct the calculation of the last needed pfn to enable booting of
    small domains again.
    
    Reported-by: Anthony Perard <anthony.perard@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index 2a3f64b..ac4dae5 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -164,7 +164,7 @@ static int count_pgtables(struct xc_dom_image *dom, xen_vaddr_t from,
 
     for ( l = domx86->params->levels - 1; l >= 0; l-- )
     {
-        map->lvls[l].pfn = pfn + map->area.pgtables;
+        map->lvls[l].pfn = dom->pfn_alloc_end + map->area.pgtables;
         if ( l == domx86->params->levels - 1 )
         {
             /* Top level page table in first mapping only. */
@@ -238,8 +238,7 @@ static int alloc_pgtables(struct xc_dom_image *dom)
         try_virt_end = round_up(dom->virt_alloc_end + pages * PAGE_SIZE_X86,
                                 bits_to_mask(22)); /* 4MB alignment */
 
-        if ( count_pgtables(dom, dom->parms.virt_base, try_virt_end,
-                            dom->pfn_alloc_end) )
+        if ( count_pgtables(dom, dom->parms.virt_base, try_virt_end, 0) )
             return -1;
 
         pages = map->area.pgtables + extra_pages;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgJ2-0002lH-7W; Thu, 11 Feb 2016 01:44:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJ0-0002l7-R9
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:26 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	AB/46-25435-A77EBB65; Thu, 11 Feb 2016 01:44:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455155064!22996647!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16496 invoked from network); 11 Feb 2016 01:44:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKQ-0006Sl-SC
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:45:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgIy-0001uq-8H
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgIy-0001uq-8H@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:24 +0000
Subject: [Xen-changelog] [xen master] libxc: correct memory range check in
	domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe52f6a47ed09cf0e6a760e0858bdbb6bf71ceb2
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Mon Feb 8 15:23:52 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:28:21 2016 +0000

    libxc: correct memory range check in domain builder
    
    Commit 81a76e4b12961a9f54f5021809074196dfe6dbba ("libxc: rework of
    domain builder's page table handler") introduced a regression with
    checking the required memory size of the domain. The needed maximum pfn
    of the initial kernel mapping was added to the currently last used pfn
    resulting in doubling the estimated memory need.
    
    Correct the calculation of the last needed pfn to enable booting of
    small domains again.
    
    Reported-by: Anthony Perard <anthony.perard@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index 2a3f64b..ac4dae5 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -164,7 +164,7 @@ static int count_pgtables(struct xc_dom_image *dom, xen_vaddr_t from,
 
     for ( l = domx86->params->levels - 1; l >= 0; l-- )
     {
-        map->lvls[l].pfn = pfn + map->area.pgtables;
+        map->lvls[l].pfn = dom->pfn_alloc_end + map->area.pgtables;
         if ( l == domx86->params->levels - 1 )
         {
             /* Top level page table in first mapping only. */
@@ -238,8 +238,7 @@ static int alloc_pgtables(struct xc_dom_image *dom)
         try_virt_end = round_up(dom->virt_alloc_end + pages * PAGE_SIZE_X86,
                                 bits_to_mask(22)); /* 4MB alignment */
 
-        if ( count_pgtables(dom, dom->parms.virt_base, try_virt_end,
-                            dom->pfn_alloc_end) )
+        if ( count_pgtables(dom, dom->parms.virt_base, try_virt_end, 0) )
             return -1;
 
         pages = map->area.pgtables + extra_pages;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgJC-0002mT-Bh; Thu, 11 Feb 2016 01:44:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJB-0002mJ-1o
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:37 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	DC/A1-09478-487EBB65; Thu, 11 Feb 2016 01:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455155074!21293332!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9357 invoked from network); 11 Feb 2016 01:44:35 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:35 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKb-0006TM-4F
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:46:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJ8-0001vj-HU
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgJ8-0001vj-HU@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:34 +0000
Subject: [Xen-changelog] [xen master] xen-access: minor fixes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 483ad4439f7fc71e12d46dae516f2b9ab2b977ad
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Fri Feb 5 14:22:20 2016 -0700
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:28:34 2016 +0000

    xen-access: minor fixes
    
    Only copy the VCPU_PAUSED flag to the response. Copy the entire mem_access
    struct which is useful and easily forgotten when also testing the emulate
    response flags. Turn off singlestepping on the vCPUs once we are done
    processing all events, as we might have turned on singlestep there and leave
    the VM in an undesirable state.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Cc: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 tools/tests/xen-access/xen-access.c | 46 ++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 21 deletions(-)

diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 7993947..ef89246 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -537,16 +537,10 @@ int main(int argc, char *argv[])
 
             if ( altp2m )
             {
-                uint32_t vcpu_id;
-
                 rc = xc_altp2m_switch_to_view( xch, domain_id, 0 );
                 rc = xc_altp2m_destroy_view(xch, domain_id, altp2m_view_id);
                 rc = xc_altp2m_set_domain_state(xch, domain_id, 0);
                 rc = xc_monitor_singlestep(xch, domain_id, 0);
-
-                for ( vcpu_id = 0; vcpu_id<XEN_LEGACY_MAX_VCPUS; vcpu_id++)
-                    rc = control_singlestep(xch, domain_id, vcpu_id, 0);
-
             } else {
                 rc = xc_set_mem_access(xch, domain_id, XENMEM_access_rwx, ~0ull, 0);
                 rc = xc_set_mem_access(xch, domain_id, XENMEM_access_rwx, START_PFN,
@@ -570,8 +564,6 @@ int main(int argc, char *argv[])
 
         while ( RING_HAS_UNCONSUMED_REQUESTS(&xenaccess->vm_event.back_ring) )
         {
-            xenmem_access_t access;
-
             get_request(&xenaccess->vm_event, &req);
 
             if ( req.version != VM_EVENT_INTERFACE_VERSION )
@@ -584,16 +576,25 @@ int main(int argc, char *argv[])
             memset( &rsp, 0, sizeof (rsp) );
             rsp.version = VM_EVENT_INTERFACE_VERSION;
             rsp.vcpu_id = req.vcpu_id;
-            rsp.flags = req.flags;
+            rsp.flags = (req.flags & VM_EVENT_FLAG_VCPU_PAUSED);
+            rsp.reason = req.reason;
 
             switch (req.reason) {
             case VM_EVENT_REASON_MEM_ACCESS:
-                rc = xc_get_mem_access(xch, domain_id, req.u.mem_access.gfn, &access);
-                if (rc < 0)
+                if ( !shutting_down )
                 {
-                    ERROR("Error %d getting mem_access event\n", rc);
-                    interrupted = -1;
-                    continue;
+                    /*
+                     * This serves no other purpose here then demonstrating the use of the API.
+                     * At shutdown we have already reset all the permissions so really no use getting it again.
+                     */
+                    xenmem_access_t access;
+                    rc = xc_get_mem_access(xch, domain_id, req.u.mem_access.gfn, &access);
+                    if (rc < 0)
+                    {
+                        ERROR("Error %d getting mem_access event\n", rc);
+                        interrupted = -1;
+                        continue;
+                    }
                 }
 
                 printf("PAGE ACCESS: %c%c%c for GFN %"PRIx64" (offset %06"
@@ -614,11 +615,8 @@ int main(int argc, char *argv[])
                 {
                     DPRINTF("\tSwitching back to default view!\n");
 
-                    rsp.reason = req.reason;
-                    rsp.flags = req.flags;
+                    rsp.flags |= VM_EVENT_FLAG_TOGGLE_SINGLESTEP;
                     rsp.altp2m_idx = 0;
-
-                    control_singlestep(xch, domain_id, rsp.vcpu_id, 1);
                 }
                 else if ( default_access != after_first_access )
                 {
@@ -633,7 +631,7 @@ int main(int argc, char *argv[])
                     }
                 }
 
-                rsp.u.mem_access.gfn = req.u.mem_access.gfn;
+                rsp.u.mem_access = req.u.mem_access;
                 break;
             case VM_EVENT_REASON_SOFTWARE_BREAKPOINT:
                 printf("Breakpoint: rip=%016"PRIx64", gfn=%"PRIx64" (vcpu %d)\n",
@@ -662,12 +660,11 @@ int main(int argc, char *argv[])
                 {
                     printf("\tSwitching altp2m to view %u!\n", altp2m_view_id);
 
-                    rsp.reason = req.reason;
                     rsp.flags |= VM_EVENT_FLAG_ALTERNATE_P2M;
                     rsp.altp2m_idx = altp2m_view_id;
                 }
 
-                control_singlestep(xch, domain_id, req.vcpu_id, 0);
+                rsp.flags |= VM_EVENT_FLAG_TOGGLE_SINGLESTEP;
 
                 break;
             default:
@@ -694,6 +691,13 @@ int main(int argc, char *argv[])
     DPRINTF("xenaccess shut down on signal %d\n", interrupted);
 
 exit:
+    if ( altp2m )
+    {
+        uint32_t vcpu_id;
+        for ( vcpu_id = 0; vcpu_id<XEN_LEGACY_MAX_VCPUS; vcpu_id++)
+            rc = control_singlestep(xch, domain_id, vcpu_id, 0);
+    }
+
     /* Tear down domain xenaccess */
     rc1 = xenaccess_teardown(xch, xenaccess);
     if ( rc1 != 0 )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 01:44:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 01:44:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTgJC-0002mT-Bh; Thu, 11 Feb 2016 01:44:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJB-0002mJ-1o
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:37 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	DC/A1-09478-487EBB65; Thu, 11 Feb 2016 01:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455155074!21293332!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9357 invoked from network); 11 Feb 2016 01:44:35 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 01:44:35 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgKb-0006TM-4F
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:46:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTgJ8-0001vj-HU
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 01:44:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTgJ8-0001vj-HU@xenbits.xen.org>
Date: Thu, 11 Feb 2016 01:44:34 +0000
Subject: [Xen-changelog] [xen master] xen-access: minor fixes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 483ad4439f7fc71e12d46dae516f2b9ab2b977ad
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Fri Feb 5 14:22:20 2016 -0700
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Feb 8 15:28:34 2016 +0000

    xen-access: minor fixes
    
    Only copy the VCPU_PAUSED flag to the response. Copy the entire mem_access
    struct which is useful and easily forgotten when also testing the emulate
    response flags. Turn off singlestepping on the vCPUs once we are done
    processing all events, as we might have turned on singlestep there and leave
    the VM in an undesirable state.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Cc: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 tools/tests/xen-access/xen-access.c | 46 ++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 21 deletions(-)

diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 7993947..ef89246 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -537,16 +537,10 @@ int main(int argc, char *argv[])
 
             if ( altp2m )
             {
-                uint32_t vcpu_id;
-
                 rc = xc_altp2m_switch_to_view( xch, domain_id, 0 );
                 rc = xc_altp2m_destroy_view(xch, domain_id, altp2m_view_id);
                 rc = xc_altp2m_set_domain_state(xch, domain_id, 0);
                 rc = xc_monitor_singlestep(xch, domain_id, 0);
-
-                for ( vcpu_id = 0; vcpu_id<XEN_LEGACY_MAX_VCPUS; vcpu_id++)
-                    rc = control_singlestep(xch, domain_id, vcpu_id, 0);
-
             } else {
                 rc = xc_set_mem_access(xch, domain_id, XENMEM_access_rwx, ~0ull, 0);
                 rc = xc_set_mem_access(xch, domain_id, XENMEM_access_rwx, START_PFN,
@@ -570,8 +564,6 @@ int main(int argc, char *argv[])
 
         while ( RING_HAS_UNCONSUMED_REQUESTS(&xenaccess->vm_event.back_ring) )
         {
-            xenmem_access_t access;
-
             get_request(&xenaccess->vm_event, &req);
 
             if ( req.version != VM_EVENT_INTERFACE_VERSION )
@@ -584,16 +576,25 @@ int main(int argc, char *argv[])
             memset( &rsp, 0, sizeof (rsp) );
             rsp.version = VM_EVENT_INTERFACE_VERSION;
             rsp.vcpu_id = req.vcpu_id;
-            rsp.flags = req.flags;
+            rsp.flags = (req.flags & VM_EVENT_FLAG_VCPU_PAUSED);
+            rsp.reason = req.reason;
 
             switch (req.reason) {
             case VM_EVENT_REASON_MEM_ACCESS:
-                rc = xc_get_mem_access(xch, domain_id, req.u.mem_access.gfn, &access);
-                if (rc < 0)
+                if ( !shutting_down )
                 {
-                    ERROR("Error %d getting mem_access event\n", rc);
-                    interrupted = -1;
-                    continue;
+                    /*
+                     * This serves no other purpose here then demonstrating the use of the API.
+                     * At shutdown we have already reset all the permissions so really no use getting it again.
+                     */
+                    xenmem_access_t access;
+                    rc = xc_get_mem_access(xch, domain_id, req.u.mem_access.gfn, &access);
+                    if (rc < 0)
+                    {
+                        ERROR("Error %d getting mem_access event\n", rc);
+                        interrupted = -1;
+                        continue;
+                    }
                 }
 
                 printf("PAGE ACCESS: %c%c%c for GFN %"PRIx64" (offset %06"
@@ -614,11 +615,8 @@ int main(int argc, char *argv[])
                 {
                     DPRINTF("\tSwitching back to default view!\n");
 
-                    rsp.reason = req.reason;
-                    rsp.flags = req.flags;
+                    rsp.flags |= VM_EVENT_FLAG_TOGGLE_SINGLESTEP;
                     rsp.altp2m_idx = 0;
-
-                    control_singlestep(xch, domain_id, rsp.vcpu_id, 1);
                 }
                 else if ( default_access != after_first_access )
                 {
@@ -633,7 +631,7 @@ int main(int argc, char *argv[])
                     }
                 }
 
-                rsp.u.mem_access.gfn = req.u.mem_access.gfn;
+                rsp.u.mem_access = req.u.mem_access;
                 break;
             case VM_EVENT_REASON_SOFTWARE_BREAKPOINT:
                 printf("Breakpoint: rip=%016"PRIx64", gfn=%"PRIx64" (vcpu %d)\n",
@@ -662,12 +660,11 @@ int main(int argc, char *argv[])
                 {
                     printf("\tSwitching altp2m to view %u!\n", altp2m_view_id);
 
-                    rsp.reason = req.reason;
                     rsp.flags |= VM_EVENT_FLAG_ALTERNATE_P2M;
                     rsp.altp2m_idx = altp2m_view_id;
                 }
 
-                control_singlestep(xch, domain_id, req.vcpu_id, 0);
+                rsp.flags |= VM_EVENT_FLAG_TOGGLE_SINGLESTEP;
 
                 break;
             default:
@@ -694,6 +691,13 @@ int main(int argc, char *argv[])
     DPRINTF("xenaccess shut down on signal %d\n", interrupted);
 
 exit:
+    if ( altp2m )
+    {
+        uint32_t vcpu_id;
+        for ( vcpu_id = 0; vcpu_id<XEN_LEGACY_MAX_VCPUS; vcpu_id++)
+            rc = control_singlestep(xch, domain_id, vcpu_id, 0);
+    }
+
     /* Tear down domain xenaccess */
     rc1 = xenaccess_teardown(xch, xenaccess);
     if ( rc1 != 0 )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 09:11:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 09:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTnHL-0006y9-Ln; Thu, 11 Feb 2016 09:11:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnHK-0006y4-9F
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:11:10 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	CD/AA-23366-D205CB65; Thu, 11 Feb 2016 09:11:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1455181863!22959235!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20653 invoked from network); 11 Feb 2016 09:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 09:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnIg-0008Qh-6Q
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:12:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnHC-0003sS-Mh
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:11:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTnHC-0003sS-Mh@xenbits.xen.org>
Date: Thu, 11 Feb 2016 09:11:02 +0000
Subject: [Xen-changelog] [xen stable-4.6] update Xen version to 4.6.1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d77bac5c064ffb9dbb5b89b55b89853f1b784ebf
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 15:44:19 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 15:44:19 2016 +0100

    update Xen version to 4.6.1
---
 Config.mk    | 4 ++--
 xen/Makefile | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 1eb53d7..b34be6a 100644
--- a/Config.mk
+++ b/Config.mk
@@ -254,7 +254,7 @@ SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
 MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d
-QEMU_UPSTREAM_REVISION ?= qemu-xen-4.6.0
+QEMU_UPSTREAM_REVISION ?= qemu-xen-4.6.1
 MINIOS_UPSTREAM_REVISION ?= xen-RELEASE-4.6.0
 # Fri Jun 26 11:58:40 2015 +0100
 # Correct printf formatting for tpm_tis message.
@@ -266,7 +266,7 @@ SEABIOS_UPSTREAM_REVISION ?= rel-1.8.2
 ETHERBOOT_NICS ?= rtl8139 8086100e
 
 
-QEMU_TRADITIONAL_REVISION ?= 7457f4beae2583a106a4176949514e81248fc22d
+QEMU_TRADITIONAL_REVISION ?= xen-4.6.1
 # Mon Jan 4 15:34:29 2016 +0000
 # MSI-X: avoid array overrun upon MSI-X table writes
 
diff --git a/xen/Makefile b/xen/Makefile
index 2050d69..928e2f8 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 6
-export XEN_EXTRAVERSION ?= .1-pre$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .1$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 11 09:11:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Feb 2016 09:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aTnHL-0006y9-Ln; Thu, 11 Feb 2016 09:11:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnHK-0006y4-9F
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:11:10 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	CD/AA-23366-D205CB65; Thu, 11 Feb 2016 09:11:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1455181863!22959235!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20653 invoked from network); 11 Feb 2016 09:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	11 Feb 2016 09:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnIg-0008Qh-6Q
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:12:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aTnHC-0003sS-Mh
	for xen-changelog@lists.xensource.com; Thu, 11 Feb 2016 09:11:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aTnHC-0003sS-Mh@xenbits.xen.org>
Date: Thu, 11 Feb 2016 09:11:02 +0000
Subject: [Xen-changelog] [xen stable-4.6] update Xen version to 4.6.1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d77bac5c064ffb9dbb5b89b55b89853f1b784ebf
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 15:44:19 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 15:44:19 2016 +0100

    update Xen version to 4.6.1
---
 Config.mk    | 4 ++--
 xen/Makefile | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 1eb53d7..b34be6a 100644
--- a/Config.mk
+++ b/Config.mk
@@ -254,7 +254,7 @@ SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
 MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
 endif
 OVMF_UPSTREAM_REVISION ?= 52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d
-QEMU_UPSTREAM_REVISION ?= qemu-xen-4.6.0
+QEMU_UPSTREAM_REVISION ?= qemu-xen-4.6.1
 MINIOS_UPSTREAM_REVISION ?= xen-RELEASE-4.6.0
 # Fri Jun 26 11:58:40 2015 +0100
 # Correct printf formatting for tpm_tis message.
@@ -266,7 +266,7 @@ SEABIOS_UPSTREAM_REVISION ?= rel-1.8.2
 ETHERBOOT_NICS ?= rtl8139 8086100e
 
 
-QEMU_TRADITIONAL_REVISION ?= 7457f4beae2583a106a4176949514e81248fc22d
+QEMU_TRADITIONAL_REVISION ?= xen-4.6.1
 # Mon Jan 4 15:34:29 2016 +0000
 # MSI-X: avoid array overrun upon MSI-X table writes
 
diff --git a/xen/Makefile b/xen/Makefile
index 2050d69..928e2f8 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 6
-export XEN_EXTRAVERSION ?= .1-pre$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .1$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv60-0003xK-OC; Sun, 14 Feb 2016 11:44:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv5z-0003xF-E7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:07 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	BB/EF-15353-68860C65; Sun, 14 Feb 2016 11:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455450245!22211429!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 703 invoked from network); 14 Feb 2016 11:44:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7X-0002KN-TM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv5w-0001NC-Na
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv5w-0001NC-Na@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:04 +0000
Subject: [Xen-changelog] [qemu-xen master] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 31663cad8a9e4070d3f6353501c9ac4473c524c9
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:08 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index caf82f5..52c6809 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2189,15 +2189,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv60-0003xK-OC; Sun, 14 Feb 2016 11:44:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv5z-0003xF-E7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:07 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	BB/EF-15353-68860C65; Sun, 14 Feb 2016 11:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455450245!22211429!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 703 invoked from network); 14 Feb 2016 11:44:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7X-0002KN-TM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv5w-0001NC-Na
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv5w-0001NC-Na@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:04 +0000
Subject: [Xen-changelog] [qemu-xen master] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 31663cad8a9e4070d3f6353501c9ac4473c524c9
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:08 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index caf82f5..52c6809 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2189,15 +2189,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6B-0003xp-Up; Sun, 14 Feb 2016 11:44:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6A-0003xg-6d
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:18 +0000
Received: from [85.158.137.68] by server-14.bemta-3.messagelabs.com id
	EA/F5-02975-19860C65; Sun, 14 Feb 2016 11:44:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1455450255!22247181!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52169 invoked from network); 14 Feb 2016 11:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7i-0002KR-8W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv67-0001Nm-3s
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv67-0001Nm-3s@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:15 +0000
Subject: [Xen-changelog] [qemu-xen master] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 44c0045b1c17bbf16fd3799b46f1612ce9ddfca2
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:34 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 2504425..9bc3ba0 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1192,8 +1192,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1202,7 +1207,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1425,6 +1429,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1621,7 +1631,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1726,7 +1736,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (val == 0) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -2007,9 +2017,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6B-0003xp-Up; Sun, 14 Feb 2016 11:44:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6A-0003xg-6d
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:18 +0000
Received: from [85.158.137.68] by server-14.bemta-3.messagelabs.com id
	EA/F5-02975-19860C65; Sun, 14 Feb 2016 11:44:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1455450255!22247181!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52169 invoked from network); 14 Feb 2016 11:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7i-0002KR-8W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv67-0001Nm-3s
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv67-0001Nm-3s@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:15 +0000
Subject: [Xen-changelog] [qemu-xen master] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 44c0045b1c17bbf16fd3799b46f1612ce9ddfca2
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:34 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 2504425..9bc3ba0 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1192,8 +1192,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1202,7 +1207,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1425,6 +1429,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1621,7 +1631,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1726,7 +1736,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (val == 0) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -2007,9 +2017,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6L-0003zW-NH; Sun, 14 Feb 2016 11:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6K-0003zL-Ch
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:28 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	D7/71-24450-B9860C65; Sun, 14 Feb 2016 11:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1455450265!23684071!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61727 invoked from network); 14 Feb 2016 11:44:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7s-0002LA-Ly
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6H-0001OV-Dz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6H-0001OV-Dz@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:25 +0000
Subject: [Xen-changelog] [qemu-xen master] scsi: initialise info object with
	appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9681ffe1bad259f211315216274d2888f2cd3fc1
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:59 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index a04369c..d9b99c0 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -718,7 +718,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     BusChild *kid;
     int num_pd_disks = 0;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6L-0003zW-NH; Sun, 14 Feb 2016 11:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6K-0003zL-Ch
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:28 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	D7/71-24450-B9860C65; Sun, 14 Feb 2016 11:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1455450265!23684071!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61727 invoked from network); 14 Feb 2016 11:44:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7s-0002LA-Ly
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6H-0001OV-Dz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6H-0001OV-Dz@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:25 +0000
Subject: [Xen-changelog] [qemu-xen master] scsi: initialise info object with
	appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9681ffe1bad259f211315216274d2888f2cd3fc1
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:03:59 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index a04369c..d9b99c0 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -718,7 +718,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     BusChild *kid;
     int num_pd_disks = 0;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6V-00041E-Sb; Sun, 14 Feb 2016 11:44:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6U-00040w-Nj
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:38 +0000
Received: from [85.158.137.68] by server-11.bemta-3.messagelabs.com id
	76/DD-32641-5A860C65; Sun, 14 Feb 2016 11:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455450276!22264550!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46144 invoked from network); 14 Feb 2016 11:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv83-0002LI-68
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6R-0001P2-U8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6R-0001P2-U8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:35 +0000
Subject: [Xen-changelog] [qemu-xen master] net: rocker: fix an incorrect
	array bounds check
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a890821b79ccf2f0c5bb60253d70f72f91e52e4c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Dec 28 16:24:08 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:04:14 2016 +0000

    net: rocker: fix an incorrect array bounds check
    
    While processing transmit(tx) descriptors in 'tx_consume' routine
    the switch emulator suffers from an off-by-one error, if a
    descriptor was to have more than allowed(ROCKER_TX_FRAGS_MAX=16)
    fragments. Fix an incorrect bounds check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/rocker/rocker.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
index 47d080f..7e4ec0a 100644
--- a/hw/net/rocker/rocker.c
+++ b/hw/net/rocker/rocker.c
@@ -234,6 +234,9 @@ static int tx_consume(Rocker *r, DescInfo *info)
         frag_addr = rocker_tlv_get_le64(tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR]);
         frag_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]);
 
+        if (iovcnt >= ROCKER_TX_FRAGS_MAX) {
+            goto err_too_many_frags;
+        }
         iov[iovcnt].iov_len = frag_len;
         iov[iovcnt].iov_base = g_malloc(frag_len);
         if (!iov[iovcnt].iov_base) {
@@ -246,10 +249,7 @@ static int tx_consume(Rocker *r, DescInfo *info)
             err = -ROCKER_ENXIO;
             goto err_bad_io;
         }
-
-        if (++iovcnt > ROCKER_TX_FRAGS_MAX) {
-            goto err_too_many_frags;
-        }
+        iovcnt++;
     }
 
     if (iovcnt) {
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6V-00041E-Sb; Sun, 14 Feb 2016 11:44:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6U-00040w-Nj
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:38 +0000
Received: from [85.158.137.68] by server-11.bemta-3.messagelabs.com id
	76/DD-32641-5A860C65; Sun, 14 Feb 2016 11:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455450276!22264550!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46144 invoked from network); 14 Feb 2016 11:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv83-0002LI-68
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6R-0001P2-U8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6R-0001P2-U8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:35 +0000
Subject: [Xen-changelog] [qemu-xen master] net: rocker: fix an incorrect
	array bounds check
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a890821b79ccf2f0c5bb60253d70f72f91e52e4c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Dec 28 16:24:08 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:04:14 2016 +0000

    net: rocker: fix an incorrect array bounds check
    
    While processing transmit(tx) descriptors in 'tx_consume' routine
    the switch emulator suffers from an off-by-one error, if a
    descriptor was to have more than allowed(ROCKER_TX_FRAGS_MAX=16)
    fragments. Fix an incorrect bounds check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/rocker/rocker.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/net/rocker/rocker.c b/hw/net/rocker/rocker.c
index 47d080f..7e4ec0a 100644
--- a/hw/net/rocker/rocker.c
+++ b/hw/net/rocker/rocker.c
@@ -234,6 +234,9 @@ static int tx_consume(Rocker *r, DescInfo *info)
         frag_addr = rocker_tlv_get_le64(tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR]);
         frag_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]);
 
+        if (iovcnt >= ROCKER_TX_FRAGS_MAX) {
+            goto err_too_many_frags;
+        }
         iov[iovcnt].iov_len = frag_len;
         iov[iovcnt].iov_base = g_malloc(frag_len);
         if (!iov[iovcnt].iov_base) {
@@ -246,10 +249,7 @@ static int tx_consume(Rocker *r, DescInfo *info)
             err = -ROCKER_ENXIO;
             goto err_bad_io;
         }
-
-        if (++iovcnt > ROCKER_TX_FRAGS_MAX) {
-            goto err_too_many_frags;
-        }
+        iovcnt++;
     }
 
     if (iovcnt) {
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6h-0004C3-1P; Sun, 14 Feb 2016 11:44:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6f-0004As-50
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:49 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	F4/49-17090-0B860C65; Sun, 14 Feb 2016 11:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1455450286!22187029!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20487 invoked from network); 14 Feb 2016 11:44:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8D-0002M9-Kd
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6c-0001QR-EX
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6c-0001QR-EX@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:46 +0000
Subject: [Xen-changelog] [qemu-xen master] net: ne2000: fix bounds check in
	ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78618e0e7f86ff5e6f6af26556a5c020813e13b4
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:04:32 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 2bdb4c9..364f226 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:44:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6h-0004C3-1P; Sun, 14 Feb 2016 11:44:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6f-0004As-50
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:49 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	F4/49-17090-0B860C65; Sun, 14 Feb 2016 11:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1455450286!22187029!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20487 invoked from network); 14 Feb 2016 11:44:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8D-0002M9-Kd
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6c-0001QR-EX
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6c-0001QR-EX@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:46 +0000
Subject: [Xen-changelog] [qemu-xen master] net: ne2000: fix bounds check in
	ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78618e0e7f86ff5e6f6af26556a5c020813e13b4
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:04:32 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 2bdb4c9..364f226 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6r-0004Gg-5N; Sun, 14 Feb 2016 11:45:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6p-0004GN-Ei
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:59 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	B7/C7-08479-AB860C65; Sun, 14 Feb 2016 11:44:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1455450297!22284493!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25757 invoked from network); 14 Feb 2016 11:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8O-0002MM-0Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6m-0001RG-Su
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6m-0001RG-Su@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:56 +0000
Subject: [Xen-changelog] [qemu-xen master] ide: ahci: reset ncq object to
	unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b5c0247eec22a343bc135bc8edd7e2f607094b73
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 11 14:10:42 2016 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:05 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 378ad60..73948af 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -897,6 +897,7 @@ static void ncq_err(NCQTransferState *ncq_tfs)
     ide_state->error = ABRT_ERR;
     ide_state->status = READY_STAT | ERR_STAT;
     ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+    ncq_tfs->used = 0;
 }
 
 static void ncq_finish(NCQTransferState *ncq_tfs)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv6r-0004Gg-5N; Sun, 14 Feb 2016 11:45:01 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6p-0004GN-Ei
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:59 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	B7/C7-08479-AB860C65; Sun, 14 Feb 2016 11:44:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1455450297!22284493!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25757 invoked from network); 14 Feb 2016 11:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8O-0002MM-0Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6m-0001RG-Su
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:44:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6m-0001RG-Su@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:44:56 +0000
Subject: [Xen-changelog] [qemu-xen master] ide: ahci: reset ncq object to
	unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b5c0247eec22a343bc135bc8edd7e2f607094b73
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 11 14:10:42 2016 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:05 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 378ad60..73948af 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -897,6 +897,7 @@ static void ncq_err(NCQTransferState *ncq_tfs)
     ide_state->error = ABRT_ERR;
     ide_state->status = READY_STAT | ERR_STAT;
     ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+    ncq_tfs->used = 0;
 }
 
 static void ncq_finish(NCQTransferState *ncq_tfs)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv71-0004Iw-8s; Sun, 14 Feb 2016 11:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6z-0004Ig-QJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:09 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	62/A3-25857-5C860C65; Sun, 14 Feb 2016 11:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455450307!21985490!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17389 invoked from network); 14 Feb 2016 11:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8Y-0002MU-9F
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6x-0001S2-52
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6x-0001S2-52@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:07 +0000
Subject: [Xen-changelog] [qemu-xen master] net: cadence_gem: check packet
	size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ec963204db85b8e7c5758c76a9ec7d21eb256925
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:33 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 494a346..edba1fc 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -677,6 +677,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
     } else {
         unsigned crc_val;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and calculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv71-0004Iw-8s; Sun, 14 Feb 2016 11:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6z-0004Ig-QJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:09 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	62/A3-25857-5C860C65; Sun, 14 Feb 2016 11:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455450307!21985490!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17389 invoked from network); 14 Feb 2016 11:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8Y-0002MU-9F
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv6x-0001S2-52
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv6x-0001S2-52@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:07 +0000
Subject: [Xen-changelog] [qemu-xen master] net: cadence_gem: check packet
	size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ec963204db85b8e7c5758c76a9ec7d21eb256925
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:33 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 494a346..edba1fc 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -677,6 +677,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
     } else {
         unsigned crc_val;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and calculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7B-0004Ko-Ct; Sun, 14 Feb 2016 11:45:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7A-0004KS-2U
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:20 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	4E/0B-02499-FC860C65; Sun, 14 Feb 2016 11:45:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1455450317!21728429!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62022 invoked from network); 14 Feb 2016 11:45:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8i-0002Mc-Jx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv77-0001Sn-G8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv77-0001Sn-G8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:17 +0000
Subject: [Xen-changelog] [qemu-xen master] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e6927b717db724746f8df98d5e7dad2d4f63d9a6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:53 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 64a54c6..86d4529 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1404,21 +1404,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7B-0004Ko-Ct; Sun, 14 Feb 2016 11:45:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7A-0004KS-2U
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:20 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	4E/0B-02499-FC860C65; Sun, 14 Feb 2016 11:45:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1455450317!21728429!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62022 invoked from network); 14 Feb 2016 11:45:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8i-0002Mc-Jx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv77-0001Sn-G8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv77-0001Sn-G8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:17 +0000
Subject: [Xen-changelog] [qemu-xen master] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e6927b717db724746f8df98d5e7dad2d4f63d9a6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:05:53 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 64a54c6..86d4529 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1404,21 +1404,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7M-0004NA-JU; Sun, 14 Feb 2016 11:45:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7K-0004Mj-Eq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:30 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	9A/5A-09062-9D860C65; Sun, 14 Feb 2016 11:45:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455450328!2804808!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36585 invoked from network); 14 Feb 2016 11:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8t-0002NG-3j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7H-0001Tn-P6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7H-0001Tn-P6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:27 +0000
Subject: [Xen-changelog] [qemu-xen master] exec: fix a glitch in checking
	dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 22585843887ce20a106c23162dc5845d64c42edd
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:06:51 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 0a4a0c5..98d97d3 100644
--- a/exec.c
+++ b/exec.c
@@ -375,7 +375,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7M-0004NA-JU; Sun, 14 Feb 2016 11:45:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7K-0004Mj-Eq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:30 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	9A/5A-09062-9D860C65; Sun, 14 Feb 2016 11:45:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455450328!2804808!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36585 invoked from network); 14 Feb 2016 11:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8t-0002NG-3j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7H-0001Tn-P6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7H-0001Tn-P6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:27 +0000
Subject: [Xen-changelog] [qemu-xen master] exec: fix a glitch in checking
	dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 22585843887ce20a106c23162dc5845d64c42edd
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:06:51 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 0a4a0c5..98d97d3 100644
--- a/exec.c
+++ b/exec.c
@@ -375,7 +375,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7W-0004P4-OX; Sun, 14 Feb 2016 11:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7V-0004On-8B
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:41 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	93/20-24375-4E860C65; Sun, 14 Feb 2016 11:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1455450338!22284563!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41359 invoked from network); 14 Feb 2016 11:45:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv93-0002NO-F2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7S-0001UT-B3
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7S-0001UT-B3@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:38 +0000
Subject: [Xen-changelog] [qemu-xen master] ehci: make idt processing more
	robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c2f9b626486cb6407aa067cac5c62dbbe84d9d8d
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:13:40 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 86d4529..d829901 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1389,7 +1389,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1481,9 +1481,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7W-0004P4-OX; Sun, 14 Feb 2016 11:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7V-0004On-8B
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:41 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	93/20-24375-4E860C65; Sun, 14 Feb 2016 11:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1455450338!22284563!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41359 invoked from network); 14 Feb 2016 11:45:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv93-0002NO-F2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7S-0001UT-B3
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7S-0001UT-B3@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:38 +0000
Subject: [Xen-changelog] [qemu-xen master] ehci: make idt processing more
	robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c2f9b626486cb6407aa067cac5c62dbbe84d9d8d
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:13:40 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 86d4529..d829901 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1389,7 +1389,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1481,9 +1481,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7g-0004QY-Sv; Sun, 14 Feb 2016 11:45:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7f-0004QN-Bh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:51 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	1C/79-23366-EE860C65; Sun, 14 Feb 2016 11:45:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455450349!23689387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8709 invoked from network); 14 Feb 2016 11:45:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9D-0002O4-Q8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7c-0001WJ-Lt
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7c-0001WJ-Lt@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:48 +0000
Subject: [Xen-changelog] [qemu-xen master] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d936e155198995f01c348da6184ceddb8deecce
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:14:01 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 3437376..6d34175 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1065,6 +1065,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:45:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7g-0004QY-Sv; Sun, 14 Feb 2016 11:45:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7f-0004QN-Bh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:51 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	1C/79-23366-EE860C65; Sun, 14 Feb 2016 11:45:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455450349!23689387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8709 invoked from network); 14 Feb 2016 11:45:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:45:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9D-0002O4-Q8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7c-0001WJ-Lt
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7c-0001WJ-Lt@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:48 +0000
Subject: [Xen-changelog] [qemu-xen master] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d936e155198995f01c348da6184ceddb8deecce
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:14:01 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 3437376..6d34175 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1065,6 +1065,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7q-0004SP-2h; Sun, 14 Feb 2016 11:46:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7p-0004SD-HV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:01 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	2B/1F-10115-8F860C65; Sun, 14 Feb 2016 11:46:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1455450359!11470462!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15144 invoked from network); 14 Feb 2016 11:46:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9O-0002OC-4a
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7n-0001Wt-0u
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7n-0001Wt-0u@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:59 +0000
Subject: [Xen-changelog] [qemu-xen master] net: pcnet: add check to validate
	receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 276b20de45fa4925b3f22821d86a19d559dfd459
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:14:16 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 6d34175..27b7000 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1091,7 +1091,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1240,8 +1240,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv7q-0004SP-2h; Sun, 14 Feb 2016 11:46:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7p-0004SD-HV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:01 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	2B/1F-10115-8F860C65; Sun, 14 Feb 2016 11:46:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1455450359!11470462!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15144 invoked from network); 14 Feb 2016 11:46:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9O-0002OC-4a
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7n-0001Wt-0u
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:45:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7n-0001Wt-0u@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:45:59 +0000
Subject: [Xen-changelog] [qemu-xen master] net: pcnet: add check to validate
	receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 276b20de45fa4925b3f22821d86a19d559dfd459
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:14:16 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 6d34175..27b7000 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1091,7 +1091,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1240,8 +1240,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv81-0004V9-76; Sun, 14 Feb 2016 11:46:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv80-0004Ut-3B
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:12 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	08/4C-23747-30960C65; Sun, 14 Feb 2016 11:46:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455450369!22254019!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28896 invoked from network); 14 Feb 2016 11:46:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9Y-0002OK-Eh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7x-0001Xo-AV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7x-0001Xo-AV@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:46:09 +0000
Subject: [Xen-changelog] [qemu-xen master] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d63cbb957b0add1f936f6596ddadf988b3ef8f9
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:01:50 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index f9c0484..3998725 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 7716bf3..96281c2 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 302a310..97adc20 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -114,9 +114,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 4356af4..b15b2f5 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -32,6 +32,7 @@ int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
 void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 46867d8..ce22a82 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -30,6 +30,11 @@ void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 3371c4e..21dd301 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -156,6 +157,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv81-0004V9-76; Sun, 14 Feb 2016 11:46:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv80-0004Ut-3B
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:12 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	08/4C-23747-30960C65; Sun, 14 Feb 2016 11:46:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455450369!22254019!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28896 invoked from network); 14 Feb 2016 11:46:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9Y-0002OK-Eh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv7x-0001Xo-AV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv7x-0001Xo-AV@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:46:09 +0000
Subject: [Xen-changelog] [qemu-xen master] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d63cbb957b0add1f936f6596ddadf988b3ef8f9
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:01:50 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index f9c0484..3998725 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 7716bf3..96281c2 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 302a310..97adc20 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -114,9 +114,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 4356af4..b15b2f5 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -32,6 +32,7 @@ int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
 void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 46867d8..ce22a82 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -30,6 +30,11 @@ void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 3371c4e..21dd301 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -156,6 +157,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv8D-0004Wi-Bj; Sun, 14 Feb 2016 11:46:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8C-0004WV-G6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:24 +0000
Received: from [85.158.137.68] by server-14.bemta-3.messagelabs.com id
	39/A6-02975-F0960C65; Sun, 14 Feb 2016 11:46:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455450379!22393599!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51026 invoked from network); 14 Feb 2016 11:46:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9i-0002OS-Mi
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv87-0001YO-Io
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv87-0001YO-Io@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:46:19 +0000
Subject: [Xen-changelog] [qemu-xen master] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4c15fc66f7764a921ba2fc43cc3cb7b89e0cd35e
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:31:46 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:31:46 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 22585843887ce20a106c23162dc5845d64c42edd.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 98d97d3..0a4a0c5 100644
--- a/exec.c
+++ b/exec.c
@@ -375,7 +375,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 11:46:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 11:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUv8D-0004Wi-Bj; Sun, 14 Feb 2016 11:46:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv8C-0004WV-G6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:24 +0000
Received: from [85.158.137.68] by server-14.bemta-3.messagelabs.com id
	39/A6-02975-F0960C65; Sun, 14 Feb 2016 11:46:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455450379!22393599!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51026 invoked from network); 14 Feb 2016 11:46:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 11:46:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv9i-0002OS-Mi
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:47:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUv87-0001YO-Io
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 11:46:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUv87-0001YO-Io@xenbits.xen.org>
Date: Sun, 14 Feb 2016 11:46:19 +0000
Subject: [Xen-changelog] [qemu-xen master] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4c15fc66f7764a921ba2fc43cc3cb7b89e0cd35e
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:31:46 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:31:46 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 22585843887ce20a106c23162dc5845d64c42edd.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 98d97d3..0a4a0c5 100644
--- a/exec.c
+++ b/exec.c
@@ -375,7 +375,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx8m-0000Mn-WE; Sun, 14 Feb 2016 13:55:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8l-0000Mg-N2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:07 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	91/D4-25438-A3780C65; Sun, 14 Feb 2016 13:55:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1455458105!23628348!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19364 invoked from network); 14 Feb 2016 13:55:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAK-00054S-5Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8i-0003LT-Nq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx8i-0003LT-Nq@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:04 +0000
Subject: [Xen-changelog] [xen master] arm/keyhandler: declare struct
	cpu_user_regs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1d181328d29f183ffd7fcfe3aa88b2b03f6e6a9
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Feb 9 13:19:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:19:53 2016 +0100

    arm/keyhandler: declare struct cpu_user_regs
    
    in the keyhandler.h file. Otherwise on ARM builds if we
    just use the keyhandler file - the compile will fail.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 xen/include/xen/keyhandler.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/xen/keyhandler.h b/xen/include/xen/keyhandler.h
index 39052b5..06c05c8 100644
--- a/xen/include/xen/keyhandler.h
+++ b/xen/include/xen/keyhandler.h
@@ -24,6 +24,7 @@ typedef void (keyhandler_fn_t)(unsigned char key);
  *
  * Called in hardirq context with interrupts disabled.
  */
+struct cpu_user_regs;
 typedef void (irq_keyhandler_fn_t)(unsigned char key,
                                    struct cpu_user_regs *regs);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx8m-0000Mn-WE; Sun, 14 Feb 2016 13:55:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8l-0000Mg-N2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:07 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	91/D4-25438-A3780C65; Sun, 14 Feb 2016 13:55:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1455458105!23628348!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19364 invoked from network); 14 Feb 2016 13:55:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAK-00054S-5Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8i-0003LT-Nq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx8i-0003LT-Nq@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:04 +0000
Subject: [Xen-changelog] [xen master] arm/keyhandler: declare struct
	cpu_user_regs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1d181328d29f183ffd7fcfe3aa88b2b03f6e6a9
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Tue Feb 9 13:19:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:19:53 2016 +0100

    arm/keyhandler: declare struct cpu_user_regs
    
    in the keyhandler.h file. Otherwise on ARM builds if we
    just use the keyhandler file - the compile will fail.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 xen/include/xen/keyhandler.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/xen/keyhandler.h b/xen/include/xen/keyhandler.h
index 39052b5..06c05c8 100644
--- a/xen/include/xen/keyhandler.h
+++ b/xen/include/xen/keyhandler.h
@@ -24,6 +24,7 @@ typedef void (keyhandler_fn_t)(unsigned char key);
  *
  * Called in hardirq context with interrupts disabled.
  */
+struct cpu_user_regs;
 typedef void (irq_keyhandler_fn_t)(unsigned char key,
                                    struct cpu_user_regs *regs);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx8x-0000Og-4e; Sun, 14 Feb 2016 13:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8w-0000OL-1k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:18 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	7E/27-02499-54780C65; Sun, 14 Feb 2016 13:55:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455458115!22406317!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12340 invoked from network); 14 Feb 2016 13:55:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAU-00055N-LD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8t-0003MG-67
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx8t-0003MG-67@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:15 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: simplify emulation triggered
	by vm_event response
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6fb9fbf5e6c71716c7218ca0ac99cd756d68a3d2
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Tue Feb 9 13:20:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:20:49 2016 +0100

    x86/hvm: simplify emulation triggered by vm_event response
    
    Currently, after receiving a vm_event reply requesting emulation,
    the actual emulation is triggered in p2m_mem_access_check(),
    which means that we're waiting for the page fault to occur again
    before emulating. Aside from the performance impact, this
    complicates the code since between hvm_do_resume() and the second
    page fault it is possible that the latter becomes a completely
    new page fault - hence checking that EIP and the GPA match with
    the ones in the original page fault. If they don't, duplicate
    EPT fault vm_events will occur, of which a monitoring application
    needs to be aware.
    This patch makes struct arch_vm_event smaller (since we no longer
    need to track eip and gpa), removes the checking code from
    p2m_mem_access_check(), and moves the emulation in hvm_do_resume().
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/hvm/hvm.c         | 17 +++++++++++++++++
 xen/arch/x86/mm/p2m.c          | 34 ----------------------------------
 xen/include/asm-x86/vm_event.h |  2 --
 3 files changed, 17 insertions(+), 36 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 35ec6c9..930d0e3 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -552,6 +552,23 @@ void hvm_do_resume(struct vcpu *v)
     {
         struct monitor_write_data *w = &v->arch.vm_event->write_data;
 
+        if ( v->arch.vm_event->emulate_flags )
+        {
+            enum emul_kind kind = EMUL_KIND_NORMAL;
+
+            if ( v->arch.vm_event->emulate_flags &
+                 VM_EVENT_FLAG_SET_EMUL_READ_DATA )
+                kind = EMUL_KIND_SET_CONTEXT;
+            else if ( v->arch.vm_event->emulate_flags &
+                      VM_EVENT_FLAG_EMULATE_NOWRITE )
+                kind = EMUL_KIND_NOWRITE;
+
+            hvm_mem_access_emulate_one(kind, TRAP_invalid_op,
+                                       HVM_DELIVER_NO_ERROR_CODE);
+
+            v->arch.vm_event->emulate_flags = 0;
+        }
+
         if ( w->do_write.msr )
         {
             hvm_msr_write_intercept(w->msr, w->value, 0);
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index a45ee35..47e7fad 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1639,7 +1639,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
     p2m_access_t p2ma;
     vm_event_request_t *req;
     int rc;
-    unsigned long eip = guest_cpu_user_regs()->eip;
 
     if ( altp2m_active(d) )
         p2m = p2m_get_altp2m(v);
@@ -1698,39 +1697,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
         }
     }
 
-    /* The previous vm_event reply does not match the current state. */
-    if ( unlikely(v->arch.vm_event) &&
-         (v->arch.vm_event->gpa != gpa || v->arch.vm_event->eip != eip) )
-    {
-        /* Don't emulate the current instruction, send a new vm_event. */
-        v->arch.vm_event->emulate_flags = 0;
-
-        /*
-         * Make sure to mark the current state to match it again against
-         * the new vm_event about to be sent.
-         */
-        v->arch.vm_event->gpa = gpa;
-        v->arch.vm_event->eip = eip;
-    }
-
-    if ( unlikely(v->arch.vm_event) && v->arch.vm_event->emulate_flags )
-    {
-        enum emul_kind kind = EMUL_KIND_NORMAL;
-
-        if ( v->arch.vm_event->emulate_flags &
-             VM_EVENT_FLAG_SET_EMUL_READ_DATA )
-            kind = EMUL_KIND_SET_CONTEXT;
-        else if ( v->arch.vm_event->emulate_flags &
-                  VM_EVENT_FLAG_EMULATE_NOWRITE )
-            kind = EMUL_KIND_NOWRITE;
-
-        hvm_mem_access_emulate_one(kind, TRAP_invalid_op,
-                                   HVM_DELIVER_NO_ERROR_CODE);
-
-        v->arch.vm_event->emulate_flags = 0;
-        return 1;
-    }
-
     *req_ptr = NULL;
     req = xzalloc(vm_event_request_t);
     if ( req )
diff --git a/xen/include/asm-x86/vm_event.h b/xen/include/asm-x86/vm_event.h
index 5aff834..fff8326 100644
--- a/xen/include/asm-x86/vm_event.h
+++ b/xen/include/asm-x86/vm_event.h
@@ -28,8 +28,6 @@
  */
 struct arch_vm_event {
     uint32_t emulate_flags;
-    unsigned long gpa;
-    unsigned long eip;
     struct vm_event_emul_read_data emul_read_data;
     struct monitor_write_data write_data;
 };
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx8x-0000Og-4e; Sun, 14 Feb 2016 13:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8w-0000OL-1k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:18 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	7E/27-02499-54780C65; Sun, 14 Feb 2016 13:55:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455458115!22406317!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12340 invoked from network); 14 Feb 2016 13:55:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAU-00055N-LD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx8t-0003MG-67
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx8t-0003MG-67@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:15 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: simplify emulation triggered
	by vm_event response
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6fb9fbf5e6c71716c7218ca0ac99cd756d68a3d2
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Tue Feb 9 13:20:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:20:49 2016 +0100

    x86/hvm: simplify emulation triggered by vm_event response
    
    Currently, after receiving a vm_event reply requesting emulation,
    the actual emulation is triggered in p2m_mem_access_check(),
    which means that we're waiting for the page fault to occur again
    before emulating. Aside from the performance impact, this
    complicates the code since between hvm_do_resume() and the second
    page fault it is possible that the latter becomes a completely
    new page fault - hence checking that EIP and the GPA match with
    the ones in the original page fault. If they don't, duplicate
    EPT fault vm_events will occur, of which a monitoring application
    needs to be aware.
    This patch makes struct arch_vm_event smaller (since we no longer
    need to track eip and gpa), removes the checking code from
    p2m_mem_access_check(), and moves the emulation in hvm_do_resume().
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/hvm/hvm.c         | 17 +++++++++++++++++
 xen/arch/x86/mm/p2m.c          | 34 ----------------------------------
 xen/include/asm-x86/vm_event.h |  2 --
 3 files changed, 17 insertions(+), 36 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 35ec6c9..930d0e3 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -552,6 +552,23 @@ void hvm_do_resume(struct vcpu *v)
     {
         struct monitor_write_data *w = &v->arch.vm_event->write_data;
 
+        if ( v->arch.vm_event->emulate_flags )
+        {
+            enum emul_kind kind = EMUL_KIND_NORMAL;
+
+            if ( v->arch.vm_event->emulate_flags &
+                 VM_EVENT_FLAG_SET_EMUL_READ_DATA )
+                kind = EMUL_KIND_SET_CONTEXT;
+            else if ( v->arch.vm_event->emulate_flags &
+                      VM_EVENT_FLAG_EMULATE_NOWRITE )
+                kind = EMUL_KIND_NOWRITE;
+
+            hvm_mem_access_emulate_one(kind, TRAP_invalid_op,
+                                       HVM_DELIVER_NO_ERROR_CODE);
+
+            v->arch.vm_event->emulate_flags = 0;
+        }
+
         if ( w->do_write.msr )
         {
             hvm_msr_write_intercept(w->msr, w->value, 0);
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index a45ee35..47e7fad 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1639,7 +1639,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
     p2m_access_t p2ma;
     vm_event_request_t *req;
     int rc;
-    unsigned long eip = guest_cpu_user_regs()->eip;
 
     if ( altp2m_active(d) )
         p2m = p2m_get_altp2m(v);
@@ -1698,39 +1697,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
         }
     }
 
-    /* The previous vm_event reply does not match the current state. */
-    if ( unlikely(v->arch.vm_event) &&
-         (v->arch.vm_event->gpa != gpa || v->arch.vm_event->eip != eip) )
-    {
-        /* Don't emulate the current instruction, send a new vm_event. */
-        v->arch.vm_event->emulate_flags = 0;
-
-        /*
-         * Make sure to mark the current state to match it again against
-         * the new vm_event about to be sent.
-         */
-        v->arch.vm_event->gpa = gpa;
-        v->arch.vm_event->eip = eip;
-    }
-
-    if ( unlikely(v->arch.vm_event) && v->arch.vm_event->emulate_flags )
-    {
-        enum emul_kind kind = EMUL_KIND_NORMAL;
-
-        if ( v->arch.vm_event->emulate_flags &
-             VM_EVENT_FLAG_SET_EMUL_READ_DATA )
-            kind = EMUL_KIND_SET_CONTEXT;
-        else if ( v->arch.vm_event->emulate_flags &
-                  VM_EVENT_FLAG_EMULATE_NOWRITE )
-            kind = EMUL_KIND_NOWRITE;
-
-        hvm_mem_access_emulate_one(kind, TRAP_invalid_op,
-                                   HVM_DELIVER_NO_ERROR_CODE);
-
-        v->arch.vm_event->emulate_flags = 0;
-        return 1;
-    }
-
     *req_ptr = NULL;
     req = xzalloc(vm_event_request_t);
     if ( req )
diff --git a/xen/include/asm-x86/vm_event.h b/xen/include/asm-x86/vm_event.h
index 5aff834..fff8326 100644
--- a/xen/include/asm-x86/vm_event.h
+++ b/xen/include/asm-x86/vm_event.h
@@ -28,8 +28,6 @@
  */
 struct arch_vm_event {
     uint32_t emulate_flags;
-    unsigned long gpa;
-    unsigned long eip;
     struct vm_event_emul_read_data emul_read_data;
     struct monitor_write_data write_data;
 };
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx98-0000UW-AK; Sun, 14 Feb 2016 13:55:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx96-0000SY-L9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:28 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	89/F4-10715-F4780C65; Sun, 14 Feb 2016 13:55:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1455458126!23695588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 766 invoked from network); 14 Feb 2016 13:55:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAf-000561-7x
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx93-0003Mh-M8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx93-0003Mh-M8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:25 +0000
Subject: [Xen-changelog] [xen master] x86emul: drop redundant #GP checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e2d1fe89da0ced77546e84e1563c906380a9274f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:21:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:21:38 2016 +0100

    x86emul: drop redundant #GP checks
    
    in_protmode() implies !in_realmode(), so we don't need to check both.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index c3672e7..90f8632 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -3972,7 +3972,6 @@ x86_emulate(
         uint64_t msr_content;
         struct segment_register cs, ss;
 
-        generate_exception_if(in_realmode(ctxt, ops), EXC_UD, -1);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_UD, -1);
 
         /* Inject #UD if syscall/sysret are disabled. */
@@ -4218,7 +4217,6 @@ x86_emulate(
         int lm;
 
         generate_exception_if(mode_ring0(), EXC_GP, 0);
-        generate_exception_if(in_realmode(ctxt, ops), EXC_GP, 0);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_GP, 0);
 
         fail_if(ops->read_msr == NULL);
@@ -4267,7 +4265,6 @@ x86_emulate(
         bool_t user64 = !!(rex_prefix & REX_W);
 
         generate_exception_if(!mode_ring0(), EXC_GP, 0);
-        generate_exception_if(in_realmode(ctxt, ops), EXC_GP, 0);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_GP, 0);
 
         fail_if(ops->read_msr == NULL);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx98-0000UW-AK; Sun, 14 Feb 2016 13:55:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx96-0000SY-L9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:28 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	89/F4-10715-F4780C65; Sun, 14 Feb 2016 13:55:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1455458126!23695588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 766 invoked from network); 14 Feb 2016 13:55:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAf-000561-7x
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx93-0003Mh-M8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx93-0003Mh-M8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:25 +0000
Subject: [Xen-changelog] [xen master] x86emul: drop redundant #GP checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e2d1fe89da0ced77546e84e1563c906380a9274f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:21:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:21:38 2016 +0100

    x86emul: drop redundant #GP checks
    
    in_protmode() implies !in_realmode(), so we don't need to check both.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index c3672e7..90f8632 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -3972,7 +3972,6 @@ x86_emulate(
         uint64_t msr_content;
         struct segment_register cs, ss;
 
-        generate_exception_if(in_realmode(ctxt, ops), EXC_UD, -1);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_UD, -1);
 
         /* Inject #UD if syscall/sysret are disabled. */
@@ -4218,7 +4217,6 @@ x86_emulate(
         int lm;
 
         generate_exception_if(mode_ring0(), EXC_GP, 0);
-        generate_exception_if(in_realmode(ctxt, ops), EXC_GP, 0);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_GP, 0);
 
         fail_if(ops->read_msr == NULL);
@@ -4267,7 +4265,6 @@ x86_emulate(
         bool_t user64 = !!(rex_prefix & REX_W);
 
         generate_exception_if(!mode_ring0(), EXC_GP, 0);
-        generate_exception_if(in_realmode(ctxt, ops), EXC_GP, 0);
         generate_exception_if(!in_protmode(ctxt, ops), EXC_GP, 0);
 
         fail_if(ops->read_msr == NULL);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9I-0000Wb-Eo; Sun, 14 Feb 2016 13:55:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9H-0000WI-3c
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:39 +0000
Content-Length: 2467
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	65/2B-24375-A5780C65; Sun, 14 Feb 2016 13:55:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1455458136!21741333!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27525 invoked from network); 14 Feb 2016 13:55:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAp-00056E-K1
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9E-0003NB-8h
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9E-0003NB-8h@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:36 +0000
Subject: [Xen-changelog] [xen master] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1025899987321021680=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1025899987321021680==
Content-Length: 2061
Content-Transfer-Encoding: quoted-printable

commit 86c59615f4e7f38df24182f20d9dbdec3299c514
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:22:13 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:22:13 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index ee87825..f173539 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -687,7 +687,8 @@ static bool_t hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============1025899987321021680==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1025899987321021680==--

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9I-0000Wb-Eo; Sun, 14 Feb 2016 13:55:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9H-0000WI-3c
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:39 +0000
Content-Length: 2467
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	65/2B-24375-A5780C65; Sun, 14 Feb 2016 13:55:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-31.messagelabs.com!1455458136!21741333!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27525 invoked from network); 14 Feb 2016 13:55:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAp-00056E-K1
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9E-0003NB-8h
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9E-0003NB-8h@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:36 +0000
Subject: [Xen-changelog] [xen master] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1025899987321021680=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1025899987321021680==
Content-Length: 2061
Content-Transfer-Encoding: quoted-printable

commit 86c59615f4e7f38df24182f20d9dbdec3299c514
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:22:13 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:22:13 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index ee87825..f173539 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -687,7 +687,8 @@ static bool_t hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============1025899987321021680==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1025899987321021680==--

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9T-0000ZO-J9; Sun, 14 Feb 2016 13:55:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9R-0000Z2-QZ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:50 +0000
Received: from [85.158.139.211] by server-9.bemta-5.messagelabs.com id
	31/43-29478-56780C65; Sun, 14 Feb 2016 13:55:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455458147!22255336!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17082 invoked from network); 14 Feb 2016 13:55:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB0-00056O-3y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9O-0003Ni-NR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9O-0003Ni-NR@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:46 +0000
Subject: [Xen-changelog] [xen master] x86/mm: drop guest_{map,
	get_eff}_l1e() hooks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 92942fd3d469adbb88fd0bd045e0ecc05d518f22
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:23:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:23:30 2016 +0100

    x86/mm: drop guest_{map,get_eff}_l1e() hooks
    
    Disallow the unmaintained and presumed broken translated-but-not-
    external paging mode combination, allowing the respective paging hooks
    to go away (which eliminates one pair of NULL callbacks in HAP mode).
    As a result of them no longer being generic paging operations, make the
    inline functions private to mm.c, dropping their struct vcpu parameters
    where suitable.
    
    The enforcement of the proper mode combination gets now done in
    paging_enable(), requiring shadow_domctl() to no longer call
    shadow_enable() directly.
    
    Also as a result support for XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE gets
    removed too.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm.c               | 95 +++++++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/paging.c        |  9 ++++
 xen/arch/x86/mm/shadow/common.c |  8 +---
 xen/arch/x86/mm/shadow/multi.c  | 40 -----------------
 xen/include/asm-x86/paging.h    | 79 +---------------------------------
 xen/include/public/domctl.h     |  5 ++-
 6 files changed, 94 insertions(+), 142 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 6fcd2c2..d62d9ec 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -516,6 +516,67 @@ void update_cr3(struct vcpu *v)
     make_cr3(v, cr3_mfn);
 }
 
+/* Get a mapping of a PV guest's l1e for this virtual address. */
+static l1_pgentry_t *guest_map_l1e(unsigned long addr, unsigned long *gl1mfn)
+{
+    l2_pgentry_t l2e;
+
+    ASSERT(!paging_mode_translate(current->domain));
+    ASSERT(!paging_mode_external(current->domain));
+
+    if ( unlikely(!__addr_ok(addr)) )
+        return NULL;
+
+    /* Find this l1e and its enclosing l1mfn in the linear map. */
+    if ( __copy_from_user(&l2e,
+                          &__linear_l2_table[l2_linear_offset(addr)],
+                          sizeof(l2_pgentry_t)) )
+        return NULL;
+
+    /* Check flags that it will be safe to read the l1e. */
+    if ( (l2e_get_flags(l2e) & (_PAGE_PRESENT | _PAGE_PSE)) != _PAGE_PRESENT )
+        return NULL;
+
+    *gl1mfn = l2e_get_pfn(l2e);
+
+    return (l1_pgentry_t *)map_domain_page(_mfn(*gl1mfn)) +
+           l1_table_offset(addr);
+}
+
+/* Pull down the mapping we got from guest_map_l1e(). */
+static inline void guest_unmap_l1e(void *p)
+{
+    unmap_domain_page(p);
+}
+
+/* Read a PV guest's l1e that maps this virtual address. */
+static inline void guest_get_eff_l1e(unsigned long addr, l1_pgentry_t *eff_l1e)
+{
+    ASSERT(!paging_mode_translate(current->domain));
+    ASSERT(!paging_mode_external(current->domain));
+
+    if ( unlikely(!__addr_ok(addr)) ||
+         __copy_from_user(eff_l1e,
+                          &__linear_l1_table[l1_linear_offset(addr)],
+                          sizeof(l1_pgentry_t)) )
+        *eff_l1e = l1e_empty();
+}
+
+/*
+ * Read the guest's l1e that maps this address, from the kernel-mode
+ * page tables.
+ */
+static inline void guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr,
+                                          void *eff_l1e)
+{
+    bool_t user_mode = !(v->arch.flags & TF_kernel_mode);
+#define TOGGLE_MODE() if ( user_mode ) toggle_guest_mode(v)
+
+    TOGGLE_MODE();
+    guest_get_eff_l1e(addr, eff_l1e);
+    TOGGLE_MODE();
+}
+
 static const char __section(".bss.page_aligned") zero_page[PAGE_SIZE];
 
 static void invalidate_shadow_ldt(struct vcpu *v, int flush)
@@ -3985,7 +4046,7 @@ static int create_grant_va_mapping(
     
     adjust_guest_l1e(nl1e, d);
 
-    pl1e = guest_map_l1e(v, va, &gl1mfn);
+    pl1e = guest_map_l1e(va, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx", va);
@@ -3994,7 +4055,7 @@ static int create_grant_va_mapping(
 
     if ( !get_page_from_pagenr(gl1mfn, current->domain) )
     {
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4002,7 +4063,7 @@ static int create_grant_va_mapping(
     if ( !page_lock(l1pg) )
     {
         put_page(l1pg);
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4010,7 +4071,7 @@ static int create_grant_va_mapping(
     {
         page_unlock(l1pg);
         put_page(l1pg);
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4019,7 +4080,7 @@ static int create_grant_va_mapping(
 
     page_unlock(l1pg);
     put_page(l1pg);
-    guest_unmap_l1e(v, pl1e);
+    guest_unmap_l1e(pl1e);
 
     if ( okay && !paging_mode_refcounts(d) )
         put_page_from_l1e(ol1e, d);
@@ -4035,7 +4096,7 @@ static int replace_grant_va_mapping(
     struct page_info *l1pg;
     int rc = 0;
     
-    pl1e = guest_map_l1e(v, addr, &gl1mfn);
+    pl1e = guest_map_l1e(addr, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx", addr);
@@ -4085,7 +4146,7 @@ static int replace_grant_va_mapping(
     page_unlock(l1pg);
     put_page(l1pg);
  out:
-    guest_unmap_l1e(v, pl1e);
+    guest_unmap_l1e(pl1e);
     return rc;
 }
 
@@ -4197,7 +4258,7 @@ int replace_grant_host_mapping(
     if ( !new_addr )
         return destroy_grant_va_mapping(addr, frame, curr);
 
-    pl1e = guest_map_l1e(curr, new_addr, &gl1mfn);
+    pl1e = guest_map_l1e(new_addr, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx",
@@ -4207,7 +4268,7 @@ int replace_grant_host_mapping(
 
     if ( !get_page_from_pagenr(gl1mfn, current->domain) )
     {
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4215,7 +4276,7 @@ int replace_grant_host_mapping(
     if ( !page_lock(l1pg) )
     {
         put_page(l1pg);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4223,7 +4284,7 @@ int replace_grant_host_mapping(
     {
         page_unlock(l1pg);
         put_page(l1pg);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4235,13 +4296,13 @@ int replace_grant_host_mapping(
         page_unlock(l1pg);
         put_page(l1pg);
         MEM_LOG("Cannot delete PTE entry at %p", (unsigned long *)pl1e);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
     page_unlock(l1pg);
     put_page(l1pg);
-    guest_unmap_l1e(curr, pl1e);
+    guest_unmap_l1e(pl1e);
 
     rc = replace_grant_va_mapping(addr, frame, ol1e, curr);
     if ( rc && !paging_mode_refcounts(curr->domain) )
@@ -4359,7 +4420,7 @@ static int __do_update_va_mapping(
         return rc;
 
     rc = -EINVAL;
-    pl1e = guest_map_l1e(v, va, &gl1mfn);
+    pl1e = guest_map_l1e(va, &gl1mfn);
     if ( unlikely(!pl1e || !get_page_from_pagenr(gl1mfn, d)) )
         goto out;
 
@@ -4384,7 +4445,7 @@ static int __do_update_va_mapping(
 
  out:
     if ( pl1e )
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
 
     switch ( flags & UVMF_FLUSHTYPE_MASK )
     {
@@ -5229,7 +5290,7 @@ int ptwr_do_page_fault(struct vcpu *v, unsigned long addr,
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
-    guest_get_eff_l1e(v, addr, &pte);
+    guest_get_eff_l1e(addr, &pte);
 
     /* We are looking only for read-only mappings of p.t. pages. */
     if ( ((l1e_get_flags(pte) & (_PAGE_PRESENT|_PAGE_RW)) != _PAGE_PRESENT) ||
@@ -5359,7 +5420,7 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
-    guest_get_eff_l1e(v, addr, &pte);
+    guest_get_eff_l1e(addr, &pte);
 
     /* We are looking only for read-only mappings of MMIO pages. */
     if ( ((l1e_get_flags(pte) & (_PAGE_PRESENT|_PAGE_RW)) != _PAGE_PRESENT) )
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index c7d1943..8219bb6 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -844,6 +844,15 @@ void paging_final_teardown(struct domain *d)
  * creation. */
 int paging_enable(struct domain *d, u32 mode)
 {
+    switch ( mode & (PG_external | PG_translate) )
+    {
+    case 0:
+    case PG_external | PG_translate:
+        break;
+    default:
+        return -EINVAL;
+    }
+
     if ( hap_enabled(d) )
         return hap_enable(d, mode | PG_HAP_enable);
     else
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index bad355b..f3f49e0 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -2921,8 +2921,7 @@ int shadow_enable(struct domain *d, u32 mode)
 
     /* Sanity check the arguments */
     if ( shadow_mode_enabled(d) ||
-         ((mode & PG_translate) && !(mode & PG_refcounts)) ||
-         ((mode & PG_external) && !(mode & PG_translate)) )
+         ((mode & PG_translate) && !(mode & PG_refcounts)) )
     {
         rv = -EINVAL;
         goto out_unlocked;
@@ -3668,11 +3667,8 @@ int shadow_domctl(struct domain *d,
     case XEN_DOMCTL_SHADOW_OP_ENABLE_TEST:
         return shadow_test_enable(d);
 
-    case XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE:
-        return shadow_enable(d, PG_refcounts|PG_translate);
-
     case XEN_DOMCTL_SHADOW_OP_ENABLE:
-        return shadow_enable(d, sc->mode << PG_mode_shift);
+        return paging_enable(d, sc->mode << PG_mode_shift);
 
     case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
         sc->mb = shadow_get_allocation(d);
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index d42597c..d41ff84 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -370,44 +370,6 @@ static void sh_audit_gw(struct vcpu *v, walk_t *gw)
 
 
 #if (CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS)
-static void *
-sh_guest_map_l1e(struct vcpu *v, unsigned long addr,
-                  unsigned long *gl1mfn)
-{
-    void *pl1e = NULL;
-    walk_t gw;
-
-    ASSERT(shadow_mode_translate(v->domain));
-
-    // XXX -- this is expensive, but it's easy to cobble together...
-    // FIXME!
-
-    if ( sh_walk_guest_tables(v, addr, &gw, PFEC_page_present) == 0
-         && mfn_valid(gw.l1mfn) )
-    {
-        if ( gl1mfn )
-            *gl1mfn = mfn_x(gw.l1mfn);
-        pl1e = map_domain_page(gw.l1mfn) +
-            (guest_l1_table_offset(addr) * sizeof(guest_l1e_t));
-    }
-
-    return pl1e;
-}
-
-static void
-sh_guest_get_eff_l1e(struct vcpu *v, unsigned long addr, void *eff_l1e)
-{
-    walk_t gw;
-
-    ASSERT(shadow_mode_translate(v->domain));
-
-    // XXX -- this is expensive, but it's easy to cobble together...
-    // FIXME!
-
-    (void) sh_walk_guest_tables(v, addr, &gw, PFEC_page_present);
-    *(guest_l1e_t *)eff_l1e = gw.l1e;
-}
-
 /*
  * Write a new value into the guest pagetable, and update the shadows
  * appropriately.  Returns 0 if we page-faulted, 1 for success.
@@ -5235,8 +5197,6 @@ const struct paging_mode sh_paging_mode = {
 #if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     .write_guest_entry             = sh_write_guest_entry,
     .cmpxchg_guest_entry           = sh_cmpxchg_guest_entry,
-    .guest_map_l1e                 = sh_guest_map_l1e,
-    .guest_get_eff_l1e             = sh_guest_get_eff_l1e,
 #endif
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 195fe8f..1ada61f 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -124,10 +124,7 @@ struct paging_mode {
     int           (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
                                             intpte_t *old, intpte_t new,
                                             mfn_t gmfn);
-    void *        (*guest_map_l1e         )(struct vcpu *v, unsigned long va,
-                                            unsigned long *gl1mfn);
-    void          (*guest_get_eff_l1e     )(struct vcpu *v, unsigned long va,
-                                            void *eff_l1e);
+
     unsigned int guest_levels;
 
     /* paging support extension */
@@ -355,80 +352,6 @@ void pagetable_dying(struct domain *d, paddr_t gpa);
 void paging_dump_domain_info(struct domain *d);
 void paging_dump_vcpu_info(struct vcpu *v);
 
-
-/*****************************************************************************
- * Access to the guest pagetables */
-
-/* Get a mapping of a PV guest's l1e for this virtual address. */
-static inline l1_pgentry_t *
-guest_map_l1e(struct vcpu *v, unsigned long addr, unsigned long *gl1mfn)
-{
-    l2_pgentry_t l2e;
-
-    if ( unlikely(!__addr_ok(addr)) )
-        return NULL;
-
-    if ( unlikely(paging_mode_translate(v->domain)) )
-        return paging_get_hostmode(v)->guest_map_l1e(v, addr, gl1mfn);
-
-    /* Find this l1e and its enclosing l1mfn in the linear map */
-    if ( __copy_from_user(&l2e,
-                          &__linear_l2_table[l2_linear_offset(addr)],
-                          sizeof(l2_pgentry_t)) != 0 )
-        return NULL;
-    /* Check flags that it will be safe to read the l1e */
-    if ( (l2e_get_flags(l2e) & (_PAGE_PRESENT | _PAGE_PSE)) 
-         != _PAGE_PRESENT )
-        return NULL;
-    *gl1mfn = l2e_get_pfn(l2e);
-    return (l1_pgentry_t *)map_domain_page(_mfn(*gl1mfn)) + l1_table_offset(addr);
-}
-
-/* Pull down the mapping we got from guest_map_l1e() */
-static inline void
-guest_unmap_l1e(struct vcpu *v, void *p)
-{
-    unmap_domain_page(p);
-}
-
-/* Read the guest's l1e that maps this address. */
-static inline void
-guest_get_eff_l1e(struct vcpu *v, unsigned long addr, l1_pgentry_t *eff_l1e)
-{
-    if ( unlikely(!__addr_ok(addr)) )
-    {
-        *eff_l1e = l1e_empty();
-        return;
-    }
-
-    if ( likely(!paging_mode_translate(v->domain)) )
-    {
-        ASSERT(!paging_mode_external(v->domain));
-        if ( __copy_from_user(eff_l1e,
-                              &__linear_l1_table[l1_linear_offset(addr)],
-                              sizeof(l1_pgentry_t)) != 0 )
-            *eff_l1e = l1e_empty();
-        return;
-    }
-        
-    paging_get_hostmode(v)->guest_get_eff_l1e(v, addr, eff_l1e);
-}
-
-/* Read the guest's l1e that maps this address, from the kernel-mode
- * pagetables. */
-static inline void
-guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr, void *eff_l1e)
-{
-    int user_mode = !(v->arch.flags & TF_kernel_mode);
-#define TOGGLE_MODE() if ( user_mode ) toggle_guest_mode(v)
-
-    TOGGLE_MODE();
-    guest_get_eff_l1e(v, addr, eff_l1e);
-    TOGGLE_MODE();
-}
-
-
-
 #endif /* XEN_PAGING_H */
 
 /*
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 2d8076c..370bc0f 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -190,8 +190,11 @@ struct xen_domctl_getpageframeinfo3 {
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_TEST       1
  /* Equiv. to ENABLE with mode flag ENABLE_LOG_DIRTY. */
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY   2
- /* Equiv. to ENABLE with mode flags ENABLE_REFCOUNT and ENABLE_TRANSLATE. */
+ /*
+  * No longer supported, was equiv. to ENABLE with mode flags
+  * ENABLE_REFCOUNT and ENABLE_TRANSLATE:
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE  3
+  */
 
 /* Mode flags for XEN_DOMCTL_SHADOW_OP_ENABLE. */
  /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:55:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9T-0000ZO-J9; Sun, 14 Feb 2016 13:55:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9R-0000Z2-QZ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:50 +0000
Received: from [85.158.139.211] by server-9.bemta-5.messagelabs.com id
	31/43-29478-56780C65; Sun, 14 Feb 2016 13:55:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455458147!22255336!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17082 invoked from network); 14 Feb 2016 13:55:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:55:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB0-00056O-3y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9O-0003Ni-NR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:55:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9O-0003Ni-NR@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:55:46 +0000
Subject: [Xen-changelog] [xen master] x86/mm: drop guest_{map,
	get_eff}_l1e() hooks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 92942fd3d469adbb88fd0bd045e0ecc05d518f22
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:23:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:23:30 2016 +0100

    x86/mm: drop guest_{map,get_eff}_l1e() hooks
    
    Disallow the unmaintained and presumed broken translated-but-not-
    external paging mode combination, allowing the respective paging hooks
    to go away (which eliminates one pair of NULL callbacks in HAP mode).
    As a result of them no longer being generic paging operations, make the
    inline functions private to mm.c, dropping their struct vcpu parameters
    where suitable.
    
    The enforcement of the proper mode combination gets now done in
    paging_enable(), requiring shadow_domctl() to no longer call
    shadow_enable() directly.
    
    Also as a result support for XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE gets
    removed too.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm.c               | 95 +++++++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/paging.c        |  9 ++++
 xen/arch/x86/mm/shadow/common.c |  8 +---
 xen/arch/x86/mm/shadow/multi.c  | 40 -----------------
 xen/include/asm-x86/paging.h    | 79 +---------------------------------
 xen/include/public/domctl.h     |  5 ++-
 6 files changed, 94 insertions(+), 142 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 6fcd2c2..d62d9ec 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -516,6 +516,67 @@ void update_cr3(struct vcpu *v)
     make_cr3(v, cr3_mfn);
 }
 
+/* Get a mapping of a PV guest's l1e for this virtual address. */
+static l1_pgentry_t *guest_map_l1e(unsigned long addr, unsigned long *gl1mfn)
+{
+    l2_pgentry_t l2e;
+
+    ASSERT(!paging_mode_translate(current->domain));
+    ASSERT(!paging_mode_external(current->domain));
+
+    if ( unlikely(!__addr_ok(addr)) )
+        return NULL;
+
+    /* Find this l1e and its enclosing l1mfn in the linear map. */
+    if ( __copy_from_user(&l2e,
+                          &__linear_l2_table[l2_linear_offset(addr)],
+                          sizeof(l2_pgentry_t)) )
+        return NULL;
+
+    /* Check flags that it will be safe to read the l1e. */
+    if ( (l2e_get_flags(l2e) & (_PAGE_PRESENT | _PAGE_PSE)) != _PAGE_PRESENT )
+        return NULL;
+
+    *gl1mfn = l2e_get_pfn(l2e);
+
+    return (l1_pgentry_t *)map_domain_page(_mfn(*gl1mfn)) +
+           l1_table_offset(addr);
+}
+
+/* Pull down the mapping we got from guest_map_l1e(). */
+static inline void guest_unmap_l1e(void *p)
+{
+    unmap_domain_page(p);
+}
+
+/* Read a PV guest's l1e that maps this virtual address. */
+static inline void guest_get_eff_l1e(unsigned long addr, l1_pgentry_t *eff_l1e)
+{
+    ASSERT(!paging_mode_translate(current->domain));
+    ASSERT(!paging_mode_external(current->domain));
+
+    if ( unlikely(!__addr_ok(addr)) ||
+         __copy_from_user(eff_l1e,
+                          &__linear_l1_table[l1_linear_offset(addr)],
+                          sizeof(l1_pgentry_t)) )
+        *eff_l1e = l1e_empty();
+}
+
+/*
+ * Read the guest's l1e that maps this address, from the kernel-mode
+ * page tables.
+ */
+static inline void guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr,
+                                          void *eff_l1e)
+{
+    bool_t user_mode = !(v->arch.flags & TF_kernel_mode);
+#define TOGGLE_MODE() if ( user_mode ) toggle_guest_mode(v)
+
+    TOGGLE_MODE();
+    guest_get_eff_l1e(addr, eff_l1e);
+    TOGGLE_MODE();
+}
+
 static const char __section(".bss.page_aligned") zero_page[PAGE_SIZE];
 
 static void invalidate_shadow_ldt(struct vcpu *v, int flush)
@@ -3985,7 +4046,7 @@ static int create_grant_va_mapping(
     
     adjust_guest_l1e(nl1e, d);
 
-    pl1e = guest_map_l1e(v, va, &gl1mfn);
+    pl1e = guest_map_l1e(va, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx", va);
@@ -3994,7 +4055,7 @@ static int create_grant_va_mapping(
 
     if ( !get_page_from_pagenr(gl1mfn, current->domain) )
     {
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4002,7 +4063,7 @@ static int create_grant_va_mapping(
     if ( !page_lock(l1pg) )
     {
         put_page(l1pg);
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4010,7 +4071,7 @@ static int create_grant_va_mapping(
     {
         page_unlock(l1pg);
         put_page(l1pg);
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4019,7 +4080,7 @@ static int create_grant_va_mapping(
 
     page_unlock(l1pg);
     put_page(l1pg);
-    guest_unmap_l1e(v, pl1e);
+    guest_unmap_l1e(pl1e);
 
     if ( okay && !paging_mode_refcounts(d) )
         put_page_from_l1e(ol1e, d);
@@ -4035,7 +4096,7 @@ static int replace_grant_va_mapping(
     struct page_info *l1pg;
     int rc = 0;
     
-    pl1e = guest_map_l1e(v, addr, &gl1mfn);
+    pl1e = guest_map_l1e(addr, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx", addr);
@@ -4085,7 +4146,7 @@ static int replace_grant_va_mapping(
     page_unlock(l1pg);
     put_page(l1pg);
  out:
-    guest_unmap_l1e(v, pl1e);
+    guest_unmap_l1e(pl1e);
     return rc;
 }
 
@@ -4197,7 +4258,7 @@ int replace_grant_host_mapping(
     if ( !new_addr )
         return destroy_grant_va_mapping(addr, frame, curr);
 
-    pl1e = guest_map_l1e(curr, new_addr, &gl1mfn);
+    pl1e = guest_map_l1e(new_addr, &gl1mfn);
     if ( !pl1e )
     {
         MEM_LOG("Could not find L1 PTE for address %lx",
@@ -4207,7 +4268,7 @@ int replace_grant_host_mapping(
 
     if ( !get_page_from_pagenr(gl1mfn, current->domain) )
     {
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4215,7 +4276,7 @@ int replace_grant_host_mapping(
     if ( !page_lock(l1pg) )
     {
         put_page(l1pg);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4223,7 +4284,7 @@ int replace_grant_host_mapping(
     {
         page_unlock(l1pg);
         put_page(l1pg);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
@@ -4235,13 +4296,13 @@ int replace_grant_host_mapping(
         page_unlock(l1pg);
         put_page(l1pg);
         MEM_LOG("Cannot delete PTE entry at %p", (unsigned long *)pl1e);
-        guest_unmap_l1e(curr, pl1e);
+        guest_unmap_l1e(pl1e);
         return GNTST_general_error;
     }
 
     page_unlock(l1pg);
     put_page(l1pg);
-    guest_unmap_l1e(curr, pl1e);
+    guest_unmap_l1e(pl1e);
 
     rc = replace_grant_va_mapping(addr, frame, ol1e, curr);
     if ( rc && !paging_mode_refcounts(curr->domain) )
@@ -4359,7 +4420,7 @@ static int __do_update_va_mapping(
         return rc;
 
     rc = -EINVAL;
-    pl1e = guest_map_l1e(v, va, &gl1mfn);
+    pl1e = guest_map_l1e(va, &gl1mfn);
     if ( unlikely(!pl1e || !get_page_from_pagenr(gl1mfn, d)) )
         goto out;
 
@@ -4384,7 +4445,7 @@ static int __do_update_va_mapping(
 
  out:
     if ( pl1e )
-        guest_unmap_l1e(v, pl1e);
+        guest_unmap_l1e(pl1e);
 
     switch ( flags & UVMF_FLUSHTYPE_MASK )
     {
@@ -5229,7 +5290,7 @@ int ptwr_do_page_fault(struct vcpu *v, unsigned long addr,
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
-    guest_get_eff_l1e(v, addr, &pte);
+    guest_get_eff_l1e(addr, &pte);
 
     /* We are looking only for read-only mappings of p.t. pages. */
     if ( ((l1e_get_flags(pte) & (_PAGE_PRESENT|_PAGE_RW)) != _PAGE_PRESENT) ||
@@ -5359,7 +5420,7 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
-    guest_get_eff_l1e(v, addr, &pte);
+    guest_get_eff_l1e(addr, &pte);
 
     /* We are looking only for read-only mappings of MMIO pages. */
     if ( ((l1e_get_flags(pte) & (_PAGE_PRESENT|_PAGE_RW)) != _PAGE_PRESENT) )
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index c7d1943..8219bb6 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -844,6 +844,15 @@ void paging_final_teardown(struct domain *d)
  * creation. */
 int paging_enable(struct domain *d, u32 mode)
 {
+    switch ( mode & (PG_external | PG_translate) )
+    {
+    case 0:
+    case PG_external | PG_translate:
+        break;
+    default:
+        return -EINVAL;
+    }
+
     if ( hap_enabled(d) )
         return hap_enable(d, mode | PG_HAP_enable);
     else
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index bad355b..f3f49e0 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -2921,8 +2921,7 @@ int shadow_enable(struct domain *d, u32 mode)
 
     /* Sanity check the arguments */
     if ( shadow_mode_enabled(d) ||
-         ((mode & PG_translate) && !(mode & PG_refcounts)) ||
-         ((mode & PG_external) && !(mode & PG_translate)) )
+         ((mode & PG_translate) && !(mode & PG_refcounts)) )
     {
         rv = -EINVAL;
         goto out_unlocked;
@@ -3668,11 +3667,8 @@ int shadow_domctl(struct domain *d,
     case XEN_DOMCTL_SHADOW_OP_ENABLE_TEST:
         return shadow_test_enable(d);
 
-    case XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE:
-        return shadow_enable(d, PG_refcounts|PG_translate);
-
     case XEN_DOMCTL_SHADOW_OP_ENABLE:
-        return shadow_enable(d, sc->mode << PG_mode_shift);
+        return paging_enable(d, sc->mode << PG_mode_shift);
 
     case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
         sc->mb = shadow_get_allocation(d);
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index d42597c..d41ff84 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -370,44 +370,6 @@ static void sh_audit_gw(struct vcpu *v, walk_t *gw)
 
 
 #if (CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS)
-static void *
-sh_guest_map_l1e(struct vcpu *v, unsigned long addr,
-                  unsigned long *gl1mfn)
-{
-    void *pl1e = NULL;
-    walk_t gw;
-
-    ASSERT(shadow_mode_translate(v->domain));
-
-    // XXX -- this is expensive, but it's easy to cobble together...
-    // FIXME!
-
-    if ( sh_walk_guest_tables(v, addr, &gw, PFEC_page_present) == 0
-         && mfn_valid(gw.l1mfn) )
-    {
-        if ( gl1mfn )
-            *gl1mfn = mfn_x(gw.l1mfn);
-        pl1e = map_domain_page(gw.l1mfn) +
-            (guest_l1_table_offset(addr) * sizeof(guest_l1e_t));
-    }
-
-    return pl1e;
-}
-
-static void
-sh_guest_get_eff_l1e(struct vcpu *v, unsigned long addr, void *eff_l1e)
-{
-    walk_t gw;
-
-    ASSERT(shadow_mode_translate(v->domain));
-
-    // XXX -- this is expensive, but it's easy to cobble together...
-    // FIXME!
-
-    (void) sh_walk_guest_tables(v, addr, &gw, PFEC_page_present);
-    *(guest_l1e_t *)eff_l1e = gw.l1e;
-}
-
 /*
  * Write a new value into the guest pagetable, and update the shadows
  * appropriately.  Returns 0 if we page-faulted, 1 for success.
@@ -5235,8 +5197,6 @@ const struct paging_mode sh_paging_mode = {
 #if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     .write_guest_entry             = sh_write_guest_entry,
     .cmpxchg_guest_entry           = sh_cmpxchg_guest_entry,
-    .guest_map_l1e                 = sh_guest_map_l1e,
-    .guest_get_eff_l1e             = sh_guest_get_eff_l1e,
 #endif
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 195fe8f..1ada61f 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -124,10 +124,7 @@ struct paging_mode {
     int           (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
                                             intpte_t *old, intpte_t new,
                                             mfn_t gmfn);
-    void *        (*guest_map_l1e         )(struct vcpu *v, unsigned long va,
-                                            unsigned long *gl1mfn);
-    void          (*guest_get_eff_l1e     )(struct vcpu *v, unsigned long va,
-                                            void *eff_l1e);
+
     unsigned int guest_levels;
 
     /* paging support extension */
@@ -355,80 +352,6 @@ void pagetable_dying(struct domain *d, paddr_t gpa);
 void paging_dump_domain_info(struct domain *d);
 void paging_dump_vcpu_info(struct vcpu *v);
 
-
-/*****************************************************************************
- * Access to the guest pagetables */
-
-/* Get a mapping of a PV guest's l1e for this virtual address. */
-static inline l1_pgentry_t *
-guest_map_l1e(struct vcpu *v, unsigned long addr, unsigned long *gl1mfn)
-{
-    l2_pgentry_t l2e;
-
-    if ( unlikely(!__addr_ok(addr)) )
-        return NULL;
-
-    if ( unlikely(paging_mode_translate(v->domain)) )
-        return paging_get_hostmode(v)->guest_map_l1e(v, addr, gl1mfn);
-
-    /* Find this l1e and its enclosing l1mfn in the linear map */
-    if ( __copy_from_user(&l2e,
-                          &__linear_l2_table[l2_linear_offset(addr)],
-                          sizeof(l2_pgentry_t)) != 0 )
-        return NULL;
-    /* Check flags that it will be safe to read the l1e */
-    if ( (l2e_get_flags(l2e) & (_PAGE_PRESENT | _PAGE_PSE)) 
-         != _PAGE_PRESENT )
-        return NULL;
-    *gl1mfn = l2e_get_pfn(l2e);
-    return (l1_pgentry_t *)map_domain_page(_mfn(*gl1mfn)) + l1_table_offset(addr);
-}
-
-/* Pull down the mapping we got from guest_map_l1e() */
-static inline void
-guest_unmap_l1e(struct vcpu *v, void *p)
-{
-    unmap_domain_page(p);
-}
-
-/* Read the guest's l1e that maps this address. */
-static inline void
-guest_get_eff_l1e(struct vcpu *v, unsigned long addr, l1_pgentry_t *eff_l1e)
-{
-    if ( unlikely(!__addr_ok(addr)) )
-    {
-        *eff_l1e = l1e_empty();
-        return;
-    }
-
-    if ( likely(!paging_mode_translate(v->domain)) )
-    {
-        ASSERT(!paging_mode_external(v->domain));
-        if ( __copy_from_user(eff_l1e,
-                              &__linear_l1_table[l1_linear_offset(addr)],
-                              sizeof(l1_pgentry_t)) != 0 )
-            *eff_l1e = l1e_empty();
-        return;
-    }
-        
-    paging_get_hostmode(v)->guest_get_eff_l1e(v, addr, eff_l1e);
-}
-
-/* Read the guest's l1e that maps this address, from the kernel-mode
- * pagetables. */
-static inline void
-guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr, void *eff_l1e)
-{
-    int user_mode = !(v->arch.flags & TF_kernel_mode);
-#define TOGGLE_MODE() if ( user_mode ) toggle_guest_mode(v)
-
-    TOGGLE_MODE();
-    guest_get_eff_l1e(v, addr, eff_l1e);
-    TOGGLE_MODE();
-}
-
-
-
 #endif /* XEN_PAGING_H */
 
 /*
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 2d8076c..370bc0f 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -190,8 +190,11 @@ struct xen_domctl_getpageframeinfo3 {
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_TEST       1
  /* Equiv. to ENABLE with mode flag ENABLE_LOG_DIRTY. */
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY   2
- /* Equiv. to ENABLE with mode flags ENABLE_REFCOUNT and ENABLE_TRANSLATE. */
+ /*
+  * No longer supported, was equiv. to ENABLE with mode flags
+  * ENABLE_REFCOUNT and ENABLE_TRANSLATE:
 #define XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE  3
+  */
 
 /* Mode flags for XEN_DOMCTL_SHADOW_OP_ENABLE. */
  /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9i-0000cG-Rf; Sun, 14 Feb 2016 13:56:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9h-0000c3-1h
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:05 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	95/C1-09834-47780C65; Sun, 14 Feb 2016 13:56:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1455458162!23678682!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3261 invoked from network); 14 Feb 2016 13:56:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBF-00056W-Gu
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9e-0003O6-4W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9e-0003O6-4W@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:02 +0000
Subject: [Xen-changelog] [xen master] x86/mm: make {cmpxchg,
	write}_guest_entry() hook shadow mode specific
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d738685db11de05f43a6193faa0b11830567ead
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:24:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:24:00 2016 +0100

    x86/mm: make {cmpxchg,write}_guest_entry() hook shadow mode specific
    
    ... as they're being used for PV guests only, which don't use HAP mode.
    This eliminates another pair of NULL callbacks in HAP as well as in 2-
    and 3-guest-level shadow modes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/shadow/multi.c | 27 +++++++++++++++------------
 xen/include/asm-x86/paging.h   | 42 ++++++++++++++++++++++--------------------
 2 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index d41ff84..4d0b317 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -369,15 +369,14 @@ static void sh_audit_gw(struct vcpu *v, walk_t *gw)
 #endif /* audit code */
 
 
-#if (CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS)
 /*
  * Write a new value into the guest pagetable, and update the shadows
  * appropriately.  Returns 0 if we page-faulted, 1 for success.
  */
-static int
-sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
-                     guest_intpte_t new, mfn_t gmfn)
+static bool_t
+sh_write_guest_entry(struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
 {
+#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     int failed;
 
     paging_lock(v->domain);
@@ -387,6 +386,9 @@ sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
     paging_unlock(v->domain);
 
     return !failed;
+#else
+    return 0;
+#endif
 }
 
 /*
@@ -395,10 +397,11 @@ sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
  * N.B. caller should check the value of "old" to see if the cmpxchg itself
  * was successful.
  */
-static int
-sh_cmpxchg_guest_entry(struct vcpu *v, guest_intpte_t *p,
-                       guest_intpte_t *old, guest_intpte_t new, mfn_t gmfn)
+static bool_t
+sh_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t *old,
+                       intpte_t new, mfn_t gmfn)
 {
+#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     int failed;
     guest_intpte_t t = *old;
 
@@ -410,8 +413,10 @@ sh_cmpxchg_guest_entry(struct vcpu *v, guest_intpte_t *p,
     paging_unlock(v->domain);
 
     return !failed;
+#else
+    return 0;
+#endif
 }
-#endif /* CONFIG == GUEST (== SHADOW) */
 
 /**************************************************************************/
 /* Functions to compute the correct index into a shadow page, given an
@@ -5194,14 +5199,12 @@ const struct paging_mode sh_paging_mode = {
     .update_cr3                    = sh_update_cr3,
     .update_paging_modes           = shadow_update_paging_modes,
     .write_p2m_entry               = shadow_write_p2m_entry,
-#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
-    .write_guest_entry             = sh_write_guest_entry,
-    .cmpxchg_guest_entry           = sh_cmpxchg_guest_entry,
-#endif
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
     .shadow.x86_emulate_write      = sh_x86_emulate_write,
     .shadow.x86_emulate_cmpxchg    = sh_x86_emulate_cmpxchg,
+    .shadow.write_guest_entry      = sh_write_guest_entry,
+    .shadow.cmpxchg_guest_entry    = sh_cmpxchg_guest_entry,
     .shadow.make_monitor_table     = sh_make_monitor_table,
     .shadow.destroy_monitor_table  = sh_destroy_monitor_table,
 #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 1ada61f..ab131cc 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -87,6 +87,11 @@ struct shadow_paging_mode {
                                             unsigned long new,
                                             unsigned int bytes,
                                             struct sh_emulate_ctxt *sh_ctxt);
+    bool_t        (*write_guest_entry     )(struct vcpu *v, intpte_t *p,
+                                            intpte_t new, mfn_t gmfn);
+    bool_t        (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
+                                            intpte_t *old, intpte_t new,
+                                            mfn_t gmfn);
     mfn_t         (*make_monitor_table    )(struct vcpu *v);
     void          (*destroy_monitor_table )(struct vcpu *v, mfn_t mmfn);
     int           (*guess_wrmap           )(struct vcpu *v, 
@@ -119,11 +124,6 @@ struct paging_mode {
     void          (*write_p2m_entry       )(struct domain *d, unsigned long gfn,
                                             l1_pgentry_t *p, l1_pgentry_t new,
                                             unsigned int level);
-    int           (*write_guest_entry     )(struct vcpu *v, intpte_t *p,
-                                            intpte_t new, mfn_t gmfn);
-    int           (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
-                                            intpte_t *old, intpte_t new,
-                                            mfn_t gmfn);
 
     unsigned int guest_levels;
 
@@ -299,14 +299,15 @@ static inline void paging_update_paging_modes(struct vcpu *v)
 /* Write a new value into the guest pagetable, and update the
  * paging-assistance state appropriately.  Returns 0 if we page-faulted,
  * 1 for success. */
-static inline int paging_write_guest_entry(struct vcpu *v, intpte_t *p,
-                                           intpte_t new, mfn_t gmfn)
+static inline bool_t paging_write_guest_entry(struct vcpu *v, intpte_t *p,
+                                              intpte_t new, mfn_t gmfn)
 {
-    if ( unlikely(paging_mode_enabled(v->domain) 
-                  && v->arch.paging.mode != NULL) )
-        return paging_get_hostmode(v)->write_guest_entry(v, p, new, gmfn);
-    else 
-        return (!__copy_to_user(p, &new, sizeof(new)));
+#ifdef CONFIG_SHADOW_PAGING
+    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
+        return paging_get_hostmode(v)->shadow.write_guest_entry(v, p, new,
+                                                                gmfn);
+#endif
+    return !__copy_to_user(p, &new, sizeof(new));
 }
 
 
@@ -314,15 +315,16 @@ static inline int paging_write_guest_entry(struct vcpu *v, intpte_t *p,
  * paging-assistance state appropriately.  Returns 0 if we page-faulted,
  * 1 if not.  N.B. caller should check the value of "old" to see if the
  * cmpxchg itself was successful. */
-static inline int paging_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p,
-                                             intpte_t *old, intpte_t new, 
-                                             mfn_t gmfn)
+static inline bool_t paging_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p,
+                                                intpte_t *old, intpte_t new,
+                                                mfn_t gmfn)
 {
-    if ( unlikely(paging_mode_enabled(v->domain) 
-                  && v->arch.paging.mode != NULL) )
-        return paging_get_hostmode(v)->cmpxchg_guest_entry(v, p, old, new, gmfn);
-    else 
-        return (!cmpxchg_user(p, *old, new));
+#ifdef CONFIG_SHADOW_PAGING
+    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
+        return paging_get_hostmode(v)->shadow.cmpxchg_guest_entry(v, p, old,
+                                                                  new, gmfn);
+#endif
+    return !cmpxchg_user(p, *old, new);
 }
 
 /* Helper function that writes a pte in such a way that a concurrent read 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9i-0000cG-Rf; Sun, 14 Feb 2016 13:56:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9h-0000c3-1h
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:05 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	95/C1-09834-47780C65; Sun, 14 Feb 2016 13:56:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1455458162!23678682!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3261 invoked from network); 14 Feb 2016 13:56:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBF-00056W-Gu
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9e-0003O6-4W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9e-0003O6-4W@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:02 +0000
Subject: [Xen-changelog] [xen master] x86/mm: make {cmpxchg,
	write}_guest_entry() hook shadow mode specific
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d738685db11de05f43a6193faa0b11830567ead
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:24:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:24:00 2016 +0100

    x86/mm: make {cmpxchg,write}_guest_entry() hook shadow mode specific
    
    ... as they're being used for PV guests only, which don't use HAP mode.
    This eliminates another pair of NULL callbacks in HAP as well as in 2-
    and 3-guest-level shadow modes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/shadow/multi.c | 27 +++++++++++++++------------
 xen/include/asm-x86/paging.h   | 42 ++++++++++++++++++++++--------------------
 2 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index d41ff84..4d0b317 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -369,15 +369,14 @@ static void sh_audit_gw(struct vcpu *v, walk_t *gw)
 #endif /* audit code */
 
 
-#if (CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS)
 /*
  * Write a new value into the guest pagetable, and update the shadows
  * appropriately.  Returns 0 if we page-faulted, 1 for success.
  */
-static int
-sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
-                     guest_intpte_t new, mfn_t gmfn)
+static bool_t
+sh_write_guest_entry(struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
 {
+#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     int failed;
 
     paging_lock(v->domain);
@@ -387,6 +386,9 @@ sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
     paging_unlock(v->domain);
 
     return !failed;
+#else
+    return 0;
+#endif
 }
 
 /*
@@ -395,10 +397,11 @@ sh_write_guest_entry(struct vcpu *v, guest_intpte_t *p,
  * N.B. caller should check the value of "old" to see if the cmpxchg itself
  * was successful.
  */
-static int
-sh_cmpxchg_guest_entry(struct vcpu *v, guest_intpte_t *p,
-                       guest_intpte_t *old, guest_intpte_t new, mfn_t gmfn)
+static bool_t
+sh_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t *old,
+                       intpte_t new, mfn_t gmfn)
 {
+#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
     int failed;
     guest_intpte_t t = *old;
 
@@ -410,8 +413,10 @@ sh_cmpxchg_guest_entry(struct vcpu *v, guest_intpte_t *p,
     paging_unlock(v->domain);
 
     return !failed;
+#else
+    return 0;
+#endif
 }
-#endif /* CONFIG == GUEST (== SHADOW) */
 
 /**************************************************************************/
 /* Functions to compute the correct index into a shadow page, given an
@@ -5194,14 +5199,12 @@ const struct paging_mode sh_paging_mode = {
     .update_cr3                    = sh_update_cr3,
     .update_paging_modes           = shadow_update_paging_modes,
     .write_p2m_entry               = shadow_write_p2m_entry,
-#if CONFIG_PAGING_LEVELS == GUEST_PAGING_LEVELS
-    .write_guest_entry             = sh_write_guest_entry,
-    .cmpxchg_guest_entry           = sh_cmpxchg_guest_entry,
-#endif
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
     .shadow.x86_emulate_write      = sh_x86_emulate_write,
     .shadow.x86_emulate_cmpxchg    = sh_x86_emulate_cmpxchg,
+    .shadow.write_guest_entry      = sh_write_guest_entry,
+    .shadow.cmpxchg_guest_entry    = sh_cmpxchg_guest_entry,
     .shadow.make_monitor_table     = sh_make_monitor_table,
     .shadow.destroy_monitor_table  = sh_destroy_monitor_table,
 #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 1ada61f..ab131cc 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -87,6 +87,11 @@ struct shadow_paging_mode {
                                             unsigned long new,
                                             unsigned int bytes,
                                             struct sh_emulate_ctxt *sh_ctxt);
+    bool_t        (*write_guest_entry     )(struct vcpu *v, intpte_t *p,
+                                            intpte_t new, mfn_t gmfn);
+    bool_t        (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
+                                            intpte_t *old, intpte_t new,
+                                            mfn_t gmfn);
     mfn_t         (*make_monitor_table    )(struct vcpu *v);
     void          (*destroy_monitor_table )(struct vcpu *v, mfn_t mmfn);
     int           (*guess_wrmap           )(struct vcpu *v, 
@@ -119,11 +124,6 @@ struct paging_mode {
     void          (*write_p2m_entry       )(struct domain *d, unsigned long gfn,
                                             l1_pgentry_t *p, l1_pgentry_t new,
                                             unsigned int level);
-    int           (*write_guest_entry     )(struct vcpu *v, intpte_t *p,
-                                            intpte_t new, mfn_t gmfn);
-    int           (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
-                                            intpte_t *old, intpte_t new,
-                                            mfn_t gmfn);
 
     unsigned int guest_levels;
 
@@ -299,14 +299,15 @@ static inline void paging_update_paging_modes(struct vcpu *v)
 /* Write a new value into the guest pagetable, and update the
  * paging-assistance state appropriately.  Returns 0 if we page-faulted,
  * 1 for success. */
-static inline int paging_write_guest_entry(struct vcpu *v, intpte_t *p,
-                                           intpte_t new, mfn_t gmfn)
+static inline bool_t paging_write_guest_entry(struct vcpu *v, intpte_t *p,
+                                              intpte_t new, mfn_t gmfn)
 {
-    if ( unlikely(paging_mode_enabled(v->domain) 
-                  && v->arch.paging.mode != NULL) )
-        return paging_get_hostmode(v)->write_guest_entry(v, p, new, gmfn);
-    else 
-        return (!__copy_to_user(p, &new, sizeof(new)));
+#ifdef CONFIG_SHADOW_PAGING
+    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
+        return paging_get_hostmode(v)->shadow.write_guest_entry(v, p, new,
+                                                                gmfn);
+#endif
+    return !__copy_to_user(p, &new, sizeof(new));
 }
 
 
@@ -314,15 +315,16 @@ static inline int paging_write_guest_entry(struct vcpu *v, intpte_t *p,
  * paging-assistance state appropriately.  Returns 0 if we page-faulted,
  * 1 if not.  N.B. caller should check the value of "old" to see if the
  * cmpxchg itself was successful. */
-static inline int paging_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p,
-                                             intpte_t *old, intpte_t new, 
-                                             mfn_t gmfn)
+static inline bool_t paging_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p,
+                                                intpte_t *old, intpte_t new,
+                                                mfn_t gmfn)
 {
-    if ( unlikely(paging_mode_enabled(v->domain) 
-                  && v->arch.paging.mode != NULL) )
-        return paging_get_hostmode(v)->cmpxchg_guest_entry(v, p, old, new, gmfn);
-    else 
-        return (!cmpxchg_user(p, *old, new));
+#ifdef CONFIG_SHADOW_PAGING
+    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
+        return paging_get_hostmode(v)->shadow.cmpxchg_guest_entry(v, p, old,
+                                                                  new, gmfn);
+#endif
+    return !cmpxchg_user(p, *old, new);
 }
 
 /* Helper function that writes a pte in such a way that a concurrent read 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9t-0000dt-0o; Sun, 14 Feb 2016 13:56:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9r-0000dh-1m
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:15 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	F8/C5-17089-E7780C65; Sun, 14 Feb 2016 13:56:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458172!22257321!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45161 invoked from network); 14 Feb 2016 13:56:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBP-000577-UD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9o-0003PU-J7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9o-0003PU-J7@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:12 +0000
Subject: [Xen-changelog] [xen master] x86/shadow: remove a few 32-bit
	hypervisor leftovers
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a57a83ef71ba1bf81fe97e35ca302e6a7949649
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:24:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:24:23 2016 +0100

    x86/shadow: remove a few 32-bit hypervisor leftovers
    
    ... related to 8-byte cmpxchg having required special precautions
    there.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/shadow/common.c | 34 ++++++++++++++--------------------
 xen/arch/x86/mm/shadow/types.h  |  1 -
 2 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index f3f49e0..2270838 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -259,10 +259,10 @@ hvm_emulate_cmpxchg(enum x86_segment seg,
     struct sh_emulate_ctxt *sh_ctxt =
         container_of(ctxt, struct sh_emulate_ctxt, ctxt);
     struct vcpu *v = current;
-    unsigned long addr, old[2], new[2];
+    unsigned long addr, old, new;
     int rc;
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) || bytes > sizeof(long) )
         return X86EMUL_UNHANDLEABLE;
 
     rc = hvm_translate_linear_addr(
@@ -270,15 +270,12 @@ hvm_emulate_cmpxchg(enum x86_segment seg,
     if ( rc )
         return rc;
 
-    old[0] = new[0] = 0;
-    memcpy(old, p_old, bytes);
-    memcpy(new, p_new, bytes);
-
-    if ( bytes <= sizeof(long) )
-        return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
-            v, addr, old[0], new[0], bytes, sh_ctxt);
+    old = new = 0;
+    memcpy(&old, p_old, bytes);
+    memcpy(&new, p_new, bytes);
 
-    return X86EMUL_UNHANDLEABLE;
+    return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
+               v, addr, old, new, bytes, sh_ctxt);
 }
 
 static const struct x86_emulate_ops hvm_shadow_emulator_ops = {
@@ -335,21 +332,18 @@ pv_emulate_cmpxchg(enum x86_segment seg,
 {
     struct sh_emulate_ctxt *sh_ctxt =
         container_of(ctxt, struct sh_emulate_ctxt, ctxt);
-    unsigned long old[2], new[2];
+    unsigned long old, new;
     struct vcpu *v = current;
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) || bytes > sizeof(long) )
         return X86EMUL_UNHANDLEABLE;
 
-    old[0] = new[0] = 0;
-    memcpy(old, p_old, bytes);
-    memcpy(new, p_new, bytes);
-
-    if ( bytes <= sizeof(long) )
-        return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
-            v, offset, old[0], new[0], bytes, sh_ctxt);
+    old = new = 0;
+    memcpy(&old, p_old, bytes);
+    memcpy(&new, p_new, bytes);
 
-    return X86EMUL_UNHANDLEABLE;
+    return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
+               v, offset, old, new, bytes, sh_ctxt);
 }
 
 static const struct x86_emulate_ops pv_shadow_emulator_ops = {
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 6b9959d..503243f 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -247,7 +247,6 @@ static inline shadow_l4e_t shadow_l4e_from_mfn(mfn_t mfn, u32 flags)
 #define sh_detach_old_tables       INTERNAL_NAME(sh_detach_old_tables)
 #define sh_x86_emulate_write       INTERNAL_NAME(sh_x86_emulate_write)
 #define sh_x86_emulate_cmpxchg     INTERNAL_NAME(sh_x86_emulate_cmpxchg)
-#define sh_x86_emulate_cmpxchg8b   INTERNAL_NAME(sh_x86_emulate_cmpxchg8b)
 #define sh_audit_l1_table          INTERNAL_NAME(sh_audit_l1_table)
 #define sh_audit_fl1_table         INTERNAL_NAME(sh_audit_fl1_table)
 #define sh_audit_l2_table          INTERNAL_NAME(sh_audit_l2_table)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUx9t-0000dt-0o; Sun, 14 Feb 2016 13:56:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9r-0000dh-1m
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:15 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	F8/C5-17089-E7780C65; Sun, 14 Feb 2016 13:56:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458172!22257321!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45161 invoked from network); 14 Feb 2016 13:56:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBP-000577-UD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9o-0003PU-J7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9o-0003PU-J7@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:12 +0000
Subject: [Xen-changelog] [xen master] x86/shadow: remove a few 32-bit
	hypervisor leftovers
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a57a83ef71ba1bf81fe97e35ca302e6a7949649
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Feb 9 13:24:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Feb 9 13:24:23 2016 +0100

    x86/shadow: remove a few 32-bit hypervisor leftovers
    
    ... related to 8-byte cmpxchg having required special precautions
    there.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/shadow/common.c | 34 ++++++++++++++--------------------
 xen/arch/x86/mm/shadow/types.h  |  1 -
 2 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index f3f49e0..2270838 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -259,10 +259,10 @@ hvm_emulate_cmpxchg(enum x86_segment seg,
     struct sh_emulate_ctxt *sh_ctxt =
         container_of(ctxt, struct sh_emulate_ctxt, ctxt);
     struct vcpu *v = current;
-    unsigned long addr, old[2], new[2];
+    unsigned long addr, old, new;
     int rc;
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) || bytes > sizeof(long) )
         return X86EMUL_UNHANDLEABLE;
 
     rc = hvm_translate_linear_addr(
@@ -270,15 +270,12 @@ hvm_emulate_cmpxchg(enum x86_segment seg,
     if ( rc )
         return rc;
 
-    old[0] = new[0] = 0;
-    memcpy(old, p_old, bytes);
-    memcpy(new, p_new, bytes);
-
-    if ( bytes <= sizeof(long) )
-        return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
-            v, addr, old[0], new[0], bytes, sh_ctxt);
+    old = new = 0;
+    memcpy(&old, p_old, bytes);
+    memcpy(&new, p_new, bytes);
 
-    return X86EMUL_UNHANDLEABLE;
+    return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
+               v, addr, old, new, bytes, sh_ctxt);
 }
 
 static const struct x86_emulate_ops hvm_shadow_emulator_ops = {
@@ -335,21 +332,18 @@ pv_emulate_cmpxchg(enum x86_segment seg,
 {
     struct sh_emulate_ctxt *sh_ctxt =
         container_of(ctxt, struct sh_emulate_ctxt, ctxt);
-    unsigned long old[2], new[2];
+    unsigned long old, new;
     struct vcpu *v = current;
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) || bytes > sizeof(long) )
         return X86EMUL_UNHANDLEABLE;
 
-    old[0] = new[0] = 0;
-    memcpy(old, p_old, bytes);
-    memcpy(new, p_new, bytes);
-
-    if ( bytes <= sizeof(long) )
-        return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
-            v, offset, old[0], new[0], bytes, sh_ctxt);
+    old = new = 0;
+    memcpy(&old, p_old, bytes);
+    memcpy(&new, p_new, bytes);
 
-    return X86EMUL_UNHANDLEABLE;
+    return v->arch.paging.mode->shadow.x86_emulate_cmpxchg(
+               v, offset, old, new, bytes, sh_ctxt);
 }
 
 static const struct x86_emulate_ops pv_shadow_emulator_ops = {
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 6b9959d..503243f 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -247,7 +247,6 @@ static inline shadow_l4e_t shadow_l4e_from_mfn(mfn_t mfn, u32 flags)
 #define sh_detach_old_tables       INTERNAL_NAME(sh_detach_old_tables)
 #define sh_x86_emulate_write       INTERNAL_NAME(sh_x86_emulate_write)
 #define sh_x86_emulate_cmpxchg     INTERNAL_NAME(sh_x86_emulate_cmpxchg)
-#define sh_x86_emulate_cmpxchg8b   INTERNAL_NAME(sh_x86_emulate_cmpxchg8b)
 #define sh_audit_l1_table          INTERNAL_NAME(sh_audit_l1_table)
 #define sh_audit_fl1_table         INTERNAL_NAME(sh_audit_fl1_table)
 #define sh_audit_l2_table          INTERNAL_NAME(sh_audit_l2_table)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxA3-0000gD-55; Sun, 14 Feb 2016 13:56:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxA1-0000fw-R8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:26 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	6E/6B-24375-98780C65; Sun, 14 Feb 2016 13:56:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458183!14792791!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19083 invoked from network); 14 Feb 2016 13:56:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBa-00057l-7q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9y-0003Py-TF
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9y-0003Py-TF@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:22 +0000
Subject: [Xen-changelog] [xen master] x86/altp2m: merge
	p2m_set_altp2m_mem_access and p2m_set_mem_access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc8080fe7fba71b8c44c230ca0d0d1ae4467e690
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Wed Feb 10 14:46:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:46:09 2016 +0100

    x86/altp2m: merge p2m_set_altp2m_mem_access and p2m_set_mem_access
    
    The altp2m subsystem in its current form duplicates much of the existing
    code present in p2m for setting mem_access permissions. In this patch we
    consolidate the two versions but keep the separate MEMOP and HVMOP interfaces.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Ian Campbell <    ian.campbell@citrix.com    >
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/arch/arm/p2m.c           |   9 +--
 xen/arch/x86/hvm/hvm.c       |   6 +-
 xen/arch/x86/mm/p2m.c        | 168 +++++++++++++++++++------------------------
 xen/common/mem_access.c      |   2 +-
 xen/include/asm-x86/p2m.h    |   4 --
 xen/include/xen/p2m-common.h |   3 +-
 6 files changed, 86 insertions(+), 106 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index e8e6db4..a2a9c4b 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1711,13 +1711,13 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
     if ( npfec.write_access && xma == XENMEM_access_rx2rw )
     {
         rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                0, ~0, XENMEM_access_rw);
+                                0, ~0, XENMEM_access_rw, 0);
         return false;
     }
     else if ( xma == XENMEM_access_n2rwx )
     {
         rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                0, ~0, XENMEM_access_rwx);
+                                0, ~0, XENMEM_access_rwx, 0);
     }
 
     /* Otherwise, check if there is a vm_event monitor subscriber */
@@ -1739,7 +1739,7 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
                 /* A listener is not required, so clear the access
                  * restrictions. */
                 rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                        0, ~0, XENMEM_access_rwx);
+                                        0, ~0, XENMEM_access_rwx, 0);
             }
         }
 
@@ -1790,7 +1790,8 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access)
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     p2m_access_t a;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 930d0e3..fe382ce 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -6460,9 +6460,9 @@ static int do_altp2m_op(
         if ( a.u.set_mem_access.pad )
             rc = -EINVAL;
         else
-            rc = p2m_set_altp2m_mem_access(d, a.u.set_mem_access.view,
-                    _gfn(a.u.set_mem_access.gfn),
-                    a.u.set_mem_access.hvmmem_access);
+            rc = p2m_set_mem_access(d, _gfn(a.u.set_mem_access.gfn), 1, 0, 0,
+                                    a.u.set_mem_access.hvmmem_access,
+                                    a.u.set_mem_access.view);
         break;
 
     case HVMOP_altp2m_change_gfn:
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 47e7fad..1b43853 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1743,14 +1743,56 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
     return (p2ma == p2m_access_n2rwx);
 }
 
+static inline
+int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
+                              struct p2m_domain *ap2m, p2m_access_t a,
+                              gfn_t gfn)
+{
+    mfn_t mfn;
+    p2m_type_t t;
+    p2m_access_t old_a;
+    unsigned int page_order;
+    unsigned long gfn_l = gfn_x(gfn);
+    int rc;
+
+    mfn = ap2m->get_entry(ap2m, gfn_l, &t, &old_a, 0, NULL, NULL);
+
+    /* Check host p2m if no valid entry in alternate */
+    if ( !mfn_valid(mfn) )
+    {
+        mfn = hp2m->get_entry(hp2m, gfn_l, &t, &old_a,
+                              P2M_ALLOC | P2M_UNSHARE, &page_order, NULL);
+
+        rc = -ESRCH;
+        if ( !mfn_valid(mfn) || t != p2m_ram_rw )
+            return rc;
+
+        /* If this is a superpage, copy that first */
+        if ( page_order != PAGE_ORDER_4K )
+        {
+            unsigned long mask = ~((1UL << page_order) - 1);
+            unsigned long gfn2_l = gfn_l & mask;
+            mfn_t mfn2 = _mfn(mfn_x(mfn) & mask);
+
+            rc = ap2m->set_entry(ap2m, gfn2_l, mfn2, page_order, t, old_a, 1);
+            if ( rc )
+                return rc;
+        }
+    }
+
+    return ap2m->set_entry(ap2m, gfn_l, mfn, PAGE_ORDER_4K, t, a,
+                         (current->domain != d));
+}
+
 /*
  * Set access type for a region of gfns.
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access)
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx)
 {
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    struct p2m_domain *p2m = p2m_get_hostp2m(d), *ap2m = NULL;
     p2m_access_t a, _a;
     p2m_type_t t;
     mfn_t mfn;
@@ -1772,6 +1814,16 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
 #undef ACCESS
     };
 
+    /* altp2m view 0 is treated as the hostp2m */
+    if ( altp2m_idx )
+    {
+        if ( altp2m_idx >= MAX_ALTP2M ||
+             d->arch.altp2m_eptp[altp2m_idx] == INVALID_MFN )
+            return -EINVAL;
+
+        ap2m = d->arch.altp2m_p2m[altp2m_idx];
+    }
+
     switch ( access )
     {
     case 0 ... ARRAY_SIZE(memaccess) - 1:
@@ -1792,12 +1844,25 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
     }
 
     p2m_lock(p2m);
+    if ( ap2m )
+        p2m_lock(ap2m);
+
     for ( gfn_l = gfn_x(gfn) + start; nr > start; ++gfn_l )
     {
-        mfn = p2m->get_entry(p2m, gfn_l, &t, &_a, 0, NULL, NULL);
-        rc = p2m->set_entry(p2m, gfn_l, mfn, PAGE_ORDER_4K, t, a, -1);
-        if ( rc )
-            break;
+        if ( ap2m )
+        {
+            rc = p2m_set_altp2m_mem_access(d, p2m, ap2m, a, _gfn(gfn_l));
+            /* If the corresponding mfn is invalid we will just skip it */
+            if ( rc && rc != -ESRCH )
+                break;
+        }
+        else
+        {
+            mfn = p2m->get_entry(p2m, gfn_l, &t, &_a, 0, NULL, NULL);
+            rc = p2m->set_entry(p2m, gfn_l, mfn, PAGE_ORDER_4K, t, a, -1);
+            if ( rc )
+                break;
+        }
 
         /* Check for continuation if it's not the last iteration. */
         if ( nr > ++start && !(start & mask) && hypercall_preempt_check() )
@@ -1806,7 +1871,11 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
             break;
         }
     }
+
+    if ( ap2m )
+        p2m_unlock(ap2m);
     p2m_unlock(p2m);
+
     return rc;
 }
 
@@ -2361,93 +2430,6 @@ int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
     return rc;
 }
 
-int p2m_set_altp2m_mem_access(struct domain *d, unsigned int idx,
-                              gfn_t gfn, xenmem_access_t access)
-{
-    struct p2m_domain *hp2m, *ap2m;
-    p2m_access_t req_a, old_a;
-    p2m_type_t t;
-    mfn_t mfn;
-    unsigned int page_order;
-    int rc = -EINVAL;
-
-    static const p2m_access_t memaccess[] = {
-#define ACCESS(ac) [XENMEM_access_##ac] = p2m_access_##ac
-        ACCESS(n),
-        ACCESS(r),
-        ACCESS(w),
-        ACCESS(rw),
-        ACCESS(x),
-        ACCESS(rx),
-        ACCESS(wx),
-        ACCESS(rwx),
-#undef ACCESS
-    };
-
-    if ( idx >= MAX_ALTP2M || d->arch.altp2m_eptp[idx] == INVALID_MFN )
-        return rc;
-
-    ap2m = d->arch.altp2m_p2m[idx];
-
-    switch ( access )
-    {
-    case 0 ... ARRAY_SIZE(memaccess) - 1:
-        req_a = memaccess[access];
-        break;
-    case XENMEM_access_default:
-        req_a = ap2m->default_access;
-        break;
-    default:
-        return rc;
-    }
-
-    /* If request to set default access */
-    if ( gfn_x(gfn) == INVALID_GFN )
-    {
-        ap2m->default_access = req_a;
-        return 0;
-    }
-
-    hp2m = p2m_get_hostp2m(d);
-
-    p2m_lock(ap2m);
-
-    mfn = ap2m->get_entry(ap2m, gfn_x(gfn), &t, &old_a, 0, NULL, NULL);
-
-    /* Check host p2m if no valid entry in alternate */
-    if ( !mfn_valid(mfn) )
-    {
-        mfn = hp2m->get_entry(hp2m, gfn_x(gfn), &t, &old_a,
-                              P2M_ALLOC | P2M_UNSHARE, &page_order, NULL);
-
-        if ( !mfn_valid(mfn) || t != p2m_ram_rw )
-            goto out;
-
-        /* If this is a superpage, copy that first */
-        if ( page_order != PAGE_ORDER_4K )
-        {
-            gfn_t gfn2;
-            unsigned long mask;
-            mfn_t mfn2;
-
-            mask = ~((1UL << page_order) - 1);
-            gfn2 = _gfn(gfn_x(gfn) & mask);
-            mfn2 = _mfn(mfn_x(mfn) & mask);
-
-            if ( ap2m->set_entry(ap2m, gfn_x(gfn2), mfn2, page_order, t, old_a, 1) )
-                goto out;
-        }
-    }
-
-    if ( !ap2m->set_entry(ap2m, gfn_x(gfn), mfn, PAGE_ORDER_4K, t, req_a,
-                          (current->domain != d)) )
-        rc = 0;
-
- out:
-    p2m_unlock(ap2m);
-    return rc;
-}
-
 int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
                           gfn_t old_gfn, gfn_t new_gfn)
 {
diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
index 159c036..92ebead 100644
--- a/xen/common/mem_access.c
+++ b/xen/common/mem_access.c
@@ -67,7 +67,7 @@ int mem_access_memop(unsigned long cmd,
             break;
 
         rc = p2m_set_mem_access(d, _gfn(mao.pfn), mao.nr, start_iter,
-                                MEMOP_CMD_MASK, mao.access);
+                                MEMOP_CMD_MASK, mao.access, 0);
         if ( rc > 0 )
         {
             ASSERT(!(rc & MEMOP_CMD_MASK));
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index fa46dd9..c0df1ea 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -808,10 +808,6 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx);
 /* Switch alternate p2m for entire domain */
 int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx);
 
-/* Set access type for a gfn */
-int p2m_set_altp2m_mem_access(struct domain *d, unsigned int idx,
-                              gfn_t gfn, xenmem_access_t access);
-
 /* Change a gfn->mfn mapping */
 int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
                           gfn_t old_gfn, gfn_t new_gfn);
diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
index 47c40c7..8b70459 100644
--- a/xen/include/xen/p2m-common.h
+++ b/xen/include/xen/p2m-common.h
@@ -49,7 +49,8 @@ int unmap_mmio_regions(struct domain *d,
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access);
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx);
 
 /*
  * Get access type for a gfn.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxA3-0000gD-55; Sun, 14 Feb 2016 13:56:27 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxA1-0000fw-R8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:26 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	6E/6B-24375-98780C65; Sun, 14 Feb 2016 13:56:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458183!14792791!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19083 invoked from network); 14 Feb 2016 13:56:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBa-00057l-7q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUx9y-0003Py-TF
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUx9y-0003Py-TF@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:22 +0000
Subject: [Xen-changelog] [xen master] x86/altp2m: merge
	p2m_set_altp2m_mem_access and p2m_set_mem_access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc8080fe7fba71b8c44c230ca0d0d1ae4467e690
Author:     Tamas K Lengyel <tlengyel@novetta.com>
AuthorDate: Wed Feb 10 14:46:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:46:09 2016 +0100

    x86/altp2m: merge p2m_set_altp2m_mem_access and p2m_set_mem_access
    
    The altp2m subsystem in its current form duplicates much of the existing
    code present in p2m for setting mem_access permissions. In this patch we
    consolidate the two versions but keep the separate MEMOP and HVMOP interfaces.
    
    Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Ian Campbell <    ian.campbell@citrix.com    >
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/arch/arm/p2m.c           |   9 +--
 xen/arch/x86/hvm/hvm.c       |   6 +-
 xen/arch/x86/mm/p2m.c        | 168 +++++++++++++++++++------------------------
 xen/common/mem_access.c      |   2 +-
 xen/include/asm-x86/p2m.h    |   4 --
 xen/include/xen/p2m-common.h |   3 +-
 6 files changed, 86 insertions(+), 106 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index e8e6db4..a2a9c4b 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1711,13 +1711,13 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
     if ( npfec.write_access && xma == XENMEM_access_rx2rw )
     {
         rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                0, ~0, XENMEM_access_rw);
+                                0, ~0, XENMEM_access_rw, 0);
         return false;
     }
     else if ( xma == XENMEM_access_n2rwx )
     {
         rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                0, ~0, XENMEM_access_rwx);
+                                0, ~0, XENMEM_access_rwx, 0);
     }
 
     /* Otherwise, check if there is a vm_event monitor subscriber */
@@ -1739,7 +1739,7 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
                 /* A listener is not required, so clear the access
                  * restrictions. */
                 rc = p2m_set_mem_access(v->domain, _gfn(paddr_to_pfn(gpa)), 1,
-                                        0, ~0, XENMEM_access_rwx);
+                                        0, ~0, XENMEM_access_rwx, 0);
             }
         }
 
@@ -1790,7 +1790,8 @@ bool_t p2m_mem_access_check(paddr_t gpa, vaddr_t gla, const struct npfec npfec)
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access)
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     p2m_access_t a;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 930d0e3..fe382ce 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -6460,9 +6460,9 @@ static int do_altp2m_op(
         if ( a.u.set_mem_access.pad )
             rc = -EINVAL;
         else
-            rc = p2m_set_altp2m_mem_access(d, a.u.set_mem_access.view,
-                    _gfn(a.u.set_mem_access.gfn),
-                    a.u.set_mem_access.hvmmem_access);
+            rc = p2m_set_mem_access(d, _gfn(a.u.set_mem_access.gfn), 1, 0, 0,
+                                    a.u.set_mem_access.hvmmem_access,
+                                    a.u.set_mem_access.view);
         break;
 
     case HVMOP_altp2m_change_gfn:
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 47e7fad..1b43853 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1743,14 +1743,56 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
     return (p2ma == p2m_access_n2rwx);
 }
 
+static inline
+int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
+                              struct p2m_domain *ap2m, p2m_access_t a,
+                              gfn_t gfn)
+{
+    mfn_t mfn;
+    p2m_type_t t;
+    p2m_access_t old_a;
+    unsigned int page_order;
+    unsigned long gfn_l = gfn_x(gfn);
+    int rc;
+
+    mfn = ap2m->get_entry(ap2m, gfn_l, &t, &old_a, 0, NULL, NULL);
+
+    /* Check host p2m if no valid entry in alternate */
+    if ( !mfn_valid(mfn) )
+    {
+        mfn = hp2m->get_entry(hp2m, gfn_l, &t, &old_a,
+                              P2M_ALLOC | P2M_UNSHARE, &page_order, NULL);
+
+        rc = -ESRCH;
+        if ( !mfn_valid(mfn) || t != p2m_ram_rw )
+            return rc;
+
+        /* If this is a superpage, copy that first */
+        if ( page_order != PAGE_ORDER_4K )
+        {
+            unsigned long mask = ~((1UL << page_order) - 1);
+            unsigned long gfn2_l = gfn_l & mask;
+            mfn_t mfn2 = _mfn(mfn_x(mfn) & mask);
+
+            rc = ap2m->set_entry(ap2m, gfn2_l, mfn2, page_order, t, old_a, 1);
+            if ( rc )
+                return rc;
+        }
+    }
+
+    return ap2m->set_entry(ap2m, gfn_l, mfn, PAGE_ORDER_4K, t, a,
+                         (current->domain != d));
+}
+
 /*
  * Set access type for a region of gfns.
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access)
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx)
 {
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    struct p2m_domain *p2m = p2m_get_hostp2m(d), *ap2m = NULL;
     p2m_access_t a, _a;
     p2m_type_t t;
     mfn_t mfn;
@@ -1772,6 +1814,16 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
 #undef ACCESS
     };
 
+    /* altp2m view 0 is treated as the hostp2m */
+    if ( altp2m_idx )
+    {
+        if ( altp2m_idx >= MAX_ALTP2M ||
+             d->arch.altp2m_eptp[altp2m_idx] == INVALID_MFN )
+            return -EINVAL;
+
+        ap2m = d->arch.altp2m_p2m[altp2m_idx];
+    }
+
     switch ( access )
     {
     case 0 ... ARRAY_SIZE(memaccess) - 1:
@@ -1792,12 +1844,25 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
     }
 
     p2m_lock(p2m);
+    if ( ap2m )
+        p2m_lock(ap2m);
+
     for ( gfn_l = gfn_x(gfn) + start; nr > start; ++gfn_l )
     {
-        mfn = p2m->get_entry(p2m, gfn_l, &t, &_a, 0, NULL, NULL);
-        rc = p2m->set_entry(p2m, gfn_l, mfn, PAGE_ORDER_4K, t, a, -1);
-        if ( rc )
-            break;
+        if ( ap2m )
+        {
+            rc = p2m_set_altp2m_mem_access(d, p2m, ap2m, a, _gfn(gfn_l));
+            /* If the corresponding mfn is invalid we will just skip it */
+            if ( rc && rc != -ESRCH )
+                break;
+        }
+        else
+        {
+            mfn = p2m->get_entry(p2m, gfn_l, &t, &_a, 0, NULL, NULL);
+            rc = p2m->set_entry(p2m, gfn_l, mfn, PAGE_ORDER_4K, t, a, -1);
+            if ( rc )
+                break;
+        }
 
         /* Check for continuation if it's not the last iteration. */
         if ( nr > ++start && !(start & mask) && hypercall_preempt_check() )
@@ -1806,7 +1871,11 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
             break;
         }
     }
+
+    if ( ap2m )
+        p2m_unlock(ap2m);
     p2m_unlock(p2m);
+
     return rc;
 }
 
@@ -2361,93 +2430,6 @@ int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
     return rc;
 }
 
-int p2m_set_altp2m_mem_access(struct domain *d, unsigned int idx,
-                              gfn_t gfn, xenmem_access_t access)
-{
-    struct p2m_domain *hp2m, *ap2m;
-    p2m_access_t req_a, old_a;
-    p2m_type_t t;
-    mfn_t mfn;
-    unsigned int page_order;
-    int rc = -EINVAL;
-
-    static const p2m_access_t memaccess[] = {
-#define ACCESS(ac) [XENMEM_access_##ac] = p2m_access_##ac
-        ACCESS(n),
-        ACCESS(r),
-        ACCESS(w),
-        ACCESS(rw),
-        ACCESS(x),
-        ACCESS(rx),
-        ACCESS(wx),
-        ACCESS(rwx),
-#undef ACCESS
-    };
-
-    if ( idx >= MAX_ALTP2M || d->arch.altp2m_eptp[idx] == INVALID_MFN )
-        return rc;
-
-    ap2m = d->arch.altp2m_p2m[idx];
-
-    switch ( access )
-    {
-    case 0 ... ARRAY_SIZE(memaccess) - 1:
-        req_a = memaccess[access];
-        break;
-    case XENMEM_access_default:
-        req_a = ap2m->default_access;
-        break;
-    default:
-        return rc;
-    }
-
-    /* If request to set default access */
-    if ( gfn_x(gfn) == INVALID_GFN )
-    {
-        ap2m->default_access = req_a;
-        return 0;
-    }
-
-    hp2m = p2m_get_hostp2m(d);
-
-    p2m_lock(ap2m);
-
-    mfn = ap2m->get_entry(ap2m, gfn_x(gfn), &t, &old_a, 0, NULL, NULL);
-
-    /* Check host p2m if no valid entry in alternate */
-    if ( !mfn_valid(mfn) )
-    {
-        mfn = hp2m->get_entry(hp2m, gfn_x(gfn), &t, &old_a,
-                              P2M_ALLOC | P2M_UNSHARE, &page_order, NULL);
-
-        if ( !mfn_valid(mfn) || t != p2m_ram_rw )
-            goto out;
-
-        /* If this is a superpage, copy that first */
-        if ( page_order != PAGE_ORDER_4K )
-        {
-            gfn_t gfn2;
-            unsigned long mask;
-            mfn_t mfn2;
-
-            mask = ~((1UL << page_order) - 1);
-            gfn2 = _gfn(gfn_x(gfn) & mask);
-            mfn2 = _mfn(mfn_x(mfn) & mask);
-
-            if ( ap2m->set_entry(ap2m, gfn_x(gfn2), mfn2, page_order, t, old_a, 1) )
-                goto out;
-        }
-    }
-
-    if ( !ap2m->set_entry(ap2m, gfn_x(gfn), mfn, PAGE_ORDER_4K, t, req_a,
-                          (current->domain != d)) )
-        rc = 0;
-
- out:
-    p2m_unlock(ap2m);
-    return rc;
-}
-
 int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
                           gfn_t old_gfn, gfn_t new_gfn)
 {
diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
index 159c036..92ebead 100644
--- a/xen/common/mem_access.c
+++ b/xen/common/mem_access.c
@@ -67,7 +67,7 @@ int mem_access_memop(unsigned long cmd,
             break;
 
         rc = p2m_set_mem_access(d, _gfn(mao.pfn), mao.nr, start_iter,
-                                MEMOP_CMD_MASK, mao.access);
+                                MEMOP_CMD_MASK, mao.access, 0);
         if ( rc > 0 )
         {
             ASSERT(!(rc & MEMOP_CMD_MASK));
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index fa46dd9..c0df1ea 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -808,10 +808,6 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx);
 /* Switch alternate p2m for entire domain */
 int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx);
 
-/* Set access type for a gfn */
-int p2m_set_altp2m_mem_access(struct domain *d, unsigned int idx,
-                              gfn_t gfn, xenmem_access_t access);
-
 /* Change a gfn->mfn mapping */
 int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
                           gfn_t old_gfn, gfn_t new_gfn);
diff --git a/xen/include/xen/p2m-common.h b/xen/include/xen/p2m-common.h
index 47c40c7..8b70459 100644
--- a/xen/include/xen/p2m-common.h
+++ b/xen/include/xen/p2m-common.h
@@ -49,7 +49,8 @@ int unmap_mmio_regions(struct domain *d,
  * If gfn == INVALID_GFN, sets the default access type.
  */
 long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
-                        uint32_t start, uint32_t mask, xenmem_access_t access);
+                        uint32_t start, uint32_t mask, xenmem_access_t access,
+                        unsigned int altp2m_idx);
 
 /*
  * Get access type for a gfn.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAD-0000hm-AD; Sun, 14 Feb 2016 13:56:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAB-0000hV-Tt
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:36 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	3C/0B-09478-39780C65; Sun, 14 Feb 2016 13:56:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455458193!22224204!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53337 invoked from network); 14 Feb 2016 13:56:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBk-00057t-He
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxA9-0003QT-66
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxA9-0003QT-66@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:33 +0000
Subject: [Xen-changelog] [xen master] hvmloader: fix scratch_alloc to avoid
	overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 10 14:46:45 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:46:45 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index d779fd7..9382709 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -478,7 +478,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAD-0000hm-AD; Sun, 14 Feb 2016 13:56:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAB-0000hV-Tt
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:36 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	3C/0B-09478-39780C65; Sun, 14 Feb 2016 13:56:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455458193!22224204!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53337 invoked from network); 14 Feb 2016 13:56:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBk-00057t-He
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxA9-0003QT-66
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxA9-0003QT-66@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:33 +0000
Subject: [Xen-changelog] [xen master] hvmloader: fix scratch_alloc to avoid
	overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 10 14:46:45 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:46:45 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index d779fd7..9382709 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -478,7 +478,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAN-0000jk-JM; Sun, 14 Feb 2016 13:56:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAM-0000jO-1m
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:46 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	BC/8B-24375-D9780C65; Sun, 14 Feb 2016 13:56:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458203!14792827!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19942 invoked from network); 14 Feb 2016 13:56:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBu-000584-TD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAJ-0003R7-Gn
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAJ-0003R7-Gn@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:43 +0000
Subject: [Xen-changelog] [xen master] fix XSM build following c/s 92942fd
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 21bc42de1e15aa40bbc4e576ece33375f38efd8d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:47:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:47:01 2016 +0100

    fix XSM build following c/s 92942fd
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/xsm/flask/hooks.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 9b7de30..f63c3e2 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1421,7 +1421,6 @@ static int flask_shadow_control(struct domain *d, uint32_t op)
         break;
     case XEN_DOMCTL_SHADOW_OP_ENABLE:
     case XEN_DOMCTL_SHADOW_OP_ENABLE_TEST:
-    case XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE:
     case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
     case XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION:
         perm = SHADOW__ENABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAN-0000jk-JM; Sun, 14 Feb 2016 13:56:47 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAM-0000jO-1m
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:46 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	BC/8B-24375-D9780C65; Sun, 14 Feb 2016 13:56:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458203!14792827!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19942 invoked from network); 14 Feb 2016 13:56:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBu-000584-TD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAJ-0003R7-Gn
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAJ-0003R7-Gn@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:43 +0000
Subject: [Xen-changelog] [xen master] fix XSM build following c/s 92942fd
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 21bc42de1e15aa40bbc4e576ece33375f38efd8d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:47:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:47:01 2016 +0100

    fix XSM build following c/s 92942fd
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/xsm/flask/hooks.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 9b7de30..f63c3e2 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1421,7 +1421,6 @@ static int flask_shadow_control(struct domain *d, uint32_t op)
         break;
     case XEN_DOMCTL_SHADOW_OP_ENABLE:
     case XEN_DOMCTL_SHADOW_OP_ENABLE_TEST:
-    case XEN_DOMCTL_SHADOW_OP_ENABLE_TRANSLATE:
     case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
     case XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION:
         perm = SHADOW__ENABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAX-0000lp-SC; Sun, 14 Feb 2016 13:56:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAW-0000le-K5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:56 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	65/0B-21901-7A780C65; Sun, 14 Feb 2016 13:56:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455458214!21998382!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3108 invoked from network); 14 Feb 2016 13:56:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC5-00058D-9X
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAT-0003Rx-Tr
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:53 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAT-0003Rx-Tr@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:53 +0000
Subject: [Xen-changelog] [xen master] xen/lib.h: fix ASSERT() to build with
	clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 70cbc38d774af77b6a05ffb2d8fb7e0a38025378
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:48:36 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:48:36 2016 +0100

    xen/lib.h: fix ASSERT() to build with clang
    
    Clang warns about a semicolon immediately following an if() clause as a
    possible mistake, and recommends putting the semicolon on a new line if it was
    intentional.  A newline is not an option here, so use a set of empty braces
    instead.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/lib.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 4258912..1c652bb 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -32,7 +32,7 @@
 #define ASSERT_UNREACHABLE() assert_failed("unreachable")
 #define debug_build() 1
 #else
-#define ASSERT(p) do { if ( 0 && (p) ); } while (0)
+#define ASSERT(p) do { if ( 0 && (p) ) {} } while (0)
 #define ASSERT_UNREACHABLE() do { } while (0)
 #define debug_build() 0
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:56:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAX-0000lp-SC; Sun, 14 Feb 2016 13:56:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAW-0000le-K5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:56 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	65/0B-21901-7A780C65; Sun, 14 Feb 2016 13:56:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455458214!21998382!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3108 invoked from network); 14 Feb 2016 13:56:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:56:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC5-00058D-9X
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAT-0003Rx-Tr
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:56:53 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAT-0003Rx-Tr@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:56:53 +0000
Subject: [Xen-changelog] [xen master] xen/lib.h: fix ASSERT() to build with
	clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 70cbc38d774af77b6a05ffb2d8fb7e0a38025378
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:48:36 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:48:36 2016 +0100

    xen/lib.h: fix ASSERT() to build with clang
    
    Clang warns about a semicolon immediately following an if() clause as a
    possible mistake, and recommends putting the semicolon on a new line if it was
    intentional.  A newline is not an option here, so use a set of empty braces
    instead.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/lib.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 4258912..1c652bb 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -32,7 +32,7 @@
 #define ASSERT_UNREACHABLE() assert_failed("unreachable")
 #define debug_build() 1
 #else
-#define ASSERT(p) do { if ( 0 && (p) ); } while (0)
+#define ASSERT(p) do { if ( 0 && (p) ) {} } while (0)
 #define ASSERT_UNREACHABLE() do { } while (0)
 #define debug_build() 0
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAi-0000nO-25; Sun, 14 Feb 2016 13:57:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAg-0000nE-R4
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:06 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	D8/26-17089-2B780C65; Sun, 14 Feb 2016 13:57:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458224!22257413!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48252 invoked from network); 14 Feb 2016 13:57:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCF-00058L-LR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAe-0003TD-9s
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAe-0003TD-9s@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:04 +0000
Subject: [Xen-changelog] [xen master] remove or annotate possibly-unused
	functions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e49cce6e514edab788160c3664dea97a03b266eb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:49:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:49:06 2016 +0100

    remove or annotate possibly-unused functions
    
    Clang notices more unused functions than GCC.
    
     * sh_next_page() is only used at GUEST_PAGING_LEVELS=2, so remove it from the
       other guest level translation units
     * rcu_batch_after() is completely unused.
     * Various of the COMPAT() generated functions are used only for their
       BUILD_BUG_ON() properties.  Annotate them all as __maybe_used.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm/shadow/multi.c |  2 ++
 xen/common/rcupdate.c          |  6 ------
 xen/include/xen/compat.h       | 14 ++++++++------
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 4d0b317..aaf8db7 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -436,6 +436,7 @@ sh_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t *old,
  * space.)
  */
 
+#if GUEST_PAGING_LEVELS == 2
 /* From one page of a multi-page shadow, find the next one */
 static inline mfn_t sh_next_page(mfn_t smfn)
 {
@@ -454,6 +455,7 @@ static inline mfn_t sh_next_page(mfn_t smfn)
     ASSERT(!next->u.sh.head);
     return page_to_mfn(next);
 }
+#endif
 
 static inline u32
 guest_index(void *ptr)
diff --git a/xen/common/rcupdate.c b/xen/common/rcupdate.c
index f13b87b..8cc5a82 100644
--- a/xen/common/rcupdate.c
+++ b/xen/common/rcupdate.c
@@ -141,12 +141,6 @@ static inline int rcu_batch_before(long a, long b)
     return (a - b) < 0;
 }
 
-/* Is batch a after batch b ? */
-static inline int rcu_batch_after(long a, long b)
-{
-    return (a - b) > 0;
-}
-
 static void force_quiescent_state(struct rcu_data *rdp,
                                   struct rcu_ctrlblk *rcp)
 {
diff --git a/xen/include/xen/compat.h b/xen/include/xen/compat.h
index e5c23e2..3f4cef6 100644
--- a/xen/include/xen/compat.h
+++ b/xen/include/xen/compat.h
@@ -134,14 +134,16 @@
 #define CHECK_NAME_(k, n, tag) __check ## tag ## k ## _ ## n
 
 #define CHECK_TYPE(name) \
-static inline int CHECK_NAME(name, T)(xen_ ## name ## _t *x, \
-                                      compat_ ## name ## _t *c) \
+static inline int __maybe_unused \
+CHECK_NAME(name, T)(xen_ ## name ## _t *x, \
+                    compat_ ## name ## _t *c) \
 { \
     return x == c; \
 }
 #define CHECK_TYPE_(k, n) \
-static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
-                                       k compat_ ## n *c) \
+static inline int __maybe_unused \
+CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
+                     k compat_ ## n *c) \
 { \
     return x == c; \
 }
@@ -154,14 +156,14 @@ static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
                                           sizeof(k compat_ ## n)) * 2]
 
 #define CHECK_FIELD_COMMON(name, t, f) \
-static inline int name(xen_ ## t ## _t *x, compat_ ## t ## _t *c) \
+static inline int __maybe_unused name(xen_ ## t ## _t *x, compat_ ## t ## _t *c) \
 { \
     BUILD_BUG_ON(offsetof(xen_ ## t ## _t, f) != \
                  offsetof(compat_ ## t ## _t, f)); \
     return &x->f == &c->f; \
 }
 #define CHECK_FIELD_COMMON_(k, name, n, f) \
-static inline int name(k xen_ ## n *x, k compat_ ## n *c) \
+static inline int __maybe_unused name(k xen_ ## n *x, k compat_ ## n *c) \
 { \
     BUILD_BUG_ON(offsetof(k xen_ ## n, f) != \
                  offsetof(k compat_ ## n, f)); \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAi-0000nO-25; Sun, 14 Feb 2016 13:57:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAg-0000nE-R4
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:06 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	D8/26-17089-2B780C65; Sun, 14 Feb 2016 13:57:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458224!22257413!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48252 invoked from network); 14 Feb 2016 13:57:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCF-00058L-LR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAe-0003TD-9s
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAe-0003TD-9s@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:04 +0000
Subject: [Xen-changelog] [xen master] remove or annotate possibly-unused
	functions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e49cce6e514edab788160c3664dea97a03b266eb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:49:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:49:06 2016 +0100

    remove or annotate possibly-unused functions
    
    Clang notices more unused functions than GCC.
    
     * sh_next_page() is only used at GUEST_PAGING_LEVELS=2, so remove it from the
       other guest level translation units
     * rcu_batch_after() is completely unused.
     * Various of the COMPAT() generated functions are used only for their
       BUILD_BUG_ON() properties.  Annotate them all as __maybe_used.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm/shadow/multi.c |  2 ++
 xen/common/rcupdate.c          |  6 ------
 xen/include/xen/compat.h       | 14 ++++++++------
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 4d0b317..aaf8db7 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -436,6 +436,7 @@ sh_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t *old,
  * space.)
  */
 
+#if GUEST_PAGING_LEVELS == 2
 /* From one page of a multi-page shadow, find the next one */
 static inline mfn_t sh_next_page(mfn_t smfn)
 {
@@ -454,6 +455,7 @@ static inline mfn_t sh_next_page(mfn_t smfn)
     ASSERT(!next->u.sh.head);
     return page_to_mfn(next);
 }
+#endif
 
 static inline u32
 guest_index(void *ptr)
diff --git a/xen/common/rcupdate.c b/xen/common/rcupdate.c
index f13b87b..8cc5a82 100644
--- a/xen/common/rcupdate.c
+++ b/xen/common/rcupdate.c
@@ -141,12 +141,6 @@ static inline int rcu_batch_before(long a, long b)
     return (a - b) < 0;
 }
 
-/* Is batch a after batch b ? */
-static inline int rcu_batch_after(long a, long b)
-{
-    return (a - b) > 0;
-}
-
 static void force_quiescent_state(struct rcu_data *rdp,
                                   struct rcu_ctrlblk *rcp)
 {
diff --git a/xen/include/xen/compat.h b/xen/include/xen/compat.h
index e5c23e2..3f4cef6 100644
--- a/xen/include/xen/compat.h
+++ b/xen/include/xen/compat.h
@@ -134,14 +134,16 @@
 #define CHECK_NAME_(k, n, tag) __check ## tag ## k ## _ ## n
 
 #define CHECK_TYPE(name) \
-static inline int CHECK_NAME(name, T)(xen_ ## name ## _t *x, \
-                                      compat_ ## name ## _t *c) \
+static inline int __maybe_unused \
+CHECK_NAME(name, T)(xen_ ## name ## _t *x, \
+                    compat_ ## name ## _t *c) \
 { \
     return x == c; \
 }
 #define CHECK_TYPE_(k, n) \
-static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
-                                       k compat_ ## n *c) \
+static inline int __maybe_unused \
+CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
+                     k compat_ ## n *c) \
 { \
     return x == c; \
 }
@@ -154,14 +156,14 @@ static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, \
                                           sizeof(k compat_ ## n)) * 2]
 
 #define CHECK_FIELD_COMMON(name, t, f) \
-static inline int name(xen_ ## t ## _t *x, compat_ ## t ## _t *c) \
+static inline int __maybe_unused name(xen_ ## t ## _t *x, compat_ ## t ## _t *c) \
 { \
     BUILD_BUG_ON(offsetof(xen_ ## t ## _t, f) != \
                  offsetof(compat_ ## t ## _t, f)); \
     return &x->f == &c->f; \
 }
 #define CHECK_FIELD_COMMON_(k, name, n, f) \
-static inline int name(k xen_ ## n *x, k compat_ ## n *c) \
+static inline int __maybe_unused name(k xen_ ## n *x, k compat_ ## n *c) \
 { \
     BUILD_BUG_ON(offsetof(k xen_ ## n, f) != \
                  offsetof(k compat_ ## n, f)); \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAt-0000pK-6k; Sun, 14 Feb 2016 13:57:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAr-0000p5-EK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:17 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	49/74-07651-CB780C65; Sun, 14 Feb 2016 13:57:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455458235!2817734!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5694 invoked from network); 14 Feb 2016 13:57:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCQ-00059C-2K
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAo-0003Tc-Mu
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAo-0003Tc-Mu@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:14 +0000
Subject: [Xen-changelog] [xen master] x86: remove %z modifier from inline
	assembly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c86aa9a250ca0c87760b369f295f67ae01542fa9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:15 2016 +0100

    x86: remove %z modifier from inline assembly
    
    Clang doesn't support the %z modifier.  Replace both uses with an explicit l
    suffix, and cover the changes with BUILD_BUG_ON()s
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/xstate.c          | 3 ++-
 xen/include/asm-x86/spinlock.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index c5d17ff..4f2fb8e 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -353,11 +353,12 @@ void xrstor(struct vcpu *v, uint64_t mask)
     {
         switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
         {
+            BUILD_BUG_ON(sizeof(faults) != 4); /* Clang doesn't support %z in asm. */
 #define XRSTOR(pfx) \
         alternative_io("1: .byte " pfx "0x0f,0xae,0x2f\n" \
                        "3:\n" \
                        "   .section .fixup,\"ax\"\n" \
-                       "2: inc%z[faults] %[faults]\n" \
+                       "2: incl %[faults]\n" \
                        "   jmp 3b\n" \
                        "   .previous\n" \
                        _ASM_EXTABLE(1b, 2b), \
diff --git a/xen/include/asm-x86/spinlock.h b/xen/include/asm-x86/spinlock.h
index 70a85af..be72c0f 100644
--- a/xen/include/asm-x86/spinlock.h
+++ b/xen/include/asm-x86/spinlock.h
@@ -2,7 +2,8 @@
 #define __ASM_SPINLOCK_H
 
 #define _raw_read_unlock(l) \
-    asm volatile ( "lock; dec%z0 %0" : "+m" ((l)->lock) :: "memory" )
+    BUILD_BUG_ON(sizeof((l)->lock) != 4); /* Clang doesn't support %z in asm. */ \
+    asm volatile ( "lock; decl %0" : "+m" ((l)->lock) :: "memory" )
 
 /*
  * On x86 the only reordering is of reads with older writes.  In the
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxAt-0000pK-6k; Sun, 14 Feb 2016 13:57:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAr-0000p5-EK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:17 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	49/74-07651-CB780C65; Sun, 14 Feb 2016 13:57:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455458235!2817734!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5694 invoked from network); 14 Feb 2016 13:57:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCQ-00059C-2K
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAo-0003Tc-Mu
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAo-0003Tc-Mu@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:14 +0000
Subject: [Xen-changelog] [xen master] x86: remove %z modifier from inline
	assembly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c86aa9a250ca0c87760b369f295f67ae01542fa9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:15 2016 +0100

    x86: remove %z modifier from inline assembly
    
    Clang doesn't support the %z modifier.  Replace both uses with an explicit l
    suffix, and cover the changes with BUILD_BUG_ON()s
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/xstate.c          | 3 ++-
 xen/include/asm-x86/spinlock.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index c5d17ff..4f2fb8e 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -353,11 +353,12 @@ void xrstor(struct vcpu *v, uint64_t mask)
     {
         switch ( __builtin_expect(ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET], 8) )
         {
+            BUILD_BUG_ON(sizeof(faults) != 4); /* Clang doesn't support %z in asm. */
 #define XRSTOR(pfx) \
         alternative_io("1: .byte " pfx "0x0f,0xae,0x2f\n" \
                        "3:\n" \
                        "   .section .fixup,\"ax\"\n" \
-                       "2: inc%z[faults] %[faults]\n" \
+                       "2: incl %[faults]\n" \
                        "   jmp 3b\n" \
                        "   .previous\n" \
                        _ASM_EXTABLE(1b, 2b), \
diff --git a/xen/include/asm-x86/spinlock.h b/xen/include/asm-x86/spinlock.h
index 70a85af..be72c0f 100644
--- a/xen/include/asm-x86/spinlock.h
+++ b/xen/include/asm-x86/spinlock.h
@@ -2,7 +2,8 @@
 #define __ASM_SPINLOCK_H
 
 #define _raw_read_unlock(l) \
-    asm volatile ( "lock; dec%z0 %0" : "+m" ((l)->lock) :: "memory" )
+    BUILD_BUG_ON(sizeof((l)->lock) != 4); /* Clang doesn't support %z in asm. */ \
+    asm volatile ( "lock; decl %0" : "+m" ((l)->lock) :: "memory" )
 
 /*
  * On x86 the only reordering is of reads with older writes.  In the
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxB3-0000rY-C0; Sun, 14 Feb 2016 13:57:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB1-0000rC-U7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:28 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	B6/B9-12889-7C780C65; Sun, 14 Feb 2016 13:57:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455458245!15075948!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32323 invoked from network); 14 Feb 2016 13:57:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCa-00059m-Eb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAz-0003U4-2W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAz-0003U4-2W@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:25 +0000
Subject: [Xen-changelog] [xen master] x86: fix section type mismatch in mm.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0a97098e20d8fe334b76b37dd6fb0a358a6953c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:37 2016 +0100

    x86: fix section type mismatch in mm.c
    
    Clang doesn't like mixing const and non-const data in the same section.  Move
    zero_page into .bss.page_aligned.const and wildcard .bss.page_aligned when
    linking.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm.c      | 2 +-
 xen/arch/x86/xen.lds.S | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index d62d9ec..c214fc5 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -577,7 +577,7 @@ static inline void guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr,
     TOGGLE_MODE();
 }
 
-static const char __section(".bss.page_aligned") zero_page[PAGE_SIZE];
+static const char __section(".bss.page_aligned.const") zero_page[PAGE_SIZE];
 
 static void invalidate_shadow_ldt(struct vcpu *v, int flush)
 {
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index c1ce027..3b199ca 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -170,7 +170,7 @@ SECTIONS
        __bss_start = .;
        *(.bss.stack_aligned)
        . = ALIGN(PAGE_SIZE);
-       *(.bss.page_aligned)
+       *(.bss.page_aligned*)
        *(.bss)
        . = ALIGN(SMP_CACHE_BYTES);
        __per_cpu_start = .;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxB3-0000rY-C0; Sun, 14 Feb 2016 13:57:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB1-0000rC-U7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:28 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	B6/B9-12889-7C780C65; Sun, 14 Feb 2016 13:57:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455458245!15075948!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32323 invoked from network); 14 Feb 2016 13:57:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCa-00059m-Eb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxAz-0003U4-2W
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxAz-0003U4-2W@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:25 +0000
Subject: [Xen-changelog] [xen master] x86: fix section type mismatch in mm.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e0a97098e20d8fe334b76b37dd6fb0a358a6953c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:37 2016 +0100

    x86: fix section type mismatch in mm.c
    
    Clang doesn't like mixing const and non-const data in the same section.  Move
    zero_page into .bss.page_aligned.const and wildcard .bss.page_aligned when
    linking.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm.c      | 2 +-
 xen/arch/x86/xen.lds.S | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index d62d9ec..c214fc5 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -577,7 +577,7 @@ static inline void guest_get_eff_kern_l1e(struct vcpu *v, unsigned long addr,
     TOGGLE_MODE();
 }
 
-static const char __section(".bss.page_aligned") zero_page[PAGE_SIZE];
+static const char __section(".bss.page_aligned.const") zero_page[PAGE_SIZE];
 
 static void invalidate_shadow_ldt(struct vcpu *v, int flush)
 {
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index c1ce027..3b199ca 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -170,7 +170,7 @@ SECTIONS
        __bss_start = .;
        *(.bss.stack_aligned)
        . = ALIGN(PAGE_SIZE);
-       *(.bss.page_aligned)
+       *(.bss.page_aligned*)
        *(.bss)
        . = ALIGN(SMP_CACHE_BYTES);
        __per_cpu_start = .;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBD-0000t3-Gz; Sun, 14 Feb 2016 13:57:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBC-0000so-5c
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:38 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	18/F5-17090-1D780C65; Sun, 14 Feb 2016 13:57:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455458255!21971384!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23438 invoked from network); 14 Feb 2016 13:57:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCk-00059u-QL
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB9-0003UW-Es
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxB9-0003UW-Es@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:35 +0000
Subject: [Xen-changelog] [xen master] x86: improve annotation of
	autogen_entrypoints[]
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9fd8bbff561870ebe6258fdb0d66a0d5a28161eb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:59 2016 +0100

    x86: improve annotation of autogen_entrypoints[]
    
    Clang complains that the __used attribute is not applicable to an extern.  In
    this case, the only relevent attribute is that the data is constant.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e105b95..d19250a 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -3689,7 +3689,7 @@ void __init init_idt_traps(void)
     this_cpu(compat_gdt_table) = boot_cpu_compat_gdt_table;
 }
 
-extern void (*__initconst autogen_entrypoints[NR_VECTORS])(void);
+extern void (*const autogen_entrypoints[NR_VECTORS])(void);
 void __init trap_init(void)
 {
     unsigned int vector;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBD-0000t3-Gz; Sun, 14 Feb 2016 13:57:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBC-0000so-5c
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:38 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	18/F5-17090-1D780C65; Sun, 14 Feb 2016 13:57:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455458255!21971384!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23438 invoked from network); 14 Feb 2016 13:57:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCk-00059u-QL
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxB9-0003UW-Es
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxB9-0003UW-Es@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:35 +0000
Subject: [Xen-changelog] [xen master] x86: improve annotation of
	autogen_entrypoints[]
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9fd8bbff561870ebe6258fdb0d66a0d5a28161eb
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:50:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:50:59 2016 +0100

    x86: improve annotation of autogen_entrypoints[]
    
    Clang complains that the __used attribute is not applicable to an extern.  In
    this case, the only relevent attribute is that the data is constant.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e105b95..d19250a 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -3689,7 +3689,7 @@ void __init init_idt_traps(void)
     this_cpu(compat_gdt_table) = boot_cpu_compat_gdt_table;
 }
 
-extern void (*__initconst autogen_entrypoints[NR_VECTORS])(void);
+extern void (*const autogen_entrypoints[NR_VECTORS])(void);
 void __init trap_init(void)
 {
     unsigned int vector;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBN-0000ug-MN; Sun, 14 Feb 2016 13:57:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBM-0000uU-Nq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:48 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	99/BD-15991-BD780C65; Sun, 14 Feb 2016 13:57:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1455458266!22747118!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4173 invoked from network); 14 Feb 2016 13:57:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCv-0005A2-6V
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBJ-0003Uw-Qi
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBJ-0003Uw-Qi@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:45 +0000
Subject: [Xen-changelog] [xen master] x86: fix get_cpu_info() when built
	with clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c26b88bf644011396b4e4f6f15901a66b87d8c19
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:51:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:51:25 2016 +0100

    x86: fix get_cpu_info() when built with clang
    
    Clang understands the GCCism in use here, but still complains that sp is
    unintialised.  In such cases, resort to the older version of this code, which
    directly reads %rsp into the temporary variable.
    
    Note that we still keep the GCCism in the default case, as it causes GCC to
    create rather better assembly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/asm-x86/current.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/asm-x86/current.h b/xen/include/asm-x86/current.h
index f011d2d..15b99ff 100644
--- a/xen/include/asm-x86/current.h
+++ b/xen/include/asm-x86/current.h
@@ -47,7 +47,13 @@ struct cpu_info {
 
 static inline struct cpu_info *get_cpu_info(void)
 {
+#ifdef __clang__
+    /* Clang complains that sp in the else case is not initialised. */
+    unsigned long sp;
+    asm ( "mov %%rsp, %0" : "=r" (sp) );
+#else
     register unsigned long sp asm("rsp");
+#endif
 
     return (struct cpu_info *)((sp & ~(STACK_SIZE-1)) + STACK_SIZE) - 1;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBN-0000ug-MN; Sun, 14 Feb 2016 13:57:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBM-0000uU-Nq
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:48 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	99/BD-15991-BD780C65; Sun, 14 Feb 2016 13:57:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1455458266!22747118!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4173 invoked from network); 14 Feb 2016 13:57:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCv-0005A2-6V
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBJ-0003Uw-Qi
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBJ-0003Uw-Qi@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:45 +0000
Subject: [Xen-changelog] [xen master] x86: fix get_cpu_info() when built
	with clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c26b88bf644011396b4e4f6f15901a66b87d8c19
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 10 14:51:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 10 14:51:25 2016 +0100

    x86: fix get_cpu_info() when built with clang
    
    Clang understands the GCCism in use here, but still complains that sp is
    unintialised.  In such cases, resort to the older version of this code, which
    directly reads %rsp into the temporary variable.
    
    Note that we still keep the GCCism in the default case, as it causes GCC to
    create rather better assembly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/asm-x86/current.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/asm-x86/current.h b/xen/include/asm-x86/current.h
index f011d2d..15b99ff 100644
--- a/xen/include/asm-x86/current.h
+++ b/xen/include/asm-x86/current.h
@@ -47,7 +47,13 @@ struct cpu_info {
 
 static inline struct cpu_info *get_cpu_info(void)
 {
+#ifdef __clang__
+    /* Clang complains that sp in the else case is not initialised. */
+    unsigned long sp;
+    asm ( "mov %%rsp, %0" : "=r" (sp) );
+#else
     register unsigned long sp asm("rsp");
+#endif
 
     return (struct cpu_info *)((sp & ~(STACK_SIZE-1)) + STACK_SIZE) - 1;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBX-0000wQ-SY; Sun, 14 Feb 2016 13:57:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBW-0000wC-M2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:58 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	4B/78-21594-5E780C65; Sun, 14 Feb 2016 13:57:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1455458276!22268138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44910 invoked from network); 14 Feb 2016 13:57:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxD5-0005AB-HK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBU-0003VK-63
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBU-0003VK-63@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:56 +0000
Subject: [Xen-changelog] [xen master] public/io/netif.h: fix typos
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 77efb6604f344e9116beb6d393c3d10a877e1bb4
Author:     Paul Durrant <paul.durrant@citrix.com>
AuthorDate: Wed Feb 10 16:49:25 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:06:58 2016 +0000

    public/io/netif.h: fix typos
    
    Unfortunately my patch 162a81ab "document control ring and toeplitz
    hashing" contained a couple of typos. This patch fixes them.
    
    Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Jan Beulich <jbeulich@suse.com>
    Cc: Keir Fraser <keir@xen.org>
    Cc: Tim Deegan <tim@xen.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/include/public/io/netif.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/io/netif.h b/xen/include/public/io/netif.h
index 8816e0f..8d82625 100644
--- a/xen/include/public/io/netif.h
+++ b/xen/include/public/io/netif.h
@@ -234,7 +234,7 @@
  * Result = ToeplitzHash(Buffer, 32)
  */
 #define _NETIF_CTRL_TOEPLITZ_HASH_IPV6     2
-#define NETIF_CTRL_TOEPLITZ_HASH_IPV6      (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV4)
+#define NETIF_CTRL_TOEPLITZ_HASH_IPV6      (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV6)
 
 /*
  * A hash calculated over an IP version 6 header and TCP header as
@@ -248,7 +248,7 @@
  * Result = ToeplitzHash(Buffer, 36)
  */
 #define _NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP 3
-#define NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP  (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV4_TCP)
+#define NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP  (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP)
 
 /*
  * Control requests (netif_ctrl_request_t)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:57:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBX-0000wQ-SY; Sun, 14 Feb 2016 13:57:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBW-0000wC-M2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:58 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	4B/78-21594-5E780C65; Sun, 14 Feb 2016 13:57:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1455458276!22268138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44910 invoked from network); 14 Feb 2016 13:57:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:57:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxD5-0005AB-HK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBU-0003VK-63
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:57:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBU-0003VK-63@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:57:56 +0000
Subject: [Xen-changelog] [xen master] public/io/netif.h: fix typos
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 77efb6604f344e9116beb6d393c3d10a877e1bb4
Author:     Paul Durrant <paul.durrant@citrix.com>
AuthorDate: Wed Feb 10 16:49:25 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:06:58 2016 +0000

    public/io/netif.h: fix typos
    
    Unfortunately my patch 162a81ab "document control ring and toeplitz
    hashing" contained a couple of typos. This patch fixes them.
    
    Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Jan Beulich <jbeulich@suse.com>
    Cc: Keir Fraser <keir@xen.org>
    Cc: Tim Deegan <tim@xen.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/include/public/io/netif.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/io/netif.h b/xen/include/public/io/netif.h
index 8816e0f..8d82625 100644
--- a/xen/include/public/io/netif.h
+++ b/xen/include/public/io/netif.h
@@ -234,7 +234,7 @@
  * Result = ToeplitzHash(Buffer, 32)
  */
 #define _NETIF_CTRL_TOEPLITZ_HASH_IPV6     2
-#define NETIF_CTRL_TOEPLITZ_HASH_IPV6      (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV4)
+#define NETIF_CTRL_TOEPLITZ_HASH_IPV6      (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV6)
 
 /*
  * A hash calculated over an IP version 6 header and TCP header as
@@ -248,7 +248,7 @@
  * Result = ToeplitzHash(Buffer, 36)
  */
 #define _NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP 3
-#define NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP  (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV4_TCP)
+#define NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP  (1 << _NETIF_CTRL_TOEPLITZ_HASH_IPV6_TCP)
 
 /*
  * Control requests (netif_ctrl_request_t)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBi-0000yL-3u; Sun, 14 Feb 2016 13:58:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBg-0000y6-Qh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:08 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	21/B7-29293-0F780C65; Sun, 14 Feb 2016 13:58:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455458286!21994617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4160 invoked from network); 14 Feb 2016 13:58:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDF-0005AJ-VD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBe-0003WQ-G3
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBe-0003WQ-G3@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:06 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak in xc_offline_page
	error path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3163a0822c7192b2f57c517dcfddaeabda776197
Author:     Harmandeep Kaur <write.harmandeep@gmail.com>
AuthorDate: Wed Feb 10 16:49:38 2016 +0530
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:07:43 2016 +0000

    libxc: fix leak in xc_offline_page error path
    
    Avoid leaking the mapping of the m2p in one of the possible failure cases.
    
    Coverity CID 1351225
    
    Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xc_offline_page.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index bc91d51..3248a34 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -504,7 +504,7 @@ int xc_exchange_page(xc_interface *xch, int domid, xen_pfn_t mfn)
     if ( xc_map_domain_meminfo(xch, domid, &minfo) )
     {
         PERROR("Could not map domain's memory information\n");
-        return -1;
+        goto failed;
     }
 
     /* For translation macros */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBi-0000yL-3u; Sun, 14 Feb 2016 13:58:10 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBg-0000y6-Qh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:08 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	21/B7-29293-0F780C65; Sun, 14 Feb 2016 13:58:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455458286!21994617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4160 invoked from network); 14 Feb 2016 13:58:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDF-0005AJ-VD
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBe-0003WQ-G3
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBe-0003WQ-G3@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:06 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak in xc_offline_page
	error path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3163a0822c7192b2f57c517dcfddaeabda776197
Author:     Harmandeep Kaur <write.harmandeep@gmail.com>
AuthorDate: Wed Feb 10 16:49:38 2016 +0530
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:07:43 2016 +0000

    libxc: fix leak in xc_offline_page error path
    
    Avoid leaking the mapping of the m2p in one of the possible failure cases.
    
    Coverity CID 1351225
    
    Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xc_offline_page.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index bc91d51..3248a34 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -504,7 +504,7 @@ int xc_exchange_page(xc_interface *xch, int domid, xen_pfn_t mfn)
     if ( xc_map_domain_meminfo(xch, domid, &minfo) )
     {
         PERROR("Could not map domain's memory information\n");
-        return -1;
+        goto failed;
     }
 
     /* For translation macros */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBt-0000zt-A4; Sun, 14 Feb 2016 13:58:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBr-0000zh-HA
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:19 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	28/6D-12072-AF780C65; Sun, 14 Feb 2016 13:58:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455458297!22267118!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17308 invoked from network); 14 Feb 2016 13:58:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDQ-0005D9-BC
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBp-0003Wo-07
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBp-0003Wo-07@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:17 +0000
Subject: [Xen-changelog] [xen master] build: specify minimum versions of gcc
	and binutils
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc015d56c395ee2f00fadc9848cf7e258cada454
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 11 12:23:41 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:10:41 2016 +0000

    build: specify minimum versions of gcc and binutils
    
    To help people avoid having to figure out what versions of gcc and
    binutils need to be supported document them explicitly.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 README | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/README b/README
index 1324c7c..356a350 100644
--- a/README
+++ b/README
@@ -35,9 +35,13 @@ Second, there are a number of prerequisites for building a Xen source
 release. Make sure you have all the following installed, either by
 visiting the project webpage or installing a pre-built package
 provided by your OS distributor:
-    * GCC v4.1 or later
+    * GCC
+      - For x86 4.1.2_20070115 or later
+      - For ARM 4.8 or later
     * GNU Make
-    * GNU Binutils
+    * GNU Binutils:
+      - For x86 2.16.91.0.5 or later
+      - For ARM 2.24 or later
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python v2.3 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxBt-0000zt-A4; Sun, 14 Feb 2016 13:58:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBr-0000zh-HA
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:19 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	28/6D-12072-AF780C65; Sun, 14 Feb 2016 13:58:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455458297!22267118!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17308 invoked from network); 14 Feb 2016 13:58:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDQ-0005D9-BC
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBp-0003Wo-07
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBp-0003Wo-07@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:17 +0000
Subject: [Xen-changelog] [xen master] build: specify minimum versions of gcc
	and binutils
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc015d56c395ee2f00fadc9848cf7e258cada454
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 11 12:23:41 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:10:41 2016 +0000

    build: specify minimum versions of gcc and binutils
    
    To help people avoid having to figure out what versions of gcc and
    binutils need to be supported document them explicitly.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 README | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/README b/README
index 1324c7c..356a350 100644
--- a/README
+++ b/README
@@ -35,9 +35,13 @@ Second, there are a number of prerequisites for building a Xen source
 release. Make sure you have all the following installed, either by
 visiting the project webpage or installing a pre-built package
 provided by your OS distributor:
-    * GCC v4.1 or later
+    * GCC
+      - For x86 4.1.2_20070115 or later
+      - For ARM 4.8 or later
     * GNU Make
-    * GNU Binutils
+    * GNU Binutils:
+      - For x86 2.16.91.0.5 or later
+      - For ARM 2.24 or later
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python v2.3 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxC3-00012S-Hr; Sun, 14 Feb 2016 13:58:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC1-00012I-UW
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:30 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	0B/03-25435-50880C65; Sun, 14 Feb 2016 13:58:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1455458307!23695936!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21166 invoked from network); 14 Feb 2016 13:58:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDa-0005IK-Nx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBz-0003XF-CE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBz-0003XF-CE@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:27 +0000
Subject: [Xen-changelog] [xen master] build: specify minimum versions of make
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 15ee647c86ef21f4f61310d050bcdcb90dbbf318
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 11 12:23:42 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:10:58 2016 +0000

    build: specify minimum versions of make
    
    To help people avoid having to figure out what versions of make
    needs to be supported document it explicitly.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README b/README
index 356a350..dd36ec8 100644
--- a/README
+++ b/README
@@ -38,7 +38,7 @@ provided by your OS distributor:
     * GCC
       - For x86 4.1.2_20070115 or later
       - For ARM 4.8 or later
-    * GNU Make
+    * GNU Make v3.80 or later
     * GNU Binutils:
       - For x86 2.16.91.0.5 or later
       - For ARM 2.24 or later
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxC3-00012S-Hr; Sun, 14 Feb 2016 13:58:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC1-00012I-UW
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:30 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	0B/03-25435-50880C65; Sun, 14 Feb 2016 13:58:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1455458307!23695936!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21166 invoked from network); 14 Feb 2016 13:58:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDa-0005IK-Nx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxBz-0003XF-CE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxBz-0003XF-CE@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:27 +0000
Subject: [Xen-changelog] [xen master] build: specify minimum versions of make
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 15ee647c86ef21f4f61310d050bcdcb90dbbf318
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 11 12:23:42 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:10:58 2016 +0000

    build: specify minimum versions of make
    
    To help people avoid having to figure out what versions of make
    needs to be supported document it explicitly.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 README | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README b/README
index 356a350..dd36ec8 100644
--- a/README
+++ b/README
@@ -38,7 +38,7 @@ provided by your OS distributor:
     * GCC
       - For x86 4.1.2_20070115 or later
       - For ARM 4.8 or later
-    * GNU Make
+    * GNU Make v3.80 or later
     * GNU Binutils:
       - For x86 2.16.91.0.5 or later
       - For ARM 2.24 or later
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:41 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCD-00014W-Sr; Sun, 14 Feb 2016 13:58:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCC-000143-FJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:40 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	C6/8D-12072-F0880C65; Sun, 14 Feb 2016 13:58:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455458318!22277700!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38579 invoked from network); 14 Feb 2016 13:58:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDl-0005IS-4j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC9-0003Xd-Pg
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxC9-0003Xd-Pg@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:37 +0000
Subject: [Xen-changelog] [xen master] xenmon: close qos_fd when finished
	with it in alloc_qos_data
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d53f40fe19bacaac0cf0786e2fb6df4941426f7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:26:24 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:12:06 2016 +0000

    xenmon: close qos_fd when finished with it in alloc_qos_data
    
    Otherwise the fd is leaked. NB the mmap'd memory in the global
    cpu_qos_data[n] is not affected by closing the underlying fd.
    
    Compile tested only.
    
    CID: 1055930
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenmon/xenbaked.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c
index eacacb0..782f0c1 100644
--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -689,6 +689,7 @@ static void alloc_qos_data(int ncpu)
         cpu_qos_data[n] = new_qos;
     }
     free(dummy);
+    close(qos_fd);
     new_qos = NULL;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:41 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCD-00014W-Sr; Sun, 14 Feb 2016 13:58:41 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCC-000143-FJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:40 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	C6/8D-12072-F0880C65; Sun, 14 Feb 2016 13:58:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455458318!22277700!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38579 invoked from network); 14 Feb 2016 13:58:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDl-0005IS-4j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxC9-0003Xd-Pg
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxC9-0003Xd-Pg@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:37 +0000
Subject: [Xen-changelog] [xen master] xenmon: close qos_fd when finished
	with it in alloc_qos_data
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d53f40fe19bacaac0cf0786e2fb6df4941426f7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:26:24 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:12:06 2016 +0000

    xenmon: close qos_fd when finished with it in alloc_qos_data
    
    Otherwise the fd is leaked. NB the mmap'd memory in the global
    cpu_qos_data[n] is not affected by closing the underlying fd.
    
    Compile tested only.
    
    CID: 1055930
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenmon/xenbaked.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c
index eacacb0..782f0c1 100644
--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -689,6 +689,7 @@ static void alloc_qos_data(int ncpu)
         cpu_qos_data[n] = new_qos;
     }
     free(dummy);
+    close(qos_fd);
     new_qos = NULL;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCP-00016e-1a; Sun, 14 Feb 2016 13:58:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCM-00016G-L5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:51 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	FD/9A-25857-91880C65; Sun, 14 Feb 2016 13:58:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458328!22257558!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53396 invoked from network); 14 Feb 2016 13:58:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDv-0005Ia-GU
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCK-0003Yb-5F
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCK-0003Yb-5F@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:48 +0000
Subject: [Xen-changelog] [xen master] xenmon: initialise dummy array
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8b00908c114b0546e12cd1a0076b5af622c6bc08
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:26:25 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:12:18 2016 +0000

    xenmon: initialise dummy array
    
    This is just used to expand the shared backing file to the expected
    size (whether this is actually necessary I'm not sure). Rather than
    leaking some small amount of the processes' heap set the array to
    zeroes.
    
    While at it add a check that the malloc succeeded before using the
    result.
    
    Compile tested only.
    
    CID: 1056095 (use of uninitialised data)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenmon/xenbaked.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c
index 782f0c1..3d9e0ed 100644
--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -663,6 +663,11 @@ static void alloc_qos_data(int ncpu)
     }
     pgsize = getpagesize();
     dummy = malloc(pgsize);
+    if (!dummy) {
+        PERROR("malloc");
+        exit(EXIT_FAILURE);
+    }
+    memset(dummy, 0, pgsize);
 
     for (n=0; n<ncpu; n++) {
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:58:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCP-00016e-1a; Sun, 14 Feb 2016 13:58:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCM-00016G-L5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:51 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	FD/9A-25857-91880C65; Sun, 14 Feb 2016 13:58:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1455458328!22257558!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53396 invoked from network); 14 Feb 2016 13:58:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDv-0005Ia-GU
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCK-0003Yb-5F
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCK-0003Yb-5F@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:48 +0000
Subject: [Xen-changelog] [xen master] xenmon: initialise dummy array
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8b00908c114b0546e12cd1a0076b5af622c6bc08
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:26:25 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:12:18 2016 +0000

    xenmon: initialise dummy array
    
    This is just used to expand the shared backing file to the expected
    size (whether this is actually necessary I'm not sure). Rather than
    leaking some small amount of the processes' heap set the array to
    zeroes.
    
    While at it add a check that the malloc succeeded before using the
    result.
    
    Compile tested only.
    
    CID: 1056095 (use of uninitialised data)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/xenmon/xenbaked.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/xenmon/xenbaked.c b/tools/xenmon/xenbaked.c
index 782f0c1..3d9e0ed 100644
--- a/tools/xenmon/xenbaked.c
+++ b/tools/xenmon/xenbaked.c
@@ -663,6 +663,11 @@ static void alloc_qos_data(int ncpu)
     }
     pgsize = getpagesize();
     dummy = malloc(pgsize);
+    if (!dummy) {
+        PERROR("malloc");
+        exit(EXIT_FAILURE);
+    }
+    memset(dummy, 0, pgsize);
 
     for (n=0; n<ncpu; n++) {
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCY-00018I-6k; Sun, 14 Feb 2016 13:59:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCX-000182-0l
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:01 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	4F/A5-08479-42880C65; Sun, 14 Feb 2016 13:59:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458338!21714076!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59492 invoked from network); 14 Feb 2016 13:58:59 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE5-0005Ii-St
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCU-0003Z4-HS
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCU-0003Z4-HS@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:58 +0000
Subject: [Xen-changelog] [xen master] init-xenstore-domain: cleanup all
	resources on a single exit path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f15348afe976d3c5e17fce2d2beb412bbae7475b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:56:22 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:36:15 2016 +0000

    init-xenstore-domain: cleanup all resources on a single exit path
    
    Previously xs_fd would be left open, which is CID 1055993 (previously
    partially fixed by 3bca826aae5eb).
    
    Instead arrange for both success and error cases to cleanup everything
    on a single exit path instead of doing partial cleanup on the success
    path a few operations higher up.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/helpers/init-xenstore-domain.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 5c5af2d..909542b 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -172,9 +172,6 @@ static int build(xc_interface *xch)
         goto err;
     }
 
-    xc_dom_release(dom);
-    dom = NULL;
-
     rv = xc_domain_set_virq_handler(xch, domid, VIRQ_DOM_EXC);
     if ( rv )
     {
@@ -188,14 +185,18 @@ static int build(xc_interface *xch)
         goto err;
     }
 
-    return 0;
+    rv = 0;
 
 err:
     if ( dom )
         xc_dom_release(dom);
-    if ( domid != ~0 )
+    if ( xs_fd >= 0 )
+        close(xs_fd);
+
+    /* if we failed then destroy the domain */
+    if ( rv && domid != ~0 )
         xc_domain_destroy(xch, domid);
-    close(xs_fd);
+
     return rv;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCY-00018I-6k; Sun, 14 Feb 2016 13:59:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCX-000182-0l
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:01 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	4F/A5-08479-42880C65; Sun, 14 Feb 2016 13:59:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458338!21714076!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59492 invoked from network); 14 Feb 2016 13:58:59 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:58:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE5-0005Ii-St
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCU-0003Z4-HS
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:58:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCU-0003Z4-HS@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:58:58 +0000
Subject: [Xen-changelog] [xen master] init-xenstore-domain: cleanup all
	resources on a single exit path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f15348afe976d3c5e17fce2d2beb412bbae7475b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 10 16:56:22 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:36:15 2016 +0000

    init-xenstore-domain: cleanup all resources on a single exit path
    
    Previously xs_fd would be left open, which is CID 1055993 (previously
    partially fixed by 3bca826aae5eb).
    
    Instead arrange for both success and error cases to cleanup everything
    on a single exit path instead of doing partial cleanup on the success
    path a few operations higher up.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/helpers/init-xenstore-domain.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 5c5af2d..909542b 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -172,9 +172,6 @@ static int build(xc_interface *xch)
         goto err;
     }
 
-    xc_dom_release(dom);
-    dom = NULL;
-
     rv = xc_domain_set_virq_handler(xch, domid, VIRQ_DOM_EXC);
     if ( rv )
     {
@@ -188,14 +185,18 @@ static int build(xc_interface *xch)
         goto err;
     }
 
-    return 0;
+    rv = 0;
 
 err:
     if ( dom )
         xc_dom_release(dom);
-    if ( domid != ~0 )
+    if ( xs_fd >= 0 )
+        close(xs_fd);
+
+    /* if we failed then destroy the domain */
+    if ( rv && domid != ~0 )
         xc_domain_destroy(xch, domid);
-    close(xs_fd);
+
     return rv;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCi-0001A4-D8; Sun, 14 Feb 2016 13:59:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCh-00019o-Kh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:11 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	A4/16-25438-F2880C65; Sun, 14 Feb 2016 13:59:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455458349!23364564!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2524 invoked from network); 14 Feb 2016 13:59:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEG-0005Je-9U
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCe-0003aR-UT
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:08 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCe-0003aR-UT@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:08 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: make it illegal to pass
	libxl__realloc(gc) a non-gc ptr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e5b16dba2e080b7201ae7ba1a4f301fa32902c1f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 09:23:54 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:36:19 2016 +0000

    tools: libxl: make it illegal to pass libxl__realloc(gc) a non-gc ptr
    
    That is, if gc is not NOGC and ptr is not NULL then ptr must be
    associated with a gc.
    
    Currently in this case the new_ptr would not be registered with any
    gc, which Coverity rightly points out (in various different places)
    would be a memory leak.
    
    It would also be possible to fix this by adding a libxl__ptr_add() at
    the same point, however semantically it seems like a programming error
    to gc-realloc a pointer which is not associated with the gc in
    question, so treat it as such.
    
    Compile tested only, this change could expose latent bugs.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_internal.c | 4 ++++
 tools/libxl/libxl_internal.h | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 328046b..fc81130 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -122,6 +122,10 @@ void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size)
                 break;
             }
         }
+        if (i == gc->alloc_maxsize) {
+            LOG(CRITICAL, "pointer is not tracked by the given gc");
+            abort();
+        }
     }
 
     return new_ptr;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fc1b558..650a958 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -617,7 +617,9 @@ _hidden void *libxl__zalloc(libxl__gc *gc_opt, size_t size) NN1;
 _hidden void *libxl__calloc(libxl__gc *gc_opt, size_t nmemb, size_t size) NN1;
 /* change the size of the memory block pointed to by @ptr to @new_size bytes.
  * unlike other allocation functions here any additional space between the
- * oldsize and @new_size is not initialised (similar to a gc'd realloc(3)). */
+ * oldsize and @new_size is not initialised (similar to a gc'd realloc(3)).
+ * if @ptr is non-NULL and @gc_opt is not nogc_gc then @ptr must have been
+ * registered with @gc_opt previously. */
 _hidden void *libxl__realloc(libxl__gc *gc_opt, void *ptr, size_t new_size) NN1;
 /* print @fmt into an allocated string large enoughto contain the result.
  * (similar to gc'd asprintf(3)). */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCi-0001A4-D8; Sun, 14 Feb 2016 13:59:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCh-00019o-Kh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:11 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	A4/16-25438-F2880C65; Sun, 14 Feb 2016 13:59:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455458349!23364564!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2524 invoked from network); 14 Feb 2016 13:59:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEG-0005Je-9U
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCe-0003aR-UT
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:08 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCe-0003aR-UT@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:08 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: make it illegal to pass
	libxl__realloc(gc) a non-gc ptr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e5b16dba2e080b7201ae7ba1a4f301fa32902c1f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 09:23:54 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 15:36:19 2016 +0000

    tools: libxl: make it illegal to pass libxl__realloc(gc) a non-gc ptr
    
    That is, if gc is not NOGC and ptr is not NULL then ptr must be
    associated with a gc.
    
    Currently in this case the new_ptr would not be registered with any
    gc, which Coverity rightly points out (in various different places)
    would be a memory leak.
    
    It would also be possible to fix this by adding a libxl__ptr_add() at
    the same point, however semantically it seems like a programming error
    to gc-realloc a pointer which is not associated with the gc in
    question, so treat it as such.
    
    Compile tested only, this change could expose latent bugs.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_internal.c | 4 ++++
 tools/libxl/libxl_internal.h | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index 328046b..fc81130 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -122,6 +122,10 @@ void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size)
                 break;
             }
         }
+        if (i == gc->alloc_maxsize) {
+            LOG(CRITICAL, "pointer is not tracked by the given gc");
+            abort();
+        }
     }
 
     return new_ptr;
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index fc1b558..650a958 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -617,7 +617,9 @@ _hidden void *libxl__zalloc(libxl__gc *gc_opt, size_t size) NN1;
 _hidden void *libxl__calloc(libxl__gc *gc_opt, size_t nmemb, size_t size) NN1;
 /* change the size of the memory block pointed to by @ptr to @new_size bytes.
  * unlike other allocation functions here any additional space between the
- * oldsize and @new_size is not initialised (similar to a gc'd realloc(3)). */
+ * oldsize and @new_size is not initialised (similar to a gc'd realloc(3)).
+ * if @ptr is non-NULL and @gc_opt is not nogc_gc then @ptr must have been
+ * registered with @gc_opt previously. */
 _hidden void *libxl__realloc(libxl__gc *gc_opt, void *ptr, size_t new_size) NN1;
 /* print @fmt into an allocated string large enoughto contain the result.
  * (similar to gc'd asprintf(3)). */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCs-0001Bp-HO; Sun, 14 Feb 2016 13:59:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCr-0001Ba-SE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:21 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	B1/15-03066-93880C65; Sun, 14 Feb 2016 13:59:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1455458359!12651944!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10120 invoked from network); 14 Feb 2016 13:59:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEQ-0005Jn-Kb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCp-0003ap-8T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCp-0003ap-8T@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:19 +0000
Subject: [Xen-changelog] [xen master] tools: probe for existence of qemu-xen
	stderr trace backend.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f9b880721cd0ffa207faf90af9b02e2df3b57393
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 12:11:21 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 16:33:54 2016 +0000

    tools: probe for existence of qemu-xen stderr trace backend.
    
    QEMU upstream commit ed7f5f1d8db0 ("trace: convert stderr backend to
    log") renamed the "stderr" trace backend to "log", which breaks the
    xen build when pointed at a QEMU tree after that point:
    
    ./configure of QEMU fail with:
    "ERROR: invalid trace backends
            Please choose supported trace backends."
    
    Upstream also changed, in baf86d6b3ca0 ("trace: switch default backend
    to "log""), to use "log" as the default backend (previously it was
    "nop").
    
    Use ./scripts/tracetool.py to check for the presence of the stderr
    backend and if it is present then explicitly enable it. If the stderr
    backend is not present then assume a newer QEMU which defaults to
    "log" and simply accept that default (there is a 1 commit window
    upstream where this would result in no trace backend being enabled).
    
    The check is done using the older (deprecated?) --check-backend/--backend
    variant of the tracetool.py options rather than the new plural
    versions since the singular was supported even by very old versions of
    QEMU.  New QEMU has compatibility code but if/when that is removed we
    will still do the right thing i.e. no explict configuiration resulting
    in the upstream default (currently "log").
    
    If the explicit selection of the "stderr" backend is required then it
    is now done unconditionally (not depending on debug=y), which is
    simpler to arrange here but also matches the newer upstream's default
    to "log" which is not conditional on debug being enabled either.
    
    Tested with current qemu-xen-unstable (e9d8252) and current QEMU
    upstream master (88c73d1), both out of tree via
    QEMU_UPSTREAM_URL=/path/to/qemu-xen.git.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Paul Durrant <paul.durrant@citrix.com>
    Cc: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
    Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/Makefile b/tools/Makefile
index cb8652c..3f45fb9 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -228,7 +228,7 @@ qemu-xen-dir-force-update: qemu-xen-dir-find
 	fi
 
 ifeq ($(debug),y)
-QEMU_XEN_ENABLE_DEBUG := --enable-debug --enable-trace-backend=stderr
+QEMU_XEN_ENABLE_DEBUG := --enable-debug
 else
 QEMU_XEN_ENABLE_DEBUG :=
 endif
@@ -240,8 +240,14 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 		source=.; \
 	fi; \
 	cd qemu-xen-dir; \
+	if $$source/scripts/tracetool.py --check-backend --backend stderr ; then \
+		enable_trace_backend='--enable-trace-backend=stderr'; \
+	else \
+		enable_trace_backend='' ; \
+	fi ; \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
 		$(QEMU_XEN_ENABLE_DEBUG) \
+		$$enable_trace_backend \
 		--prefix=$(LIBEXEC) \
 		--libdir=$(LIBEXEC_LIB) \
 		--includedir=$(LIBEXEC_INC) \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxCs-0001Bp-HO; Sun, 14 Feb 2016 13:59:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCr-0001Ba-SE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:21 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	B1/15-03066-93880C65; Sun, 14 Feb 2016 13:59:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1455458359!12651944!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10120 invoked from network); 14 Feb 2016 13:59:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEQ-0005Jn-Kb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCp-0003ap-8T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCp-0003ap-8T@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:19 +0000
Subject: [Xen-changelog] [xen master] tools: probe for existence of qemu-xen
	stderr trace backend.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f9b880721cd0ffa207faf90af9b02e2df3b57393
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 12:11:21 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 16:33:54 2016 +0000

    tools: probe for existence of qemu-xen stderr trace backend.
    
    QEMU upstream commit ed7f5f1d8db0 ("trace: convert stderr backend to
    log") renamed the "stderr" trace backend to "log", which breaks the
    xen build when pointed at a QEMU tree after that point:
    
    ./configure of QEMU fail with:
    "ERROR: invalid trace backends
            Please choose supported trace backends."
    
    Upstream also changed, in baf86d6b3ca0 ("trace: switch default backend
    to "log""), to use "log" as the default backend (previously it was
    "nop").
    
    Use ./scripts/tracetool.py to check for the presence of the stderr
    backend and if it is present then explicitly enable it. If the stderr
    backend is not present then assume a newer QEMU which defaults to
    "log" and simply accept that default (there is a 1 commit window
    upstream where this would result in no trace backend being enabled).
    
    The check is done using the older (deprecated?) --check-backend/--backend
    variant of the tracetool.py options rather than the new plural
    versions since the singular was supported even by very old versions of
    QEMU.  New QEMU has compatibility code but if/when that is removed we
    will still do the right thing i.e. no explict configuiration resulting
    in the upstream default (currently "log").
    
    If the explicit selection of the "stderr" backend is required then it
    is now done unconditionally (not depending on debug=y), which is
    simpler to arrange here but also matches the newer upstream's default
    to "log" which is not conditional on debug being enabled either.
    
    Tested with current qemu-xen-unstable (e9d8252) and current QEMU
    upstream master (88c73d1), both out of tree via
    QEMU_UPSTREAM_URL=/path/to/qemu-xen.git.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Cc: Paul Durrant <paul.durrant@citrix.com>
    Cc: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Paul Durrant <paul.durrant@citrix.com>
    Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/Makefile b/tools/Makefile
index cb8652c..3f45fb9 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -228,7 +228,7 @@ qemu-xen-dir-force-update: qemu-xen-dir-find
 	fi
 
 ifeq ($(debug),y)
-QEMU_XEN_ENABLE_DEBUG := --enable-debug --enable-trace-backend=stderr
+QEMU_XEN_ENABLE_DEBUG := --enable-debug
 else
 QEMU_XEN_ENABLE_DEBUG :=
 endif
@@ -240,8 +240,14 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 		source=.; \
 	fi; \
 	cd qemu-xen-dir; \
+	if $$source/scripts/tracetool.py --check-backend --backend stderr ; then \
+		enable_trace_backend='--enable-trace-backend=stderr'; \
+	else \
+		enable_trace_backend='' ; \
+	fi ; \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
 		$(QEMU_XEN_ENABLE_DEBUG) \
+		$$enable_trace_backend \
 		--prefix=$(LIBEXEC) \
 		--libdir=$(LIBEXEC_LIB) \
 		--includedir=$(LIBEXEC_INC) \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxD3-0001Ec-Qv; Sun, 14 Feb 2016 13:59:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxD2-0001EJ-87
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:32 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	13/49-28228-34880C65; Sun, 14 Feb 2016 13:59:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455458369!15076182!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39459 invoked from network); 14 Feb 2016 13:59:30 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:30 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEb-0005KN-07
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCz-0003bM-KY
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:29 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCz-0003bM-KY@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:29 +0000
Subject: [Xen-changelog] [xen master] tools/console: correct make
	dependencies for _paths.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 77fec3a67b6881e8203e44f8d18e9fd2c160c903
Author:     Olaf Hering <olaf@aepfle.de>
AuthorDate: Thu Feb 11 15:38:14 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 16:34:46 2016 +0000

    tools/console: correct make dependencies for _paths.h
    
    Correct dependencies for _paths.h to avoid build failure with make -j.
    Only main.c requires _paths.h. This fixes commit 8398ec70 ("xenconsole:
    Ensure exclusive access to console using locks")
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/console/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/console/Makefile b/tools/console/Makefile
index 6eeac8f..a7bec75 100644
--- a/tools/console/Makefile
+++ b/tools/console/Makefile
@@ -30,7 +30,8 @@ daemon/io.o: CFLAGS += $(CFLAGS_libxenevtchn) $(CFLAGS_libxengnttab)
 xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c))
 	$(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_libxenevtchn) $(LDLIBS_libxengnttab) $(LDLIBS_xenconsoled) $(APPEND_LDFLAGS)
 
-xenconsole: client/_paths.h $(patsubst %.c,%.o,$(wildcard client/*.c))
+client/main.o: client/_paths.h
+xenconsole: $(patsubst %.c,%.o,$(wildcard client/*.c))
 	$(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsole) $(APPEND_LDFLAGS)
 
 genpath-target = $(call buildmakevars2header,client/_paths.h)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxD3-0001Ec-Qv; Sun, 14 Feb 2016 13:59:33 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxD2-0001EJ-87
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:32 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	13/49-28228-34880C65; Sun, 14 Feb 2016 13:59:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455458369!15076182!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39459 invoked from network); 14 Feb 2016 13:59:30 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:30 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEb-0005KN-07
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxCz-0003bM-KY
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:29 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxCz-0003bM-KY@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:29 +0000
Subject: [Xen-changelog] [xen master] tools/console: correct make
	dependencies for _paths.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 77fec3a67b6881e8203e44f8d18e9fd2c160c903
Author:     Olaf Hering <olaf@aepfle.de>
AuthorDate: Thu Feb 11 15:38:14 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 16:34:46 2016 +0000

    tools/console: correct make dependencies for _paths.h
    
    Correct dependencies for _paths.h to avoid build failure with make -j.
    Only main.c requires _paths.h. This fixes commit 8398ec70 ("xenconsole:
    Ensure exclusive access to console using locks")
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/console/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/console/Makefile b/tools/console/Makefile
index 6eeac8f..a7bec75 100644
--- a/tools/console/Makefile
+++ b/tools/console/Makefile
@@ -30,7 +30,8 @@ daemon/io.o: CFLAGS += $(CFLAGS_libxenevtchn) $(CFLAGS_libxengnttab)
 xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c))
 	$(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_libxenevtchn) $(LDLIBS_libxengnttab) $(LDLIBS_xenconsoled) $(APPEND_LDFLAGS)
 
-xenconsole: client/_paths.h $(patsubst %.c,%.o,$(wildcard client/*.c))
+client/main.o: client/_paths.h
+xenconsole: $(patsubst %.c,%.o,$(wildcard client/*.c))
 	$(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsole) $(APPEND_LDFLAGS)
 
 genpath-target = $(call buildmakevars2header,client/_paths.h)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDE-0001GF-Ve; Sun, 14 Feb 2016 13:59:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDD-0001G3-Uy
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:44 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	CE/7C-24375-F4880C65; Sun, 14 Feb 2016 13:59:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458381!14793130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51631 invoked from network); 14 Feb 2016 13:59:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEm-0005KZ-R6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDB-0003d4-Be
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDB-0003d4-Be@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:41 +0000
Subject: [Xen-changelog] [xen master] x86: drop X86_FEATURE_3DNOW_ALT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 51bd4bbdfdbaa02acdcc2b058f3caf1e815898d7
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:40:47 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:40:47 2016 +0100

    x86: drop X86_FEATURE_3DNOW_ALT
    
    Introducing an X86_FEATURE aliased value turns out to complicate automatic
    processing of the feature list.  Drop X86_FEATURE_3DNOW_ALT and use
    X86_FEATURE_PBE, extending the comment accordingly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c           | 9 ++++++---
 xen/include/asm-x86/cpufeature.h | 1 -
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 8ec841b..1ac44e0 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -440,9 +440,12 @@ static void init_amd(struct cpuinfo_x86 *c)
 		wrmsrl(MSR_K7_HWCR, value);
 	}
 
-	/* Bit 31 in normal CPUID used for nonstandard 3DNow ID;
-	   3DNow is IDd by bit 31 in extended CPUID (1*32+31) anyway */
-	__clear_bit(X86_FEATURE_3DNOW_ALT, c->x86_capability);
+	/*
+	 * Some AMD CPUs duplicate the 3DNow bit in base and extended CPUID
+	 * leaves.  Unfortunately, this aliases PBE on Intel CPUs. Clobber the
+	 * alias, leaving 3DNow in the extended leaf.
+	 */
+	__clear_bit(X86_FEATURE_PBE, c->x86_capability);
 	
 	if (c->x86 == 0xf && c->x86_model < 0x14
 	    && cpu_has(c, X86_FEATURE_LAHF_LM)) {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 23f9fb2..6583039 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -45,7 +45,6 @@
 #define X86_FEATURE_ACC		(0*32+29) /* Automatic clock control */
 #define X86_FEATURE_IA64	(0*32+30) /* IA-64 processor */
 #define X86_FEATURE_PBE		(0*32+31) /* Pending Break Enable */
-#define X86_FEATURE_3DNOW_ALT	(0*32+31) /* AMD nonstandard 3DNow (Aliases PBE) */
 
 /* AMD-defined CPU features, CPUID level 0x80000001, word 1 */
 /* Don't duplicate feature flags which are redundant with Intel! */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDE-0001GF-Ve; Sun, 14 Feb 2016 13:59:44 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDD-0001G3-Uy
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:44 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	CE/7C-24375-F4880C65; Sun, 14 Feb 2016 13:59:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455458381!14793130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51631 invoked from network); 14 Feb 2016 13:59:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEm-0005KZ-R6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDB-0003d4-Be
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDB-0003d4-Be@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:41 +0000
Subject: [Xen-changelog] [xen master] x86: drop X86_FEATURE_3DNOW_ALT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 51bd4bbdfdbaa02acdcc2b058f3caf1e815898d7
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:40:47 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:40:47 2016 +0100

    x86: drop X86_FEATURE_3DNOW_ALT
    
    Introducing an X86_FEATURE aliased value turns out to complicate automatic
    processing of the feature list.  Drop X86_FEATURE_3DNOW_ALT and use
    X86_FEATURE_PBE, extending the comment accordingly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c           | 9 ++++++---
 xen/include/asm-x86/cpufeature.h | 1 -
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 8ec841b..1ac44e0 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -440,9 +440,12 @@ static void init_amd(struct cpuinfo_x86 *c)
 		wrmsrl(MSR_K7_HWCR, value);
 	}
 
-	/* Bit 31 in normal CPUID used for nonstandard 3DNow ID;
-	   3DNow is IDd by bit 31 in extended CPUID (1*32+31) anyway */
-	__clear_bit(X86_FEATURE_3DNOW_ALT, c->x86_capability);
+	/*
+	 * Some AMD CPUs duplicate the 3DNow bit in base and extended CPUID
+	 * leaves.  Unfortunately, this aliases PBE on Intel CPUs. Clobber the
+	 * alias, leaving 3DNow in the extended leaf.
+	 */
+	__clear_bit(X86_FEATURE_PBE, c->x86_capability);
 	
 	if (c->x86 == 0xf && c->x86_model < 0x14
 	    && cpu_has(c, X86_FEATURE_LAHF_LM)) {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 23f9fb2..6583039 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -45,7 +45,6 @@
 #define X86_FEATURE_ACC		(0*32+29) /* Automatic clock control */
 #define X86_FEATURE_IA64	(0*32+30) /* IA-64 processor */
 #define X86_FEATURE_PBE		(0*32+31) /* Pending Break Enable */
-#define X86_FEATURE_3DNOW_ALT	(0*32+31) /* AMD nonstandard 3DNow (Aliases PBE) */
 
 /* AMD-defined CPU features, CPUID level 0x80000001, word 1 */
 /* Don't duplicate feature flags which are redundant with Intel! */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDQ-0001Hl-43; Sun, 14 Feb 2016 13:59:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDO-0001HX-Dh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:54 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	2A/E4-09062-95880C65; Sun, 14 Feb 2016 13:59:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1455458392!21975966!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29341 invoked from network); 14 Feb 2016 13:59:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEx-0005Kh-8z
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDL-0003dS-T0
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDL-0003dS-T0@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:51 +0000
Subject: [Xen-changelog] [xen master] x86: do not store VIA/Cyrix/Centaur
	CPU features
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4f4eec324eaa8829c12b9a59bbb0695e157fcfff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:14 2016 +0100

    x86: do not store VIA/Cyrix/Centaur CPU features
    
    Nothing uses them.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/centaur.c       |  3 ---
 xen/include/asm-x86/cpufeature.h | 12 +-----------
 2 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/xen/arch/x86/cpu/centaur.c b/xen/arch/x86/cpu/centaur.c
index c0ac117..b137d55 100644
--- a/xen/arch/x86/cpu/centaur.c
+++ b/xen/arch/x86/cpu/centaur.c
@@ -38,9 +38,6 @@ static void init_c3(struct cpuinfo_x86 *c)
 			wrmsrl(MSR_VIA_RNG, msr_content | RNG_ENABLE);
 			printk(KERN_INFO "CPU: Enabled h/w RNG\n");
 		}
-
-		c->x86_capability[cpufeat_word(X86_FEATURE_XSTORE)]
-                    = cpuid_edx(0xC0000001);
 	}
 
 	if (c->x86 == 0x6 && c->x86_model >= 0xf) {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 6583039..e7e369b 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -109,17 +109,7 @@
 #define X86_FEATURE_RDRAND 	(4*32+30) /* Digital Random Number Generator */
 #define X86_FEATURE_HYPERVISOR	(4*32+31) /* Running under some hypervisor */
 
-/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */
-#define X86_FEATURE_XSTORE	(5*32+ 2) /* on-CPU RNG present (xstore insn) */
-#define X86_FEATURE_XSTORE_EN	(5*32+ 3) /* on-CPU RNG enabled */
-#define X86_FEATURE_XCRYPT	(5*32+ 6) /* on-CPU crypto (xcrypt insn) */
-#define X86_FEATURE_XCRYPT_EN	(5*32+ 7) /* on-CPU crypto enabled */
-#define X86_FEATURE_ACE2	(5*32+ 8) /* Advanced Cryptography Engine v2 */
-#define X86_FEATURE_ACE2_EN	(5*32+ 9) /* ACE v2 enabled */
-#define X86_FEATURE_PHE		(5*32+ 10) /* PadLock Hash Engine */
-#define X86_FEATURE_PHE_EN	(5*32+ 11) /* PHE enabled */
-#define X86_FEATURE_PMM		(5*32+ 12) /* PadLock Montgomery Multiplier */
-#define X86_FEATURE_PMM_EN	(5*32+ 13) /* PMM enabled */
+/* UNUSED, word 5 */
 
 /* More extended AMD flags: CPUID level 0x80000001, ecx, word 6 */
 #define X86_FEATURE_LAHF_LM     (6*32+ 0) /* LAHF/SAHF in long mode */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 13:59:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 13:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDQ-0001Hl-43; Sun, 14 Feb 2016 13:59:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDO-0001HX-Dh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:54 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	2A/E4-09062-95880C65; Sun, 14 Feb 2016 13:59:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1455458392!21975966!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29341 invoked from network); 14 Feb 2016 13:59:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 13:59:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEx-0005Kh-8z
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDL-0003dS-T0
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 13:59:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDL-0003dS-T0@xenbits.xen.org>
Date: Sun, 14 Feb 2016 13:59:51 +0000
Subject: [Xen-changelog] [xen master] x86: do not store VIA/Cyrix/Centaur
	CPU features
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4f4eec324eaa8829c12b9a59bbb0695e157fcfff
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:14 2016 +0100

    x86: do not store VIA/Cyrix/Centaur CPU features
    
    Nothing uses them.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/centaur.c       |  3 ---
 xen/include/asm-x86/cpufeature.h | 12 +-----------
 2 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/xen/arch/x86/cpu/centaur.c b/xen/arch/x86/cpu/centaur.c
index c0ac117..b137d55 100644
--- a/xen/arch/x86/cpu/centaur.c
+++ b/xen/arch/x86/cpu/centaur.c
@@ -38,9 +38,6 @@ static void init_c3(struct cpuinfo_x86 *c)
 			wrmsrl(MSR_VIA_RNG, msr_content | RNG_ENABLE);
 			printk(KERN_INFO "CPU: Enabled h/w RNG\n");
 		}
-
-		c->x86_capability[cpufeat_word(X86_FEATURE_XSTORE)]
-                    = cpuid_edx(0xC0000001);
 	}
 
 	if (c->x86 == 0x6 && c->x86_model >= 0xf) {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 6583039..e7e369b 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -109,17 +109,7 @@
 #define X86_FEATURE_RDRAND 	(4*32+30) /* Digital Random Number Generator */
 #define X86_FEATURE_HYPERVISOR	(4*32+31) /* Running under some hypervisor */
 
-/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */
-#define X86_FEATURE_XSTORE	(5*32+ 2) /* on-CPU RNG present (xstore insn) */
-#define X86_FEATURE_XSTORE_EN	(5*32+ 3) /* on-CPU RNG enabled */
-#define X86_FEATURE_XCRYPT	(5*32+ 6) /* on-CPU crypto (xcrypt insn) */
-#define X86_FEATURE_XCRYPT_EN	(5*32+ 7) /* on-CPU crypto enabled */
-#define X86_FEATURE_ACE2	(5*32+ 8) /* Advanced Cryptography Engine v2 */
-#define X86_FEATURE_ACE2_EN	(5*32+ 9) /* ACE v2 enabled */
-#define X86_FEATURE_PHE		(5*32+ 10) /* PadLock Hash Engine */
-#define X86_FEATURE_PHE_EN	(5*32+ 11) /* PHE enabled */
-#define X86_FEATURE_PMM		(5*32+ 12) /* PadLock Montgomery Multiplier */
-#define X86_FEATURE_PMM_EN	(5*32+ 13) /* PMM enabled */
+/* UNUSED, word 5 */
 
 /* More extended AMD flags: CPUID level 0x80000001, ecx, word 6 */
 #define X86_FEATURE_LAHF_LM     (6*32+ 0) /* LAHF/SAHF in long mode */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDa-0001Mu-8L; Sun, 14 Feb 2016 14:00:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDY-0001Mj-R1
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:04 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	F8/55-03066-46880C65; Sun, 14 Feb 2016 14:00:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1455458402!22211743!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10986 invoked from network); 14 Feb 2016 14:00:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF7-0005Ku-L8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDW-0003eO-7Z
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDW-0003eO-7Z@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:02 +0000
Subject: [Xen-changelog] [xen master] x86: drop cpuinfo_x86.x86_power
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6dfe0d0acaf3a6f6a37ae0238aad80fae7cc4c6b
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:35 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:35 2016 +0100

    x86: drop cpuinfo_x86.x86_power
    
    Nothing uses it.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c          | 3 +--
 xen/include/asm-x86/processor.h | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 1ac44e0..c184f57 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -475,8 +475,7 @@ static void init_amd(struct cpuinfo_x86 *c)
 	}
 
 	if (c->extended_cpuid_level >= 0x80000007) {
-		c->x86_power = cpuid_edx(0x80000007);
-		if (c->x86_power & (1<<8)) {
+		if (cpuid_edx(0x80000007) & (1<<8)) {
 			__set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
 			__set_bit(X86_FEATURE_NONSTOP_TSC, c->x86_capability);
 			if (c->x86 != 0x11)
diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
index 26ba141..271340e 100644
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -191,7 +191,6 @@ struct cpuinfo_x86 {
     char x86_model_id[64];
     int  x86_cache_size; /* in KB - valid for CPUS which support this call  */
     int  x86_cache_alignment;    /* In bytes */
-    int  x86_power;
     __u32 x86_max_cores; /* cpuid returned max cores value */
     __u32 booted_cores;  /* number of cores as seen by OS */
     __u32 x86_num_siblings; /* cpuid logical cpus per chip value */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDa-0001Mu-8L; Sun, 14 Feb 2016 14:00:06 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDY-0001Mj-R1
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:04 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	F8/55-03066-46880C65; Sun, 14 Feb 2016 14:00:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1455458402!22211743!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10986 invoked from network); 14 Feb 2016 14:00:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF7-0005Ku-L8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDW-0003eO-7Z
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDW-0003eO-7Z@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:02 +0000
Subject: [Xen-changelog] [xen master] x86: drop cpuinfo_x86.x86_power
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6dfe0d0acaf3a6f6a37ae0238aad80fae7cc4c6b
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:35 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:35 2016 +0100

    x86: drop cpuinfo_x86.x86_power
    
    Nothing uses it.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/amd.c          | 3 +--
 xen/include/asm-x86/processor.h | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 1ac44e0..c184f57 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -475,8 +475,7 @@ static void init_amd(struct cpuinfo_x86 *c)
 	}
 
 	if (c->extended_cpuid_level >= 0x80000007) {
-		c->x86_power = cpuid_edx(0x80000007);
-		if (c->x86_power & (1<<8)) {
+		if (cpuid_edx(0x80000007) & (1<<8)) {
 			__set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
 			__set_bit(X86_FEATURE_NONSTOP_TSC, c->x86_capability);
 			if (c->x86 != 0x11)
diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
index 26ba141..271340e 100644
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -191,7 +191,6 @@ struct cpuinfo_x86 {
     char x86_model_id[64];
     int  x86_cache_size; /* in KB - valid for CPUS which support this call  */
     int  x86_cache_alignment;    /* In bytes */
-    int  x86_power;
     __u32 x86_max_cores; /* cpuid returned max cores value */
     __u32 booted_cores;  /* number of cores as seen by OS */
     __u32 x86_num_siblings; /* cpuid logical cpus per chip value */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDk-0001OI-D6; Sun, 14 Feb 2016 14:00:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDj-0001O5-2Y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:15 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	7D/A7-17089-E6880C65; Sun, 14 Feb 2016 14:00:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455458412!13853078!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41684 invoked from network); 14 Feb 2016 14:00:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFH-0005Lc-Sz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDg-0003fO-IH
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDg-0003fO-IH@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:12 +0000
Subject: [Xen-changelog] [xen master] x86: drop the uses of invbool_param()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbf56e49ea2590542dfd46bfd0d86007ab9fa491
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:59 2016 +0100

    x86: drop the uses of invbool_param()
    
    There are only four users, and invbool_param() is an unnecessary cognitive
    overhead to use.
    
    Convert the four users to boolean_param(), and consistency use opt_* for the
    variable name.
    
    No change to the behaviour of the command line arguments.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mcheck/mce.c       |  8 ++++----
 xen/arch/x86/cpu/mcheck/mce_intel.c |  8 ++++----
 xen/arch/x86/cpu/mcheck/non-fatal.c |  2 +-
 xen/arch/x86/cpu/mcheck/x86_mca.h   |  2 +-
 xen/arch/x86/cpu/mwait-idle.c       |  6 +++---
 xen/arch/x86/setup.c                | 12 ++++++------
 6 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index d746d0e..cc446eb 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -30,8 +30,8 @@
 #include "util.h"
 #include "vmce.h"
 
-bool_t __read_mostly mce_disabled;
-invbool_param("mce", mce_disabled);
+bool_t __read_mostly opt_mce = 1;
+boolean_param("mce", opt_mce);
 bool_t __read_mostly mce_broadcast = 0;
 bool_t is_mc_panic;
 unsigned int __read_mostly nr_mce_banks;
@@ -627,7 +627,7 @@ static void set_poll_bankmask(struct cpuinfo_x86 *c)
     mb = per_cpu(poll_bankmask, cpu);
     BUG_ON(!mb);
 
-    if (cmci_support && !mce_disabled) {
+    if (cmci_support && opt_mce) {
         mb->num = per_cpu(no_cmci_banks, cpu)->num;
         bitmap_copy(mb->bank_map, per_cpu(no_cmci_banks, cpu)->bank_map,
                     nr_mce_banks);
@@ -734,7 +734,7 @@ void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp)
 {
     enum mcheck_type inited = mcheck_none;
 
-    if ( mce_disabled )
+    if ( !opt_mce )
     {
         if ( bsp )
             printk(XENLOG_INFO "MCE support disabled by bootparam\n");
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 193366b..0b7fe53 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -587,7 +587,7 @@ static void cmci_discover(void)
 
 static void mce_set_owner(void)
 {
-    if (!cmci_support || mce_disabled == 1)
+    if (!cmci_support || !opt_mce)
         return;
 
     cmci_discover();
@@ -600,7 +600,7 @@ static void __cpu_mcheck_distribute_cmci(void *unused)
 
 static void cpu_mcheck_distribute_cmci(void)
 {
-    if (cmci_support && !mce_disabled)
+    if (cmci_support && opt_mce)
         on_each_cpu(__cpu_mcheck_distribute_cmci, NULL, 0);
 }
 
@@ -608,7 +608,7 @@ static void clear_cmci(void)
 {
     int i;
 
-    if (!cmci_support || mce_disabled == 1)
+    if (!cmci_support || !opt_mce)
         return;
 
     mce_printk(MCE_VERBOSE, "CMCI: clear_cmci support on CPU%d\n",
@@ -630,7 +630,7 @@ static void cpu_mcheck_disable(void)
 {
     clear_in_cr4(X86_CR4_MCE);
 
-    if (cmci_support && !mce_disabled)
+    if (cmci_support && opt_mce)
         clear_cmci();
 }
 
diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 8cd6635..da5cae9 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -91,7 +91,7 @@ static int __init init_nonfatal_mce_checker(void)
 	struct cpuinfo_x86 *c = &boot_cpu_data;
 
 	/* Check for MCE support */
-	if (mce_disabled || !mce_available(c))
+	if (!opt_mce || !mce_available(c))
 		return -ENODEV;
 
 	if (__get_cpu_var(poll_bankmask) == NULL)
diff --git a/xen/arch/x86/cpu/mcheck/x86_mca.h b/xen/arch/x86/cpu/mcheck/x86_mca.h
index 76467d6..e25d619 100644
--- a/xen/arch/x86/cpu/mcheck/x86_mca.h
+++ b/xen/arch/x86/cpu/mcheck/x86_mca.h
@@ -153,6 +153,6 @@ struct mca_error_handler
 };
 
 /* Global variables */
-extern bool_t mce_disabled;
+extern bool_t opt_mce;
 
 #endif /* X86_MCA_H */
diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index 87f0e60..b86bdd7 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -70,8 +70,8 @@
 # define pr_debug(fmt...)
 #endif
 
-static __initdata bool_t no_mwait_idle;
-invbool_param("mwait-idle", no_mwait_idle);
+static __initdata bool_t opt_mwait_idle = 1;
+boolean_param("mwait-idle", opt_mwait_idle);
 
 static unsigned int mwait_substates;
 
@@ -832,7 +832,7 @@ static int __init mwait_idle_probe(void)
 	    !mwait_substates)
 		return -ENODEV;
 
-	if (!max_cstate || no_mwait_idle) {
+	if (!max_cstate || !opt_mwait_idle) {
 		pr_debug(PREFIX "disabled\n");
 		return -EPERM;
 	}
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 76c7b0f..b8a28d7 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -60,12 +60,12 @@ static unsigned int __initdata max_cpus;
 integer_param("maxcpus", max_cpus);
 
 /* smep: Enable/disable Supervisor Mode Execution Protection (default on). */
-static bool_t __initdata disable_smep;
-invbool_param("smep", disable_smep);
+static bool_t __initdata opt_smep = 1;
+boolean_param("smep", opt_smep);
 
 /* smap: Enable/disable Supervisor Mode Access Prevention (default on). */
-static bool_t __initdata disable_smap;
-invbool_param("smap", disable_smap);
+static bool_t __initdata opt_smap = 1;
+boolean_param("smap", opt_smap);
 
 /* Boot dom0 in pvh mode */
 static bool_t __initdata opt_dom0pvh;
@@ -1297,12 +1297,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     set_in_cr4(X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT);
 
-    if ( disable_smep )
+    if ( !opt_smep )
         setup_clear_cpu_cap(X86_FEATURE_SMEP);
     if ( cpu_has_smep )
         set_in_cr4(X86_CR4_SMEP);
 
-    if ( disable_smap )
+    if ( !opt_smap )
         setup_clear_cpu_cap(X86_FEATURE_SMAP);
     if ( cpu_has_smap )
         set_in_cr4(X86_CR4_SMAP);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDk-0001OI-D6; Sun, 14 Feb 2016 14:00:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDj-0001O5-2Y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:15 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	7D/A7-17089-E6880C65; Sun, 14 Feb 2016 14:00:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455458412!13853078!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41684 invoked from network); 14 Feb 2016 14:00:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFH-0005Lc-Sz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDg-0003fO-IH
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDg-0003fO-IH@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:12 +0000
Subject: [Xen-changelog] [xen master] x86: drop the uses of invbool_param()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbf56e49ea2590542dfd46bfd0d86007ab9fa491
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:41:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:41:59 2016 +0100

    x86: drop the uses of invbool_param()
    
    There are only four users, and invbool_param() is an unnecessary cognitive
    overhead to use.
    
    Convert the four users to boolean_param(), and consistency use opt_* for the
    variable name.
    
    No change to the behaviour of the command line arguments.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mcheck/mce.c       |  8 ++++----
 xen/arch/x86/cpu/mcheck/mce_intel.c |  8 ++++----
 xen/arch/x86/cpu/mcheck/non-fatal.c |  2 +-
 xen/arch/x86/cpu/mcheck/x86_mca.h   |  2 +-
 xen/arch/x86/cpu/mwait-idle.c       |  6 +++---
 xen/arch/x86/setup.c                | 12 ++++++------
 6 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index d746d0e..cc446eb 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -30,8 +30,8 @@
 #include "util.h"
 #include "vmce.h"
 
-bool_t __read_mostly mce_disabled;
-invbool_param("mce", mce_disabled);
+bool_t __read_mostly opt_mce = 1;
+boolean_param("mce", opt_mce);
 bool_t __read_mostly mce_broadcast = 0;
 bool_t is_mc_panic;
 unsigned int __read_mostly nr_mce_banks;
@@ -627,7 +627,7 @@ static void set_poll_bankmask(struct cpuinfo_x86 *c)
     mb = per_cpu(poll_bankmask, cpu);
     BUG_ON(!mb);
 
-    if (cmci_support && !mce_disabled) {
+    if (cmci_support && opt_mce) {
         mb->num = per_cpu(no_cmci_banks, cpu)->num;
         bitmap_copy(mb->bank_map, per_cpu(no_cmci_banks, cpu)->bank_map,
                     nr_mce_banks);
@@ -734,7 +734,7 @@ void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp)
 {
     enum mcheck_type inited = mcheck_none;
 
-    if ( mce_disabled )
+    if ( !opt_mce )
     {
         if ( bsp )
             printk(XENLOG_INFO "MCE support disabled by bootparam\n");
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 193366b..0b7fe53 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -587,7 +587,7 @@ static void cmci_discover(void)
 
 static void mce_set_owner(void)
 {
-    if (!cmci_support || mce_disabled == 1)
+    if (!cmci_support || !opt_mce)
         return;
 
     cmci_discover();
@@ -600,7 +600,7 @@ static void __cpu_mcheck_distribute_cmci(void *unused)
 
 static void cpu_mcheck_distribute_cmci(void)
 {
-    if (cmci_support && !mce_disabled)
+    if (cmci_support && opt_mce)
         on_each_cpu(__cpu_mcheck_distribute_cmci, NULL, 0);
 }
 
@@ -608,7 +608,7 @@ static void clear_cmci(void)
 {
     int i;
 
-    if (!cmci_support || mce_disabled == 1)
+    if (!cmci_support || !opt_mce)
         return;
 
     mce_printk(MCE_VERBOSE, "CMCI: clear_cmci support on CPU%d\n",
@@ -630,7 +630,7 @@ static void cpu_mcheck_disable(void)
 {
     clear_in_cr4(X86_CR4_MCE);
 
-    if (cmci_support && !mce_disabled)
+    if (cmci_support && opt_mce)
         clear_cmci();
 }
 
diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 8cd6635..da5cae9 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -91,7 +91,7 @@ static int __init init_nonfatal_mce_checker(void)
 	struct cpuinfo_x86 *c = &boot_cpu_data;
 
 	/* Check for MCE support */
-	if (mce_disabled || !mce_available(c))
+	if (!opt_mce || !mce_available(c))
 		return -ENODEV;
 
 	if (__get_cpu_var(poll_bankmask) == NULL)
diff --git a/xen/arch/x86/cpu/mcheck/x86_mca.h b/xen/arch/x86/cpu/mcheck/x86_mca.h
index 76467d6..e25d619 100644
--- a/xen/arch/x86/cpu/mcheck/x86_mca.h
+++ b/xen/arch/x86/cpu/mcheck/x86_mca.h
@@ -153,6 +153,6 @@ struct mca_error_handler
 };
 
 /* Global variables */
-extern bool_t mce_disabled;
+extern bool_t opt_mce;
 
 #endif /* X86_MCA_H */
diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index 87f0e60..b86bdd7 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -70,8 +70,8 @@
 # define pr_debug(fmt...)
 #endif
 
-static __initdata bool_t no_mwait_idle;
-invbool_param("mwait-idle", no_mwait_idle);
+static __initdata bool_t opt_mwait_idle = 1;
+boolean_param("mwait-idle", opt_mwait_idle);
 
 static unsigned int mwait_substates;
 
@@ -832,7 +832,7 @@ static int __init mwait_idle_probe(void)
 	    !mwait_substates)
 		return -ENODEV;
 
-	if (!max_cstate || no_mwait_idle) {
+	if (!max_cstate || !opt_mwait_idle) {
 		pr_debug(PREFIX "disabled\n");
 		return -EPERM;
 	}
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 76c7b0f..b8a28d7 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -60,12 +60,12 @@ static unsigned int __initdata max_cpus;
 integer_param("maxcpus", max_cpus);
 
 /* smep: Enable/disable Supervisor Mode Execution Protection (default on). */
-static bool_t __initdata disable_smep;
-invbool_param("smep", disable_smep);
+static bool_t __initdata opt_smep = 1;
+boolean_param("smep", opt_smep);
 
 /* smap: Enable/disable Supervisor Mode Access Prevention (default on). */
-static bool_t __initdata disable_smap;
-invbool_param("smap", disable_smap);
+static bool_t __initdata opt_smap = 1;
+boolean_param("smap", opt_smap);
 
 /* Boot dom0 in pvh mode */
 static bool_t __initdata opt_dom0pvh;
@@ -1297,12 +1297,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     set_in_cr4(X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT);
 
-    if ( disable_smep )
+    if ( !opt_smep )
         setup_clear_cpu_cap(X86_FEATURE_SMEP);
     if ( cpu_has_smep )
         set_in_cr4(X86_CR4_SMEP);
 
-    if ( disable_smap )
+    if ( !opt_smap )
         setup_clear_cpu_cap(X86_FEATURE_SMAP);
     if ( cpu_has_smap )
         set_in_cr4(X86_CR4_SMAP);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDu-0001Qk-H4; Sun, 14 Feb 2016 14:00:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDt-0001QV-7X
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:25 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	64/44-10115-87880C65; Sun, 14 Feb 2016 14:00:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458423!21698441!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3866 invoked from network); 14 Feb 2016 14:00:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFS-0005MC-Ad
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDq-0003fm-S7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDq-0003fm-S7@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:22 +0000
Subject: [Xen-changelog] [xen master] init: drop invbool_param()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1be853024d79ef46748c7ced1684000dd708cc8c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:42:24 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:42:24 2016 +0100

    init: drop invbool_param()
    
    There are now no users.  No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/kernel.c    | 5 +----
 xen/include/xen/init.h | 5 -----
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 6a3196a..0618da2 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -121,12 +121,9 @@ void __init cmdline_parse(const char *cmdline)
                     simple_strtoll(optval, NULL, 0));
                 break;
             case OPT_BOOL:
-            case OPT_INVBOOL:
                 if ( !parse_bool(optval) )
                     bool_assert = !bool_assert;
-                assign_integer_param(
-                    param,
-                    (param->type == OPT_BOOL) == bool_assert);
+                assign_integer_param(param, bool_assert);
                 break;
             case OPT_SIZE:
                 assign_integer_param(
diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 7072013..6081102 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -78,7 +78,6 @@ struct kernel_param {
         OPT_STR,
         OPT_UINT,
         OPT_BOOL,
-        OPT_INVBOOL,
         OPT_SIZE,
         OPT_CUSTOM
     } type;
@@ -98,10 +97,6 @@ extern struct kernel_param __setup_start, __setup_end;
     __setup_str __setup_str_##_var[] = _name; \
     __kparam __setup_##_var = \
         { __setup_str_##_var, OPT_BOOL, &_var, sizeof(_var) }
-#define invbool_param(_name, _var) \
-    __setup_str __setup_str_##_var[] = _name; \
-    __kparam __setup_##_var = \
-        { __setup_str_##_var, OPT_INVBOOL, &_var, sizeof(_var) }
 #define integer_param(_name, _var) \
     __setup_str __setup_str_##_var[] = _name; \
     __kparam __setup_##_var = \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxDu-0001Qk-H4; Sun, 14 Feb 2016 14:00:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDt-0001QV-7X
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:25 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	64/44-10115-87880C65; Sun, 14 Feb 2016 14:00:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458423!21698441!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3866 invoked from network); 14 Feb 2016 14:00:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFS-0005MC-Ad
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxDq-0003fm-S7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxDq-0003fm-S7@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:22 +0000
Subject: [Xen-changelog] [xen master] init: drop invbool_param()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1be853024d79ef46748c7ced1684000dd708cc8c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:42:24 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:42:24 2016 +0100

    init: drop invbool_param()
    
    There are now no users.  No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/kernel.c    | 5 +----
 xen/include/xen/init.h | 5 -----
 2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 6a3196a..0618da2 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -121,12 +121,9 @@ void __init cmdline_parse(const char *cmdline)
                     simple_strtoll(optval, NULL, 0));
                 break;
             case OPT_BOOL:
-            case OPT_INVBOOL:
                 if ( !parse_bool(optval) )
                     bool_assert = !bool_assert;
-                assign_integer_param(
-                    param,
-                    (param->type == OPT_BOOL) == bool_assert);
+                assign_integer_param(param, bool_assert);
                 break;
             case OPT_SIZE:
                 assign_integer_param(
diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 7072013..6081102 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -78,7 +78,6 @@ struct kernel_param {
         OPT_STR,
         OPT_UINT,
         OPT_BOOL,
-        OPT_INVBOOL,
         OPT_SIZE,
         OPT_CUSTOM
     } type;
@@ -98,10 +97,6 @@ extern struct kernel_param __setup_start, __setup_end;
     __setup_str __setup_str_##_var[] = _name; \
     __kparam __setup_##_var = \
         { __setup_str_##_var, OPT_BOOL, &_var, sizeof(_var) }
-#define invbool_param(_name, _var) \
-    __setup_str __setup_str_##_var[] = _name; \
-    __kparam __setup_##_var = \
-        { __setup_str_##_var, OPT_INVBOOL, &_var, sizeof(_var) }
 #define integer_param(_name, _var) \
     __setup_str __setup_str_##_var[] = _name; \
     __kparam __setup_##_var = \
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxE5-0001Si-OY; Sun, 14 Feb 2016 14:00:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE3-0001SP-R4
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:35 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	2C/1A-21594-38880C65; Sun, 14 Feb 2016 14:00:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455458433!21971711!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34947 invoked from network); 14 Feb 2016 14:00:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFc-0005MT-MM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE1-0003gi-Ae
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxE1-0003gi-Ae@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:33 +0000
Subject: [Xen-changelog] [xen master] x86: avoid overriding initialisers in
	arrays
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dab76ffdfa29ac3e50d908649638decb32c14483
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:44:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:44:01 2016 +0100

    x86: avoid overriding initialisers in arrays
    
    Clang objects to having multiple initialisers when creating an array.
    
    As this warning is useful for spotting obscure bugs, disabling it is
    unhelpful.  Instead, fix our two deliberate usecases.
    
    In the p2m-ept case, pull the array out into a helper function, so the helper
    can guarentee to cover the NULL pointer case.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mtrr/generic.c |  3 +--
 xen/arch/x86/mm/p2m-ept.c       | 27 ++++++++++++++++-----------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index ea0efe2..8839f8d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -91,7 +91,6 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[0 ... MTRR_NUM_TYPES - 1] = "?",
 		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
 		[MTRR_TYPE_WRCOMB]         = "write-combining",
 		[MTRR_TYPE_WRTHROUGH]      = "write-through",
@@ -99,7 +98,7 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 		[MTRR_TYPE_WRBACK]         = "write-back",
 	};
 
-	return x < MTRR_NUM_TYPES ? strings[x] : "?";
+	return x < MTRR_NUM_TYPES ? (strings[x] ?: "?") : "?";
 }
 
 static unsigned int __initdata last_fixed_start;
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index c094320..c5fe906 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1201,6 +1201,20 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
     free_cpumask_var(ept->invalidate);
 }
 
+static const char *memory_type_to_str(unsigned int x)
+{
+    static const char memory_types[8][2] = {
+        [MTRR_TYPE_UNCACHABLE]     = "UC",
+        [MTRR_TYPE_WRCOMB]         = "WC",
+        [MTRR_TYPE_WRTHROUGH]      = "WT",
+        [MTRR_TYPE_WRPROT]         = "WP",
+        [MTRR_TYPE_WRBACK]         = "WB",
+        [MTRR_NUM_TYPES]           = "??"
+    };
+
+    return x < ARRAY_SIZE(memory_types) ? (memory_types[x] ?: "?") : "?";
+}
+
 static void ept_dump_p2m_table(unsigned char key)
 {
     struct domain *d;
@@ -1212,15 +1226,6 @@ static void ept_dump_p2m_table(unsigned char key)
     unsigned long record_counter = 0;
     struct p2m_domain *p2m;
     struct ept_data *ept;
-    static const char memory_types[8][2] = {
-        [0 ... 7] = "?",
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
-    };
 
     for_each_domain(d)
     {
@@ -1260,8 +1265,8 @@ static void ept_dump_p2m_table(unsigned char key)
                            ept_entry->r ? 'r' : ' ',
                            ept_entry->w ? 'w' : ' ',
                            ept_entry->x ? 'x' : ' ',
-                           memory_types[ept_entry->emt][0],
-                           memory_types[ept_entry->emt][1]
+                           memory_type_to_str(ept_entry->emt)[0],
+                           memory_type_to_str(ept_entry->emt)[1]
                            ?: ept_entry->emt + '0',
                            c ?: ept_entry->ipat ? '!' : ' ');
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxE5-0001Si-OY; Sun, 14 Feb 2016 14:00:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE3-0001SP-R4
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:35 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	2C/1A-21594-38880C65; Sun, 14 Feb 2016 14:00:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455458433!21971711!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34947 invoked from network); 14 Feb 2016 14:00:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFc-0005MT-MM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxE1-0003gi-Ae
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxE1-0003gi-Ae@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:33 +0000
Subject: [Xen-changelog] [xen master] x86: avoid overriding initialisers in
	arrays
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dab76ffdfa29ac3e50d908649638decb32c14483
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:44:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:44:01 2016 +0100

    x86: avoid overriding initialisers in arrays
    
    Clang objects to having multiple initialisers when creating an array.
    
    As this warning is useful for spotting obscure bugs, disabling it is
    unhelpful.  Instead, fix our two deliberate usecases.
    
    In the p2m-ept case, pull the array out into a helper function, so the helper
    can guarentee to cover the NULL pointer case.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/cpu/mtrr/generic.c |  3 +--
 xen/arch/x86/mm/p2m-ept.c       | 27 ++++++++++++++++-----------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index ea0efe2..8839f8d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -91,7 +91,6 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[0 ... MTRR_NUM_TYPES - 1] = "?",
 		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
 		[MTRR_TYPE_WRCOMB]         = "write-combining",
 		[MTRR_TYPE_WRTHROUGH]      = "write-through",
@@ -99,7 +98,7 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 		[MTRR_TYPE_WRBACK]         = "write-back",
 	};
 
-	return x < MTRR_NUM_TYPES ? strings[x] : "?";
+	return x < MTRR_NUM_TYPES ? (strings[x] ?: "?") : "?";
 }
 
 static unsigned int __initdata last_fixed_start;
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index c094320..c5fe906 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1201,6 +1201,20 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
     free_cpumask_var(ept->invalidate);
 }
 
+static const char *memory_type_to_str(unsigned int x)
+{
+    static const char memory_types[8][2] = {
+        [MTRR_TYPE_UNCACHABLE]     = "UC",
+        [MTRR_TYPE_WRCOMB]         = "WC",
+        [MTRR_TYPE_WRTHROUGH]      = "WT",
+        [MTRR_TYPE_WRPROT]         = "WP",
+        [MTRR_TYPE_WRBACK]         = "WB",
+        [MTRR_NUM_TYPES]           = "??"
+    };
+
+    return x < ARRAY_SIZE(memory_types) ? (memory_types[x] ?: "?") : "?";
+}
+
 static void ept_dump_p2m_table(unsigned char key)
 {
     struct domain *d;
@@ -1212,15 +1226,6 @@ static void ept_dump_p2m_table(unsigned char key)
     unsigned long record_counter = 0;
     struct p2m_domain *p2m;
     struct ept_data *ept;
-    static const char memory_types[8][2] = {
-        [0 ... 7] = "?",
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
-    };
 
     for_each_domain(d)
     {
@@ -1260,8 +1265,8 @@ static void ept_dump_p2m_table(unsigned char key)
                            ept_entry->r ? 'r' : ' ',
                            ept_entry->w ? 'w' : ' ',
                            ept_entry->x ? 'x' : ' ',
-                           memory_types[ept_entry->emt][0],
-                           memory_types[ept_entry->emt][1]
+                           memory_type_to_str(ept_entry->emt)[0],
+                           memory_type_to_str(ept_entry->emt)[1]
                            ?: ept_entry->emt + '0',
                            c ?: ept_entry->ipat ? '!' : ' ');
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEL-0001UY-2l; Sun, 14 Feb 2016 14:00:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEK-0001UP-4p
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:52 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	9C/7D-09478-39880C65; Sun, 14 Feb 2016 14:00:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1455458449!22272564!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9124 invoked from network); 14 Feb 2016 14:00:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFs-0005Md-2J
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEB-0003hI-Lb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEB-0003hI-Lb@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:43 +0000
Subject: [Xen-changelog] [xen master] x86/p2m: use large pages for MMIO
	mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c3c756bde3feab4ab1640f2f3aed73b719118349
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:45:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:45:08 2016 +0100

    x86/p2m: use large pages for MMIO mappings
    
    When mapping large BARs (e.g. the frame buffer of a graphics card) the
    overhead of establishing such mappings using only 4k pages has,
    particularly after the XSA-125 fix, become unacceptable. Alter the
    XEN_DOMCTL_memory_mapping semantics once again, so that there's no
    longer a fixed amount of guest frames that represents the upper limit
    of what a single invocation can map. Instead bound execution time by
    limiting the number of iterations (regardless of page size).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
---
 tools/libxc/xc_domain.c     |  15 +++--
 xen/arch/x86/domain_build.c |   3 +-
 xen/arch/x86/hvm/vmx/vmx.c  |   2 +-
 xen/arch/x86/mm/p2m-ept.c   |   1 +
 xen/arch/x86/mm/p2m-pt.c    |  13 ++--
 xen/arch/x86/mm/p2m.c       | 154 +++++++++++++++++++++++++++++++++-----------
 xen/common/domctl.c         |   6 +-
 xen/common/memory.c         |   2 +-
 xen/include/asm-x86/p2m.h   |   5 +-
 xen/include/public/domctl.h |   9 ++-
 10 files changed, 156 insertions(+), 54 deletions(-)

diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index e21b602..4fa993a 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -2229,7 +2229,7 @@ int xc_domain_memory_mapping(
 {
     DECLARE_DOMCTL;
     xc_dominfo_t info;
-    int ret = 0, err;
+    int ret = 0, rc;
     unsigned long done = 0, nr, max_batch_sz;
 
     if ( xc_domain_getinfo(xch, domid, 1, &info) != 1 ||
@@ -2254,19 +2254,24 @@ int xc_domain_memory_mapping(
         domctl.u.memory_mapping.nr_mfns = nr;
         domctl.u.memory_mapping.first_gfn = first_gfn + done;
         domctl.u.memory_mapping.first_mfn = first_mfn + done;
-        err = do_domctl(xch, &domctl);
-        if ( err && errno == E2BIG )
+        rc = do_domctl(xch, &domctl);
+        if ( rc < 0 && errno == E2BIG )
         {
             if ( max_batch_sz <= 1 )
                 break;
             max_batch_sz >>= 1;
             continue;
         }
+        if ( rc > 0 )
+        {
+            done += rc;
+            continue;
+        }
         /* Save the first error... */
         if ( !ret )
-            ret = err;
+            ret = rc;
         /* .. and ignore the rest of them when removing. */
-        if ( err && add_mapping != DPCI_REMOVE_MAPPING )
+        if ( rc && add_mapping != DPCI_REMOVE_MAPPING )
             break;
 
         done += nr;
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index cb287f0..f9a3eca 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -436,7 +436,8 @@ static __init void pvh_add_mem_mapping(struct domain *d, unsigned long gfn,
         else
             a = p2m_access_rw;
 
-        if ( (rc = set_mmio_p2m_entry(d, gfn + i, _mfn(mfn + i), a)) )
+        if ( (rc = set_mmio_p2m_entry(d, gfn + i, _mfn(mfn + i),
+                                      PAGE_ORDER_4K, a)) )
             panic("pvh_add_mem_mapping: gfn:%lx mfn:%lx i:%ld rc:%d\n",
                   gfn, mfn, i, rc);
         if ( !(i & 0xfffff) )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b9f340c..5e99226 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2504,7 +2504,7 @@ static int vmx_alloc_vlapic_mapping(struct domain *d)
     share_xen_page_with_guest(pg, d, XENSHARE_writable);
     d->arch.hvm_domain.vmx.apic_access_mfn = mfn;
     set_mmio_p2m_entry(d, paddr_to_pfn(APIC_DEFAULT_PHYS_BASE), _mfn(mfn),
-                       p2m_get_hostp2m(d)->default_access);
+                       PAGE_ORDER_4K, p2m_get_hostp2m(d)->default_access);
 
     return 0;
 }
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index c5fe906..316e3f3 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -136,6 +136,7 @@ static void ept_p2m_type_to_flags(struct p2m_domain *p2m, ept_entry_t *entry,
             entry->r = entry->x = 1;
             entry->w = !rangeset_contains_singleton(mmio_ro_ranges,
                                                     entry->mfn);
+            ASSERT(entry->w || !is_epte_superpage(entry));
             entry->a = !!cpu_has_vmx_ept_ad;
             entry->d = entry->w && cpu_has_vmx_ept_ad;
             break;
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 0a7bee4..da546e8 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -72,7 +72,8 @@ static const unsigned long pgt[] = {
     PGT_l3_page_table
 };
 
-static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
+static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn,
+                                       unsigned int level)
 {
     unsigned long flags;
     /*
@@ -107,6 +108,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            ASSERT(!level);
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
@@ -436,7 +439,7 @@ static int do_recalc(struct p2m_domain *p2m, unsigned long gfn)
             p2m_type_t p2mt = p2m_is_logdirty_range(p2m, gfn & mask, gfn | ~mask)
                               ? p2m_ram_logdirty : p2m_ram_rw;
             unsigned long mfn = l1e_get_pfn(e);
-            unsigned long flags = p2m_type_to_flags(p2mt, _mfn(mfn));
+            unsigned long flags = p2m_type_to_flags(p2mt, _mfn(mfn), level);
 
             if ( level )
             {
@@ -573,7 +576,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
         ASSERT(!mfn_valid(mfn) || p2mt != p2m_mmio_direct);
         l3e_content = mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt)
             ? l3e_from_pfn(mfn_x(mfn),
-                           p2m_type_to_flags(p2mt, mfn) | _PAGE_PSE)
+                           p2m_type_to_flags(p2mt, mfn, 2) | _PAGE_PSE)
             : l3e_empty();
         entry_content.l1 = l3e_content.l3;
 
@@ -609,7 +612,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
 
         if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
             entry_content = p2m_l1e_from_pfn(mfn_x(mfn),
-                                             p2m_type_to_flags(p2mt, mfn));
+                                             p2m_type_to_flags(p2mt, mfn, 0));
         else
             entry_content = l1e_empty();
 
@@ -645,7 +648,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
         ASSERT(!mfn_valid(mfn) || p2mt != p2m_mmio_direct);
         if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
             l2e_content = l2e_from_pfn(mfn_x(mfn),
-                                       p2m_type_to_flags(p2mt, mfn) |
+                                       p2m_type_to_flags(p2mt, mfn, 1) |
                                        _PAGE_PSE);
         else
             l2e_content = l2e_empty();
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 1b43853..a25b18b 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -900,48 +900,64 @@ void p2m_change_type_range(struct domain *d,
     p2m_unlock(p2m);
 }
 
-/* Returns: 0 for success, -errno for failure */
+/*
+ * Returns:
+ *    0              for success
+ *    -errno         for failure
+ *    1 + new order  for caller to retry with smaller order (guaranteed
+ *                   to be smaller than order passed in)
+ */
 static int set_typed_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                               p2m_type_t gfn_p2mt, p2m_access_t access)
+                               unsigned int order, p2m_type_t gfn_p2mt,
+                               p2m_access_t access)
 {
     int rc = 0;
     p2m_access_t a;
     p2m_type_t ot;
     mfn_t omfn;
+    unsigned int cur_order = 0;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
     if ( !paging_mode_translate(d) )
         return -EIO;
 
-    gfn_lock(p2m, gfn, 0);
-    omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, NULL, NULL);
+    gfn_lock(p2m, gfn, order);
+    omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, &cur_order, NULL);
+    if ( cur_order < order )
+    {
+        gfn_unlock(p2m, gfn, order);
+        return cur_order + 1;
+    }
     if ( p2m_is_grant(ot) || p2m_is_foreign(ot) )
     {
-        gfn_unlock(p2m, gfn, 0);
+        gfn_unlock(p2m, gfn, order);
         domain_crash(d);
         return -ENOENT;
     }
     else if ( p2m_is_ram(ot) )
     {
-        ASSERT(mfn_valid(omfn));
-        set_gpfn_from_mfn(mfn_x(omfn), INVALID_M2P_ENTRY);
+        unsigned long i;
+
+        for ( i = 0; i < (1UL << order); ++i )
+        {
+            ASSERT(mfn_valid(_mfn(mfn_x(omfn) + i)));
+            set_gpfn_from_mfn(mfn_x(omfn) + i, INVALID_M2P_ENTRY);
+        }
     }
 
     P2M_DEBUG("set %d %lx %lx\n", gfn_p2mt, gfn, mfn_x(mfn));
-    rc = p2m_set_entry(p2m, gfn, mfn, PAGE_ORDER_4K, gfn_p2mt,
-                       access);
+    rc = p2m_set_entry(p2m, gfn, mfn, order, gfn_p2mt, access);
     if ( rc )
-        gdprintk(XENLOG_ERR,
-                 "p2m_set_entry failed! mfn=%08lx rc:%d\n",
-                 mfn_x(get_gfn_query_unlocked(p2m->domain, gfn, &ot)), rc);
+        gdprintk(XENLOG_ERR, "p2m_set_entry: %#lx:%u -> %d (0x%"PRI_mfn")\n",
+                 gfn, order, rc, mfn_x(mfn));
     else if ( p2m_is_pod(ot) )
     {
         pod_lock(p2m);
-        p2m->pod.entry_count--;
+        p2m->pod.entry_count -= 1UL << order;
         BUG_ON(p2m->pod.entry_count < 0);
         pod_unlock(p2m);
     }
-    gfn_unlock(p2m, gfn, 0);
+    gfn_unlock(p2m, gfn, order);
 
     return rc;
 }
@@ -950,14 +966,19 @@ static int set_typed_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
 static int set_foreign_p2m_entry(struct domain *d, unsigned long gfn,
                                  mfn_t mfn)
 {
-    return set_typed_p2m_entry(d, gfn, mfn, p2m_map_foreign,
+    return set_typed_p2m_entry(d, gfn, mfn, PAGE_ORDER_4K, p2m_map_foreign,
                                p2m_get_hostp2m(d)->default_access);
 }
 
 int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                       p2m_access_t access)
+                       unsigned int order, p2m_access_t access)
 {
-    return set_typed_p2m_entry(d, gfn, mfn, p2m_mmio_direct, access);
+    if ( order > PAGE_ORDER_4K &&
+         rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return PAGE_ORDER_4K + 1;
+
+    return set_typed_p2m_entry(d, gfn, mfn, order, p2m_mmio_direct, access);
 }
 
 int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
@@ -1010,20 +1031,33 @@ int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
     return ret;
 }
 
-/* Returns: 0 for success, -errno for failure */
-int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn)
+/*
+ * Returns:
+ *    0        for success
+ *    -errno   for failure
+ *    order+1  for caller to retry with order (guaranteed smaller than
+ *             the order value passed in)
+ */
+int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
+                         unsigned int order)
 {
     int rc = -EINVAL;
     mfn_t actual_mfn;
     p2m_access_t a;
     p2m_type_t t;
+    unsigned int cur_order = 0;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
     if ( !paging_mode_translate(d) )
         return -EIO;
 
-    gfn_lock(p2m, gfn, 0);
-    actual_mfn = p2m->get_entry(p2m, gfn, &t, &a, 0, NULL, NULL);
+    gfn_lock(p2m, gfn, order);
+    actual_mfn = p2m->get_entry(p2m, gfn, &t, &a, 0, &cur_order, NULL);
+    if ( cur_order < order )
+    {
+        rc = cur_order + 1;
+        goto out;
+    }
 
     /* Do not use mfn_valid() here as it will usually fail for MMIO pages. */
     if ( (INVALID_MFN == mfn_x(actual_mfn)) || (t != p2m_mmio_direct) )
@@ -1036,11 +1070,11 @@ int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn)
         gdprintk(XENLOG_WARNING,
                  "no mapping between mfn %08lx and gfn %08lx\n",
                  mfn_x(mfn), gfn);
-    rc = p2m_set_entry(p2m, gfn, _mfn(INVALID_MFN), PAGE_ORDER_4K, p2m_invalid,
+    rc = p2m_set_entry(p2m, gfn, _mfn(INVALID_MFN), order, p2m_invalid,
                        p2m->default_access);
 
  out:
-    gfn_unlock(p2m, gfn, 0);
+    gfn_unlock(p2m, gfn, order);
 
     return rc;
 }
@@ -2131,6 +2165,37 @@ void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn,
     return map_domain_page(*mfn);
 }
 
+static unsigned int mmio_order(const struct domain *d,
+                               unsigned long start_fn, unsigned long nr)
+{
+    /*
+     * Note that the !iommu_use_hap_pt() here has three effects:
+     * - cover iommu_{,un}map_page() not having an "order" input yet,
+     * - exclude shadow mode (which doesn't support large MMIO mappings),
+     * - exclude PV guests, should execution reach this code for such.
+     * So be careful when altering this.
+     */
+    if ( !need_iommu(d) || !iommu_use_hap_pt(d) ||
+         (start_fn & ((1UL << PAGE_ORDER_2M) - 1)) || !(nr >> PAGE_ORDER_2M) )
+        return PAGE_ORDER_4K;
+
+    if ( 0 /*
+            * Don't use 1Gb pages, to limit the iteration count in
+            * set_typed_p2m_entry() when it needs to zap M2P entries
+            * for a RAM range.
+            */ &&
+         !(start_fn & ((1UL << PAGE_ORDER_1G) - 1)) && (nr >> PAGE_ORDER_1G) &&
+         hap_has_1gb )
+        return PAGE_ORDER_1G;
+
+    if ( hap_has_2mb )
+        return PAGE_ORDER_2M;
+
+    return PAGE_ORDER_4K;
+}
+
+#define MAP_MMIO_MAX_ITER 64 /* pretty arbitrary */
+
 int map_mmio_regions(struct domain *d,
                      unsigned long start_gfn,
                      unsigned long nr,
@@ -2138,22 +2203,29 @@ int map_mmio_regions(struct domain *d,
 {
     int ret = 0;
     unsigned long i;
+    unsigned int iter, order;
 
     if ( !paging_mode_translate(d) )
         return 0;
 
-    for ( i = 0; !ret && i < nr; i++ )
+    for ( iter = i = 0; i < nr && iter < MAP_MMIO_MAX_ITER;
+          i += 1UL << order, ++iter )
     {
-        ret = set_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i),
-                                 p2m_get_hostp2m(d)->default_access);
-        if ( ret )
+        /* OR'ing gfn and mfn values will return an order suitable to both. */
+        for ( order = mmio_order(d, (start_gfn + i) | (mfn + i), nr - i); ;
+              order = ret - 1 )
         {
-            unmap_mmio_regions(d, start_gfn, i, mfn);
-            break;
+            ret = set_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i), order,
+                                     p2m_get_hostp2m(d)->default_access);
+            if ( ret <= 0 )
+                break;
+            ASSERT(ret <= order);
         }
+        if ( ret < 0 )
+            break;
     }
 
-    return ret;
+    return i == nr ? 0 : i ?: ret;
 }
 
 int unmap_mmio_regions(struct domain *d,
@@ -2161,20 +2233,30 @@ int unmap_mmio_regions(struct domain *d,
                        unsigned long nr,
                        unsigned long mfn)
 {
-    int err = 0;
+    int ret = 0;
     unsigned long i;
+    unsigned int iter, order;
 
     if ( !paging_mode_translate(d) )
         return 0;
 
-    for ( i = 0; i < nr; i++ )
+    for ( iter = i = 0; i < nr && iter < MAP_MMIO_MAX_ITER;
+          i += 1UL << order, ++iter )
     {
-        int ret = clear_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i));
-        if ( ret )
-            err = ret;
+        /* OR'ing gfn and mfn values will return an order suitable to both. */
+        for ( order = mmio_order(d, (start_gfn + i) | (mfn + i), nr - i); ;
+              order = ret - 1 )
+        {
+            ret = clear_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i), order);
+            if ( ret <= 0 )
+                break;
+            ASSERT(ret <= order);
+        }
+        if ( ret < 0 )
+            break;
     }
 
-    return err;
+    return i == nr ? 0 : i ?: ret;
 }
 
 unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 121a34a..22fa5d5 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -1046,10 +1046,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
              (gfn + nr_mfns - 1) < gfn ) /* wrap? */
             break;
 
+#ifndef CONFIG_X86 /* XXX ARM!? */
         ret = -E2BIG;
         /* Must break hypercall up as this could take a while. */
         if ( nr_mfns > 64 )
             break;
+#endif
 
         ret = -EPERM;
         if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
@@ -1067,7 +1069,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
                    d->domain_id, gfn, mfn, nr_mfns);
 
             ret = map_mmio_regions(d, gfn, nr_mfns, mfn);
-            if ( ret )
+            if ( ret < 0 )
                 printk(XENLOG_G_WARNING
                        "memory_map:fail: dom%d gfn=%lx mfn=%lx nr=%lx ret:%ld\n",
                        d->domain_id, gfn, mfn, nr_mfns, ret);
@@ -1079,7 +1081,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
                    d->domain_id, gfn, mfn, nr_mfns);
 
             ret = unmap_mmio_regions(d, gfn, nr_mfns, mfn);
-            if ( ret && is_hardware_domain(current->domain) )
+            if ( ret < 0 && is_hardware_domain(current->domain) )
                 printk(XENLOG_ERR
                        "memory_map: error %ld removing dom%d access to [%lx,%lx]\n",
                        ret, d->domain_id, mfn, mfn_end);
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 9ff1145..ef57219 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -259,7 +259,7 @@ int guest_remove_page(struct domain *d, unsigned long gmfn)
     }
     if ( p2mt == p2m_mmio_direct )
     {
-        clear_mmio_p2m_entry(d, gmfn, _mfn(mfn));
+        clear_mmio_p2m_entry(d, gmfn, _mfn(mfn), 0);
         put_gfn(d, gmfn);
         return 1;
     }
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index c0df1ea..ca0480e 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -574,8 +574,9 @@ int p2m_is_logdirty_range(struct p2m_domain *, unsigned long start,
 
 /* Set mmio addresses in the p2m table (for pass-through) */
 int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                       p2m_access_t access);
-int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn);
+                       unsigned int order, p2m_access_t access);
+int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
+                         unsigned int order);
 
 /* Set identity addresses in the p2m table (for pass-through) */
 int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 370bc0f..a934318 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -545,8 +545,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_bind_pt_irq_t);
 
 
 /* Bind machine I/O address range -> HVM address range. */
-/* If this returns -E2BIG lower nr_mfns value. */
 /* XEN_DOMCTL_memory_mapping */
+/* Returns
+   - zero     success, everything done
+   - -E2BIG   passed in nr_mfns value too large for the implementation
+   - positive partial success for the first <result> page frames (with
+              <result> less than nr_mfns), requiring re-invocation by the
+              caller after updating inputs
+   - negative error; other than -E2BIG
+*/
 #define DPCI_ADD_MAPPING         1
 #define DPCI_REMOVE_MAPPING      0
 struct xen_domctl_memory_mapping {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:00:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEL-0001UY-2l; Sun, 14 Feb 2016 14:00:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEK-0001UP-4p
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:52 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	9C/7D-09478-39880C65; Sun, 14 Feb 2016 14:00:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1455458449!22272564!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9124 invoked from network); 14 Feb 2016 14:00:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:00:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFs-0005Md-2J
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEB-0003hI-Lb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEB-0003hI-Lb@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:43 +0000
Subject: [Xen-changelog] [xen master] x86/p2m: use large pages for MMIO
	mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c3c756bde3feab4ab1640f2f3aed73b719118349
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:45:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:45:08 2016 +0100

    x86/p2m: use large pages for MMIO mappings
    
    When mapping large BARs (e.g. the frame buffer of a graphics card) the
    overhead of establishing such mappings using only 4k pages has,
    particularly after the XSA-125 fix, become unacceptable. Alter the
    XEN_DOMCTL_memory_mapping semantics once again, so that there's no
    longer a fixed amount of guest frames that represents the upper limit
    of what a single invocation can map. Instead bound execution time by
    limiting the number of iterations (regardless of page size).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
---
 tools/libxc/xc_domain.c     |  15 +++--
 xen/arch/x86/domain_build.c |   3 +-
 xen/arch/x86/hvm/vmx/vmx.c  |   2 +-
 xen/arch/x86/mm/p2m-ept.c   |   1 +
 xen/arch/x86/mm/p2m-pt.c    |  13 ++--
 xen/arch/x86/mm/p2m.c       | 154 +++++++++++++++++++++++++++++++++-----------
 xen/common/domctl.c         |   6 +-
 xen/common/memory.c         |   2 +-
 xen/include/asm-x86/p2m.h   |   5 +-
 xen/include/public/domctl.h |   9 ++-
 10 files changed, 156 insertions(+), 54 deletions(-)

diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index e21b602..4fa993a 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -2229,7 +2229,7 @@ int xc_domain_memory_mapping(
 {
     DECLARE_DOMCTL;
     xc_dominfo_t info;
-    int ret = 0, err;
+    int ret = 0, rc;
     unsigned long done = 0, nr, max_batch_sz;
 
     if ( xc_domain_getinfo(xch, domid, 1, &info) != 1 ||
@@ -2254,19 +2254,24 @@ int xc_domain_memory_mapping(
         domctl.u.memory_mapping.nr_mfns = nr;
         domctl.u.memory_mapping.first_gfn = first_gfn + done;
         domctl.u.memory_mapping.first_mfn = first_mfn + done;
-        err = do_domctl(xch, &domctl);
-        if ( err && errno == E2BIG )
+        rc = do_domctl(xch, &domctl);
+        if ( rc < 0 && errno == E2BIG )
         {
             if ( max_batch_sz <= 1 )
                 break;
             max_batch_sz >>= 1;
             continue;
         }
+        if ( rc > 0 )
+        {
+            done += rc;
+            continue;
+        }
         /* Save the first error... */
         if ( !ret )
-            ret = err;
+            ret = rc;
         /* .. and ignore the rest of them when removing. */
-        if ( err && add_mapping != DPCI_REMOVE_MAPPING )
+        if ( rc && add_mapping != DPCI_REMOVE_MAPPING )
             break;
 
         done += nr;
diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c
index cb287f0..f9a3eca 100644
--- a/xen/arch/x86/domain_build.c
+++ b/xen/arch/x86/domain_build.c
@@ -436,7 +436,8 @@ static __init void pvh_add_mem_mapping(struct domain *d, unsigned long gfn,
         else
             a = p2m_access_rw;
 
-        if ( (rc = set_mmio_p2m_entry(d, gfn + i, _mfn(mfn + i), a)) )
+        if ( (rc = set_mmio_p2m_entry(d, gfn + i, _mfn(mfn + i),
+                                      PAGE_ORDER_4K, a)) )
             panic("pvh_add_mem_mapping: gfn:%lx mfn:%lx i:%ld rc:%d\n",
                   gfn, mfn, i, rc);
         if ( !(i & 0xfffff) )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b9f340c..5e99226 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2504,7 +2504,7 @@ static int vmx_alloc_vlapic_mapping(struct domain *d)
     share_xen_page_with_guest(pg, d, XENSHARE_writable);
     d->arch.hvm_domain.vmx.apic_access_mfn = mfn;
     set_mmio_p2m_entry(d, paddr_to_pfn(APIC_DEFAULT_PHYS_BASE), _mfn(mfn),
-                       p2m_get_hostp2m(d)->default_access);
+                       PAGE_ORDER_4K, p2m_get_hostp2m(d)->default_access);
 
     return 0;
 }
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index c5fe906..316e3f3 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -136,6 +136,7 @@ static void ept_p2m_type_to_flags(struct p2m_domain *p2m, ept_entry_t *entry,
             entry->r = entry->x = 1;
             entry->w = !rangeset_contains_singleton(mmio_ro_ranges,
                                                     entry->mfn);
+            ASSERT(entry->w || !is_epte_superpage(entry));
             entry->a = !!cpu_has_vmx_ept_ad;
             entry->d = entry->w && cpu_has_vmx_ept_ad;
             break;
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 0a7bee4..da546e8 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -72,7 +72,8 @@ static const unsigned long pgt[] = {
     PGT_l3_page_table
 };
 
-static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
+static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn,
+                                       unsigned int level)
 {
     unsigned long flags;
     /*
@@ -107,6 +108,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            ASSERT(!level);
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
@@ -436,7 +439,7 @@ static int do_recalc(struct p2m_domain *p2m, unsigned long gfn)
             p2m_type_t p2mt = p2m_is_logdirty_range(p2m, gfn & mask, gfn | ~mask)
                               ? p2m_ram_logdirty : p2m_ram_rw;
             unsigned long mfn = l1e_get_pfn(e);
-            unsigned long flags = p2m_type_to_flags(p2mt, _mfn(mfn));
+            unsigned long flags = p2m_type_to_flags(p2mt, _mfn(mfn), level);
 
             if ( level )
             {
@@ -573,7 +576,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
         ASSERT(!mfn_valid(mfn) || p2mt != p2m_mmio_direct);
         l3e_content = mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt)
             ? l3e_from_pfn(mfn_x(mfn),
-                           p2m_type_to_flags(p2mt, mfn) | _PAGE_PSE)
+                           p2m_type_to_flags(p2mt, mfn, 2) | _PAGE_PSE)
             : l3e_empty();
         entry_content.l1 = l3e_content.l3;
 
@@ -609,7 +612,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
 
         if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
             entry_content = p2m_l1e_from_pfn(mfn_x(mfn),
-                                             p2m_type_to_flags(p2mt, mfn));
+                                             p2m_type_to_flags(p2mt, mfn, 0));
         else
             entry_content = l1e_empty();
 
@@ -645,7 +648,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn,
         ASSERT(!mfn_valid(mfn) || p2mt != p2m_mmio_direct);
         if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
             l2e_content = l2e_from_pfn(mfn_x(mfn),
-                                       p2m_type_to_flags(p2mt, mfn) |
+                                       p2m_type_to_flags(p2mt, mfn, 1) |
                                        _PAGE_PSE);
         else
             l2e_content = l2e_empty();
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 1b43853..a25b18b 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -900,48 +900,64 @@ void p2m_change_type_range(struct domain *d,
     p2m_unlock(p2m);
 }
 
-/* Returns: 0 for success, -errno for failure */
+/*
+ * Returns:
+ *    0              for success
+ *    -errno         for failure
+ *    1 + new order  for caller to retry with smaller order (guaranteed
+ *                   to be smaller than order passed in)
+ */
 static int set_typed_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                               p2m_type_t gfn_p2mt, p2m_access_t access)
+                               unsigned int order, p2m_type_t gfn_p2mt,
+                               p2m_access_t access)
 {
     int rc = 0;
     p2m_access_t a;
     p2m_type_t ot;
     mfn_t omfn;
+    unsigned int cur_order = 0;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
     if ( !paging_mode_translate(d) )
         return -EIO;
 
-    gfn_lock(p2m, gfn, 0);
-    omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, NULL, NULL);
+    gfn_lock(p2m, gfn, order);
+    omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, &cur_order, NULL);
+    if ( cur_order < order )
+    {
+        gfn_unlock(p2m, gfn, order);
+        return cur_order + 1;
+    }
     if ( p2m_is_grant(ot) || p2m_is_foreign(ot) )
     {
-        gfn_unlock(p2m, gfn, 0);
+        gfn_unlock(p2m, gfn, order);
         domain_crash(d);
         return -ENOENT;
     }
     else if ( p2m_is_ram(ot) )
     {
-        ASSERT(mfn_valid(omfn));
-        set_gpfn_from_mfn(mfn_x(omfn), INVALID_M2P_ENTRY);
+        unsigned long i;
+
+        for ( i = 0; i < (1UL << order); ++i )
+        {
+            ASSERT(mfn_valid(_mfn(mfn_x(omfn) + i)));
+            set_gpfn_from_mfn(mfn_x(omfn) + i, INVALID_M2P_ENTRY);
+        }
     }
 
     P2M_DEBUG("set %d %lx %lx\n", gfn_p2mt, gfn, mfn_x(mfn));
-    rc = p2m_set_entry(p2m, gfn, mfn, PAGE_ORDER_4K, gfn_p2mt,
-                       access);
+    rc = p2m_set_entry(p2m, gfn, mfn, order, gfn_p2mt, access);
     if ( rc )
-        gdprintk(XENLOG_ERR,
-                 "p2m_set_entry failed! mfn=%08lx rc:%d\n",
-                 mfn_x(get_gfn_query_unlocked(p2m->domain, gfn, &ot)), rc);
+        gdprintk(XENLOG_ERR, "p2m_set_entry: %#lx:%u -> %d (0x%"PRI_mfn")\n",
+                 gfn, order, rc, mfn_x(mfn));
     else if ( p2m_is_pod(ot) )
     {
         pod_lock(p2m);
-        p2m->pod.entry_count--;
+        p2m->pod.entry_count -= 1UL << order;
         BUG_ON(p2m->pod.entry_count < 0);
         pod_unlock(p2m);
     }
-    gfn_unlock(p2m, gfn, 0);
+    gfn_unlock(p2m, gfn, order);
 
     return rc;
 }
@@ -950,14 +966,19 @@ static int set_typed_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
 static int set_foreign_p2m_entry(struct domain *d, unsigned long gfn,
                                  mfn_t mfn)
 {
-    return set_typed_p2m_entry(d, gfn, mfn, p2m_map_foreign,
+    return set_typed_p2m_entry(d, gfn, mfn, PAGE_ORDER_4K, p2m_map_foreign,
                                p2m_get_hostp2m(d)->default_access);
 }
 
 int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                       p2m_access_t access)
+                       unsigned int order, p2m_access_t access)
 {
-    return set_typed_p2m_entry(d, gfn, mfn, p2m_mmio_direct, access);
+    if ( order > PAGE_ORDER_4K &&
+         rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return PAGE_ORDER_4K + 1;
+
+    return set_typed_p2m_entry(d, gfn, mfn, order, p2m_mmio_direct, access);
 }
 
 int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
@@ -1010,20 +1031,33 @@ int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
     return ret;
 }
 
-/* Returns: 0 for success, -errno for failure */
-int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn)
+/*
+ * Returns:
+ *    0        for success
+ *    -errno   for failure
+ *    order+1  for caller to retry with order (guaranteed smaller than
+ *             the order value passed in)
+ */
+int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
+                         unsigned int order)
 {
     int rc = -EINVAL;
     mfn_t actual_mfn;
     p2m_access_t a;
     p2m_type_t t;
+    unsigned int cur_order = 0;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
     if ( !paging_mode_translate(d) )
         return -EIO;
 
-    gfn_lock(p2m, gfn, 0);
-    actual_mfn = p2m->get_entry(p2m, gfn, &t, &a, 0, NULL, NULL);
+    gfn_lock(p2m, gfn, order);
+    actual_mfn = p2m->get_entry(p2m, gfn, &t, &a, 0, &cur_order, NULL);
+    if ( cur_order < order )
+    {
+        rc = cur_order + 1;
+        goto out;
+    }
 
     /* Do not use mfn_valid() here as it will usually fail for MMIO pages. */
     if ( (INVALID_MFN == mfn_x(actual_mfn)) || (t != p2m_mmio_direct) )
@@ -1036,11 +1070,11 @@ int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn)
         gdprintk(XENLOG_WARNING,
                  "no mapping between mfn %08lx and gfn %08lx\n",
                  mfn_x(mfn), gfn);
-    rc = p2m_set_entry(p2m, gfn, _mfn(INVALID_MFN), PAGE_ORDER_4K, p2m_invalid,
+    rc = p2m_set_entry(p2m, gfn, _mfn(INVALID_MFN), order, p2m_invalid,
                        p2m->default_access);
 
  out:
-    gfn_unlock(p2m, gfn, 0);
+    gfn_unlock(p2m, gfn, order);
 
     return rc;
 }
@@ -2131,6 +2165,37 @@ void *map_domain_gfn(struct p2m_domain *p2m, gfn_t gfn, mfn_t *mfn,
     return map_domain_page(*mfn);
 }
 
+static unsigned int mmio_order(const struct domain *d,
+                               unsigned long start_fn, unsigned long nr)
+{
+    /*
+     * Note that the !iommu_use_hap_pt() here has three effects:
+     * - cover iommu_{,un}map_page() not having an "order" input yet,
+     * - exclude shadow mode (which doesn't support large MMIO mappings),
+     * - exclude PV guests, should execution reach this code for such.
+     * So be careful when altering this.
+     */
+    if ( !need_iommu(d) || !iommu_use_hap_pt(d) ||
+         (start_fn & ((1UL << PAGE_ORDER_2M) - 1)) || !(nr >> PAGE_ORDER_2M) )
+        return PAGE_ORDER_4K;
+
+    if ( 0 /*
+            * Don't use 1Gb pages, to limit the iteration count in
+            * set_typed_p2m_entry() when it needs to zap M2P entries
+            * for a RAM range.
+            */ &&
+         !(start_fn & ((1UL << PAGE_ORDER_1G) - 1)) && (nr >> PAGE_ORDER_1G) &&
+         hap_has_1gb )
+        return PAGE_ORDER_1G;
+
+    if ( hap_has_2mb )
+        return PAGE_ORDER_2M;
+
+    return PAGE_ORDER_4K;
+}
+
+#define MAP_MMIO_MAX_ITER 64 /* pretty arbitrary */
+
 int map_mmio_regions(struct domain *d,
                      unsigned long start_gfn,
                      unsigned long nr,
@@ -2138,22 +2203,29 @@ int map_mmio_regions(struct domain *d,
 {
     int ret = 0;
     unsigned long i;
+    unsigned int iter, order;
 
     if ( !paging_mode_translate(d) )
         return 0;
 
-    for ( i = 0; !ret && i < nr; i++ )
+    for ( iter = i = 0; i < nr && iter < MAP_MMIO_MAX_ITER;
+          i += 1UL << order, ++iter )
     {
-        ret = set_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i),
-                                 p2m_get_hostp2m(d)->default_access);
-        if ( ret )
+        /* OR'ing gfn and mfn values will return an order suitable to both. */
+        for ( order = mmio_order(d, (start_gfn + i) | (mfn + i), nr - i); ;
+              order = ret - 1 )
         {
-            unmap_mmio_regions(d, start_gfn, i, mfn);
-            break;
+            ret = set_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i), order,
+                                     p2m_get_hostp2m(d)->default_access);
+            if ( ret <= 0 )
+                break;
+            ASSERT(ret <= order);
         }
+        if ( ret < 0 )
+            break;
     }
 
-    return ret;
+    return i == nr ? 0 : i ?: ret;
 }
 
 int unmap_mmio_regions(struct domain *d,
@@ -2161,20 +2233,30 @@ int unmap_mmio_regions(struct domain *d,
                        unsigned long nr,
                        unsigned long mfn)
 {
-    int err = 0;
+    int ret = 0;
     unsigned long i;
+    unsigned int iter, order;
 
     if ( !paging_mode_translate(d) )
         return 0;
 
-    for ( i = 0; i < nr; i++ )
+    for ( iter = i = 0; i < nr && iter < MAP_MMIO_MAX_ITER;
+          i += 1UL << order, ++iter )
     {
-        int ret = clear_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i));
-        if ( ret )
-            err = ret;
+        /* OR'ing gfn and mfn values will return an order suitable to both. */
+        for ( order = mmio_order(d, (start_gfn + i) | (mfn + i), nr - i); ;
+              order = ret - 1 )
+        {
+            ret = clear_mmio_p2m_entry(d, start_gfn + i, _mfn(mfn + i), order);
+            if ( ret <= 0 )
+                break;
+            ASSERT(ret <= order);
+        }
+        if ( ret < 0 )
+            break;
     }
 
-    return err;
+    return i == nr ? 0 : i ?: ret;
 }
 
 unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 121a34a..22fa5d5 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -1046,10 +1046,12 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
              (gfn + nr_mfns - 1) < gfn ) /* wrap? */
             break;
 
+#ifndef CONFIG_X86 /* XXX ARM!? */
         ret = -E2BIG;
         /* Must break hypercall up as this could take a while. */
         if ( nr_mfns > 64 )
             break;
+#endif
 
         ret = -EPERM;
         if ( !iomem_access_permitted(current->domain, mfn, mfn_end) ||
@@ -1067,7 +1069,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
                    d->domain_id, gfn, mfn, nr_mfns);
 
             ret = map_mmio_regions(d, gfn, nr_mfns, mfn);
-            if ( ret )
+            if ( ret < 0 )
                 printk(XENLOG_G_WARNING
                        "memory_map:fail: dom%d gfn=%lx mfn=%lx nr=%lx ret:%ld\n",
                        d->domain_id, gfn, mfn, nr_mfns, ret);
@@ -1079,7 +1081,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
                    d->domain_id, gfn, mfn, nr_mfns);
 
             ret = unmap_mmio_regions(d, gfn, nr_mfns, mfn);
-            if ( ret && is_hardware_domain(current->domain) )
+            if ( ret < 0 && is_hardware_domain(current->domain) )
                 printk(XENLOG_ERR
                        "memory_map: error %ld removing dom%d access to [%lx,%lx]\n",
                        ret, d->domain_id, mfn, mfn_end);
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 9ff1145..ef57219 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -259,7 +259,7 @@ int guest_remove_page(struct domain *d, unsigned long gmfn)
     }
     if ( p2mt == p2m_mmio_direct )
     {
-        clear_mmio_p2m_entry(d, gmfn, _mfn(mfn));
+        clear_mmio_p2m_entry(d, gmfn, _mfn(mfn), 0);
         put_gfn(d, gmfn);
         return 1;
     }
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index c0df1ea..ca0480e 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -574,8 +574,9 @@ int p2m_is_logdirty_range(struct p2m_domain *, unsigned long start,
 
 /* Set mmio addresses in the p2m table (for pass-through) */
 int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
-                       p2m_access_t access);
-int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn);
+                       unsigned int order, p2m_access_t access);
+int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn,
+                         unsigned int order);
 
 /* Set identity addresses in the p2m table (for pass-through) */
 int set_identity_p2m_entry(struct domain *d, unsigned long gfn,
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 370bc0f..a934318 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -545,8 +545,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_domctl_bind_pt_irq_t);
 
 
 /* Bind machine I/O address range -> HVM address range. */
-/* If this returns -E2BIG lower nr_mfns value. */
 /* XEN_DOMCTL_memory_mapping */
+/* Returns
+   - zero     success, everything done
+   - -E2BIG   passed in nr_mfns value too large for the implementation
+   - positive partial success for the first <result> page frames (with
+              <result> less than nr_mfns), requiring re-invocation by the
+              caller after updating inputs
+   - negative error; other than -E2BIG
+*/
 #define DPCI_ADD_MAPPING         1
 #define DPCI_REMOVE_MAPPING      0
 struct xen_domctl_memory_mapping {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEa-0001Vu-8d; Sun, 14 Feb 2016 14:01:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEY-0001Vm-I9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:06 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	3F/A4-10115-1A880C65; Sun, 14 Feb 2016 14:01:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458464!21698566!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7555 invoked from network); 14 Feb 2016 14:01:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG2-0005Ml-Eh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEQ-0003iJ-VZ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEQ-0003iJ-VZ@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:58 +0000
Subject: [Xen-changelog] [xen master] x86: use CLFLUSHOPT when available
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 623c720fc8da3f8fd4b4afc7a9ba3d3de53e1767
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:46:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:46:11 2016 +0100

    x86: use CLFLUSHOPT when available
    
    Also drop an unnecessary va adjustment in the code being touched.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/flushtlb.c          | 8 +++++---
 xen/include/asm-x86/cpufeature.h | 1 +
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 5d5d79c..90a004f 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -139,10 +139,12 @@ void flush_area_local(const void *va, unsigned int flags)
              c->x86_clflush_size && c->x86_cache_size && sz &&
              ((sz >> 10) < c->x86_cache_size) )
         {
-            va = (const void *)((unsigned long)va & ~(sz - 1));
+            alternative(ASM_NOP3, "sfence", X86_FEATURE_CLFLUSHOPT);
             for ( i = 0; i < sz; i += c->x86_clflush_size )
-                 asm volatile ( "clflush %0"
-                                : : "m" (((const char *)va)[i]) );
+                 alternative_input("rex clflush %0",
+                                   "data16 clflush %0",
+                                   X86_FEATURE_CLFLUSHOPT,
+                                   "m" (((const char *)va)[i]));
         }
         else
         {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index e7e369b..442f0a8 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -152,6 +152,7 @@
 #define X86_FEATURE_ADX		(7*32+19) /* ADCX, ADOX instructions */
 #define X86_FEATURE_SMAP	(7*32+20) /* Supervisor Mode Access Prevention */
 #define X86_FEATURE_PCOMMIT	(7*32+22) /* PCOMMIT instruction */
+#define X86_FEATURE_CLFLUSHOPT	(7*32+23) /* CLFLUSHOPT instruction */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 8 */
 #define X86_FEATURE_PKU	(8*32+ 3) /* Protection Keys for Userspace */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEa-0001Vu-8d; Sun, 14 Feb 2016 14:01:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEY-0001Vm-I9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:06 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	3F/A4-10115-1A880C65; Sun, 14 Feb 2016 14:01:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458464!21698566!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7555 invoked from network); 14 Feb 2016 14:01:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG2-0005Ml-Eh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEQ-0003iJ-VZ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:00:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEQ-0003iJ-VZ@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:00:58 +0000
Subject: [Xen-changelog] [xen master] x86: use CLFLUSHOPT when available
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 623c720fc8da3f8fd4b4afc7a9ba3d3de53e1767
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:46:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:46:11 2016 +0100

    x86: use CLFLUSHOPT when available
    
    Also drop an unnecessary va adjustment in the code being touched.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/flushtlb.c          | 8 +++++---
 xen/include/asm-x86/cpufeature.h | 1 +
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 5d5d79c..90a004f 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -139,10 +139,12 @@ void flush_area_local(const void *va, unsigned int flags)
              c->x86_clflush_size && c->x86_cache_size && sz &&
              ((sz >> 10) < c->x86_cache_size) )
         {
-            va = (const void *)((unsigned long)va & ~(sz - 1));
+            alternative(ASM_NOP3, "sfence", X86_FEATURE_CLFLUSHOPT);
             for ( i = 0; i < sz; i += c->x86_clflush_size )
-                 asm volatile ( "clflush %0"
-                                : : "m" (((const char *)va)[i]) );
+                 alternative_input("rex clflush %0",
+                                   "data16 clflush %0",
+                                   X86_FEATURE_CLFLUSHOPT,
+                                   "m" (((const char *)va)[i]));
         }
         else
         {
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index e7e369b..442f0a8 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -152,6 +152,7 @@
 #define X86_FEATURE_ADX		(7*32+19) /* ADCX, ADOX instructions */
 #define X86_FEATURE_SMAP	(7*32+20) /* Supervisor Mode Access Prevention */
 #define X86_FEATURE_PCOMMIT	(7*32+22) /* PCOMMIT instruction */
+#define X86_FEATURE_CLFLUSHOPT	(7*32+23) /* CLFLUSHOPT instruction */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:0 (ecx), word 8 */
 #define X86_FEATURE_PKU	(8*32+ 3) /* Protection Keys for Userspace */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEf-0001Wv-Cf; Sun, 14 Feb 2016 14:01:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEe-0001Wh-5g
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:12 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	E3/F5-07451-7A880C65; Sun, 14 Feb 2016 14:01:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458469!21714416!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10485 invoked from network); 14 Feb 2016 14:01:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGC-0005NY-SN
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEb-0003kK-E6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEb-0003kK-E6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:09 +0000
Subject: [Xen-changelog] [xen master] x86: rename X86_FEATURE_{CLFLSH ->
	CLFLUSH}
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 69a05748527e9cd236e169797dc771794dda372a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:46:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:46:50 2016 +0100

    x86: rename X86_FEATURE_{CLFLSH -> CLFLUSH}
    
    This is both more natural and in line with a Linux change (between 3.14
    and 3.15).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu/common.c        |  4 ++--
 xen/include/asm-x86/amd.h        | 22 +++++++++++-----------
 xen/include/asm-x86/cpufeature.h |  4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 335f044..9d364d4 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -206,7 +206,7 @@ static void __init early_cpu_detect(void)
 	c->x86_mask = eax & 15;
 	edx &= ~cleared_caps[cpufeat_word(X86_FEATURE_FPU)];
 	ecx &= ~cleared_caps[cpufeat_word(X86_FEATURE_XMM3)];
-	if (edx & cpufeat_mask(X86_FEATURE_CLFLSH))
+	if (edx & cpufeat_mask(X86_FEATURE_CLFLUSH))
 		c->x86_cache_alignment = ((ebx >> 8) & 0xff) * 8;
 	/* Leaf 0x1 capabilities filled in early for Xen. */
 	c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] = edx;
@@ -251,7 +251,7 @@ static void generic_identify(struct cpuinfo_x86 *c)
 	c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] = edx;
 	c->x86_capability[cpufeat_word(X86_FEATURE_XMM3)] = ecx;
 
-	if ( cpu_has(c, X86_FEATURE_CLFLSH) )
+	if ( cpu_has(c, X86_FEATURE_CLFLUSH) )
 		c->x86_clflush_size = ((ebx >> 8) & 0xff) * 8;
 
 	if ( (c->cpuid_level >= CPUID_PM_LEAF) &&
diff --git a/xen/include/asm-x86/amd.h b/xen/include/asm-x86/amd.h
index bb23bea..984d482 100644
--- a/xen/include/asm-x86/amd.h
+++ b/xen/include/asm-x86/amd.h
@@ -11,17 +11,17 @@
 
 /* Family 0Fh, Revision C */
 #define AMD_FEATURES_K8_REV_C_ECX  0
-#define AMD_FEATURES_K8_REV_C_EDX (					    \
-	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)   | \
-	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)   | \
-	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)   | \
-	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)   | \
-	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)  | \
-	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)  | \
-	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)   | \
-	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)   | \
-	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLSH)| \
-	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)  | \
+#define AMD_FEATURES_K8_REV_C_EDX (					     \
+	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)    | \
+	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)    | \
+	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)    | \
+	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)    | \
+	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)   | \
+	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)   | \
+	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)    | \
+	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)    | \
+	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLUSH)| \
+	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)   | \
 	cpufeat_mask(X86_FEATURE_XMM)   | cpufeat_mask(X86_FEATURE_XMM2))
 #define AMD_EXTFEATURES_K8_REV_C_ECX  0
 #define AMD_EXTFEATURES_K8_REV_C_EDX  (					       \
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 442f0a8..07ba368 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -32,7 +32,7 @@
 #define X86_FEATURE_PAT		(0*32+16) /* Page Attribute Table */
 #define X86_FEATURE_PSE36	(0*32+17) /* 36-bit PSEs */
 #define X86_FEATURE_PN		(0*32+18) /* Processor serial number */
-#define X86_FEATURE_CLFLSH	(0*32+19) /* Supports the CLFLUSH instruction */
+#define X86_FEATURE_CLFLUSH	(0*32+19) /* Supports the CLFLUSH instruction */
 #define X86_FEATURE_DS		(0*32+21) /* Debug Store */
 #define X86_FEATURE_ACPI	(0*32+22) /* ACPI via MSR */
 #define X86_FEATURE_MMX		(0*32+23) /* Multimedia Extensions */
@@ -187,7 +187,7 @@
 #define cpu_has_ht		boot_cpu_has(X86_FEATURE_HT)
 #define cpu_has_mp		1
 #define cpu_has_nx		boot_cpu_has(X86_FEATURE_NX)
-#define cpu_has_clflush		boot_cpu_has(X86_FEATURE_CLFLSH)
+#define cpu_has_clflush		boot_cpu_has(X86_FEATURE_CLFLUSH)
 #define cpu_has_page1gb		boot_cpu_has(X86_FEATURE_PAGE1GB)
 #define cpu_has_fsgsbase	boot_cpu_has(X86_FEATURE_FSGSBASE)
 #define cpu_has_aperfmperf	boot_cpu_has(X86_FEATURE_APERFMPERF)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEf-0001Wv-Cf; Sun, 14 Feb 2016 14:01:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEe-0001Wh-5g
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:12 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	E3/F5-07451-7A880C65; Sun, 14 Feb 2016 14:01:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458469!21714416!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10485 invoked from network); 14 Feb 2016 14:01:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGC-0005NY-SN
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEb-0003kK-E6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEb-0003kK-E6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:09 +0000
Subject: [Xen-changelog] [xen master] x86: rename X86_FEATURE_{CLFLSH ->
	CLFLUSH}
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 69a05748527e9cd236e169797dc771794dda372a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 11 16:46:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:46:50 2016 +0100

    x86: rename X86_FEATURE_{CLFLSH -> CLFLUSH}
    
    This is both more natural and in line with a Linux change (between 3.14
    and 3.15).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu/common.c        |  4 ++--
 xen/include/asm-x86/amd.h        | 22 +++++++++++-----------
 xen/include/asm-x86/cpufeature.h |  4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 335f044..9d364d4 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -206,7 +206,7 @@ static void __init early_cpu_detect(void)
 	c->x86_mask = eax & 15;
 	edx &= ~cleared_caps[cpufeat_word(X86_FEATURE_FPU)];
 	ecx &= ~cleared_caps[cpufeat_word(X86_FEATURE_XMM3)];
-	if (edx & cpufeat_mask(X86_FEATURE_CLFLSH))
+	if (edx & cpufeat_mask(X86_FEATURE_CLFLUSH))
 		c->x86_cache_alignment = ((ebx >> 8) & 0xff) * 8;
 	/* Leaf 0x1 capabilities filled in early for Xen. */
 	c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] = edx;
@@ -251,7 +251,7 @@ static void generic_identify(struct cpuinfo_x86 *c)
 	c->x86_capability[cpufeat_word(X86_FEATURE_FPU)] = edx;
 	c->x86_capability[cpufeat_word(X86_FEATURE_XMM3)] = ecx;
 
-	if ( cpu_has(c, X86_FEATURE_CLFLSH) )
+	if ( cpu_has(c, X86_FEATURE_CLFLUSH) )
 		c->x86_clflush_size = ((ebx >> 8) & 0xff) * 8;
 
 	if ( (c->cpuid_level >= CPUID_PM_LEAF) &&
diff --git a/xen/include/asm-x86/amd.h b/xen/include/asm-x86/amd.h
index bb23bea..984d482 100644
--- a/xen/include/asm-x86/amd.h
+++ b/xen/include/asm-x86/amd.h
@@ -11,17 +11,17 @@
 
 /* Family 0Fh, Revision C */
 #define AMD_FEATURES_K8_REV_C_ECX  0
-#define AMD_FEATURES_K8_REV_C_EDX (					    \
-	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)   | \
-	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)   | \
-	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)   | \
-	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)   | \
-	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)  | \
-	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)  | \
-	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)   | \
-	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)   | \
-	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLSH)| \
-	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)  | \
+#define AMD_FEATURES_K8_REV_C_EDX (					     \
+	cpufeat_mask(X86_FEATURE_FPU)   | cpufeat_mask(X86_FEATURE_VME)    | \
+	cpufeat_mask(X86_FEATURE_DE)    | cpufeat_mask(X86_FEATURE_PSE)    | \
+	cpufeat_mask(X86_FEATURE_TSC)   | cpufeat_mask(X86_FEATURE_MSR)    | \
+	cpufeat_mask(X86_FEATURE_PAE)   | cpufeat_mask(X86_FEATURE_MCE)    | \
+	cpufeat_mask(X86_FEATURE_CX8)   | cpufeat_mask(X86_FEATURE_APIC)   | \
+	cpufeat_mask(X86_FEATURE_SEP)   | cpufeat_mask(X86_FEATURE_MTRR)   | \
+	cpufeat_mask(X86_FEATURE_PGE)   | cpufeat_mask(X86_FEATURE_MCA)    | \
+	cpufeat_mask(X86_FEATURE_CMOV)  | cpufeat_mask(X86_FEATURE_PAT)    | \
+	cpufeat_mask(X86_FEATURE_PSE36) | cpufeat_mask(X86_FEATURE_CLFLUSH)| \
+	cpufeat_mask(X86_FEATURE_MMX)   | cpufeat_mask(X86_FEATURE_FXSR)   | \
 	cpufeat_mask(X86_FEATURE_XMM)   | cpufeat_mask(X86_FEATURE_XMM2))
 #define AMD_EXTFEATURES_K8_REV_C_ECX  0
 #define AMD_EXTFEATURES_K8_REV_C_EDX  (					       \
diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 442f0a8..07ba368 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -32,7 +32,7 @@
 #define X86_FEATURE_PAT		(0*32+16) /* Page Attribute Table */
 #define X86_FEATURE_PSE36	(0*32+17) /* 36-bit PSEs */
 #define X86_FEATURE_PN		(0*32+18) /* Processor serial number */
-#define X86_FEATURE_CLFLSH	(0*32+19) /* Supports the CLFLUSH instruction */
+#define X86_FEATURE_CLFLUSH	(0*32+19) /* Supports the CLFLUSH instruction */
 #define X86_FEATURE_DS		(0*32+21) /* Debug Store */
 #define X86_FEATURE_ACPI	(0*32+22) /* ACPI via MSR */
 #define X86_FEATURE_MMX		(0*32+23) /* Multimedia Extensions */
@@ -187,7 +187,7 @@
 #define cpu_has_ht		boot_cpu_has(X86_FEATURE_HT)
 #define cpu_has_mp		1
 #define cpu_has_nx		boot_cpu_has(X86_FEATURE_NX)
-#define cpu_has_clflush		boot_cpu_has(X86_FEATURE_CLFLSH)
+#define cpu_has_clflush		boot_cpu_has(X86_FEATURE_CLFLUSH)
 #define cpu_has_page1gb		boot_cpu_has(X86_FEATURE_PAGE1GB)
 #define cpu_has_fsgsbase	boot_cpu_has(X86_FEATURE_FSGSBASE)
 #define cpu_has_aperfmperf	boot_cpu_has(X86_FEATURE_APERFMPERF)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEp-0001Yl-K4; Sun, 14 Feb 2016 14:01:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEo-0001YX-CY
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:22 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	D9/2F-03225-1B880C65; Sun, 14 Feb 2016 14:01:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455458480!13853245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46899 invoked from network); 14 Feb 2016 14:01:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGN-0005Nk-8T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEl-0003kt-Se
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEl-0003kt-Se@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:19 +0000
Subject: [Xen-changelog] [xen master] x86/traps: prevent interleaving of
	concurrent cpu state dumps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0996e0f38540beb13688e70b4b6f22e07aab2458
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:48:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:48:38 2016 +0100

    x86/traps: prevent interleaving of concurrent cpu state dumps
    
    If two cpus enter show_execution_state() concurrently, the resulting console
    output interleaved, and of no help debugging the situation further.
    
    As calls to these locations are rare and usually important, it is acceptable
    to serialise them.  These codepaths are also on the terminal error paths, so
    the console lock must be the lock used for serialisation, to allow
    console_force_unlock() to function properly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c       | 12 ++++++++++++
 xen/drivers/char/console.c | 16 ++++++++++++++++
 xen/include/xen/console.h  |  2 ++
 3 files changed, 30 insertions(+)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d19250a..ab7deee 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -416,12 +416,19 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
 
 void show_execution_state(const struct cpu_user_regs *regs)
 {
+    /* Prevent interleaving of output. */
+    unsigned long flags = console_lock_recursive_irqsave();
+
     show_registers(regs);
     show_stack(regs);
+
+    console_unlock_recursive_irqrestore(flags);
 }
 
 void vcpu_show_execution_state(struct vcpu *v)
 {
+    unsigned long flags;
+
     printk("*** Dumping Dom%d vcpu#%d state: ***\n",
            v->domain->domain_id, v->vcpu_id);
 
@@ -433,10 +440,15 @@ void vcpu_show_execution_state(struct vcpu *v)
 
     vcpu_pause(v); /* acceptably dangerous */
 
+    /* Prevent interleaving of output. */
+    flags = console_lock_recursive_irqsave();
+
     vcpu_show_registers(v);
     if ( guest_kernel_mode(v, &v->arch.user_regs) )
         show_guest_stack(v, &v->arch.user_regs);
 
+    console_unlock_recursive_irqrestore(flags);
+
     vcpu_unpause(v);
 }
 
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e0083f1..f4f6141 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -865,6 +865,22 @@ void console_end_log_everything(void)
     atomic_dec(&print_everything);
 }
 
+unsigned long console_lock_recursive_irqsave(void)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    spin_lock_recursive(&console_lock);
+
+    return flags;
+}
+
+void console_unlock_recursive_irqrestore(unsigned long flags)
+{
+    spin_unlock_recursive(&console_lock);
+    local_irq_restore(flags);
+}
+
 void console_force_unlock(void)
 {
     watchdog_disable();
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index c7fd9ca..ea06fd8 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -21,6 +21,8 @@ int console_has(const char *device);
 
 int fill_console_start_info(struct dom0_vga_console_info *);
 
+unsigned long console_lock_recursive_irqsave(void);
+void console_unlock_recursive_irqrestore(unsigned long flags);
 void console_force_unlock(void);
 
 void console_start_sync(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxEp-0001Yl-K4; Sun, 14 Feb 2016 14:01:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEo-0001YX-CY
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:22 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	D9/2F-03225-1B880C65; Sun, 14 Feb 2016 14:01:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455458480!13853245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46899 invoked from network); 14 Feb 2016 14:01:20 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGN-0005Nk-8T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEl-0003kt-Se
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEl-0003kt-Se@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:19 +0000
Subject: [Xen-changelog] [xen master] x86/traps: prevent interleaving of
	concurrent cpu state dumps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0996e0f38540beb13688e70b4b6f22e07aab2458
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:48:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:48:38 2016 +0100

    x86/traps: prevent interleaving of concurrent cpu state dumps
    
    If two cpus enter show_execution_state() concurrently, the resulting console
    output interleaved, and of no help debugging the situation further.
    
    As calls to these locations are rare and usually important, it is acceptable
    to serialise them.  These codepaths are also on the terminal error paths, so
    the console lock must be the lock used for serialisation, to allow
    console_force_unlock() to function properly.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c       | 12 ++++++++++++
 xen/drivers/char/console.c | 16 ++++++++++++++++
 xen/include/xen/console.h  |  2 ++
 3 files changed, 30 insertions(+)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d19250a..ab7deee 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -416,12 +416,19 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
 
 void show_execution_state(const struct cpu_user_regs *regs)
 {
+    /* Prevent interleaving of output. */
+    unsigned long flags = console_lock_recursive_irqsave();
+
     show_registers(regs);
     show_stack(regs);
+
+    console_unlock_recursive_irqrestore(flags);
 }
 
 void vcpu_show_execution_state(struct vcpu *v)
 {
+    unsigned long flags;
+
     printk("*** Dumping Dom%d vcpu#%d state: ***\n",
            v->domain->domain_id, v->vcpu_id);
 
@@ -433,10 +440,15 @@ void vcpu_show_execution_state(struct vcpu *v)
 
     vcpu_pause(v); /* acceptably dangerous */
 
+    /* Prevent interleaving of output. */
+    flags = console_lock_recursive_irqsave();
+
     vcpu_show_registers(v);
     if ( guest_kernel_mode(v, &v->arch.user_regs) )
         show_guest_stack(v, &v->arch.user_regs);
 
+    console_unlock_recursive_irqrestore(flags);
+
     vcpu_unpause(v);
 }
 
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e0083f1..f4f6141 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -865,6 +865,22 @@ void console_end_log_everything(void)
     atomic_dec(&print_everything);
 }
 
+unsigned long console_lock_recursive_irqsave(void)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    spin_lock_recursive(&console_lock);
+
+    return flags;
+}
+
+void console_unlock_recursive_irqrestore(unsigned long flags)
+{
+    spin_unlock_recursive(&console_lock);
+    local_irq_restore(flags);
+}
+
 void console_force_unlock(void)
 {
     watchdog_disable();
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index c7fd9ca..ea06fd8 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -21,6 +21,8 @@ int console_has(const char *device);
 
 int fill_console_start_info(struct dom0_vga_console_info *);
 
+unsigned long console_lock_recursive_irqsave(void);
+void console_unlock_recursive_irqrestore(unsigned long flags);
 void console_force_unlock(void);
 
 void console_start_sync(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxF0-0001as-P0; Sun, 14 Feb 2016 14:01:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEz-0001af-3A
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:33 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	B3/04-09834-CB880C65; Sun, 14 Feb 2016 14:01:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1455458490!11486138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9007 invoked from network); 14 Feb 2016 14:01:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGX-0005OK-MW
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEw-0003lL-9L
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEw-0003lL-9L@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:30 +0000
Subject: [Xen-changelog] [xen master] x86/traps: dump instruction stream in
	show_execution_state()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2052a51f9749b79973cba54bd4306cad7726e763
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:49:18 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:49:18 2016 +0100

    x86/traps: dump instruction stream in show_execution_state()
    
    For first pass triage of crashes, it is useful to have the instruction
    stream present, especially now that Xen binary patches itself.
    
    A sample output now looks like:
    
    (XEN) ----[ Xen-4.7-unstable  x86_64  debug=y  Not tainted ]----
    (XEN) CPU:    0
    (XEN) RIP:    e008:[<ffff82d0801607e4>] default_idle+0x76/0x7b
    (XEN) RFLAGS: 0000000000000246   CONTEXT: hypervisor
    (XEN) rax: ffff82d080331030   rbx: ffff83007fce8000   rcx: 0000000000000000
    (XEN) rdx: 0000000000000000   rsi: ffff82d080331b98   rdi: 0000000000000000
    (XEN) rbp: ffff83007fcefef0   rsp: ffff83007fcefef0   r8:  ffff83007faf8118
    (XEN) r9:  00000009983e89fd   r10: 00000009983e89fd   r11: 0000000000000246
    (XEN) r12: ffff83007fd61000   r13: 00000000ffffffff   r14: ffff83007fad9000
    (XEN) r15: ffff83007fae3000   cr0: 000000008005003b   cr4: 00000000000026e0
    (XEN) cr3: 000000007fc9b000   cr2: 00007f70976b3fed
    (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
    (XEN) Xen code around <ffff82d0801607e4> (default_idle+0x76/0x7b):
    (XEN)  83 3c 10 00 75 04 fb f4 <eb> 01 fb 5d c3 55 48 89 e5 3b 3d 0d 50 12 00 72
    (XEN) Xen stack trace from rsp=ffff83007fcefef0:
    (XEN)    ffff83007fceff10 ffff82d080160e08 ffff82d08012c40a ffff83007faf9000
    (XEN)    ffff83007fcefdd8 ffffffff81a01fd8 ffff88002f07d4c0 ffffffff81a01fd8
    (XEN)    0000000000000000 ffffffff81a01e58 ffffffff81a01fd8 0000000000000246
    (XEN)    00000000ffff0052 0000000000000000 0000000000000000 0000000000000000
    (XEN)    ffffffff810013aa 0000000000000001 00000000deadbeef 00000000deadbeef
    (XEN)    0000010000000000 ffffffff810013aa 000000000000e033 0000000000000246
    (XEN)    ffffffff81a01e40 000000000000e02b 0000000000000000 0000000000000000
    (XEN)    0000000000000000 0000000000000000 0000000000000000 ffff83007faf9000
    (XEN)    0000000000000000 0000000000000000
    (XEN) Xen call trace:
    (XEN)    [<ffff82d0801607e4>] default_idle+0x76/0x7b
    (XEN)    [<ffff82d080160e08>] idle_loop+0x51/0x6e
    (XEN)
    
    A sample with a partial access looks like:
    
    (XEN) Xen code around <ffff8300ac0fe002> (ffff8300ac0fe002) [fault on access]:
    (XEN)  -- -- -- -- -- -- 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index ab7deee..26a5026 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -114,6 +114,74 @@ boolean_param("ler", opt_ler);
 #define stack_words_per_line 4
 #define ESP_BEFORE_EXCEPTION(regs) ((unsigned long *)regs->rsp)
 
+static void show_code(const struct cpu_user_regs *regs)
+{
+    unsigned char insns_before[8] = {}, insns_after[16] = {};
+    unsigned int i, tmp, missing_before, missing_after;
+
+    if ( guest_mode(regs) )
+        return;
+
+    stac();
+
+    /*
+     * Copy forward from regs->rip.  In the case of a fault, %ecx contains the
+     * number of bytes remaining to copy.
+     */
+    asm volatile ("1: rep movsb; 2:"
+                  _ASM_EXTABLE(1b, 2b)
+                  : "=&c" (missing_after),
+                    "=&D" (tmp), "=&S" (tmp)
+                  : "0" (ARRAY_SIZE(insns_after)),
+                    "1" (insns_after),
+                    "2" (regs->rip));
+
+    /*
+     * Copy backwards from regs->rip - 1.  In the case of a fault, %ecx
+     * contains the number of bytes remaining to copy.
+     */
+    asm volatile ("std;"
+                  "1: rep movsb;"
+                  "2: cld;"
+                  _ASM_EXTABLE(1b, 2b)
+                  : "=&c" (missing_before),
+                    "=&D" (tmp), "=&S" (tmp)
+                  : "0" (ARRAY_SIZE(insns_before)),
+                    "1" (insns_before + ARRAY_SIZE(insns_before)),
+                    "2" (regs->rip - 1));
+    clac();
+
+    printk("Xen code around <%p> (%ps)%s:\n",
+           _p(regs->rip), _p(regs->rip),
+           (missing_before || missing_after) ? " [fault on access]" : "");
+
+    /* Print bytes from insns_before[]. */
+    for ( i = 0; i < ARRAY_SIZE(insns_before); ++i )
+    {
+        if ( i < missing_before )
+            printk(" --");
+        else
+            printk(" %02x", insns_before[i]);
+    }
+
+    /* Print the byte under %rip. */
+    if ( missing_after != ARRAY_SIZE(insns_after) )
+        printk(" <%02x>", insns_after[0]);
+    else
+        printk(" <-->");
+
+    /* Print bytes from insns_after[]. */
+    for ( i = 1; i < ARRAY_SIZE(insns_after); ++i )
+    {
+        if ( i < (ARRAY_SIZE(insns_after) - missing_after) )
+            printk(" %02x", insns_after[i]);
+        else
+            printk(" --");
+    }
+
+    printk("\n");
+}
+
 static void show_guest_stack(struct vcpu *v, const struct cpu_user_regs *regs)
 {
     int i;
@@ -420,6 +488,7 @@ void show_execution_state(const struct cpu_user_regs *regs)
     unsigned long flags = console_lock_recursive_irqsave();
 
     show_registers(regs);
+    show_code(regs);
     show_stack(regs);
 
     console_unlock_recursive_irqrestore(flags);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxF0-0001as-P0; Sun, 14 Feb 2016 14:01:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEz-0001af-3A
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:33 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	B3/04-09834-CB880C65; Sun, 14 Feb 2016 14:01:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1455458490!11486138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9007 invoked from network); 14 Feb 2016 14:01:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGX-0005OK-MW
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxEw-0003lL-9L
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxEw-0003lL-9L@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:30 +0000
Subject: [Xen-changelog] [xen master] x86/traps: dump instruction stream in
	show_execution_state()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2052a51f9749b79973cba54bd4306cad7726e763
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 11 16:49:18 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 11 16:49:18 2016 +0100

    x86/traps: dump instruction stream in show_execution_state()
    
    For first pass triage of crashes, it is useful to have the instruction
    stream present, especially now that Xen binary patches itself.
    
    A sample output now looks like:
    
    (XEN) ----[ Xen-4.7-unstable  x86_64  debug=y  Not tainted ]----
    (XEN) CPU:    0
    (XEN) RIP:    e008:[<ffff82d0801607e4>] default_idle+0x76/0x7b
    (XEN) RFLAGS: 0000000000000246   CONTEXT: hypervisor
    (XEN) rax: ffff82d080331030   rbx: ffff83007fce8000   rcx: 0000000000000000
    (XEN) rdx: 0000000000000000   rsi: ffff82d080331b98   rdi: 0000000000000000
    (XEN) rbp: ffff83007fcefef0   rsp: ffff83007fcefef0   r8:  ffff83007faf8118
    (XEN) r9:  00000009983e89fd   r10: 00000009983e89fd   r11: 0000000000000246
    (XEN) r12: ffff83007fd61000   r13: 00000000ffffffff   r14: ffff83007fad9000
    (XEN) r15: ffff83007fae3000   cr0: 000000008005003b   cr4: 00000000000026e0
    (XEN) cr3: 000000007fc9b000   cr2: 00007f70976b3fed
    (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
    (XEN) Xen code around <ffff82d0801607e4> (default_idle+0x76/0x7b):
    (XEN)  83 3c 10 00 75 04 fb f4 <eb> 01 fb 5d c3 55 48 89 e5 3b 3d 0d 50 12 00 72
    (XEN) Xen stack trace from rsp=ffff83007fcefef0:
    (XEN)    ffff83007fceff10 ffff82d080160e08 ffff82d08012c40a ffff83007faf9000
    (XEN)    ffff83007fcefdd8 ffffffff81a01fd8 ffff88002f07d4c0 ffffffff81a01fd8
    (XEN)    0000000000000000 ffffffff81a01e58 ffffffff81a01fd8 0000000000000246
    (XEN)    00000000ffff0052 0000000000000000 0000000000000000 0000000000000000
    (XEN)    ffffffff810013aa 0000000000000001 00000000deadbeef 00000000deadbeef
    (XEN)    0000010000000000 ffffffff810013aa 000000000000e033 0000000000000246
    (XEN)    ffffffff81a01e40 000000000000e02b 0000000000000000 0000000000000000
    (XEN)    0000000000000000 0000000000000000 0000000000000000 ffff83007faf9000
    (XEN)    0000000000000000 0000000000000000
    (XEN) Xen call trace:
    (XEN)    [<ffff82d0801607e4>] default_idle+0x76/0x7b
    (XEN)    [<ffff82d080160e08>] idle_loop+0x51/0x6e
    (XEN)
    
    A sample with a partial access looks like:
    
    (XEN) Xen code around <ffff8300ac0fe002> (ffff8300ac0fe002) [fault on access]:
    (XEN)  -- -- -- -- -- -- 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index ab7deee..26a5026 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -114,6 +114,74 @@ boolean_param("ler", opt_ler);
 #define stack_words_per_line 4
 #define ESP_BEFORE_EXCEPTION(regs) ((unsigned long *)regs->rsp)
 
+static void show_code(const struct cpu_user_regs *regs)
+{
+    unsigned char insns_before[8] = {}, insns_after[16] = {};
+    unsigned int i, tmp, missing_before, missing_after;
+
+    if ( guest_mode(regs) )
+        return;
+
+    stac();
+
+    /*
+     * Copy forward from regs->rip.  In the case of a fault, %ecx contains the
+     * number of bytes remaining to copy.
+     */
+    asm volatile ("1: rep movsb; 2:"
+                  _ASM_EXTABLE(1b, 2b)
+                  : "=&c" (missing_after),
+                    "=&D" (tmp), "=&S" (tmp)
+                  : "0" (ARRAY_SIZE(insns_after)),
+                    "1" (insns_after),
+                    "2" (regs->rip));
+
+    /*
+     * Copy backwards from regs->rip - 1.  In the case of a fault, %ecx
+     * contains the number of bytes remaining to copy.
+     */
+    asm volatile ("std;"
+                  "1: rep movsb;"
+                  "2: cld;"
+                  _ASM_EXTABLE(1b, 2b)
+                  : "=&c" (missing_before),
+                    "=&D" (tmp), "=&S" (tmp)
+                  : "0" (ARRAY_SIZE(insns_before)),
+                    "1" (insns_before + ARRAY_SIZE(insns_before)),
+                    "2" (regs->rip - 1));
+    clac();
+
+    printk("Xen code around <%p> (%ps)%s:\n",
+           _p(regs->rip), _p(regs->rip),
+           (missing_before || missing_after) ? " [fault on access]" : "");
+
+    /* Print bytes from insns_before[]. */
+    for ( i = 0; i < ARRAY_SIZE(insns_before); ++i )
+    {
+        if ( i < missing_before )
+            printk(" --");
+        else
+            printk(" %02x", insns_before[i]);
+    }
+
+    /* Print the byte under %rip. */
+    if ( missing_after != ARRAY_SIZE(insns_after) )
+        printk(" <%02x>", insns_after[0]);
+    else
+        printk(" <-->");
+
+    /* Print bytes from insns_after[]. */
+    for ( i = 1; i < ARRAY_SIZE(insns_after); ++i )
+    {
+        if ( i < (ARRAY_SIZE(insns_after) - missing_after) )
+            printk(" %02x", insns_after[i]);
+        else
+            printk(" --");
+    }
+
+    printk("\n");
+}
+
 static void show_guest_stack(struct vcpu *v, const struct cpu_user_regs *regs)
 {
     int i;
@@ -420,6 +488,7 @@ void show_execution_state(const struct cpu_user_regs *regs)
     unsigned long flags = console_lock_recursive_irqsave();
 
     show_registers(regs);
+    show_code(regs);
     show_stack(regs);
 
     console_unlock_recursive_irqrestore(flags);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:44 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFA-0001cI-Ud; Sun, 14 Feb 2016 14:01:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF9-0001c4-92
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:43 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	B9/8B-12889-6C880C65; Sun, 14 Feb 2016 14:01:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455458501!23727381!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63887 invoked from network); 14 Feb 2016 14:01:41 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGi-0005OS-3P
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF6-0003lo-Nh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxF6-0003lo-Nh@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:40 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1716be47617c1ef18189607448a9242e533cd6f7
Merge: 77fec3a67b6881e8203e44f8d18e9fd2c160c903 2052a51f9749b79973cba54bd4306cad7726e763
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 17:09:28 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 17:09:28 2016 +0000

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 tools/libxc/xc_domain.c             |  15 ++--
 xen/arch/x86/cpu/amd.c              |  12 +--
 xen/arch/x86/cpu/centaur.c          |   3 -
 xen/arch/x86/cpu/common.c           |   4 +-
 xen/arch/x86/cpu/mcheck/mce.c       |   8 +-
 xen/arch/x86/cpu/mcheck/mce_intel.c |   8 +-
 xen/arch/x86/cpu/mcheck/non-fatal.c |   2 +-
 xen/arch/x86/cpu/mcheck/x86_mca.h   |   2 +-
 xen/arch/x86/cpu/mtrr/generic.c     |   3 +-
 xen/arch/x86/cpu/mwait-idle.c       |   6 +-
 xen/arch/x86/domain_build.c         |   3 +-
 xen/arch/x86/flushtlb.c             |   8 +-
 xen/arch/x86/hvm/vmx/vmx.c          |   2 +-
 xen/arch/x86/mm/p2m-ept.c           |  28 ++++---
 xen/arch/x86/mm/p2m-pt.c            |  13 +--
 xen/arch/x86/mm/p2m.c               | 154 +++++++++++++++++++++++++++---------
 xen/arch/x86/setup.c                |  12 +--
 xen/arch/x86/traps.c                |  81 +++++++++++++++++++
 xen/common/domctl.c                 |   6 +-
 xen/common/kernel.c                 |   5 +-
 xen/common/memory.c                 |   2 +-
 xen/drivers/char/console.c          |  16 ++++
 xen/include/asm-x86/amd.h           |  22 +++---
 xen/include/asm-x86/cpufeature.h    |  18 +----
 xen/include/asm-x86/p2m.h           |   5 +-
 xen/include/asm-x86/processor.h     |   1 -
 xen/include/public/domctl.h         |   9 ++-
 xen/include/xen/console.h           |   2 +
 xen/include/xen/init.h              |   5 --
 29 files changed, 321 insertions(+), 134 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:44 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFA-0001cI-Ud; Sun, 14 Feb 2016 14:01:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF9-0001c4-92
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:43 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	B9/8B-12889-6C880C65; Sun, 14 Feb 2016 14:01:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455458501!23727381!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63887 invoked from network); 14 Feb 2016 14:01:41 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGi-0005OS-3P
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxF6-0003lo-Nh
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxF6-0003lo-Nh@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:40 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1716be47617c1ef18189607448a9242e533cd6f7
Merge: 77fec3a67b6881e8203e44f8d18e9fd2c160c903 2052a51f9749b79973cba54bd4306cad7726e763
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Feb 11 17:09:28 2016 +0000
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 11 17:09:28 2016 +0000

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 tools/libxc/xc_domain.c             |  15 ++--
 xen/arch/x86/cpu/amd.c              |  12 +--
 xen/arch/x86/cpu/centaur.c          |   3 -
 xen/arch/x86/cpu/common.c           |   4 +-
 xen/arch/x86/cpu/mcheck/mce.c       |   8 +-
 xen/arch/x86/cpu/mcheck/mce_intel.c |   8 +-
 xen/arch/x86/cpu/mcheck/non-fatal.c |   2 +-
 xen/arch/x86/cpu/mcheck/x86_mca.h   |   2 +-
 xen/arch/x86/cpu/mtrr/generic.c     |   3 +-
 xen/arch/x86/cpu/mwait-idle.c       |   6 +-
 xen/arch/x86/domain_build.c         |   3 +-
 xen/arch/x86/flushtlb.c             |   8 +-
 xen/arch/x86/hvm/vmx/vmx.c          |   2 +-
 xen/arch/x86/mm/p2m-ept.c           |  28 ++++---
 xen/arch/x86/mm/p2m-pt.c            |  13 +--
 xen/arch/x86/mm/p2m.c               | 154 +++++++++++++++++++++++++++---------
 xen/arch/x86/setup.c                |  12 +--
 xen/arch/x86/traps.c                |  81 +++++++++++++++++++
 xen/common/domctl.c                 |   6 +-
 xen/common/kernel.c                 |   5 +-
 xen/common/memory.c                 |   2 +-
 xen/drivers/char/console.c          |  16 ++++
 xen/include/asm-x86/amd.h           |  22 +++---
 xen/include/asm-x86/cpufeature.h    |  18 +----
 xen/include/asm-x86/p2m.h           |   5 +-
 xen/include/asm-x86/processor.h     |   1 -
 xen/include/public/domctl.h         |   9 ++-
 xen/include/xen/console.h           |   2 +
 xen/include/xen/init.h              |   5 --
 29 files changed, 321 insertions(+), 134 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFL-0001di-3I; Sun, 14 Feb 2016 14:01:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFJ-0001dS-UE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:54 +0000
Received: from [85.158.139.211] by server-16.bemta-5.messagelabs.com id
	12/1C-13828-0D880C65; Sun, 14 Feb 2016 14:01:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455458511!21938960!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38379 invoked from network); 14 Feb 2016 14:01:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGs-0005Oa-Gb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFH-0003mb-4S
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFH-0003mb-4S@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:51 +0000
Subject: [Xen-changelog] [xen master] x86: fix build following c/s 623c720f
	"x86: use CLFLUSHOPT when available"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d4ab00d292e7b1f909097e733d9e46e16e84fc38
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:32:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:32:52 2016 +0100

    x86: fix build following c/s 623c720f "x86: use CLFLUSHOPT when available"
    
    CentOS 7 gets into trouble when compiling Xen citing:
    
      flushtlb.c: Assembler messages:
      flushtlb.c:149: Error: value of 256 too large for field of 1 bytes at 1
    
    The line number is wrong, and the error message not helpful.  It turns out
    that the intermediate generated assembly was
    
      # 139 "arch/x86/flushtlb.c" 1
          661:
          rex clflush (%r15)
      662:
      .pushsection .altinstructions,"a"
    
    and it was having trouble combining the explicit REX prefix with the REX.B
    required for the use of %r15.
    
    Follow what Linux does and use a redundant %ds prefix instead, for a final
    generated instruction of `3e 41 0f ae 3f`
    
    While modifying this line, fix the indentation which was out by one space.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Doug Goldstein <cardoe@cardoe.com>
    
    Introduce and use NOP_DS_PREFIX.
    
    Also the above description of the issue is slightly wrong: We're not
    suffering from some gas versions not being able to combine multiple REX
    prefixes, but from the replacement instruction, when requiring a REX
    prefix in order to express the memory operand, becoming one byte longer
    than the original one, triggering the respective build time safety
    check.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/flushtlb.c    | 9 +++++----
 xen/include/asm-x86/nops.h | 2 ++
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 90a004f..961bb1d 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -141,10 +141,11 @@ void flush_area_local(const void *va, unsigned int flags)
         {
             alternative(ASM_NOP3, "sfence", X86_FEATURE_CLFLUSHOPT);
             for ( i = 0; i < sz; i += c->x86_clflush_size )
-                 alternative_input("rex clflush %0",
-                                   "data16 clflush %0",
-                                   X86_FEATURE_CLFLUSHOPT,
-                                   "m" (((const char *)va)[i]));
+                alternative_input(".byte " __stringify(NOP_DS_PREFIX) ";"
+                                  " clflush %0",
+                                  "data16 clflush %0",      /* clflushopt */
+                                  X86_FEATURE_CLFLUSHOPT,
+                                  "m" (((const char *)va)[i]));
         }
         else
         {
diff --git a/xen/include/asm-x86/nops.h b/xen/include/asm-x86/nops.h
index 05f9162..1368a97 100644
--- a/xen/include/asm-x86/nops.h
+++ b/xen/include/asm-x86/nops.h
@@ -7,6 +7,8 @@
  * Define nops for use with alternative().
  */
 
+#define NOP_DS_PREFIX 0x3e
+
 /*
  * Opteron 64bit nops
  * 1: nop
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:01:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFL-0001di-3I; Sun, 14 Feb 2016 14:01:55 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFJ-0001dS-UE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:54 +0000
Received: from [85.158.139.211] by server-16.bemta-5.messagelabs.com id
	12/1C-13828-0D880C65; Sun, 14 Feb 2016 14:01:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455458511!21938960!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38379 invoked from network); 14 Feb 2016 14:01:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:01:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxGs-0005Oa-Gb
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFH-0003mb-4S
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:01:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFH-0003mb-4S@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:01:51 +0000
Subject: [Xen-changelog] [xen master] x86: fix build following c/s 623c720f
	"x86: use CLFLUSHOPT when available"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d4ab00d292e7b1f909097e733d9e46e16e84fc38
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:32:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:32:52 2016 +0100

    x86: fix build following c/s 623c720f "x86: use CLFLUSHOPT when available"
    
    CentOS 7 gets into trouble when compiling Xen citing:
    
      flushtlb.c: Assembler messages:
      flushtlb.c:149: Error: value of 256 too large for field of 1 bytes at 1
    
    The line number is wrong, and the error message not helpful.  It turns out
    that the intermediate generated assembly was
    
      # 139 "arch/x86/flushtlb.c" 1
          661:
          rex clflush (%r15)
      662:
      .pushsection .altinstructions,"a"
    
    and it was having trouble combining the explicit REX prefix with the REX.B
    required for the use of %r15.
    
    Follow what Linux does and use a redundant %ds prefix instead, for a final
    generated instruction of `3e 41 0f ae 3f`
    
    While modifying this line, fix the indentation which was out by one space.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Doug Goldstein <cardoe@cardoe.com>
    
    Introduce and use NOP_DS_PREFIX.
    
    Also the above description of the issue is slightly wrong: We're not
    suffering from some gas versions not being able to combine multiple REX
    prefixes, but from the replacement instruction, when requiring a REX
    prefix in order to express the memory operand, becoming one byte longer
    than the original one, triggering the respective build time safety
    check.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/flushtlb.c    | 9 +++++----
 xen/include/asm-x86/nops.h | 2 ++
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 90a004f..961bb1d 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -141,10 +141,11 @@ void flush_area_local(const void *va, unsigned int flags)
         {
             alternative(ASM_NOP3, "sfence", X86_FEATURE_CLFLUSHOPT);
             for ( i = 0; i < sz; i += c->x86_clflush_size )
-                 alternative_input("rex clflush %0",
-                                   "data16 clflush %0",
-                                   X86_FEATURE_CLFLUSHOPT,
-                                   "m" (((const char *)va)[i]));
+                alternative_input(".byte " __stringify(NOP_DS_PREFIX) ";"
+                                  " clflush %0",
+                                  "data16 clflush %0",      /* clflushopt */
+                                  X86_FEATURE_CLFLUSHOPT,
+                                  "m" (((const char *)va)[i]));
         }
         else
         {
diff --git a/xen/include/asm-x86/nops.h b/xen/include/asm-x86/nops.h
index 05f9162..1368a97 100644
--- a/xen/include/asm-x86/nops.h
+++ b/xen/include/asm-x86/nops.h
@@ -7,6 +7,8 @@
  * Define nops for use with alternative().
  */
 
+#define NOP_DS_PREFIX 0x3e
+
 /*
  * Opteron 64bit nops
  * 1: nop
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFW-0001f4-8J; Sun, 14 Feb 2016 14:02:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFU-0001eu-3k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:04 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	9D/35-10115-BD880C65; Sun, 14 Feb 2016 14:02:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458521!21698696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11578 invoked from network); 14 Feb 2016 14:02:02 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxH2-0005Oi-U5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFR-0003n8-Hm
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFR-0003n8-Hm@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:01 +0000
Subject: [Xen-changelog] [xen master] x86: drop uefi_call_wrapper() and
	EFI_FUNCTION_WRAPPER
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08471ecdcf97687afda42b33e5f19f938b94f8a8
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:33:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:33:52 2016 +0100

    x86: drop uefi_call_wrapper() and EFI_FUNCTION_WRAPPER
    
    Nothing in the codebase uses them, and clang falls into the #error case
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/include/asm-x86/x86_64/efibind.h | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/xen/include/asm-x86/x86_64/efibind.h b/xen/include/asm-x86/x86_64/efibind.h
index 2db3568..b013db1 100644
--- a/xen/include/asm-x86/x86_64/efibind.h
+++ b/xen/include/asm-x86/x86_64/efibind.h
@@ -274,17 +274,6 @@ typedef uint64_t   UINTN;
 #endif
 #endif
 
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-#define uefi_call_wrapper(func, va_num, ...)	func(__VA_ARGS__)
-#else
-/* for x86_64, EFI_FUNCTION_WRAPPER must be defined */
-#ifdef  EFI_FUNCTION_WRAPPER
-UINTN uefi_call_wrapper(void *func, unsigned long va_num, ...);
-#else
-#error "EFI_FUNCTION_WRAPPER must be defined for x86_64 architecture"
-#endif
-#endif
-
 #ifdef _MSC_EXTENSIONS
 #pragma warning ( disable : 4731 )  // Suppress warnings about modification of EBP
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFW-0001f4-8J; Sun, 14 Feb 2016 14:02:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFU-0001eu-3k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:04 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	9D/35-10115-BD880C65; Sun, 14 Feb 2016 14:02:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455458521!21698696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11578 invoked from network); 14 Feb 2016 14:02:02 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxH2-0005Oi-U5
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFR-0003n8-Hm
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFR-0003n8-Hm@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:01 +0000
Subject: [Xen-changelog] [xen master] x86: drop uefi_call_wrapper() and
	EFI_FUNCTION_WRAPPER
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08471ecdcf97687afda42b33e5f19f938b94f8a8
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:33:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:33:52 2016 +0100

    x86: drop uefi_call_wrapper() and EFI_FUNCTION_WRAPPER
    
    Nothing in the codebase uses them, and clang falls into the #error case
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/include/asm-x86/x86_64/efibind.h | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/xen/include/asm-x86/x86_64/efibind.h b/xen/include/asm-x86/x86_64/efibind.h
index 2db3568..b013db1 100644
--- a/xen/include/asm-x86/x86_64/efibind.h
+++ b/xen/include/asm-x86/x86_64/efibind.h
@@ -274,17 +274,6 @@ typedef uint64_t   UINTN;
 #endif
 #endif
 
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-#define uefi_call_wrapper(func, va_num, ...)	func(__VA_ARGS__)
-#else
-/* for x86_64, EFI_FUNCTION_WRAPPER must be defined */
-#ifdef  EFI_FUNCTION_WRAPPER
-UINTN uefi_call_wrapper(void *func, unsigned long va_num, ...);
-#else
-#error "EFI_FUNCTION_WRAPPER must be defined for x86_64 architecture"
-#endif
-#endif
-
 #ifdef _MSC_EXTENSIONS
 #pragma warning ( disable : 4731 )  // Suppress warnings about modification of EBP
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFg-0001gM-Co; Sun, 14 Feb 2016 14:02:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFe-0001g5-AJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:14 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	06/3A-31443-5E880C65; Sun, 14 Feb 2016 14:02:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455458532!2818356!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48081 invoked from network); 14 Feb 2016 14:02:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHD-0005PM-BK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFb-0003o8-U9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFb-0003o8-U9@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:11 +0000
Subject: [Xen-changelog] [xen master] uniformally use __ varients for
	attribute names
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8b23ec69241313791398aa397a7b39e11ae0bcd
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:34:13 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:34:13 2016 +0100

    uniformally use __ varients for attribute names
    
    Otherwise, debug code such as "void __attribute__((noreturn)) foobar()" fails
    to compile when the noreturn itself gets expanded, resulting in
    __attribute__((__attribute__((noreturn)))).
    
    No function change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/compiler.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 4b3472d..892455b 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -11,12 +11,12 @@
 #define unlikely(x)   __builtin_expect(!!(x),0)
 
 #define inline        __inline__
-#define always_inline __inline__ __attribute__ ((always_inline))
-#define noinline      __attribute__((noinline))
+#define always_inline __inline__ __attribute__ ((__always_inline__))
+#define noinline      __attribute__((__noinline__))
 
-#define noreturn      __attribute__((noreturn))
+#define noreturn      __attribute__((__noreturn__))
 
-#define __packed      __attribute__((packed))
+#define __packed      __attribute__((__packed__))
 
 #if (!defined(__clang__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5))
 #define unreachable() do {} while (1)
@@ -43,7 +43,7 @@
 #define __inline__ __inline__ __init
 #endif
 
-#define __attribute_pure__  __attribute__((pure))
+#define __attribute_pure__  __attribute__((__pure__))
 #define __attribute_const__ __attribute__((__const__))
 
 /*
@@ -60,7 +60,7 @@
 #define __used         __attribute__((__used__))
 #define __maybe_unused __attribute__((__unused__))
 
-#define __must_check __attribute__((warn_unused_result))
+#define __must_check __attribute__((__warn_unused_result__))
 
 #define offsetof(a,b) __builtin_offsetof(a,b)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFg-0001gM-Co; Sun, 14 Feb 2016 14:02:16 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFe-0001g5-AJ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:14 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	06/3A-31443-5E880C65; Sun, 14 Feb 2016 14:02:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455458532!2818356!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48081 invoked from network); 14 Feb 2016 14:02:13 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHD-0005PM-BK
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:03:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFb-0003o8-U9
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFb-0003o8-U9@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:11 +0000
Subject: [Xen-changelog] [xen master] uniformally use __ varients for
	attribute names
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8b23ec69241313791398aa397a7b39e11ae0bcd
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 10:34:13 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:34:13 2016 +0100

    uniformally use __ varients for attribute names
    
    Otherwise, debug code such as "void __attribute__((noreturn)) foobar()" fails
    to compile when the noreturn itself gets expanded, resulting in
    __attribute__((__attribute__((noreturn)))).
    
    No function change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/xen/compiler.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 4b3472d..892455b 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -11,12 +11,12 @@
 #define unlikely(x)   __builtin_expect(!!(x),0)
 
 #define inline        __inline__
-#define always_inline __inline__ __attribute__ ((always_inline))
-#define noinline      __attribute__((noinline))
+#define always_inline __inline__ __attribute__ ((__always_inline__))
+#define noinline      __attribute__((__noinline__))
 
-#define noreturn      __attribute__((noreturn))
+#define noreturn      __attribute__((__noreturn__))
 
-#define __packed      __attribute__((packed))
+#define __packed      __attribute__((__packed__))
 
 #if (!defined(__clang__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5))
 #define unreachable() do {} while (1)
@@ -43,7 +43,7 @@
 #define __inline__ __inline__ __init
 #endif
 
-#define __attribute_pure__  __attribute__((pure))
+#define __attribute_pure__  __attribute__((__pure__))
 #define __attribute_const__ __attribute__((__const__))
 
 /*
@@ -60,7 +60,7 @@
 #define __used         __attribute__((__used__))
 #define __maybe_unused __attribute__((__unused__))
 
-#define __must_check __attribute__((warn_unused_result))
+#define __must_check __attribute__((__warn_unused_result__))
 
 #define offsetof(a,b) __builtin_offsetof(a,b)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFp-0001ip-JE; Sun, 14 Feb 2016 14:02:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFo-0001hr-Ki
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:24 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	3E/4A-31443-FE880C65; Sun, 14 Feb 2016 14:02:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1455458542!22296299!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25328 invoked from network); 14 Feb 2016 14:02:23 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:23 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHN-0005PU-MA
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFm-0003oW-BT
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFm-0003oW-BT@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:22 +0000
Subject: [Xen-changelog] [xen master] build: remove .config from /boot when
	uninstalling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7ffb9b0cda75479471afa90cf44763af0020493f
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Fri Feb 12 10:34:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:34:38 2016 +0100

    build: remove .config from /boot when uninstalling
    
    c/s 361b4f9f0f0d4adc19df428e224a7b8fa62cd392
    "build: save generated xen .config" forgot to remove
    the config file when uninstalling.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/Makefile b/xen/Makefile
index 8b530c2..5d98bcb 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -81,6 +81,7 @@ _uninstall: D=$(DESTDIR)
 _uninstall: T=$(notdir $(TARGET))
 _uninstall: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
 _uninstall:
+	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION).config
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxFp-0001ip-JE; Sun, 14 Feb 2016 14:02:25 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFo-0001hr-Ki
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:24 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	3E/4A-31443-FE880C65; Sun, 14 Feb 2016 14:02:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1455458542!22296299!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25328 invoked from network); 14 Feb 2016 14:02:23 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:23 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHN-0005PU-MA
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFm-0003oW-BT
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFm-0003oW-BT@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:22 +0000
Subject: [Xen-changelog] [xen master] build: remove .config from /boot when
	uninstalling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7ffb9b0cda75479471afa90cf44763af0020493f
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Fri Feb 12 10:34:38 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 12 10:34:38 2016 +0100

    build: remove .config from /boot when uninstalling
    
    c/s 361b4f9f0f0d4adc19df428e224a7b8fa62cd392
    "build: save generated xen .config" forgot to remove
    the config file when uninstalling.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/Makefile b/xen/Makefile
index 8b530c2..5d98bcb 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -81,6 +81,7 @@ _uninstall: D=$(DESTDIR)
 _uninstall: T=$(notdir $(TARGET))
 _uninstall: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
 _uninstall:
+	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION).config
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
 	rm -f $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxG0-0001kV-O2; Sun, 14 Feb 2016 14:02:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFz-0001kH-FE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:35 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	BE/00-12072-AF880C65; Sun, 14 Feb 2016 14:02:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458553!21714603!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33046 invoked from network); 14 Feb 2016 14:02:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHY-0005Q4-26
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFw-0003ou-Mr
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFw-0003ou-Mr@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:32 +0000
Subject: [Xen-changelog] [xen master] travis: add initial Travis CI script
	to do builds
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d8ac238c5b252bd03fea5b28ea4aa3609428478
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Sun Feb 7 20:45:03 2016 -0600
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 12 17:11:01 2016 +0000

    travis: add initial Travis CI script to do builds
    
    This is just suppose to do a simple compile test on Travis CI. Currently
    due to linux86 (bcc/bin86/dev86) not being whitelisted the tools cannot
    be built.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Wei Liu <wei.liu2@citrix.com>
---
 .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..c7227ba
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,73 @@
+language: c
+dist: trusty
+sudo: required
+matrix:
+    allow_failures:
+        - compiler: clang
+    include:
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5 debug=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 clang=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=clang-3.8 clang=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 clang=y debug=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=clang-3.8 clang=y debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf-
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- debug=y
+addons:
+    apt:
+        sources:
+            - ubuntu-toolchain-r-test
+            - llvm-toolchain-precise
+        packages:
+            - zlib1g-dev
+            - libncurses5-dev
+            - libssl-dev
+            - python2.7-dev
+            - xorg-dev
+            - uuid-dev
+            - libyajl-dev
+            - libaio-dev
+            - libglib2.0-dev
+            - libpixman-1-dev
+            - pkg-config
+            - bridge-utils
+            - iproute2
+            - flex
+            - bison
+            - gettext
+            - acpica-tools
+            - bin86
+            - bcc
+            - libc6-dev-i386
+            - libnl-3-dev
+            - ocaml-nox
+            - libfindlib-ocaml-dev
+            - markdown
+            - transfig
+            - pandoc
+            - gcc-arm-linux-gnueabihf
+            - gcc-aarch64-linux-gnu
+            - gcc-5
+            - clang-3.8
+before_script:
+    - export CC=${COMPILER:-${CC}}
+    - ${CC} --version
+script:
+    - ( ./configure --disable-tools --disable-stubdom --enable-docs &&
+      make CC="${CROSS_COMPILE}${CC}" HOSTCC="${CC}" dist )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxG0-0001kV-O2; Sun, 14 Feb 2016 14:02:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFz-0001kH-FE
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:35 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	BE/00-12072-AF880C65; Sun, 14 Feb 2016 14:02:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458553!21714603!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33046 invoked from network); 14 Feb 2016 14:02:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHY-0005Q4-26
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxFw-0003ou-Mr
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxFw-0003ou-Mr@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:32 +0000
Subject: [Xen-changelog] [xen master] travis: add initial Travis CI script
	to do builds
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5d8ac238c5b252bd03fea5b28ea4aa3609428478
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Sun Feb 7 20:45:03 2016 -0600
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 12 17:11:01 2016 +0000

    travis: add initial Travis CI script to do builds
    
    This is just suppose to do a simple compile test on Travis CI. Currently
    due to linux86 (bcc/bin86/dev86) not being whitelisted the tools cannot
    be built.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Wei Liu <wei.liu2@citrix.com>
---
 .travis.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..c7227ba
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,73 @@
+language: c
+dist: trusty
+sudo: required
+matrix:
+    allow_failures:
+        - compiler: clang
+    include:
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5 debug=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 clang=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=clang-3.8 clang=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 clang=y debug=y
+        - compiler: clang
+          env: XEN_TARGET_ARCH=x86_64 COMPILER=clang-3.8 clang=y debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf-
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
+        - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- debug=y
+addons:
+    apt:
+        sources:
+            - ubuntu-toolchain-r-test
+            - llvm-toolchain-precise
+        packages:
+            - zlib1g-dev
+            - libncurses5-dev
+            - libssl-dev
+            - python2.7-dev
+            - xorg-dev
+            - uuid-dev
+            - libyajl-dev
+            - libaio-dev
+            - libglib2.0-dev
+            - libpixman-1-dev
+            - pkg-config
+            - bridge-utils
+            - iproute2
+            - flex
+            - bison
+            - gettext
+            - acpica-tools
+            - bin86
+            - bcc
+            - libc6-dev-i386
+            - libnl-3-dev
+            - ocaml-nox
+            - libfindlib-ocaml-dev
+            - markdown
+            - transfig
+            - pandoc
+            - gcc-arm-linux-gnueabihf
+            - gcc-aarch64-linux-gnu
+            - gcc-5
+            - clang-3.8
+before_script:
+    - export CC=${COMPILER:-${CC}}
+    - ${CC} --version
+script:
+    - ( ./configure --disable-tools --disable-stubdom --enable-docs &&
+      make CC="${CROSS_COMPILE}${CC}" HOSTCC="${CC}" dist )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxGA-0001lo-S4; Sun, 14 Feb 2016 14:02:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG9-0001lb-Il
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:45 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	C8/12-06010-40980C65; Sun, 14 Feb 2016 14:02:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458563!21714625!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34103 invoked from network); 14 Feb 2016 14:02:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHi-0005QC-En
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG7-0003pK-3R
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxG7-0003pK-3R@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:43 +0000
Subject: [Xen-changelog] [xen master] arm/config: Declare ELFSIZE_64.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bcfaea685d38c08e5eb90797512ab80f0bc69d0c
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Fri Feb 5 10:44:45 2016 -0500
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 12 12:48:45 2016 -0500

    arm/config: Declare ELFSIZE_64.
    
    Otherwise any code that tries to use Elf_* macros would
    require us to use Elf64_* types instead of the more
    friendly Elf_ one.
    
    This is OK to do since 32-bit ARM uses LPAE mode.
    
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 xen/include/asm-arm/config.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index bd832df..a1b968d 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -25,6 +25,9 @@
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
+/* And ELF files are also 64-bit. */
+#define ELFSIZE 64
+
 #define CONFIG_PAGING_ASSISTANCE 1
 
 #define CONFIG_PAGING_LEVELS 3
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 14:02:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 14:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUxGA-0001lo-S4; Sun, 14 Feb 2016 14:02:46 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG9-0001lb-Il
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:45 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	C8/12-06010-40980C65; Sun, 14 Feb 2016 14:02:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455458563!21714625!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34103 invoked from network); 14 Feb 2016 14:02:44 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 14:02:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxHi-0005QC-En
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:04:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUxG7-0003pK-3R
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 14:02:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUxG7-0003pK-3R@xenbits.xen.org>
Date: Sun, 14 Feb 2016 14:02:43 +0000
Subject: [Xen-changelog] [xen master] arm/config: Declare ELFSIZE_64.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bcfaea685d38c08e5eb90797512ab80f0bc69d0c
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Fri Feb 5 10:44:45 2016 -0500
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 12 12:48:45 2016 -0500

    arm/config: Declare ELFSIZE_64.
    
    Otherwise any code that tries to use Elf_* macros would
    require us to use Elf64_* types instead of the more
    friendly Elf_ one.
    
    This is OK to do since 32-bit ARM uses LPAE mode.
    
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 xen/include/asm-arm/config.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index bd832df..a1b968d 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -25,6 +25,9 @@
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
+/* And ELF files are also 64-bit. */
+#define ELFSIZE 64
+
 #define CONFIG_PAGING_ASSISTANCE 1
 
 #define CONFIG_PAGING_LEVELS 3
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqH-000530-Qo; Sun, 14 Feb 2016 15:44:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqF-00052o-KB
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:07 +0000
Content-Length: 3757
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	AE/DC-29293-6C0A0C65; Sun, 14 Feb 2016 15:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464645!22004716!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20809 invoked from network); 14 Feb 2016 15:44:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyro-0007VF-Ic
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqC-0002uO-L8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqC-0002uO-L8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2607350208937088890=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2607350208937088890==
Content-Length: 3399
Content-Transfer-Encoding: quoted-printable

commit 7891bba284582bbf963f1bdcdaba334dcaa086c5
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:48 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 19 ++++++++++++++++++-
 hw/i386/xen_domainbuild.c   |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 3aaf0b6..c96902a 100755
--- a/configure
+++ b/configure
@@ -1563,7 +1563,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/i386/xen_domainbuild.c b/hw/i386/xen_domainbuild.c
index 4e2cf95..957c949 100644
--- a/hw/i386/xen_domainbuild.c
+++ b/hw/i386/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 2d5a25b..90c2c48 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -157,4 +157,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4


--===============2607350208937088890==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2607350208937088890==--

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqH-000530-Qo; Sun, 14 Feb 2016 15:44:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqF-00052o-KB
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:07 +0000
Content-Length: 3757
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	AE/DC-29293-6C0A0C65; Sun, 14 Feb 2016 15:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464645!22004716!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20809 invoked from network); 14 Feb 2016 15:44:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyro-0007VF-Ic
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqC-0002uO-L8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqC-0002uO-L8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2607350208937088890=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2607350208937088890==
Content-Length: 3399
Content-Transfer-Encoding: quoted-printable

commit 7891bba284582bbf963f1bdcdaba334dcaa086c5
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:48 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 19 ++++++++++++++++++-
 hw/i386/xen_domainbuild.c   |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 3aaf0b6..c96902a 100755
--- a/configure
+++ b/configure
@@ -1563,7 +1563,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/i386/xen_domainbuild.c b/hw/i386/xen_domainbuild.c
index 4e2cf95..957c949 100644
--- a/hw/i386/xen_domainbuild.c
+++ b/hw/i386/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 2d5a25b..90c2c48 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -157,4 +157,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4


--===============2607350208937088890==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2607350208937088890==--

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqQ-00053y-UP; Sun, 14 Feb 2016 15:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqQ-00053q-DH
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:18 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	05/D3-06685-1D0A0C65; Sun, 14 Feb 2016 15:44:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1455464656!22020377!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8445 invoked from network); 14 Feb 2016 15:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrz-0007VN-7Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqN-0002vJ-D8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqN-0002vJ-D8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e331500ea4e69ec8376b012d39aef2bcba84cb81
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index c31bc01..937fce5 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -712,7 +712,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -918,7 +919,8 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqQ-00053y-UP; Sun, 14 Feb 2016 15:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqQ-00053q-DH
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:18 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	05/D3-06685-1D0A0C65; Sun, 14 Feb 2016 15:44:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1455464656!22020377!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8445 invoked from network); 14 Feb 2016 15:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrz-0007VN-7Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqN-0002vJ-D8
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqN-0002vJ-D8@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e331500ea4e69ec8376b012d39aef2bcba84cb81
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index c31bc01..937fce5 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -712,7 +712,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -918,7 +919,8 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqc-00055E-2w; Sun, 14 Feb 2016 15:44:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqa-000552-J2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:28 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	6E/3C-15353-BD0A0C65; Sun, 14 Feb 2016 15:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464666!22004736!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23822 invoked from network); 14 Feb 2016 15:44:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys9-0007WT-Oz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqY-0002wn-2T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqY-0002wn-2T@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:26 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d84bde9aa0d8af7c2b78b5c7737e76ed3f4b177
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index abdc932..45bed76 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2034,15 +2034,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqc-00055E-2w; Sun, 14 Feb 2016 15:44:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqa-000552-J2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:28 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	6E/3C-15353-BD0A0C65; Sun, 14 Feb 2016 15:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464666!22004736!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23822 invoked from network); 14 Feb 2016 15:44:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys9-0007WT-Oz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqY-0002wn-2T
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqY-0002wn-2T@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:26 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d84bde9aa0d8af7c2b78b5c7737e76ed3f4b177
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index abdc932..45bed76 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2034,15 +2034,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqm-00056W-6s; Sun, 14 Feb 2016 15:44:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyql-00056N-8I
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:39 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	64/EC-21594-6E0A0C65; Sun, 14 Feb 2016 15:44:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464677!22004753!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24552 invoked from network); 14 Feb 2016 15:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysK-0007Wb-9k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqi-0002xZ-Jp
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqi-0002xZ-Jp@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3f71820abe33f7f32c5983c6b88afc4a992e3c89
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 1bbea3b..66e4bbb 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1134,8 +1134,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1144,7 +1149,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1361,6 +1365,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1554,7 +1564,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1659,7 +1669,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (0 == val) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1939,9 +1949,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqm-00056W-6s; Sun, 14 Feb 2016 15:44:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyql-00056N-8I
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:39 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	64/EC-21594-6E0A0C65; Sun, 14 Feb 2016 15:44:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455464677!22004753!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24552 invoked from network); 14 Feb 2016 15:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysK-0007Wb-9k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqi-0002xZ-Jp
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqi-0002xZ-Jp@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3f71820abe33f7f32c5983c6b88afc4a992e3c89
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 1bbea3b..66e4bbb 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1134,8 +1134,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1144,7 +1149,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1361,6 +1365,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1554,7 +1564,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1659,7 +1669,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (0 == val) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1939,9 +1949,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqw-0005F8-FQ; Sun, 14 Feb 2016 15:44:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqv-0005E1-H6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:49 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	B5/5C-15353-0F0A0C65; Sun, 14 Feb 2016 15:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455464687!9976685!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41640 invoked from network); 14 Feb 2016 15:44:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysU-0007Wj-L7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqt-0002ya-4Y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqt-0002ya-4Y@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:47 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3a28ed2d1ca6e3204393350fa39833be896033d0
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index a6d5285..bece2d2 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -671,7 +671,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:44:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyqw-0005F8-FQ; Sun, 14 Feb 2016 15:44:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqv-0005E1-H6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:49 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	B5/5C-15353-0F0A0C65; Sun, 14 Feb 2016 15:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455464687!9976685!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41640 invoked from network); 14 Feb 2016 15:44:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysU-0007Wj-L7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyqt-0002ya-4Y
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyqt-0002ya-4Y@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:47 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3a28ed2d1ca6e3204393350fa39833be896033d0
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index a6d5285..bece2d2 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -671,7 +671,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyr7-0005H6-Je; Sun, 14 Feb 2016 15:45:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyr6-0005Gs-2A
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:00 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	CD/6A-10115-BF0A0C65; Sun, 14 Feb 2016 15:44:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455464697!23716543!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8693 invoked from network); 14 Feb 2016 15:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyse-0007Wr-VF
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyr3-0002zY-Dk
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyr3-0002zY-Dk@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8067f9c7ff1456e464640be558a03e1d198af78a
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 63d5391..378742a 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         cpu_to_le32wu((uint32_t *)(s->mem + addr), val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return le32_to_cpupu((uint32_t *)(s->mem + addr));
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyr7-0005H6-Je; Sun, 14 Feb 2016 15:45:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyr6-0005Gs-2A
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:00 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	CD/6A-10115-BF0A0C65; Sun, 14 Feb 2016 15:44:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455464697!23716543!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8693 invoked from network); 14 Feb 2016 15:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyse-0007Wr-VF
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyr3-0002zY-Dk
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:44:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyr3-0002zY-Dk@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:44:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8067f9c7ff1456e464640be558a03e1d198af78a
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 63d5391..378742a 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         cpu_to_le32wu((uint32_t *)(s->mem + addr), val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return le32_to_cpupu((uint32_t *)(s->mem + addr));
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrH-0005Is-Mp; Sun, 14 Feb 2016 15:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrG-0005Ia-FG
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:10 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	3C/BA-17090-501A0C65; Sun, 14 Feb 2016 15:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455464708!9976711!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43113 invoked from network); 14 Feb 2016 15:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysp-0007Wz-Dx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrD-00030n-QR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrD-00030n-QR@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf39008ae613cea09b4dc2c0da3e1c68373936f5
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 7c62cc7..c535280 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -725,6 +725,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrH-0005Is-Mp; Sun, 14 Feb 2016 15:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrG-0005Ia-FG
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:10 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	3C/BA-17090-501A0C65; Sun, 14 Feb 2016 15:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455464708!9976711!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43113 invoked from network); 14 Feb 2016 15:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysp-0007Wz-Dx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrD-00030n-QR
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrD-00030n-QR@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf39008ae613cea09b4dc2c0da3e1c68373936f5
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 7c62cc7..c535280 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -725,6 +725,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrR-0005Kj-Qf; Sun, 14 Feb 2016 15:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrQ-0005KW-V7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:21 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	75/D3-03225-011A0C65; Sun, 14 Feb 2016 15:45:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455464718!22008547!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25624 invoked from network); 14 Feb 2016 15:45:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysz-0007X7-SM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrO-00031Z-7j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrO-00031Z-7j@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a37e0e9de748f58b793a83e5d680f474c640f87e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 4a355bb..770965c 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -640,6 +640,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrR-0005Kj-Qf; Sun, 14 Feb 2016 15:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrQ-0005KW-V7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:21 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	75/D3-03225-011A0C65; Sun, 14 Feb 2016 15:45:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455464718!22008547!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25624 invoked from network); 14 Feb 2016 15:45:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysz-0007X7-SM
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrO-00031Z-7j
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrO-00031Z-7j@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a37e0e9de748f58b793a83e5d680f474c640f87e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 4a355bb..770965c 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -640,6 +640,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrc-0005Me-Ur; Sun, 14 Feb 2016 15:45:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrb-0005MP-A2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:31 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	74/3B-17089-A11A0C65; Sun, 14 Feb 2016 15:45:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1455464729!22241605!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26506 invoked from network); 14 Feb 2016 15:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytA-0007Ya-7D
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrY-000337-K6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrY-000337-K6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d08f9e6bfc8d15d1ac6377e4cfe48e1f4ef4d932
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index e9fb20c..30960f5 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1472,21 +1472,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrc-0005Me-Ur; Sun, 14 Feb 2016 15:45:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrb-0005MP-A2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:31 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	74/3B-17089-A11A0C65; Sun, 14 Feb 2016 15:45:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1455464729!22241605!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26506 invoked from network); 14 Feb 2016 15:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytA-0007Ya-7D
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrY-000337-K6
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrY-000337-K6@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d08f9e6bfc8d15d1ac6377e4cfe48e1f4ef4d932
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index e9fb20c..30960f5 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1472,21 +1472,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrn-0005PV-2l; Sun, 14 Feb 2016 15:45:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrl-0005PG-Ke
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:41 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	71/54-12635-421A0C65; Sun, 14 Feb 2016 15:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455464739!21981553!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24911 invoked from network); 14 Feb 2016 15:45:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytK-0007Yi-Lz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrj-00034G-1I
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrj-00034G-1I@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:39 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2600664a4e8d333290f01f0a957ea996e300bc6f
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index f3797b7..e64f69b 100644
--- a/exec.c
+++ b/exec.c
@@ -1903,7 +1903,7 @@ static void invalidate_and_set_dirty(hwaddr addr,
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyrn-0005PV-2l; Sun, 14 Feb 2016 15:45:43 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrl-0005PG-Ke
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:41 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	71/54-12635-421A0C65; Sun, 14 Feb 2016 15:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455464739!21981553!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24911 invoked from network); 14 Feb 2016 15:45:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytK-0007Yi-Lz
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrj-00034G-1I
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrj-00034G-1I@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:39 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2600664a4e8d333290f01f0a957ea996e300bc6f
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index f3797b7..e64f69b 100644
--- a/exec.c
+++ b/exec.c
@@ -1903,7 +1903,7 @@ static void invalidate_and_set_dirty(hwaddr addr,
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:54 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyry-0005RC-9g; Sun, 14 Feb 2016 15:45:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrw-0005R2-Ho
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:52 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	E8/2C-10715-F21A0C65; Sun, 14 Feb 2016 15:45:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455464749!23716623!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11975 invoked from network); 14 Feb 2016 15:45:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytV-0007Yw-3o
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrt-00035E-Gf
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrt-00035E-Gf@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6178660b8f4891bdf4810be5b9f9e9aabebda1ed
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 30960f5..81c19fd 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1457,7 +1457,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1549,9 +1549,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:45:54 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:45:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUyry-0005RC-9g; Sun, 14 Feb 2016 15:45:54 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrw-0005R2-Ho
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:52 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	E8/2C-10715-F21A0C65; Sun, 14 Feb 2016 15:45:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1455464749!23716623!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11975 invoked from network); 14 Feb 2016 15:45:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:45:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytV-0007Yw-3o
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyrt-00035E-Gf
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUyrt-00035E-Gf@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6178660b8f4891bdf4810be5b9f9e9aabebda1ed
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:53 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 30960f5..81c19fd 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1457,7 +1457,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1549,9 +1549,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUys8-0005SW-DD; Sun, 14 Feb 2016 15:46:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys6-0005SK-EV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:02 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	63/84-12635-931A0C65; Sun, 14 Feb 2016 15:46:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455464760!22234432!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17303 invoked from network); 14 Feb 2016 15:46:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytf-0007Z4-El
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys3-00036M-Ti
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUys3-00036M-Ti@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e4b77ec2c43b3230c717e4470a7c89465fc87c5
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:54 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 00fc409..af691dd 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1087,6 +1087,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUys8-0005SW-DD; Sun, 14 Feb 2016 15:46:04 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys6-0005SK-EV
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:02 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	63/84-12635-931A0C65; Sun, 14 Feb 2016 15:46:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1455464760!22234432!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17303 invoked from network); 14 Feb 2016 15:46:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytf-0007Z4-El
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUys3-00036M-Ti
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:45:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUys3-00036M-Ti@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:45:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e4b77ec2c43b3230c717e4470a7c89465fc87c5
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:54 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 00fc409..af691dd 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1087,6 +1087,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysI-0005UB-K1; Sun, 14 Feb 2016 15:46:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysG-0005Tw-Sx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:13 +0000
Received: from [85.158.137.68] by server-2.bemta-3.messagelabs.com id
	75/B1-21201-441A0C65; Sun, 14 Feb 2016 15:46:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455464770!14803213!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43132 invoked from network); 14 Feb 2016 15:46:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytp-0007ZC-Q7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysE-00037S-9Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysE-00037S-9Q@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:10 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 11ac1da95c4e8b2c9c627e0cbcaa50c90c298a1b
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:54 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index af691dd..34098e5 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1113,7 +1113,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1262,8 +1262,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysI-0005UB-K1; Sun, 14 Feb 2016 15:46:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysG-0005Tw-Sx
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:13 +0000
Received: from [85.158.137.68] by server-2.bemta-3.messagelabs.com id
	75/B1-21201-441A0C65; Sun, 14 Feb 2016 15:46:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455464770!14803213!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43132 invoked from network); 14 Feb 2016 15:46:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUytp-0007ZC-Q7
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:47:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysE-00037S-9Q
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysE-00037S-9Q@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:10 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 11ac1da95c4e8b2c9c627e0cbcaa50c90c298a1b
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:53:54 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index af691dd..34098e5 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1113,7 +1113,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1262,8 +1262,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysS-0005Vd-Oy; Sun, 14 Feb 2016 15:46:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysR-0005VP-MQ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:23 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	92/38-24375-E41A0C65; Sun, 14 Feb 2016 15:46:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1455464780!22221732!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19022 invoked from network); 14 Feb 2016 15:46:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyu0-0007ZK-6k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:48:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysO-00038Z-Jl
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysO-00038Z-Jl@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:20 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e2888602131248aae6bb49243a03ec811d6508a3
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:26:16 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-all.c            |  9 +++++++++
 xen-stub.c           |  5 +++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 74fc31a..9f46e65 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 3430770..828509b 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 76660e5..587cfc7 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index e1f88bf..87fe0dc 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-all.c b/xen-all.c
index 0b4d934..984c346 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -131,6 +132,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
diff --git a/xen-stub.c b/xen-stub.c
index ad189a6..e78e151 100644
--- a/xen-stub.c
+++ b/xen-stub.c
@@ -38,6 +38,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysS-0005Vd-Oy; Sun, 14 Feb 2016 15:46:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysR-0005VP-MQ
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:23 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	92/38-24375-E41A0C65; Sun, 14 Feb 2016 15:46:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1455464780!22221732!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19022 invoked from network); 14 Feb 2016 15:46:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyu0-0007ZK-6k
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:48:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysO-00038Z-Jl
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysO-00038Z-Jl@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:20 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e2888602131248aae6bb49243a03ec811d6508a3
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:26:16 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-all.c            |  9 +++++++++
 xen-stub.c           |  5 +++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 74fc31a..9f46e65 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 3430770..828509b 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 76660e5..587cfc7 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index e1f88bf..87fe0dc 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-all.c b/xen-all.c
index 0b4d934..984c346 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -131,6 +132,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
diff --git a/xen-stub.c b/xen-stub.c
index ad189a6..e78e151 100644
--- a/xen-stub.c
+++ b/xen-stub.c
@@ -38,6 +38,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysc-0005XM-Ti; Sun, 14 Feb 2016 15:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysb-0005XB-UL
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:34 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
	BA/33-12946-951A0C65; Sun, 14 Feb 2016 15:46:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455464791!22287749!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51499 invoked from network); 14 Feb 2016 15:46:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyuA-0007aQ-G2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:48:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysY-00039a-Uk
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysY-00039a-Uk@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:30 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 352a3530ec72cbf6dda8ba00c103e49951e77f90
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:33:43 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:33:43 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 2600664a4e8d333290f01f0a957ea996e300bc6f.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index e64f69b..f3797b7 100644
--- a/exec.c
+++ b/exec.c
@@ -1903,7 +1903,7 @@ static void invalidate_and_set_dirty(hwaddr addr,
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 14 15:46:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Feb 2016 15:46:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aUysc-0005XM-Ti; Sun, 14 Feb 2016 15:46:34 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysb-0005XB-UL
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:34 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
	BA/33-12946-951A0C65; Sun, 14 Feb 2016 15:46:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455464791!22287749!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51499 invoked from network); 14 Feb 2016 15:46:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Feb 2016 15:46:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUyuA-0007aQ-G2
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:48:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aUysY-00039a-Uk
	for xen-changelog@lists.xensource.com; Sun, 14 Feb 2016 15:46:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aUysY-00039a-Uk@xenbits.xen.org>
Date: Sun, 14 Feb 2016 15:46:30 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 352a3530ec72cbf6dda8ba00c103e49951e77f90
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:33:43 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:33:43 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 2600664a4e8d333290f01f0a957ea996e300bc6f.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index e64f69b..f3797b7 100644
--- a/exec.c
+++ b/exec.c
@@ -1903,7 +1903,7 @@ static void invalidate_and_set_dirty(hwaddr addr,
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCCk-0006dE-U7; Mon, 15 Feb 2016 06:00:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCk-0006d9-2o
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:14 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	07/3A-28791-D6961C65; Mon, 15 Feb 2016 06:00:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1455516011!23713476!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4660 invoked from network); 15 Feb 2016 06:00:12 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEK-0000Fo-H2
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCh-0005LQ-Df
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCCh-0005LQ-Df@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:11 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] fw_cfg: add check to validate
	current entry value
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 18f2ce4bfe67f9b38143d9d96207e49c92b6881c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 6 11:46:25 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Wed Jan 6 16:42:43 2016 +0000

    fw_cfg: add check to validate current entry value
    
    When processing firmware configurations, an OOB r/w access occurs
    if 's->cur_entry' is set to be invalid(FW_CFG_INVALID=0xffff).
    Add a check to validate 's->cur_entry' to avoid such access.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/nvram/fw_cfg.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index a7122ee..cd3c6bf 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -211,12 +211,15 @@ static void fw_cfg_reboot(FWCfgState *s)
 static void fw_cfg_write(FWCfgState *s, uint8_t value)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
 
     trace_fw_cfg_write(s, value);
 
-    if (s->cur_entry & FW_CFG_WRITE_CHANNEL && e->callback &&
-        s->cur_offset < e->len) {
+    if (s->cur_entry & FW_CFG_WRITE_CHANNEL
+        && e != NULL
+        && e->callback
+        && s->cur_offset < e->len) {
         e->data[s->cur_offset++] = value;
         if (s->cur_offset == e->len) {
             e->callback(e->callback_opaque, e->data);
@@ -245,7 +248,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
 static uint8_t fw_cfg_read(FWCfgState *s)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
     uint8_t ret;
 
     if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCCk-0006dE-U7; Mon, 15 Feb 2016 06:00:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCk-0006d9-2o
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:14 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	07/3A-28791-D6961C65; Mon, 15 Feb 2016 06:00:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1455516011!23713476!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4660 invoked from network); 15 Feb 2016 06:00:12 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEK-0000Fo-H2
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCh-0005LQ-Df
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCCh-0005LQ-Df@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:11 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] fw_cfg: add check to validate
	current entry value
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 18f2ce4bfe67f9b38143d9d96207e49c92b6881c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 6 11:46:25 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Wed Jan 6 16:42:43 2016 +0000

    fw_cfg: add check to validate current entry value
    
    When processing firmware configurations, an OOB r/w access occurs
    if 's->cur_entry' is set to be invalid(FW_CFG_INVALID=0xffff).
    Add a check to validate 's->cur_entry' to avoid such access.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/nvram/fw_cfg.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index a7122ee..cd3c6bf 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -211,12 +211,15 @@ static void fw_cfg_reboot(FWCfgState *s)
 static void fw_cfg_write(FWCfgState *s, uint8_t value)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
 
     trace_fw_cfg_write(s, value);
 
-    if (s->cur_entry & FW_CFG_WRITE_CHANNEL && e->callback &&
-        s->cur_offset < e->len) {
+    if (s->cur_entry & FW_CFG_WRITE_CHANNEL
+        && e != NULL
+        && e->callback
+        && s->cur_offset < e->len) {
         e->data[s->cur_offset++] = value;
         if (s->cur_offset == e->len) {
             e->callback(e->callback_opaque, e->data);
@@ -245,7 +248,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
 static uint8_t fw_cfg_read(FWCfgState *s)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
     uint8_t ret;
 
     if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCD1-0006e9-1b; Mon, 15 Feb 2016 06:00:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCz-0006e1-Rb
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:29 +0000
Content-Length: 3692
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	E7/7C-03066-D7961C65; Mon, 15 Feb 2016 06:00:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1455516027!22338466!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8293 invoked from network); 15 Feb 2016 06:00:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEa-0000GT-83
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCx-0005MJ-0p
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCCx-0005MJ-0p@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:27 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2531420416822937183=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2531420416822937183==
Content-Length: 3332
Content-Transfer-Encoding: quoted-printable

commit 331f7563594c81cdd83dbba3d0d4006cf79037ee
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:25:51 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 17 +++++++++++++++++
 hw/xenpv/xen_domainbuild.c  |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 779623a..001982f 100755
--- a/configure
+++ b/configure
@@ -1863,6 +1863,23 @@ EOF
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.6
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
 #include <xenstore.h>
 #include <stdint.h>
 #include <xen/hvm/hvm_info_table.h>
diff --git a/hw/xenpv/xen_domainbuild.c b/hw/xenpv/xen_domainbuild.c
index c0ab753..ac0e5ac 100644
--- a/hw/xenpv/xen_domainbuild.c
+++ b/hw/xenpv/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 5923290..04bf6da 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -417,4 +417,20 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,
 
 #endif
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6


--===============2531420416822937183==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2531420416822937183==--

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCD1-0006e9-1b; Mon, 15 Feb 2016 06:00:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCz-0006e1-Rb
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:29 +0000
Content-Length: 3692
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	E7/7C-03066-D7961C65; Mon, 15 Feb 2016 06:00:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1455516027!22338466!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8293 invoked from network); 15 Feb 2016 06:00:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEa-0000GT-83
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCCx-0005MJ-0p
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCCx-0005MJ-0p@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:27 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2531420416822937183=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2531420416822937183==
Content-Length: 3332
Content-Transfer-Encoding: quoted-printable

commit 331f7563594c81cdd83dbba3d0d4006cf79037ee
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:25:51 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 17 +++++++++++++++++
 hw/xenpv/xen_domainbuild.c  |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 779623a..001982f 100755
--- a/configure
+++ b/configure
@@ -1863,6 +1863,23 @@ EOF
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.6
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
 #include <xenstore.h>
 #include <stdint.h>
 #include <xen/hvm/hvm_info_table.h>
diff --git a/hw/xenpv/xen_domainbuild.c b/hw/xenpv/xen_domainbuild.c
index c0ab753..ac0e5ac 100644
--- a/hw/xenpv/xen_domainbuild.c
+++ b/hw/xenpv/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 5923290..04bf6da 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -417,4 +417,20 @@ static inline int xen_set_ioreq_server_state(XenXC xc, domid_t dom,
 
 #endif
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6


--===============2531420416822937183==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2531420416822937183==--

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDH-0006fX-5H; Mon, 15 Feb 2016 06:00:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDG-0006fP-IT
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:46 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	E3/6B-17089-D8961C65; Mon, 15 Feb 2016 06:00:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1455516044!22308441!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57250 invoked from network); 15 Feb 2016 06:00:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEr-0000HA-05
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDD-0005Nl-Sr
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDD-0005Nl-Sr@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:43 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 85ebe9b5f8c559701841928e97a1d5873a92ff0e
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 3032855..40ebbe6 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -815,7 +815,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1059,7 +1060,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDH-0006fX-5H; Mon, 15 Feb 2016 06:00:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDG-0006fP-IT
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:46 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	E3/6B-17089-D8961C65; Mon, 15 Feb 2016 06:00:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1455516044!22308441!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57250 invoked from network); 15 Feb 2016 06:00:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEr-0000HA-05
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDD-0005Nl-Sr
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:43 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDD-0005Nl-Sr@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:43 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 85ebe9b5f8c559701841928e97a1d5873a92ff0e
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index 3032855..40ebbe6 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -815,7 +815,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1059,7 +1060,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:58 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDS-0006hr-Cw; Mon, 15 Feb 2016 06:00:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDR-0006gy-6L
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:57 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	9D/4D-09834-89961C65; Mon, 15 Feb 2016 06:00:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455516055!23457352!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1567 invoked from network); 15 Feb 2016 06:00:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF1-0000HK-Nj
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDO-0005Ot-BQ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDO-0005Ot-BQ@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:54 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3286c9f3861eb2504f8bf461a721cfd22619a0c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index db4d97e..76caa897 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2036,15 +2036,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:00:58 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:00:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDS-0006hr-Cw; Mon, 15 Feb 2016 06:00:58 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDR-0006gy-6L
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:57 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	9D/4D-09834-89961C65; Mon, 15 Feb 2016 06:00:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455516055!23457352!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1567 invoked from network); 15 Feb 2016 06:00:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:00:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF1-0000HK-Nj
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDO-0005Ot-BQ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:00:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDO-0005Ot-BQ@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:00:54 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3286c9f3861eb2504f8bf461a721cfd22619a0c
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index db4d97e..76caa897 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2036,15 +2036,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDd-0006jM-HH; Mon, 15 Feb 2016 06:01:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDb-0006jB-Rl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:07 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	95/18-03225-3A961C65; Mon, 15 Feb 2016 06:01:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455516065!22015292!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5937 invoked from network); 15 Feb 2016 06:01:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFC-0000HS-9k
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDZ-0005Q2-8y
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDZ-0005Q2-8y@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:05 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 71aec1d33150ecfe046b782e4865e468b83f97cd
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 8eea589..4c3d237 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1135,8 +1135,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1145,7 +1150,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1368,6 +1372,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1564,7 +1574,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1669,7 +1679,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (val == 0) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1956,9 +1966,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDd-0006jM-HH; Mon, 15 Feb 2016 06:01:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDb-0006jB-Rl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:07 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	95/18-03225-3A961C65; Mon, 15 Feb 2016 06:01:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455516065!22015292!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5937 invoked from network); 15 Feb 2016 06:01:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFC-0000HS-9k
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDZ-0005Q2-8y
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDZ-0005Q2-8y@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:05 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 71aec1d33150ecfe046b782e4865e468b83f97cd
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 8eea589..4c3d237 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1135,8 +1135,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1145,7 +1150,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1368,6 +1372,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1564,7 +1574,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1669,7 +1679,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (val == 0) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1956,9 +1966,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDn-0006kn-Lp; Mon, 15 Feb 2016 06:01:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDm-0006kY-3u
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:18 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	85/A2-16618-DA961C65; Mon, 15 Feb 2016 06:01:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1455516075!23713715!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12148 invoked from network); 15 Feb 2016 06:01:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFM-0000Ha-Ka
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDj-0005SD-JR
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDj-0005SD-JR@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bb4083e49db300c9db6074cb30f9514b1b907f81
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 604252a..620f47f 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -721,7 +721,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     BusChild *kid;
     int num_pd_disks = 0;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDn-0006kn-Lp; Mon, 15 Feb 2016 06:01:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDm-0006kY-3u
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:18 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	85/A2-16618-DA961C65; Mon, 15 Feb 2016 06:01:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1455516075!23713715!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12148 invoked from network); 15 Feb 2016 06:01:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFM-0000Ha-Ka
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDj-0005SD-JR
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDj-0005SD-JR@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bb4083e49db300c9db6074cb30f9514b1b907f81
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:43:51 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 604252a..620f47f 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -721,7 +721,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     BusChild *kid;
     int num_pd_disks = 0;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDx-0006m4-Qd; Mon, 15 Feb 2016 06:01:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDw-0006lq-G7
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:28 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	F4/D0-15353-7B961C65; Mon, 15 Feb 2016 06:01:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455516086!22048489!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 541 invoked from network); 15 Feb 2016 06:01:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFX-0000IA-0U
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDt-0005TB-TJ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDt-0005TB-TJ@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 053f91fcc2011818bf3e42913fc5b715636c8252
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:45:03 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 63f1960..16db6f9 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCDx-0006m4-Qd; Mon, 15 Feb 2016 06:01:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDw-0006lq-G7
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:28 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	F4/D0-15353-7B961C65; Mon, 15 Feb 2016 06:01:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455516086!22048489!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 541 invoked from network); 15 Feb 2016 06:01:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFX-0000IA-0U
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCDt-0005TB-TJ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCDt-0005TB-TJ@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 053f91fcc2011818bf3e42913fc5b715636c8252
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 12:45:03 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 63f1960..16db6f9 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCE7-0006nZ-Ui; Mon, 15 Feb 2016 06:01:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCE6-0006nJ-I8
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:38 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	8B/8E-03066-1C961C65; Mon, 15 Feb 2016 06:01:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455516096!2896072!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54314 invoked from network); 15 Feb 2016 06:01:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFh-0000II-BH
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCE4-0005Ug-9j
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCE4-0005Ug-9j@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bd38ad19a5b209af05d3986477e48c44fb2b8047
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:20 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 94f28e6..254692b 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -838,6 +838,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCE7-0006nZ-Ui; Mon, 15 Feb 2016 06:01:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCE6-0006nJ-I8
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:38 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	8B/8E-03066-1C961C65; Mon, 15 Feb 2016 06:01:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455516096!2896072!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54314 invoked from network); 15 Feb 2016 06:01:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFh-0000II-BH
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCE4-0005Ug-9j
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCE4-0005Ug-9j@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bd38ad19a5b209af05d3986477e48c44fb2b8047
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:20 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 94f28e6..254692b 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -838,6 +838,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEJ-0006oz-3F; Mon, 15 Feb 2016 06:01:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEH-0006on-D2
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:49 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	5F/47-02745-CC961C65; Mon, 15 Feb 2016 06:01:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455516106!14871178!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6199 invoked from network); 15 Feb 2016 06:01:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFr-0000J9-LP
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEE-0005Wj-Jj
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEE-0005Wj-Jj@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:46 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b57f9d78b84483818a3faf34dad628b3bdc6a5b
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index de26609..01534cf 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -718,6 +718,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
     } else {
         unsigned crc_val;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and calculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:01:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:01:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEJ-0006oz-3F; Mon, 15 Feb 2016 06:01:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEH-0006on-D2
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:49 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	5F/47-02745-CC961C65; Mon, 15 Feb 2016 06:01:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455516106!14871178!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6199 invoked from network); 15 Feb 2016 06:01:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFr-0000J9-LP
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEE-0005Wj-Jj
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEE-0005Wj-Jj@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:46 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b57f9d78b84483818a3faf34dad628b3bdc6a5b
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index de26609..01534cf 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -718,6 +718,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
     } else {
         unsigned crc_val;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and calculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCET-0006qt-7g; Mon, 15 Feb 2016 06:02:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCER-0006qg-LD
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:59 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	80/4C-29985-6D961C65; Mon, 15 Feb 2016 06:01:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1455516117!23772009!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38591 invoked from network); 15 Feb 2016 06:01:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCG2-0000JH-1f
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEO-0005ZD-Vk
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEO-0005ZD-Vk@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:56 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3802d30855ccc81b9d55246f0c54a985c6e73990
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 1cc0fc1..07dfb2e 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1410,21 +1410,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCET-0006qt-7g; Mon, 15 Feb 2016 06:02:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCER-0006qg-LD
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:59 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	80/4C-29985-6D961C65; Mon, 15 Feb 2016 06:01:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1455516117!23772009!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38591 invoked from network); 15 Feb 2016 06:01:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:01:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCG2-0000JH-1f
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEO-0005ZD-Vk
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:01:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEO-0005ZD-Vk@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:01:56 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3802d30855ccc81b9d55246f0c54a985c6e73990
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 1cc0fc1..07dfb2e 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1410,21 +1410,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEd-0006sJ-BE; Mon, 15 Feb 2016 06:02:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEb-0006s9-Rh
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:09 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	3F/14-28228-1E961C65; Mon, 15 Feb 2016 06:02:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455516127!15169296!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54239 invoked from network); 15 Feb 2016 06:02:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGC-0000JT-EB
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEZ-0005cn-Bl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEZ-0005cn-Bl@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 47f168e2da96473ede608a17aa757c11bc90fc5f
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 46fe70e..581b57c 100644
--- a/exec.c
+++ b/exec.c
@@ -347,7 +347,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEd-0006sJ-BE; Mon, 15 Feb 2016 06:02:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEb-0006s9-Rh
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:09 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	3F/14-28228-1E961C65; Mon, 15 Feb 2016 06:02:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455516127!15169296!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54239 invoked from network); 15 Feb 2016 06:02:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGC-0000JT-EB
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEZ-0005cn-Bl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEZ-0005cn-Bl@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 47f168e2da96473ede608a17aa757c11bc90fc5f
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 46fe70e..581b57c 100644
--- a/exec.c
+++ b/exec.c
@@ -347,7 +347,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEo-0006ty-Hw; Mon, 15 Feb 2016 06:02:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEm-0006tm-GZ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:20 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	28/C8-23366-BE961C65; Mon, 15 Feb 2016 06:02:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455516138!20005377!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63494 invoked from network); 15 Feb 2016 06:02:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGM-0000Jb-RO
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEj-0005dC-Pl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEj-0005dC-Pl@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:17 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a028c96f0f10db221e07eb0524c01b77aaa42341
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 07dfb2e..d04472d 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1395,7 +1395,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1487,9 +1487,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEo-0006ty-Hw; Mon, 15 Feb 2016 06:02:22 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEm-0006tm-GZ
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:20 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	28/C8-23366-BE961C65; Mon, 15 Feb 2016 06:02:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455516138!20005377!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63494 invoked from network); 15 Feb 2016 06:02:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGM-0000Jb-RO
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEj-0005dC-Pl
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEj-0005dC-Pl@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:17 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a028c96f0f10db221e07eb0524c01b77aaa42341
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 07dfb2e..d04472d 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1395,7 +1395,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1487,9 +1487,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEy-0006vL-Mk; Mon, 15 Feb 2016 06:02:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEw-0006v6-Sh
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:30 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	6F/FF-06685-6F961C65; Mon, 15 Feb 2016 06:02:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455516148!13929758!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34333 invoked from network); 15 Feb 2016 06:02:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGX-0000KB-94
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEu-0005gE-64
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEu-0005gE-64@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 75c57190671cd2cfdfbbc448fb3c752dc46018d8
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index f510932..9f0ab41 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1086,6 +1086,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCEy-0006vL-Mk; Mon, 15 Feb 2016 06:02:32 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEw-0006v6-Sh
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:30 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	6F/FF-06685-6F961C65; Mon, 15 Feb 2016 06:02:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455516148!13929758!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34333 invoked from network); 15 Feb 2016 06:02:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGX-0000KB-94
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCEu-0005gE-64
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCEu-0005gE-64@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 75c57190671cd2cfdfbbc448fb3c752dc46018d8
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index f510932..9f0ab41 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1086,6 +1086,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCF8-0006wb-Ro; Mon, 15 Feb 2016 06:02:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF7-0006wP-EN
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:41 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	17/06-08347-00A61C65; Mon, 15 Feb 2016 06:02:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455516158!20005447!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 780 invoked from network); 15 Feb 2016 06:02:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGh-0000KJ-Li
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF4-0005hP-Jy
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCF4-0005hP-Jy@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:38 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c3390f82eae5cff3e3858253c6e189e5698033e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 9f0ab41..fadb938 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1112,7 +1112,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1261,8 +1261,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCF8-0006wb-Ro; Mon, 15 Feb 2016 06:02:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF7-0006wP-EN
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:41 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	17/06-08347-00A61C65; Mon, 15 Feb 2016 06:02:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455516158!20005447!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 780 invoked from network); 15 Feb 2016 06:02:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGh-0000KJ-Li
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCF4-0005hP-Jy
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCF4-0005hP-Jy@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:38 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c3390f82eae5cff3e3858253c6e189e5698033e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 13:58:51 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 9f0ab41..fadb938 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1112,7 +1112,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1261,8 +1261,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCFI-0006xy-W4; Mon, 15 Feb 2016 06:02:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFH-0006xo-M4
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:51 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
	5D/5B-13487-A0A61C65; Mon, 15 Feb 2016 06:02:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455516169!22072225!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55801 invoked from network); 15 Feb 2016 06:02:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGs-0000Kx-0v
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFE-0005hn-VK
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCFE-0005hn-VK@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:48 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 02879be2307dbda16056152d61872ccdadb0feba
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:11:05 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 1d25b62..b7b61b3 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 24de260..3c60513 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 263e051..301ad4c 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index b0ed04c..fcd85b5 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 2d98696..d2969aa 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -34,6 +34,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 3a7fd58..4a215e3 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -156,6 +157,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:02:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCFI-0006xy-W4; Mon, 15 Feb 2016 06:02:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFH-0006xo-M4
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:51 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
	5D/5B-13487-A0A61C65; Mon, 15 Feb 2016 06:02:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1455516169!22072225!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55801 invoked from network); 15 Feb 2016 06:02:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:02:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCGs-0000Kx-0v
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFE-0005hn-VK
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCFE-0005hn-VK@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:48 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 02879be2307dbda16056152d61872ccdadb0feba
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:11:05 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 1d25b62..b7b61b3 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 24de260..3c60513 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 263e051..301ad4c 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index b0ed04c..fcd85b5 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 2d98696..d2969aa 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -34,6 +34,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 3a7fd58..4a215e3 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -156,6 +157,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:03:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCFT-000709-3t; Mon, 15 Feb 2016 06:03:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFS-0006zu-E3
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:02 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	72/B5-21901-51A61C65; Mon, 15 Feb 2016 06:03:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455516179!22015631!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16960 invoked from network); 15 Feb 2016 06:03:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:03:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCH2-0000L6-Ds
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFP-0005iE-BN
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCFP-0005iE-BN@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 36d4ccc357252ff5506352c4815533f0a3ebc116
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:20:16 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:30:05 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 47f168e2da96473ede608a17aa757c11bc90fc5f.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 581b57c..46fe70e 100644
--- a/exec.c
+++ b/exec.c
@@ -347,7 +347,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 15 06:03:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Feb 2016 06:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVCFT-000709-3t; Mon, 15 Feb 2016 06:03:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFS-0006zu-E3
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:03:02 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	72/B5-21901-51A61C65; Mon, 15 Feb 2016 06:03:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1455516179!22015631!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16960 invoked from network); 15 Feb 2016 06:03:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	15 Feb 2016 06:03:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCH2-0000L6-Ds
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:04:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVCFP-0005iE-BN
	for xen-changelog@lists.xensource.com; Mon, 15 Feb 2016 06:02:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVCFP-0005iE-BN@xenbits.xen.org>
Date: Mon, 15 Feb 2016 06:02:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 36d4ccc357252ff5506352c4815533f0a3ebc116
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:20:16 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:30:05 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 47f168e2da96473ede608a17aa757c11bc90fc5f.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 581b57c..46fe70e 100644
--- a/exec.c
+++ b/exec.c
@@ -347,7 +347,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUvw-00057H-Es; Tue, 16 Feb 2016 02:00:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUvv-00056T-BF
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:07 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	85/E2-08479-6A282C65; Tue, 16 Feb 2016 02:00:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1455588005!15126840!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53565 invoked from network); 16 Feb 2016 02:00:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxX-0000gx-UC
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUvs-0000QI-JW
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUvs-0000QI-JW@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] fw_cfg: add check to validate
	current entry value
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f662c5972a54f2f4b218d9ace5c3b10ae9a15b7e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 6 11:46:25 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Wed Jan 6 16:43:16 2016 +0000

    fw_cfg: add check to validate current entry value
    
    When processing firmware configurations, an OOB r/w access occurs
    if 's->cur_entry' is set to be invalid(FW_CFG_INVALID=0xffff).
    Add a check to validate 's->cur_entry' to avoid such access.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/nvram/fw_cfg.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 282341a..89fde41 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -211,12 +211,15 @@ static void fw_cfg_reboot(FWCfgState *s)
 static void fw_cfg_write(FWCfgState *s, uint8_t value)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
 
     trace_fw_cfg_write(s, value);
 
-    if (s->cur_entry & FW_CFG_WRITE_CHANNEL && e->callback &&
-        s->cur_offset < e->len) {
+    if (s->cur_entry & FW_CFG_WRITE_CHANNEL
+        && e != NULL
+        && e->callback
+        && s->cur_offset < e->len) {
         e->data[s->cur_offset++] = value;
         if (s->cur_offset == e->len) {
             e->callback(e->callback_opaque, e->data);
@@ -245,7 +248,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
 static uint8_t fw_cfg_read(FWCfgState *s)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
     uint8_t ret;
 
     if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUvw-00057H-Es; Tue, 16 Feb 2016 02:00:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUvv-00056T-BF
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:07 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	85/E2-08479-6A282C65; Tue, 16 Feb 2016 02:00:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1455588005!15126840!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53565 invoked from network); 16 Feb 2016 02:00:06 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxX-0000gx-UC
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUvs-0000QI-JW
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUvs-0000QI-JW@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:04 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] fw_cfg: add check to validate
	current entry value
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f662c5972a54f2f4b218d9ace5c3b10ae9a15b7e
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 6 11:46:25 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Wed Jan 6 16:43:16 2016 +0000

    fw_cfg: add check to validate current entry value
    
    When processing firmware configurations, an OOB r/w access occurs
    if 's->cur_entry' is set to be invalid(FW_CFG_INVALID=0xffff).
    Add a check to validate 's->cur_entry' to avoid such access.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/nvram/fw_cfg.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index 282341a..89fde41 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -211,12 +211,15 @@ static void fw_cfg_reboot(FWCfgState *s)
 static void fw_cfg_write(FWCfgState *s, uint8_t value)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
 
     trace_fw_cfg_write(s, value);
 
-    if (s->cur_entry & FW_CFG_WRITE_CHANNEL && e->callback &&
-        s->cur_offset < e->len) {
+    if (s->cur_entry & FW_CFG_WRITE_CHANNEL
+        && e != NULL
+        && e->callback
+        && s->cur_offset < e->len) {
         e->data[s->cur_offset++] = value;
         if (s->cur_offset == e->len) {
             e->callback(e->callback_opaque, e->data);
@@ -245,7 +248,8 @@ static int fw_cfg_select(FWCfgState *s, uint16_t key)
 static uint8_t fw_cfg_read(FWCfgState *s)
 {
     int arch = !!(s->cur_entry & FW_CFG_ARCH_LOCAL);
-    FWCfgEntry *e = &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
+    FWCfgEntry *e = (s->cur_entry == FW_CFG_INVALID) ? NULL :
+                     &s->entries[arch][s->cur_entry & FW_CFG_ENTRY_MASK];
     uint8_t ret;
 
     if (s->cur_entry == FW_CFG_INVALID || !e->data || s->cur_offset >= e->len)
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUw7-000584-Km; Tue, 16 Feb 2016 02:00:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUw5-00057r-Sb
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:17 +0000
Content-Length: 3761
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	4C/29-12635-1B282C65; Tue, 16 Feb 2016 02:00:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455588015!14188369!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27476 invoked from network); 16 Feb 2016 02:00:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxi-0000h5-CA
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUw3-0000Qg-8l
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUw3-0000Qg-8l@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0114384928031906263=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============0114384928031906263==
Content-Length: 3403
Content-Transfer-Encoding: quoted-printable

commit ebaa23ffb84d8bf8a114e67d49041d9afdee3a56
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:54:56 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 19 ++++++++++++++++++-
 hw/xenpv/xen_domainbuild.c  |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index ffce604..2c206bf 100755
--- a/configure
+++ b/configure
@@ -1785,7 +1785,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/xenpv/xen_domainbuild.c b/hw/xenpv/xen_domainbuild.c
index c0ab753..ac0e5ac 100644
--- a/hw/xenpv/xen_domainbuild.c
+++ b/hw/xenpv/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 07731b9..6cd469d 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -164,4 +164,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5


--===============0114384928031906263==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============0114384928031906263==--

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUw7-000584-Km; Tue, 16 Feb 2016 02:00:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUw5-00057r-Sb
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:17 +0000
Content-Length: 3761
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	4C/29-12635-1B282C65; Tue, 16 Feb 2016 02:00:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455588015!14188369!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27476 invoked from network); 16 Feb 2016 02:00:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxi-0000h5-CA
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUw3-0000Qg-8l
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUw3-0000Qg-8l@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:15 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] xen: fix usage of
	xc_domain_create in domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0114384928031906263=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============0114384928031906263==
Content-Length: 3403
Content-Transfer-Encoding: quoted-printable

commit ebaa23ffb84d8bf8a114e67d49041d9afdee3a56
Author:     Roger Pau Monne <roger.pau@citrix.com>
AuthorDate: Fri Nov 13 17:38:06 2015 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:54:56 2016 +0000

    xen: fix usage of xc_domain_create in domain builder
    
    Due to the addition of HVMlite and the requirement to always provide a
    valid xc_domain_configuration_t, xc_domain_create now always takes an arch
    domain config, which can be NULL in order to mimic previous behaviour.
    
    Add a small stub called xen_domain_create that encapsulates the correct
    call to xc_domain_create depending on the libxc version detected.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 configure                   | 19 ++++++++++++++++++-
 hw/xenpv/xen_domainbuild.c  |  2 +-
 include/hw/xen/xen_common.h | 16 ++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index ffce604..2c206bf 100755
--- a/configure
+++ b/configure
@@ -1785,7 +1785,24 @@ EOF
     fi
     xen=3Dno
 
-  # Xen unstable
+  # Xen 4.7
+  elif
+      cat > $TMPC <<EOF &&
+#include <xenctrl.h>
+#include <stdint.h>
+int main(void) {
+  xc_interface *xc =3D NULL;
+  xen_domain_handle_t handle;
+  xc_domain_create(xc, 0, handle, 0, NULL, NULL);
+  return 0;
+}
+EOF
+      compile_prog "" "$xen_libs"
+    then
+    xen_ctrl_version=3D470
+    xen=3Dyes
+
+  # Xen 4.2
   elif
       cat > $TMPC <<EOF &&
 #include <xenctrl.h>
diff --git a/hw/xenpv/xen_domainbuild.c b/hw/xenpv/xen_domainbuild.c
index c0ab753..ac0e5ac 100644
--- a/hw/xenpv/xen_domainbuild.c
+++ b/hw/xenpv/xen_domainbuild.c
@@ -234,7 +234,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
     int rc;
 
     memcpy(uuid, qemu_uuid, sizeof(uuid));
-    rc =3D xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
+    rc =3D xen_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
     if (rc < 0) {
         fprintf(stderr, "xen: xc_domain_create() failed\n");
         goto err;
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 07731b9..6cd469d 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -164,4 +164,20 @@ void destroy_hvm_domain(bool reboot);
 /* shutdown/destroy current domain because of an error */
 void xen_shutdown_fatal_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 470
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid);
+}
+#else
+static inline int xen_domain_create(XenXC xc, uint32_t ssidref,
+                                    xen_domain_handle_t handle, uint32_t flags,
+                                    uint32_t *pdomid)
+{
+    return xc_domain_create(xc, ssidref, handle, flags, pdomid, NULL);
+}
+#endif
+
 #endif /* QEMU_HW_XEN_COMMON_H */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5


--===============0114384928031906263==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============0114384928031906263==--

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwH-000599-OI; Tue, 16 Feb 2016 02:00:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwG-000592-By
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:28 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	CC/E6-09478-BB282C65; Tue, 16 Feb 2016 02:00:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455588026!10304925!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60809 invoked from network); 16 Feb 2016 02:00:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxs-0000hk-OO
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwD-0000R4-Jx
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwD-0000R4-Jx@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78668ee0d72990e083177465f15584a893ebf884
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:00 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index b2d21d6..a8eda63 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -786,7 +786,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1023,7 +1024,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwH-000599-OI; Tue, 16 Feb 2016 02:00:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwG-000592-By
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:28 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	CC/E6-09478-BB282C65; Tue, 16 Feb 2016 02:00:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1455588026!10304925!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60809 invoked from network); 16 Feb 2016 02:00:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxs-0000hk-OO
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwD-0000R4-Jx
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwD-0000R4-Jx@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:25 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] e1000: eliminate infinite
	loops on out-of-bounds transfer start
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78668ee0d72990e083177465f15584a893ebf884
Author:     Laszlo Ersek <lersek@redhat.com>
AuthorDate: Tue Jan 19 14:17:20 2016 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:00 2016 +0000

    e1000: eliminate infinite loops on out-of-bounds transfer start
    
    The start_xmit() and e1000_receive_iov() functions implement DMA transfers
    iterating over a set of descriptors that the guest's e1000 driver
    prepares:
    
    - the TDLEN and RDLEN registers store the total size of the descriptor
      area,
    
    - while the TDH and RDH registers store the offset (in whole tx / rx
      descriptors) into the area where the transfer is supposed to start.
    
    Each time a descriptor is processed, the TDH and RDH register is bumped
    (as appropriate for the transfer direction).
    
    QEMU already contains logic to deal with bogus transfers submitted by the
    guest:
    
    - Normally, the transmit case wants to increase TDH from its initial value
      to TDT. (TDT is allowed to be numerically smaller than the initial TDH
      value; wrapping at or above TDLEN bytes to zero is normal.) The failsafe
      that QEMU currently has here is a check against reaching the original
      TDH value again -- a complete wraparound, which should never happen.
    
    - In the receive case RDH is increased from its initial value until
      "total_size" bytes have been received; preferably in a single step, or
      in "s->rxbuf_size" byte steps, if the latter is smaller. However, null
      RX descriptors are skipped without receiving data, while RDH is
      incremented just the same. QEMU tries to prevent an infinite loop
      (processing only null RX descriptors) by detecting whether RDH assumes
      its original value during the loop. (Again, wrapping from RDLEN to 0 is
      normal.)
    
    What both directions miss is that the guest could program TDLEN and RDLEN
    so low, and the initial TDH and RDH so high, that these registers will
    immediately be truncated to zero, and then never reassume their initial
    values in the loop -- a full wraparound will never occur.
    
    The condition that expresses this is:
    
      xdh_start >= s->mac_reg[XDLEN] / sizeof(desc)
    
    i.e., TDH or RDH start out after the last whole rx or tx descriptor that
    fits into the TDLEN or RDLEN sized area.
    
    This condition could be checked before we enter the loops, but
    pci_dma_read() / pci_dma_write() knows how to fill in buffers safely for
    bogus DMA addresses, so we just extend the existing failsafes with the
    above condition.
    
    This is CVE-2016-1981.
    
    upstream-commit-id: dd793a74882477ca38d49e191110c17dfee51dcc
    
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Petr Matousek <pmatouse@redhat.com>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Prasad Pandit <ppandit@redhat.com>
    Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Cc: qemu-stable@nongnu.org
    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1296044
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/net/e1000.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/net/e1000.c b/hw/net/e1000.c
index b2d21d6..a8eda63 100644
--- a/hw/net/e1000.c
+++ b/hw/net/e1000.c
@@ -786,7 +786,8 @@ start_xmit(E1000State *s)
          * bogus values to TDT/TDLEN.
          * there's nothing too intelligent we could do about this.
          */
-        if (s->mac_reg[TDH] == tdh_start) {
+        if (s->mac_reg[TDH] == tdh_start ||
+            tdh_start >= s->mac_reg[TDLEN] / sizeof(desc)) {
             DBGOUT(TXERR, "TDH wraparound @%x, TDT %x, TDLEN %x\n",
                    tdh_start, s->mac_reg[TDT], s->mac_reg[TDLEN]);
             break;
@@ -1023,7 +1024,8 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt)
         if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN])
             s->mac_reg[RDH] = 0;
         /* see comment in start_xmit; same here */
-        if (s->mac_reg[RDH] == rdh_start) {
+        if (s->mac_reg[RDH] == rdh_start ||
+            rdh_start >= s->mac_reg[RDLEN] / sizeof(desc)) {
             DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n",
                    rdh_start, s->mac_reg[RDT], s->mac_reg[RDLEN]);
             set_ics(s, 0, E1000_ICS_RXO);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwS-0005SH-ST; Tue, 16 Feb 2016 02:00:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwR-0005MN-BB
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:39 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	48/F5-03066-6C282C65; Tue, 16 Feb 2016 02:00:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455588037!22747860!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56374 invoked from network); 16 Feb 2016 02:00:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy4-0000hs-0a
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwO-0000Se-1D
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwO-0000Se-1D@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ca4b8af6798b1e21c3ef4dfa8df7fbb133f55396
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:00 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 0c7d75f..647a356 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2020,15 +2020,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwS-0005SH-ST; Tue, 16 Feb 2016 02:00:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwR-0005MN-BB
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:39 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	48/F5-03066-6C282C65; Tue, 16 Feb 2016 02:00:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455588037!22747860!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56374 invoked from network); 16 Feb 2016 02:00:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy4-0000hs-0a
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwO-0000Se-1D
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwO-0000Se-1D@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:36 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ui: vnc: avoid floating point
	exception
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ca4b8af6798b1e21c3ef4dfa8df7fbb133f55396
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 3 18:54:17 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:00 2016 +0000

    ui: vnc: avoid floating point exception
    
    While sending 'SetPixelFormat' messages to a VNC server,
    the client could set the 'red-max', 'green-max' and 'blue-max'
    values to be zero. This leads to a floating point exception in
    write_png_palette while doing frame buffer updates.
    
    Reported-by: Lian Yihan <lianyihan@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 ui/vnc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 0c7d75f..647a356 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2020,15 +2020,15 @@ static void set_pixel_format(VncState *vs,
         return;
     }
 
-    vs->client_pf.rmax = red_max;
+    vs->client_pf.rmax = red_max ? red_max : 0xFF;
     vs->client_pf.rbits = hweight_long(red_max);
     vs->client_pf.rshift = red_shift;
     vs->client_pf.rmask = red_max << red_shift;
-    vs->client_pf.gmax = green_max;
+    vs->client_pf.gmax = green_max ? green_max : 0xFF;
     vs->client_pf.gbits = hweight_long(green_max);
     vs->client_pf.gshift = green_shift;
     vs->client_pf.gmask = green_max << green_shift;
-    vs->client_pf.bmax = blue_max;
+    vs->client_pf.bmax = blue_max ? blue_max : 0xFF;
     vs->client_pf.bbits = hweight_long(blue_max);
     vs->client_pf.bshift = blue_shift;
     vs->client_pf.bmask = blue_max << blue_shift;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwd-0005Tl-1N; Tue, 16 Feb 2016 02:00:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwb-0005Ta-RP
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:49 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	EE/B9-24450-1D282C65; Tue, 16 Feb 2016 02:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455588047!23738135!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29846 invoked from network); 16 Feb 2016 02:00:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyE-0000i7-DC
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwZ-0000T2-9X
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwZ-0000T2-9X@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:47 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b993d1eba4c5ef89ba5bdbcaac63f4d668bdc8c6
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index ddcee4b..a982f85 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1134,8 +1134,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1144,7 +1149,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1367,6 +1371,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1563,7 +1573,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1668,7 +1678,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (0 == val) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1946,9 +1956,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:00:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:00:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwd-0005Tl-1N; Tue, 16 Feb 2016 02:00:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwb-0005Ta-RP
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:49 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	EE/B9-24450-1D282C65; Tue, 16 Feb 2016 02:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455588047!23738135!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29846 invoked from network); 16 Feb 2016 02:00:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyE-0000i7-DC
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwZ-0000T2-9X
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwZ-0000T2-9X@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:47 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: vmxnet3: avoid memory
	leakage in activate_device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b993d1eba4c5ef89ba5bdbcaac63f4d668bdc8c6
Author:     P J P <ppandit@redhat.com>
AuthorDate: Tue Dec 15 12:27:54 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: vmxnet3: avoid memory leakage in activate_device
    
    Vmxnet3 device emulator does not check if the device is active
    before activating it, also it did not free the transmit & receive
    buffers while deactivating the device, thus resulting in memory
    leakage on the host. This patch fixes both these issues to avoid
    host memory leakage.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/vmxnet3.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index ddcee4b..a982f85 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1134,8 +1134,13 @@ static void vmxnet3_reset_mac(VMXNET3State *s)
 
 static void vmxnet3_deactivate_device(VMXNET3State *s)
 {
-    VMW_CBPRN("Deactivating vmxnet3...");
-    s->device_active = false;
+    if (s->device_active) {
+        VMW_CBPRN("Deactivating vmxnet3...");
+        vmxnet_tx_pkt_reset(s->tx_pkt);
+        vmxnet_tx_pkt_uninit(s->tx_pkt);
+        vmxnet_rx_pkt_uninit(s->rx_pkt);
+        s->device_active = false;
+    }
 }
 
 static void vmxnet3_reset(VMXNET3State *s)
@@ -1144,7 +1149,6 @@ static void vmxnet3_reset(VMXNET3State *s)
 
     vmxnet3_deactivate_device(s);
     vmxnet3_reset_interrupt_states(s);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
     s->drv_shmem = 0;
     s->tx_sop = true;
     s->skip_current_tx_pkt = false;
@@ -1367,6 +1371,12 @@ static void vmxnet3_activate_device(VMXNET3State *s)
         return;
     }
 
+    /* Verify if device is active */
+    if (s->device_active) {
+        VMW_CFPRN("Vmxnet3 device is active");
+        return;
+    }
+
     vmxnet3_adjust_by_guest_type(s);
     vmxnet3_update_features(s);
     vmxnet3_update_pm_state(s);
@@ -1563,7 +1573,7 @@ static void vmxnet3_handle_command(VMXNET3State *s, uint64_t cmd)
         break;
 
     case VMXNET3_CMD_QUIESCE_DEV:
-        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - pause the device");
+        VMW_CBPRN("Set: VMXNET3_CMD_QUIESCE_DEV - deactivate the device");
         vmxnet3_deactivate_device(s);
         break;
 
@@ -1668,7 +1678,7 @@ vmxnet3_io_bar1_write(void *opaque,
          * shared address only after we get the high part
          */
         if (0 == val) {
-            s->device_active = false;
+            vmxnet3_deactivate_device(s);
         }
         s->temp_shared_guest_driver_memory = val;
         s->drv_shmem = 0;
@@ -1946,9 +1956,7 @@ static bool vmxnet3_peer_has_vnet_hdr(VMXNET3State *s)
 static void vmxnet3_net_uninit(VMXNET3State *s)
 {
     g_free(s->mcast_list);
-    vmxnet_tx_pkt_reset(s->tx_pkt);
-    vmxnet_tx_pkt_uninit(s->tx_pkt);
-    vmxnet_rx_pkt_uninit(s->rx_pkt);
+    vmxnet3_deactivate_device(s);
     qemu_del_nic(s->nic);
 }
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwo-0005VG-5J; Tue, 16 Feb 2016 02:01:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwm-0005Uv-8g
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:00 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	F1/78-02499-BD282C65; Tue, 16 Feb 2016 02:00:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455588058!3157813!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7275 invoked from network); 16 Feb 2016 02:00:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyO-0000iz-Pi
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwj-0000TR-Mj
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwj-0000TR-Mj@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b402c283d4edc25d8eafae95329cea38a5b305f9
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 1781525..e7a4d9f 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -676,7 +676,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwo-0005VG-5J; Tue, 16 Feb 2016 02:01:02 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwm-0005Uv-8g
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:00 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	F1/78-02499-BD282C65; Tue, 16 Feb 2016 02:00:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1455588058!3157813!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7275 invoked from network); 16 Feb 2016 02:00:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:00:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyO-0000iz-Pi
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwj-0000TR-Mj
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:00:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwj-0000TR-Mj@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:00:57 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] scsi: initialise info object
	with appropriate size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b402c283d4edc25d8eafae95329cea38a5b305f9
Author:     P J P <ppandit@redhat.com>
AuthorDate: Mon Dec 21 15:13:13 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    scsi: initialise info object with appropriate size
    
    While processing controller 'CTRL_GET_INFO' command, the routine
    'megasas_ctrl_get_info' overflows the '&info' object size. Use its
    appropriate size to null initialise it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-Id: <alpine.LFD.2.20.1512211501420.22471@wniryva>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: P J P <ppandit@redhat.com>
---
 hw/scsi/megasas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 1781525..e7a4d9f 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -676,7 +676,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)
     int num_ld_disks = 0;
     uint16_t sdev_id;
 
-    memset(&info, 0x0, cmd->iov_size);
+    memset(&info, 0x0, dcmd_size);
     if (cmd->iov_size < dcmd_size) {
         trace_megasas_dcmd_invalid_xfer_len(cmd->index, cmd->iov_size,
                                             dcmd_size);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwy-0005XB-96; Tue, 16 Feb 2016 02:01:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUww-0005Wy-LQ
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:10 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	73/8B-29985-5E282C65; Tue, 16 Feb 2016 02:01:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1455588068!23969103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42800 invoked from network); 16 Feb 2016 02:01:09 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:09 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyZ-0000j7-2K
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwt-0000U6-VK
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwt-0000U6-VK@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae393c6d2c23dc1a797cdbad7f64d0810eda75d6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 146d2f8..bb8b8e8 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUwy-0005XB-96; Tue, 16 Feb 2016 02:01:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUww-0005Wy-LQ
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:10 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	73/8B-29985-5E282C65; Tue, 16 Feb 2016 02:01:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1455588068!23969103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42800 invoked from network); 16 Feb 2016 02:01:09 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:09 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyZ-0000j7-2K
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUwt-0000U6-VK
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUwt-0000U6-VK@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:07 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: ne2000: fix bounds check
	in ioport operations
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae393c6d2c23dc1a797cdbad7f64d0810eda75d6
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Thu Dec 31 17:05:27 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: ne2000: fix bounds check in ioport operations
    
    While doing ioport r/w operations, ne2000 device emulation suffers
    from OOB r/w errors. Update respective array bounds check to avoid
    OOB access.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/ne2000.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c
index 146d2f8..bb8b8e8 100644
--- a/hw/net/ne2000.c
+++ b/hw/net/ne2000.c
@@ -476,8 +476,9 @@ static inline void ne2000_mem_writel(NE2000State *s, uint32_t addr,
                                      uint32_t val)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         stl_le_p(s->mem + addr, val);
     }
 }
@@ -506,8 +507,9 @@ static inline uint32_t ne2000_mem_readw(NE2000State *s, uint32_t addr)
 static inline uint32_t ne2000_mem_readl(NE2000State *s, uint32_t addr)
 {
     addr &= ~1; /* XXX: check exact behaviour if not even */
-    if (addr < 32 ||
-        (addr >= NE2000_PMEM_START && addr < NE2000_MEM_SIZE)) {
+    if (addr < 32
+        || (addr >= NE2000_PMEM_START
+            && addr + sizeof(uint32_t) <= NE2000_MEM_SIZE)) {
         return ldl_le_p(s->mem + addr);
     } else {
         return 0xffffffff;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUx8-0005Yf-GA; Tue, 16 Feb 2016 02:01:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUx6-0005YQ-MU
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:20 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	0D/A0-21901-FE282C65; Tue, 16 Feb 2016 02:01:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455588078!22592690!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32278 invoked from network); 16 Feb 2016 02:01:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyj-0000ji-Ce
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUx4-0000Uc-8E
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUx4-0000Uc-8E@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1c0abfea58ee70b54d319cb1407824340f5deed7
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 457a7a1..52adea4 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -728,6 +728,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUx8-0005Yf-GA; Tue, 16 Feb 2016 02:01:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUx6-0005YQ-MU
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:20 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	0D/A0-21901-FE282C65; Tue, 16 Feb 2016 02:01:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1455588078!22592690!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32278 invoked from network); 16 Feb 2016 02:01:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyj-0000ji-Ce
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUx4-0000Uc-8E
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUx4-0000Uc-8E@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:18 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ide: ahci: reset ncq object
	to unused on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1c0abfea58ee70b54d319cb1407824340f5deed7
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Feb 5 13:58:20 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    ide: ahci: reset ncq object to unused on error
    
    When processing NCQ commands, AHCI device emulation prepares a
    NCQ transfer object; To which an aio control block(aiocb) object
    is assigned in 'execute_ncq_command'. In case, when the NCQ
    command is invalid, the 'aiocb' object is not assigned, and NCQ
    transfer object is left as 'used'. This leads to a use after
    free kind of error in 'bdrv_aio_cancel_async' via 'ahci_reset_port'.
    Reset NCQ transfer object to 'unused' to avoid it.
    
    [Maintainer edit: s/ACHI/AHCI/ in the commit message. --js]
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Reviewed-by: John Snow <jsnow@redhat.com>
    Message-id: 1452282511-4116-1-git-send-email-ppandit@redhat.com
    Signed-off-by: John Snow <jsnow@redhat.com>
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 hw/ide/ahci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 457a7a1..52adea4 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -728,6 +728,7 @@ static void ncq_cb(void *opaque, int ret)
         ide_state->error = ABRT_ERR;
         ide_state->status = READY_STAT | ERR_STAT;
         ncq_tfs->drive->port_regs.scr_err |= (1 << ncq_tfs->tag);
+        ncq_tfs->used = 0;
     } else {
         ide_state->status = READY_STAT | SEEK_STAT;
     }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxH-0005Zo-Ki; Tue, 16 Feb 2016 02:01:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxH-0005Zf-2n
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:31 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	D7/D0-21901-AF282C65; Tue, 16 Feb 2016 02:01:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1455588089!22605891!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37011 invoked from network); 16 Feb 2016 02:01:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyt-0000jq-P4
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxE-0000Wa-Lh
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxE-0000Wa-Lh@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a136dd80ade511360d1cec99554c5e160cbd64af
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 92dc2f2..76e4ea0 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -719,6 +719,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxH-0005Zo-Ki; Tue, 16 Feb 2016 02:01:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxH-0005Zf-2n
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:31 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	D7/D0-21901-AF282C65; Tue, 16 Feb 2016 02:01:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1455588089!22605891!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37011 invoked from network); 16 Feb 2016 02:01:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyt-0000jq-P4
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxE-0000Wa-Lh
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxE-0000Wa-Lh@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:28 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: cadence_gem: check
	packet size in gem_recieve
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a136dd80ade511360d1cec99554c5e160cbd64af
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Jan 15 12:30:40 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: cadence_gem: check packet size in gem_recieve
    
    While receiving packets in 'gem_receive' routine, if Frame Check
    Sequence(FCS) is enabled, it copies the packet into a local
    buffer without checking its size. Add check to validate packet
    length against the buffer size to avoid buffer overflow.
    
    Reported-by: Ling Liu <liuling-it@360.cn>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/cadence_gem.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
index 92dc2f2..76e4ea0 100644
--- a/hw/net/cadence_gem.c
+++ b/hw/net/cadence_gem.c
@@ -719,6 +719,10 @@ static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t size)
         unsigned crc_val;
         int      crc_offset;
 
+        if (size > sizeof(rxbuf) - sizeof(crc_val)) {
+            size = sizeof(rxbuf) - sizeof(crc_val);
+        }
+        bytes_to_copy = size;
         /* The application wants the FCS field, which QEMU does not provide.
          * We must try and caclculate one.
          */
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxS-0005bS-Ph; Tue, 16 Feb 2016 02:01:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxR-0005bE-E4
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:41 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	B0/23-15353-40382C65; Tue, 16 Feb 2016 02:01:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1455588099!22348132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5709 invoked from network); 16 Feb 2016 02:01:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUz4-0000jy-48
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxP-0000Wy-1I
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxP-0000Wy-1I@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:39 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2947784b8480d4c7ef0a42980bf75adc3138a248
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 355bbd6..c281555 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1487,21 +1487,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxS-0005bS-Ph; Tue, 16 Feb 2016 02:01:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxR-0005bE-E4
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:41 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	B0/23-15353-40382C65; Tue, 16 Feb 2016 02:01:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1455588099!22348132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5709 invoked from network); 16 Feb 2016 02:01:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUz4-0000jy-48
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxP-0000Wy-1I
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxP-0000Wy-1I@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:39 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] usb: check page select value
	while processing iTD
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2947784b8480d4c7ef0a42980bf75adc3138a248
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Wed Jan 20 01:26:46 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    usb: check page select value while processing iTD
    
    While processing isochronous transfer descriptors(iTD), the page
    select(PG) field value could lead to an OOB read access. Add
    check to avoid it.
    
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Message-id: 1453233406-12165-1-git-send-email-ppandit@redhat.com
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 355bbd6..c281555 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1487,21 +1487,23 @@ static int ehci_process_itd(EHCIState *ehci,
         if (itd->transact[i] & ITD_XACT_ACTIVE) {
             pg   = get_field(itd->transact[i], ITD_XACT_PGSEL);
             off  = itd->transact[i] & ITD_XACT_OFFSET_MASK;
-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
-            ptr2 = (itd->bufptr[pg+1] & ITD_BUFPTR_MASK);
             len  = get_field(itd->transact[i], ITD_XACT_LENGTH);
 
             if (len > max * mult) {
                 len = max * mult;
             }
-
-            if (len > BUFF_SIZE) {
+            if (len > BUFF_SIZE || pg > 6) {
                 return -1;
             }
 
+            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);
             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);
             if (off + len > 4096) {
                 /* transfer crosses page border */
+                if (pg == 6) {
+                    return -1;  /* avoid page pg + 1 */
+                }
+                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);
                 uint32_t len2 = off + len - 4096;
                 uint32_t len1 = len - len2;
                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxd-0005dH-1G; Tue, 16 Feb 2016 02:01:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxb-0005d4-TZ
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:52 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	A8/80-25435-F0382C65; Tue, 16 Feb 2016 02:01:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1455588109!24072529!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37911 invoked from network); 16 Feb 2016 02:01:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzE-0000kg-G7
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxZ-0000XS-Bd
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxZ-0000XS-Bd@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9a5a7327425fb18a210728f397df4fbc577019c7
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index cf12049..e739bed 100644
--- a/exec.c
+++ b/exec.c
@@ -342,7 +342,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:01:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:01:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxd-0005dH-1G; Tue, 16 Feb 2016 02:01:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxb-0005d4-TZ
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:52 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	A8/80-25435-F0382C65; Tue, 16 Feb 2016 02:01:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1455588109!24072529!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37911 invoked from network); 16 Feb 2016 02:01:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:01:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzE-0000kg-G7
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxZ-0000XS-Bd
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxZ-0000XS-Bd@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:49 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] exec: fix a glitch in
	checking dma r/w access
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9a5a7327425fb18a210728f397df4fbc577019c7
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Mon Jan 25 19:59:50 2016 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    exec: fix a glitch in checking dma r/w access
    
    While checking r/w access in 'memory_access_is_direct' routine
    a glitch in the expression leads to segmentation fault while
    performing dma read operation.
    
    Reported-by: Donghai Zdh <donghai.zdh@alibaba-inc.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index cf12049..e739bed 100644
--- a/exec.c
+++ b/exec.c
@@ -342,7 +342,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return !(is_write && mr->readonly);
+        return (is_write && !mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxn-0005ek-5z; Tue, 16 Feb 2016 02:02:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxm-0005eZ-6v
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:02 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	2C/8B-09834-91382C65; Tue, 16 Feb 2016 02:02:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1455588119!23969216!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46401 invoked from network); 16 Feb 2016 02:02:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzO-0000ku-NP
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxj-0000YU-La
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxj-0000YU-La@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e27727dc5c9bd67e78ee4c36465ac3b23f3997d4
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index c281555..5176a64 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1472,7 +1472,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1564,9 +1564,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxn-0005ek-5z; Tue, 16 Feb 2016 02:02:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxm-0005eZ-6v
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:02 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	2C/8B-09834-91382C65; Tue, 16 Feb 2016 02:02:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1455588119!23969216!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46401 invoked from network); 16 Feb 2016 02:02:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzO-0000ku-NP
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxj-0000YU-La
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:01:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxj-0000YU-La@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:01:59 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] ehci: make idt processing
	more robust
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e27727dc5c9bd67e78ee4c36465ac3b23f3997d4
Author:     Gerd Hoffmann <kraxel@redhat.com>
AuthorDate: Mon Dec 14 09:21:23 2015 +0100
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    ehci: make idt processing more robust
    
    Make ehci_process_itd return an error in case we didn't do any actual
    iso transfer because we've found no active transaction.  That'll avoid
    ehci happily run in circles forever if the guest builds a loop out of
    idts.
    
    This is CVE-2015-8558.
    
    Cc: qemu-stable@nongnu.org
    Reported-by: Qinghao Tang <luodalongde@gmail.com>
    Tested-by: P J P <ppandit@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb/hcd-ehci.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index c281555..5176a64 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -1472,7 +1472,7 @@ static int ehci_process_itd(EHCIState *ehci,
 {
     USBDevice *dev;
     USBEndpoint *ep;
-    uint32_t i, len, pid, dir, devaddr, endp;
+    uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
     uint32_t pg, off, ptr1, ptr2, max, mult;
 
     ehci->periodic_sched_active = PERIODIC_ACTIVE;
@@ -1564,9 +1564,10 @@ static int ehci_process_itd(EHCIState *ehci,
                 ehci_raise_irq(ehci, USBSTS_INT);
             }
             itd->transact[i] &= ~ITD_XACT_ACTIVE;
+            xfers++;
         }
     }
-    return 0;
+    return xfers ? 0 : -1;
 }
 
 
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxy-0005h7-9p; Tue, 16 Feb 2016 02:02:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxw-0005gu-H5
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:12 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	6E/40-21594-32382C65; Tue, 16 Feb 2016 02:02:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455588130!8148396!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18322 invoked from network); 16 Feb 2016 02:02:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzZ-0000l2-1d
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxt-0000ZC-V9
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxt-0000ZC-V9@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:09 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3f19ed9b07fb2e14cb99616a15c209fd2e8170eb
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index fdea333..743a43e 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1087,6 +1087,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUxy-0005h7-9p; Tue, 16 Feb 2016 02:02:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxw-0005gu-H5
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:12 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
	6E/40-21594-32382C65; Tue, 16 Feb 2016 02:02:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1455588130!8148396!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18322 invoked from network); 16 Feb 2016 02:02:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzZ-0000l2-1d
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:03:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUxt-0000ZC-V9
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUxt-0000ZC-V9@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:09 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] pcnet: fix rx buffer
	overflow(CVE-2015-7512)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3f19ed9b07fb2e14cb99616a15c209fd2e8170eb
Author:     Jason Wang <jasowang@redhat.com>
AuthorDate: Mon Nov 30 15:00:06 2015 +0800
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    pcnet: fix rx buffer overflow(CVE-2015-7512)
    
    Backends could provide a packet whose length is greater than buffer
    size. Check for this and truncate the packet to avoid rx buffer
    overflow in this case.
    
    Cc: Prasad J Pandit <pjp@fedoraproject.org>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index fdea333..743a43e 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1087,6 +1087,12 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
             int pktcount = 0;
 
             if (!s->looptest) {
+                if (size > 4092) {
+#ifdef PCNET_DEBUG_RMD
+                    fprintf(stderr, "pcnet: truncates rx packet.\n");
+#endif
+                    size = 4092;
+                }
                 memcpy(src, buf, size);
                 /* no need to compute the CRC */
                 src[size] = 0;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUy8-0005iS-Dt; Tue, 16 Feb 2016 02:02:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy7-0005iE-4h
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:23 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	DE/36-12072-E2382C65; Tue, 16 Feb 2016 02:02:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455588140!22748068!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63657 invoked from network); 16 Feb 2016 02:02:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzj-0000lY-Dv
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy4-0000Zc-Az
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUy4-0000Zc-Az@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:20 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9497b3fec7842f42617a6aa479b5e4f4bcdbeb1d
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 743a43e..b76d1f4 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1113,7 +1113,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1262,8 +1262,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUy8-0005iS-Dt; Tue, 16 Feb 2016 02:02:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy7-0005iE-4h
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:23 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	DE/36-12072-E2382C65; Tue, 16 Feb 2016 02:02:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1455588140!22748068!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 63657 invoked from network); 16 Feb 2016 02:02:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzj-0000lY-Dv
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUy4-0000Zc-Az
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUy4-0000Zc-Az@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:20 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] net: pcnet: add check to
	validate receive data size(CVE-2015-7504)
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9497b3fec7842f42617a6aa479b5e4f4bcdbeb1d
Author:     Prasad J Pandit <pjp@fedoraproject.org>
AuthorDate: Fri Nov 20 11:50:31 2015 +0530
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Fri Feb 5 14:55:01 2016 +0000

    net: pcnet: add check to validate receive data size(CVE-2015-7504)
    
    In loopback mode, pcnet_receive routine appends CRC code to the
    receive buffer. If the data size given is same as the buffer size,
    the appended CRC code overwrites 4 bytes after s->buffer. Added a
    check to avoid that.
    
    Reported by: Qinghao Tang <luodalongde@gmail.com>
    Cc: qemu-stable@nongnu.org
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/pcnet.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c
index 743a43e..b76d1f4 100644
--- a/hw/net/pcnet.c
+++ b/hw/net/pcnet.c
@@ -1113,7 +1113,7 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_)
                 uint32_t fcs = ~0;
                 uint8_t *p = src;
 
-                while (p != &src[size-4])
+                while (p != &src[size])
                     CRC(fcs, *p++);
                 crc_err = (*(uint32_t *)p != htonl(fcs));
             }
@@ -1262,8 +1262,10 @@ static void pcnet_transmit(PCNetState *s)
         bcnt = 4096 - GET_FIELD(tmd.length, TMDL, BCNT);
 
         /* if multi-tmd packet outsizes s->buffer then skip it silently.
-           Note: this is not what real hw does */
-        if (s->xmit_pos + bcnt > sizeof(s->buffer)) {
+         * Note: this is not what real hw does.
+         * Last four bytes of s->buffer are used to store CRC FCS code.
+         */
+        if (s->xmit_pos + bcnt > sizeof(s->buffer) - 4) {
             s->xmit_pos = -1;
             goto txdone;
         }
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUyJ-0005jl-HM; Tue, 16 Feb 2016 02:02:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyH-0005jY-I6
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:33 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	F7/97-03066-83382C65; Tue, 16 Feb 2016 02:02:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455588151!15134213!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49167 invoked from network); 16 Feb 2016 02:02:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzt-0000lk-Oo
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyE-0000aj-Lf
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUyE-0000aj-Lf@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:30 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df8471f739cc24211fd42964de4367e72ab433f5
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:20:32 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 69ba36e..e324c82 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 5c49bfc..9902a56 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 688518a..c2f939a 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 0f3942e..1c49bfe 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 2d98696..d2969aa 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -34,6 +34,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 5c69a8d..583efc0 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -133,6 +134,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUyJ-0005jl-HM; Tue, 16 Feb 2016 02:02:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyH-0005jY-I6
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:33 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	F7/97-03066-83382C65; Tue, 16 Feb 2016 02:02:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1455588151!15134213!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49167 invoked from network); 16 Feb 2016 02:02:31 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUzt-0000lk-Oo
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyE-0000aj-Lf
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUyE-0000aj-Lf@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:30 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] fix MSI injection on Xen
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df8471f739cc24211fd42964de4367e72ab433f5
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Wed Jan 13 14:59:09 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Mon Feb 8 15:20:32 2016 +0000

    fix MSI injection on Xen
    
    On Xen MSIs can be remapped into pirqs, which are a type of event
    channels. It's mostly for the benefit of PCI passthrough devices, to
    avoid the overhead of interacting with the emulated lapic.
    
    However remapping interrupts and MSIs is also supported for emulated
    devices, such as the e1000 and virtio-net.
    
    When an interrupt or an MSI is remapped into a pirq, masking and
    unmasking is done by masking and unmasking the event channel. The
    masking bit on the PCI config space or MSI-X table should be ignored,
    but it isn't at the moment.
    
    As a consequence emulated devices which use MSI or MSI-X, such as
    virtio-net, don't work properly (the guest doesn't receive any
    notifications). The mechanism was working properly when xen_apic was
    introduced, but I haven't narrowed down which commit in particular is
    causing the regression.
    
    Fix the issue by ignoring the masking bit for MSI and MSI-X which have
    been remapped into pirqs.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/pci/msi.c         |  9 ++++++++-
 hw/pci/msix.c        | 12 ++++++++++--
 hw/xen/xen_pt_msi.c  |  4 +---
 include/hw/xen/xen.h |  1 +
 xen-hvm-stub.c       |  5 +++++
 xen-hvm.c            |  9 +++++++++
 6 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 69ba36e..e324c82 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -19,6 +19,7 @@
  */
 
 #include "hw/pci/msi.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 /* PCI_MSI_ADDRESS_LO */
@@ -253,13 +254,19 @@ void msi_reset(PCIDevice *dev)
 static bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
 {
     uint16_t flags = pci_get_word(dev->config + msi_flags_off(dev));
-    uint32_t mask;
+    uint32_t mask, data;
+    bool msi64bit = flags & PCI_MSI_FLAGS_64BIT;
     assert(vector < PCI_MSI_VECTORS_MAX);
 
     if (!(flags & PCI_MSI_FLAGS_MASKBIT)) {
         return false;
     }
 
+    data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
+    if (xen_is_pirq_msi(data)) {
+        return false;
+    }
+
     mask = pci_get_long(dev->config +
                         msi_mask_off(dev, flags & PCI_MSI_FLAGS_64BIT));
     return mask & (1U << vector);
diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index 5c49bfc..9902a56 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -18,6 +18,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/pci/pci.h"
+#include "hw/xen/xen.h"
 #include "qemu/range.h"
 
 #define MSIX_CAP_LENGTH 12
@@ -77,8 +78,15 @@ static void msix_clr_pending(PCIDevice *dev, int vector)
 
 static bool msix_vector_masked(PCIDevice *dev, unsigned int vector, bool fmask)
 {
-    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE + PCI_MSIX_ENTRY_VECTOR_CTRL;
-    return fmask || dev->msix_table[offset] & PCI_MSIX_ENTRY_CTRL_MASKBIT;
+    unsigned offset = vector * PCI_MSIX_ENTRY_SIZE;
+    uint32_t *data = (uint32_t *)&dev->msix_table[offset + PCI_MSIX_ENTRY_DATA];
+    /* MSIs on Xen can be remapped into pirqs. In those cases, masking
+     * and unmasking go through the PV evtchn path. */
+    if (xen_is_pirq_msi(*data)) {
+        return false;
+    }
+    return fmask || dev->msix_table[offset + PCI_MSIX_ENTRY_VECTOR_CTRL] &
+        PCI_MSIX_ENTRY_CTRL_MASKBIT;
 }
 
 bool msix_is_masked(PCIDevice *dev, unsigned int vector)
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 688518a..c2f939a 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -103,9 +103,7 @@ static int msi_msix_setup(XenPCIPassthroughState *s,
 
     assert((!is_msix && msix_entry == 0) || is_msix);
 
-    if (gvec == 0) {
-        /* if gvec is 0, the guest is asking for a particular pirq that
-         * is passed as dest_id */
+    if (xen_is_pirq_msi(data)) {
         *ppirq = msi_ext_dest_id(addr >> 32) | msi_dest_id(addr);
         if (!*ppirq) {
             /* this probably identifies an misconfiguration of the guest,
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 0f3942e..1c49bfe 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -33,6 +33,7 @@ void xen_piix3_set_irq(void *opaque, int irq_num, int level);
 void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 void xen_cmos_set_s3_resume(void *opaque, int irq, int level);
+int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
diff --git a/xen-hvm-stub.c b/xen-hvm-stub.c
index 2d98696..d2969aa 100644
--- a/xen-hvm-stub.c
+++ b/xen-hvm-stub.c
@@ -34,6 +34,11 @@ void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
 {
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    return 0;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr)
 {
 }
diff --git a/xen-hvm.c b/xen-hvm.c
index 5c69a8d..583efc0 100644
--- a/xen-hvm.c
+++ b/xen-hvm.c
@@ -12,6 +12,7 @@
 
 #include "hw/pci/pci.h"
 #include "hw/i386/pc.h"
+#include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend.h"
 #include "qmp-commands.h"
@@ -133,6 +134,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
     }
 }
 
+int xen_is_pirq_msi(uint32_t msi_data)
+{
+    /* If vector is 0, the msi is remapped into a pirq, passed as
+     * dest_id.
+     */
+    return ((msi_data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT) == 0;
+}
+
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
 {
     xen_xc_hvm_inject_msi(xen_xc, xen_domid, addr, data);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUyS-0005lM-Rd; Tue, 16 Feb 2016 02:02:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyR-0005lD-JK
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:43 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	B5/F6-08347-24382C65; Tue, 16 Feb 2016 02:02:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455588161!24101455!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29621 invoked from network); 16 Feb 2016 02:02:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVV04-0000ls-6Q
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyP-0000b9-3s
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUyP-0000b9-3s@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:41 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d285f1ceb317286c3198a1a13737baa303a814f
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:32:50 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:32:50 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 9a5a7327425fb18a210728f397df4fbc577019c7.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index e739bed..cf12049 100644
--- a/exec.c
+++ b/exec.c
@@ -342,7 +342,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 16 02:02:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Feb 2016 02:02:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVUyS-0005lM-Rd; Tue, 16 Feb 2016 02:02:44 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyR-0005lD-JK
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:43 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	B5/F6-08347-24382C65; Tue, 16 Feb 2016 02:02:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1455588161!24101455!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29621 invoked from network); 16 Feb 2016 02:02:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	16 Feb 2016 02:02:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVV04-0000ls-6Q
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:04:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVUyP-0000b9-3s
	for xen-changelog@lists.xensource.com; Tue, 16 Feb 2016 02:02:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVUyP-0000b9-3s@xenbits.xen.org>
Date: Tue, 16 Feb 2016 02:02:41 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] Revert "exec: fix a glitch in
	checking dma r/w access"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d285f1ceb317286c3198a1a13737baa303a814f
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Thu Feb 11 17:32:50 2016 +0000
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 11 17:32:50 2016 +0000

    Revert "exec: fix a glitch in checking dma r/w access"
    
    This reverts commit 9a5a7327425fb18a210728f397df4fbc577019c7.
    The patch should not have been committed, see:
    http://marc.info/?l=qemu-devel&m=145373225020873.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 exec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index e739bed..cf12049 100644
--- a/exec.c
+++ b/exec.c
@@ -342,7 +342,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
 static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)
 {
     if (memory_region_is_ram(mr)) {
-        return (is_write && !mr->readonly);
+        return !(is_write && mr->readonly);
     }
     if (memory_region_is_romd(mr)) {
         return !is_write;
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVv9j-0000H1-Qq; Wed, 17 Feb 2016 06:00:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9i-0000Gw-Fs
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:06 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	1A/91-09062-56C04C65; Wed, 17 Feb 2016 06:00:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455688804!22942982!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41835 invoked from network); 17 Feb 2016 06:00:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBN-00043s-Mk
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9f-0002WE-JR
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVv9f-0002WE-JR@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:03 +0000
Subject: [Xen-changelog] [xen master] x86: improvements to pv_cpuid()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0359b365c6aaf1303244b064acc84c493cc0e730
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:12:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:12:06 2016 +0100

    x86: improvements to pv_cpuid()
    
    pv_cpuid() has two completely separate paths inside it depending on whether
    current is dom0 or a domU.  This causes unnecessary divergence, and
    complicates future improvements.  Take steps to undo it.
    
    Changes:
     * Create leaf and subleaf variables and use them consistently, instead of a
       mix of {a,c} and regs->e{a,c}x as the input parameters.
     * Combine the dom0 and domU hypervisor leaf handling, with an early exit.
     * Apply sanity checks to domU as well.  This brings PV domU cpuid handling in
       line with HVM domains and PV dom0.
     * Perform a real cpuid instruction for calculating CPUID.0xD[ECX=0].EBX.  The
       correct xcr0 is in context, and this avoids the O(M*N) loop over the domain
       cpuid policy list which exists currently.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 74 ++++++++++++++++++++--------------------------------
 1 file changed, 29 insertions(+), 45 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 26a5026..47100ea 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -905,51 +905,24 @@ int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx,
 
 void pv_cpuid(struct cpu_user_regs *regs)
 {
-    uint32_t a, b, c, d;
+    uint32_t leaf, subleaf, a, b, c, d;
     struct vcpu *curr = current;
     struct domain *currd = curr->domain;
 
-    a = regs->eax;
+    leaf = a = regs->eax;
     b = regs->ebx;
-    c = regs->ecx;
+    subleaf = c = regs->ecx;
     d = regs->edx;
 
-    if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
-    {
-        unsigned int cpuid_leaf = a, sub_leaf = c;
-
-        if ( !cpuid_hypervisor_leaves(a, c, &a, &b, &c, &d) )
-            domain_cpuid(currd, a, c, &a, &b, &c, &d);
-
-        switch ( cpuid_leaf )
-        {
-        case XSTATE_CPUID:
-        {
-            unsigned int _eax, _ebx, _ecx, _edx;
-            /* EBX value of main leaf 0 depends on enabled xsave features */
-            if ( sub_leaf == 0 && curr->arch.xcr0 )
-            {
-                /* reset EBX to default value first */
-                b = XSTATE_AREA_MIN_SIZE;
-                for ( sub_leaf = 2; sub_leaf < 63; sub_leaf++ )
-                {
-                    if ( !(curr->arch.xcr0 & (1ULL << sub_leaf)) )
-                        continue;
-                    domain_cpuid(currd, cpuid_leaf, sub_leaf,
-                                 &_eax, &_ebx, &_ecx, &_edx);
-                    if ( (_eax + _ebx) > b )
-                        b = _eax + _ebx;
-                }
-            }
-            goto xstate;
-        }
-        }
+    if ( cpuid_hypervisor_leaves(leaf, subleaf, &a, &b, &c, &d) )
         goto out;
-    }
 
-    cpuid_count(a, c, &a, &b, &c, &d);
+    if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
+        domain_cpuid(currd, leaf, subleaf, &a, &b, &c, &d);
+    else
+        cpuid_count(leaf, subleaf, &a, &b, &c, &d);
 
-    if ( (regs->eax & 0x7fffffff) == 0x00000001 )
+    if ( (leaf & 0x7fffffff) == 0x00000001 )
     {
         /* Modify Feature Information. */
         if ( !cpu_has_apic )
@@ -964,7 +937,7 @@ void pv_cpuid(struct cpu_user_regs *regs)
         }
     }
 
-    switch ( regs->_eax )
+    switch ( leaf )
     {
     case 0x00000001:
         /* Modify Feature Information. */
@@ -999,7 +972,7 @@ void pv_cpuid(struct cpu_user_regs *regs)
         break;
 
     case 0x00000007:
-        if ( regs->_ecx == 0 )
+        if ( subleaf == 0 )
             b &= (cpufeat_mask(X86_FEATURE_BMI1) |
                   cpufeat_mask(X86_FEATURE_HLE)  |
                   cpufeat_mask(X86_FEATURE_AVX2) |
@@ -1015,14 +988,29 @@ void pv_cpuid(struct cpu_user_regs *regs)
         break;
 
     case XSTATE_CPUID:
-    xstate:
         if ( !cpu_has_xsave )
             goto unsupported;
-        if ( regs->_ecx == 1 )
+        switch ( subleaf )
+        {
+        case 0:
         {
+            uint32_t tmp;
+
+            /*
+             * Always read CPUID.0xD[ECX=0].EBX from hardware, rather than
+             * domain policy.  It varies with enabled xstate, and the correct
+             * xcr0 is in context.
+             */
+            if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
+                cpuid_count(leaf, subleaf, &tmp, &b, &tmp, &tmp);
+            break;
+        }
+
+        case 1:
             a &= (boot_cpu_data.x86_capability[cpufeat_word(X86_FEATURE_XSAVEOPT)] &
                   ~cpufeat_mask(X86_FEATURE_XSAVES));
             b = c = d = 0;
+            break;
         }
         break;
 
@@ -1064,15 +1052,11 @@ void pv_cpuid(struct cpu_user_regs *regs)
     unsupported:
         a = b = c = d = 0;
         break;
-
-    default:
-        (void)cpuid_hypervisor_leaves(regs->eax, 0, &a, &b, &c, &d);
-        break;
     }
 
  out:
     /* VPMU may decide to modify some of the leaves */
-    vpmu_do_cpuid(regs->eax, &a, &b, &c, &d);
+    vpmu_do_cpuid(leaf, &a, &b, &c, &d);
 
     regs->eax = a;
     regs->ebx = b;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVv9j-0000H1-Qq; Wed, 17 Feb 2016 06:00:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9i-0000Gw-Fs
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:06 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	1A/91-09062-56C04C65; Wed, 17 Feb 2016 06:00:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1455688804!22942982!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41835 invoked from network); 17 Feb 2016 06:00:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBN-00043s-Mk
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9f-0002WE-JR
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVv9f-0002WE-JR@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:03 +0000
Subject: [Xen-changelog] [xen master] x86: improvements to pv_cpuid()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0359b365c6aaf1303244b064acc84c493cc0e730
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:12:06 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:12:06 2016 +0100

    x86: improvements to pv_cpuid()
    
    pv_cpuid() has two completely separate paths inside it depending on whether
    current is dom0 or a domU.  This causes unnecessary divergence, and
    complicates future improvements.  Take steps to undo it.
    
    Changes:
     * Create leaf and subleaf variables and use them consistently, instead of a
       mix of {a,c} and regs->e{a,c}x as the input parameters.
     * Combine the dom0 and domU hypervisor leaf handling, with an early exit.
     * Apply sanity checks to domU as well.  This brings PV domU cpuid handling in
       line with HVM domains and PV dom0.
     * Perform a real cpuid instruction for calculating CPUID.0xD[ECX=0].EBX.  The
       correct xcr0 is in context, and this avoids the O(M*N) loop over the domain
       cpuid policy list which exists currently.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 74 ++++++++++++++++++++--------------------------------
 1 file changed, 29 insertions(+), 45 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 26a5026..47100ea 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -905,51 +905,24 @@ int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx,
 
 void pv_cpuid(struct cpu_user_regs *regs)
 {
-    uint32_t a, b, c, d;
+    uint32_t leaf, subleaf, a, b, c, d;
     struct vcpu *curr = current;
     struct domain *currd = curr->domain;
 
-    a = regs->eax;
+    leaf = a = regs->eax;
     b = regs->ebx;
-    c = regs->ecx;
+    subleaf = c = regs->ecx;
     d = regs->edx;
 
-    if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
-    {
-        unsigned int cpuid_leaf = a, sub_leaf = c;
-
-        if ( !cpuid_hypervisor_leaves(a, c, &a, &b, &c, &d) )
-            domain_cpuid(currd, a, c, &a, &b, &c, &d);
-
-        switch ( cpuid_leaf )
-        {
-        case XSTATE_CPUID:
-        {
-            unsigned int _eax, _ebx, _ecx, _edx;
-            /* EBX value of main leaf 0 depends on enabled xsave features */
-            if ( sub_leaf == 0 && curr->arch.xcr0 )
-            {
-                /* reset EBX to default value first */
-                b = XSTATE_AREA_MIN_SIZE;
-                for ( sub_leaf = 2; sub_leaf < 63; sub_leaf++ )
-                {
-                    if ( !(curr->arch.xcr0 & (1ULL << sub_leaf)) )
-                        continue;
-                    domain_cpuid(currd, cpuid_leaf, sub_leaf,
-                                 &_eax, &_ebx, &_ecx, &_edx);
-                    if ( (_eax + _ebx) > b )
-                        b = _eax + _ebx;
-                }
-            }
-            goto xstate;
-        }
-        }
+    if ( cpuid_hypervisor_leaves(leaf, subleaf, &a, &b, &c, &d) )
         goto out;
-    }
 
-    cpuid_count(a, c, &a, &b, &c, &d);
+    if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
+        domain_cpuid(currd, leaf, subleaf, &a, &b, &c, &d);
+    else
+        cpuid_count(leaf, subleaf, &a, &b, &c, &d);
 
-    if ( (regs->eax & 0x7fffffff) == 0x00000001 )
+    if ( (leaf & 0x7fffffff) == 0x00000001 )
     {
         /* Modify Feature Information. */
         if ( !cpu_has_apic )
@@ -964,7 +937,7 @@ void pv_cpuid(struct cpu_user_regs *regs)
         }
     }
 
-    switch ( regs->_eax )
+    switch ( leaf )
     {
     case 0x00000001:
         /* Modify Feature Information. */
@@ -999,7 +972,7 @@ void pv_cpuid(struct cpu_user_regs *regs)
         break;
 
     case 0x00000007:
-        if ( regs->_ecx == 0 )
+        if ( subleaf == 0 )
             b &= (cpufeat_mask(X86_FEATURE_BMI1) |
                   cpufeat_mask(X86_FEATURE_HLE)  |
                   cpufeat_mask(X86_FEATURE_AVX2) |
@@ -1015,14 +988,29 @@ void pv_cpuid(struct cpu_user_regs *regs)
         break;
 
     case XSTATE_CPUID:
-    xstate:
         if ( !cpu_has_xsave )
             goto unsupported;
-        if ( regs->_ecx == 1 )
+        switch ( subleaf )
+        {
+        case 0:
         {
+            uint32_t tmp;
+
+            /*
+             * Always read CPUID.0xD[ECX=0].EBX from hardware, rather than
+             * domain policy.  It varies with enabled xstate, and the correct
+             * xcr0 is in context.
+             */
+            if ( !is_control_domain(currd) && !is_hardware_domain(currd) )
+                cpuid_count(leaf, subleaf, &tmp, &b, &tmp, &tmp);
+            break;
+        }
+
+        case 1:
             a &= (boot_cpu_data.x86_capability[cpufeat_word(X86_FEATURE_XSAVEOPT)] &
                   ~cpufeat_mask(X86_FEATURE_XSAVES));
             b = c = d = 0;
+            break;
         }
         break;
 
@@ -1064,15 +1052,11 @@ void pv_cpuid(struct cpu_user_regs *regs)
     unsupported:
         a = b = c = d = 0;
         break;
-
-    default:
-        (void)cpuid_hypervisor_leaves(regs->eax, 0, &a, &b, &c, &d);
-        break;
     }
 
  out:
     /* VPMU may decide to modify some of the leaves */
-    vpmu_do_cpuid(regs->eax, &a, &b, &c, &d);
+    vpmu_do_cpuid(leaf, &a, &b, &c, &d);
 
     regs->eax = a;
     regs->ebx = b;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVv9t-0000IT-Vr; Wed, 17 Feb 2016 06:00:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9s-0000IH-IB
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:16 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	D8/E1-09062-F6C04C65; Wed, 17 Feb 2016 06:00:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1455688814!13315551!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1097 invoked from network); 17 Feb 2016 06:00:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBY-00043w-2u
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9q-0002ZQ-0m
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVv9q-0002ZQ-0m@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:14 +0000
Subject: [Xen-changelog] [xen master] x86: fix errors arising from c/s
	dab76ff
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb0e5fea8acaf55d313a6eb6037c6549d0fc10af
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:12:54 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:12:54 2016 +0100

    x86: fix errors arising from c/s dab76ff
    
    Coverity correctly identifies that the changes in mtrr_attrib_to_str()
    introduce dead code.  strings[] is a 2d array, rather than an array of
    strings, which means that strings[x] will never be a NULL pointer.
    
    Adjust the check to compenstate, by looking for a NUL in strings[x][0]
    instead.
    
    Curiously, Coverity did not notice the same error with memory_type_to_str().
    There was also a further error; the strings were not NULL terminated, which
    made the return type of memory_type_to_str() erronious.
    
    Bump the 2D array to 3 characters, so the strings retain their NUL characters,
    and introduce an ASSERT() as requested on one thread of the original patch.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu/mtrr/generic.c | 2 +-
 xen/arch/x86/mm/p2m-ept.c       | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 8839f8d..234d2ba 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -98,7 +98,7 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 		[MTRR_TYPE_WRBACK]         = "write-back",
 	};
 
-	return x < MTRR_NUM_TYPES ? (strings[x] ?: "?") : "?";
+	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
 }
 
 static unsigned int __initdata last_fixed_start;
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 316e3f3..3cb6868 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1204,7 +1204,7 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 
 static const char *memory_type_to_str(unsigned int x)
 {
-    static const char memory_types[8][2] = {
+    static const char memory_types[8][3] = {
         [MTRR_TYPE_UNCACHABLE]     = "UC",
         [MTRR_TYPE_WRCOMB]         = "WC",
         [MTRR_TYPE_WRTHROUGH]      = "WT",
@@ -1213,7 +1213,8 @@ static const char *memory_type_to_str(unsigned int x)
         [MTRR_NUM_TYPES]           = "??"
     };
 
-    return x < ARRAY_SIZE(memory_types) ? (memory_types[x] ?: "?") : "?";
+    ASSERT(x < ARRAY_SIZE(memory_types));
+    return memory_types[x][0] ? memory_types[x] : "?";
 }
 
 static void ept_dump_p2m_table(unsigned char key)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVv9t-0000IT-Vr; Wed, 17 Feb 2016 06:00:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9s-0000IH-IB
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:16 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	D8/E1-09062-F6C04C65; Wed, 17 Feb 2016 06:00:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1455688814!13315551!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1097 invoked from network); 17 Feb 2016 06:00:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBY-00043w-2u
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVv9q-0002ZQ-0m
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVv9q-0002ZQ-0m@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:14 +0000
Subject: [Xen-changelog] [xen master] x86: fix errors arising from c/s
	dab76ff
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb0e5fea8acaf55d313a6eb6037c6549d0fc10af
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:12:54 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:12:54 2016 +0100

    x86: fix errors arising from c/s dab76ff
    
    Coverity correctly identifies that the changes in mtrr_attrib_to_str()
    introduce dead code.  strings[] is a 2d array, rather than an array of
    strings, which means that strings[x] will never be a NULL pointer.
    
    Adjust the check to compenstate, by looking for a NUL in strings[x][0]
    instead.
    
    Curiously, Coverity did not notice the same error with memory_type_to_str().
    There was also a further error; the strings were not NULL terminated, which
    made the return type of memory_type_to_str() erronious.
    
    Bump the 2D array to 3 characters, so the strings retain their NUL characters,
    and introduce an ASSERT() as requested on one thread of the original patch.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu/mtrr/generic.c | 2 +-
 xen/arch/x86/mm/p2m-ept.c       | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 8839f8d..234d2ba 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -98,7 +98,7 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 		[MTRR_TYPE_WRBACK]         = "write-back",
 	};
 
-	return x < MTRR_NUM_TYPES ? (strings[x] ?: "?") : "?";
+	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
 }
 
 static unsigned int __initdata last_fixed_start;
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 316e3f3..3cb6868 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1204,7 +1204,7 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 
 static const char *memory_type_to_str(unsigned int x)
 {
-    static const char memory_types[8][2] = {
+    static const char memory_types[8][3] = {
         [MTRR_TYPE_UNCACHABLE]     = "UC",
         [MTRR_TYPE_WRCOMB]         = "WC",
         [MTRR_TYPE_WRTHROUGH]      = "WT",
@@ -1213,7 +1213,8 @@ static const char *memory_type_to_str(unsigned int x)
         [MTRR_NUM_TYPES]           = "??"
     };
 
-    return x < ARRAY_SIZE(memory_types) ? (memory_types[x] ?: "?") : "?";
+    ASSERT(x < ARRAY_SIZE(memory_types));
+    return memory_types[x][0] ? memory_types[x] : "?";
 }
 
 static void ept_dump_p2m_table(unsigned char key)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvA5-0000Jb-2k; Wed, 17 Feb 2016 06:00:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvA3-0000JS-3k
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:27 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	BF/C9-16618-A7C04C65; Wed, 17 Feb 2016 06:00:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455688824!24091017!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14315 invoked from network); 17 Feb 2016 06:00:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBi-00044b-FF
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvA0-0002Zy-Dt
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvA0-0002Zy-Dt@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:24 +0000
Subject: [Xen-changelog] [xen master] vm_event: remove
	xc_mem_access_enable_emulate() and friends
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 51c2291e14f00bfd95d8a9dc0d44092254510a60
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 15 14:13:31 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:13:31 2016 +0100

    vm_event: remove xc_mem_access_enable_emulate() and friends
    
    xc_mem_access_enable_emulate() and xc_mem_access_disable_emulate()
    are currently no-ops, that is all they do is set a flag that
    nobody else checks. The user can already set the EMULATE flags in
    the vm_event response if emulation is desired, and having an extra
    check above that is not inherently safer, but it does complicate
    (currenly unnecessarily) the API. This patch removes these
    functions and the corresponding hypervisor code.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/include/xenctrl.h | 11 -----------
 tools/libxc/xc_mem_access.c   | 24 ------------------------
 xen/common/mem_access.c       |  8 --------
 xen/include/asm-arm/p2m.h     | 14 --------------
 xen/include/asm-x86/domain.h  |  1 -
 xen/include/asm-x86/p2m.h     | 24 ------------------------
 xen/include/public/memory.h   |  9 +++++++--
 7 files changed, 7 insertions(+), 84 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 1a5f4ec..42eafa4 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -2101,17 +2101,6 @@ int xc_set_mem_access(xc_interface *xch, domid_t domain_id,
 int xc_get_mem_access(xc_interface *xch, domid_t domain_id,
                       uint64_t pfn, xenmem_access_t *access);
 
-/*
- * Instructions causing a mem_access violation can be emulated by Xen
- * to progress the execution without having to relax the mem_access
- * permissions.
- * This feature has to be first enabled, then in the vm_event
- * response to a mem_access event it can be indicated if the instruction
- * should be emulated.
- */
-int xc_mem_access_enable_emulate(xc_interface *xch, domid_t domain_id);
-int xc_mem_access_disable_emulate(xc_interface *xch, domid_t domain_id);
-
 /***
  * Monitor control operations.
  *
diff --git a/tools/libxc/xc_mem_access.c b/tools/libxc/xc_mem_access.c
index 3634c39..eee088c 100644
--- a/tools/libxc/xc_mem_access.c
+++ b/tools/libxc/xc_mem_access.c
@@ -62,30 +62,6 @@ int xc_get_mem_access(xc_interface *xch,
     return rc;
 }
 
-int xc_mem_access_enable_emulate(xc_interface *xch,
-                                 domid_t domain_id)
-{
-    xen_mem_access_op_t mao =
-    {
-        .op     = XENMEM_access_op_enable_emulate,
-        .domid  = domain_id,
-    };
-
-    return do_memory_op(xch, XENMEM_access_op, &mao, sizeof(mao));
-}
-
-int xc_mem_access_disable_emulate(xc_interface *xch,
-                                  domid_t domain_id)
-{
-    xen_mem_access_op_t mao =
-    {
-        .op     = XENMEM_access_op_disable_emulate,
-        .domid  = domain_id,
-    };
-
-    return do_memory_op(xch, XENMEM_access_op, &mao, sizeof(mao));
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
index 92ebead..b4033f0 100644
--- a/xen/common/mem_access.c
+++ b/xen/common/mem_access.c
@@ -98,14 +98,6 @@ int mem_access_memop(unsigned long cmd,
         break;
     }
 
-    case XENMEM_access_op_enable_emulate:
-        rc = p2m_mem_access_enable_emulate(d);
-        break;
-
-    case XENMEM_access_op_disable_emulate:
-        rc = p2m_mem_access_disable_emulate(d);
-        break;
-
     default:
         rc = -ENOSYS;
         break;
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index 4c62725..433952a 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -89,20 +89,6 @@ typedef enum {
 } p2m_type_t;
 
 static inline
-int p2m_mem_access_enable_emulate(struct domain *d)
-{
-    /* Not supported on ARM */
-    return -ENOSYS;
-}
-
-static inline
-int p2m_mem_access_disable_emulate(struct domain *d)
-{
-    /* Not supported on ARM */
-    return -ENOSYS;
-}
-
-static inline
 void p2m_mem_access_emulate_check(struct vcpu *v,
                                   const vm_event_response_t *rsp)
 {
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 4072e27..4fad638 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -390,7 +390,6 @@ struct arch_domain
     } monitor;
 
     /* Mem_access emulation control */
-    bool_t mem_access_emulate_enabled;
     bool_t mem_access_emulate_each_rep;
 
     /* Emulated devices enabled bitmap. */
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index ca0480e..5392eb0 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -648,30 +648,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
                             struct npfec npfec,
                             vm_event_request_t **req_ptr);
 
-/*
- * Emulating a memory access requires custom handling. These non-atomic
- * functions should be called under domctl lock.
- */
-static inline
-int p2m_mem_access_enable_emulate(struct domain *d)
-{
-    if ( d->arch.mem_access_emulate_enabled )
-        return -EEXIST;
-
-    d->arch.mem_access_emulate_enabled = 1;
-    return 0;
-}
-
-static inline
-int p2m_mem_access_disable_emulate(struct domain *d)
-{
-    if ( !d->arch.mem_access_emulate_enabled )
-        return -EEXIST;
-
-    d->arch.mem_access_emulate_enabled = 0;
-    return 0;
-}
-
 /* Check for emulation and mark vcpu for skipping one instruction
  * upon rescheduling if required. */
 void p2m_mem_access_emulate_check(struct vcpu *v,
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 4df38d6..f69e92f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -390,8 +390,13 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_paging_op_t);
 #define XENMEM_access_op                    21
 #define XENMEM_access_op_set_access         0
 #define XENMEM_access_op_get_access         1
-#define XENMEM_access_op_enable_emulate     2
-#define XENMEM_access_op_disable_emulate    3
+/*
+ * XENMEM_access_op_enable_emulate and XENMEM_access_op_disable_emulate are
+ * currently unused, but since they have been in use please do not reuse them.
+ *
+ * #define XENMEM_access_op_enable_emulate     2
+ * #define XENMEM_access_op_disable_emulate    3
+ */
 
 typedef enum {
     XENMEM_access_n,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvA5-0000Jb-2k; Wed, 17 Feb 2016 06:00:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvA3-0000JS-3k
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:27 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	BF/C9-16618-A7C04C65; Wed, 17 Feb 2016 06:00:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1455688824!24091017!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14315 invoked from network); 17 Feb 2016 06:00:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBi-00044b-FF
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvA0-0002Zy-Dt
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvA0-0002Zy-Dt@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:24 +0000
Subject: [Xen-changelog] [xen master] vm_event: remove
	xc_mem_access_enable_emulate() and friends
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 51c2291e14f00bfd95d8a9dc0d44092254510a60
Author:     Razvan Cojocaru <rcojocaru@bitdefender.com>
AuthorDate: Mon Feb 15 14:13:31 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:13:31 2016 +0100

    vm_event: remove xc_mem_access_enable_emulate() and friends
    
    xc_mem_access_enable_emulate() and xc_mem_access_disable_emulate()
    are currently no-ops, that is all they do is set a flag that
    nobody else checks. The user can already set the EMULATE flags in
    the vm_event response if emulation is desired, and having an extra
    check above that is not inherently safer, but it does complicate
    (currenly unnecessarily) the API. This patch removes these
    functions and the corresponding hypervisor code.
    
    Signed-off-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/include/xenctrl.h | 11 -----------
 tools/libxc/xc_mem_access.c   | 24 ------------------------
 xen/common/mem_access.c       |  8 --------
 xen/include/asm-arm/p2m.h     | 14 --------------
 xen/include/asm-x86/domain.h  |  1 -
 xen/include/asm-x86/p2m.h     | 24 ------------------------
 xen/include/public/memory.h   |  9 +++++++--
 7 files changed, 7 insertions(+), 84 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 1a5f4ec..42eafa4 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -2101,17 +2101,6 @@ int xc_set_mem_access(xc_interface *xch, domid_t domain_id,
 int xc_get_mem_access(xc_interface *xch, domid_t domain_id,
                       uint64_t pfn, xenmem_access_t *access);
 
-/*
- * Instructions causing a mem_access violation can be emulated by Xen
- * to progress the execution without having to relax the mem_access
- * permissions.
- * This feature has to be first enabled, then in the vm_event
- * response to a mem_access event it can be indicated if the instruction
- * should be emulated.
- */
-int xc_mem_access_enable_emulate(xc_interface *xch, domid_t domain_id);
-int xc_mem_access_disable_emulate(xc_interface *xch, domid_t domain_id);
-
 /***
  * Monitor control operations.
  *
diff --git a/tools/libxc/xc_mem_access.c b/tools/libxc/xc_mem_access.c
index 3634c39..eee088c 100644
--- a/tools/libxc/xc_mem_access.c
+++ b/tools/libxc/xc_mem_access.c
@@ -62,30 +62,6 @@ int xc_get_mem_access(xc_interface *xch,
     return rc;
 }
 
-int xc_mem_access_enable_emulate(xc_interface *xch,
-                                 domid_t domain_id)
-{
-    xen_mem_access_op_t mao =
-    {
-        .op     = XENMEM_access_op_enable_emulate,
-        .domid  = domain_id,
-    };
-
-    return do_memory_op(xch, XENMEM_access_op, &mao, sizeof(mao));
-}
-
-int xc_mem_access_disable_emulate(xc_interface *xch,
-                                  domid_t domain_id)
-{
-    xen_mem_access_op_t mao =
-    {
-        .op     = XENMEM_access_op_disable_emulate,
-        .domid  = domain_id,
-    };
-
-    return do_memory_op(xch, XENMEM_access_op, &mao, sizeof(mao));
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
index 92ebead..b4033f0 100644
--- a/xen/common/mem_access.c
+++ b/xen/common/mem_access.c
@@ -98,14 +98,6 @@ int mem_access_memop(unsigned long cmd,
         break;
     }
 
-    case XENMEM_access_op_enable_emulate:
-        rc = p2m_mem_access_enable_emulate(d);
-        break;
-
-    case XENMEM_access_op_disable_emulate:
-        rc = p2m_mem_access_disable_emulate(d);
-        break;
-
     default:
         rc = -ENOSYS;
         break;
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index 4c62725..433952a 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -89,20 +89,6 @@ typedef enum {
 } p2m_type_t;
 
 static inline
-int p2m_mem_access_enable_emulate(struct domain *d)
-{
-    /* Not supported on ARM */
-    return -ENOSYS;
-}
-
-static inline
-int p2m_mem_access_disable_emulate(struct domain *d)
-{
-    /* Not supported on ARM */
-    return -ENOSYS;
-}
-
-static inline
 void p2m_mem_access_emulate_check(struct vcpu *v,
                                   const vm_event_response_t *rsp)
 {
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 4072e27..4fad638 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -390,7 +390,6 @@ struct arch_domain
     } monitor;
 
     /* Mem_access emulation control */
-    bool_t mem_access_emulate_enabled;
     bool_t mem_access_emulate_each_rep;
 
     /* Emulated devices enabled bitmap. */
diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
index ca0480e..5392eb0 100644
--- a/xen/include/asm-x86/p2m.h
+++ b/xen/include/asm-x86/p2m.h
@@ -648,30 +648,6 @@ bool_t p2m_mem_access_check(paddr_t gpa, unsigned long gla,
                             struct npfec npfec,
                             vm_event_request_t **req_ptr);
 
-/*
- * Emulating a memory access requires custom handling. These non-atomic
- * functions should be called under domctl lock.
- */
-static inline
-int p2m_mem_access_enable_emulate(struct domain *d)
-{
-    if ( d->arch.mem_access_emulate_enabled )
-        return -EEXIST;
-
-    d->arch.mem_access_emulate_enabled = 1;
-    return 0;
-}
-
-static inline
-int p2m_mem_access_disable_emulate(struct domain *d)
-{
-    if ( !d->arch.mem_access_emulate_enabled )
-        return -EEXIST;
-
-    d->arch.mem_access_emulate_enabled = 0;
-    return 0;
-}
-
 /* Check for emulation and mark vcpu for skipping one instruction
  * upon rescheduling if required. */
 void p2m_mem_access_emulate_check(struct vcpu *v,
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 4df38d6..f69e92f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -390,8 +390,13 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_paging_op_t);
 #define XENMEM_access_op                    21
 #define XENMEM_access_op_set_access         0
 #define XENMEM_access_op_get_access         1
-#define XENMEM_access_op_enable_emulate     2
-#define XENMEM_access_op_disable_emulate    3
+/*
+ * XENMEM_access_op_enable_emulate and XENMEM_access_op_disable_emulate are
+ * currently unused, but since they have been in use please do not reuse them.
+ *
+ * #define XENMEM_access_op_enable_emulate     2
+ * #define XENMEM_access_op_disable_emulate    3
+ */
 
 typedef enum {
     XENMEM_access_n,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAF-0000Kc-6j; Wed, 17 Feb 2016 06:00:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAD-0000KU-Qe
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:38 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	DB/33-09834-58C04C65; Wed, 17 Feb 2016 06:00:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455688835!15800232!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47163 invoked from network); 17 Feb 2016 06:00:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBs-00044s-T4
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAA-0002eR-Ql
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAA-0002eR-Ql@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:34 +0000
Subject: [Xen-changelog] [xen master] x86: merge 2 hvm_event_... functions
	into 1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 557c7873f35aa39bd84977b28948457b1b342f92
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Mon Feb 15 14:14:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:14:16 2016 +0100

    x86: merge 2 hvm_event_... functions into 1
    
    This patch merges almost identical functions hvm_event_int3 and
    hvm_event_single_step into a single function called hvm_event_breakpoint.
    Also fixes event.c file header comment in the process.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/event.c        | 108 +++++++++++++++++++---------------------
 xen/arch/x86/hvm/vmx/vmx.c      |  15 +++---
 xen/include/asm-x86/hvm/event.h |  11 ++--
 3 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/hvm/event.c b/xen/arch/x86/hvm/event.c
index a3d4892..874a36c 100644
--- a/xen/arch/x86/hvm/event.c
+++ b/xen/arch/x86/hvm/event.c
@@ -1,22 +1,24 @@
 /*
-* event.c: Common hardware virtual machine event abstractions.
-*
-* Copyright (c) 2004, Intel Corporation.
-* Copyright (c) 2005, International Business Machines Corporation.
-* Copyright (c) 2008, Citrix Systems, Inc.
-*
-* This program is free software; you can redistribute it and/or modify it
-* under the terms and conditions of the GNU General Public License,
-* version 2, as published by the Free Software Foundation.
-*
-* This program is distributed in the hope it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
-* You should have received a copy of the GNU General Public License along with
-* this program; If not, see <http://www.gnu.org/licenses/>.
-*/
+ * arch/x86/hvm/event.c
+ *
+ * Arch-specific hardware virtual machine event abstractions.
+ *
+ * Copyright (c) 2004, Intel Corporation.
+ * Copyright (c) 2005, International Business Machines Corporation.
+ * Copyright (c) 2008, Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; If not, see <http://www.gnu.org/licenses/>.
+ */
 
 #include <xen/vm_event.h>
 #include <xen/paging.h>
@@ -151,61 +153,51 @@ void hvm_event_guest_request(void)
     }
 }
 
-int hvm_event_int3(unsigned long rip)
+static inline unsigned long gfn_of_rip(unsigned long rip)
 {
-    int rc = 0;
     struct vcpu *curr = current;
+    struct segment_register sreg;
+    uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
 
-    if ( curr->domain->arch.monitor.software_breakpoint_enabled )
-    {
-        struct segment_register sreg;
-        uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
-        vm_event_request_t req = {
-            .reason = VM_EVENT_REASON_SOFTWARE_BREAKPOINT,
-            .vcpu_id = curr->vcpu_id,
-        };
-
-        hvm_get_segment_register(curr, x86_seg_ss, &sreg);
-        if ( sreg.attr.fields.dpl == 3 )
-            pfec |= PFEC_user_mode;
+    hvm_get_segment_register(curr, x86_seg_ss, &sreg);
+    if ( sreg.attr.fields.dpl == 3 )
+        pfec |= PFEC_user_mode;
 
-        hvm_get_segment_register(curr, x86_seg_cs, &sreg);
-        req.u.software_breakpoint.gfn = paging_gva_to_gfn(curr,
-                                                          sreg.base + rip,
-                                                          &pfec);
-
-        rc = hvm_event_traps(1, &req);
-    }
+    hvm_get_segment_register(curr, x86_seg_cs, &sreg);
 
-    return rc;
+    return paging_gva_to_gfn(curr, sreg.base + rip, &pfec);
 }
 
-int hvm_event_single_step(unsigned long rip)
+int hvm_event_breakpoint(unsigned long rip,
+                         enum hvm_event_breakpoint_type type)
 {
-    int rc = 0;
     struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req;
 
-    if ( curr->domain->arch.monitor.singlestep_enabled )
+    switch ( type )
     {
-        struct segment_register sreg;
-        uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
-        vm_event_request_t req = {
-            .reason = VM_EVENT_REASON_SINGLESTEP,
-            .vcpu_id = curr->vcpu_id,
-        };
-
-        hvm_get_segment_register(curr, x86_seg_ss, &sreg);
-        if ( sreg.attr.fields.dpl == 3 )
-            pfec |= PFEC_user_mode;
+    case HVM_EVENT_SOFTWARE_BREAKPOINT:
+        if ( !ad->monitor.software_breakpoint_enabled )
+            return 0;
+        req.reason = VM_EVENT_REASON_SOFTWARE_BREAKPOINT;
+        req.u.software_breakpoint.gfn = gfn_of_rip(rip);
+        break;
 
-        hvm_get_segment_register(curr, x86_seg_cs, &sreg);
-        req.u.singlestep.gfn = paging_gva_to_gfn(curr, sreg.base + rip,
-                                                 &pfec);
+    case HVM_EVENT_SINGLESTEP_BREAKPOINT:
+        if ( !ad->monitor.singlestep_enabled )
+            return 0;
+        req.reason = VM_EVENT_REASON_SINGLESTEP;
+        req.u.singlestep.gfn = gfn_of_rip(rip);
+        break;
 
-        rc = hvm_event_traps(1, &req);
+    default:
+        return -EOPNOTSUPP;
     }
 
-    return rc;
+    req.vcpu_id = curr->vcpu_id;
+
+    return hvm_event_traps(1, &req);
 }
 
 /*
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 5e99226..44e778f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3192,8 +3192,10 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 break;
             }
             else {
-                int handled = hvm_event_int3(regs->eip);
-                
+                int handled =
+                        hvm_event_breakpoint(regs->eip,
+                                             HVM_EVENT_SOFTWARE_BREAKPOINT);
+
                 if ( handled < 0 ) 
                 {
                     struct hvm_trap trap = {
@@ -3517,10 +3519,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
     case EXIT_REASON_MONITOR_TRAP_FLAG:
         v->arch.hvm_vmx.exec_control &= ~CPU_BASED_MONITOR_TRAP_FLAG;
         vmx_update_cpu_exec_control(v);
-        if ( v->arch.hvm_vcpu.single_step ) {
-          hvm_event_single_step(regs->eip);
-          if ( v->domain->debugger_attached )
-              domain_pause_for_debugger();
+        if ( v->arch.hvm_vcpu.single_step )
+        {
+            hvm_event_breakpoint(regs->eip, HVM_EVENT_SINGLESTEP_BREAKPOINT);
+            if ( v->domain->debugger_attached )
+                domain_pause_for_debugger();
         }
 
         break;
diff --git a/xen/include/asm-x86/hvm/event.h b/xen/include/asm-x86/hvm/event.h
index 11eb1fe..7a83b45 100644
--- a/xen/include/asm-x86/hvm/event.h
+++ b/xen/include/asm-x86/hvm/event.h
@@ -17,6 +17,12 @@
 #ifndef __ASM_X86_HVM_EVENT_H__
 #define __ASM_X86_HVM_EVENT_H__
 
+enum hvm_event_breakpoint_type
+{
+    HVM_EVENT_SOFTWARE_BREAKPOINT,
+    HVM_EVENT_SINGLESTEP_BREAKPOINT,
+};
+
 /*
  * Called for current VCPU on crX/MSR changes by guest.
  * The event might not fire if the client has subscribed to it in onchangeonly
@@ -27,9 +33,8 @@ bool_t hvm_event_cr(unsigned int index, unsigned long value,
 #define hvm_event_crX(what, new, old) \
     hvm_event_cr(VM_EVENT_X86_##what, new, old)
 void hvm_event_msr(unsigned int msr, uint64_t value);
-/* Called for current VCPU: returns -1 if no listener */
-int hvm_event_int3(unsigned long rip);
-int hvm_event_single_step(unsigned long rip);
+int hvm_event_breakpoint(unsigned long rip,
+                         enum hvm_event_breakpoint_type type);
 void hvm_event_guest_request(void);
 
 #endif /* __ASM_X86_HVM_EVENT_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAF-0000Kc-6j; Wed, 17 Feb 2016 06:00:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAD-0000KU-Qe
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:38 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	DB/33-09834-58C04C65; Wed, 17 Feb 2016 06:00:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1455688835!15800232!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47163 invoked from network); 17 Feb 2016 06:00:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvBs-00044s-T4
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAA-0002eR-Ql
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAA-0002eR-Ql@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:34 +0000
Subject: [Xen-changelog] [xen master] x86: merge 2 hvm_event_... functions
	into 1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 557c7873f35aa39bd84977b28948457b1b342f92
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Mon Feb 15 14:14:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:14:16 2016 +0100

    x86: merge 2 hvm_event_... functions into 1
    
    This patch merges almost identical functions hvm_event_int3 and
    hvm_event_single_step into a single function called hvm_event_breakpoint.
    Also fixes event.c file header comment in the process.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/hvm/event.c        | 108 +++++++++++++++++++---------------------
 xen/arch/x86/hvm/vmx/vmx.c      |  15 +++---
 xen/include/asm-x86/hvm/event.h |  11 ++--
 3 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/hvm/event.c b/xen/arch/x86/hvm/event.c
index a3d4892..874a36c 100644
--- a/xen/arch/x86/hvm/event.c
+++ b/xen/arch/x86/hvm/event.c
@@ -1,22 +1,24 @@
 /*
-* event.c: Common hardware virtual machine event abstractions.
-*
-* Copyright (c) 2004, Intel Corporation.
-* Copyright (c) 2005, International Business Machines Corporation.
-* Copyright (c) 2008, Citrix Systems, Inc.
-*
-* This program is free software; you can redistribute it and/or modify it
-* under the terms and conditions of the GNU General Public License,
-* version 2, as published by the Free Software Foundation.
-*
-* This program is distributed in the hope it will be useful, but WITHOUT
-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-* more details.
-*
-* You should have received a copy of the GNU General Public License along with
-* this program; If not, see <http://www.gnu.org/licenses/>.
-*/
+ * arch/x86/hvm/event.c
+ *
+ * Arch-specific hardware virtual machine event abstractions.
+ *
+ * Copyright (c) 2004, Intel Corporation.
+ * Copyright (c) 2005, International Business Machines Corporation.
+ * Copyright (c) 2008, Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; If not, see <http://www.gnu.org/licenses/>.
+ */
 
 #include <xen/vm_event.h>
 #include <xen/paging.h>
@@ -151,61 +153,51 @@ void hvm_event_guest_request(void)
     }
 }
 
-int hvm_event_int3(unsigned long rip)
+static inline unsigned long gfn_of_rip(unsigned long rip)
 {
-    int rc = 0;
     struct vcpu *curr = current;
+    struct segment_register sreg;
+    uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
 
-    if ( curr->domain->arch.monitor.software_breakpoint_enabled )
-    {
-        struct segment_register sreg;
-        uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
-        vm_event_request_t req = {
-            .reason = VM_EVENT_REASON_SOFTWARE_BREAKPOINT,
-            .vcpu_id = curr->vcpu_id,
-        };
-
-        hvm_get_segment_register(curr, x86_seg_ss, &sreg);
-        if ( sreg.attr.fields.dpl == 3 )
-            pfec |= PFEC_user_mode;
+    hvm_get_segment_register(curr, x86_seg_ss, &sreg);
+    if ( sreg.attr.fields.dpl == 3 )
+        pfec |= PFEC_user_mode;
 
-        hvm_get_segment_register(curr, x86_seg_cs, &sreg);
-        req.u.software_breakpoint.gfn = paging_gva_to_gfn(curr,
-                                                          sreg.base + rip,
-                                                          &pfec);
-
-        rc = hvm_event_traps(1, &req);
-    }
+    hvm_get_segment_register(curr, x86_seg_cs, &sreg);
 
-    return rc;
+    return paging_gva_to_gfn(curr, sreg.base + rip, &pfec);
 }
 
-int hvm_event_single_step(unsigned long rip)
+int hvm_event_breakpoint(unsigned long rip,
+                         enum hvm_event_breakpoint_type type)
 {
-    int rc = 0;
     struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req;
 
-    if ( curr->domain->arch.monitor.singlestep_enabled )
+    switch ( type )
     {
-        struct segment_register sreg;
-        uint32_t pfec = PFEC_page_present | PFEC_insn_fetch;
-        vm_event_request_t req = {
-            .reason = VM_EVENT_REASON_SINGLESTEP,
-            .vcpu_id = curr->vcpu_id,
-        };
-
-        hvm_get_segment_register(curr, x86_seg_ss, &sreg);
-        if ( sreg.attr.fields.dpl == 3 )
-            pfec |= PFEC_user_mode;
+    case HVM_EVENT_SOFTWARE_BREAKPOINT:
+        if ( !ad->monitor.software_breakpoint_enabled )
+            return 0;
+        req.reason = VM_EVENT_REASON_SOFTWARE_BREAKPOINT;
+        req.u.software_breakpoint.gfn = gfn_of_rip(rip);
+        break;
 
-        hvm_get_segment_register(curr, x86_seg_cs, &sreg);
-        req.u.singlestep.gfn = paging_gva_to_gfn(curr, sreg.base + rip,
-                                                 &pfec);
+    case HVM_EVENT_SINGLESTEP_BREAKPOINT:
+        if ( !ad->monitor.singlestep_enabled )
+            return 0;
+        req.reason = VM_EVENT_REASON_SINGLESTEP;
+        req.u.singlestep.gfn = gfn_of_rip(rip);
+        break;
 
-        rc = hvm_event_traps(1, &req);
+    default:
+        return -EOPNOTSUPP;
     }
 
-    return rc;
+    req.vcpu_id = curr->vcpu_id;
+
+    return hvm_event_traps(1, &req);
 }
 
 /*
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 5e99226..44e778f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3192,8 +3192,10 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                 break;
             }
             else {
-                int handled = hvm_event_int3(regs->eip);
-                
+                int handled =
+                        hvm_event_breakpoint(regs->eip,
+                                             HVM_EVENT_SOFTWARE_BREAKPOINT);
+
                 if ( handled < 0 ) 
                 {
                     struct hvm_trap trap = {
@@ -3517,10 +3519,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
     case EXIT_REASON_MONITOR_TRAP_FLAG:
         v->arch.hvm_vmx.exec_control &= ~CPU_BASED_MONITOR_TRAP_FLAG;
         vmx_update_cpu_exec_control(v);
-        if ( v->arch.hvm_vcpu.single_step ) {
-          hvm_event_single_step(regs->eip);
-          if ( v->domain->debugger_attached )
-              domain_pause_for_debugger();
+        if ( v->arch.hvm_vcpu.single_step )
+        {
+            hvm_event_breakpoint(regs->eip, HVM_EVENT_SINGLESTEP_BREAKPOINT);
+            if ( v->domain->debugger_attached )
+                domain_pause_for_debugger();
         }
 
         break;
diff --git a/xen/include/asm-x86/hvm/event.h b/xen/include/asm-x86/hvm/event.h
index 11eb1fe..7a83b45 100644
--- a/xen/include/asm-x86/hvm/event.h
+++ b/xen/include/asm-x86/hvm/event.h
@@ -17,6 +17,12 @@
 #ifndef __ASM_X86_HVM_EVENT_H__
 #define __ASM_X86_HVM_EVENT_H__
 
+enum hvm_event_breakpoint_type
+{
+    HVM_EVENT_SOFTWARE_BREAKPOINT,
+    HVM_EVENT_SINGLESTEP_BREAKPOINT,
+};
+
 /*
  * Called for current VCPU on crX/MSR changes by guest.
  * The event might not fire if the client has subscribed to it in onchangeonly
@@ -27,9 +33,8 @@ bool_t hvm_event_cr(unsigned int index, unsigned long value,
 #define hvm_event_crX(what, new, old) \
     hvm_event_cr(VM_EVENT_X86_##what, new, old)
 void hvm_event_msr(unsigned int msr, uint64_t value);
-/* Called for current VCPU: returns -1 if no listener */
-int hvm_event_int3(unsigned long rip);
-int hvm_event_single_step(unsigned long rip);
+int hvm_event_breakpoint(unsigned long rip,
+                         enum hvm_event_breakpoint_type type);
 void hvm_event_guest_request(void);
 
 #endif /* __ASM_X86_HVM_EVENT_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAS-0000Md-ET; Wed, 17 Feb 2016 06:00:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAQ-0000MO-EC
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:50 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	D2/74-15353-19C04C65; Wed, 17 Feb 2016 06:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1455688845!22857982!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52534 invoked from network); 17 Feb 2016 06:00:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvC3-000450-9t
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAL-0002h6-9w
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAL-0002h6-9w@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:45 +0000
Subject: [Xen-changelog] [xen master] x86/traps: improve hypervisor stack
	overflow detection
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2c56cda8bc596b5073d0fd602e6069f768640ac1
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:14:43 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:14:43 2016 +0100

    x86/traps: improve hypervisor stack overflow detection
    
    A sample Gentoo compliation of Xen contains
    
        lea    -0x1058(%rsp),%rsp
        orq    $0x0,(%rsp)
        lea    0x1020(%rsp),%rsp
    
    Whatever the reason for silly code like this, it fools the current stack
    overflow detection logic in the #DF handler (which triggers reliably on the
    'orq' instruction).
    
    Update the overflow condition to declare an overflow if %esp is anywhere
    within the guard page, rather than just within the upper 8th of the page.
    
    Additionally, check %esp against the expected stack base in all builds.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 47100ea..564a107 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -451,10 +451,17 @@ void show_stack(const struct cpu_user_regs *regs)
 
 void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
 {
-#ifdef MEMORY_GUARD
     unsigned long esp = regs->rsp;
+    unsigned long curr_stack_base = esp & ~(STACK_SIZE - 1);
+#ifdef MEMORY_GUARD
     unsigned long esp_top, esp_bottom;
+#endif
+
+    if ( _p(curr_stack_base) != stack_base[cpu] )
+        printk("Current stack base %p differs from expected %p\n",
+               _p(curr_stack_base), stack_base[cpu]);
 
+#ifdef MEMORY_GUARD
     esp_bottom = (esp | (STACK_SIZE - 1)) + 1;
     esp_top    = esp_bottom - PRIMARY_STACK_SIZE;
 
@@ -462,9 +469,12 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
            (void *)esp_top, (void *)esp_bottom, (void *)esp,
            (void *)per_cpu(init_tss, cpu).esp0);
 
-    /* Trigger overflow trace if %esp is within 512 bytes of the guard page. */
-    if ( ((unsigned long)(esp - esp_top) > 512) &&
-         ((unsigned long)(esp_top - esp) > 512) )
+    /*
+     * Trigger overflow trace if %esp is anywhere within the guard page, or
+     * with fewer than 512 bytes remaining on the primary stack.
+     */
+    if ( (esp > (esp_top + 512)) ||
+         (esp < (esp_top - PAGE_SIZE)) )
     {
         printk("No stack overflow detected. Skipping stack trace.\n");
         return;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:00:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAS-0000Md-ET; Wed, 17 Feb 2016 06:00:52 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAQ-0000MO-EC
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:50 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	D2/74-15353-19C04C65; Wed, 17 Feb 2016 06:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1455688845!22857982!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52534 invoked from network); 17 Feb 2016 06:00:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvC3-000450-9t
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAL-0002h6-9w
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAL-0002h6-9w@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:45 +0000
Subject: [Xen-changelog] [xen master] x86/traps: improve hypervisor stack
	overflow detection
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2c56cda8bc596b5073d0fd602e6069f768640ac1
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Feb 15 14:14:43 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:14:43 2016 +0100

    x86/traps: improve hypervisor stack overflow detection
    
    A sample Gentoo compliation of Xen contains
    
        lea    -0x1058(%rsp),%rsp
        orq    $0x0,(%rsp)
        lea    0x1020(%rsp),%rsp
    
    Whatever the reason for silly code like this, it fools the current stack
    overflow detection logic in the #DF handler (which triggers reliably on the
    'orq' instruction).
    
    Update the overflow condition to declare an overflow if %esp is anywhere
    within the guard page, rather than just within the upper 8th of the page.
    
    Additionally, check %esp against the expected stack base in all builds.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/traps.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 47100ea..564a107 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -451,10 +451,17 @@ void show_stack(const struct cpu_user_regs *regs)
 
 void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
 {
-#ifdef MEMORY_GUARD
     unsigned long esp = regs->rsp;
+    unsigned long curr_stack_base = esp & ~(STACK_SIZE - 1);
+#ifdef MEMORY_GUARD
     unsigned long esp_top, esp_bottom;
+#endif
+
+    if ( _p(curr_stack_base) != stack_base[cpu] )
+        printk("Current stack base %p differs from expected %p\n",
+               _p(curr_stack_base), stack_base[cpu]);
 
+#ifdef MEMORY_GUARD
     esp_bottom = (esp | (STACK_SIZE - 1)) + 1;
     esp_top    = esp_bottom - PRIMARY_STACK_SIZE;
 
@@ -462,9 +469,12 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
            (void *)esp_top, (void *)esp_bottom, (void *)esp,
            (void *)per_cpu(init_tss, cpu).esp0);
 
-    /* Trigger overflow trace if %esp is within 512 bytes of the guard page. */
-    if ( ((unsigned long)(esp - esp_top) > 512) &&
-         ((unsigned long)(esp_top - esp) > 512) )
+    /*
+     * Trigger overflow trace if %esp is anywhere within the guard page, or
+     * with fewer than 512 bytes remaining on the primary stack.
+     */
+    if ( (esp > (esp_top + 512)) ||
+         (esp < (esp_top - PAGE_SIZE)) )
     {
         printk("No stack overflow detected. Skipping stack trace.\n");
         return;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAa-0000O8-J2; Wed, 17 Feb 2016 06:01:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAY-0000Nn-AM
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:58 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	27/A3-09834-99C04C65; Wed, 17 Feb 2016 06:00:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1455688856!24407120!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54602 invoked from network); 17 Feb 2016 06:00:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCD-00045t-Mm
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAV-0002ha-MJ
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAV-0002ha-MJ@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:55 +0000
Subject: [Xen-changelog] [xen master] x86emul: MSR indexes are only 32 bits
	wide
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3a8be001bb793ad0f05489913808919783890008
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 15 14:15:12 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:15:12 2016 +0100

    x86emul: MSR indexes are only 32 bits wide
    
    ... and hence the respective {read,write}_msr() hook parameter doesn't
    need to be "unsigned long".
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/emulate.c             | 6 +++---
 xen/arch/x86/x86_emulate/x86_emulate.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index f5dd1f8..fef7905 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -966,7 +966,7 @@ static int hvmemul_write_io_discard(
 }
 
 static int hvmemul_write_msr_discard(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t val,
     struct x86_emulate_ctxt *ctxt)
 {
@@ -1439,7 +1439,7 @@ static int hvmemul_write_cr(
 }
 
 static int hvmemul_read_msr(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t *val,
     struct x86_emulate_ctxt *ctxt)
 {
@@ -1447,7 +1447,7 @@ static int hvmemul_read_msr(
 }
 
 static int hvmemul_write_msr(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t val,
     struct x86_emulate_ctxt *ctxt)
 {
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 9e4bca9..3a1bb46 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -334,7 +334,7 @@ struct x86_emulate_ops
      *  @reg:   [IN ] Register to read.
      */
     int (*read_msr)(
-        unsigned long reg,
+        unsigned int reg,
         uint64_t *val,
         struct x86_emulate_ctxt *ctxt);
 
@@ -343,7 +343,7 @@ struct x86_emulate_ops
      *  @reg:   [IN ] Register to write.
      */
     int (*write_msr)(
-        unsigned long reg,
+        unsigned int reg,
         uint64_t val,
         struct x86_emulate_ctxt *ctxt);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAa-0000O8-J2; Wed, 17 Feb 2016 06:01:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAY-0000Nn-AM
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:58 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	27/A3-09834-99C04C65; Wed, 17 Feb 2016 06:00:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1455688856!24407120!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54602 invoked from network); 17 Feb 2016 06:00:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:00:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCD-00045t-Mm
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAV-0002ha-MJ
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:00:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAV-0002ha-MJ@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:00:55 +0000
Subject: [Xen-changelog] [xen master] x86emul: MSR indexes are only 32 bits
	wide
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3a8be001bb793ad0f05489913808919783890008
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Feb 15 14:15:12 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 15 14:15:12 2016 +0100

    x86emul: MSR indexes are only 32 bits wide
    
    ... and hence the respective {read,write}_msr() hook parameter doesn't
    need to be "unsigned long".
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/emulate.c             | 6 +++---
 xen/arch/x86/x86_emulate/x86_emulate.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index f5dd1f8..fef7905 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -966,7 +966,7 @@ static int hvmemul_write_io_discard(
 }
 
 static int hvmemul_write_msr_discard(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t val,
     struct x86_emulate_ctxt *ctxt)
 {
@@ -1439,7 +1439,7 @@ static int hvmemul_write_cr(
 }
 
 static int hvmemul_read_msr(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t *val,
     struct x86_emulate_ctxt *ctxt)
 {
@@ -1447,7 +1447,7 @@ static int hvmemul_read_msr(
 }
 
 static int hvmemul_write_msr(
-    unsigned long reg,
+    unsigned int reg,
     uint64_t val,
     struct x86_emulate_ctxt *ctxt)
 {
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 9e4bca9..3a1bb46 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -334,7 +334,7 @@ struct x86_emulate_ops
      *  @reg:   [IN ] Register to read.
      */
     int (*read_msr)(
-        unsigned long reg,
+        unsigned int reg,
         uint64_t *val,
         struct x86_emulate_ctxt *ctxt);
 
@@ -343,7 +343,7 @@ struct x86_emulate_ops
      *  @reg:   [IN ] Register to write.
      */
     int (*write_msr)(
-        unsigned long reg,
+        unsigned int reg,
         uint64_t val,
         struct x86_emulate_ctxt *ctxt);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAj-0000Pc-O2; Wed, 17 Feb 2016 06:01:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAi-0000PO-Dg
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:08 +0000
Content-Length: 2571
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	76/AA-10715-3AC04C65; Wed, 17 Feb 2016 06:01:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455688866!22423901!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26053 invoked from network); 17 Feb 2016 06:01:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:01:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCN-000461-UA
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAf-0002iJ-VD
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAf-0002iJ-VD@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:01:05 +0000
Subject: [Xen-changelog] [xen master] tools/libxc: Fix use of zlib-options
	when building the domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5089955389259872167=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============5089955389259872167==
Content-Length: 2165
Content-Transfer-Encoding: quoted-printable

commit 99ba14f3cff29eeb59809f92a6ca3a8705133c75
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 19:21:31 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Feb 15 17:05:55 2016 +0000

    tools/libxc: Fix use of zlib-options when building the domain builder
    
    c/s de0f8c7c changed the use of zlib-options, and moved it from being locally
    generated to coming from ./configure.
    
    However, it neglected to modify the users of zlib-options.  The curious use of
    $(call ...) was to select either the -D or -l options as appropriate, but c/s
    de0f8c7c broke this by loosing the `grep`.
    
    Instead, use $(filter ...) to pick out either the -D or -l options.  This
    fixes the build with Clang, which complains at passing '-llzma' when trying
    to compile xc_dom_bzimageloader.c to xc_dom_bzimageloader.o.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
---
 tools/libxc/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index 0a8614c..608404f 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -226,10 +226,10 @@ else
 zlib-options =3D $(ZLIB)
 endif
 
-xc_dom_bzimageloader.o: CFLAGS +=3D $(call zlib-options,D)
-xc_dom_bzimageloader.opic: CFLAGS +=3D $(call zlib-options,D)
+xc_dom_bzimageloader.o: CFLAGS +=3D $(filter -D%,$(zlib-options))
+xc_dom_bzimageloader.opic: CFLAGS +=3D $(filter -D%,$(zlib-options))
 
-libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(call zlib-options,l)
+libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(filter -l%,$(zlib-options))
 libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
 	$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============5089955389259872167==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============5089955389259872167==--

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAj-0000Pc-O2; Wed, 17 Feb 2016 06:01:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAi-0000PO-Dg
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:08 +0000
Content-Length: 2571
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
	76/AA-10715-3AC04C65; Wed, 17 Feb 2016 06:01:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1455688866!22423901!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26053 invoked from network); 17 Feb 2016 06:01:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:01:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCN-000461-UA
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:02:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAf-0002iJ-VD
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAf-0002iJ-VD@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:01:05 +0000
Subject: [Xen-changelog] [xen master] tools/libxc: Fix use of zlib-options
	when building the domain builder
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5089955389259872167=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============5089955389259872167==
Content-Length: 2165
Content-Transfer-Encoding: quoted-printable

commit 99ba14f3cff29eeb59809f92a6ca3a8705133c75
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 19:21:31 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Feb 15 17:05:55 2016 +0000

    tools/libxc: Fix use of zlib-options when building the domain builder
    
    c/s de0f8c7c changed the use of zlib-options, and moved it from being locally
    generated to coming from ./configure.
    
    However, it neglected to modify the users of zlib-options.  The curious use of
    $(call ...) was to select either the -D or -l options as appropriate, but c/s
    de0f8c7c broke this by loosing the `grep`.
    
    Instead, use $(filter ...) to pick out either the -D or -l options.  This
    fixes the build with Clang, which complains at passing '-llzma' when trying
    to compile xc_dom_bzimageloader.c to xc_dom_bzimageloader.o.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
---
 tools/libxc/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index 0a8614c..608404f 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -226,10 +226,10 @@ else
 zlib-options =3D $(ZLIB)
 endif
 
-xc_dom_bzimageloader.o: CFLAGS +=3D $(call zlib-options,D)
-xc_dom_bzimageloader.opic: CFLAGS +=3D $(call zlib-options,D)
+xc_dom_bzimageloader.o: CFLAGS +=3D $(filter -D%,$(zlib-options))
+xc_dom_bzimageloader.opic: CFLAGS +=3D $(filter -D%,$(zlib-options))
 
-libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(call zlib-options,l)
+libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS =3D $(filter -l%,$(zlib-options))
 libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
 	$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============5089955389259872167==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============5089955389259872167==--

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAt-0000Ri-SY; Wed, 17 Feb 2016 06:01:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAs-0000RT-Lq
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:18 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	3B/CA-06010-DAC04C65; Wed, 17 Feb 2016 06:01:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1455688876!22944127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23856 invoked from network); 17 Feb 2016 06:01:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:01:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCY-00046b-5x
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:03:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAq-0002jW-5T
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAq-0002jW-5T@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:01:16 +0000
Subject: [Xen-changelog] [xen master] docs: document shortcomings of running
	QEMU as non-root
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3fba5f5ec6bd2c9375735ae09d9615ccb1d7c0d0
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Tue Feb 9 16:03:56 2016 +0000
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Mon Feb 15 12:52:45 2016 -0500

    docs: document shortcomings of running QEMU as non-root
    
    Running QEMU as non-root causes migration and PCI passthrough not to
    work properly. Migration can be fixed rather easily
    (http://marc.info/?l=xen-devel&m=145382864118600), but PCI passthrough
    cannot (http://marc.info/?l=xen-devel&m=145286946113964).
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 docs/man/xl.cfg.pod.5          | 2 ++
 docs/misc/qemu-deprivilege.txt | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 8899f75..40690bd 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -1840,6 +1840,8 @@ option to the device-model.
 
 Run the device model as user "username", instead of
 xen-qemudepriv-domid$domid or xen-qemudepriv-shared or root.
+Please note that running QEMU as non-root causes migration and PCI
+passthrough not to work properly.
 
 =back
 
diff --git a/docs/misc/qemu-deprivilege.txt b/docs/misc/qemu-deprivilege.txt
index dde74ab..879a98e 100644
--- a/docs/misc/qemu-deprivilege.txt
+++ b/docs/misc/qemu-deprivilege.txt
@@ -29,3 +29,7 @@ adduser --no-create-home --system xen-qemuuser-shared
 
 3) root
 As a last resort, libxl will start QEMU as root.
+
+
+Please note that running QEMU as non-root causes migration and PCI
+passthrough not to work properly.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Feb 17 06:01:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Feb 2016 06:01:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aVvAt-0000Ri-SY; Wed, 17 Feb 2016 06:01:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAs-0000RT-Lq
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:18 +0000
Received: from [85.158.137.68] by server-12.bemta-3.messagelabs.com id
	3B/CA-06010-DAC04C65; Wed, 17 Feb 2016 06:01:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1455688876!22944127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23856 invoked from network); 17 Feb 2016 06:01:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	17 Feb 2016 06:01:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvCY-00046b-5x
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:03:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aVvAq-0002jW-5T
	for xen-changelog@lists.xensource.com; Wed, 17 Feb 2016 06:01:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aVvAq-0002jW-5T@xenbits.xen.org>
Date: Wed, 17 Feb 2016 06:01:16 +0000
Subject: [Xen-changelog] [xen master] docs: document shortcomings of running
	QEMU as non-root
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3fba5f5ec6bd2c9375735ae09d9615ccb1d7c0d0
Author:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
AuthorDate: Tue Feb 9 16:03:56 2016 +0000
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Mon Feb 15 12:52:45 2016 -0500

    docs: document shortcomings of running QEMU as non-root
    
    Running QEMU as non-root causes migration and PCI passthrough not to
    work properly. Migration can be fixed rather easily
    (http://marc.info/?l=xen-devel&m=145382864118600), but PCI passthrough
    cannot (http://marc.info/?l=xen-devel&m=145286946113964).
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 docs/man/xl.cfg.pod.5          | 2 ++
 docs/misc/qemu-deprivilege.txt | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 8899f75..40690bd 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -1840,6 +1840,8 @@ option to the device-model.
 
 Run the device model as user "username", instead of
 xen-qemudepriv-domid$domid or xen-qemudepriv-shared or root.
+Please note that running QEMU as non-root causes migration and PCI
+passthrough not to work properly.
 
 =back
 
diff --git a/docs/misc/qemu-deprivilege.txt b/docs/misc/qemu-deprivilege.txt
index dde74ab..879a98e 100644
--- a/docs/misc/qemu-deprivilege.txt
+++ b/docs/misc/qemu-deprivilege.txt
@@ -29,3 +29,7 @@ adduser --no-create-home --system xen-qemuuser-shared
 
 3) root
 As a last resort, libxl will start QEMU as root.
+
+
+Please note that running QEMU as non-root causes migration and PCI
+passthrough not to work properly.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWprY-0005Qo-6u; Fri, 19 Feb 2016 18:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprX-0005QV-8R
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:07 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	2D/9E-02994-2EF57C65; Fri, 19 Feb 2016 18:33:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455906784!23700561!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44735 invoked from network); 19 Feb 2016 18:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptI-0007uZ-2N
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:34:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprT-0006AE-Ot
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWprT-0006AE-Ot@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:03 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6f41b482b9491e7867fb7eedaf0e849575321413
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:54:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:54:30 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             |  6 ++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 108 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index f1f70fb..4071b9c 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -656,6 +656,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 243fa8b..c802429 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -693,8 +693,12 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
 
     if ( hvm_get_mem_pinned_cacheattr(d, gfn, &type) )
         return type;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 222fe5f..7659b24 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -188,6 +188,18 @@ static uint32_t base_disallow_mask;
       !is_hvm_domain(d)) ?                                      \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -773,6 +785,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -805,13 +819,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT(0);
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1210,8 +1252,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1706,8 +1749,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1730,8 +1774,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5010,6 +5055,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5057,7 +5103,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5081,8 +5127,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 302b621..f422574 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -93,6 +93,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 3fed0b6..96ba5f2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1201,22 +1209,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 2c3cc2d..a0b0643 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:10 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWprY-0005Qo-6u; Fri, 19 Feb 2016 18:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprX-0005QV-8R
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:07 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	2D/9E-02994-2EF57C65; Fri, 19 Feb 2016 18:33:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1455906784!23700561!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44735 invoked from network); 19 Feb 2016 18:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptI-0007uZ-2N
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:34:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprT-0006AE-Ot
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWprT-0006AE-Ot@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:03 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6f41b482b9491e7867fb7eedaf0e849575321413
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:54:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:54:30 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             |  6 ++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 108 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index f1f70fb..4071b9c 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -656,6 +656,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 243fa8b..c802429 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -693,8 +693,12 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
 
     if ( hvm_get_mem_pinned_cacheattr(d, gfn, &type) )
         return type;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 222fe5f..7659b24 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -188,6 +188,18 @@ static uint32_t base_disallow_mask;
       !is_hvm_domain(d)) ?                                      \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -773,6 +785,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -805,13 +819,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT(0);
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1210,8 +1252,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1706,8 +1749,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1730,8 +1774,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5010,6 +5055,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5057,7 +5103,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5081,8 +5127,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 302b621..f422574 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -93,6 +93,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 3fed0b6..96ba5f2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1201,22 +1209,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 2c3cc2d..a0b0643 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWpri-0005Sq-Ck; Fri, 19 Feb 2016 18:33:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprh-0005ST-2R
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:17 +0000
Content-Length: 4405
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	E4/96-03109-CEF57C65; Fri, 19 Feb 2016 18:33:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455906794!23141027!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34292 invoked from network); 19 Feb 2016 18:33:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptS-0007v9-IH
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:35:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWpre-0006Bp-6L
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWpre-0006Bp-6L@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:14 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2369848057836547903=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2369848057836547903==
Content-Length: 4046
Content-Transfer-Encoding: quoted-printable

commit c0616ae33907321c2ede9b56d4b462a4f3636f7f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:55:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:55:01 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 25ae750..280dab7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2486,7 +2486,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
-    unsigned int exit_reason, idtv_info, intr_info =3D 0, vector =3D 0;
+    unsigned int exit_reason, idtv_info, intr_info =3D 0, vector =3D 0, mode;
     unsigned long exit_qualification, inst_len =3D 0;
     struct vcpu *v =3D current;
 
@@ -2998,6 +2998,40 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            if ( !(__vmread(VM_ENTRY_INTR_INFO) & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(void)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3


--===============2369848057836547903==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2369848057836547903==--

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWpri-0005Sq-Ck; Fri, 19 Feb 2016 18:33:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprh-0005ST-2R
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:17 +0000
Content-Length: 4405
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
	E4/96-03109-CEF57C65; Fri, 19 Feb 2016 18:33:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1455906794!23141027!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34292 invoked from network); 19 Feb 2016 18:33:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptS-0007v9-IH
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:35:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWpre-0006Bp-6L
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWpre-0006Bp-6L@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:14 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2369848057836547903=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2369848057836547903==
Content-Length: 4046
Content-Transfer-Encoding: quoted-printable

commit c0616ae33907321c2ede9b56d4b462a4f3636f7f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:55:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:55:01 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 25ae750..280dab7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2486,7 +2486,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
-    unsigned int exit_reason, idtv_info, intr_info =3D 0, vector =3D 0;
+    unsigned int exit_reason, idtv_info, intr_info =3D 0, vector =3D 0, mode;
     unsigned long exit_qualification, inst_len =3D 0;
     struct vcpu *v =3D current;
 
@@ -2998,6 +2998,40 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            if ( !(__vmread(VM_ENTRY_INTR_INFO) & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(void)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3


--===============2369848057836547903==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2369848057836547903==--

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWprs-0005Un-IU; Fri, 19 Feb 2016 18:33:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprr-0005UR-6y
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:27 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	57/EC-29985-6FF57C65; Fri, 19 Feb 2016 18:33:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455906805!21472746!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37253 invoked from network); 19 Feb 2016 18:33:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptc-0007vH-VT
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:35:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWpro-0006D7-LS
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWpro-0006D7-LS@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:24 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ccc7adf9cff5d5f93720afcc1d0f7227d50feab2
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:30:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:30:16 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 7659b24..e891808 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -827,9 +827,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT(0);
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Feb 19 18:33:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Feb 2016 18:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWprs-0005Un-IU; Fri, 19 Feb 2016 18:33:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWprr-0005UR-6y
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:27 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	57/EC-29985-6FF57C65; Fri, 19 Feb 2016 18:33:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1455906805!21472746!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37253 invoked from network); 19 Feb 2016 18:33:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Feb 2016 18:33:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWptc-0007vH-VT
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:35:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWpro-0006D7-LS
	for xen-changelog@lists.xensource.com; Fri, 19 Feb 2016 18:33:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWpro-0006D7-LS@xenbits.xen.org>
Date: Fri, 19 Feb 2016 18:33:24 +0000
Subject: [Xen-changelog] [xen stable-4.3] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ccc7adf9cff5d5f93720afcc1d0f7227d50feab2
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:30:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:30:16 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 7659b24..e891808 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -827,9 +827,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT(0);
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Feb 20 05:22:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Feb 2016 05:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWzzb-0004Zy-8g; Sat, 20 Feb 2016 05:22:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWzza-0004Zt-99
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:22:06 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	E3/FB-03519-DF7F7C65; Sat, 20 Feb 2016 05:22:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455945724!15322696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 35287 invoked from network); 20 Feb 2016 05:22:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Feb 2016 05:22:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX01N-00044w-5h
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:23:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWzzX-0001vU-NE
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:22:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWzzX-0001vU-NE@xenbits.xen.org>
Date: Sat, 20 Feb 2016 05:22:03 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 16169ab825a03262cd66382dc0b02caa0dbd636a
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:33:27 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index f3797b7..66fe96f 100644
--- a/exec.c
+++ b/exec.c
@@ -789,9 +789,11 @@ static uint16_t phys_section_add(MemoryRegionSection *section)
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         memory_region_destroy(&subpage->iomem);
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Feb 20 05:22:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Feb 2016 05:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aWzzb-0004Zy-8g; Sat, 20 Feb 2016 05:22:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWzza-0004Zt-99
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:22:06 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
	E3/FB-03519-DF7F7C65; Sat, 20 Feb 2016 05:22:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1455945724!15322696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 35287 invoked from network); 20 Feb 2016 05:22:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Feb 2016 05:22:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX01N-00044w-5h
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:23:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aWzzX-0001vU-NE
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 05:22:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aWzzX-0001vU-NE@xenbits.xen.org>
Date: Sat, 20 Feb 2016 05:22:03 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.4] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 16169ab825a03262cd66382dc0b02caa0dbd636a
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:33:27 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index f3797b7..66fe96f 100644
--- a/exec.c
+++ b/exec.c
@@ -789,9 +789,11 @@ static uint16_t phys_section_add(MemoryRegionSection *section)
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         memory_region_destroy(&subpage->iomem);
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Feb 20 07:11:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Feb 2016 07:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aX1h6-0003E3-O0; Sat, 20 Feb 2016 07:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1h4-0003Dy-Cn
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:11:06 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	A0/C7-03800-98118C65; Sat, 20 Feb 2016 07:11:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455952264!23475092!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19902 invoked from network); 20 Feb 2016 07:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Feb 2016 07:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1ir-0006Py-60
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:12:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1h1-0004iU-IJ
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:11:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aX1h1-0004iU-IJ@xenbits.xen.org>
Date: Sat, 20 Feb 2016 07:11:03 +0000
Subject: [Xen-changelog] [qemu-xen master] exec: Stop using memory after free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 316a862e5534249a6e6d876b4e203342d3fb870e
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:15:42 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 0a4a0c5..716f427 100644
--- a/exec.c
+++ b/exec.c
@@ -1018,9 +1018,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         object_unref(OBJECT(&subpage->iomem));
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Feb 20 07:11:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Feb 2016 07:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aX1h6-0003E3-O0; Sat, 20 Feb 2016 07:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1h4-0003Dy-Cn
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:11:06 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	A0/C7-03800-98118C65; Sat, 20 Feb 2016 07:11:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1455952264!23475092!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19902 invoked from network); 20 Feb 2016 07:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Feb 2016 07:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1ir-0006Py-60
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:12:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aX1h1-0004iU-IJ
	for xen-changelog@lists.xensource.com; Sat, 20 Feb 2016 07:11:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aX1h1-0004iU-IJ@xenbits.xen.org>
Date: Sat, 20 Feb 2016 07:11:03 +0000
Subject: [Xen-changelog] [qemu-xen master] exec: Stop using memory after free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 316a862e5534249a6e6d876b4e203342d3fb870e
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:15:42 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 0a4a0c5..716f427 100644
--- a/exec.c
+++ b/exec.c
@@ -1018,9 +1018,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         object_unref(OBJECT(&subpage->iomem));
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKlh-0008JI-As; Sun, 21 Feb 2016 03:33:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlf-0008J6-Rm
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:08 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	6C/CE-02989-3FF29C65; Sun, 21 Feb 2016 03:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456025584!23786565!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44682 invoked from network); 21 Feb 2016 03:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnU-0006WQ-73
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlc-0000jw-BD
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlc-0000jw-BD@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:04 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 96b4955c51d37ee261b873d8ccb68a21e8f6a904
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:43:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:43:21 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             | 11 +++++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 113 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index e5a7642..16bfb39 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1000,6 +1000,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index ee18553..aa6e25b 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -810,8 +810,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9179a8f..51408cf 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -181,6 +181,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -766,6 +778,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -798,13 +812,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1194,8 +1236,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1690,8 +1733,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1714,8 +1758,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -4920,6 +4965,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -4967,7 +5013,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -4991,8 +5037,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 78512e6..7f97f3a 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -107,6 +107,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 225290e..d6802ff 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -678,10 +682,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1188,22 +1196,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index ccf0752..6dc9646 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKlh-0008JI-As; Sun, 21 Feb 2016 03:33:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlf-0008J6-Rm
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:08 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	6C/CE-02989-3FF29C65; Sun, 21 Feb 2016 03:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456025584!23786565!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44682 invoked from network); 21 Feb 2016 03:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnU-0006WQ-73
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlc-0000jw-BD
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlc-0000jw-BD@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:04 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 96b4955c51d37ee261b873d8ccb68a21e8f6a904
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:43:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:43:21 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             | 11 +++++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 113 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index e5a7642..16bfb39 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1000,6 +1000,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index ee18553..aa6e25b 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -810,8 +810,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9179a8f..51408cf 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -181,6 +181,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -766,6 +778,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -798,13 +812,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1194,8 +1236,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1690,8 +1733,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1714,8 +1758,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -4920,6 +4965,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -4967,7 +5013,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -4991,8 +5037,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 78512e6..7f97f3a 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -107,6 +107,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 225290e..d6802ff 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -678,10 +682,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1188,22 +1196,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index ccf0752..6dc9646 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKlq-0008K6-GF; Sun, 21 Feb 2016 03:33:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlp-0008K0-QG
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:17 +0000
Content-Length: 4452
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	DA/06-16618-DFF29C65; Sun, 21 Feb 2016 03:33:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456025595!25338656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33478 invoked from network); 21 Feb 2016 03:33:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKne-0006X3-NQ
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlm-0000kK-SH
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlm-0000kK-SH@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:14 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4695247521139969224=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============4695247521139969224==
Content-Length: 4094
Content-Transfer-Encoding: quoted-printable

commit 30b0e11898e2c2c67c64bd1ec48f88de8125d678
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:43:56 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:43:56 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 97b834d..0ed2f13 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2675,7 +2675,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3219,6 +3219,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5


--===============4695247521139969224==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============4695247521139969224==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:18 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKlq-0008K6-GF; Sun, 21 Feb 2016 03:33:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlp-0008K0-QG
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:17 +0000
Content-Length: 4452
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
	DA/06-16618-DFF29C65; Sun, 21 Feb 2016 03:33:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456025595!25338656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33478 invoked from network); 21 Feb 2016 03:33:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKne-0006X3-NQ
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlm-0000kK-SH
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlm-0000kK-SH@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:14 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============4695247521139969224=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============4695247521139969224==
Content-Length: 4094
Content-Transfer-Encoding: quoted-printable

commit 30b0e11898e2c2c67c64bd1ec48f88de8125d678
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:43:56 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:43:56 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 97b834d..0ed2f13 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2675,7 +2675,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3219,6 +3219,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5


--===============4695247521139969224==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============4695247521139969224==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKm1-0008Lb-Jm; Sun, 21 Feb 2016 03:33:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKm0-0008LN-5e
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:28 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	B8/DE-15991-70039C65; Sun, 21 Feb 2016 03:33:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456025605!24491729!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8564 invoked from network); 21 Feb 2016 03:33:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnp-0006XE-2B
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlx-0000ki-CR
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlx-0000ki-CR@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:25 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/mmuext: tighten TLB flush
	address checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7fa1af3b3eab2d22cf260e5f7f7b233ddd071cc
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:46:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:46:25 2016 +0100

    x86/mmuext: tighten TLB flush address checks
    
    Addresses passed by PV guests should be subjected to __addr_ok(),
    avoiding undue TLB flushes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 828e114f7cdd9910483783ab0563b178325e579a
    master date: 2016-01-21 16:09:22 +0100
---
 xen/arch/x86/mm.c            | 13 +++++++------
 xen/include/asm-x86/paging.h |  4 +++-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 51408cf..a25d792 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3203,8 +3203,9 @@ long do_mmuext_op(
         case MMUEXT_INVLPG_LOCAL:
             if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
-            else if ( !paging_mode_enabled(d) ||
-                      paging_invlpg(curr, op.arg1.linear_addr) != 0 )
+            else if ( !paging_mode_enabled(d)
+                      ? __addr_ok(op.arg1.linear_addr)
+                      : paging_invlpg(curr, op.arg1.linear_addr) )
                 flush_tlb_one_local(op.arg1.linear_addr);
             break;
 
@@ -3225,7 +3226,7 @@ long do_mmuext_op(
 
             if ( op.cmd == MMUEXT_TLB_FLUSH_MULTI )
                 flush_tlb_mask(&pmask);
-            else
+            else if ( __addr_ok(op.arg1.linear_addr) )
                 flush_tlb_one_mask(&pmask, op.arg1.linear_addr);
             break;
         }
@@ -3238,10 +3239,10 @@ long do_mmuext_op(
             break;
     
         case MMUEXT_INVLPG_ALL:
-            if ( likely(d == pg_owner) )
-                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
-            else
+            if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
+            else if ( __addr_ok(op.arg1.linear_addr) )
+                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
             break;
 
         case MMUEXT_FLUSH_CACHE:
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index d456d7a..27a5497 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -238,7 +238,9 @@ paging_fault(unsigned long va, struct cpu_user_regs *regs)
  * or 0 if it's safe not to do so. */
 static inline int paging_invlpg(struct vcpu *v, unsigned long va)
 {
-    return is_canonical_address(va) && paging_get_hostmode(v)->invlpg(v, va);
+    return (paging_mode_external(v->domain) ? is_canonical_address(va)
+                                            : __addr_ok(va)) &&
+           paging_get_hostmode(v)->invlpg(v, va);
 }
 
 /* Translate a guest virtual address to the frame number that the
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKm1-0008Lb-Jm; Sun, 21 Feb 2016 03:33:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKm0-0008LN-5e
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:28 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
	B8/DE-15991-70039C65; Sun, 21 Feb 2016 03:33:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456025605!24491729!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8564 invoked from network); 21 Feb 2016 03:33:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnp-0006XE-2B
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKlx-0000ki-CR
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKlx-0000ki-CR@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:25 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/mmuext: tighten TLB flush
	address checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7fa1af3b3eab2d22cf260e5f7f7b233ddd071cc
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:46:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:46:25 2016 +0100

    x86/mmuext: tighten TLB flush address checks
    
    Addresses passed by PV guests should be subjected to __addr_ok(),
    avoiding undue TLB flushes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 828e114f7cdd9910483783ab0563b178325e579a
    master date: 2016-01-21 16:09:22 +0100
---
 xen/arch/x86/mm.c            | 13 +++++++------
 xen/include/asm-x86/paging.h |  4 +++-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 51408cf..a25d792 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3203,8 +3203,9 @@ long do_mmuext_op(
         case MMUEXT_INVLPG_LOCAL:
             if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
-            else if ( !paging_mode_enabled(d) ||
-                      paging_invlpg(curr, op.arg1.linear_addr) != 0 )
+            else if ( !paging_mode_enabled(d)
+                      ? __addr_ok(op.arg1.linear_addr)
+                      : paging_invlpg(curr, op.arg1.linear_addr) )
                 flush_tlb_one_local(op.arg1.linear_addr);
             break;
 
@@ -3225,7 +3226,7 @@ long do_mmuext_op(
 
             if ( op.cmd == MMUEXT_TLB_FLUSH_MULTI )
                 flush_tlb_mask(&pmask);
-            else
+            else if ( __addr_ok(op.arg1.linear_addr) )
                 flush_tlb_one_mask(&pmask, op.arg1.linear_addr);
             break;
         }
@@ -3238,10 +3239,10 @@ long do_mmuext_op(
             break;
     
         case MMUEXT_INVLPG_ALL:
-            if ( likely(d == pg_owner) )
-                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
-            else
+            if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
+            else if ( __addr_ok(op.arg1.linear_addr) )
+                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
             break;
 
         case MMUEXT_FLUSH_CACHE:
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index d456d7a..27a5497 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -238,7 +238,9 @@ paging_fault(unsigned long va, struct cpu_user_regs *regs)
  * or 0 if it's safe not to do so. */
 static inline int paging_invlpg(struct vcpu *v, unsigned long va)
 {
-    return is_canonical_address(va) && paging_get_hostmode(v)->invlpg(v, va);
+    return (paging_mode_external(v->domain) ? is_canonical_address(va)
+                                            : __addr_ok(va)) &&
+           paging_get_hostmode(v)->invlpg(v, va);
 }
 
 /* Translate a guest virtual address to the frame number that the
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmB-0008NT-P6; Sun, 21 Feb 2016 03:33:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmA-0008NH-Gk
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:38 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	CB/49-28791-11039C65; Sun, 21 Feb 2016 03:33:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456025616!25447245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45061 invoked from network); 21 Feb 2016 03:33:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnz-0006XM-D5
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKm7-0000lr-Lf
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKm7-0000lr-Lf@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:35 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: fix (and simplify) MTRR
	overlap checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 677eb6e2dc5295ea49d6d75971c96695567ae601
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:46:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:46:52 2016 +0100

    x86: fix (and simplify) MTRR overlap checking
    
    Obtaining one individual range per variable range register (via
    get_mtrr_range()) was bogus from the beginning, as these registers may
    cover multiple disjoint ranges. Do away with that, in favor of simply
    comparing masked addresses.
    
    Also, for is_var_mtrr_overlapped()'s result to be correct when called
    from mtrr_wrmsr(), generic_set_mtrr() must update saved state first.
    
    As minor cleanup changes, constify is_var_mtrr_overlapped()'s parameter
    and make mtrr_wrmsr() static.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 3272230848f36eb5bbb660216898a90048a81d9f
    master date: 2016-01-21 16:11:04 +0100
---
 xen/arch/x86/cpu/mtrr/generic.c |  4 +--
 xen/arch/x86/cpu/mtrr/mtrr.h    |  1 -
 xen/arch/x86/hvm/mtrr.c         | 61 ++++++++---------------------------------
 xen/include/asm-x86/mtrr.h      |  2 +-
 4 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 493830b..9f96e5c 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -208,7 +208,7 @@ void __init mtrr_state_warn(void)
 /* Doesn't attempt to pass an error out to MTRR users
    because it's quite complicated in some cases and probably not
    worth it because the best error handling is to ignore it. */
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
+static void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
 {
 	if (wrmsr_safe(msr, msr_content) < 0)
 		printk(KERN_ERR
@@ -483,8 +483,8 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 	if (size == 0) {
 		/* The invalid bit is kept in the mask, so we simply clear the
 		   relevant mask register to disable a range. */
+		memset(vr, 0, sizeof(*vr));
 		mtrr_wrmsr(MSR_IA32_MTRR_PHYSMASK(reg), 0);
-		memset(vr, 0, sizeof(struct mtrr_var_range));
 	} else {
 		uint32_t base_lo, base_hi, mask_lo, mask_hi;
 
diff --git a/xen/arch/x86/cpu/mtrr/mtrr.h b/xen/arch/x86/cpu/mtrr/mtrr.h
index a9d6dcd..b41eb58 100644
--- a/xen/arch/x86/cpu/mtrr/mtrr.h
+++ b/xen/arch/x86/cpu/mtrr/mtrr.h
@@ -63,7 +63,6 @@ extern const struct mtrr_ops *mtrr_if;
 extern unsigned int num_var_ranges;
 
 void mtrr_state_warn(void);
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content);
 
 extern int amd_init_mtrr(void);
 extern int cyrix_init_mtrr(void);
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index aa6e25b..35adbf5 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -29,8 +29,6 @@
 #include <asm/hvm/support.h>
 #include <asm/hvm/cacheattr.h>
 
-static uint32_t size_or_mask;
-
 /* Get page attribute fields (PAn) from PAT MSR. */
 #define pat_cr_2_paf(pat_cr,n)  ((((uint64_t)pat_cr) >> ((n)<<3)) & 0xff)
 
@@ -80,61 +78,28 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
 static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
     { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
 
-static void get_mtrr_range(uint64_t base_msr, uint64_t mask_msr,
-                           uint64_t *base, uint64_t *end)
-{
-    uint32_t mask_lo = (uint32_t)mask_msr;
-    uint32_t mask_hi = (uint32_t)(mask_msr >> 32);
-    uint32_t base_lo = (uint32_t)base_msr;
-    uint32_t base_hi = (uint32_t)(base_msr >> 32);
-    uint32_t size;
-
-    if ( !(mask_lo & MTRR_PHYSMASK_VALID) )
-    {
-        /* Invalid (i.e. free) range */
-        *base = 0;
-        *end = 0;
-        return;
-    }
-
-    /* Work out the shifted address mask. */
-    mask_lo = (size_or_mask | (mask_hi << (32 - PAGE_SHIFT)) |
-               (mask_lo >> PAGE_SHIFT));
-
-    /* This works correctly if size is a power of two (a contiguous range). */
-    size = -mask_lo;
-    *base = base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT;
-    *end = *base + size - 1;
-}
-
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m)
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m)
 {
-    int32_t seg, i;
-    uint64_t phys_base, phys_mask, phys_base_pre, phys_mask_pre;
-    uint64_t base_pre, end_pre, base, end;
-    uint8_t num_var_ranges = (uint8_t)m->mtrr_cap;
+    unsigned int seg, i;
+    unsigned int num_var_ranges = (uint8_t)m->mtrr_cap;
 
     for ( i = 0; i < num_var_ranges; i++ )
     {
-        phys_base_pre = ((uint64_t*)m->var_ranges)[i*2];
-        phys_mask_pre = ((uint64_t*)m->var_ranges)[i*2 + 1];
+        uint64_t base1 = m->var_ranges[i].base >> PAGE_SHIFT;
+        uint64_t mask1 = m->var_ranges[i].mask >> PAGE_SHIFT;
 
-        get_mtrr_range(phys_base_pre, phys_mask_pre,
-                        &base_pre, &end_pre);
+        if ( !(m->var_ranges[i].mask & MTRR_PHYSMASK_VALID) )
+            continue;
 
         for ( seg = i + 1; seg < num_var_ranges; seg ++ )
         {
-            phys_base = ((uint64_t*)m->var_ranges)[seg*2];
-            phys_mask = ((uint64_t*)m->var_ranges)[seg*2 + 1];
+            uint64_t base2 = m->var_ranges[seg].base >> PAGE_SHIFT;
+            uint64_t mask2 = m->var_ranges[seg].mask >> PAGE_SHIFT;
 
-            get_mtrr_range(phys_base, phys_mask,
-                            &base, &end);
+            if ( !(m->var_ranges[seg].mask & MTRR_PHYSMASK_VALID) )
+                continue;
 
-            if ( ((base_pre != end_pre) && (base != end))
-                 || ((base >= base_pre) && (base <= end_pre))
-                 || ((end >= base_pre) && (end <= end_pre))
-                 || ((base_pre >= base) && (base_pre <= end))
-                 || ((end_pre >= base) && (end_pre <= end)) )
+            if ( (base1 & mask1 & mask2) == (base2 & mask2 & mask1) )
             {
                 /* MTRR is overlapped. */
                 return 1;
@@ -171,8 +136,6 @@ static int __init hvm_mtrr_pat_init(void)
         }
     }
 
-    size_or_mask = ~((1 << (paddr_bits - PAGE_SHIFT)) - 1);
-
     return 0;
 }
 __initcall(hvm_mtrr_pat_init);
diff --git a/xen/include/asm-x86/mtrr.h b/xen/include/asm-x86/mtrr.h
index 328ba04..7b6515a 100644
--- a/xen/include/asm-x86/mtrr.h
+++ b/xen/include/asm-x86/mtrr.h
@@ -92,7 +92,7 @@ extern bool_t mtrr_def_type_msr_set(struct domain *, struct mtrr_state *,
 extern void memory_type_changed(struct domain *);
 extern bool_t pat_msr_set(uint64_t *pat, uint64_t msr);
 
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m);
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m);
 bool_t mtrr_pat_not_equal(struct vcpu *vd, struct vcpu *vs);
 
 #endif /* __ASM_X86_MTRR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmB-0008NT-P6; Sun, 21 Feb 2016 03:33:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmA-0008NH-Gk
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:38 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	CB/49-28791-11039C65; Sun, 21 Feb 2016 03:33:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456025616!25447245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45061 invoked from network); 21 Feb 2016 03:33:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnz-0006XM-D5
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKm7-0000lr-Lf
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKm7-0000lr-Lf@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:35 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: fix (and simplify) MTRR
	overlap checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 677eb6e2dc5295ea49d6d75971c96695567ae601
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:46:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:46:52 2016 +0100

    x86: fix (and simplify) MTRR overlap checking
    
    Obtaining one individual range per variable range register (via
    get_mtrr_range()) was bogus from the beginning, as these registers may
    cover multiple disjoint ranges. Do away with that, in favor of simply
    comparing masked addresses.
    
    Also, for is_var_mtrr_overlapped()'s result to be correct when called
    from mtrr_wrmsr(), generic_set_mtrr() must update saved state first.
    
    As minor cleanup changes, constify is_var_mtrr_overlapped()'s parameter
    and make mtrr_wrmsr() static.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 3272230848f36eb5bbb660216898a90048a81d9f
    master date: 2016-01-21 16:11:04 +0100
---
 xen/arch/x86/cpu/mtrr/generic.c |  4 +--
 xen/arch/x86/cpu/mtrr/mtrr.h    |  1 -
 xen/arch/x86/hvm/mtrr.c         | 61 ++++++++---------------------------------
 xen/include/asm-x86/mtrr.h      |  2 +-
 4 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 493830b..9f96e5c 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -208,7 +208,7 @@ void __init mtrr_state_warn(void)
 /* Doesn't attempt to pass an error out to MTRR users
    because it's quite complicated in some cases and probably not
    worth it because the best error handling is to ignore it. */
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
+static void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
 {
 	if (wrmsr_safe(msr, msr_content) < 0)
 		printk(KERN_ERR
@@ -483,8 +483,8 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 	if (size == 0) {
 		/* The invalid bit is kept in the mask, so we simply clear the
 		   relevant mask register to disable a range. */
+		memset(vr, 0, sizeof(*vr));
 		mtrr_wrmsr(MSR_IA32_MTRR_PHYSMASK(reg), 0);
-		memset(vr, 0, sizeof(struct mtrr_var_range));
 	} else {
 		uint32_t base_lo, base_hi, mask_lo, mask_hi;
 
diff --git a/xen/arch/x86/cpu/mtrr/mtrr.h b/xen/arch/x86/cpu/mtrr/mtrr.h
index a9d6dcd..b41eb58 100644
--- a/xen/arch/x86/cpu/mtrr/mtrr.h
+++ b/xen/arch/x86/cpu/mtrr/mtrr.h
@@ -63,7 +63,6 @@ extern const struct mtrr_ops *mtrr_if;
 extern unsigned int num_var_ranges;
 
 void mtrr_state_warn(void);
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content);
 
 extern int amd_init_mtrr(void);
 extern int cyrix_init_mtrr(void);
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index aa6e25b..35adbf5 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -29,8 +29,6 @@
 #include <asm/hvm/support.h>
 #include <asm/hvm/cacheattr.h>
 
-static uint32_t size_or_mask;
-
 /* Get page attribute fields (PAn) from PAT MSR. */
 #define pat_cr_2_paf(pat_cr,n)  ((((uint64_t)pat_cr) >> ((n)<<3)) & 0xff)
 
@@ -80,61 +78,28 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
 static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
     { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
 
-static void get_mtrr_range(uint64_t base_msr, uint64_t mask_msr,
-                           uint64_t *base, uint64_t *end)
-{
-    uint32_t mask_lo = (uint32_t)mask_msr;
-    uint32_t mask_hi = (uint32_t)(mask_msr >> 32);
-    uint32_t base_lo = (uint32_t)base_msr;
-    uint32_t base_hi = (uint32_t)(base_msr >> 32);
-    uint32_t size;
-
-    if ( !(mask_lo & MTRR_PHYSMASK_VALID) )
-    {
-        /* Invalid (i.e. free) range */
-        *base = 0;
-        *end = 0;
-        return;
-    }
-
-    /* Work out the shifted address mask. */
-    mask_lo = (size_or_mask | (mask_hi << (32 - PAGE_SHIFT)) |
-               (mask_lo >> PAGE_SHIFT));
-
-    /* This works correctly if size is a power of two (a contiguous range). */
-    size = -mask_lo;
-    *base = base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT;
-    *end = *base + size - 1;
-}
-
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m)
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m)
 {
-    int32_t seg, i;
-    uint64_t phys_base, phys_mask, phys_base_pre, phys_mask_pre;
-    uint64_t base_pre, end_pre, base, end;
-    uint8_t num_var_ranges = (uint8_t)m->mtrr_cap;
+    unsigned int seg, i;
+    unsigned int num_var_ranges = (uint8_t)m->mtrr_cap;
 
     for ( i = 0; i < num_var_ranges; i++ )
     {
-        phys_base_pre = ((uint64_t*)m->var_ranges)[i*2];
-        phys_mask_pre = ((uint64_t*)m->var_ranges)[i*2 + 1];
+        uint64_t base1 = m->var_ranges[i].base >> PAGE_SHIFT;
+        uint64_t mask1 = m->var_ranges[i].mask >> PAGE_SHIFT;
 
-        get_mtrr_range(phys_base_pre, phys_mask_pre,
-                        &base_pre, &end_pre);
+        if ( !(m->var_ranges[i].mask & MTRR_PHYSMASK_VALID) )
+            continue;
 
         for ( seg = i + 1; seg < num_var_ranges; seg ++ )
         {
-            phys_base = ((uint64_t*)m->var_ranges)[seg*2];
-            phys_mask = ((uint64_t*)m->var_ranges)[seg*2 + 1];
+            uint64_t base2 = m->var_ranges[seg].base >> PAGE_SHIFT;
+            uint64_t mask2 = m->var_ranges[seg].mask >> PAGE_SHIFT;
 
-            get_mtrr_range(phys_base, phys_mask,
-                            &base, &end);
+            if ( !(m->var_ranges[seg].mask & MTRR_PHYSMASK_VALID) )
+                continue;
 
-            if ( ((base_pre != end_pre) && (base != end))
-                 || ((base >= base_pre) && (base <= end_pre))
-                 || ((end >= base_pre) && (end <= end_pre))
-                 || ((base_pre >= base) && (base_pre <= end))
-                 || ((end_pre >= base) && (end_pre <= end)) )
+            if ( (base1 & mask1 & mask2) == (base2 & mask2 & mask1) )
             {
                 /* MTRR is overlapped. */
                 return 1;
@@ -171,8 +136,6 @@ static int __init hvm_mtrr_pat_init(void)
         }
     }
 
-    size_or_mask = ~((1 << (paddr_bits - PAGE_SHIFT)) - 1);
-
     return 0;
 }
 __initcall(hvm_mtrr_pat_init);
diff --git a/xen/include/asm-x86/mtrr.h b/xen/include/asm-x86/mtrr.h
index 328ba04..7b6515a 100644
--- a/xen/include/asm-x86/mtrr.h
+++ b/xen/include/asm-x86/mtrr.h
@@ -92,7 +92,7 @@ extern bool_t mtrr_def_type_msr_set(struct domain *, struct mtrr_state *,
 extern void memory_type_changed(struct domain *);
 extern bool_t pat_msr_set(uint64_t *pat, uint64_t msr);
 
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m);
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m);
 bool_t mtrr_pat_not_equal(struct vcpu *vd, struct vcpu *vs);
 
 #endif /* __ASM_X86_MTRR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmM-0008Pi-08; Sun, 21 Feb 2016 03:33:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmK-0008PO-Mu
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:48 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	68/4D-02992-B1039C65; Sun, 21 Feb 2016 03:33:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456025626!23786602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45883 invoked from network); 21 Feb 2016 03:33:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKo9-0006Y0-Qg
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmI-0000mF-2L
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmI-0000mF-2L@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:46 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/mce: fix misleading
	indentation in init_nonfatal_mce_checker()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a7f6bcbcdeaba036349cc476268426fae094dda0
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 16:47:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:47:21 2016 +0100

    x86/mce: fix misleading indentation in init_nonfatal_mce_checker()
    
    Debian bug 812166[0] reported this build failure due to
    Wmisleading-indentation with gcc-6:
    
    non-fatal.c: In function 'init_nonfatal_mce_checker':
    non-fatal.c:103:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
      switch (c->x86_vendor) {
      ^~~~~~
    
    non-fatal.c:97:5: note: ...this 'if' clause, but it is not
         if ( __get_cpu_var(poll_bankmask) == NULL )
         ^~
    
    I was unable to reproduce (xen builds cleanly for me with "6.0.0 20160117
    (experimental) [trunk revision 232481]") but looking at the code the issue
    above is clearly real.
    
    Correctly reindent the if statement.
    
    This file uses Linux coding style (infact the use of Xen style for
    this line is the root cause of the wanring) so use tabs and while
    there remove the whitespace inside the if as Linux does.
    
    [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812166
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 2e46e3f2539d026594ec1618e7df2c2bc8785b42
    master date: 2016-01-22 16:19:51 +0100
---
 xen/arch/x86/cpu/mcheck/non-fatal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 526864e..8cd6635 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -94,8 +94,8 @@ static int __init init_nonfatal_mce_checker(void)
 	if (mce_disabled || !mce_available(c))
 		return -ENODEV;
 
-    if ( __get_cpu_var(poll_bankmask) == NULL )
-        return -EINVAL;
+	if (__get_cpu_var(poll_bankmask) == NULL)
+		return -EINVAL;
 
 	/*
 	 * Check for non-fatal errors every MCE_RATE s
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:33:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmM-0008Pi-08; Sun, 21 Feb 2016 03:33:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmK-0008PO-Mu
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:48 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	68/4D-02992-B1039C65; Sun, 21 Feb 2016 03:33:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456025626!23786602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45883 invoked from network); 21 Feb 2016 03:33:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKo9-0006Y0-Qg
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmI-0000mF-2L
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmI-0000mF-2L@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:46 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/mce: fix misleading
	indentation in init_nonfatal_mce_checker()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a7f6bcbcdeaba036349cc476268426fae094dda0
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 16:47:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:47:21 2016 +0100

    x86/mce: fix misleading indentation in init_nonfatal_mce_checker()
    
    Debian bug 812166[0] reported this build failure due to
    Wmisleading-indentation with gcc-6:
    
    non-fatal.c: In function 'init_nonfatal_mce_checker':
    non-fatal.c:103:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
      switch (c->x86_vendor) {
      ^~~~~~
    
    non-fatal.c:97:5: note: ...this 'if' clause, but it is not
         if ( __get_cpu_var(poll_bankmask) == NULL )
         ^~
    
    I was unable to reproduce (xen builds cleanly for me with "6.0.0 20160117
    (experimental) [trunk revision 232481]") but looking at the code the issue
    above is clearly real.
    
    Correctly reindent the if statement.
    
    This file uses Linux coding style (infact the use of Xen style for
    this line is the root cause of the wanring) so use tabs and while
    there remove the whitespace inside the if as Linux does.
    
    [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812166
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 2e46e3f2539d026594ec1618e7df2c2bc8785b42
    master date: 2016-01-22 16:19:51 +0100
---
 xen/arch/x86/cpu/mcheck/non-fatal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 526864e..8cd6635 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -94,8 +94,8 @@ static int __init init_nonfatal_mce_checker(void)
 	if (mce_disabled || !mce_available(c))
 		return -ENODEV;
 
-    if ( __get_cpu_var(poll_bankmask) == NULL )
-        return -EINVAL;
+	if (__get_cpu_var(poll_bankmask) == NULL)
+		return -EINVAL;
 
 	/*
 	 * Check for non-fatal errors every MCE_RATE s
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmW-0008RX-3G; Sun, 21 Feb 2016 03:34:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmV-0008RM-22
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:59 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	44/0F-02989-62039C65; Sun, 21 Feb 2016 03:33:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456025636!23560091!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64395 invoked from network); 21 Feb 2016 03:33:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoK-0006Y8-6s
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmS-0000n2-Ff
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmS-0000n2-Ff@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:56 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0baa07315c70880613e6c33e915c6941d09b4612
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 17 16:47:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:47:52 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
    master date: 2016-02-02 14:00:52 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0ed2f13..7d47eea 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -345,10 +345,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1260,8 +1263,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1269,13 +1270,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmW-0008RX-3G; Sun, 21 Feb 2016 03:34:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmV-0008RM-22
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:59 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	44/0F-02989-62039C65; Sun, 21 Feb 2016 03:33:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456025636!23560091!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64395 invoked from network); 21 Feb 2016 03:33:57 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:33:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoK-0006Y8-6s
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmS-0000n2-Ff
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:33:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmS-0000n2-Ff@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:33:56 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0baa07315c70880613e6c33e915c6941d09b4612
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 17 16:47:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:47:52 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
    master date: 2016-02-02 14:00:52 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0ed2f13..7d47eea 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -345,10 +345,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1260,8 +1263,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1269,13 +1270,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmh-0008Sz-7N; Sun, 21 Feb 2016 03:34:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmf-0008Sp-Iw
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:09 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	BB/69-28791-13039C65; Sun, 21 Feb 2016 03:34:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456025647!24491768!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12219 invoked from network); 21 Feb 2016 03:34:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoU-0006Yi-ML
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmc-0000oL-US
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmc-0000oL-US@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:06 +0000
Subject: [Xen-changelog] [xen stable-4.5] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3fa5fb56a96253f4fe1efdce235bb783001138ea
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:48:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:48:16 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
    master date: 2016-02-02 14:03:06 +0100
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 2a3a67d..0e61a0e 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1080,6 +1080,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1091,8 +1092,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmh-0008Sz-7N; Sun, 21 Feb 2016 03:34:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmf-0008Sp-Iw
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:09 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	BB/69-28791-13039C65; Sun, 21 Feb 2016 03:34:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456025647!24491768!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12219 invoked from network); 21 Feb 2016 03:34:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoU-0006Yi-ML
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmc-0000oL-US
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmc-0000oL-US@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:06 +0000
Subject: [Xen-changelog] [xen stable-4.5] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3fa5fb56a96253f4fe1efdce235bb783001138ea
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:48:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:48:16 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
    master date: 2016-02-02 14:03:06 +0100
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 2a3a67d..0e61a0e 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1080,6 +1080,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1091,8 +1092,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmr-0008UK-Ae; Sun, 21 Feb 2016 03:34:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmq-0008U8-3a
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:20 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	74/3F-03651-B3039C65; Sun, 21 Feb 2016 03:34:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456025657!23987418!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42601 invoked from network); 21 Feb 2016 03:34:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKof-0006Yq-1f
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmn-0000p2-9l
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmn-0000p2-9l@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:17 +0000
Subject: [Xen-changelog] [xen stable-4.5] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 836dc18a378464e3e89a6b6e01c4a24a21f0316b
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:48:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:48:37 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
    master date: 2016-02-02 14:03:40 +0100
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 0e61a0e..54fd830 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1071,6 +1071,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKmr-0008UK-Ae; Sun, 21 Feb 2016 03:34:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmq-0008U8-3a
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:20 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	74/3F-03651-B3039C65; Sun, 21 Feb 2016 03:34:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456025657!23987418!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42601 invoked from network); 21 Feb 2016 03:34:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKof-0006Yq-1f
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmn-0000p2-9l
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmn-0000p2-9l@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:17 +0000
Subject: [Xen-changelog] [xen stable-4.5] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 836dc18a378464e3e89a6b6e01c4a24a21f0316b
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:48:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:48:37 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
    master date: 2016-02-02 14:03:40 +0100
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 0e61a0e..54fd830 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1071,6 +1071,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKn2-000051-FV; Sun, 21 Feb 2016 03:34:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKn0-0008Ve-FG
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:30 +0000
Content-Length: 2573
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	A8/BC-23366-54039C65; Sun, 21 Feb 2016 03:34:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456025667!25443400!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41203 invoked from network); 21 Feb 2016 03:34:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKop-0006Yy-BD
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmx-0000pj-Lc
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmx-0000pj-Lc@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:27 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5203725072949032725=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============5203725072949032725==
Content-Length: 2169
Content-Transfer-Encoding: quoted-printable

commit 1d69621a48ed2cc429b04cada2cc59244c4a50c6
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:49:18 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:49:18 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    master commit: 86c59615f4e7f38df24182f20d9dbdec3299c514
    master date: 2016-02-09 13:22:13 +0100
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 1843c67..0c80012 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -640,7 +640,8 @@ static int hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5


--===============5203725072949032725==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============5203725072949032725==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKn2-000051-FV; Sun, 21 Feb 2016 03:34:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKn0-0008Ve-FG
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:30 +0000
Content-Length: 2573
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	A8/BC-23366-54039C65; Sun, 21 Feb 2016 03:34:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456025667!25443400!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41203 invoked from network); 21 Feb 2016 03:34:28 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKop-0006Yy-BD
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKmx-0000pj-Lc
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKmx-0000pj-Lc@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:27 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============5203725072949032725=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============5203725072949032725==
Content-Length: 2169
Content-Transfer-Encoding: quoted-printable

commit 1d69621a48ed2cc429b04cada2cc59244c4a50c6
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:49:18 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:49:18 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    master commit: 86c59615f4e7f38df24182f20d9dbdec3299c514
    master date: 2016-02-09 13:22:13 +0100
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 1843c67..0c80012 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -640,7 +640,8 @@ static int hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5


--===============5203725072949032725==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============5203725072949032725==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnC-00006c-KB; Sun, 21 Feb 2016 03:34:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnA-00006F-IC
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:40 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	5C/76-03800-F4039C65; Sun, 21 Feb 2016 03:34:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456025678!23844053!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51902 invoked from network); 21 Feb 2016 03:34:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoz-0006Z6-Oj
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKn8-0000r2-0o
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKn8-0000r2-0o@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:38 +0000
Subject: [Xen-changelog] [xen stable-4.5] hvmloader: fix scratch_alloc to
	avoid overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 820311c63d1dd713b7a50d31e92c5424fd791015
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 17 16:49:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:49:49 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
    master date: 2016-02-10 14:46:45 +0100
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 80d822f..323c78a 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -450,7 +450,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnC-00006c-KB; Sun, 21 Feb 2016 03:34:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnA-00006F-IC
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:40 +0000
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	5C/76-03800-F4039C65; Sun, 21 Feb 2016 03:34:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456025678!23844053!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51902 invoked from network); 21 Feb 2016 03:34:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKoz-0006Z6-Oj
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKn8-0000r2-0o
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKn8-0000r2-0o@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:38 +0000
Subject: [Xen-changelog] [xen stable-4.5] hvmloader: fix scratch_alloc to
	avoid overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 820311c63d1dd713b7a50d31e92c5424fd791015
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 17 16:49:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:49:49 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
    master date: 2016-02-10 14:46:45 +0100
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 80d822f..323c78a 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -450,7 +450,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnL-00008I-Ou; Sun, 21 Feb 2016 03:34:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnL-000083-24
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	40/DE-28228-A5039C65; Sun, 21 Feb 2016 03:34:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456025688!16816449!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55936 invoked from network); 21 Feb 2016 03:34:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKpA-0006a2-3f
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnI-0000rl-EU
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKnI-0000rl-EU@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:48 +0000
Subject: [Xen-changelog] [xen stable-4.5] xen/arm64: Make sure we get all
	debug output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d4e0fcbed633b40ff4c313f72239c6b91bc1ba31
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 18 15:25:43 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:25:43 2016 +0100

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
    master commit: c31d34082555566eb27d0d1eb42962f72fa886d3
    master date: 2016-02-18 10:13:42 +0000
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 75b7ee1..c63f4d2 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:34:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnL-00008I-Ou; Sun, 21 Feb 2016 03:34:51 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnL-000083-24
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	40/DE-28228-A5039C65; Sun, 21 Feb 2016 03:34:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456025688!16816449!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55936 invoked from network); 21 Feb 2016 03:34:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:34:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKpA-0006a2-3f
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnI-0000rl-EU
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKnI-0000rl-EU@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:48 +0000
Subject: [Xen-changelog] [xen stable-4.5] xen/arm64: Make sure we get all
	debug output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d4e0fcbed633b40ff4c313f72239c6b91bc1ba31
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 18 15:25:43 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:25:43 2016 +0100

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
    master commit: c31d34082555566eb27d0d1eb42962f72fa886d3
    master date: 2016-02-18 10:13:42 +0000
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 75b7ee1..c63f4d2 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:35:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnX-0000AH-0I; Sun, 21 Feb 2016 03:35:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnV-0000A6-Ff
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:01 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	69/B4-03294-46039C65; Sun, 21 Feb 2016 03:35:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456025699!23859379!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57255 invoked from network); 21 Feb 2016 03:35:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:35:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKpK-0006aC-EA
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnS-0000st-OE
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKnS-0000st-OE@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:58 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe71162ab965d4a3344bb867f88e967806c80af5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:26:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:26:16 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a25d792..3b52270 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -820,9 +820,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 03:35:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 03:35:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXKnX-0000AH-0I; Sun, 21 Feb 2016 03:35:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnV-0000A6-Ff
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:35:01 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	69/B4-03294-46039C65; Sun, 21 Feb 2016 03:35:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456025699!23859379!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57255 invoked from network); 21 Feb 2016 03:35:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 03:35:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKpK-0006aC-EA
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:36:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXKnS-0000st-OE
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 03:34:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXKnS-0000st-OE@xenbits.xen.org>
Date: Sun, 21 Feb 2016 03:34:58 +0000
Subject: [Xen-changelog] [xen stable-4.5] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe71162ab965d4a3344bb867f88e967806c80af5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:26:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:26:16 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a25d792..3b52270 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -820,9 +820,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSqy-0007px-Oj; Sun, 21 Feb 2016 12:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSqx-0007ps-D8
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:07 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	90/2E-02978-A59A9C65; Sun, 21 Feb 2016 12:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456056664!23863907!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11523 invoked from network); 21 Feb 2016 12:11:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSsm-0001Ka-Pz
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSqu-00023A-4R
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSqu-00023A-4R@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:04 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ff87c9a0ce27008f3bce99a343e1cdb2dbb9cb8a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:51:44 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:51:44 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             |  6 ++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 108 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 74999e3..fdcfd7c 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -697,6 +697,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index e13647c..ad11483 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -693,8 +693,12 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
 
     if ( hvm_get_mem_pinned_cacheattr(d, gfn, &type) )
         return type;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9f96be8..e6ac37e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -188,6 +188,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -773,6 +785,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -805,13 +819,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1210,8 +1252,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1706,8 +1749,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1730,8 +1774,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -4919,6 +4964,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -4966,7 +5012,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -4990,8 +5036,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index b71bc9d..7957f2e 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -93,6 +93,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 3d35537..0f499bf 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1201,22 +1209,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 91e9e92..dca0504 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSqy-0007px-Oj; Sun, 21 Feb 2016 12:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSqx-0007ps-D8
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:07 +0000
Received: from [85.158.139.211] by server-10.bemta-5.messagelabs.com id
	90/2E-02978-A59A9C65; Sun, 21 Feb 2016 12:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456056664!23863907!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11523 invoked from network); 21 Feb 2016 12:11:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSsm-0001Ka-Pz
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSqu-00023A-4R
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSqu-00023A-4R@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:04 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ff87c9a0ce27008f3bce99a343e1cdb2dbb9cb8a
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:51:44 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:51:44 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |  9 +++++
 xen/arch/x86/hvm/mtrr.c             |  6 ++-
 xen/arch/x86/mm.c                   | 79 +++++++++++++++++++++++++++++--------
 xen/arch/x86/mm/p2m-pt.c            |  2 +
 xen/arch/x86/mm/shadow/multi.c      | 32 ++++++++++-----
 xen/arch/x86/mm/shadow/types.h      |  3 ++
 xen/include/asm-x86/page.h          |  3 ++
 7 files changed, 108 insertions(+), 26 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 74999e3..fdcfd7c 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -697,6 +697,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index e13647c..ad11483 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -693,8 +693,12 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
 
     if ( hvm_get_mem_pinned_cacheattr(d, gfn, &type) )
         return type;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9f96be8..e6ac37e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -188,6 +188,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -773,6 +785,8 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
+        int flip = 0;
+
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
             put_page(page);
@@ -805,13 +819,41 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
-        dprintk(XENLOG_G_WARNING,
-                "d%d: Forcing read-only access to MFN %lx\n",
-                l1e_owner->domain_id, mfn);
-        return 1;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
+            dprintk(XENLOG_G_WARNING,
+                    "d%d: Forcing read-only access to MFN %lx\n",
+                    l1e_owner->domain_id, mfn);
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1210,8 +1252,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1706,8 +1749,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1730,8 +1774,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -4919,6 +4964,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -4966,7 +5012,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -4990,8 +5036,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index b71bc9d..7957f2e 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -93,6 +93,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 3d35537..0f499bf 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -521,6 +521,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -561,7 +562,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d) 
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -579,7 +583,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
     
     // protect guest page tables
     //
@@ -1201,22 +1209,28 @@ static int shadow_set_l1e(struct vcpu *v,
          && !sh_l1e_is_magic(new_sl1e) ) 
     {
         /* About to install a new reference */        
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     } 
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 953d168..83d08e0 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -100,6 +100,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void) 
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 91e9e92..dca0504 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSr8-0007qd-TL; Sun, 21 Feb 2016 12:11:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSr7-0007qT-Ar
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:17 +0000
Content-Length: 4452
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	EC/ED-23366-469A9C65; Sun, 21 Feb 2016 12:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456056674!23495669!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30213 invoked from network); 21 Feb 2016 12:11:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSsx-0001L7-6S
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSr4-00024A-JX
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSr4-00024A-JX@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:14 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1565888873863110346=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1565888873863110346==
Content-Length: 4094
Content-Transfer-Encoding: quoted-printable

commit 46b8f780d307b37c38c5a104972c3595724395c5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:52:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:52:25 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index f35119b..b528f5a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2551,7 +2551,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3086,6 +3086,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4


--===============1565888873863110346==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1565888873863110346==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSr8-0007qd-TL; Sun, 21 Feb 2016 12:11:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSr7-0007qT-Ar
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:17 +0000
Content-Length: 4452
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	EC/ED-23366-469A9C65; Sun, 21 Feb 2016 12:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456056674!23495669!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30213 invoked from network); 21 Feb 2016 12:11:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSsx-0001L7-6S
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSr4-00024A-JX
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSr4-00024A-JX@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:14 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1565888873863110346=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1565888873863110346==
Content-Length: 4094
Content-Transfer-Encoding: quoted-printable

commit 46b8f780d307b37c38c5a104972c3595724395c5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:52:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:52:25 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index f35119b..b528f5a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2551,7 +2551,7 @@ void vmx_handle_EOI_induced_exit(struct vlapic *vlapic, int vector)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3086,6 +3086,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gdprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4


--===============1565888873863110346==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1565888873863110346==--

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSrJ-0007rk-0m; Sun, 21 Feb 2016 12:11:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSrH-0007ra-OS
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:27 +0000
Received: from [85.158.137.68] by server-11.bemta-3.messagelabs.com id
	79/02-02978-E69A9C65; Sun, 21 Feb 2016 12:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456056685!16408577!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1288 invoked from network); 21 Feb 2016 12:11:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSt7-0001LJ-Js
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSrF-000256-0F
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSrF-000256-0F@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:25 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 02426e9202336bb666464d84f0537874689b30fc
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:28:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:28:25 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index e6ac37e..1ef7b34 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -827,9 +827,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sun Feb 21 12:11:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Feb 2016 12:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXSrJ-0007rk-0m; Sun, 21 Feb 2016 12:11:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSrH-0007ra-OS
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:27 +0000
Received: from [85.158.137.68] by server-11.bemta-3.messagelabs.com id
	79/02-02978-E69A9C65; Sun, 21 Feb 2016 12:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456056685!16408577!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1288 invoked from network); 21 Feb 2016 12:11:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Feb 2016 12:11:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSt7-0001LJ-Js
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:13:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aXSrF-000256-0F
	for xen-changelog@lists.xensource.com; Sun, 21 Feb 2016 12:11:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXSrF-000256-0F@xenbits.xen.org>
Date: Sun, 21 Feb 2016 12:11:25 +0000
Subject: [Xen-changelog] [xen stable-4.4] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 02426e9202336bb666464d84f0537874689b30fc
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:28:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:28:25 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index e6ac37e..1ef7b34 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -827,9 +827,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.4

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXv-0007oG-QL; Mon, 22 Feb 2016 14:33:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXu-0007mj-PL
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:06 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	F9/C4-28791-22C1BC65; Mon, 22 Feb 2016 14:33:06 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456151584!23764274!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46532 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0000Xy-B8
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0001Iu-5W
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Date: Mon, 22 Feb 2016 14:33:03 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXs-0001Iu-5W@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] pciback: check PF instead of VF
	for PCI_COMMAND_MEMORY
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
# Date 1456150985 -3600
#      Mon Feb 22 15:23:05 2016 +0100
# Node ID c00c8be428cdccdd82de9a3adb8a5510d56c1270
# Parent  c13c5210b623867c1ac88b14183a051152b1febd
pciback: check PF instead of VF for PCI_COMMAND_MEMORY

c/s 408fb0e5aa7fda0059db282ff58c3b2a4278baa0
"xen/pciback: Don't allow MSI-X ops if PCI_COMMAND_MEMORY is not set."
would check the device for PCI_COMMAND_MEMORY which is great.
Except that VF devices are unique - for example they have no
legacy interrupts, and also any writes to PCI_COMMAND_MEMORY
are silently ignored (by the hardware).

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
---


diff -r c13c5210b623 -r c00c8be428cd drivers/xen/pciback/conf_space_capability_msi.c
--- a/drivers/xen/pciback/conf_space_capability_msi.c	Mon Feb 22 15:17:24 2016 +0100
+++ b/drivers/xen/pciback/conf_space_capability_msi.c	Mon Feb 22 15:23:05 2016 +0100
@@ -48,6 +48,7 @@ int pciback_enable_msix(struct pciback_d
 	int i, result;
 	struct msix_entry *entries;
 	u16 cmd;
+	struct pci_dev *phys_dev = dev;
 
 	if (op->value > SH_INFO_MAX_VEC)
 		return -EINVAL;
@@ -58,8 +59,12 @@ int pciback_enable_msix(struct pciback_d
 	/*
 	 * PCI_COMMAND_MEMORY must be enabled, otherwise we may not be able
 	 * to access the BARs where the MSI-X entries reside.
+	 * But VF devices are unique in which the PF needs to be checked.
 	 */
-	pci_read_config_word(dev, PCI_COMMAND, &cmd);
+#ifdef CONFIG_PCI_IOV
+	phys_dev = dev->is_physfn ? dev : dev->physfn;
+#endif
+	pci_read_config_word(phys_dev, PCI_COMMAND, &cmd);
 	if (dev->msi_enabled || !(cmd & PCI_COMMAND_MEMORY))
 		return -ENXIO;
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXv-0007oG-QL; Mon, 22 Feb 2016 14:33:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXu-0007mj-PL
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:06 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	F9/C4-28791-22C1BC65; Mon, 22 Feb 2016 14:33:06 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456151584!23764274!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46532 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0000Xy-B8
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0001Iu-5W
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Date: Mon, 22 Feb 2016 14:33:03 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXs-0001Iu-5W@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] pciback: check PF instead of VF
	for PCI_COMMAND_MEMORY
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
# Date 1456150985 -3600
#      Mon Feb 22 15:23:05 2016 +0100
# Node ID c00c8be428cdccdd82de9a3adb8a5510d56c1270
# Parent  c13c5210b623867c1ac88b14183a051152b1febd
pciback: check PF instead of VF for PCI_COMMAND_MEMORY

c/s 408fb0e5aa7fda0059db282ff58c3b2a4278baa0
"xen/pciback: Don't allow MSI-X ops if PCI_COMMAND_MEMORY is not set."
would check the device for PCI_COMMAND_MEMORY which is great.
Except that VF devices are unique - for example they have no
legacy interrupts, and also any writes to PCI_COMMAND_MEMORY
are silently ignored (by the hardware).

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
---


diff -r c13c5210b623 -r c00c8be428cd drivers/xen/pciback/conf_space_capability_msi.c
--- a/drivers/xen/pciback/conf_space_capability_msi.c	Mon Feb 22 15:17:24 2016 +0100
+++ b/drivers/xen/pciback/conf_space_capability_msi.c	Mon Feb 22 15:23:05 2016 +0100
@@ -48,6 +48,7 @@ int pciback_enable_msix(struct pciback_d
 	int i, result;
 	struct msix_entry *entries;
 	u16 cmd;
+	struct pci_dev *phys_dev = dev;
 
 	if (op->value > SH_INFO_MAX_VEC)
 		return -EINVAL;
@@ -58,8 +59,12 @@ int pciback_enable_msix(struct pciback_d
 	/*
 	 * PCI_COMMAND_MEMORY must be enabled, otherwise we may not be able
 	 * to access the BARs where the MSI-X entries reside.
+	 * But VF devices are unique in which the PF needs to be checked.
 	 */
-	pci_read_config_word(dev, PCI_COMMAND, &cmd);
+#ifdef CONFIG_PCI_IOV
+	phys_dev = dev->is_physfn ? dev : dev->physfn;
+#endif
+	pci_read_config_word(phys_dev, PCI_COMMAND, &cmd);
 	if (dev->msi_enabled || !(cmd & PCI_COMMAND_MEMORY))
 		return -ENXIO;
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXw-0007pQ-Tq; Mon, 22 Feb 2016 14:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXv-0007ml-0H
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:07 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	A5/FC-04039-22C1BC65; Mon, 22 Feb 2016 14:33:06 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456151584!24158294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57950 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0000Y2-Jy
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0001JJ-IM
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Date: Mon, 22 Feb 2016 14:33:04 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXs-0001JJ-IM@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] pciback: Save the number of
	MSI-X entries to be copied later
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
# Date 1456151136 -3600
#      Mon Feb 22 15:25:36 2016 +0100
# Node ID d018557a9a503dcccad5d1a56b3dc3dfc072c73f
# Parent  c00c8be428cdccdd82de9a3adb8a5510d56c1270
pciback: Save the number of MSI-X entries to be copied later

c/s 8135cf8b092723dbfcc611fe6fdcb3a36c9951c5
"xen/pciback: Save xen_pci_op commands before processing it"
would copyback the processed values - which was great.

However it missed the case that xen_pcibk_enable_msix - when
completing would overwrite op->value (which had the number
of MSI-X vectors requested) with the return value (which for
success was zero). Hence the copy-back routine (which would use
op->value) would copy exactly zero MSI-X vectors back.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
---


diff -r c00c8be428cd -r d018557a9a50 drivers/xen/pciback/pciback_ops.c
--- a/drivers/xen/pciback/pciback_ops.c	Mon Feb 22 15:23:05 2016 +0100
+++ b/drivers/xen/pciback/pciback_ops.c	Mon Feb 22 15:25:36 2016 +0100
@@ -80,6 +80,9 @@ void pciback_do_op(void *data)
 	struct pciback_device *pdev = data;
 	struct pci_dev *dev;
 	struct xen_pci_op *op = &pdev->op;
+#ifdef CONFIG_PCI_MSI
+	unsigned int nr = 0;
+#endif
 
 	*op = pdev->sh_info->op;
 	barrier();
@@ -107,6 +110,7 @@ void pciback_do_op(void *data)
 				op->err = pciback_disable_msi(pdev, dev, op);
 				break;
 			case XEN_PCI_OP_enable_msix:
+				nr = op->value;
 				op->err = pciback_enable_msix(pdev, dev, op);
 				break;
 			case XEN_PCI_OP_disable_msix:
@@ -124,7 +128,7 @@ void pciback_do_op(void *data)
 	if (op->cmd == XEN_PCI_OP_enable_msix && op->err == 0) {
 		unsigned int i;
 
-		for (i = 0; i < op->value; i++)
+		for (i = 0; i < nr; i++)
 			pdev->sh_info->op.msix_entries[i].vector =
 				op->msix_entries[i].vector;
 	}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:08 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXw-0007pQ-Tq; Mon, 22 Feb 2016 14:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXv-0007ml-0H
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:07 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	A5/FC-04039-22C1BC65; Mon, 22 Feb 2016 14:33:06 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456151584!24158294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57950 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0000Y2-Jy
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXs-0001JJ-IM
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:04 +0000
Date: Mon, 22 Feb 2016 14:33:04 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXs-0001JJ-IM@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] pciback: Save the number of
	MSI-X entries to be copied later
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
# Date 1456151136 -3600
#      Mon Feb 22 15:25:36 2016 +0100
# Node ID d018557a9a503dcccad5d1a56b3dc3dfc072c73f
# Parent  c00c8be428cdccdd82de9a3adb8a5510d56c1270
pciback: Save the number of MSI-X entries to be copied later

c/s 8135cf8b092723dbfcc611fe6fdcb3a36c9951c5
"xen/pciback: Save xen_pci_op commands before processing it"
would copyback the processed values - which was great.

However it missed the case that xen_pcibk_enable_msix - when
completing would overwrite op->value (which had the number
of MSI-X vectors requested) with the return value (which for
success was zero). Hence the copy-back routine (which would use
op->value) would copy exactly zero MSI-X vectors back.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
---


diff -r c00c8be428cd -r d018557a9a50 drivers/xen/pciback/pciback_ops.c
--- a/drivers/xen/pciback/pciback_ops.c	Mon Feb 22 15:23:05 2016 +0100
+++ b/drivers/xen/pciback/pciback_ops.c	Mon Feb 22 15:25:36 2016 +0100
@@ -80,6 +80,9 @@ void pciback_do_op(void *data)
 	struct pciback_device *pdev = data;
 	struct pci_dev *dev;
 	struct xen_pci_op *op = &pdev->op;
+#ifdef CONFIG_PCI_MSI
+	unsigned int nr = 0;
+#endif
 
 	*op = pdev->sh_info->op;
 	barrier();
@@ -107,6 +110,7 @@ void pciback_do_op(void *data)
 				op->err = pciback_disable_msi(pdev, dev, op);
 				break;
 			case XEN_PCI_OP_enable_msix:
+				nr = op->value;
 				op->err = pciback_enable_msix(pdev, dev, op);
 				break;
 			case XEN_PCI_OP_disable_msix:
@@ -124,7 +128,7 @@ void pciback_do_op(void *data)
 	if (op->cmd == XEN_PCI_OP_enable_msix && op->err == 0) {
 		unsigned int i;
 
-		for (i = 0; i < op->value; i++)
+		for (i = 0; i < nr; i++)
 			pdev->sh_info->op.msix_entries[i].vector =
 				op->msix_entries[i].vector;
 	}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXz-0007rD-0b; Mon, 22 Feb 2016 14:33:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXx-0007qh-TF
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:10 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	72/49-09834-52C1BC65; Mon, 22 Feb 2016 14:33:09 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456151584!25657697!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18706 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXr-0000Xu-Sl
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXr-0001IJ-PI
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:03 +0000
Date: Mon, 22 Feb 2016 14:33:03 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXr-0001IJ-PI@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] ix86: don't subvert setting NX
	during 1:1 mapping setup
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Jan Beulich <jbeulich@suse.com>
# Date 1456150644 -3600
#      Mon Feb 22 15:17:24 2016 +0100
# Node ID c13c5210b623867c1ac88b14183a051152b1febd
# Parent  a2856e4ff93b7a8e70c1b2334375ac76d29e01d8
ix86: don't subvert setting NX during 1:1 mapping setup

Since the hypervisor or tool stack don't set that flag upon domain
creation, we shouldn't blindly skip present page table entries.
Instead, if NX is supported/enabled, we need to re-write them with
the flag set.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---


diff -r a2856e4ff93b -r c13c5210b623 arch/i386/mm/init-xen.c
--- a/arch/i386/mm/init-xen.c	Thu Dec 17 15:42:36 2015 +0100
+++ b/arch/i386/mm/init-xen.c	Mon Feb 22 15:17:24 2016 +0100
@@ -204,12 +204,22 @@ static void __init kernel_physical_mappi
 				pte += pte_ofs;
 				for (; pte_ofs < PTRS_PER_PTE && pfn < max_low_pfn; pte++, pfn++, pte_ofs++) {
 						/* XEN: Only map initial RAM allocation. */
-						if ((pfn >= max_ram_pfn) || pte_present(*pte))
+						if (pfn >= max_ram_pfn)
 							continue;
-						if (is_kernel_text(address))
+						if (is_kernel_text(address)) {
+							if (pte_present(*pte))
+								continue;
 							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC));
-						else
-							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL));
+						} else if (pte_present(*pte) &&
+							   !(__supported_pte_mask & _PAGE_NX))
+							continue;
+						else {
+							pgprot_t prot = PAGE_KERNEL;
+
+							if (pte_present(*pte) && !pte_write(*pte))
+								pgprot_val(prot) &= ~_PAGE_RW;
+							set_pte(pte, pfn_pte(pfn, prot));
+						}
 				}
 				pte_ofs = 0;
 			}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Feb 22 14:33:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Feb 2016 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aXrXz-0007rD-0b; Mon, 22 Feb 2016 14:33:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXx-0007qh-TF
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:10 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
	72/49-09834-52C1BC65; Mon, 22 Feb 2016 14:33:09 +0000
X-Env-Sender: xen@xenbits.xen.org
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456151584!25657697!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18706 invoked from network); 22 Feb 2016 14:33:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXr-0000Xu-Sl
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <xen@xenbits.xen.org>) id 1aXrXr-0001IJ-PI
	for xen-changelog@lists.xensource.com; Mon, 22 Feb 2016 14:33:03 +0000
Date: Mon, 22 Feb 2016 14:33:03 +0000
From: Xen patchbot-linux-2.6.18-xen <patchbot@xen.org>
To: xen-changelog@lists.xensource.com
Message-Id: <E1aXrXr-0001IJ-PI@xenbits.xen.org>
Subject: [Xen-changelog] [linux-2.6.18-xen] ix86: don't subvert setting NX
	during 1:1 mapping setup
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

# HG changeset patch
# User Jan Beulich <jbeulich@suse.com>
# Date 1456150644 -3600
#      Mon Feb 22 15:17:24 2016 +0100
# Node ID c13c5210b623867c1ac88b14183a051152b1febd
# Parent  a2856e4ff93b7a8e70c1b2334375ac76d29e01d8
ix86: don't subvert setting NX during 1:1 mapping setup

Since the hypervisor or tool stack don't set that flag upon domain
creation, we shouldn't blindly skip present page table entries.
Instead, if NX is supported/enabled, we need to re-write them with
the flag set.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---


diff -r a2856e4ff93b -r c13c5210b623 arch/i386/mm/init-xen.c
--- a/arch/i386/mm/init-xen.c	Thu Dec 17 15:42:36 2015 +0100
+++ b/arch/i386/mm/init-xen.c	Mon Feb 22 15:17:24 2016 +0100
@@ -204,12 +204,22 @@ static void __init kernel_physical_mappi
 				pte += pte_ofs;
 				for (; pte_ofs < PTRS_PER_PTE && pfn < max_low_pfn; pte++, pfn++, pte_ofs++) {
 						/* XEN: Only map initial RAM allocation. */
-						if ((pfn >= max_ram_pfn) || pte_present(*pte))
+						if (pfn >= max_ram_pfn)
 							continue;
-						if (is_kernel_text(address))
+						if (is_kernel_text(address)) {
+							if (pte_present(*pte))
+								continue;
 							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC));
-						else
-							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL));
+						} else if (pte_present(*pte) &&
+							   !(__supported_pte_mask & _PAGE_NX))
+							continue;
+						else {
+							pgprot_t prot = PAGE_KERNEL;
+
+							if (pte_present(*pte) && !pte_write(*pte))
+								pgprot_val(prot) &= ~_PAGE_RW;
+							set_pte(pte, pfn_pte(pfn, prot));
+						}
 				}
 				pte_ofs = 0;
 			}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8kQ-00072d-4M; Tue, 23 Feb 2016 08:55:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kO-00072P-Fr
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:08 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	EE/9B-02994-66E1CC65; Tue, 23 Feb 2016 08:55:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456217706!24339831!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24323 invoked from network); 23 Feb 2016 08:55:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kL-0007Ut-Sv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kL-0002b8-Oe
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kL-0002b8-Oe@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:05 +0000
Subject: [Xen-changelog] [xen master] stubdom: fix link farm runes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4eaf10b79d43e019c2036dc11c04061b78166999
Author:     Wei Liu <wei.liu2@citrix.com>
AuthorDate: Tue Feb 16 12:28:27 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:36:04 2016 +0000

    stubdom: fix link farm runes
    
    Previously in the three problematic libraries all public headers were
    linked to source code directory. We should have created an include
    directory for each library and linked public headers there.
    
    Note that there was no breakage for those three libraries before this
    patch. This patch merely changes the location headers are linked to so
    that all libraries follow the same pattern.
    
    Signed-off-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 stubdom/Makefile | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 6f68e98..2044d76 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -314,9 +314,9 @@ mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	  ln -sf $(wildcard $(XEN_ROOT)/tools/include/xen-foreign/*) include/xen-foreign/ && \
 	  $(MAKE) DESTDIR= -C include/xen-foreign/ && \
 	  ( [ -h include/xen/foreign ] || ln -sf ../xen-foreign include/xen/foreign )
-	mkdir -p libs-$(XEN_TARGET_ARCH)/toollog
+	mkdir -p libs-$(XEN_TARGET_ARCH)/toollog/include
 	[ -h libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || ( cd libs-$(XEN_TARGET_ARCH)/toollog && \
-	  ln -sf $(XEN_ROOT)/tools/libs/toollog/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/libs/toollog/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libs/toollog/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libs/toollog/Makefile . )
 	mkdir -p libs-$(XEN_TARGET_ARCH)/evtchn/include
@@ -343,17 +343,17 @@ mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/Makefile . )
-	mkdir -p libxc-$(XEN_TARGET_ARCH)
+	mkdir -p libxc-$(XEN_TARGET_ARCH)/include
 	[ -h libxc-$(XEN_TARGET_ARCH)/Makefile ] || ( cd libxc-$(XEN_TARGET_ARCH) && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/*.h . && \
-	  ln -sf $(XEN_ROOT)/tools/libxc/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/libxc/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/Makefile . )
-	mkdir -p xenstore
+	mkdir -p xenstore/include
 	[ -h xenstore/Makefile ] || ( cd xenstore && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/*.h . && \
-	  ln -sf $(XEN_ROOT)/tools/xenstore/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/xenstore/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/Makefile . )
 	$(MAKE) DESTDIR= -C $(MINI_OS) links
 	touch mk-headers-$(XEN_TARGET_ARCH)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8kQ-00072d-4M; Tue, 23 Feb 2016 08:55:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kO-00072P-Fr
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:08 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	EE/9B-02994-66E1CC65; Tue, 23 Feb 2016 08:55:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456217706!24339831!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24323 invoked from network); 23 Feb 2016 08:55:07 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kL-0007Ut-Sv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kL-0002b8-Oe
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kL-0002b8-Oe@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:05 +0000
Subject: [Xen-changelog] [xen master] stubdom: fix link farm runes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4eaf10b79d43e019c2036dc11c04061b78166999
Author:     Wei Liu <wei.liu2@citrix.com>
AuthorDate: Tue Feb 16 12:28:27 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:36:04 2016 +0000

    stubdom: fix link farm runes
    
    Previously in the three problematic libraries all public headers were
    linked to source code directory. We should have created an include
    directory for each library and linked public headers there.
    
    Note that there was no breakage for those three libraries before this
    patch. This patch merely changes the location headers are linked to so
    that all libraries follow the same pattern.
    
    Signed-off-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 stubdom/Makefile | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 6f68e98..2044d76 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -314,9 +314,9 @@ mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	  ln -sf $(wildcard $(XEN_ROOT)/tools/include/xen-foreign/*) include/xen-foreign/ && \
 	  $(MAKE) DESTDIR= -C include/xen-foreign/ && \
 	  ( [ -h include/xen/foreign ] || ln -sf ../xen-foreign include/xen/foreign )
-	mkdir -p libs-$(XEN_TARGET_ARCH)/toollog
+	mkdir -p libs-$(XEN_TARGET_ARCH)/toollog/include
 	[ -h libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || ( cd libs-$(XEN_TARGET_ARCH)/toollog && \
-	  ln -sf $(XEN_ROOT)/tools/libs/toollog/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/libs/toollog/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libs/toollog/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libs/toollog/Makefile . )
 	mkdir -p libs-$(XEN_TARGET_ARCH)/evtchn/include
@@ -343,17 +343,17 @@ mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libs/foreignmemory/Makefile . )
-	mkdir -p libxc-$(XEN_TARGET_ARCH)
+	mkdir -p libxc-$(XEN_TARGET_ARCH)/include
 	[ -h libxc-$(XEN_TARGET_ARCH)/Makefile ] || ( cd libxc-$(XEN_TARGET_ARCH) && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/*.h . && \
-	  ln -sf $(XEN_ROOT)/tools/libxc/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/libxc/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/libxc/Makefile . )
-	mkdir -p xenstore
+	mkdir -p xenstore/include
 	[ -h xenstore/Makefile ] || ( cd xenstore && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/*.c . && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/*.h . && \
-	  ln -sf $(XEN_ROOT)/tools/xenstore/include/*.h . && \
+	  ln -sf $(XEN_ROOT)/tools/xenstore/include/*.h include/ && \
 	  ln -sf $(XEN_ROOT)/tools/xenstore/Makefile . )
 	$(MAKE) DESTDIR= -C $(MINI_OS) links
 	touch mk-headers-$(XEN_TARGET_ARCH)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ka-00074A-8P; Tue, 23 Feb 2016 08:55:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kY-00073s-SZ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:18 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	93/08-03511-67E1CC65; Tue, 23 Feb 2016 08:55:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217716!15884104!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65457 invoked from network); 23 Feb 2016 08:55:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kW-0007V1-AA
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kW-0002g2-4e
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kW-0002g2-4e@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:16 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: free devpath on failure
	in libxl__blktap_devpath
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 382c72d83ad032e985bfcaa2dbb6bf78859b380e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:09:43 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:37:11 2016 +0000

    tools: libxl: free devpath on failure in libxl__blktap_devpath
    
    The underlying code paths in tap_ctl_create attempt to handle both
    *devpath == NULL (by allocating) and *devpath != NULL (caller provided
    name) and if they allocate tend to write the return immediately before
    doing other potentially error generating tasks. All of which makes
    handling this at a lower level rather more complicated than handling
    it in the error path of libxl__blktap_devpath.
    
    Note that libxl__blktap_devpath initialises devpath to NULL and if the
    earlier GCSPRINTF succeeds then the value is returned earlier.
    Therefore if we make it to the call to tap_ctl_create then devpath is
    still NULL on entry, therefore on the error path devpath is either
    still NULL or has been set to a freshly allocated value by
    tap_ctl_create. Since free(NULL) is fine it is sufficient to just
    free(devpath).
    
    I also considered adding a non-NULL devnull to the gc, even on
    failure, but that would have required a comment to explain the
    apparently strange behaviour.
    
    Compile tested only.
    
    CID: 1215177
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_blktap2.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c
index 4f5e522..5c9a0a2 100644
--- a/tools/libxl/libxl_blktap2.c
+++ b/tools/libxl/libxl_blktap2.c
@@ -47,6 +47,7 @@ char *libxl__blktap_devpath(libxl__gc *gc,
         return devname;
     }
 
+    free(devname);
     return NULL;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:20 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ka-00074A-8P; Tue, 23 Feb 2016 08:55:20 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kY-00073s-SZ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:18 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	93/08-03511-67E1CC65; Tue, 23 Feb 2016 08:55:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217716!15884104!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 65457 invoked from network); 23 Feb 2016 08:55:17 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kW-0007V1-AA
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kW-0002g2-4e
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kW-0002g2-4e@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:16 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: free devpath on failure
	in libxl__blktap_devpath
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 382c72d83ad032e985bfcaa2dbb6bf78859b380e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:09:43 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:37:11 2016 +0000

    tools: libxl: free devpath on failure in libxl__blktap_devpath
    
    The underlying code paths in tap_ctl_create attempt to handle both
    *devpath == NULL (by allocating) and *devpath != NULL (caller provided
    name) and if they allocate tend to write the return immediately before
    doing other potentially error generating tasks. All of which makes
    handling this at a lower level rather more complicated than handling
    it in the error path of libxl__blktap_devpath.
    
    Note that libxl__blktap_devpath initialises devpath to NULL and if the
    earlier GCSPRINTF succeeds then the value is returned earlier.
    Therefore if we make it to the call to tap_ctl_create then devpath is
    still NULL on entry, therefore on the error path devpath is either
    still NULL or has been set to a freshly allocated value by
    tap_ctl_create. Since free(NULL) is fine it is sufficient to just
    free(devpath).
    
    I also considered adding a non-NULL devnull to the gc, even on
    failure, but that would have required a comment to explain the
    apparently strange behaviour.
    
    Compile tested only.
    
    CID: 1215177
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_blktap2.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c
index 4f5e522..5c9a0a2 100644
--- a/tools/libxl/libxl_blktap2.c
+++ b/tools/libxl/libxl_blktap2.c
@@ -47,6 +47,7 @@ char *libxl__blktap_devpath(libxl__gc *gc,
         return devname;
     }
 
+    free(devname);
     return NULL;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8kk-000764-Cc; Tue, 23 Feb 2016 08:55:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kj-00075m-3Z
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:29 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	A5/9E-03306-08E1CC65; Tue, 23 Feb 2016 08:55:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1456217726!16834831!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51893 invoked from network); 23 Feb 2016 08:55:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kg-0007Vk-Lx
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kg-0002jR-JQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kg-0002jR-JQ@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:26 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: NULL terminate partially
	constructed hex string
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b021beb21a977a89b763db7b7df7c362cf8640a8
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:18:20 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:38:51 2016 +0000

    tools: libxl: NULL terminate partially constructed hex string
    
    Coverity (correctly) complains that the strncpy(p, "0x", 2) will not
    null terminate p.
    
    Although we can see that in the rest of the function p will
    definitely be NULL terminated by the time it is complete there is no
    harm in passing 3 to the strncpy and allowing it to NULL terminate to
    placate Coverity. We know this is safe because the allocation to hold
    the string includes a "+3" for the 0x and the terminating NULL.
    
    Compile tested only.
    
    CID: 1198708
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index e42422a..672d3f8 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -780,7 +780,7 @@ char *libxl_bitmap_to_hex_string(libxl_ctx *ctx, const libxl_bitmap *bitmap)
     int i = bitmap->size;
     char *p = libxl__zalloc(NOGC, bitmap->size * 2 + 3);
     char *q = p;
-    strncpy(p, "0x", 2);
+    strncpy(p, "0x", 3);
     p += 2;
     while(--i >= 0) {
         sprintf(p, "%02x", bitmap->map[i]);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8kk-000764-Cc; Tue, 23 Feb 2016 08:55:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kj-00075m-3Z
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:29 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	A5/9E-03306-08E1CC65; Tue, 23 Feb 2016 08:55:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1456217726!16834831!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 51893 invoked from network); 23 Feb 2016 08:55:27 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kg-0007Vk-Lx
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kg-0002jR-JQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kg-0002jR-JQ@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:26 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: NULL terminate partially
	constructed hex string
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b021beb21a977a89b763db7b7df7c362cf8640a8
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:18:20 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:38:51 2016 +0000

    tools: libxl: NULL terminate partially constructed hex string
    
    Coverity (correctly) complains that the strncpy(p, "0x", 2) will not
    null terminate p.
    
    Although we can see that in the rest of the function p will
    definitely be NULL terminated by the time it is complete there is no
    harm in passing 3 to the strncpy and allowing it to NULL terminate to
    placate Coverity. We know this is safe because the allocation to hold
    the string includes a "+3" for the 0x and the terminating NULL.
    
    Compile tested only.
    
    CID: 1198708
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index e42422a..672d3f8 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -780,7 +780,7 @@ char *libxl_bitmap_to_hex_string(libxl_ctx *ctx, const libxl_bitmap *bitmap)
     int i = bitmap->size;
     char *p = libxl__zalloc(NOGC, bitmap->size * 2 + 3);
     char *q = p;
-    strncpy(p, "0x", 2);
+    strncpy(p, "0x", 3);
     p += 2;
     while(--i >= 0) {
         sprintf(p, "%02x", bitmap->map[i]);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ku-00078h-Gc; Tue, 23 Feb 2016 08:55:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kt-00078P-PC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:39 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	39/84-02987-B8E1CC65; Tue, 23 Feb 2016 08:55:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217737!15884206!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3558 invoked from network); 23 Feb 2016 08:55:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kr-0007Vs-6h
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kq-0002kd-W8
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kq-0002kd-W8@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:36 +0000
Subject: [Xen-changelog] [xen master] libxl: close fd's in parent when
	spawning qdisk
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e33b2921d28c8a3aff2c25fd3d046c7432b3a606
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:49:53 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:42:53 2016 +0000

    libxl: close fd's in parent when spawning qdisk
    
    Coverity points out that these remain open in the parent upon
    success, which is a resource leak.
    
    To fix this rejig the exit paths such that success and error cases
    both close the two fds, this means adjusting the callback to only
    happen for the error case and it also makes sense to rename the label
    from "error" to just "out".
    
    Compile tested only.
    
    CID: 1130518 (null) and 1130517 (logfile_w).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_dm.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index a088d71..4aca38e 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1999,12 +1999,12 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
     logfile_w = libxl__create_qemu_logfile(gc, GCSPRINTF("qdisk-%u", domid));
     if (logfile_w < 0) {
         rc = logfile_w;
-        goto error;
+        goto out;
     }
     null = open("/dev/null", O_RDONLY);
     if (null < 0) {
        rc = ERROR_FAIL;
-       goto error;
+       goto out;
     }
 
     dmss->guest_config = NULL;
@@ -2030,19 +2030,18 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
     dmss->spawn.detached_cb = device_model_detached;
     rc = libxl__spawn_spawn(egc, &dmss->spawn);
     if (rc < 0)
-        goto error;
+        goto out;
     if (!rc) { /* inner child */
         setsid();
         libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
-    return;
-
-error:
-    assert(rc);
+    rc = 0;
+out:
     if (logfile_w >= 0) close(logfile_w);
     if (null >= 0) close(null);
-    dmss->callback(egc, dmss, rc);
+    /* callback on error only, success goes via dmss->spawn.*_cb */
+    if (rc) dmss->callback(egc, dmss, rc);
     return;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ku-00078h-Gc; Tue, 23 Feb 2016 08:55:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kt-00078P-PC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:39 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
	39/84-02987-B8E1CC65; Tue, 23 Feb 2016 08:55:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217737!15884206!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3558 invoked from network); 23 Feb 2016 08:55:38 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kr-0007Vs-6h
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8kq-0002kd-W8
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8kq-0002kd-W8@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:36 +0000
Subject: [Xen-changelog] [xen master] libxl: close fd's in parent when
	spawning qdisk
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e33b2921d28c8a3aff2c25fd3d046c7432b3a606
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Feb 16 11:49:53 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Tue Feb 16 17:42:53 2016 +0000

    libxl: close fd's in parent when spawning qdisk
    
    Coverity points out that these remain open in the parent upon
    success, which is a resource leak.
    
    To fix this rejig the exit paths such that success and error cases
    both close the two fds, this means adjusting the callback to only
    happen for the error case and it also makes sense to rename the label
    from "error" to just "out".
    
    Compile tested only.
    
    CID: 1130518 (null) and 1130517 (logfile_w).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxl/libxl_dm.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index a088d71..4aca38e 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -1999,12 +1999,12 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
     logfile_w = libxl__create_qemu_logfile(gc, GCSPRINTF("qdisk-%u", domid));
     if (logfile_w < 0) {
         rc = logfile_w;
-        goto error;
+        goto out;
     }
     null = open("/dev/null", O_RDONLY);
     if (null < 0) {
        rc = ERROR_FAIL;
-       goto error;
+       goto out;
     }
 
     dmss->guest_config = NULL;
@@ -2030,19 +2030,18 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
     dmss->spawn.detached_cb = device_model_detached;
     rc = libxl__spawn_spawn(egc, &dmss->spawn);
     if (rc < 0)
-        goto error;
+        goto out;
     if (!rc) { /* inner child */
         setsid();
         libxl__exec(gc, null, logfile_w, logfile_w, dm, args, NULL);
     }
 
-    return;
-
-error:
-    assert(rc);
+    rc = 0;
+out:
     if (logfile_w >= 0) close(logfile_w);
     if (null >= 0) close(null);
-    dmss->callback(egc, dmss, rc);
+    /* callback on error only, success goes via dmss->spawn.*_cb */
+    if (rc) dmss->callback(egc, dmss, rc);
     return;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8l4-0007Cx-LJ; Tue, 23 Feb 2016 08:55:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l4-0007CT-0M
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:50 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	70/64-10115-59E1CC65; Tue, 23 Feb 2016 08:55:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456217747!25944867!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7150 invoked from network); 23 Feb 2016 08:55:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l1-0007W0-Hf
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l1-0002mX-FP
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8l1-0002mX-FP@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:47 +0000
Subject: [Xen-changelog] [xen master] xen/arm: fix file comments
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 46944ac869942ef451de1d4a6b85e358db9629e2
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Feb 17 09:36:31 2016 +0200
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 10:07:17 2016 -0500

    xen/arm: fix file comments
    
    Add file header comment and local variable block @ EOF
    of xen/arch/arm/hvm.c.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/hvm.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index 5fd0753..056db1a 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -1,3 +1,21 @@
+/*
+ * arch/arm/hvm.c
+ *
+ * Arch-specific hardware virtual machine abstractions.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <xen/config.h>
 #include <xen/init.h>
 #include <xen/lib.h>
@@ -14,7 +32,6 @@
 #include <asm/hypercall.h>
 
 long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
-
 {
     long rc = 0;
 
@@ -65,3 +82,13 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     return rc;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:55:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:55:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8l4-0007Cx-LJ; Tue, 23 Feb 2016 08:55:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l4-0007CT-0M
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:50 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
	70/64-10115-59E1CC65; Tue, 23 Feb 2016 08:55:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456217747!25944867!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7150 invoked from network); 23 Feb 2016 08:55:48 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l1-0007W0-Hf
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8l1-0002mX-FP
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8l1-0002mX-FP@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:47 +0000
Subject: [Xen-changelog] [xen master] xen/arm: fix file comments
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 46944ac869942ef451de1d4a6b85e358db9629e2
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Feb 17 09:36:31 2016 +0200
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 10:07:17 2016 -0500

    xen/arm: fix file comments
    
    Add file header comment and local variable block @ EOF
    of xen/arch/arm/hvm.c.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/hvm.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index 5fd0753..056db1a 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -1,3 +1,21 @@
+/*
+ * arch/arm/hvm.c
+ *
+ * Arch-specific hardware virtual machine abstractions.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <xen/config.h>
 #include <xen/init.h>
 #include <xen/lib.h>
@@ -14,7 +32,6 @@
 #include <asm/hypercall.h>
 
 long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
-
 {
     long rc = 0;
 
@@ -65,3 +82,13 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     return rc;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lF-0007GT-S6; Tue, 23 Feb 2016 08:56:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lE-0007GA-Ov
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:00 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	2C/EE-02983-0AE1CC65; Tue, 23 Feb 2016 08:56:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456217758!24230293!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2707 invoked from network); 23 Feb 2016 08:55:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lB-0007W8-Rl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lB-0002tA-Pg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lB-0002tA-Pg@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:57 +0000
Subject: [Xen-changelog] [xen master] xen/vm-events: Move parts of
	monitor_domctl code to common-side.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5365e6a175355cc5ef889e00345e4c524de57df
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Feb 17 09:38:49 2016 +0200
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 10:08:27 2016 -0500

    xen/vm-events: Move parts of monitor_domctl code to common-side.
    
    This patch moves monitor_domctl to common-side.
    Purpose: move what's common to common, prepare for implementation
    of such vm-events on ARM.
    
    * move get_capabilities to arch-side => arch_monitor_get_capabilities.
    * add arch-side monitor op handling function => arch_monitor_domctl_op.
      e.g. X86-side handles XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP op
    * add arch-side monitor event handling function => arch_monitor_domctl_event.
      e.g. X86-side handles XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR event enable/disable
    * remove status_check
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 MAINTAINERS                   |   1 +
 xen/arch/x86/monitor.c        | 153 +++++++++++-------------------------------
 xen/common/Makefile           |   1 +
 xen/common/domctl.c           |   2 +-
 xen/common/monitor.c          |  69 +++++++++++++++++++
 xen/include/asm-arm/monitor.h |  30 +++++++--
 xen/include/asm-x86/monitor.h |  53 +++++++++++++--
 xen/include/xen/monitor.h     |  30 +++++++++
 8 files changed, 217 insertions(+), 122 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f07384c..5cbb1dc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -355,6 +355,7 @@ M:	Tamas K Lengyel <tamas@tklengyel.com>
 S:	Supported
 F:	xen/common/vm_event.c
 F:	xen/common/mem_access.c
+F:	xen/common/monitor.c
 F:	xen/arch/x86/hvm/event.c
 F:	xen/arch/x86/monitor.c
 F:	xen/arch/*/vm_event.c
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 1d43880..a507edb 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -1,9 +1,10 @@
 /*
  * arch/x86/monitor.c
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -18,87 +19,14 @@
  * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <xen/config.h>
-#include <xen/sched.h>
-#include <xen/mm.h>
-#include <asm/domain.h>
 #include <asm/monitor.h>
-#include <public/domctl.h>
-#include <xsm/xsm.h>
+#include <public/vm_event.h>
 
-/*
- * Sanity check whether option is already enabled/disabled
- */
-static inline
-int status_check(struct xen_domctl_monitor_op *mop, bool_t status)
-{
-    bool_t requested_status = (mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE);
-
-    if ( status == requested_status )
-        return -EEXIST;
-
-    return 0;
-}
-
-static inline uint32_t get_capabilities(struct domain *d)
-{
-    uint32_t capabilities = 0;
-
-    /*
-     * At the moment only Intel HVM domains are supported. However, event
-     * delivery could be extended to AMD and PV domains.
-     */
-    if ( !is_hvm_domain(d) || !cpu_has_vmx )
-        return capabilities;
-
-    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
-
-    /* Since we know this is on VMX, we can just call the hvm func */
-    if ( hvm_is_singlestep_supported() )
-        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
-
-    return capabilities;
-}
-
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
 {
-    int rc;
     struct arch_domain *ad = &d->arch;
-    uint32_t capabilities = get_capabilities(d);
-
-    if ( current->domain == d ) /* no domain_pause() */
-        return -EPERM;
-
-    rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
-    if ( rc )
-        return rc;
-
-    switch ( mop->op )
-    {
-    case XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
-        mop->event = capabilities;
-        return 0;
-
-    case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
-        domain_pause(d);
-        ad->mem_access_emulate_each_rep = !!mop->event;
-        domain_unpause(d);
-        return 0;
-    }
-
-    /*
-     * Sanity check
-     */
-    if ( mop->op != XEN_DOMCTL_MONITOR_OP_ENABLE &&
-         mop->op != XEN_DOMCTL_MONITOR_OP_DISABLE )
-        return -EOPNOTSUPP;
-
-    /* Check if event type is available. */
-    if ( !(capabilities & (1 << mop->event)) )
-        return -EOPNOTSUPP;
+    bool_t requested_status = (XEN_DOMCTL_MONITOR_OP_ENABLE == mop->op);
 
     switch ( mop->event )
     {
@@ -106,13 +34,11 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
     {
         unsigned int ctrlreg_bitmask =
             monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
-        bool_t status =
+        bool_t old_status =
             !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
-        struct vcpu *v;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
 
@@ -126,15 +52,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         else
             ad->monitor.write_ctrlreg_onchangeonly &= ~ctrlreg_bitmask;
 
-        if ( !status )
+        if ( requested_status )
             ad->monitor.write_ctrlreg_enabled |= ctrlreg_bitmask;
         else
             ad->monitor.write_ctrlreg_enabled &= ~ctrlreg_bitmask;
 
-        if ( mop->u.mov_to_cr.index == VM_EVENT_X86_CR3 )
-            /* Latches new CR3 mask through CR0 code */
+        if ( VM_EVENT_X86_CR3 == mop->u.mov_to_cr.index )
+        {
+            struct vcpu *v;
+            /* Latches new CR3 mask through CR0 code. */
             for_each_vcpu ( d, v )
                 hvm_update_guest_cr(v, 0);
+        }
 
         domain_unpause(d);
 
@@ -143,77 +72,75 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
 
     case XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR:
     {
-        bool_t status = ad->monitor.mov_to_msr_enabled;
+        bool_t old_status = ad->monitor.mov_to_msr_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
-        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
-             mop->u.mov_to_msr.extended_capture &&
+        if ( requested_status && mop->u.mov_to_msr.extended_capture &&
              !hvm_enable_msr_exit_interception(d) )
             return -EOPNOTSUPP;
 
         domain_pause(d);
 
-        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
-             mop->u.mov_to_msr.extended_capture )
-                ad->monitor.mov_to_msr_extended = 1;
+        if ( requested_status && mop->u.mov_to_msr.extended_capture )
+            ad->monitor.mov_to_msr_extended = 1;
         else
             ad->monitor.mov_to_msr_extended = 0;
 
-        ad->monitor.mov_to_msr_enabled = !status;
+        ad->monitor.mov_to_msr_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP:
     {
-        bool_t status = ad->monitor.singlestep_enabled;
+        bool_t old_status = ad->monitor.singlestep_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
-        ad->monitor.singlestep_enabled = !status;
+        ad->monitor.singlestep_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT:
     {
-        bool_t status = ad->monitor.software_breakpoint_enabled;
+        bool_t old_status = ad->monitor.software_breakpoint_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
-        ad->monitor.software_breakpoint_enabled = !status;
+        ad->monitor.software_breakpoint_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST:
     {
-        bool_t status = ad->monitor.guest_request_enabled;
+        bool_t old_status = ad->monitor.guest_request_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
         ad->monitor.guest_request_sync = mop->u.guest_request.sync;
-        ad->monitor.guest_request_enabled = !status;
+        ad->monitor.guest_request_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     default:
+        /*
+         * Should not be reached unless arch_monitor_get_capabilities() is not
+         * properly implemented.
+         */
+        ASSERT_UNREACHABLE();
         return -EOPNOTSUPP;
-
-    };
+    }
 
     return 0;
 }
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6e82b33..0d76efe 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -20,6 +20,7 @@ obj-y += lib.o
 obj-y += lzo.o
 obj-$(CONFIG_HAS_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
+obj-y += monitor.o
 obj-y += multicall.o
 obj-y += notifier.o
 obj-y += page_alloc.o
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 22fa5d5..b34c0a1 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -25,11 +25,11 @@
 #include <xen/paging.h>
 #include <xen/hypercall.h>
 #include <xen/vm_event.h>
+#include <xen/monitor.h>
 #include <asm/current.h>
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/p2m.h>
-#include <asm/monitor.h>
 #include <public/domctl.h>
 #include <xsm/xsm.h>
 
diff --git a/xen/common/monitor.c b/xen/common/monitor.c
new file mode 100644
index 0000000..2a99a04
--- /dev/null
+++ b/xen/common/monitor.c
@@ -0,0 +1,69 @@
+/*
+ * xen/common/monitor.c
+ *
+ * Common monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/monitor.h>
+#include <xen/sched.h>
+#include <xsm/xsm.h>
+#include <public/domctl.h>
+#include <asm/monitor.h>
+
+int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    int rc;
+
+    if ( unlikely(current->domain == d) ) /* no domain_pause() */
+        return -EPERM;
+
+    rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
+    if ( unlikely(rc) )
+        return rc;
+
+    switch ( mop->op )
+    {
+    case XEN_DOMCTL_MONITOR_OP_ENABLE:
+    case XEN_DOMCTL_MONITOR_OP_DISABLE:
+        /* Check if event type is available. */
+        /* sanity check: avoid left-shift undefined behavior */
+        if ( unlikely(mop->event > 31) )
+            return -EINVAL;
+        if ( unlikely(!(arch_monitor_get_capabilities(d) & (1U << mop->event))) )
+            return -EOPNOTSUPP;
+        /* Arch-side handles enable/disable ops. */
+        return arch_monitor_domctl_event(d, mop);
+
+    case XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
+        mop->event = arch_monitor_get_capabilities(d);
+        return 0;
+
+    default:
+        /* The monitor op is probably handled on the arch-side. */
+        return arch_monitor_domctl_op(d, mop);
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/monitor.h b/xen/include/asm-arm/monitor.h
index a3a9703..82a4a66 100644
--- a/xen/include/asm-arm/monitor.h
+++ b/xen/include/asm-arm/monitor.h
@@ -1,9 +1,10 @@
 /*
  * include/asm-arm/monitor.h
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -24,10 +25,31 @@
 #include <xen/sched.h>
 #include <public/domctl.h>
 
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    /* No monitor vm-events implemented on ARM. */
+    return 0;
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on ARM. */
+    return -EOPNOTSUPP;
+}
+
 static inline
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op)
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
 {
-    return -ENOSYS;
+    /*
+     * No arch-specific monitor vm-events on ARM.
+     *
+     * Should not be reached unless arch_monitor_get_capabilities() is not
+     * properly implemented.
+     */
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
 }
 
-#endif /* __ASM_X86_MONITOR_H__ */
+#endif /* __ASM_ARM_MONITOR_H__ */
diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h
index 7c8280b..c789f71 100644
--- a/xen/include/asm-x86/monitor.h
+++ b/xen/include/asm-x86/monitor.h
@@ -1,9 +1,10 @@
 /*
  * include/asm-x86/monitor.h
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -21,11 +22,55 @@
 #ifndef __ASM_X86_MONITOR_H__
 #define __ASM_X86_MONITOR_H__
 
-struct domain;
-struct xen_domctl_monitor_op;
+#include <xen/sched.h>
+#include <public/domctl.h>
+#include <asm/cpufeature.h>
+#include <asm/hvm/hvm.h>
 
 #define monitor_ctrlreg_bitmask(ctrlreg_index) (1U << (ctrlreg_index))
 
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    uint32_t capabilities = 0;
+
+    /*
+     * At the moment only Intel HVM domains are supported. However, event
+     * delivery could be extended to AMD and PV domains.
+     */
+    if ( !is_hvm_domain(d) || !cpu_has_vmx )
+        return capabilities;
+
+    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
+
+    /* Since we know this is on VMX, we can just call the hvm func */
+    if ( hvm_is_singlestep_supported() )
+        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
+
+    return capabilities;
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    switch ( mop->op )
+    {
+    case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
+        domain_pause(d);
+        d->arch.mem_access_emulate_each_rep = !!mop->event;
+        domain_unpause(d);
+        break;
+
+    default:
+        return -EOPNOTSUPP;
+    }
+
+    return 0;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
 
 #endif /* __ASM_X86_MONITOR_H__ */
diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
new file mode 100644
index 0000000..7015e6d
--- /dev/null
+++ b/xen/include/xen/monitor.h
@@ -0,0 +1,30 @@
+/*
+ * include/xen/monitor.h
+ *
+ * Common monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __XEN_MONITOR_H__
+#define __XEN_MONITOR_H__
+
+struct domain;
+struct xen_domctl_monitor_op;
+
+int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
+
+#endif /* __XEN_MONITOR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lF-0007GT-S6; Tue, 23 Feb 2016 08:56:01 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lE-0007GA-Ov
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:00 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	2C/EE-02983-0AE1CC65; Tue, 23 Feb 2016 08:56:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456217758!24230293!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2707 invoked from network); 23 Feb 2016 08:55:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:55:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lB-0007W8-Rl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lB-0002tA-Pg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:55:57 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lB-0002tA-Pg@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:55:57 +0000
Subject: [Xen-changelog] [xen master] xen/vm-events: Move parts of
	monitor_domctl code to common-side.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5365e6a175355cc5ef889e00345e4c524de57df
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Wed Feb 17 09:38:49 2016 +0200
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 10:08:27 2016 -0500

    xen/vm-events: Move parts of monitor_domctl code to common-side.
    
    This patch moves monitor_domctl to common-side.
    Purpose: move what's common to common, prepare for implementation
    of such vm-events on ARM.
    
    * move get_capabilities to arch-side => arch_monitor_get_capabilities.
    * add arch-side monitor op handling function => arch_monitor_domctl_op.
      e.g. X86-side handles XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP op
    * add arch-side monitor event handling function => arch_monitor_domctl_event.
      e.g. X86-side handles XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR event enable/disable
    * remove status_check
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 MAINTAINERS                   |   1 +
 xen/arch/x86/monitor.c        | 153 +++++++++++-------------------------------
 xen/common/Makefile           |   1 +
 xen/common/domctl.c           |   2 +-
 xen/common/monitor.c          |  69 +++++++++++++++++++
 xen/include/asm-arm/monitor.h |  30 +++++++--
 xen/include/asm-x86/monitor.h |  53 +++++++++++++--
 xen/include/xen/monitor.h     |  30 +++++++++
 8 files changed, 217 insertions(+), 122 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index f07384c..5cbb1dc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -355,6 +355,7 @@ M:	Tamas K Lengyel <tamas@tklengyel.com>
 S:	Supported
 F:	xen/common/vm_event.c
 F:	xen/common/mem_access.c
+F:	xen/common/monitor.c
 F:	xen/arch/x86/hvm/event.c
 F:	xen/arch/x86/monitor.c
 F:	xen/arch/*/vm_event.c
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 1d43880..a507edb 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -1,9 +1,10 @@
 /*
  * arch/x86/monitor.c
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -18,87 +19,14 @@
  * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <xen/config.h>
-#include <xen/sched.h>
-#include <xen/mm.h>
-#include <asm/domain.h>
 #include <asm/monitor.h>
-#include <public/domctl.h>
-#include <xsm/xsm.h>
+#include <public/vm_event.h>
 
-/*
- * Sanity check whether option is already enabled/disabled
- */
-static inline
-int status_check(struct xen_domctl_monitor_op *mop, bool_t status)
-{
-    bool_t requested_status = (mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE);
-
-    if ( status == requested_status )
-        return -EEXIST;
-
-    return 0;
-}
-
-static inline uint32_t get_capabilities(struct domain *d)
-{
-    uint32_t capabilities = 0;
-
-    /*
-     * At the moment only Intel HVM domains are supported. However, event
-     * delivery could be extended to AMD and PV domains.
-     */
-    if ( !is_hvm_domain(d) || !cpu_has_vmx )
-        return capabilities;
-
-    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
-
-    /* Since we know this is on VMX, we can just call the hvm func */
-    if ( hvm_is_singlestep_supported() )
-        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
-
-    return capabilities;
-}
-
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
 {
-    int rc;
     struct arch_domain *ad = &d->arch;
-    uint32_t capabilities = get_capabilities(d);
-
-    if ( current->domain == d ) /* no domain_pause() */
-        return -EPERM;
-
-    rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
-    if ( rc )
-        return rc;
-
-    switch ( mop->op )
-    {
-    case XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
-        mop->event = capabilities;
-        return 0;
-
-    case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
-        domain_pause(d);
-        ad->mem_access_emulate_each_rep = !!mop->event;
-        domain_unpause(d);
-        return 0;
-    }
-
-    /*
-     * Sanity check
-     */
-    if ( mop->op != XEN_DOMCTL_MONITOR_OP_ENABLE &&
-         mop->op != XEN_DOMCTL_MONITOR_OP_DISABLE )
-        return -EOPNOTSUPP;
-
-    /* Check if event type is available. */
-    if ( !(capabilities & (1 << mop->event)) )
-        return -EOPNOTSUPP;
+    bool_t requested_status = (XEN_DOMCTL_MONITOR_OP_ENABLE == mop->op);
 
     switch ( mop->event )
     {
@@ -106,13 +34,11 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
     {
         unsigned int ctrlreg_bitmask =
             monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
-        bool_t status =
+        bool_t old_status =
             !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
-        struct vcpu *v;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
 
@@ -126,15 +52,18 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
         else
             ad->monitor.write_ctrlreg_onchangeonly &= ~ctrlreg_bitmask;
 
-        if ( !status )
+        if ( requested_status )
             ad->monitor.write_ctrlreg_enabled |= ctrlreg_bitmask;
         else
             ad->monitor.write_ctrlreg_enabled &= ~ctrlreg_bitmask;
 
-        if ( mop->u.mov_to_cr.index == VM_EVENT_X86_CR3 )
-            /* Latches new CR3 mask through CR0 code */
+        if ( VM_EVENT_X86_CR3 == mop->u.mov_to_cr.index )
+        {
+            struct vcpu *v;
+            /* Latches new CR3 mask through CR0 code. */
             for_each_vcpu ( d, v )
                 hvm_update_guest_cr(v, 0);
+        }
 
         domain_unpause(d);
 
@@ -143,77 +72,75 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
 
     case XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR:
     {
-        bool_t status = ad->monitor.mov_to_msr_enabled;
+        bool_t old_status = ad->monitor.mov_to_msr_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
-        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
-             mop->u.mov_to_msr.extended_capture &&
+        if ( requested_status && mop->u.mov_to_msr.extended_capture &&
              !hvm_enable_msr_exit_interception(d) )
             return -EOPNOTSUPP;
 
         domain_pause(d);
 
-        if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
-             mop->u.mov_to_msr.extended_capture )
-                ad->monitor.mov_to_msr_extended = 1;
+        if ( requested_status && mop->u.mov_to_msr.extended_capture )
+            ad->monitor.mov_to_msr_extended = 1;
         else
             ad->monitor.mov_to_msr_extended = 0;
 
-        ad->monitor.mov_to_msr_enabled = !status;
+        ad->monitor.mov_to_msr_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP:
     {
-        bool_t status = ad->monitor.singlestep_enabled;
+        bool_t old_status = ad->monitor.singlestep_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
-        ad->monitor.singlestep_enabled = !status;
+        ad->monitor.singlestep_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT:
     {
-        bool_t status = ad->monitor.software_breakpoint_enabled;
+        bool_t old_status = ad->monitor.software_breakpoint_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
-        ad->monitor.software_breakpoint_enabled = !status;
+        ad->monitor.software_breakpoint_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     case XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST:
     {
-        bool_t status = ad->monitor.guest_request_enabled;
+        bool_t old_status = ad->monitor.guest_request_enabled;
 
-        rc = status_check(mop, status);
-        if ( rc )
-            return rc;
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
 
         domain_pause(d);
         ad->monitor.guest_request_sync = mop->u.guest_request.sync;
-        ad->monitor.guest_request_enabled = !status;
+        ad->monitor.guest_request_enabled = requested_status;
         domain_unpause(d);
         break;
     }
 
     default:
+        /*
+         * Should not be reached unless arch_monitor_get_capabilities() is not
+         * properly implemented.
+         */
+        ASSERT_UNREACHABLE();
         return -EOPNOTSUPP;
-
-    };
+    }
 
     return 0;
 }
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 6e82b33..0d76efe 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -20,6 +20,7 @@ obj-y += lib.o
 obj-y += lzo.o
 obj-$(CONFIG_HAS_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
+obj-y += monitor.o
 obj-y += multicall.o
 obj-y += notifier.o
 obj-y += page_alloc.o
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 22fa5d5..b34c0a1 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -25,11 +25,11 @@
 #include <xen/paging.h>
 #include <xen/hypercall.h>
 #include <xen/vm_event.h>
+#include <xen/monitor.h>
 #include <asm/current.h>
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/p2m.h>
-#include <asm/monitor.h>
 #include <public/domctl.h>
 #include <xsm/xsm.h>
 
diff --git a/xen/common/monitor.c b/xen/common/monitor.c
new file mode 100644
index 0000000..2a99a04
--- /dev/null
+++ b/xen/common/monitor.c
@@ -0,0 +1,69 @@
+/*
+ * xen/common/monitor.c
+ *
+ * Common monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/monitor.h>
+#include <xen/sched.h>
+#include <xsm/xsm.h>
+#include <public/domctl.h>
+#include <asm/monitor.h>
+
+int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    int rc;
+
+    if ( unlikely(current->domain == d) ) /* no domain_pause() */
+        return -EPERM;
+
+    rc = xsm_vm_event_control(XSM_PRIV, d, mop->op, mop->event);
+    if ( unlikely(rc) )
+        return rc;
+
+    switch ( mop->op )
+    {
+    case XEN_DOMCTL_MONITOR_OP_ENABLE:
+    case XEN_DOMCTL_MONITOR_OP_DISABLE:
+        /* Check if event type is available. */
+        /* sanity check: avoid left-shift undefined behavior */
+        if ( unlikely(mop->event > 31) )
+            return -EINVAL;
+        if ( unlikely(!(arch_monitor_get_capabilities(d) & (1U << mop->event))) )
+            return -EOPNOTSUPP;
+        /* Arch-side handles enable/disable ops. */
+        return arch_monitor_domctl_event(d, mop);
+
+    case XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
+        mop->event = arch_monitor_get_capabilities(d);
+        return 0;
+
+    default:
+        /* The monitor op is probably handled on the arch-side. */
+        return arch_monitor_domctl_op(d, mop);
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/monitor.h b/xen/include/asm-arm/monitor.h
index a3a9703..82a4a66 100644
--- a/xen/include/asm-arm/monitor.h
+++ b/xen/include/asm-arm/monitor.h
@@ -1,9 +1,10 @@
 /*
  * include/asm-arm/monitor.h
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -24,10 +25,31 @@
 #include <xen/sched.h>
 #include <public/domctl.h>
 
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    /* No monitor vm-events implemented on ARM. */
+    return 0;
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on ARM. */
+    return -EOPNOTSUPP;
+}
+
 static inline
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op)
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
 {
-    return -ENOSYS;
+    /*
+     * No arch-specific monitor vm-events on ARM.
+     *
+     * Should not be reached unless arch_monitor_get_capabilities() is not
+     * properly implemented.
+     */
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
 }
 
-#endif /* __ASM_X86_MONITOR_H__ */
+#endif /* __ASM_ARM_MONITOR_H__ */
diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h
index 7c8280b..c789f71 100644
--- a/xen/include/asm-x86/monitor.h
+++ b/xen/include/asm-x86/monitor.h
@@ -1,9 +1,10 @@
 /*
  * include/asm-x86/monitor.h
  *
- * Architecture-specific monitor_op domctl handler.
+ * Arch-specific monitor_op domctl handler.
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -21,11 +22,55 @@
 #ifndef __ASM_X86_MONITOR_H__
 #define __ASM_X86_MONITOR_H__
 
-struct domain;
-struct xen_domctl_monitor_op;
+#include <xen/sched.h>
+#include <public/domctl.h>
+#include <asm/cpufeature.h>
+#include <asm/hvm/hvm.h>
 
 #define monitor_ctrlreg_bitmask(ctrlreg_index) (1U << (ctrlreg_index))
 
-int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    uint32_t capabilities = 0;
+
+    /*
+     * At the moment only Intel HVM domains are supported. However, event
+     * delivery could be extended to AMD and PV domains.
+     */
+    if ( !is_hvm_domain(d) || !cpu_has_vmx )
+        return capabilities;
+
+    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
+                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
+
+    /* Since we know this is on VMX, we can just call the hvm func */
+    if ( hvm_is_singlestep_supported() )
+        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
+
+    return capabilities;
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    switch ( mop->op )
+    {
+    case XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP:
+        domain_pause(d);
+        d->arch.mem_access_emulate_each_rep = !!mop->event;
+        domain_unpause(d);
+        break;
+
+    default:
+        return -EOPNOTSUPP;
+    }
+
+    return 0;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
 
 #endif /* __ASM_X86_MONITOR_H__ */
diff --git a/xen/include/xen/monitor.h b/xen/include/xen/monitor.h
new file mode 100644
index 0000000..7015e6d
--- /dev/null
+++ b/xen/include/xen/monitor.h
@@ -0,0 +1,30 @@
+/*
+ * include/xen/monitor.h
+ *
+ * Common monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License v2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __XEN_MONITOR_H__
+#define __XEN_MONITOR_H__
+
+struct domain;
+struct xen_domctl_monitor_op;
+
+int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *op);
+
+#endif /* __XEN_MONITOR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lU-0007JH-0Z; Tue, 23 Feb 2016 08:56:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lS-0007J3-N4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:14 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	7C/7F-02983-DAE1CC65; Tue, 23 Feb 2016 08:56:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217768!24262750!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12442 invoked from network); 23 Feb 2016 08:56:09 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:09 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lM-0007Wi-Ay
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lM-000326-5o
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:08 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lM-000326-5o@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:08 +0000
Subject: [Xen-changelog] [xen master] x86: enforce consistent cachability of
	MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c61a6f74f80eb36ed83a82f713db3143159b9009
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:16:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:16:53 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/misc/xen-command-line.markdown |   9 ++++
 xen/arch/x86/hvm/mtrr.c             |  11 +++-
 xen/arch/x86/mm.c                   | 103 ++++++++++++++++++++++++++----------
 xen/arch/x86/mm/p2m-pt.c            |   3 ++
 xen/arch/x86/mm/shadow/multi.c      |  32 +++++++----
 xen/arch/x86/mm/shadow/types.h      |   3 ++
 xen/include/asm-x86/page.h          |   3 ++
 7 files changed, 125 insertions(+), 39 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index d267a04..6435f8e 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1084,6 +1084,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 595134c..4188ae7 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -770,8 +770,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index c214fc5..a05edc3 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -178,6 +178,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -871,10 +883,7 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
-#ifndef NDEBUG
-        const unsigned long *ro_map;
-        unsigned int seg, bdf;
-#endif
+        int flip = 0;
 
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
@@ -908,24 +917,55 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
 #ifndef NDEBUG
-        if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
-             ((ro_map = pci_get_ro_map(seg)) != NULL &&
-              test_bit(bdf, ro_map)) )
-            printk(XENLOG_G_WARNING
-                   "d%d: Forcing read-only access to MFN %lx\n",
-                   l1e_owner->domain_id, mfn);
-        else
-            rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
-                                   print_mmio_emul_range,
-                                   &(struct mmio_emul_range_ctxt){
-                                      .d = l1e_owner,
-                                      .mfn = mfn });
+            const unsigned long *ro_map;
+            unsigned int seg, bdf;
+
+            if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
+                 ((ro_map = pci_get_ro_map(seg)) != NULL &&
+                  test_bit(bdf, ro_map)) )
+                printk(XENLOG_G_WARNING
+                       "d%d: Forcing read-only access to MFN %lx\n",
+                       l1e_owner->domain_id, mfn);
+            else
+                rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
+                                       print_mmio_emul_range,
+                                       &(struct mmio_emul_range_ctxt){
+                                           .d = l1e_owner,
+                                           .mfn = mfn });
 #endif
-        return 1;
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1315,8 +1355,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1849,8 +1890,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1873,8 +1915,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5109,6 +5152,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5156,7 +5200,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5180,8 +5224,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index da546e8..3d80612 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -109,7 +109,10 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn,
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
         else
+        {
+            flags |= _PAGE_PWT;
             ASSERT(!level);
+        }
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index aaf8db7..70f2aa5 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -534,6 +534,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -574,7 +575,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -592,7 +596,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -691,10 +695,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
 
     // protect guest page tables
     //
@@ -1200,22 +1208,28 @@ static int shadow_set_l1e(struct domain *d,
          && !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     }
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 503243f..a717d74 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -99,6 +99,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void)
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index a095a93..bdf3960 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lU-0007JH-0Z; Tue, 23 Feb 2016 08:56:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lS-0007J3-N4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:14 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	7C/7F-02983-DAE1CC65; Tue, 23 Feb 2016 08:56:13 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217768!24262750!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12442 invoked from network); 23 Feb 2016 08:56:09 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:09 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lM-0007Wi-Ay
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lM-000326-5o
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:08 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lM-000326-5o@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:08 +0000
Subject: [Xen-changelog] [xen master] x86: enforce consistent cachability of
	MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c61a6f74f80eb36ed83a82f713db3143159b9009
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:16:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:16:53 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/misc/xen-command-line.markdown |   9 ++++
 xen/arch/x86/hvm/mtrr.c             |  11 +++-
 xen/arch/x86/mm.c                   | 103 ++++++++++++++++++++++++++----------
 xen/arch/x86/mm/p2m-pt.c            |   3 ++
 xen/arch/x86/mm/shadow/multi.c      |  32 +++++++----
 xen/arch/x86/mm/shadow/types.h      |   3 ++
 xen/include/asm-x86/page.h          |   3 ++
 7 files changed, 125 insertions(+), 39 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index d267a04..6435f8e 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1084,6 +1084,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 595134c..4188ae7 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -770,8 +770,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index c214fc5..a05edc3 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -178,6 +178,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -871,10 +883,7 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
-#ifndef NDEBUG
-        const unsigned long *ro_map;
-        unsigned int seg, bdf;
-#endif
+        int flip = 0;
 
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
@@ -908,24 +917,55 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
 #ifndef NDEBUG
-        if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
-             ((ro_map = pci_get_ro_map(seg)) != NULL &&
-              test_bit(bdf, ro_map)) )
-            printk(XENLOG_G_WARNING
-                   "d%d: Forcing read-only access to MFN %lx\n",
-                   l1e_owner->domain_id, mfn);
-        else
-            rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
-                                   print_mmio_emul_range,
-                                   &(struct mmio_emul_range_ctxt){
-                                      .d = l1e_owner,
-                                      .mfn = mfn });
+            const unsigned long *ro_map;
+            unsigned int seg, bdf;
+
+            if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
+                 ((ro_map = pci_get_ro_map(seg)) != NULL &&
+                  test_bit(bdf, ro_map)) )
+                printk(XENLOG_G_WARNING
+                       "d%d: Forcing read-only access to MFN %lx\n",
+                       l1e_owner->domain_id, mfn);
+            else
+                rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
+                                       print_mmio_emul_range,
+                                       &(struct mmio_emul_range_ctxt){
+                                           .d = l1e_owner,
+                                           .mfn = mfn });
 #endif
-        return 1;
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1315,8 +1355,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1849,8 +1890,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1873,8 +1915,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5109,6 +5152,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5156,7 +5200,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5180,8 +5224,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index da546e8..3d80612 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -109,7 +109,10 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn,
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
         else
+        {
+            flags |= _PAGE_PWT;
             ASSERT(!level);
+        }
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index aaf8db7..70f2aa5 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -534,6 +534,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -574,7 +575,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -592,7 +596,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -691,10 +695,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
 
     // protect guest page tables
     //
@@ -1200,22 +1208,28 @@ static int shadow_set_l1e(struct domain *d,
          && !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     }
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 503243f..a717d74 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -99,6 +99,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void)
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index a095a93..bdf3960 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8la-0007Kq-6Q; Tue, 23 Feb 2016 08:56:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lZ-0007KZ-9L
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:21 +0000
Content-Length: 4315
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	72/C6-04050-4BE1CC65; Tue, 23 Feb 2016 08:56:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456217778!14692074!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53321 invoked from network); 23 Feb 2016 08:56:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lW-0007Ws-MK
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lW-00035k-Hl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lW-00035k-Hl@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:18 +0000
Subject: [Xen-changelog] [xen master] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2265067852851288035=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2265067852851288035==
Content-Length: 3955
Content-Transfer-Encoding: quoted-printable

commit ffbbfda37782a2408953af1a3e00ada80bb141bc
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:18:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:18:08 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 44e778f..aa8400b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2981,7 +2981,7 @@ static int vmx_handle_apic_write(void)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3582,6 +3582,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2265067852851288035==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2265067852851288035==--

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8la-0007Kq-6Q; Tue, 23 Feb 2016 08:56:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lZ-0007KZ-9L
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:21 +0000
Content-Length: 4315
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	72/C6-04050-4BE1CC65; Tue, 23 Feb 2016 08:56:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456217778!14692074!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 53321 invoked from network); 23 Feb 2016 08:56:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lW-0007Ws-MK
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lW-00035k-Hl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lW-00035k-Hl@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:18 +0000
Subject: [Xen-changelog] [xen master] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2265067852851288035=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2265067852851288035==
Content-Length: 3955
Content-Transfer-Encoding: quoted-printable

commit ffbbfda37782a2408953af1a3e00ada80bb141bc
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:18:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:18:08 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 44e778f..aa8400b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2981,7 +2981,7 @@ static int vmx_handle_apic_write(void)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3582,6 +3582,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2265067852851288035==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2265067852851288035==--

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ll-0007N7-A0; Tue, 23 Feb 2016 08:56:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lj-0007MY-FQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:31 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	D0/9A-02989-EBE1CC65; Tue, 23 Feb 2016 08:56:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456217789!24230449!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13880 invoked from network); 23 Feb 2016 08:56:30 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:30 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lh-0007Xm-1C
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lg-0003Cy-VY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lg-0003Cy-VY@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:28 +0000
Subject: [Xen-changelog] [xen master] x86/HVM: fold hypercall tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33a231e3ff0e76d70adb5b22c52989d3a918d830
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:18:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:18:50 2016 +0100

    x86/HVM: fold hypercall tables
    
    In order to reduce the risk of unintentionally adding a function
    pointer to just one of the two tables, merge them into one, with each
    entry pair getting generated by a single macro invocation (at once
    dropping all explicit casting outside the macro definition).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hvm.c | 81 +++++++++++++++++++++++++++-----------------------
 1 file changed, 43 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index fe382ce..3362637 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5191,13 +5191,6 @@ static long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     }
 }
 
-typedef unsigned long hvm_hypercall_t(
-    unsigned long, unsigned long, unsigned long, unsigned long, unsigned long,
-    unsigned long);
-
-#define HYPERCALL(x)                                        \
-    [ __HYPERVISOR_ ## x ] = (hvm_hypercall_t *) do_ ## x
-
 static long hvm_grant_table_op_compat32(unsigned int cmd,
                                         XEN_GUEST_HANDLE_PARAM(void) uop,
                                         unsigned int count)
@@ -5242,35 +5235,34 @@ static long hvm_physdev_op_compat32(
     }
 }
 
-static hvm_hypercall_t *const hvm_hypercall64_table[NR_hypercalls] = {
-    [ __HYPERVISOR_memory_op ] = (hvm_hypercall_t *)hvm_memory_op,
-    [ __HYPERVISOR_grant_table_op ] = (hvm_hypercall_t *)hvm_grant_table_op,
-    HYPERCALL(vcpu_op),
-    [ __HYPERVISOR_physdev_op ] = (hvm_hypercall_t *)hvm_physdev_op,
-    HYPERCALL(xen_version),
-    HYPERCALL(console_io),
-    HYPERCALL(event_channel_op),
-    HYPERCALL(sched_op),
-    HYPERCALL(set_timer_op),
-    HYPERCALL(xsm_op),
-    HYPERCALL(hvm_op),
-    HYPERCALL(sysctl),
-    HYPERCALL(domctl),
-    HYPERCALL(tmem_op),
-    HYPERCALL(platform_op),
-    HYPERCALL(mmuext_op),
-    HYPERCALL(xenpmu_op),
-    [ __HYPERVISOR_arch_1 ] = (hvm_hypercall_t *)paging_domctl_continuation
-};
-
-#define COMPAT_CALL(x)                                        \
-    [ __HYPERVISOR_ ## x ] = (hvm_hypercall_t *) compat_ ## x
+typedef unsigned long hvm_hypercall_t(
+    unsigned long, unsigned long, unsigned long, unsigned long, unsigned long,
+    unsigned long);
 
-static hvm_hypercall_t *const hvm_hypercall32_table[NR_hypercalls] = {
-    [ __HYPERVISOR_memory_op ] = (hvm_hypercall_t *)hvm_memory_op_compat32,
-    [ __HYPERVISOR_grant_table_op ] = (hvm_hypercall_t *)hvm_grant_table_op_compat32,
+#define HYPERCALL(x)                                         \
+    [ __HYPERVISOR_ ## x ] = { (hvm_hypercall_t *) do_ ## x, \
+                               (hvm_hypercall_t *) do_ ## x }
+
+#define COMPAT_CALL(x)                                       \
+    [ __HYPERVISOR_ ## x ] = { (hvm_hypercall_t *) do_ ## x, \
+                               (hvm_hypercall_t *) compat_ ## x }
+
+#define do_memory_op          hvm_memory_op
+#define compat_memory_op      hvm_memory_op_compat32
+#define do_physdev_op         hvm_physdev_op
+#define compat_physdev_op     hvm_physdev_op_compat32
+#define do_grant_table_op     hvm_grant_table_op
+#define compat_grant_table_op hvm_grant_table_op_compat32
+#define do_arch_1             paging_domctl_continuation
+
+static const struct {
+    hvm_hypercall_t *native;
+    hvm_hypercall_t *compat;
+} hvm_hypercall_table[NR_hypercalls] = {
+    COMPAT_CALL(memory_op),
+    COMPAT_CALL(grant_table_op),
     COMPAT_CALL(vcpu_op),
-    [ __HYPERVISOR_physdev_op ] = (hvm_hypercall_t *)hvm_physdev_op_compat32,
+    COMPAT_CALL(physdev_op),
     COMPAT_CALL(xen_version),
     HYPERCALL(console_io),
     HYPERCALL(event_channel_op),
@@ -5284,9 +5276,20 @@ static hvm_hypercall_t *const hvm_hypercall32_table[NR_hypercalls] = {
     COMPAT_CALL(platform_op),
     COMPAT_CALL(mmuext_op),
     HYPERCALL(xenpmu_op),
-    [ __HYPERVISOR_arch_1 ] = (hvm_hypercall_t *)paging_domctl_continuation
+    HYPERCALL(arch_1)
 };
 
+#undef do_memory_op
+#undef compat_memory_op
+#undef do_physdev_op
+#undef compat_physdev_op
+#undef do_grant_table_op
+#undef compat_grant_table_op
+#undef do_arch_1
+
+#undef HYPERCALL
+#undef COMPAT_CALL
+
 extern const uint8_t hypercall_args_table[], compat_hypercall_args_table[];
 
 int hvm_do_hypercall(struct cpu_user_regs *regs)
@@ -5316,7 +5319,7 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
     if ( (eax & 0x80000000) && is_viridian_domain(currd) )
         return viridian_hypercall(regs);
 
-    if ( (eax >= NR_hypercalls) || !hvm_hypercall32_table[eax] )
+    if ( (eax >= NR_hypercalls) || !hvm_hypercall_table[eax].native )
     {
         regs->eax = -ENOSYS;
         return HVM_HCALL_completed;
@@ -5350,7 +5353,8 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
 #endif
 
         curr->arch.hvm_vcpu.hcall_64bit = 1;
-        regs->rax = hvm_hypercall64_table[eax](rdi, rsi, rdx, r10, r8, r9);
+        regs->rax = hvm_hypercall_table[eax].native(rdi, rsi, rdx, r10, r8,
+                                                    r9);
 
         curr->arch.hvm_vcpu.hcall_64bit = 0;
 
@@ -5395,7 +5399,8 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
         }
 #endif
 
-        regs->_eax = hvm_hypercall32_table[eax](ebx, ecx, edx, esi, edi, ebp);
+        regs->_eax = hvm_hypercall_table[eax].compat(ebx, ecx, edx, esi, edi,
+                                                     ebp);
 
 #ifndef NDEBUG
         if ( !curr->arch.hvm_vcpu.hcall_preempted )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:33 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ll-0007N7-A0; Tue, 23 Feb 2016 08:56:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lj-0007MY-FQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:31 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	D0/9A-02989-EBE1CC65; Tue, 23 Feb 2016 08:56:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456217789!24230449!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13880 invoked from network); 23 Feb 2016 08:56:30 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:30 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lh-0007Xm-1C
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lg-0003Cy-VY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lg-0003Cy-VY@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:28 +0000
Subject: [Xen-changelog] [xen master] x86/HVM: fold hypercall tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33a231e3ff0e76d70adb5b22c52989d3a918d830
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:18:50 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:18:50 2016 +0100

    x86/HVM: fold hypercall tables
    
    In order to reduce the risk of unintentionally adding a function
    pointer to just one of the two tables, merge them into one, with each
    entry pair getting generated by a single macro invocation (at once
    dropping all explicit casting outside the macro definition).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/hvm.c | 81 +++++++++++++++++++++++++++-----------------------
 1 file changed, 43 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index fe382ce..3362637 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -5191,13 +5191,6 @@ static long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     }
 }
 
-typedef unsigned long hvm_hypercall_t(
-    unsigned long, unsigned long, unsigned long, unsigned long, unsigned long,
-    unsigned long);
-
-#define HYPERCALL(x)                                        \
-    [ __HYPERVISOR_ ## x ] = (hvm_hypercall_t *) do_ ## x
-
 static long hvm_grant_table_op_compat32(unsigned int cmd,
                                         XEN_GUEST_HANDLE_PARAM(void) uop,
                                         unsigned int count)
@@ -5242,35 +5235,34 @@ static long hvm_physdev_op_compat32(
     }
 }
 
-static hvm_hypercall_t *const hvm_hypercall64_table[NR_hypercalls] = {
-    [ __HYPERVISOR_memory_op ] = (hvm_hypercall_t *)hvm_memory_op,
-    [ __HYPERVISOR_grant_table_op ] = (hvm_hypercall_t *)hvm_grant_table_op,
-    HYPERCALL(vcpu_op),
-    [ __HYPERVISOR_physdev_op ] = (hvm_hypercall_t *)hvm_physdev_op,
-    HYPERCALL(xen_version),
-    HYPERCALL(console_io),
-    HYPERCALL(event_channel_op),
-    HYPERCALL(sched_op),
-    HYPERCALL(set_timer_op),
-    HYPERCALL(xsm_op),
-    HYPERCALL(hvm_op),
-    HYPERCALL(sysctl),
-    HYPERCALL(domctl),
-    HYPERCALL(tmem_op),
-    HYPERCALL(platform_op),
-    HYPERCALL(mmuext_op),
-    HYPERCALL(xenpmu_op),
-    [ __HYPERVISOR_arch_1 ] = (hvm_hypercall_t *)paging_domctl_continuation
-};
-
-#define COMPAT_CALL(x)                                        \
-    [ __HYPERVISOR_ ## x ] = (hvm_hypercall_t *) compat_ ## x
+typedef unsigned long hvm_hypercall_t(
+    unsigned long, unsigned long, unsigned long, unsigned long, unsigned long,
+    unsigned long);
 
-static hvm_hypercall_t *const hvm_hypercall32_table[NR_hypercalls] = {
-    [ __HYPERVISOR_memory_op ] = (hvm_hypercall_t *)hvm_memory_op_compat32,
-    [ __HYPERVISOR_grant_table_op ] = (hvm_hypercall_t *)hvm_grant_table_op_compat32,
+#define HYPERCALL(x)                                         \
+    [ __HYPERVISOR_ ## x ] = { (hvm_hypercall_t *) do_ ## x, \
+                               (hvm_hypercall_t *) do_ ## x }
+
+#define COMPAT_CALL(x)                                       \
+    [ __HYPERVISOR_ ## x ] = { (hvm_hypercall_t *) do_ ## x, \
+                               (hvm_hypercall_t *) compat_ ## x }
+
+#define do_memory_op          hvm_memory_op
+#define compat_memory_op      hvm_memory_op_compat32
+#define do_physdev_op         hvm_physdev_op
+#define compat_physdev_op     hvm_physdev_op_compat32
+#define do_grant_table_op     hvm_grant_table_op
+#define compat_grant_table_op hvm_grant_table_op_compat32
+#define do_arch_1             paging_domctl_continuation
+
+static const struct {
+    hvm_hypercall_t *native;
+    hvm_hypercall_t *compat;
+} hvm_hypercall_table[NR_hypercalls] = {
+    COMPAT_CALL(memory_op),
+    COMPAT_CALL(grant_table_op),
     COMPAT_CALL(vcpu_op),
-    [ __HYPERVISOR_physdev_op ] = (hvm_hypercall_t *)hvm_physdev_op_compat32,
+    COMPAT_CALL(physdev_op),
     COMPAT_CALL(xen_version),
     HYPERCALL(console_io),
     HYPERCALL(event_channel_op),
@@ -5284,9 +5276,20 @@ static hvm_hypercall_t *const hvm_hypercall32_table[NR_hypercalls] = {
     COMPAT_CALL(platform_op),
     COMPAT_CALL(mmuext_op),
     HYPERCALL(xenpmu_op),
-    [ __HYPERVISOR_arch_1 ] = (hvm_hypercall_t *)paging_domctl_continuation
+    HYPERCALL(arch_1)
 };
 
+#undef do_memory_op
+#undef compat_memory_op
+#undef do_physdev_op
+#undef compat_physdev_op
+#undef do_grant_table_op
+#undef compat_grant_table_op
+#undef do_arch_1
+
+#undef HYPERCALL
+#undef COMPAT_CALL
+
 extern const uint8_t hypercall_args_table[], compat_hypercall_args_table[];
 
 int hvm_do_hypercall(struct cpu_user_regs *regs)
@@ -5316,7 +5319,7 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
     if ( (eax & 0x80000000) && is_viridian_domain(currd) )
         return viridian_hypercall(regs);
 
-    if ( (eax >= NR_hypercalls) || !hvm_hypercall32_table[eax] )
+    if ( (eax >= NR_hypercalls) || !hvm_hypercall_table[eax].native )
     {
         regs->eax = -ENOSYS;
         return HVM_HCALL_completed;
@@ -5350,7 +5353,8 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
 #endif
 
         curr->arch.hvm_vcpu.hcall_64bit = 1;
-        regs->rax = hvm_hypercall64_table[eax](rdi, rsi, rdx, r10, r8, r9);
+        regs->rax = hvm_hypercall_table[eax].native(rdi, rsi, rdx, r10, r8,
+                                                    r9);
 
         curr->arch.hvm_vcpu.hcall_64bit = 0;
 
@@ -5395,7 +5399,8 @@ int hvm_do_hypercall(struct cpu_user_regs *regs)
         }
 #endif
 
-        regs->_eax = hvm_hypercall32_table[eax](ebx, ecx, edx, esi, edi, ebp);
+        regs->_eax = hvm_hypercall_table[eax].compat(ebx, ecx, edx, esi, edi,
+                                                     ebp);
 
 #ifndef NDEBUG
         if ( !curr->arch.hvm_vcpu.hcall_preempted )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lv-0007PQ-Db; Tue, 23 Feb 2016 08:56:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lt-0007Ot-TB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:42 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	78/9E-28972-9CE1CC65; Tue, 23 Feb 2016 08:56:41 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456217799!13745244!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11198 invoked from network); 23 Feb 2016 08:56:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lr-0007Xu-Cm
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lr-0003Ih-8H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lr-0003Ih-8H@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:39 +0000
Subject: [Xen-changelog] [xen master] x86emul: fold almost identical code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae80792f711325f5881154db6e2407a7645ac588
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:19:27 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:19:27 2016 +0100

    x86emul: fold almost identical code
    
    AAM/AAD as well as DAA/DAS emulation code is respectively almost
    identical. Fold each pair, following what's already the case for
    AAA/AAS.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 63 ++++++++++++----------------------
 1 file changed, 21 insertions(+), 42 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 90f8632..7a74ab7 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2053,46 +2053,25 @@ x86_emulate(
         src.val = x86_seg_ds;
         goto pop_seg;
 
-    case 0x27: /* daa */ {
-        uint8_t al = _regs.eax;
-        unsigned long eflags = _regs.eflags;
-        generate_exception_if(mode_64bit(), EXC_UD, -1);
-        _regs.eflags &= ~(EFLG_CF|EFLG_AF);
-        if ( ((al & 0x0f) > 9) || (eflags & EFLG_AF) )
-        {
-            *(uint8_t *)&_regs.eax += 6;
-            _regs.eflags |= EFLG_AF;
-        }
-        if ( (al > 0x99) || (eflags & EFLG_CF) )
-        {
-            *(uint8_t *)&_regs.eax += 0x60;
-            _regs.eflags |= EFLG_CF;
-        }
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
-        _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
-        _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
-        _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
-        break;
-    }
-
+    case 0x27: /* daa */
     case 0x2f: /* das */ {
         uint8_t al = _regs.eax;
         unsigned long eflags = _regs.eflags;
+
         generate_exception_if(mode_64bit(), EXC_UD, -1);
-        _regs.eflags &= ~(EFLG_CF|EFLG_AF);
+        _regs.eflags &= ~(EFLG_CF|EFLG_AF|EFLG_SF|EFLG_ZF|EFLG_PF);
         if ( ((al & 0x0f) > 9) || (eflags & EFLG_AF) )
         {
             _regs.eflags |= EFLG_AF;
-            if ( (al < 6) || (eflags & EFLG_CF) )
+            if ( b == 0x2f && (al < 6 || (eflags & EFLG_CF)) )
                 _regs.eflags |= EFLG_CF;
-            *(uint8_t *)&_regs.eax -= 6;
+            *(uint8_t *)&_regs.eax += (b == 0x27) ? 6 : -6;
         }
         if ( (al > 0x99) || (eflags & EFLG_CF) )
         {
-            *(uint8_t *)&_regs.eax -= 0x60;
+            *(uint8_t *)&_regs.eax += (b == 0x27) ? 0x60 : -0x60;
             _regs.eflags |= EFLG_CF;
         }
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
         _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
         _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
         _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
@@ -2833,24 +2812,24 @@ x86_emulate(
         src.val = _regs.ecx;
         goto grp2;
 
-    case 0xd4: /* aam */ {
-        unsigned int base = insn_fetch_type(uint8_t);
-        uint8_t al = _regs.eax;
-        generate_exception_if(mode_64bit(), EXC_UD, -1);
-        generate_exception_if(base == 0, EXC_DE, -1);
-        *(uint16_t *)&_regs.eax = ((al / base) << 8) | (al % base);
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
-        _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
-        _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
-        _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
-        break;
-    }
-
+    case 0xd4: /* aam */
     case 0xd5: /* aad */ {
         unsigned int base = insn_fetch_type(uint8_t);
-        uint16_t ax = _regs.eax;
+
         generate_exception_if(mode_64bit(), EXC_UD, -1);
-        *(uint16_t *)&_regs.eax = (uint8_t)(ax + ((ax >> 8) * base));
+        if ( b & 0x01 )
+        {
+            uint16_t ax = _regs.eax;
+
+            *(uint16_t *)&_regs.eax = (uint8_t)(ax + ((ax >> 8) * base));
+        }
+        else
+        {
+            uint8_t al = _regs.eax;
+
+            generate_exception_if(!base, EXC_DE, -1);
+            *(uint16_t *)&_regs.eax = ((al / base) << 8) | (al % base);
+        }
         _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
         _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
         _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:43 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8lv-0007PQ-Db; Tue, 23 Feb 2016 08:56:43 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lt-0007Ot-TB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:42 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
	78/9E-28972-9CE1CC65; Tue, 23 Feb 2016 08:56:41 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456217799!13745244!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11198 invoked from network); 23 Feb 2016 08:56:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lr-0007Xu-Cm
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8lr-0003Ih-8H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8lr-0003Ih-8H@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:39 +0000
Subject: [Xen-changelog] [xen master] x86emul: fold almost identical code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae80792f711325f5881154db6e2407a7645ac588
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:19:27 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:19:27 2016 +0100

    x86emul: fold almost identical code
    
    AAM/AAD as well as DAA/DAS emulation code is respectively almost
    identical. Fold each pair, following what's already the case for
    AAA/AAS.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 63 ++++++++++++----------------------
 1 file changed, 21 insertions(+), 42 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 90f8632..7a74ab7 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2053,46 +2053,25 @@ x86_emulate(
         src.val = x86_seg_ds;
         goto pop_seg;
 
-    case 0x27: /* daa */ {
-        uint8_t al = _regs.eax;
-        unsigned long eflags = _regs.eflags;
-        generate_exception_if(mode_64bit(), EXC_UD, -1);
-        _regs.eflags &= ~(EFLG_CF|EFLG_AF);
-        if ( ((al & 0x0f) > 9) || (eflags & EFLG_AF) )
-        {
-            *(uint8_t *)&_regs.eax += 6;
-            _regs.eflags |= EFLG_AF;
-        }
-        if ( (al > 0x99) || (eflags & EFLG_CF) )
-        {
-            *(uint8_t *)&_regs.eax += 0x60;
-            _regs.eflags |= EFLG_CF;
-        }
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
-        _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
-        _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
-        _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
-        break;
-    }
-
+    case 0x27: /* daa */
     case 0x2f: /* das */ {
         uint8_t al = _regs.eax;
         unsigned long eflags = _regs.eflags;
+
         generate_exception_if(mode_64bit(), EXC_UD, -1);
-        _regs.eflags &= ~(EFLG_CF|EFLG_AF);
+        _regs.eflags &= ~(EFLG_CF|EFLG_AF|EFLG_SF|EFLG_ZF|EFLG_PF);
         if ( ((al & 0x0f) > 9) || (eflags & EFLG_AF) )
         {
             _regs.eflags |= EFLG_AF;
-            if ( (al < 6) || (eflags & EFLG_CF) )
+            if ( b == 0x2f && (al < 6 || (eflags & EFLG_CF)) )
                 _regs.eflags |= EFLG_CF;
-            *(uint8_t *)&_regs.eax -= 6;
+            *(uint8_t *)&_regs.eax += (b == 0x27) ? 6 : -6;
         }
         if ( (al > 0x99) || (eflags & EFLG_CF) )
         {
-            *(uint8_t *)&_regs.eax -= 0x60;
+            *(uint8_t *)&_regs.eax += (b == 0x27) ? 0x60 : -0x60;
             _regs.eflags |= EFLG_CF;
         }
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
         _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
         _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
         _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
@@ -2833,24 +2812,24 @@ x86_emulate(
         src.val = _regs.ecx;
         goto grp2;
 
-    case 0xd4: /* aam */ {
-        unsigned int base = insn_fetch_type(uint8_t);
-        uint8_t al = _regs.eax;
-        generate_exception_if(mode_64bit(), EXC_UD, -1);
-        generate_exception_if(base == 0, EXC_DE, -1);
-        *(uint16_t *)&_regs.eax = ((al / base) << 8) | (al % base);
-        _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
-        _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
-        _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
-        _regs.eflags |= even_parity(_regs.eax) ? EFLG_PF : 0;
-        break;
-    }
-
+    case 0xd4: /* aam */
     case 0xd5: /* aad */ {
         unsigned int base = insn_fetch_type(uint8_t);
-        uint16_t ax = _regs.eax;
+
         generate_exception_if(mode_64bit(), EXC_UD, -1);
-        *(uint16_t *)&_regs.eax = (uint8_t)(ax + ((ax >> 8) * base));
+        if ( b & 0x01 )
+        {
+            uint16_t ax = _regs.eax;
+
+            *(uint16_t *)&_regs.eax = (uint8_t)(ax + ((ax >> 8) * base));
+        }
+        else
+        {
+            uint8_t al = _regs.eax;
+
+            generate_exception_if(!base, EXC_DE, -1);
+            *(uint16_t *)&_regs.eax = ((al / base) << 8) | (al % base);
+        }
         _regs.eflags &= ~(EFLG_SF|EFLG_ZF|EFLG_PF);
         _regs.eflags |= ((uint8_t)_regs.eax == 0) ? EFLG_ZF : 0;
         _regs.eflags |= (( int8_t)_regs.eax <  0) ? EFLG_SF : 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8m5-0007SP-HS; Tue, 23 Feb 2016 08:56:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m4-0007S2-43
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:52 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	4A/53-08347-3DE1CC65; Tue, 23 Feb 2016 08:56:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1456217809!25883886!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49835 invoked from network); 23 Feb 2016 08:56:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m1-0007YA-N9
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m1-0003O5-L7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8m1-0003O5-L7@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:49 +0000
Subject: [Xen-changelog] [xen master] x86emul: relax asm() constraints
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5644ce014223a6dbd087c0a5e18b5abe37b91c8d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:20:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:20:01 2016 +0100

    x86emul: relax asm() constraints
    
    Let's give the compiler as much liberty at picking instruction operands
    as possible. Also drop unnecessary size modifiers when the correct size
    can already be derived from the asm() operands. Finally also drop an
    "unsigned" from idiv_dbl()'s second parameter, allowing a cast to be
    eliminated.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 36 ++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 7a74ab7..028b3f6 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -611,7 +611,7 @@ do {                                                    \
  */
 static bool_t even_parity(uint8_t v)
 {
-    asm ( "test %b0,%b0; setp %b0" : "=a" (v) : "0" (v) );
+    asm ( "test %1,%1; setp %0" : "=qm" (v) : "q" (v) );
     return v;
 }
 
@@ -813,9 +813,9 @@ static int read_ulong(
  */
 static bool_t mul_dbl(unsigned long m[2])
 {
-    bool_t rc = 0;
-    asm ( "mul %1; seto %b2"
-          : "+a" (m[0]), "+d" (m[1]), "+q" (rc) );
+    bool_t rc;
+    asm ( "mul %1; seto %2"
+          : "+a" (m[0]), "+d" (m[1]), "=qm" (rc) );
     return rc;
 }
 
@@ -826,9 +826,9 @@ static bool_t mul_dbl(unsigned long m[2])
  */
 static bool_t imul_dbl(unsigned long m[2])
 {
-    bool_t rc = 0;
-    asm ( "imul %1; seto %b2"
-          : "+a" (m[0]), "+d" (m[1]), "+q" (rc) );
+    bool_t rc;
+    asm ( "imul %1; seto %2"
+          : "+a" (m[0]), "+d" (m[1]), "=qm" (rc) );
     return rc;
 }
 
@@ -842,7 +842,7 @@ static bool_t div_dbl(unsigned long u[2], unsigned long v)
 {
     if ( (v == 0) || (u[1] >= v) )
         return 1;
-    asm ( "div %2" : "+a" (u[0]), "+d" (u[1]) : "r" (v) );
+    asm ( "divq %2" : "+a" (u[0]), "+d" (u[1]) : "rm" (v) );
     return 0;
 }
 
@@ -854,9 +854,9 @@ static bool_t div_dbl(unsigned long u[2], unsigned long v)
  * NB. We don't use idiv directly as it's moderately hard to work out
  *     ahead of time whether it will #DE, which we cannot allow to happen.
  */
-static bool_t idiv_dbl(unsigned long u[2], unsigned long v)
+static bool_t idiv_dbl(unsigned long u[2], long v)
 {
-    bool_t negu = (long)u[1] < 0, negv = (long)v < 0;
+    bool_t negu = (long)u[1] < 0, negv = v < 0;
 
     /* u = abs(u) */
     if ( negu )
@@ -4521,9 +4521,10 @@ x86_emulate(
 
     case 0xbc: /* bsf or tzcnt */ {
         bool_t zf;
-        asm ( "bsf %2,%0; setz %b1"
-              : "=r" (dst.val), "=q" (zf)
-              : "r" (src.val) );
+
+        asm ( "bsf %2,%0; setz %1"
+              : "=r" (dst.val), "=qm" (zf)
+              : "rm" (src.val) );
         _regs.eflags &= ~EFLG_ZF;
         if ( (vex.pfx == vex_f3) && vcpu_has_bmi1() )
         {
@@ -4546,9 +4547,10 @@ x86_emulate(
 
     case 0xbd: /* bsr or lzcnt */ {
         bool_t zf;
-        asm ( "bsr %2,%0; setz %b1"
-              : "=r" (dst.val), "=q" (zf)
-              : "r" (src.val) );
+
+        asm ( "bsr %2,%0; setz %1"
+              : "=r" (dst.val), "=qm" (zf)
+              : "rm" (src.val) );
         _regs.eflags &= ~EFLG_ZF;
         if ( (vex.pfx == vex_f3) && vcpu_has_lzcnt() )
         {
@@ -4677,7 +4679,7 @@ x86_emulate(
             break;
         case 4:
 #ifdef __x86_64__
-            asm ( "bswap %k0" : "=r" (dst.val) : "0" (*dst.reg) );
+            asm ( "bswap %k0" : "=r" (dst.val) : "0" (*(uint32_t *)dst.reg) );
             break;
         case 8:
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:56:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8m5-0007SP-HS; Tue, 23 Feb 2016 08:56:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m4-0007S2-43
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:52 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
	4A/53-08347-3DE1CC65; Tue, 23 Feb 2016 08:56:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1456217809!25883886!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49835 invoked from network); 23 Feb 2016 08:56:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:56:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m1-0007YA-N9
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8m1-0003O5-L7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:56:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8m1-0003O5-L7@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:49 +0000
Subject: [Xen-changelog] [xen master] x86emul: relax asm() constraints
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5644ce014223a6dbd087c0a5e18b5abe37b91c8d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:20:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:20:01 2016 +0100

    x86emul: relax asm() constraints
    
    Let's give the compiler as much liberty at picking instruction operands
    as possible. Also drop unnecessary size modifiers when the correct size
    can already be derived from the asm() operands. Finally also drop an
    "unsigned" from idiv_dbl()'s second parameter, allowing a cast to be
    eliminated.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 36 ++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 7a74ab7..028b3f6 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -611,7 +611,7 @@ do {                                                    \
  */
 static bool_t even_parity(uint8_t v)
 {
-    asm ( "test %b0,%b0; setp %b0" : "=a" (v) : "0" (v) );
+    asm ( "test %1,%1; setp %0" : "=qm" (v) : "q" (v) );
     return v;
 }
 
@@ -813,9 +813,9 @@ static int read_ulong(
  */
 static bool_t mul_dbl(unsigned long m[2])
 {
-    bool_t rc = 0;
-    asm ( "mul %1; seto %b2"
-          : "+a" (m[0]), "+d" (m[1]), "+q" (rc) );
+    bool_t rc;
+    asm ( "mul %1; seto %2"
+          : "+a" (m[0]), "+d" (m[1]), "=qm" (rc) );
     return rc;
 }
 
@@ -826,9 +826,9 @@ static bool_t mul_dbl(unsigned long m[2])
  */
 static bool_t imul_dbl(unsigned long m[2])
 {
-    bool_t rc = 0;
-    asm ( "imul %1; seto %b2"
-          : "+a" (m[0]), "+d" (m[1]), "+q" (rc) );
+    bool_t rc;
+    asm ( "imul %1; seto %2"
+          : "+a" (m[0]), "+d" (m[1]), "=qm" (rc) );
     return rc;
 }
 
@@ -842,7 +842,7 @@ static bool_t div_dbl(unsigned long u[2], unsigned long v)
 {
     if ( (v == 0) || (u[1] >= v) )
         return 1;
-    asm ( "div %2" : "+a" (u[0]), "+d" (u[1]) : "r" (v) );
+    asm ( "divq %2" : "+a" (u[0]), "+d" (u[1]) : "rm" (v) );
     return 0;
 }
 
@@ -854,9 +854,9 @@ static bool_t div_dbl(unsigned long u[2], unsigned long v)
  * NB. We don't use idiv directly as it's moderately hard to work out
  *     ahead of time whether it will #DE, which we cannot allow to happen.
  */
-static bool_t idiv_dbl(unsigned long u[2], unsigned long v)
+static bool_t idiv_dbl(unsigned long u[2], long v)
 {
-    bool_t negu = (long)u[1] < 0, negv = (long)v < 0;
+    bool_t negu = (long)u[1] < 0, negv = v < 0;
 
     /* u = abs(u) */
     if ( negu )
@@ -4521,9 +4521,10 @@ x86_emulate(
 
     case 0xbc: /* bsf or tzcnt */ {
         bool_t zf;
-        asm ( "bsf %2,%0; setz %b1"
-              : "=r" (dst.val), "=q" (zf)
-              : "r" (src.val) );
+
+        asm ( "bsf %2,%0; setz %1"
+              : "=r" (dst.val), "=qm" (zf)
+              : "rm" (src.val) );
         _regs.eflags &= ~EFLG_ZF;
         if ( (vex.pfx == vex_f3) && vcpu_has_bmi1() )
         {
@@ -4546,9 +4547,10 @@ x86_emulate(
 
     case 0xbd: /* bsr or lzcnt */ {
         bool_t zf;
-        asm ( "bsr %2,%0; setz %b1"
-              : "=r" (dst.val), "=q" (zf)
-              : "r" (src.val) );
+
+        asm ( "bsr %2,%0; setz %1"
+              : "=r" (dst.val), "=qm" (zf)
+              : "rm" (src.val) );
         _regs.eflags &= ~EFLG_ZF;
         if ( (vex.pfx == vex_f3) && vcpu_has_lzcnt() )
         {
@@ -4677,7 +4679,7 @@ x86_emulate(
             break;
         case 4:
 #ifdef __x86_64__
-            asm ( "bswap %k0" : "=r" (dst.val) : "0" (*dst.reg) );
+            asm ( "bswap %k0" : "=r" (dst.val) : "0" (*(uint32_t *)dst.reg) );
             break;
         case 8:
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mF-0007Um-LG; Tue, 23 Feb 2016 08:57:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mE-0007UL-Ax
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:02 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	AD/58-04050-DDE1CC65; Tue, 23 Feb 2016 08:57:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456217820!14692296!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59599 invoked from network); 23 Feb 2016 08:57:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mC-0007YN-2N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mB-0003VM-Vp
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:00 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mB-0003VM-Vp@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:59 +0000
Subject: [Xen-changelog] [xen master] cleanup xen/config.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 64290e78ac4c07e2bba5f99e724c53b54b7e11e8
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:20:35 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:20:35 2016 +0100

    cleanup xen/config.h
    
    config.h contains an unused definition of mk_unsigned_long().
    
    Remove it.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/xen/config.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d780121..a992933 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -77,15 +77,6 @@
 #define __STR(...) #__VA_ARGS__
 #define STR(...) __STR(__VA_ARGS__)
 
-#ifndef __ASSEMBLY__
-/* Turn a plain number into a C unsigned long constant. */
-#define __mk_unsigned_long(x) x ## UL
-#define mk_unsigned_long(x) __mk_unsigned_long(x)
-#else /* __ASSEMBLY__ */
-/* In assembly code we cannot use C numeric constant suffixes. */
-#define mk_unsigned_long(x) x
-#endif /* !__ASSEMBLY__ */
-
 #ifdef CONFIG_FLASK
 #define XSM_MAGIC 0xf97cff8c
 /* Maintain statistics on the access vector cache */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mF-0007Um-LG; Tue, 23 Feb 2016 08:57:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mE-0007UL-Ax
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:02 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	AD/58-04050-DDE1CC65; Tue, 23 Feb 2016 08:57:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456217820!14692296!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59599 invoked from network); 23 Feb 2016 08:57:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mC-0007YN-2N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:00 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mB-0003VM-Vp
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:00 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mB-0003VM-Vp@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:56:59 +0000
Subject: [Xen-changelog] [xen master] cleanup xen/config.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 64290e78ac4c07e2bba5f99e724c53b54b7e11e8
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:20:35 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:20:35 2016 +0100

    cleanup xen/config.h
    
    config.h contains an unused definition of mk_unsigned_long().
    
    Remove it.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/xen/config.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d780121..a992933 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -77,15 +77,6 @@
 #define __STR(...) #__VA_ARGS__
 #define STR(...) __STR(__VA_ARGS__)
 
-#ifndef __ASSEMBLY__
-/* Turn a plain number into a C unsigned long constant. */
-#define __mk_unsigned_long(x) x ## UL
-#define mk_unsigned_long(x) __mk_unsigned_long(x)
-#else /* __ASSEMBLY__ */
-/* In assembly code we cannot use C numeric constant suffixes. */
-#define mk_unsigned_long(x) x
-#endif /* !__ASSEMBLY__ */
-
 #ifdef CONFIG_FLASK
 #define XSM_MAGIC 0xf97cff8c
 /* Maintain statistics on the access vector cache */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mQ-0007XD-OX; Tue, 23 Feb 2016 08:57:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mO-0007Wk-S2
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:13 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	F4/6C-03511-8EE1CC65; Tue, 23 Feb 2016 08:57:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217830!24263066!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23051 invoked from network); 23 Feb 2016 08:57:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mM-0007Z2-Fs
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mM-0003Yg-Au
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mM-0003Yg-Au@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:10 +0000
Subject: [Xen-changelog] [xen master] public: make some constants usable for
	assembler
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 936f34c2175ff27c7f9f63c4bbd7fdf2c736c05f
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:21:20 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:21:20 2016 +0100

    public: make some constants usable for assembler
    
    Some constants defined in xen/include/public/xen.h are not usable in
    assembler sources as they are either defined with "U" or "UL" suffixes
    or they are inside #ifndef __ASSEMBLY__ areas.
    
    Change this as grub2 could make use of those definitions.
    
    This requires to move the definition of mk_unsigned_long() up. While
    we are touching this macro, rename it in order to avoid namespace
    pollution. This in turn requires adaption of some arch-x86 specific
    headers.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/arch-x86/xen-x86_32.h | 21 +++++-------
 xen/include/public/arch-x86/xen-x86_64.h |  8 ++---
 xen/include/public/xen.h                 | 58 +++++++++++++++++---------------
 3 files changed, 44 insertions(+), 43 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index be9a6c6..7eca6cd 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -58,34 +58,31 @@
 #define __HYPERVISOR_VIRT_START_PAE    0xF5800000
 #define __MACH2PHYS_VIRT_START_PAE     0xF5800000
 #define __MACH2PHYS_VIRT_END_PAE       0xF6800000
-#define HYPERVISOR_VIRT_START_PAE      \
-    mk_unsigned_long(__HYPERVISOR_VIRT_START_PAE)
-#define MACH2PHYS_VIRT_START_PAE       \
-    mk_unsigned_long(__MACH2PHYS_VIRT_START_PAE)
-#define MACH2PHYS_VIRT_END_PAE         \
-    mk_unsigned_long(__MACH2PHYS_VIRT_END_PAE)
+#define HYPERVISOR_VIRT_START_PAE      xen_mk_ulong(__HYPERVISOR_VIRT_START_PAE)
+#define MACH2PHYS_VIRT_START_PAE       xen_mk_ulong(__MACH2PHYS_VIRT_START_PAE)
+#define MACH2PHYS_VIRT_END_PAE         xen_mk_ulong(__MACH2PHYS_VIRT_END_PAE)
 
 /* Non-PAE bounds are obsolete. */
 #define __HYPERVISOR_VIRT_START_NONPAE 0xFC000000
 #define __MACH2PHYS_VIRT_START_NONPAE  0xFC000000
 #define __MACH2PHYS_VIRT_END_NONPAE    0xFC400000
 #define HYPERVISOR_VIRT_START_NONPAE   \
-    mk_unsigned_long(__HYPERVISOR_VIRT_START_NONPAE)
+    xen_mk_ulong(__HYPERVISOR_VIRT_START_NONPAE)
 #define MACH2PHYS_VIRT_START_NONPAE    \
-    mk_unsigned_long(__MACH2PHYS_VIRT_START_NONPAE)
+    xen_mk_ulong(__MACH2PHYS_VIRT_START_NONPAE)
 #define MACH2PHYS_VIRT_END_NONPAE      \
-    mk_unsigned_long(__MACH2PHYS_VIRT_END_NONPAE)
+    xen_mk_ulong(__MACH2PHYS_VIRT_END_NONPAE)
 
 #define __HYPERVISOR_VIRT_START __HYPERVISOR_VIRT_START_PAE
 #define __MACH2PHYS_VIRT_START  __MACH2PHYS_VIRT_START_PAE
 #define __MACH2PHYS_VIRT_END    __MACH2PHYS_VIRT_END_PAE
 
 #ifndef HYPERVISOR_VIRT_START
-#define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START)
+#define HYPERVISOR_VIRT_START xen_mk_ulong(__HYPERVISOR_VIRT_START)
 #endif
 
-#define MACH2PHYS_VIRT_START  mk_unsigned_long(__MACH2PHYS_VIRT_START)
-#define MACH2PHYS_VIRT_END    mk_unsigned_long(__MACH2PHYS_VIRT_END)
+#define MACH2PHYS_VIRT_START  xen_mk_ulong(__MACH2PHYS_VIRT_START)
+#define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>2)
 #ifndef machine_to_phys_mapping
 #define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START)
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 1c4e159..5e18613 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -76,12 +76,12 @@
 #define __MACH2PHYS_VIRT_END    0xFFFF804000000000
 
 #ifndef HYPERVISOR_VIRT_START
-#define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START)
-#define HYPERVISOR_VIRT_END   mk_unsigned_long(__HYPERVISOR_VIRT_END)
+#define HYPERVISOR_VIRT_START xen_mk_ulong(__HYPERVISOR_VIRT_START)
+#define HYPERVISOR_VIRT_END   xen_mk_ulong(__HYPERVISOR_VIRT_END)
 #endif
 
-#define MACH2PHYS_VIRT_START  mk_unsigned_long(__MACH2PHYS_VIRT_START)
-#define MACH2PHYS_VIRT_END    mk_unsigned_long(__MACH2PHYS_VIRT_END)
+#define MACH2PHYS_VIRT_START  xen_mk_ulong(__MACH2PHYS_VIRT_START)
+#define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>3)
 #ifndef machine_to_phys_mapping
 #define machine_to_phys_mapping ((unsigned long *)HYPERVISOR_VIRT_START)
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 7b629b1..6c9e42b 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -52,6 +52,19 @@ DEFINE_XEN_GUEST_HANDLE(void);
 DEFINE_XEN_GUEST_HANDLE(uint64_t);
 DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
+
+/* Turn a plain number into a C unsigned (long) constant. */
+#define __xen_mk_uint(x)  x ## U
+#define __xen_mk_ulong(x) x ## UL
+#define xen_mk_uint(x)    __xen_mk_uint(x)
+#define xen_mk_ulong(x)   __xen_mk_ulong(x)
+
+#else
+
+/* In assembly code we cannot use C numeric constant suffixes. */
+#define xen_mk_uint(x)  x
+#define xen_mk_ulong(x) x
+
 #endif
 
 /*
@@ -451,13 +464,13 @@ DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
 /* When specifying UVMF_MULTI, also OR in a pointer to a CPU bitmap.   */
 /* UVMF_LOCAL is merely UVMF_MULTI with a NULL bitmap pointer.         */
 /* ` enum uvm_flags { */
-#define UVMF_NONE               (0UL<<0) /* No flushing at all.   */
-#define UVMF_TLB_FLUSH          (1UL<<0) /* Flush entire TLB(s).  */
-#define UVMF_INVLPG             (2UL<<0) /* Flush only one entry. */
-#define UVMF_FLUSHTYPE_MASK     (3UL<<0)
-#define UVMF_MULTI              (0UL<<2) /* Flush subset of TLBs. */
-#define UVMF_LOCAL              (0UL<<2) /* Flush local TLB.      */
-#define UVMF_ALL                (1UL<<2) /* Flush all TLBs.       */
+#define UVMF_NONE           (xen_mk_ulong(0)<<0) /* No flushing at all.   */
+#define UVMF_TLB_FLUSH      (xen_mk_ulong(1)<<0) /* Flush entire TLB(s).  */
+#define UVMF_INVLPG         (xen_mk_ulong(2)<<0) /* Flush only one entry. */
+#define UVMF_FLUSHTYPE_MASK (xen_mk_ulong(3)<<0)
+#define UVMF_MULTI          (xen_mk_ulong(0)<<2) /* Flush subset of TLBs. */
+#define UVMF_LOCAL          (xen_mk_ulong(0)<<2) /* Flush local TLB.      */
+#define UVMF_ALL            (xen_mk_ulong(1)<<2) /* Flush all TLBs.       */
 /* ` } */
 
 /*
@@ -504,15 +517,11 @@ DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
 #define MAX_VMASST_TYPE                  3
 #endif
 
-#ifndef __ASSEMBLY__
-
-typedef uint16_t domid_t;
-
 /* Domain ids >= DOMID_FIRST_RESERVED cannot be used for ordinary domains. */
-#define DOMID_FIRST_RESERVED (0x7FF0U)
+#define DOMID_FIRST_RESERVED xen_mk_uint(0x7FF0)
 
 /* DOMID_SELF is used in certain contexts to refer to oneself. */
-#define DOMID_SELF (0x7FF0U)
+#define DOMID_SELF           xen_mk_uint(0x7FF0)
 
 /*
  * DOMID_IO is used to restrict page-table updates to mapping I/O memory.
@@ -523,7 +532,7 @@ typedef uint16_t domid_t;
  * This only makes sense in MMUEXT_SET_FOREIGNDOM, but in that context can
  * be specified by any calling domain.
  */
-#define DOMID_IO   (0x7FF1U)
+#define DOMID_IO             xen_mk_uint(0x7FF1)
 
 /*
  * DOMID_XEN is used to allow privileged domains to map restricted parts of
@@ -531,17 +540,21 @@ typedef uint16_t domid_t;
  * This only makes sense in MMUEXT_SET_FOREIGNDOM, and is only permitted if
  * the caller is privileged.
  */
-#define DOMID_XEN  (0x7FF2U)
+#define DOMID_XEN            xen_mk_uint(0x7FF2)
 
 /*
  * DOMID_COW is used as the owner of sharable pages */
-#define DOMID_COW  (0x7FF3U)
+#define DOMID_COW            xen_mk_uint(0x7FF3)
 
 /* DOMID_INVALID is used to identify pages with unknown owner. */
-#define DOMID_INVALID (0x7FF4U)
+#define DOMID_INVALID        xen_mk_uint(0x7FF4)
 
 /* Idle domain. */
-#define DOMID_IDLE (0x7FFFU)
+#define DOMID_IDLE           xen_mk_uint(0x7FFF)
+
+#ifndef __ASSEMBLY__
+
+typedef uint16_t domid_t;
 
 /*
  * Send an array of these to HYPERVISOR_mmu_update().
@@ -901,20 +914,11 @@ typedef struct dom0_vga_console_info {
 
 typedef uint8_t xen_domain_handle_t[16];
 
-/* Turn a plain number into a C unsigned long constant. */
-#define __mk_unsigned_long(x) x ## UL
-#define mk_unsigned_long(x) __mk_unsigned_long(x)
-
 __DEFINE_XEN_GUEST_HANDLE(uint8,  uint8_t);
 __DEFINE_XEN_GUEST_HANDLE(uint16, uint16_t);
 __DEFINE_XEN_GUEST_HANDLE(uint32, uint32_t);
 __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
 
-#else /* __ASSEMBLY__ */
-
-/* In assembly code we cannot use C numeric constant suffixes. */
-#define mk_unsigned_long(x) x
-
 #endif /* !__ASSEMBLY__ */
 
 /* Default definitions for macros used by domctl/sysctl. */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mQ-0007XD-OX; Tue, 23 Feb 2016 08:57:14 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mO-0007Wk-S2
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:13 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	F4/6C-03511-8EE1CC65; Tue, 23 Feb 2016 08:57:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217830!24263066!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23051 invoked from network); 23 Feb 2016 08:57:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mM-0007Z2-Fs
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mM-0003Yg-Au
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mM-0003Yg-Au@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:10 +0000
Subject: [Xen-changelog] [xen master] public: make some constants usable for
	assembler
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 936f34c2175ff27c7f9f63c4bbd7fdf2c736c05f
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:21:20 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:21:20 2016 +0100

    public: make some constants usable for assembler
    
    Some constants defined in xen/include/public/xen.h are not usable in
    assembler sources as they are either defined with "U" or "UL" suffixes
    or they are inside #ifndef __ASSEMBLY__ areas.
    
    Change this as grub2 could make use of those definitions.
    
    This requires to move the definition of mk_unsigned_long() up. While
    we are touching this macro, rename it in order to avoid namespace
    pollution. This in turn requires adaption of some arch-x86 specific
    headers.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/arch-x86/xen-x86_32.h | 21 +++++-------
 xen/include/public/arch-x86/xen-x86_64.h |  8 ++---
 xen/include/public/xen.h                 | 58 +++++++++++++++++---------------
 3 files changed, 44 insertions(+), 43 deletions(-)

diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index be9a6c6..7eca6cd 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -58,34 +58,31 @@
 #define __HYPERVISOR_VIRT_START_PAE    0xF5800000
 #define __MACH2PHYS_VIRT_START_PAE     0xF5800000
 #define __MACH2PHYS_VIRT_END_PAE       0xF6800000
-#define HYPERVISOR_VIRT_START_PAE      \
-    mk_unsigned_long(__HYPERVISOR_VIRT_START_PAE)
-#define MACH2PHYS_VIRT_START_PAE       \
-    mk_unsigned_long(__MACH2PHYS_VIRT_START_PAE)
-#define MACH2PHYS_VIRT_END_PAE         \
-    mk_unsigned_long(__MACH2PHYS_VIRT_END_PAE)
+#define HYPERVISOR_VIRT_START_PAE      xen_mk_ulong(__HYPERVISOR_VIRT_START_PAE)
+#define MACH2PHYS_VIRT_START_PAE       xen_mk_ulong(__MACH2PHYS_VIRT_START_PAE)
+#define MACH2PHYS_VIRT_END_PAE         xen_mk_ulong(__MACH2PHYS_VIRT_END_PAE)
 
 /* Non-PAE bounds are obsolete. */
 #define __HYPERVISOR_VIRT_START_NONPAE 0xFC000000
 #define __MACH2PHYS_VIRT_START_NONPAE  0xFC000000
 #define __MACH2PHYS_VIRT_END_NONPAE    0xFC400000
 #define HYPERVISOR_VIRT_START_NONPAE   \
-    mk_unsigned_long(__HYPERVISOR_VIRT_START_NONPAE)
+    xen_mk_ulong(__HYPERVISOR_VIRT_START_NONPAE)
 #define MACH2PHYS_VIRT_START_NONPAE    \
-    mk_unsigned_long(__MACH2PHYS_VIRT_START_NONPAE)
+    xen_mk_ulong(__MACH2PHYS_VIRT_START_NONPAE)
 #define MACH2PHYS_VIRT_END_NONPAE      \
-    mk_unsigned_long(__MACH2PHYS_VIRT_END_NONPAE)
+    xen_mk_ulong(__MACH2PHYS_VIRT_END_NONPAE)
 
 #define __HYPERVISOR_VIRT_START __HYPERVISOR_VIRT_START_PAE
 #define __MACH2PHYS_VIRT_START  __MACH2PHYS_VIRT_START_PAE
 #define __MACH2PHYS_VIRT_END    __MACH2PHYS_VIRT_END_PAE
 
 #ifndef HYPERVISOR_VIRT_START
-#define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START)
+#define HYPERVISOR_VIRT_START xen_mk_ulong(__HYPERVISOR_VIRT_START)
 #endif
 
-#define MACH2PHYS_VIRT_START  mk_unsigned_long(__MACH2PHYS_VIRT_START)
-#define MACH2PHYS_VIRT_END    mk_unsigned_long(__MACH2PHYS_VIRT_END)
+#define MACH2PHYS_VIRT_START  xen_mk_ulong(__MACH2PHYS_VIRT_START)
+#define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>2)
 #ifndef machine_to_phys_mapping
 #define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START)
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 1c4e159..5e18613 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -76,12 +76,12 @@
 #define __MACH2PHYS_VIRT_END    0xFFFF804000000000
 
 #ifndef HYPERVISOR_VIRT_START
-#define HYPERVISOR_VIRT_START mk_unsigned_long(__HYPERVISOR_VIRT_START)
-#define HYPERVISOR_VIRT_END   mk_unsigned_long(__HYPERVISOR_VIRT_END)
+#define HYPERVISOR_VIRT_START xen_mk_ulong(__HYPERVISOR_VIRT_START)
+#define HYPERVISOR_VIRT_END   xen_mk_ulong(__HYPERVISOR_VIRT_END)
 #endif
 
-#define MACH2PHYS_VIRT_START  mk_unsigned_long(__MACH2PHYS_VIRT_START)
-#define MACH2PHYS_VIRT_END    mk_unsigned_long(__MACH2PHYS_VIRT_END)
+#define MACH2PHYS_VIRT_START  xen_mk_ulong(__MACH2PHYS_VIRT_START)
+#define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>3)
 #ifndef machine_to_phys_mapping
 #define machine_to_phys_mapping ((unsigned long *)HYPERVISOR_VIRT_START)
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 7b629b1..6c9e42b 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -52,6 +52,19 @@ DEFINE_XEN_GUEST_HANDLE(void);
 DEFINE_XEN_GUEST_HANDLE(uint64_t);
 DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
+
+/* Turn a plain number into a C unsigned (long) constant. */
+#define __xen_mk_uint(x)  x ## U
+#define __xen_mk_ulong(x) x ## UL
+#define xen_mk_uint(x)    __xen_mk_uint(x)
+#define xen_mk_ulong(x)   __xen_mk_ulong(x)
+
+#else
+
+/* In assembly code we cannot use C numeric constant suffixes. */
+#define xen_mk_uint(x)  x
+#define xen_mk_ulong(x) x
+
 #endif
 
 /*
@@ -451,13 +464,13 @@ DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
 /* When specifying UVMF_MULTI, also OR in a pointer to a CPU bitmap.   */
 /* UVMF_LOCAL is merely UVMF_MULTI with a NULL bitmap pointer.         */
 /* ` enum uvm_flags { */
-#define UVMF_NONE               (0UL<<0) /* No flushing at all.   */
-#define UVMF_TLB_FLUSH          (1UL<<0) /* Flush entire TLB(s).  */
-#define UVMF_INVLPG             (2UL<<0) /* Flush only one entry. */
-#define UVMF_FLUSHTYPE_MASK     (3UL<<0)
-#define UVMF_MULTI              (0UL<<2) /* Flush subset of TLBs. */
-#define UVMF_LOCAL              (0UL<<2) /* Flush local TLB.      */
-#define UVMF_ALL                (1UL<<2) /* Flush all TLBs.       */
+#define UVMF_NONE           (xen_mk_ulong(0)<<0) /* No flushing at all.   */
+#define UVMF_TLB_FLUSH      (xen_mk_ulong(1)<<0) /* Flush entire TLB(s).  */
+#define UVMF_INVLPG         (xen_mk_ulong(2)<<0) /* Flush only one entry. */
+#define UVMF_FLUSHTYPE_MASK (xen_mk_ulong(3)<<0)
+#define UVMF_MULTI          (xen_mk_ulong(0)<<2) /* Flush subset of TLBs. */
+#define UVMF_LOCAL          (xen_mk_ulong(0)<<2) /* Flush local TLB.      */
+#define UVMF_ALL            (xen_mk_ulong(1)<<2) /* Flush all TLBs.       */
 /* ` } */
 
 /*
@@ -504,15 +517,11 @@ DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
 #define MAX_VMASST_TYPE                  3
 #endif
 
-#ifndef __ASSEMBLY__
-
-typedef uint16_t domid_t;
-
 /* Domain ids >= DOMID_FIRST_RESERVED cannot be used for ordinary domains. */
-#define DOMID_FIRST_RESERVED (0x7FF0U)
+#define DOMID_FIRST_RESERVED xen_mk_uint(0x7FF0)
 
 /* DOMID_SELF is used in certain contexts to refer to oneself. */
-#define DOMID_SELF (0x7FF0U)
+#define DOMID_SELF           xen_mk_uint(0x7FF0)
 
 /*
  * DOMID_IO is used to restrict page-table updates to mapping I/O memory.
@@ -523,7 +532,7 @@ typedef uint16_t domid_t;
  * This only makes sense in MMUEXT_SET_FOREIGNDOM, but in that context can
  * be specified by any calling domain.
  */
-#define DOMID_IO   (0x7FF1U)
+#define DOMID_IO             xen_mk_uint(0x7FF1)
 
 /*
  * DOMID_XEN is used to allow privileged domains to map restricted parts of
@@ -531,17 +540,21 @@ typedef uint16_t domid_t;
  * This only makes sense in MMUEXT_SET_FOREIGNDOM, and is only permitted if
  * the caller is privileged.
  */
-#define DOMID_XEN  (0x7FF2U)
+#define DOMID_XEN            xen_mk_uint(0x7FF2)
 
 /*
  * DOMID_COW is used as the owner of sharable pages */
-#define DOMID_COW  (0x7FF3U)
+#define DOMID_COW            xen_mk_uint(0x7FF3)
 
 /* DOMID_INVALID is used to identify pages with unknown owner. */
-#define DOMID_INVALID (0x7FF4U)
+#define DOMID_INVALID        xen_mk_uint(0x7FF4)
 
 /* Idle domain. */
-#define DOMID_IDLE (0x7FFFU)
+#define DOMID_IDLE           xen_mk_uint(0x7FFF)
+
+#ifndef __ASSEMBLY__
+
+typedef uint16_t domid_t;
 
 /*
  * Send an array of these to HYPERVISOR_mmu_update().
@@ -901,20 +914,11 @@ typedef struct dom0_vga_console_info {
 
 typedef uint8_t xen_domain_handle_t[16];
 
-/* Turn a plain number into a C unsigned long constant. */
-#define __mk_unsigned_long(x) x ## UL
-#define mk_unsigned_long(x) __mk_unsigned_long(x)
-
 __DEFINE_XEN_GUEST_HANDLE(uint8,  uint8_t);
 __DEFINE_XEN_GUEST_HANDLE(uint16, uint16_t);
 __DEFINE_XEN_GUEST_HANDLE(uint32, uint32_t);
 __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
 
-#else /* __ASSEMBLY__ */
-
-/* In assembly code we cannot use C numeric constant suffixes. */
-#define mk_unsigned_long(x) x
-
 #endif /* !__ASSEMBLY__ */
 
 /* Default definitions for macros used by domctl/sysctl. */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ma-0007ZF-V9; Tue, 23 Feb 2016 08:57:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mY-0007Yt-Vj
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:23 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	64/9C-03549-2FE1CC65; Tue, 23 Feb 2016 08:57:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217841!15884710!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26823 invoked from network); 23 Feb 2016 08:57:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mW-0007ZN-Qh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mW-0003b0-Nx
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mW-0003b0-Nx@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:20 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: add myself as seabios
	maintainer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d3d0ce8bf4015a4d876a415f20100e6cf0b8cec
Author:     Wei Liu <wei.liu2@citrix.com>
AuthorDate: Wed Feb 17 16:21:48 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:21:48 2016 +0100

    MAINTAINERS: add myself as seabios maintainer
    
    Signed-off-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5cbb1dc..cd4da04 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -299,6 +299,7 @@ F:	xen/common/sched*
 
 SEABIOS UPSTREAM
 M:	Ian Campbell <ian.campbell@citrix.com>
+M:	Wei Liu <wei.liu2@citrix.com>
 S:	Supported
 T:	git git://xenbits.xen.org/seabios.git
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ma-0007ZF-V9; Tue, 23 Feb 2016 08:57:24 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mY-0007Yt-Vj
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:23 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	64/9C-03549-2FE1CC65; Tue, 23 Feb 2016 08:57:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217841!15884710!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26823 invoked from network); 23 Feb 2016 08:57:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mW-0007ZN-Qh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mW-0003b0-Nx
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mW-0003b0-Nx@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:20 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: add myself as seabios
	maintainer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d3d0ce8bf4015a4d876a415f20100e6cf0b8cec
Author:     Wei Liu <wei.liu2@citrix.com>
AuthorDate: Wed Feb 17 16:21:48 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:21:48 2016 +0100

    MAINTAINERS: add myself as seabios maintainer
    
    Signed-off-by: Wei Liu <wei.liu2@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5cbb1dc..cd4da04 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -299,6 +299,7 @@ F:	xen/common/sched*
 
 SEABIOS UPSTREAM
 M:	Ian Campbell <ian.campbell@citrix.com>
+M:	Wei Liu <wei.liu2@citrix.com>
 S:	Supported
 T:	git git://xenbits.xen.org/seabios.git
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ml-0007ay-2E; Tue, 23 Feb 2016 08:57:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mj-0007ai-Nl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:33 +0000
Content-Length: 6573
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	89/BC-03800-CFE1CC65; Tue, 23 Feb 2016 08:57:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456217851!8192135!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32509 invoked from network); 23 Feb 2016 08:57:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mh-0007a1-6R
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mh-0003eh-46
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mh-0003eh-46@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:31 +0000
Subject: [Xen-changelog] [xen master] x86/PVHv2: update the start info
	structure layout
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============8892627212342548922=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============8892627212342548922==
Content-Length: 6255
Content-Transfer-Encoding: quoted-printable

commit 3c8d890d1d148ea5c7f31d2d326b96c4d5a00c04
Author:     Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
AuthorDate: Wed Feb 17 16:22:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:22:21 2016 +0100

    x86/PVHv2: update the start info structure layout
    
    After some discussion around the new boot ABI consensus has been reached
    about the layout and contents of the start info. The following patch updates
    the layout to what has been agreed.
    
    Also, the new layout is described in binary terms in order to avoid issues
    with alignments when using C structs.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/libxc/include/xc_dom.h | 31 +++++++++++++++++++++++++
 xen/include/public/xen.h     | 55 ++++++++++++++++++++++++++++++--------------
 2 files changed, 69 insertions(+), 17 deletions(-)

diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
index cac4698..6ebe946 100644
--- a/tools/libxc/include/xc_dom.h
+++ b/tools/libxc/include/xc_dom.h
@@ -216,6 +216,37 @@ struct xc_dom_image {
     struct xc_hvm_firmware_module smbios_module;
 };
 
+#if defined(__i386__) || defined(__x86_64__)
+/* C representation of the x86/HVM start info layout.
+ *
+ * The canonical definition of this layout resides in public/xen.h, this
+ * is just a way to represent the layout described there using C types.
+ *
+ * NB: the packed attribute is not really needed, but it helps us enforce
+ * the fact this this is just a representation, and it might indeed
+ * be required in the future if there are alignment changes.
+ */
+struct hvm_start_info {
+    uint32_t magic;             /* Contains the magic value 0x336ec578       */
+                                /* ("xEn3" with the 0x80 bit of the "E" set).*/
+    uint32_t version;           /* Version of this structure.                */
+    uint32_t flags;             /* SIF_xxx flags.                            */
+    uint32_t cmdline_paddr;     /* Physical address of the command line.     */
+    uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
+    uint32_t modlist_paddr;     /* Physical address of an array of           */
+                                /* hvm_modlist_entry.                        */
+    uint32_t rsdp_paddr;        /* Physical address of the RSDP ACPI data    */
+                                /* structure.                                */
+} __attribute__((packed));
+
+struct hvm_modlist_entry {
+    uint64_t paddr;             /* Physical address of the module.           */
+    uint64_t size;              /* Size of the module in bytes.              */
+    uint64_t cmdline_paddr;     /* Physical address of the command line.     */
+    uint64_t reserved;
+} __attribute__((packed));
+#endif /* x86 */
+
 /* --- pluggable kernel loader ------------------------------------- */
 
 struct xc_dom_loader {
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 6c9e42b..ad00bf9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -800,25 +800,46 @@ typedef struct start_info start_info_t;
 /*
  * Start of day structure passed to PVH guests in %ebx.
  *
- * NOTE: nothing will be loaded at physical address 0, so
- * a 0 value in any of the address fields should be treated
- * as not present.
+ * NOTE: nothing will be loaded at physical address 0, so a 0 value in any
+ * of the address fields should be treated as not present.
+ *
+ *  0 +----------------+
+ *    | magic          | Contains the magic value HVM_START_MAGIC_VALUE
+ *    |                | ("xEn3" with the 0x80 bit of the "E" set).
+ *  4 +----------------+
+ *    | version        | Version of this structure. Current version is 0. New
+ *    |                | versions are guaranteed to be backwards-compatible.
+ *  8 +----------------+
+ *    | flags          | SIF_xxx flags.
+ * 12 +----------------+
+ *    | cmdline_paddr  | Physical address of the command line,
+ *    |                | a zero-terminated ASCII string.
+ * 16 +----------------+
+ *    | nr_modules     | Number of modules passed to the kernel.
+ * 20 +----------------+
+ *    | modlist_paddr  | Physical address of an array of modules
+ *    |                | (layout of the structure below).
+ * 24 +----------------+
+ *    | rsdp_paddr     | Physical address of the RSDP ACPI data structure.
+ * 28 +----------------+
+ *
+ * The layout of each entry in the module structure is the following:
+ *
+ *  0 +----------------+
+ *    | paddr          | Physical address of the module.
+ *  8 +----------------+
+ *    | size           | Size of the module in bytes.
+ * 16 +----------------+
+ *    | cmdline_paddr  | Physical address of the command line,
+ *    |                | a zero-terminated ASCII string.
+ * 24 +----------------+
+ *    | reserved       |
+ * 32 +----------------+
+ *
+ * The address and size of the modules is a 64bit unsigned integer. However
+ * Xen will always try to place all modules below the 4GiB boundary.
  */
-struct hvm_start_info {
 #define HVM_START_MAGIC_VALUE 0x336ec578
-    uint32_t magic;             /* Contains the magic value 0x336ec578       */
-                                /* ("xEn3" with the 0x80 bit of the "E" set).*/
-    uint32_t flags;             /* SIF_xxx flags.                            */
-    uint32_t cmdline_paddr;     /* Physical address of the command line.     */
-    uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
-    uint32_t modlist_paddr;     /* Physical address of an array of           */
-                                /* hvm_modlist_entry.                        */
-};
-
-struct hvm_modlist_entry {
-    uint32_t paddr;             /* Physical address of the module.           */
-    uint32_t size;              /* Size of the module in bytes.              */
-};
 
 /* New console union for dom0 introduced in 0x00030203. */
 #if __XEN_INTERFACE_VERSION__ < 0x00030203
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============8892627212342548922==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============8892627212342548922==--

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ml-0007ay-2E; Tue, 23 Feb 2016 08:57:35 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mj-0007ai-Nl
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:33 +0000
Content-Length: 6573
Received: from [85.158.139.211] by server-17.bemta-5.messagelabs.com id
	89/BC-03800-CFE1CC65; Tue, 23 Feb 2016 08:57:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456217851!8192135!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32509 invoked from network); 23 Feb 2016 08:57:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mh-0007a1-6R
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mh-0003eh-46
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mh-0003eh-46@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:31 +0000
Subject: [Xen-changelog] [xen master] x86/PVHv2: update the start info
	structure layout
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============8892627212342548922=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============8892627212342548922==
Content-Length: 6255
Content-Transfer-Encoding: quoted-printable

commit 3c8d890d1d148ea5c7f31d2d326b96c4d5a00c04
Author:     Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
AuthorDate: Wed Feb 17 16:22:21 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:22:21 2016 +0100

    x86/PVHv2: update the start info structure layout
    
    After some discussion around the new boot ABI consensus has been reached
    about the layout and contents of the start info. The following patch updates
    the layout to what has been agreed.
    
    Also, the new layout is described in binary terms in order to avoid issues
    with alignments when using C structs.
    
    Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/libxc/include/xc_dom.h | 31 +++++++++++++++++++++++++
 xen/include/public/xen.h     | 55 ++++++++++++++++++++++++++++++--------------
 2 files changed, 69 insertions(+), 17 deletions(-)

diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
index cac4698..6ebe946 100644
--- a/tools/libxc/include/xc_dom.h
+++ b/tools/libxc/include/xc_dom.h
@@ -216,6 +216,37 @@ struct xc_dom_image {
     struct xc_hvm_firmware_module smbios_module;
 };
 
+#if defined(__i386__) || defined(__x86_64__)
+/* C representation of the x86/HVM start info layout.
+ *
+ * The canonical definition of this layout resides in public/xen.h, this
+ * is just a way to represent the layout described there using C types.
+ *
+ * NB: the packed attribute is not really needed, but it helps us enforce
+ * the fact this this is just a representation, and it might indeed
+ * be required in the future if there are alignment changes.
+ */
+struct hvm_start_info {
+    uint32_t magic;             /* Contains the magic value 0x336ec578       */
+                                /* ("xEn3" with the 0x80 bit of the "E" set).*/
+    uint32_t version;           /* Version of this structure.                */
+    uint32_t flags;             /* SIF_xxx flags.                            */
+    uint32_t cmdline_paddr;     /* Physical address of the command line.     */
+    uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
+    uint32_t modlist_paddr;     /* Physical address of an array of           */
+                                /* hvm_modlist_entry.                        */
+    uint32_t rsdp_paddr;        /* Physical address of the RSDP ACPI data    */
+                                /* structure.                                */
+} __attribute__((packed));
+
+struct hvm_modlist_entry {
+    uint64_t paddr;             /* Physical address of the module.           */
+    uint64_t size;              /* Size of the module in bytes.              */
+    uint64_t cmdline_paddr;     /* Physical address of the command line.     */
+    uint64_t reserved;
+} __attribute__((packed));
+#endif /* x86 */
+
 /* --- pluggable kernel loader ------------------------------------- */
 
 struct xc_dom_loader {
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 6c9e42b..ad00bf9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -800,25 +800,46 @@ typedef struct start_info start_info_t;
 /*
  * Start of day structure passed to PVH guests in %ebx.
  *
- * NOTE: nothing will be loaded at physical address 0, so
- * a 0 value in any of the address fields should be treated
- * as not present.
+ * NOTE: nothing will be loaded at physical address 0, so a 0 value in any
+ * of the address fields should be treated as not present.
+ *
+ *  0 +----------------+
+ *    | magic          | Contains the magic value HVM_START_MAGIC_VALUE
+ *    |                | ("xEn3" with the 0x80 bit of the "E" set).
+ *  4 +----------------+
+ *    | version        | Version of this structure. Current version is 0. New
+ *    |                | versions are guaranteed to be backwards-compatible.
+ *  8 +----------------+
+ *    | flags          | SIF_xxx flags.
+ * 12 +----------------+
+ *    | cmdline_paddr  | Physical address of the command line,
+ *    |                | a zero-terminated ASCII string.
+ * 16 +----------------+
+ *    | nr_modules     | Number of modules passed to the kernel.
+ * 20 +----------------+
+ *    | modlist_paddr  | Physical address of an array of modules
+ *    |                | (layout of the structure below).
+ * 24 +----------------+
+ *    | rsdp_paddr     | Physical address of the RSDP ACPI data structure.
+ * 28 +----------------+
+ *
+ * The layout of each entry in the module structure is the following:
+ *
+ *  0 +----------------+
+ *    | paddr          | Physical address of the module.
+ *  8 +----------------+
+ *    | size           | Size of the module in bytes.
+ * 16 +----------------+
+ *    | cmdline_paddr  | Physical address of the command line,
+ *    |                | a zero-terminated ASCII string.
+ * 24 +----------------+
+ *    | reserved       |
+ * 32 +----------------+
+ *
+ * The address and size of the modules is a 64bit unsigned integer. However
+ * Xen will always try to place all modules below the 4GiB boundary.
  */
-struct hvm_start_info {
 #define HVM_START_MAGIC_VALUE 0x336ec578
-    uint32_t magic;             /* Contains the magic value 0x336ec578       */
-                                /* ("xEn3" with the 0x80 bit of the "E" set).*/
-    uint32_t flags;             /* SIF_xxx flags.                            */
-    uint32_t cmdline_paddr;     /* Physical address of the command line.     */
-    uint32_t nr_modules;        /* Number of modules passed to the kernel.   */
-    uint32_t modlist_paddr;     /* Physical address of an array of           */
-                                /* hvm_modlist_entry.                        */
-};
-
-struct hvm_modlist_entry {
-    uint32_t paddr;             /* Physical address of the module.           */
-    uint32_t size;              /* Size of the module in bytes.              */
-};
 
 /* New console union for dom0 introduced in 0x00030203. */
 #if __XEN_INTERFACE_VERSION__ < 0x00030203
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============8892627212342548922==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============8892627212342548922==--

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mv-0007cp-5i; Tue, 23 Feb 2016 08:57:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mu-0007ca-9u
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:44 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	8C/DC-13475-70F1CC65; Tue, 23 Feb 2016 08:57:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456217861!23961948!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29243 invoked from network); 23 Feb 2016 08:57:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mr-0007a9-PN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mr-0003iV-L0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mr-0003iV-L0@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:41 +0000
Subject: [Xen-changelog] [xen master] Revert "x86/HVM: differentiate IO/mem
	resources tracked by ioreq server"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 19e5e7832400fa9b3e73f86d6a0175c5fbb7f4a2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:23:31 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:23:31 2016 +0100

    Revert "x86/HVM: differentiate IO/mem resources tracked by ioreq server"
    
    This reverts commit f5a32c5b8eacbcd727939c9b4d2d98cf619bcbd6;
    we're aiming at a different solution now.
---
 tools/libxc/include/xenctrl.h    | 31 ----------------------
 tools/libxc/xc_domain.c          | 55 ----------------------------------------
 xen/arch/x86/hvm/hvm.c           | 27 +++-----------------
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/public/hvm/hvm_op.h  |  1 -
 5 files changed, 5 insertions(+), 111 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 42eafa4..150d727 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -1714,37 +1714,6 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch,
                                             int is_mmio,
                                             uint64_t start,
                                             uint64_t end);
-/**
- * This function registers a range of write-protected memory for emulation.
- *
- * @parm xch a handle to an open hypervisor interface.
- * @parm domid the domain id to be serviced
- * @parm id the IOREQ Server id.
- * @parm start start of range
- * @parm end end of range (inclusive).
- * @return 0 on success, -1 on failure.
- */
-int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
-                                            domid_t domid,
-                                            ioservid_t id,
-                                            xen_pfn_t start,
-                                            xen_pfn_t end);
-
-/**
- * This function deregisters a range of write-protected memory for emulation.
- *
- * @parm xch a handle to an open hypervisor interface.
- * @parm domid the domain id to be serviced
- * @parm id the IOREQ Server id.
- * @parm start start of range
- * @parm end end of range (inclusive).
- * @return 0 on success, -1 on failure.
- */
-int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
-                                                domid_t domid,
-                                                ioservid_t id,
-                                                xen_pfn_t start,
-                                                xen_pfn_t end);
 
 /**
  * This function registers a PCI device for config space emulation.
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index 4fa993a..050216e 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -1523,61 +1523,6 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch, domid_t domid,
     return rc;
 }
 
-int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
-                                            domid_t domid,
-                                            ioservid_t id,
-                                            xen_pfn_t start,
-                                            xen_pfn_t end)
-{
-    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
-    int rc;
-
-    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
-    if ( arg == NULL )
-        return -1;
-
-    arg->domid = domid;
-    arg->id = id;
-    arg->type = HVMOP_IO_RANGE_WP_MEM;
-    arg->start = start;
-    arg->end = end;
-
-    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
-                  HVMOP_map_io_range_to_ioreq_server,
-                  HYPERCALL_BUFFER_AS_ARG(arg));
-
-    xc_hypercall_buffer_free(xch, arg);
-    return rc;
-}
-
-int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
-                                                domid_t domid,
-                                                ioservid_t id,
-                                                xen_pfn_t start,
-                                                xen_pfn_t end)
-{
-    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
-    int rc;
-
-    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
-    if ( arg == NULL )
-        return -1;
-
-    arg->domid = domid;
-    arg->id = id;
-    arg->type = HVMOP_IO_RANGE_WP_MEM;
-    arg->start = start;
-    arg->end = end;
-
-    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
-                  HVMOP_unmap_io_range_from_ioreq_server,
-                  HYPERCALL_BUFFER_AS_ARG(arg));
-
-    xc_hypercall_buffer_free(xch, arg);
-    return rc;
-
-}
-
 int xc_hvm_map_pcidev_to_ioreq_server(xc_interface *xch, domid_t domid,
                                       ioservid_t id, uint16_t segment,
                                       uint8_t bus, uint8_t device,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3362637..a29c421 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -947,9 +947,6 @@ static void hvm_ioreq_server_free_rangesets(struct hvm_ioreq_server *s,
         rangeset_destroy(s->range[i]);
 }
 
-const char *const io_range_name[NR_IO_RANGE_TYPES] =
-                                {"port", "mmio", "pci", "wp-mem"};
-
 static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s, 
                                             bool_t is_default)
 {
@@ -964,7 +961,10 @@ static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s,
         char *name;
 
         rc = asprintf(&name, "ioreq_server %d %s", s->id,
-                      (i < NR_IO_RANGE_TYPES) ? io_range_name[i] : "");
+                      (i == HVMOP_IO_RANGE_PORT) ? "port" :
+                      (i == HVMOP_IO_RANGE_MEMORY) ? "memory" :
+                      (i == HVMOP_IO_RANGE_PCI) ? "pci" :
+                      "");
         if ( rc )
             goto fail;
 
@@ -1282,7 +1282,6 @@ static int hvm_map_io_range_to_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
-            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -1334,7 +1333,6 @@ static int hvm_unmap_io_range_from_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
-            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -2650,18 +2648,6 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
         type = (p->type == IOREQ_TYPE_PIO) ?
                 HVMOP_IO_RANGE_PORT : HVMOP_IO_RANGE_MEMORY;
         addr = p->addr;
-        if ( type == HVMOP_IO_RANGE_MEMORY )
-        {
-            p2m_type_t p2mt;
-            struct page_info *ram_page;
-
-            ram_page = get_page_from_gfn(d, PFN_DOWN(p->addr), &p2mt, 0);
-            if ( p2mt == p2m_mmio_write_dm )
-                type = HVMOP_IO_RANGE_WP_MEM;
-
-            if ( ram_page )
-                put_page(ram_page);
-        }
     }
 
     list_for_each_entry ( s,
@@ -2703,11 +2689,6 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
             }
 
             break;
-        case HVMOP_IO_RANGE_WP_MEM:
-            if ( rangeset_contains_singleton(r, PFN_DOWN(addr)) )
-                return s;
-
-            break;
         }
     }
 
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index 4b54c5d..2446586 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -48,7 +48,7 @@ struct hvm_ioreq_vcpu {
     bool_t           pending;
 };
 
-#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_WP_MEM + 1)
+#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_PCI + 1)
 #define MAX_NR_IO_RANGES  256
 
 struct hvm_ioreq_server {
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index c0b1e30..1606185 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -333,7 +333,6 @@ struct xen_hvm_io_range {
 # define HVMOP_IO_RANGE_PORT   0 /* I/O port range */
 # define HVMOP_IO_RANGE_MEMORY 1 /* MMIO range */
 # define HVMOP_IO_RANGE_PCI    2 /* PCI segment/bus/dev/func range */
-# define HVMOP_IO_RANGE_WP_MEM 3 /* Write-protected ram range */
     uint64_aligned_t start, end; /* IN - inclusive start and end of range */
 };
 typedef struct xen_hvm_io_range xen_hvm_io_range_t;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8mv-0007cp-5i; Tue, 23 Feb 2016 08:57:45 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mu-0007ca-9u
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:44 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	8C/DC-13475-70F1CC65; Tue, 23 Feb 2016 08:57:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456217861!23961948!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29243 invoked from network); 23 Feb 2016 08:57:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mr-0007a9-PN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8mr-0003iV-L0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8mr-0003iV-L0@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:41 +0000
Subject: [Xen-changelog] [xen master] Revert "x86/HVM: differentiate IO/mem
	resources tracked by ioreq server"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 19e5e7832400fa9b3e73f86d6a0175c5fbb7f4a2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:23:31 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:23:31 2016 +0100

    Revert "x86/HVM: differentiate IO/mem resources tracked by ioreq server"
    
    This reverts commit f5a32c5b8eacbcd727939c9b4d2d98cf619bcbd6;
    we're aiming at a different solution now.
---
 tools/libxc/include/xenctrl.h    | 31 ----------------------
 tools/libxc/xc_domain.c          | 55 ----------------------------------------
 xen/arch/x86/hvm/hvm.c           | 27 +++-----------------
 xen/include/asm-x86/hvm/domain.h |  2 +-
 xen/include/public/hvm/hvm_op.h  |  1 -
 5 files changed, 5 insertions(+), 111 deletions(-)

diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
index 42eafa4..150d727 100644
--- a/tools/libxc/include/xenctrl.h
+++ b/tools/libxc/include/xenctrl.h
@@ -1714,37 +1714,6 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch,
                                             int is_mmio,
                                             uint64_t start,
                                             uint64_t end);
-/**
- * This function registers a range of write-protected memory for emulation.
- *
- * @parm xch a handle to an open hypervisor interface.
- * @parm domid the domain id to be serviced
- * @parm id the IOREQ Server id.
- * @parm start start of range
- * @parm end end of range (inclusive).
- * @return 0 on success, -1 on failure.
- */
-int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
-                                            domid_t domid,
-                                            ioservid_t id,
-                                            xen_pfn_t start,
-                                            xen_pfn_t end);
-
-/**
- * This function deregisters a range of write-protected memory for emulation.
- *
- * @parm xch a handle to an open hypervisor interface.
- * @parm domid the domain id to be serviced
- * @parm id the IOREQ Server id.
- * @parm start start of range
- * @parm end end of range (inclusive).
- * @return 0 on success, -1 on failure.
- */
-int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
-                                                domid_t domid,
-                                                ioservid_t id,
-                                                xen_pfn_t start,
-                                                xen_pfn_t end);
 
 /**
  * This function registers a PCI device for config space emulation.
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index 4fa993a..050216e 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -1523,61 +1523,6 @@ int xc_hvm_unmap_io_range_from_ioreq_server(xc_interface *xch, domid_t domid,
     return rc;
 }
 
-int xc_hvm_map_wp_mem_range_to_ioreq_server(xc_interface *xch,
-                                            domid_t domid,
-                                            ioservid_t id,
-                                            xen_pfn_t start,
-                                            xen_pfn_t end)
-{
-    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
-    int rc;
-
-    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
-    if ( arg == NULL )
-        return -1;
-
-    arg->domid = domid;
-    arg->id = id;
-    arg->type = HVMOP_IO_RANGE_WP_MEM;
-    arg->start = start;
-    arg->end = end;
-
-    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
-                  HVMOP_map_io_range_to_ioreq_server,
-                  HYPERCALL_BUFFER_AS_ARG(arg));
-
-    xc_hypercall_buffer_free(xch, arg);
-    return rc;
-}
-
-int xc_hvm_unmap_wp_mem_range_from_ioreq_server(xc_interface *xch,
-                                                domid_t domid,
-                                                ioservid_t id,
-                                                xen_pfn_t start,
-                                                xen_pfn_t end)
-{
-    DECLARE_HYPERCALL_BUFFER(xen_hvm_io_range_t, arg);
-    int rc;
-
-    arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
-    if ( arg == NULL )
-        return -1;
-
-    arg->domid = domid;
-    arg->id = id;
-    arg->type = HVMOP_IO_RANGE_WP_MEM;
-    arg->start = start;
-    arg->end = end;
-
-    rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
-                  HVMOP_unmap_io_range_from_ioreq_server,
-                  HYPERCALL_BUFFER_AS_ARG(arg));
-
-    xc_hypercall_buffer_free(xch, arg);
-    return rc;
-
-}
-
 int xc_hvm_map_pcidev_to_ioreq_server(xc_interface *xch, domid_t domid,
                                       ioservid_t id, uint16_t segment,
                                       uint8_t bus, uint8_t device,
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 3362637..a29c421 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -947,9 +947,6 @@ static void hvm_ioreq_server_free_rangesets(struct hvm_ioreq_server *s,
         rangeset_destroy(s->range[i]);
 }
 
-const char *const io_range_name[NR_IO_RANGE_TYPES] =
-                                {"port", "mmio", "pci", "wp-mem"};
-
 static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s, 
                                             bool_t is_default)
 {
@@ -964,7 +961,10 @@ static int hvm_ioreq_server_alloc_rangesets(struct hvm_ioreq_server *s,
         char *name;
 
         rc = asprintf(&name, "ioreq_server %d %s", s->id,
-                      (i < NR_IO_RANGE_TYPES) ? io_range_name[i] : "");
+                      (i == HVMOP_IO_RANGE_PORT) ? "port" :
+                      (i == HVMOP_IO_RANGE_MEMORY) ? "memory" :
+                      (i == HVMOP_IO_RANGE_PCI) ? "pci" :
+                      "");
         if ( rc )
             goto fail;
 
@@ -1282,7 +1282,6 @@ static int hvm_map_io_range_to_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
-            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -1334,7 +1333,6 @@ static int hvm_unmap_io_range_from_ioreq_server(struct domain *d, ioservid_t id,
             case HVMOP_IO_RANGE_PORT:
             case HVMOP_IO_RANGE_MEMORY:
             case HVMOP_IO_RANGE_PCI:
-            case HVMOP_IO_RANGE_WP_MEM:
                 r = s->range[type];
                 break;
 
@@ -2650,18 +2648,6 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
         type = (p->type == IOREQ_TYPE_PIO) ?
                 HVMOP_IO_RANGE_PORT : HVMOP_IO_RANGE_MEMORY;
         addr = p->addr;
-        if ( type == HVMOP_IO_RANGE_MEMORY )
-        {
-            p2m_type_t p2mt;
-            struct page_info *ram_page;
-
-            ram_page = get_page_from_gfn(d, PFN_DOWN(p->addr), &p2mt, 0);
-            if ( p2mt == p2m_mmio_write_dm )
-                type = HVMOP_IO_RANGE_WP_MEM;
-
-            if ( ram_page )
-                put_page(ram_page);
-        }
     }
 
     list_for_each_entry ( s,
@@ -2703,11 +2689,6 @@ struct hvm_ioreq_server *hvm_select_ioreq_server(struct domain *d,
             }
 
             break;
-        case HVMOP_IO_RANGE_WP_MEM:
-            if ( rangeset_contains_singleton(r, PFN_DOWN(addr)) )
-                return s;
-
-            break;
         }
     }
 
diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h
index 4b54c5d..2446586 100644
--- a/xen/include/asm-x86/hvm/domain.h
+++ b/xen/include/asm-x86/hvm/domain.h
@@ -48,7 +48,7 @@ struct hvm_ioreq_vcpu {
     bool_t           pending;
 };
 
-#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_WP_MEM + 1)
+#define NR_IO_RANGE_TYPES (HVMOP_IO_RANGE_PCI + 1)
 #define MAX_NR_IO_RANGES  256
 
 struct hvm_ioreq_server {
diff --git a/xen/include/public/hvm/hvm_op.h b/xen/include/public/hvm/hvm_op.h
index c0b1e30..1606185 100644
--- a/xen/include/public/hvm/hvm_op.h
+++ b/xen/include/public/hvm/hvm_op.h
@@ -333,7 +333,6 @@ struct xen_hvm_io_range {
 # define HVMOP_IO_RANGE_PORT   0 /* I/O port range */
 # define HVMOP_IO_RANGE_MEMORY 1 /* MMIO range */
 # define HVMOP_IO_RANGE_PCI    2 /* PCI segment/bus/dev/func range */
-# define HVMOP_IO_RANGE_WP_MEM 3 /* Write-protected ram range */
     uint64_aligned_t start, end; /* IN - inclusive start and end of range */
 };
 typedef struct xen_hvm_io_range xen_hvm_io_range_t;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8n5-0007fJ-8t; Tue, 23 Feb 2016 08:57:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n4-0007f8-Lg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:54 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	CD/50-28228-21F1CC65; Tue, 23 Feb 2016 08:57:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456217872!25007648!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7790 invoked from network); 23 Feb 2016 08:57:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n2-0007aH-65
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n2-0003lK-20
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:52 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8n2-0003lK-20@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:52 +0000
Subject: [Xen-changelog] [xen master] x86/PMU: make {acquire,
	release}_pmu_ownership names consistent
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e486852ee85e53a0993381f4cc2e220271a621c
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Wed Feb 17 16:24:29 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:24:29 2016 +0100

    x86/PMU: make {acquire,release}_pmu_ownership names consistent
    
    The function names were inconsistent with acquire and release being
    called acquire_pmu_ownership() and release_pmu_ownship() respectively.
    Function prototypes were available for both spellings so this change
    makes them consistent and drops the dual function prototypes.
    Additionally change the internal variable names within those functions
    to ownership as well.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
---
 xen/arch/x86/cpu/vpmu_amd.c   |  4 ++--
 xen/arch/x86/cpu/vpmu_intel.c |  4 ++--
 xen/common/xenoprof.c         | 12 ++++++------
 xen/include/asm-x86/vpmu.h    |  3 ---
 xen/include/xen/xenoprof.h    |  4 ++--
 5 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c
index 990e6f3..55d03b3 100644
--- a/xen/arch/x86/cpu/vpmu_amd.c
+++ b/xen/arch/x86/cpu/vpmu_amd.c
@@ -393,7 +393,7 @@ static int amd_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content,
         vpmu_reset(vpmu, VPMU_RUNNING);
         if ( has_hvm_container_vcpu(v) && is_msr_bitmap_on(vpmu) )
              amd_vpmu_unset_msr_bitmap(v);
-        release_pmu_ownship(PMU_OWNER_HVM);
+        release_pmu_ownership(PMU_OWNER_HVM);
     }
 
     if ( !vpmu_is_set(vpmu, VPMU_CONTEXT_LOADED)
@@ -442,7 +442,7 @@ static void amd_vpmu_destroy(struct vcpu *v)
     vpmu->priv_context = NULL;
 
     if ( vpmu_is_set(vpmu, VPMU_RUNNING) )
-        release_pmu_ownship(PMU_OWNER_HVM);
+        release_pmu_ownership(PMU_OWNER_HVM);
 
     vpmu_clear(vpmu);
 }
diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index 50b5831..e8049ed 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -517,7 +517,7 @@ static int core2_vpmu_alloc_resource(struct vcpu *v)
     return 1;
 
 out_err:
-    release_pmu_ownship(PMU_OWNER_HVM);
+    release_pmu_ownership(PMU_OWNER_HVM);
 
     xfree(core2_vpmu_cxt);
     xfree(p);
@@ -892,7 +892,7 @@ static void core2_vpmu_destroy(struct vcpu *v)
     vpmu->priv_context = NULL;
     if ( has_hvm_container_vcpu(v) && cpu_has_vmx_msr_bitmap )
         core2_vpmu_unset_msr_bitmap(v->arch.hvm_vmx.msr_bitmap);
-    release_pmu_ownship(PMU_OWNER_HVM);
+    release_pmu_ownership(PMU_OWNER_HVM);
     vpmu_clear(vpmu);
 }
 
diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
index 19b4605..7a3fc86 100644
--- a/xen/common/xenoprof.c
+++ b/xen/common/xenoprof.c
@@ -50,16 +50,16 @@ static u64 passive_samples;
 static u64 idle_samples;
 static u64 others_samples;
 
-int acquire_pmu_ownership(int pmu_ownship)
+int acquire_pmu_ownership(int pmu_ownership)
 {
     spin_lock(&pmu_owner_lock);
     if ( pmu_owner == PMU_OWNER_NONE )
     {
-        pmu_owner = pmu_ownship;
+        pmu_owner = pmu_ownership;
         goto out;
     }
 
-    if ( pmu_owner == pmu_ownship )
+    if ( pmu_owner == pmu_ownership )
         goto out;
 
     spin_unlock(&pmu_owner_lock);
@@ -71,10 +71,10 @@ int acquire_pmu_ownership(int pmu_ownship)
     return 1;
 }
 
-void release_pmu_ownship(int pmu_ownship)
+void release_pmu_ownership(int pmu_ownership)
 {
     spin_lock(&pmu_owner_lock);
-    if ( pmu_ownship == PMU_OWNER_HVM )
+    if ( pmu_ownership == PMU_OWNER_HVM )
         pmu_hvm_refcount--;
     if ( !pmu_hvm_refcount )
         pmu_owner = PMU_OWNER_NONE;
@@ -847,7 +847,7 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
             break;
         x = current->domain->xenoprof;
         unshare_xenoprof_page_with_guest(x);
-        release_pmu_ownship(PMU_OWNER_XENOPROF);
+        release_pmu_ownership(PMU_OWNER_XENOPROF);
         break;
     }
 
diff --git a/xen/include/asm-x86/vpmu.h b/xen/include/asm-x86/vpmu.h
index 67e73dc..ed9ec07 100644
--- a/xen/include/asm-x86/vpmu.h
+++ b/xen/include/asm-x86/vpmu.h
@@ -121,9 +121,6 @@ static inline int vpmu_do_rdmsr(unsigned int msr, uint64_t *msr_content)
     return vpmu_do_msr(msr, msr_content, 0, 0);
 }
 
-extern int acquire_pmu_ownership(int pmu_ownership);
-extern void release_pmu_ownership(int pmu_ownership);
-
 extern unsigned int vpmu_mode;
 extern unsigned int vpmu_features;
 
diff --git a/xen/include/xen/xenoprof.h b/xen/include/xen/xenoprof.h
index 7804e69..9b9ef56 100644
--- a/xen/include/xen/xenoprof.h
+++ b/xen/include/xen/xenoprof.h
@@ -73,8 +73,8 @@ int xenoprof_add_trace(struct vcpu *, uint64_t pc, int mode);
 #define PMU_OWNER_NONE          0
 #define PMU_OWNER_XENOPROF      1
 #define PMU_OWNER_HVM           2
-int acquire_pmu_ownship(int pmu_ownership);
-void release_pmu_ownship(int pmu_ownership);
+int acquire_pmu_ownership(int pmu_ownership);
+void release_pmu_ownership(int pmu_ownership);
 
 void xenoprof_log_event(struct vcpu *, const struct cpu_user_regs *,
                         uint64_t pc, int mode, int event);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:57:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:57:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8n5-0007fJ-8t; Tue, 23 Feb 2016 08:57:55 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n4-0007f8-Lg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:54 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	CD/50-28228-21F1CC65; Tue, 23 Feb 2016 08:57:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456217872!25007648!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7790 invoked from network); 23 Feb 2016 08:57:53 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:57:53 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n2-0007aH-65
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8n2-0003lK-20
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:57:52 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8n2-0003lK-20@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:57:52 +0000
Subject: [Xen-changelog] [xen master] x86/PMU: make {acquire,
	release}_pmu_ownership names consistent
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5e486852ee85e53a0993381f4cc2e220271a621c
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Wed Feb 17 16:24:29 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:24:29 2016 +0100

    x86/PMU: make {acquire,release}_pmu_ownership names consistent
    
    The function names were inconsistent with acquire and release being
    called acquire_pmu_ownership() and release_pmu_ownship() respectively.
    Function prototypes were available for both spellings so this change
    makes them consistent and drops the dual function prototypes.
    Additionally change the internal variable names within those functions
    to ownership as well.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
---
 xen/arch/x86/cpu/vpmu_amd.c   |  4 ++--
 xen/arch/x86/cpu/vpmu_intel.c |  4 ++--
 xen/common/xenoprof.c         | 12 ++++++------
 xen/include/asm-x86/vpmu.h    |  3 ---
 xen/include/xen/xenoprof.h    |  4 ++--
 5 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c
index 990e6f3..55d03b3 100644
--- a/xen/arch/x86/cpu/vpmu_amd.c
+++ b/xen/arch/x86/cpu/vpmu_amd.c
@@ -393,7 +393,7 @@ static int amd_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content,
         vpmu_reset(vpmu, VPMU_RUNNING);
         if ( has_hvm_container_vcpu(v) && is_msr_bitmap_on(vpmu) )
              amd_vpmu_unset_msr_bitmap(v);
-        release_pmu_ownship(PMU_OWNER_HVM);
+        release_pmu_ownership(PMU_OWNER_HVM);
     }
 
     if ( !vpmu_is_set(vpmu, VPMU_CONTEXT_LOADED)
@@ -442,7 +442,7 @@ static void amd_vpmu_destroy(struct vcpu *v)
     vpmu->priv_context = NULL;
 
     if ( vpmu_is_set(vpmu, VPMU_RUNNING) )
-        release_pmu_ownship(PMU_OWNER_HVM);
+        release_pmu_ownership(PMU_OWNER_HVM);
 
     vpmu_clear(vpmu);
 }
diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index 50b5831..e8049ed 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -517,7 +517,7 @@ static int core2_vpmu_alloc_resource(struct vcpu *v)
     return 1;
 
 out_err:
-    release_pmu_ownship(PMU_OWNER_HVM);
+    release_pmu_ownership(PMU_OWNER_HVM);
 
     xfree(core2_vpmu_cxt);
     xfree(p);
@@ -892,7 +892,7 @@ static void core2_vpmu_destroy(struct vcpu *v)
     vpmu->priv_context = NULL;
     if ( has_hvm_container_vcpu(v) && cpu_has_vmx_msr_bitmap )
         core2_vpmu_unset_msr_bitmap(v->arch.hvm_vmx.msr_bitmap);
-    release_pmu_ownship(PMU_OWNER_HVM);
+    release_pmu_ownership(PMU_OWNER_HVM);
     vpmu_clear(vpmu);
 }
 
diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
index 19b4605..7a3fc86 100644
--- a/xen/common/xenoprof.c
+++ b/xen/common/xenoprof.c
@@ -50,16 +50,16 @@ static u64 passive_samples;
 static u64 idle_samples;
 static u64 others_samples;
 
-int acquire_pmu_ownership(int pmu_ownship)
+int acquire_pmu_ownership(int pmu_ownership)
 {
     spin_lock(&pmu_owner_lock);
     if ( pmu_owner == PMU_OWNER_NONE )
     {
-        pmu_owner = pmu_ownship;
+        pmu_owner = pmu_ownership;
         goto out;
     }
 
-    if ( pmu_owner == pmu_ownship )
+    if ( pmu_owner == pmu_ownership )
         goto out;
 
     spin_unlock(&pmu_owner_lock);
@@ -71,10 +71,10 @@ int acquire_pmu_ownership(int pmu_ownship)
     return 1;
 }
 
-void release_pmu_ownship(int pmu_ownship)
+void release_pmu_ownership(int pmu_ownership)
 {
     spin_lock(&pmu_owner_lock);
-    if ( pmu_ownship == PMU_OWNER_HVM )
+    if ( pmu_ownership == PMU_OWNER_HVM )
         pmu_hvm_refcount--;
     if ( !pmu_hvm_refcount )
         pmu_owner = PMU_OWNER_NONE;
@@ -847,7 +847,7 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
             break;
         x = current->domain->xenoprof;
         unshare_xenoprof_page_with_guest(x);
-        release_pmu_ownship(PMU_OWNER_XENOPROF);
+        release_pmu_ownership(PMU_OWNER_XENOPROF);
         break;
     }
 
diff --git a/xen/include/asm-x86/vpmu.h b/xen/include/asm-x86/vpmu.h
index 67e73dc..ed9ec07 100644
--- a/xen/include/asm-x86/vpmu.h
+++ b/xen/include/asm-x86/vpmu.h
@@ -121,9 +121,6 @@ static inline int vpmu_do_rdmsr(unsigned int msr, uint64_t *msr_content)
     return vpmu_do_msr(msr, msr_content, 0, 0);
 }
 
-extern int acquire_pmu_ownership(int pmu_ownership);
-extern void release_pmu_ownership(int pmu_ownership);
-
 extern unsigned int vpmu_mode;
 extern unsigned int vpmu_features;
 
diff --git a/xen/include/xen/xenoprof.h b/xen/include/xen/xenoprof.h
index 7804e69..9b9ef56 100644
--- a/xen/include/xen/xenoprof.h
+++ b/xen/include/xen/xenoprof.h
@@ -73,8 +73,8 @@ int xenoprof_add_trace(struct vcpu *, uint64_t pc, int mode);
 #define PMU_OWNER_NONE          0
 #define PMU_OWNER_XENOPROF      1
 #define PMU_OWNER_HVM           2
-int acquire_pmu_ownship(int pmu_ownership);
-void release_pmu_ownship(int pmu_ownership);
+int acquire_pmu_ownership(int pmu_ownership);
+void release_pmu_ownership(int pmu_ownership);
 
 void xenoprof_log_event(struct vcpu *, const struct cpu_user_regs *,
                         uint64_t pc, int mode, int event);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nF-0007gs-D1; Tue, 23 Feb 2016 08:58:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nE-0007gk-RX
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:04 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	AF/B3-02983-C1F1CC65; Tue, 23 Feb 2016 08:58:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456217882!24293053!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54761 invoked from network); 23 Feb 2016 08:58:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nC-0007as-Jr
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nC-0003qV-Fk
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nC-0003qV-Fk@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:02 +0000
Subject: [Xen-changelog] [xen master] libxlu_cfg: reject unknown characters
	following '\'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf1416a6e87b92430c0082d9bc98c3993fac4642
Author:     Jim Fehlig <jfehlig@suse.com>
AuthorDate: Wed Feb 17 10:20:57 2016 -0700
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 12:34:33 2016 -0500

    libxlu_cfg: reject unknown characters following '\'
    
    When dequoting config strings in xlu__cfgl_dequote(), unknown
    characters following a '\', and the '\' itself, are discarded.
    E.g. a disk configuration string containing
    
      rbd:pool/image:mon_host=192.168.0.100\:6789
    
    would be dequoted as
    
      rbd:pool/image:mon_host=192.168.0.1006789
    
    Instead of discarding the '\' and unknown character, reject the
    string and set error to EINVAL.
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxlu_cfg.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/libxl/libxlu_cfg.c b/tools/libxl/libxlu_cfg.c
index 1d70909..5838f68 100644
--- a/tools/libxl/libxlu_cfg.c
+++ b/tools/libxl/libxlu_cfg.c
@@ -533,6 +533,11 @@ char *xlu__cfgl_dequote(CfgParseContext *ctx, const char *src) {
                 NUMERIC_CHAR(2,2,16,"hex");
             } else if (nc>='0' && nc<='7') {
                 NUMERIC_CHAR(1,3,10,"octal");
+            } else {
+                xlu__cfgl_lexicalerror(ctx,
+                           "invalid character after backlash in quoted string");
+                ctx->err= EINVAL;
+                goto x;
             }
             assert(p <= src+len-1);
         } else {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nF-0007gs-D1; Tue, 23 Feb 2016 08:58:05 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nE-0007gk-RX
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:04 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	AF/B3-02983-C1F1CC65; Tue, 23 Feb 2016 08:58:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456217882!24293053!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54761 invoked from network); 23 Feb 2016 08:58:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nC-0007as-Jr
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nC-0003qV-Fk
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nC-0003qV-Fk@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:02 +0000
Subject: [Xen-changelog] [xen master] libxlu_cfg: reject unknown characters
	following '\'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf1416a6e87b92430c0082d9bc98c3993fac4642
Author:     Jim Fehlig <jfehlig@suse.com>
AuthorDate: Wed Feb 17 10:20:57 2016 -0700
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 12:34:33 2016 -0500

    libxlu_cfg: reject unknown characters following '\'
    
    When dequoting config strings in xlu__cfgl_dequote(), unknown
    characters following a '\', and the '\' itself, are discarded.
    E.g. a disk configuration string containing
    
      rbd:pool/image:mon_host=192.168.0.100\:6789
    
    would be dequoted as
    
      rbd:pool/image:mon_host=192.168.0.1006789
    
    Instead of discarding the '\' and unknown character, reject the
    string and set error to EINVAL.
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxlu_cfg.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/libxl/libxlu_cfg.c b/tools/libxl/libxlu_cfg.c
index 1d70909..5838f68 100644
--- a/tools/libxl/libxlu_cfg.c
+++ b/tools/libxl/libxlu_cfg.c
@@ -533,6 +533,11 @@ char *xlu__cfgl_dequote(CfgParseContext *ctx, const char *src) {
                 NUMERIC_CHAR(2,2,16,"hex");
             } else if (nc>='0' && nc<='7') {
                 NUMERIC_CHAR(1,3,10,"octal");
+            } else {
+                xlu__cfgl_lexicalerror(ctx,
+                           "invalid character after backlash in quoted string");
+                ctx->err= EINVAL;
+                goto x;
             }
             assert(p <= src+len-1);
         } else {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nQ-0007ig-JU; Tue, 23 Feb 2016 08:58:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nP-0007iW-5b
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:15 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	0F/EE-03511-62F1CC65; Tue, 23 Feb 2016 08:58:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217893!24263354!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31857 invoked from network); 23 Feb 2016 08:58:14 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:14 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nM-0007b0-Vd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nM-0003tJ-Sf
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nM-0003tJ-Sf@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:12 +0000
Subject: [Xen-changelog] [xen master] docs: fix typo in
	xl-disk-configuration.txt
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 72c6bbe7effaf4b8ce966651fa8a8aee6112f5cc
Author:     Jim Fehlig <jfehlig@suse.com>
AuthorDate: Wed Feb 17 10:20:58 2016 -0700
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 12:34:33 2016 -0500

    docs: fix typo in xl-disk-configuration.txt
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/misc/xl-disk-configuration.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misc/xl-disk-configuration.txt b/docs/misc/xl-disk-configuration.txt
index 6a2118d..29f6ddb 100644
--- a/docs/misc/xl-disk-configuration.txt
+++ b/docs/misc/xl-disk-configuration.txt
@@ -160,7 +160,7 @@ Mandatory:             No
 Default value:         Automatically determine which backend to use.
 
 This does not affect the guest's view of the device.  It controls
-which software implementation of the Xen backend driver us used.
+which software implementation of the Xen backend driver is used.
 
 Not all backend drivers support all combinations of other options.
 For example, "phy" does not support formats other than "raw".
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nQ-0007ig-JU; Tue, 23 Feb 2016 08:58:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nP-0007iW-5b
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:15 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	0F/EE-03511-62F1CC65; Tue, 23 Feb 2016 08:58:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456217893!24263354!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31857 invoked from network); 23 Feb 2016 08:58:14 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:14 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nM-0007b0-Vd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nM-0003tJ-Sf
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nM-0003tJ-Sf@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:12 +0000
Subject: [Xen-changelog] [xen master] docs: fix typo in
	xl-disk-configuration.txt
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 72c6bbe7effaf4b8ce966651fa8a8aee6112f5cc
Author:     Jim Fehlig <jfehlig@suse.com>
AuthorDate: Wed Feb 17 10:20:58 2016 -0700
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 12:34:33 2016 -0500

    docs: fix typo in xl-disk-configuration.txt
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/misc/xl-disk-configuration.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misc/xl-disk-configuration.txt b/docs/misc/xl-disk-configuration.txt
index 6a2118d..29f6ddb 100644
--- a/docs/misc/xl-disk-configuration.txt
+++ b/docs/misc/xl-disk-configuration.txt
@@ -160,7 +160,7 @@ Mandatory:             No
 Default value:         Automatically determine which backend to use.
 
 This does not affect the guest's view of the device.  It controls
-which software implementation of the Xen backend driver us used.
+which software implementation of the Xen backend driver is used.
 
 Not all backend drivers support all combinations of other options.
 For example, "phy" does not support formats other than "raw".
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8na-0007k8-NC; Tue, 23 Feb 2016 08:58:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nZ-0007jz-Q3
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:25 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	66/7B-04050-13F1CC65; Tue, 23 Feb 2016 08:58:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1456217903!23756130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60034 invoked from network); 23 Feb 2016 08:58:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nX-0007b8-AC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nX-0003xH-8N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:23 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nX-0003xH-8N@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:23 +0000
Subject: [Xen-changelog] [xen master] xenpaging: do not leak if --pagefile
	given twice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7e1e001fa7d9d9df300ced3fb83df5f12ebb722b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:58:33 2016 +0000
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 14:22:24 2016 -0500

    xenpaging: do not leak if --pagefile given twice
    
    By freeing filename (which is either NULL or the previous iteration of
    this argument). This implements a semantic where the last --pagefile
    given on the command line takes precedence.
    
    This is the same semantic as the other options have.
    
    CID: 1198792
    
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/xenpaging/xenpaging.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
index 0377507..6157d3a 100644
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -232,6 +232,7 @@ static int xenpaging_getopts(struct xenpaging *paging, int argc, char *argv[])
             paging->vm_event.domain_id = atoi(optarg);
             break;
         case 'f':
+            free(filename);
             filename = strdup(optarg);
             break;
         case 'm':
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8na-0007k8-NC; Tue, 23 Feb 2016 08:58:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nZ-0007jz-Q3
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:25 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
	66/7B-04050-13F1CC65; Tue, 23 Feb 2016 08:58:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1456217903!23756130!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60034 invoked from network); 23 Feb 2016 08:58:24 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nX-0007b8-AC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nX-0003xH-8N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:23 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nX-0003xH-8N@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:23 +0000
Subject: [Xen-changelog] [xen master] xenpaging: do not leak if --pagefile
	given twice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7e1e001fa7d9d9df300ced3fb83df5f12ebb722b
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:58:33 2016 +0000
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Wed Feb 17 14:22:24 2016 -0500

    xenpaging: do not leak if --pagefile given twice
    
    By freeing filename (which is either NULL or the previous iteration of
    this argument). This implements a semantic where the last --pagefile
    given on the command line takes precedence.
    
    This is the same semantic as the other options have.
    
    CID: 1198792
    
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/xenpaging/xenpaging.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
index 0377507..6157d3a 100644
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -232,6 +232,7 @@ static int xenpaging_getopts(struct xenpaging *paging, int argc, char *argv[])
             paging->vm_event.domain_id = atoi(optarg);
             break;
         case 'f':
+            free(filename);
             filename = strdup(optarg);
             break;
         case 'm':
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nl-0007ld-RR; Tue, 23 Feb 2016 08:58:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nk-0007lR-3d
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	16/3F-02989-B3F1CC65; Tue, 23 Feb 2016 08:58:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456217913!24293177!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58387 invoked from network); 23 Feb 2016 08:58:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nh-0007bz-OH
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nh-00040N-Jv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nh-00040N-Jv@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:33 +0000
Subject: [Xen-changelog] [xen master] xen/arm64: Make sure we get all debug
	output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c31d34082555566eb27d0d1eb42962f72fa886d3
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 4 17:49:35 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 18 10:13:42 2016 +0000

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 9ed9a93..19fa2bb 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nl-0007ld-RR; Tue, 23 Feb 2016 08:58:37 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nk-0007lR-3d
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	16/3F-02989-B3F1CC65; Tue, 23 Feb 2016 08:58:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456217913!24293177!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58387 invoked from network); 23 Feb 2016 08:58:34 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nh-0007bz-OH
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nh-00040N-Jv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8nh-00040N-Jv@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:33 +0000
Subject: [Xen-changelog] [xen master] xen/arm64: Make sure we get all debug
	output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c31d34082555566eb27d0d1eb42962f72fa886d3
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 4 17:49:35 2016 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 18 10:13:42 2016 +0000

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 9ed9a93..19fa2bb 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nv-0007nj-Lw; Tue, 23 Feb 2016 08:58:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nu-0007nE-9J
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:46 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	8E/26-02992-54F1CC65; Tue, 23 Feb 2016 08:58:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217924!15885125!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39122 invoked from network); 23 Feb 2016 08:58:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ns-0007c7-2H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ns-00041R-10
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8ns-00041R-10@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:44 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak of t_info in
	xc_tbuf_get_size()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c479883b04a8200fa3490ab2915b875fc4009f1
Author:     Harmandeep Kaur <write.harmandeep@gmail.com>
AuthorDate: Fri Feb 12 16:38:32 2016 +0530
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 18 11:42:59 2016 +0000

    libxc: fix leak of t_info in xc_tbuf_get_size()
    
    Avoid leaking the memory mapping of the trace buffer
    
    Coverity ID 1351228
    
    Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/xc_tbuf.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
index 695939a..283fbd1 100644
--- a/tools/libxc/xc_tbuf.c
+++ b/tools/libxc/xc_tbuf.c
@@ -70,11 +70,13 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
                     sysctl.u.tbuf_op.buffer_mfn);
 
     if ( t_info == NULL || t_info->tbuf_size == 0 )
-        return -1;
+        rc = -1;
+    else
+	*size = t_info->tbuf_size;
 
-    *size = t_info->tbuf_size;
+    xenforeignmemory_unmap(xch->fmem, t_info, sysctl.u.tbuf_op.size);
 
-    return 0;
+    return rc;
 }
 
 int xc_tbuf_enable(xc_interface *xch, unsigned long pages, unsigned long *mfn,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:47 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8nv-0007nj-Lw; Tue, 23 Feb 2016 08:58:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8nu-0007nE-9J
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:46 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	8E/26-02992-54F1CC65; Tue, 23 Feb 2016 08:58:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217924!15885125!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39122 invoked from network); 23 Feb 2016 08:58:45 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ns-0007c7-2H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ns-00041R-10
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8ns-00041R-10@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:44 +0000
Subject: [Xen-changelog] [xen master] libxc: fix leak of t_info in
	xc_tbuf_get_size()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c479883b04a8200fa3490ab2915b875fc4009f1
Author:     Harmandeep Kaur <write.harmandeep@gmail.com>
AuthorDate: Fri Feb 12 16:38:32 2016 +0530
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Feb 18 11:42:59 2016 +0000

    libxc: fix leak of t_info in xc_tbuf_get_size()
    
    Avoid leaking the memory mapping of the trace buffer
    
    Coverity ID 1351228
    
    Signed-off-by: Harmandeep Kaur <write.harmandeep@gmail.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/xc_tbuf.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_tbuf.c b/tools/libxc/xc_tbuf.c
index 695939a..283fbd1 100644
--- a/tools/libxc/xc_tbuf.c
+++ b/tools/libxc/xc_tbuf.c
@@ -70,11 +70,13 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
                     sysctl.u.tbuf_op.buffer_mfn);
 
     if ( t_info == NULL || t_info->tbuf_size == 0 )
-        return -1;
+        rc = -1;
+    else
+	*size = t_info->tbuf_size;
 
-    *size = t_info->tbuf_size;
+    xenforeignmemory_unmap(xch->fmem, t_info, sysctl.u.tbuf_op.size);
 
-    return 0;
+    return rc;
 }
 
 int xc_tbuf_enable(xc_interface *xch, unsigned long pages, unsigned long *mfn,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8o5-0007qk-Ql; Tue, 23 Feb 2016 08:58:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o4-0007qM-Ly
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:56 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	49/60-03549-05F1CC65; Tue, 23 Feb 2016 08:58:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217934!15885175!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 40815 invoked from network); 23 Feb 2016 08:58:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o2-0007cF-Eg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o2-00044M-B7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8o2-00044M-B7@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:54 +0000
Subject: [Xen-changelog] [xen master] x86: avoid flush IPI when possible
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 216a082b10a7c0e40757a6aad075e0cb4f080c7b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:02:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:02:16 2016 +0100

    x86: avoid flush IPI when possible
    
    Since CLFLUSH, other than WBINVD, is a cache coherency domain wide
    flush, there's no need to IPI other CPUs if this is the only flushing
    being requested. (As a secondary change, move a local variable into the
    scope where it's actually needed.)
    
    As a secondary change also eliminate another leftover from 32-bit days:
    invalidate_interrupt() can clear FLUSH_TLB_GLOBAL alongside FLUSH_TLB,
    since write_ptbase() (as a descendant of __sync_local_execstate()) now
    unconditionally fiddles with CR4.PGE.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/flushtlb.c        | 12 ++++++++++--
 xen/arch/x86/smp.c             | 18 +++++++++++-------
 xen/include/asm-x86/flushtlb.h |  2 +-
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 961bb1d..582a1e2 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -91,9 +91,13 @@ void write_cr3(unsigned long cr3)
     local_irq_restore(flags);
 }
 
-void flush_area_local(const void *va, unsigned int flags)
+/*
+ * The return value of this function is the passed in "flags" argument with
+ * bits cleared that have been fully (i.e. system-wide) taken care of, i.e.
+ * namely not requiring any further action on remote CPUs.
+ */
+unsigned int flush_area_local(const void *va, unsigned int flags)
 {
-    const struct cpuinfo_x86 *c = &current_cpu_data;
     unsigned int order = (flags - 1) & FLUSH_ORDER_MASK;
     unsigned long irqfl;
 
@@ -130,6 +134,7 @@ void flush_area_local(const void *va, unsigned int flags)
 
     if ( flags & FLUSH_CACHE )
     {
+        const struct cpuinfo_x86 *c = &current_cpu_data;
         unsigned long i, sz = 0;
 
         if ( order < (BITS_PER_LONG - PAGE_SHIFT) )
@@ -146,6 +151,7 @@ void flush_area_local(const void *va, unsigned int flags)
                                   "data16 clflush %0",      /* clflushopt */
                                   X86_FEATURE_CLFLUSHOPT,
                                   "m" (((const char *)va)[i]));
+            flags &= ~FLUSH_CACHE;
         }
         else
         {
@@ -154,4 +160,6 @@ void flush_area_local(const void *va, unsigned int flags)
     }
 
     local_irq_restore(irqfl);
+
+    return flags;
 }
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 988b9c2..4abb16f 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -205,26 +205,30 @@ static unsigned int flush_flags;
 
 void invalidate_interrupt(struct cpu_user_regs *regs)
 {
+    unsigned int flags = flush_flags;
     ack_APIC_irq();
     perfc_incr(ipis);
-    if ( !__sync_local_execstate() ||
-         (flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) )
-        flush_area_local(flush_va, flush_flags);
+    if ( __sync_local_execstate() )
+        flags &= ~(FLUSH_TLB | FLUSH_TLB_GLOBAL);
+    flush_area_local(flush_va, flags);
     cpumask_clear_cpu(smp_processor_id(), &flush_cpumask);
 }
 
 void flush_area_mask(const cpumask_t *mask, const void *va, unsigned int flags)
 {
+    unsigned int cpu = smp_processor_id();
+
     ASSERT(local_irq_is_enabled());
 
-    if ( cpumask_test_cpu(smp_processor_id(), mask) )
-        flush_area_local(va, flags);
+    if ( cpumask_test_cpu(cpu, mask) )
+        flags = flush_area_local(va, flags);
 
-    if ( !cpumask_subset(mask, cpumask_of(smp_processor_id())) )
+    if ( (flags & ~FLUSH_ORDER_MASK) &&
+         !cpumask_subset(mask, cpumask_of(cpu)) )
     {
         spin_lock(&flush_lock);
         cpumask_and(&flush_cpumask, mask, &cpu_online_map);
-        cpumask_clear_cpu(smp_processor_id(), &flush_cpumask);
+        cpumask_clear_cpu(cpu, &flush_cpumask);
         flush_va      = va;
         flush_flags   = flags;
         send_IPI_mask(&flush_cpumask, INVALIDATE_TLB_VECTOR);
diff --git a/xen/include/asm-x86/flushtlb.h b/xen/include/asm-x86/flushtlb.h
index 8dbe2d6..4ea31c2 100644
--- a/xen/include/asm-x86/flushtlb.h
+++ b/xen/include/asm-x86/flushtlb.h
@@ -87,7 +87,7 @@ void write_cr3(unsigned long cr3);
 #define FLUSH_CACHE      0x400
 
 /* Flush local TLBs/caches. */
-void flush_area_local(const void *va, unsigned int flags);
+unsigned int flush_area_local(const void *va, unsigned int flags);
 #define flush_local(flags) flush_area_local(NULL, flags)
 
 /* Flush specified CPUs' TLBs/caches */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:58:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8o5-0007qk-Ql; Tue, 23 Feb 2016 08:58:57 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o4-0007qM-Ly
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:56 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	49/60-03549-05F1CC65; Tue, 23 Feb 2016 08:58:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456217934!15885175!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 40815 invoked from network); 23 Feb 2016 08:58:55 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:58:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o2-0007cF-Eg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8o2-00044M-B7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:58:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8o2-00044M-B7@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:58:54 +0000
Subject: [Xen-changelog] [xen master] x86: avoid flush IPI when possible
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 216a082b10a7c0e40757a6aad075e0cb4f080c7b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:02:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:02:16 2016 +0100

    x86: avoid flush IPI when possible
    
    Since CLFLUSH, other than WBINVD, is a cache coherency domain wide
    flush, there's no need to IPI other CPUs if this is the only flushing
    being requested. (As a secondary change, move a local variable into the
    scope where it's actually needed.)
    
    As a secondary change also eliminate another leftover from 32-bit days:
    invalidate_interrupt() can clear FLUSH_TLB_GLOBAL alongside FLUSH_TLB,
    since write_ptbase() (as a descendant of __sync_local_execstate()) now
    unconditionally fiddles with CR4.PGE.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/flushtlb.c        | 12 ++++++++++--
 xen/arch/x86/smp.c             | 18 +++++++++++-------
 xen/include/asm-x86/flushtlb.h |  2 +-
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/flushtlb.c b/xen/arch/x86/flushtlb.c
index 961bb1d..582a1e2 100644
--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -91,9 +91,13 @@ void write_cr3(unsigned long cr3)
     local_irq_restore(flags);
 }
 
-void flush_area_local(const void *va, unsigned int flags)
+/*
+ * The return value of this function is the passed in "flags" argument with
+ * bits cleared that have been fully (i.e. system-wide) taken care of, i.e.
+ * namely not requiring any further action on remote CPUs.
+ */
+unsigned int flush_area_local(const void *va, unsigned int flags)
 {
-    const struct cpuinfo_x86 *c = &current_cpu_data;
     unsigned int order = (flags - 1) & FLUSH_ORDER_MASK;
     unsigned long irqfl;
 
@@ -130,6 +134,7 @@ void flush_area_local(const void *va, unsigned int flags)
 
     if ( flags & FLUSH_CACHE )
     {
+        const struct cpuinfo_x86 *c = &current_cpu_data;
         unsigned long i, sz = 0;
 
         if ( order < (BITS_PER_LONG - PAGE_SHIFT) )
@@ -146,6 +151,7 @@ void flush_area_local(const void *va, unsigned int flags)
                                   "data16 clflush %0",      /* clflushopt */
                                   X86_FEATURE_CLFLUSHOPT,
                                   "m" (((const char *)va)[i]));
+            flags &= ~FLUSH_CACHE;
         }
         else
         {
@@ -154,4 +160,6 @@ void flush_area_local(const void *va, unsigned int flags)
     }
 
     local_irq_restore(irqfl);
+
+    return flags;
 }
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 988b9c2..4abb16f 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -205,26 +205,30 @@ static unsigned int flush_flags;
 
 void invalidate_interrupt(struct cpu_user_regs *regs)
 {
+    unsigned int flags = flush_flags;
     ack_APIC_irq();
     perfc_incr(ipis);
-    if ( !__sync_local_execstate() ||
-         (flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) )
-        flush_area_local(flush_va, flush_flags);
+    if ( __sync_local_execstate() )
+        flags &= ~(FLUSH_TLB | FLUSH_TLB_GLOBAL);
+    flush_area_local(flush_va, flags);
     cpumask_clear_cpu(smp_processor_id(), &flush_cpumask);
 }
 
 void flush_area_mask(const cpumask_t *mask, const void *va, unsigned int flags)
 {
+    unsigned int cpu = smp_processor_id();
+
     ASSERT(local_irq_is_enabled());
 
-    if ( cpumask_test_cpu(smp_processor_id(), mask) )
-        flush_area_local(va, flags);
+    if ( cpumask_test_cpu(cpu, mask) )
+        flags = flush_area_local(va, flags);
 
-    if ( !cpumask_subset(mask, cpumask_of(smp_processor_id())) )
+    if ( (flags & ~FLUSH_ORDER_MASK) &&
+         !cpumask_subset(mask, cpumask_of(cpu)) )
     {
         spin_lock(&flush_lock);
         cpumask_and(&flush_cpumask, mask, &cpu_online_map);
-        cpumask_clear_cpu(smp_processor_id(), &flush_cpumask);
+        cpumask_clear_cpu(cpu, &flush_cpumask);
         flush_va      = va;
         flush_flags   = flags;
         send_IPI_mask(&flush_cpumask, INVALIDATE_TLB_VECTOR);
diff --git a/xen/include/asm-x86/flushtlb.h b/xen/include/asm-x86/flushtlb.h
index 8dbe2d6..4ea31c2 100644
--- a/xen/include/asm-x86/flushtlb.h
+++ b/xen/include/asm-x86/flushtlb.h
@@ -87,7 +87,7 @@ void write_cr3(unsigned long cr3);
 #define FLUSH_CACHE      0x400
 
 /* Flush local TLBs/caches. */
-void flush_area_local(const void *va, unsigned int flags);
+unsigned int flush_area_local(const void *va, unsigned int flags);
 #define flush_local(flags) flush_area_local(NULL, flags)
 
 /* Flush specified CPUs' TLBs/caches */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8oG-0007st-VG; Tue, 23 Feb 2016 08:59:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oF-0007sd-CY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:07 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	4A/C8-28791-A5F1CC65; Tue, 23 Feb 2016 08:59:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456217945!25963585!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30037 invoked from network); 23 Feb 2016 08:59:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oC-0007cq-Sb
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oC-00046B-Pn
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oC-00046B-Pn@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:04 +0000
Subject: [Xen-changelog] [xen master] credit: __runq_tickle takes a useless
	cpu parameter
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ea034623e434297711706bccfd8995485249ac10
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:02:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:02:52 2016 +0100

    credit: __runq_tickle takes a useless cpu parameter
    
    as it is always acts on v->processor of the vcpu that
    we are tickling.
    
    Getting rid of it makes the code easier to understand
    and better looking.
    
    While there, remove a spurious blank line.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_credit.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 671bbee..5279b92 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -360,9 +360,9 @@ boolean_param("tickle_one_idle_cpu", opt_tickle_one_idle);
 
 DEFINE_PER_CPU(unsigned int, last_tickle_cpu);
 
-static inline void
-__runq_tickle(unsigned int cpu, struct csched_vcpu *new)
+static inline void __runq_tickle(struct csched_vcpu *new)
 {
+    unsigned int cpu = new->vcpu->processor;
     struct csched_vcpu * const cur = CSCHED_VCPU(curr_on_cpu(cpu));
     struct csched_private *prv = CSCHED_PRIV(per_cpu(scheduler, cpu));
     cpumask_t mask, idle_mask, *online;
@@ -375,7 +375,6 @@ __runq_tickle(unsigned int cpu, struct csched_vcpu *new)
     cpumask_and(&idle_mask, prv->idlers, online);
     idlers_empty = cpumask_empty(&idle_mask);
 
-
     /*
      * If the pcpu is idle, or there are no idlers and the new
      * vcpu is a higher priority than the old vcpu, run it here.
@@ -980,11 +979,10 @@ static void
 csched_vcpu_wake(const struct scheduler *ops, struct vcpu *vc)
 {
     struct csched_vcpu * const svc = CSCHED_VCPU(vc);
-    const unsigned int cpu = vc->processor;
 
     BUG_ON( is_idle_vcpu(vc) );
 
-    if ( unlikely(curr_on_cpu(cpu) == vc) )
+    if ( unlikely(curr_on_cpu(vc->processor) == vc) )
     {
         SCHED_STAT_CRANK(vcpu_wake_running);
         return;
@@ -1028,7 +1026,7 @@ csched_vcpu_wake(const struct scheduler *ops, struct vcpu *vc)
 
     /* Put the VCPU on the runq and tickle CPUs */
     __runq_insert(svc);
-    __runq_tickle(cpu, svc);
+    __runq_tickle(svc);
 }
 
 static void
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8oG-0007st-VG; Tue, 23 Feb 2016 08:59:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oF-0007sd-CY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:07 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	4A/C8-28791-A5F1CC65; Tue, 23 Feb 2016 08:59:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456217945!25963585!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30037 invoked from network); 23 Feb 2016 08:59:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oC-0007cq-Sb
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oC-00046B-Pn
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oC-00046B-Pn@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:04 +0000
Subject: [Xen-changelog] [xen master] credit: __runq_tickle takes a useless
	cpu parameter
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ea034623e434297711706bccfd8995485249ac10
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:02:52 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:02:52 2016 +0100

    credit: __runq_tickle takes a useless cpu parameter
    
    as it is always acts on v->processor of the vcpu that
    we are tickling.
    
    Getting rid of it makes the code easier to understand
    and better looking.
    
    While there, remove a spurious blank line.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_credit.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 671bbee..5279b92 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -360,9 +360,9 @@ boolean_param("tickle_one_idle_cpu", opt_tickle_one_idle);
 
 DEFINE_PER_CPU(unsigned int, last_tickle_cpu);
 
-static inline void
-__runq_tickle(unsigned int cpu, struct csched_vcpu *new)
+static inline void __runq_tickle(struct csched_vcpu *new)
 {
+    unsigned int cpu = new->vcpu->processor;
     struct csched_vcpu * const cur = CSCHED_VCPU(curr_on_cpu(cpu));
     struct csched_private *prv = CSCHED_PRIV(per_cpu(scheduler, cpu));
     cpumask_t mask, idle_mask, *online;
@@ -375,7 +375,6 @@ __runq_tickle(unsigned int cpu, struct csched_vcpu *new)
     cpumask_and(&idle_mask, prv->idlers, online);
     idlers_empty = cpumask_empty(&idle_mask);
 
-
     /*
      * If the pcpu is idle, or there are no idlers and the new
      * vcpu is a higher priority than the old vcpu, run it here.
@@ -980,11 +979,10 @@ static void
 csched_vcpu_wake(const struct scheduler *ops, struct vcpu *vc)
 {
     struct csched_vcpu * const svc = CSCHED_VCPU(vc);
-    const unsigned int cpu = vc->processor;
 
     BUG_ON( is_idle_vcpu(vc) );
 
-    if ( unlikely(curr_on_cpu(cpu) == vc) )
+    if ( unlikely(curr_on_cpu(vc->processor) == vc) )
     {
         SCHED_STAT_CRANK(vcpu_wake_running);
         return;
@@ -1028,7 +1026,7 @@ csched_vcpu_wake(const struct scheduler *ops, struct vcpu *vc)
 
     /* Put the VCPU on the runq and tickle CPUs */
     __runq_insert(svc);
-    __runq_tickle(cpu, svc);
+    __runq_tickle(svc);
 }
 
 static void
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8oR-0007uk-33; Tue, 23 Feb 2016 08:59:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oP-0007uT-L6
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:17 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	8A/58-12889-46F1CC65; Tue, 23 Feb 2016 08:59:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456217955!23962447!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42849 invoked from network); 23 Feb 2016 08:59:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oN-0007cz-AT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oN-000478-89
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oN-000478-89@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:15 +0000
Subject: [Xen-changelog] [xen master] sched: move up the trace record for
	vcpu_wake and vcpu_sleep
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5da5a383a08a60382d6bc0c78ee1cb91a733250c
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:03:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:03:15 2016 +0100

    sched: move up the trace record for vcpu_wake and vcpu_sleep
    
    vcpu_wake() and vcpu_sleep() are called before the specific
    schedulers wakeup and sleep routines (in fact, it is them
    that calls those specific routine).
    
    Make the trace reflect that, by moving the records up. In
    fact, it is more natural and easy to find the record of
    the event (e.g., the wakeup) *before* the records of the
    actions that deals with the event itself.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/schedule.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 7306d71..c87922f 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -381,7 +381,11 @@ void sched_destroy_domain(struct domain *d)
 void vcpu_sleep_nosync(struct vcpu *v)
 {
     unsigned long flags;
-    spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags);
+    spinlock_t *lock;
+
+    TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id);
+
+    lock = vcpu_schedule_lock_irqsave(v, &flags);
 
     if ( likely(!vcpu_runnable(v)) )
     {
@@ -392,8 +396,6 @@ void vcpu_sleep_nosync(struct vcpu *v)
     }
 
     vcpu_schedule_unlock_irqrestore(lock, flags, v);
-
-    TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id);
 }
 
 void vcpu_sleep_sync(struct vcpu *v)
@@ -409,7 +411,11 @@ void vcpu_sleep_sync(struct vcpu *v)
 void vcpu_wake(struct vcpu *v)
 {
     unsigned long flags;
-    spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags);
+    spinlock_t *lock;
+
+    TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id);
+
+    lock = vcpu_schedule_lock_irqsave(v, &flags);
 
     if ( likely(vcpu_runnable(v)) )
     {
@@ -424,8 +430,6 @@ void vcpu_wake(struct vcpu *v)
     }
 
     vcpu_schedule_unlock_irqrestore(lock, flags, v);
-
-    TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id);
 }
 
 void vcpu_unblock(struct vcpu *v)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8oR-0007uk-33; Tue, 23 Feb 2016 08:59:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oP-0007uT-L6
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:17 +0000
Received: from [193.109.254.147] by server-2.bemta-14.messagelabs.com id
	8A/58-12889-46F1CC65; Tue, 23 Feb 2016 08:59:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456217955!23962447!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42849 invoked from network); 23 Feb 2016 08:59:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oN-0007cz-AT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oN-000478-89
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oN-000478-89@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:15 +0000
Subject: [Xen-changelog] [xen master] sched: move up the trace record for
	vcpu_wake and vcpu_sleep
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5da5a383a08a60382d6bc0c78ee1cb91a733250c
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:03:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:03:15 2016 +0100

    sched: move up the trace record for vcpu_wake and vcpu_sleep
    
    vcpu_wake() and vcpu_sleep() are called before the specific
    schedulers wakeup and sleep routines (in fact, it is them
    that calls those specific routine).
    
    Make the trace reflect that, by moving the records up. In
    fact, it is more natural and easy to find the record of
    the event (e.g., the wakeup) *before* the records of the
    actions that deals with the event itself.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/schedule.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index 7306d71..c87922f 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -381,7 +381,11 @@ void sched_destroy_domain(struct domain *d)
 void vcpu_sleep_nosync(struct vcpu *v)
 {
     unsigned long flags;
-    spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags);
+    spinlock_t *lock;
+
+    TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id);
+
+    lock = vcpu_schedule_lock_irqsave(v, &flags);
 
     if ( likely(!vcpu_runnable(v)) )
     {
@@ -392,8 +396,6 @@ void vcpu_sleep_nosync(struct vcpu *v)
     }
 
     vcpu_schedule_unlock_irqrestore(lock, flags, v);
-
-    TRACE_2D(TRC_SCHED_SLEEP, v->domain->domain_id, v->vcpu_id);
 }
 
 void vcpu_sleep_sync(struct vcpu *v)
@@ -409,7 +411,11 @@ void vcpu_sleep_sync(struct vcpu *v)
 void vcpu_wake(struct vcpu *v)
 {
     unsigned long flags;
-    spinlock_t *lock = vcpu_schedule_lock_irqsave(v, &flags);
+    spinlock_t *lock;
+
+    TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id);
+
+    lock = vcpu_schedule_lock_irqsave(v, &flags);
 
     if ( likely(vcpu_runnable(v)) )
     {
@@ -424,8 +430,6 @@ void vcpu_wake(struct vcpu *v)
     }
 
     vcpu_schedule_unlock_irqrestore(lock, flags, v);
-
-    TRACE_2D(TRC_SCHED_WAKE, v->domain->domain_id, v->vcpu_id);
 }
 
 void vcpu_unblock(struct vcpu *v)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ob-0007x4-A2; Tue, 23 Feb 2016 08:59:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oa-0007wj-17
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:28 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	39/A5-02994-A6F1CC65; Tue, 23 Feb 2016 08:59:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456217965!2019615!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1535 invoked from network); 23 Feb 2016 08:59:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oX-0007dd-NT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oX-00048l-KM
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oX-00048l-KM@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:25 +0000
Subject: [Xen-changelog] [xen master] sched: improve domain creation tracing
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d42c7615045e75b9231a309ec452d7543099773
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:03:34 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:03:34 2016 +0100

    sched: improve domain creation tracing
    
    by doing the following two things:
    
     - move TRC_SCHED_DOM_{ADD,REM}, into the functions
       that do the actual scheduling-related domain
       initialization;
    
     - add two 'generic' DOM_{ADD,REM} events. They're
       made part of the TRC_DOM0 tracing class, as Dom0
       is, usually, from where domains are created and
       destroyed.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/domain.c        | 5 ++++-
 xen/common/schedule.c      | 4 ++--
 xen/include/public/trace.h | 6 ++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 425767c..45273d4 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -270,6 +270,8 @@ struct domain *domain_create(domid_t domid, unsigned int domcr_flags,
 
     d->domain_id = domid;
 
+    TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
+
     lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid, "Domain");
 
     if ( (err = xsm_alloc_security_domain(d)) != 0 )
@@ -864,10 +866,11 @@ void domain_destroy(struct domain *d)
     if ( atomic_cmpxchg(&d->refcnt, 0, DOMAIN_DESTROYED) != 0 )
         return;
 
+    TRACE_1D(TRC_DOM0_DOM_REM, d->domain_id);
+
     cpupool_rm_domain(d);
 
     /* Delete from task list and task hashtable. */
-    TRACE_1D(TRC_SCHED_DOM_REM, d->domain_id);
     spin_lock(&domlist_update_lock);
     pd = &domain_list;
     while ( *pd != d ) 
diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index c87922f..27695e3 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -241,8 +241,6 @@ int sched_init_vcpu(struct vcpu *v, unsigned int processor)
     if ( v->sched_priv == NULL )
         return 1;
 
-    TRACE_2D(TRC_SCHED_DOM_ADD, v->domain->domain_id, v->vcpu_id);
-
     /* Idle VCPUs are scheduled immediately, so don't put them in runqueue. */
     if ( is_idle_domain(d) )
     {
@@ -369,12 +367,14 @@ void sched_destroy_vcpu(struct vcpu *v)
 int sched_init_domain(struct domain *d)
 {
     SCHED_STAT_CRANK(dom_init);
+    TRACE_1D(TRC_SCHED_DOM_ADD, d->domain_id);
     return SCHED_OP(DOM2OP(d), init_domain, d);
 }
 
 void sched_destroy_domain(struct domain *d)
 {
     SCHED_STAT_CRANK(dom_destroy);
+    TRACE_1D(TRC_SCHED_DOM_REM, d->domain_id);
     SCHED_OP(DOM2OP(d), destroy_domain, d);
 }
 
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 274f8f6..5ef9c37 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -85,6 +85,9 @@
       ((TRC_SCHED_##_c << TRC_SCHED_ID_SHIFT) & TRC_SCHED_ID_MASK) ) + \
     (_e & TRC_SCHED_EVT_MASK) )
 
+/* Trace classes for DOM0 operations */
+#define TRC_DOM0_DOMOPS     0x00041000   /* Domains manipulations */
+
 /* Trace classes for Hardware */
 #define TRC_HW_PM           0x00801000   /* Power management traces */
 #define TRC_HW_IRQ          0x00802000   /* Traces relating to the handling of IRQs */
@@ -113,6 +116,9 @@
 #define TRC_SCHED_SWITCH_INFNEXT (TRC_SCHED_VERBOSE + 15)
 #define TRC_SCHED_SHUTDOWN_CODE  (TRC_SCHED_VERBOSE + 16)
 
+#define TRC_DOM0_DOM_ADD         (TRC_DOM0_DOMOPS + 1)
+#define TRC_DOM0_DOM_REM         (TRC_DOM0_DOMOPS + 2)
+
 #define TRC_MEM_PAGE_GRANT_MAP      (TRC_MEM + 1)
 #define TRC_MEM_PAGE_GRANT_UNMAP    (TRC_MEM + 2)
 #define TRC_MEM_PAGE_GRANT_TRANSFER (TRC_MEM + 3)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ob-0007x4-A2; Tue, 23 Feb 2016 08:59:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oa-0007wj-17
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:28 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	39/A5-02994-A6F1CC65; Tue, 23 Feb 2016 08:59:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456217965!2019615!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1535 invoked from network); 23 Feb 2016 08:59:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oX-0007dd-NT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oX-00048l-KM
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oX-00048l-KM@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:25 +0000
Subject: [Xen-changelog] [xen master] sched: improve domain creation tracing
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7d42c7615045e75b9231a309ec452d7543099773
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:03:34 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:03:34 2016 +0100

    sched: improve domain creation tracing
    
    by doing the following two things:
    
     - move TRC_SCHED_DOM_{ADD,REM}, into the functions
       that do the actual scheduling-related domain
       initialization;
    
     - add two 'generic' DOM_{ADD,REM} events. They're
       made part of the TRC_DOM0 tracing class, as Dom0
       is, usually, from where domains are created and
       destroyed.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: George Dunlap <george.dunlap@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/domain.c        | 5 ++++-
 xen/common/schedule.c      | 4 ++--
 xen/include/public/trace.h | 6 ++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 425767c..45273d4 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -270,6 +270,8 @@ struct domain *domain_create(domid_t domid, unsigned int domcr_flags,
 
     d->domain_id = domid;
 
+    TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
+
     lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid, "Domain");
 
     if ( (err = xsm_alloc_security_domain(d)) != 0 )
@@ -864,10 +866,11 @@ void domain_destroy(struct domain *d)
     if ( atomic_cmpxchg(&d->refcnt, 0, DOMAIN_DESTROYED) != 0 )
         return;
 
+    TRACE_1D(TRC_DOM0_DOM_REM, d->domain_id);
+
     cpupool_rm_domain(d);
 
     /* Delete from task list and task hashtable. */
-    TRACE_1D(TRC_SCHED_DOM_REM, d->domain_id);
     spin_lock(&domlist_update_lock);
     pd = &domain_list;
     while ( *pd != d ) 
diff --git a/xen/common/schedule.c b/xen/common/schedule.c
index c87922f..27695e3 100644
--- a/xen/common/schedule.c
+++ b/xen/common/schedule.c
@@ -241,8 +241,6 @@ int sched_init_vcpu(struct vcpu *v, unsigned int processor)
     if ( v->sched_priv == NULL )
         return 1;
 
-    TRACE_2D(TRC_SCHED_DOM_ADD, v->domain->domain_id, v->vcpu_id);
-
     /* Idle VCPUs are scheduled immediately, so don't put them in runqueue. */
     if ( is_idle_domain(d) )
     {
@@ -369,12 +367,14 @@ void sched_destroy_vcpu(struct vcpu *v)
 int sched_init_domain(struct domain *d)
 {
     SCHED_STAT_CRANK(dom_init);
+    TRACE_1D(TRC_SCHED_DOM_ADD, d->domain_id);
     return SCHED_OP(DOM2OP(d), init_domain, d);
 }
 
 void sched_destroy_domain(struct domain *d)
 {
     SCHED_STAT_CRANK(dom_destroy);
+    TRACE_1D(TRC_SCHED_DOM_REM, d->domain_id);
     SCHED_OP(DOM2OP(d), destroy_domain, d);
 }
 
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 274f8f6..5ef9c37 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -85,6 +85,9 @@
       ((TRC_SCHED_##_c << TRC_SCHED_ID_SHIFT) & TRC_SCHED_ID_MASK) ) + \
     (_e & TRC_SCHED_EVT_MASK) )
 
+/* Trace classes for DOM0 operations */
+#define TRC_DOM0_DOMOPS     0x00041000   /* Domains manipulations */
+
 /* Trace classes for Hardware */
 #define TRC_HW_PM           0x00801000   /* Power management traces */
 #define TRC_HW_IRQ          0x00802000   /* Traces relating to the handling of IRQs */
@@ -113,6 +116,9 @@
 #define TRC_SCHED_SWITCH_INFNEXT (TRC_SCHED_VERBOSE + 15)
 #define TRC_SCHED_SHUTDOWN_CODE  (TRC_SCHED_VERBOSE + 16)
 
+#define TRC_DOM0_DOM_ADD         (TRC_DOM0_DOMOPS + 1)
+#define TRC_DOM0_DOM_REM         (TRC_DOM0_DOMOPS + 2)
+
 #define TRC_MEM_PAGE_GRANT_MAP      (TRC_MEM + 1)
 #define TRC_MEM_PAGE_GRANT_UNMAP    (TRC_MEM + 2)
 #define TRC_MEM_PAGE_GRANT_TRANSFER (TRC_MEM + 3)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8om-0007yi-En; Tue, 23 Feb 2016 08:59:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ok-0007yR-NS
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:38 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	89/00-13475-A7F1CC65; Tue, 23 Feb 2016 08:59:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456217976!13746199!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 40004 invoked from network); 23 Feb 2016 08:59:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oi-0007dn-6l
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oi-00049p-3Y
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oi-00049p-3Y@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:36 +0000
Subject: [Xen-changelog] [xen master] credit2: pack trace data better for
	xentrace_format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bf1891699b560208b1616e78b233b0b7cd608fae
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:04:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:04:00 2016 +0100

    credit2: pack trace data better for xentrace_format
    
    when tracing runstate changes, the vcpu and domain IDs
    are encoded in the lower and higher, respectively, parts
    of a 32 bits integer. When decoding a trace with
    xentrace_format, this makes it possible to display
    such events like this:
    
    CPU0  833435853624 (+     768)  running_to_runnable [ dom:vcpu = 0x7fff0000 ]
    CPU0  833435854416 (+     792)  runnable_to_running [ dom:vcpu = 0x00000007 ]
    
    For consistency, we should do the same when displaying
    the events coming from the Credit2 scheduler (when using
    the same tool), and to do that, we need to invert the
    order in which the fields are being put in the trace
    struct right now.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_credit2.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 78220a7..cf40f68 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -382,7 +382,7 @@ __update_svc_load(const struct scheduler *ops,
 
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned v_avgload:32;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
@@ -450,7 +450,7 @@ runq_insert(const struct scheduler *ops, unsigned int cpu, struct csched2_vcpu *
 
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned pos;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
@@ -536,7 +536,7 @@ runq_tickle(const struct scheduler *ops, unsigned int cpu, struct csched2_vcpu *
 
         /* TRACE */ {
             struct {
-                unsigned dom:16,vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned credit;
             } d;
             d.dom = cur->vcpu->domain->domain_id;
@@ -561,9 +561,9 @@ tickle:
 
     /* TRACE */ {
         struct {
-            unsigned cpu:8;
+            unsigned cpu:16, pad:16;
         } d;
-        d.cpu = ipid;
+        d.cpu = ipid; d.pad = 0;
         trace_var(TRC_CSCHED2_TICKLE, 0,
                   sizeof(d),
                   (unsigned char *)&d);
@@ -634,7 +634,7 @@ static void reset_credit(const struct scheduler *ops, int cpu, s_time_t now,
 
         /* TRACE */ {
             struct {
-                unsigned dom:16,vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned credit_start, credit_end;
                 unsigned multiplier;
             } d;
@@ -683,7 +683,7 @@ void burn_credits(struct csched2_runqueue_data *rqd, struct csched2_vcpu *svc, s
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned credit;
             int delta;
         } d;
@@ -812,7 +812,7 @@ __runq_assign(struct csched2_vcpu *svc, struct csched2_runqueue_data *rqd)
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned rqi:16;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8om-0007yi-En; Tue, 23 Feb 2016 08:59:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ok-0007yR-NS
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:38 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
	89/00-13475-A7F1CC65; Tue, 23 Feb 2016 08:59:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456217976!13746199!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 40004 invoked from network); 23 Feb 2016 08:59:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oi-0007dn-6l
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8oi-00049p-3Y
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8oi-00049p-3Y@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:36 +0000
Subject: [Xen-changelog] [xen master] credit2: pack trace data better for
	xentrace_format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bf1891699b560208b1616e78b233b0b7cd608fae
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:04:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:04:00 2016 +0100

    credit2: pack trace data better for xentrace_format
    
    when tracing runstate changes, the vcpu and domain IDs
    are encoded in the lower and higher, respectively, parts
    of a 32 bits integer. When decoding a trace with
    xentrace_format, this makes it possible to display
    such events like this:
    
    CPU0  833435853624 (+     768)  running_to_runnable [ dom:vcpu = 0x7fff0000 ]
    CPU0  833435854416 (+     792)  runnable_to_running [ dom:vcpu = 0x00000007 ]
    
    For consistency, we should do the same when displaying
    the events coming from the Credit2 scheduler (when using
    the same tool), and to do that, we need to invert the
    order in which the fields are being put in the trace
    struct right now.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_credit2.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 78220a7..cf40f68 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -382,7 +382,7 @@ __update_svc_load(const struct scheduler *ops,
 
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned v_avgload:32;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
@@ -450,7 +450,7 @@ runq_insert(const struct scheduler *ops, unsigned int cpu, struct csched2_vcpu *
 
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned pos;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
@@ -536,7 +536,7 @@ runq_tickle(const struct scheduler *ops, unsigned int cpu, struct csched2_vcpu *
 
         /* TRACE */ {
             struct {
-                unsigned dom:16,vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned credit;
             } d;
             d.dom = cur->vcpu->domain->domain_id;
@@ -561,9 +561,9 @@ tickle:
 
     /* TRACE */ {
         struct {
-            unsigned cpu:8;
+            unsigned cpu:16, pad:16;
         } d;
-        d.cpu = ipid;
+        d.cpu = ipid; d.pad = 0;
         trace_var(TRC_CSCHED2_TICKLE, 0,
                   sizeof(d),
                   (unsigned char *)&d);
@@ -634,7 +634,7 @@ static void reset_credit(const struct scheduler *ops, int cpu, s_time_t now,
 
         /* TRACE */ {
             struct {
-                unsigned dom:16,vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned credit_start, credit_end;
                 unsigned multiplier;
             } d;
@@ -683,7 +683,7 @@ void burn_credits(struct csched2_runqueue_data *rqd, struct csched2_vcpu *svc, s
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned credit;
             int delta;
         } d;
@@ -812,7 +812,7 @@ __runq_assign(struct csched2_vcpu *svc, struct csched2_runqueue_data *rqd)
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned rqi:16;
         } d;
         d.dom = svc->vcpu->domain->domain_id;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ow-00081J-Ix; Tue, 23 Feb 2016 08:59:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ov-00080K-1k
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:49 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	B7/CA-23366-48F1CC65; Tue, 23 Feb 2016 08:59:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456217986!25921264!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2235 invoked from network); 23 Feb 2016 08:59:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8os-0007dv-Ik
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8os-0004B5-FP
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8os-0004B5-FP@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:46 +0000
Subject: [Xen-changelog] [xen master] RTDS: pack trace data better for
	xentrace_format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3c4c42a0c48ad33690a8e93c2ea1c9e90d72f63b
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:04:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:04:23 2016 +0100

    RTDS: pack trace data better for xentrace_format
    
    when tracing runstate changes, the vcpu and domain IDs
    are encoded in the lower and higher, respectively, parts
    of a 32 bits integer. When decoding a trace with
    xentrace_format, this makes it possible to display
    such events like this:
    
    CPU0  833435853624 (+     768)  running_to_runnable [ dom:vcpu = 0x7fff0000 ]
    CPU0  833435854416 (+     792)  runnable_to_running [ dom:vcpu = 0x00000007 ]
    
    For consistency, we should do the same when displaying
    the events coming from the RTDS scheduler (when using
    the same tool), and to do that, we need to invert the
    order in which the fields are being put in the trace
    struct right now.
    
    While there, we also:
     - fix the use of TRC_RTDS_SCHED_TASKLET (it should
       only be involved when a tasklet is scheduled, not
       _every_ time rt_schedule() is invoked!);
     - remove a very chatty and useless (nothing has been
       picked!) use of TRC_RTDS_RUNQ_PICK.
    
    In fact, one can already figure out when nothing has been
    picked from the runqueue, by looking at when cpu_idle
    is invoked --which is the same thing one would do if on
    Credit or Credit2.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_rt.c | 27 ++++-----------------------
 1 file changed, 4 insertions(+), 23 deletions(-)

diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
index 2e5430f..53de6d6 100644
--- a/xen/common/sched_rt.c
+++ b/xen/common/sched_rt.c
@@ -362,7 +362,7 @@ rt_update_deadline(s_time_t now, struct rt_vcpu *svc)
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned cur_deadline_lo, cur_deadline_hi;
             unsigned cur_budget_lo, cur_budget_hi;
         } d;
@@ -711,7 +711,7 @@ burn_budget(const struct scheduler *ops, struct rt_vcpu *svc, s_time_t now)
     /* TRACE */
     {
         struct {
-            unsigned dom:16, vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned cur_budget_lo;
             unsigned cur_budget_hi;
             int delta;
@@ -763,7 +763,7 @@ __runq_pick(const struct scheduler *ops, const cpumask_t *mask)
         if( svc != NULL )
         {
             struct {
-                unsigned dom:16, vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned cur_deadline_lo, cur_deadline_hi;
                 unsigned cur_budget_lo, cur_budget_hi;
             } d;
@@ -777,8 +777,6 @@ __runq_pick(const struct scheduler *ops, const cpumask_t *mask)
                       sizeof(d),
                       (unsigned char *) &d);
         }
-        else
-            trace_var(TRC_RTDS_RUNQ_PICK, 1, 0, NULL);
     }
 
     return svc;
@@ -845,6 +843,7 @@ rt_schedule(const struct scheduler *ops, s_time_t now, bool_t tasklet_work_sched
 
     if ( tasklet_work_scheduled )
     {
+        trace_var(TRC_RTDS_SCHED_TASKLET, 1, 0,  NULL);
         snext = rt_vcpu(idle_vcpu[cpu]);
     }
     else
@@ -885,24 +884,6 @@ rt_schedule(const struct scheduler *ops, s_time_t now, bool_t tasklet_work_sched
     ret.time = MIN(snext->budget, MAX_SCHEDULE); /* sched quantum */
     ret.task = snext->vcpu;
 
-    /* TRACE */
-    {
-        struct {
-            unsigned dom:16,vcpu:16;
-            unsigned cur_deadline_lo, cur_deadline_hi;
-            unsigned cur_budget_lo, cur_budget_hi;
-        } d;
-        d.dom = snext->vcpu->domain->domain_id;
-        d.vcpu = snext->vcpu->vcpu_id;
-        d.cur_deadline_lo = (unsigned) snext->cur_deadline;
-        d.cur_deadline_hi = (unsigned) (snext->cur_deadline >> 32);
-        d.cur_budget_lo = (unsigned) snext->cur_budget;
-        d.cur_budget_hi = (unsigned) (snext->cur_budget >> 32);
-        trace_var(TRC_RTDS_SCHED_TASKLET, 1,
-                  sizeof(d),
-                  (unsigned char *)&d);
-    }
-
     return ret;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 08:59:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 08:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ow-00081J-Ix; Tue, 23 Feb 2016 08:59:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ov-00080K-1k
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:49 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	B7/CA-23366-48F1CC65; Tue, 23 Feb 2016 08:59:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456217986!25921264!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2235 invoked from network); 23 Feb 2016 08:59:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8os-0007dv-Ik
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8os-0004B5-FP
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8os-0004B5-FP@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:46 +0000
Subject: [Xen-changelog] [xen master] RTDS: pack trace data better for
	xentrace_format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3c4c42a0c48ad33690a8e93c2ea1c9e90d72f63b
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 18 15:04:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:04:23 2016 +0100

    RTDS: pack trace data better for xentrace_format
    
    when tracing runstate changes, the vcpu and domain IDs
    are encoded in the lower and higher, respectively, parts
    of a 32 bits integer. When decoding a trace with
    xentrace_format, this makes it possible to display
    such events like this:
    
    CPU0  833435853624 (+     768)  running_to_runnable [ dom:vcpu = 0x7fff0000 ]
    CPU0  833435854416 (+     792)  runnable_to_running [ dom:vcpu = 0x00000007 ]
    
    For consistency, we should do the same when displaying
    the events coming from the RTDS scheduler (when using
    the same tool), and to do that, we need to invert the
    order in which the fields are being put in the trace
    struct right now.
    
    While there, we also:
     - fix the use of TRC_RTDS_SCHED_TASKLET (it should
       only be involved when a tasklet is scheduled, not
       _every_ time rt_schedule() is invoked!);
     - remove a very chatty and useless (nothing has been
       picked!) use of TRC_RTDS_RUNQ_PICK.
    
    In fact, one can already figure out when nothing has been
    picked from the runqueue, by looking at when cpu_idle
    is invoked --which is the same thing one would do if on
    Credit or Credit2.
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 xen/common/sched_rt.c | 27 ++++-----------------------
 1 file changed, 4 insertions(+), 23 deletions(-)

diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c
index 2e5430f..53de6d6 100644
--- a/xen/common/sched_rt.c
+++ b/xen/common/sched_rt.c
@@ -362,7 +362,7 @@ rt_update_deadline(s_time_t now, struct rt_vcpu *svc)
     /* TRACE */
     {
         struct {
-            unsigned dom:16,vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned cur_deadline_lo, cur_deadline_hi;
             unsigned cur_budget_lo, cur_budget_hi;
         } d;
@@ -711,7 +711,7 @@ burn_budget(const struct scheduler *ops, struct rt_vcpu *svc, s_time_t now)
     /* TRACE */
     {
         struct {
-            unsigned dom:16, vcpu:16;
+            unsigned vcpu:16, dom:16;
             unsigned cur_budget_lo;
             unsigned cur_budget_hi;
             int delta;
@@ -763,7 +763,7 @@ __runq_pick(const struct scheduler *ops, const cpumask_t *mask)
         if( svc != NULL )
         {
             struct {
-                unsigned dom:16, vcpu:16;
+                unsigned vcpu:16, dom:16;
                 unsigned cur_deadline_lo, cur_deadline_hi;
                 unsigned cur_budget_lo, cur_budget_hi;
             } d;
@@ -777,8 +777,6 @@ __runq_pick(const struct scheduler *ops, const cpumask_t *mask)
                       sizeof(d),
                       (unsigned char *) &d);
         }
-        else
-            trace_var(TRC_RTDS_RUNQ_PICK, 1, 0, NULL);
     }
 
     return svc;
@@ -845,6 +843,7 @@ rt_schedule(const struct scheduler *ops, s_time_t now, bool_t tasklet_work_sched
 
     if ( tasklet_work_scheduled )
     {
+        trace_var(TRC_RTDS_SCHED_TASKLET, 1, 0,  NULL);
         snext = rt_vcpu(idle_vcpu[cpu]);
     }
     else
@@ -885,24 +884,6 @@ rt_schedule(const struct scheduler *ops, s_time_t now, bool_t tasklet_work_sched
     ret.time = MIN(snext->budget, MAX_SCHEDULE); /* sched quantum */
     ret.task = snext->vcpu;
 
-    /* TRACE */
-    {
-        struct {
-            unsigned dom:16,vcpu:16;
-            unsigned cur_deadline_lo, cur_deadline_hi;
-            unsigned cur_budget_lo, cur_budget_hi;
-        } d;
-        d.dom = snext->vcpu->domain->domain_id;
-        d.vcpu = snext->vcpu->vcpu_id;
-        d.cur_deadline_lo = (unsigned) snext->cur_deadline;
-        d.cur_deadline_hi = (unsigned) (snext->cur_deadline >> 32);
-        d.cur_budget_lo = (unsigned) snext->cur_budget;
-        d.cur_budget_hi = (unsigned) (snext->cur_budget >> 32);
-        trace_var(TRC_RTDS_SCHED_TASKLET, 1,
-                  sizeof(d),
-                  (unsigned char *)&d);
-    }
-
     return ret;
 }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8p6-000830-NO; Tue, 23 Feb 2016 09:00:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p5-00082p-Cv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:59 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	83/30-02994-E8F1CC65; Tue, 23 Feb 2016 08:59:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1456217997!24031719!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34198 invoked from network); 23 Feb 2016 08:59:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p3-0007eA-1x
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p2-0004EE-SE
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8p2-0004EE-SE@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:56 +0000
Subject: [Xen-changelog] [xen master] x86/mm: slightly simplify
	mod_l1_entry()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3132fc91b611ad07b1b457a56cd9cc113ca6c0e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:05:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:05:00 2016 +0100

    x86/mm: slightly simplify mod_l1_entry()
    
    Re-order code to simplify error cleanup.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/mm.c | 28 +++++++++++-----------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a05edc3..ee0ddff 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1873,38 +1873,32 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
     {
         /* Translate foreign guest addresses. */
         struct page_info *page = NULL;
-        if ( paging_mode_translate(pg_dom) )
-        {
-            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
-            if ( !page )
-                return -EINVAL;
-            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
-        }
 
         if ( unlikely(l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom)) )
         {
             MEM_LOG("Bad L1 flags %x",
                     l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom));
-            if ( page )
-                put_page(page);
             return -EINVAL;
         }
 
+        if ( paging_mode_translate(pg_dom) )
+        {
+            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
+            if ( !page )
+                return -EINVAL;
+            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
+        }
+
         /* Fast path for identical mapping, r/w, presence, and cachability. */
         if ( !l1e_has_changed(ol1e, nl1e,
                               PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
-            if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
-                              preserve_ad) )
-            {
-                if ( page )
-                    put_page(page);
-                return 0;
-            }
+            rc = UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
+                              preserve_ad);
             if ( page )
                 put_page(page);
-            return -EBUSY;
+            return rc ? 0 : -EBUSY;
         }
 
         switch ( rc = get_page_from_l1e(nl1e, pt_dom, pg_dom) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8p6-000830-NO; Tue, 23 Feb 2016 09:00:00 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p5-00082p-Cv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:59 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	83/30-02994-E8F1CC65; Tue, 23 Feb 2016 08:59:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1456217997!24031719!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34198 invoked from network); 23 Feb 2016 08:59:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 08:59:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p3-0007eA-1x
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8p2-0004EE-SE
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 08:59:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8p2-0004EE-SE@xenbits.xen.org>
Date: Tue, 23 Feb 2016 08:59:56 +0000
Subject: [Xen-changelog] [xen master] x86/mm: slightly simplify
	mod_l1_entry()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b3132fc91b611ad07b1b457a56cd9cc113ca6c0e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:05:00 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:05:00 2016 +0100

    x86/mm: slightly simplify mod_l1_entry()
    
    Re-order code to simplify error cleanup.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/mm.c | 28 +++++++++++-----------------
 1 file changed, 11 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a05edc3..ee0ddff 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1873,38 +1873,32 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
     {
         /* Translate foreign guest addresses. */
         struct page_info *page = NULL;
-        if ( paging_mode_translate(pg_dom) )
-        {
-            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
-            if ( !page )
-                return -EINVAL;
-            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
-        }
 
         if ( unlikely(l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom)) )
         {
             MEM_LOG("Bad L1 flags %x",
                     l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom));
-            if ( page )
-                put_page(page);
             return -EINVAL;
         }
 
+        if ( paging_mode_translate(pg_dom) )
+        {
+            page = get_page_from_gfn(pg_dom, l1e_get_pfn(nl1e), NULL, P2M_ALLOC);
+            if ( !page )
+                return -EINVAL;
+            nl1e = l1e_from_pfn(page_to_mfn(page), l1e_get_flags(nl1e));
+        }
+
         /* Fast path for identical mapping, r/w, presence, and cachability. */
         if ( !l1e_has_changed(ol1e, nl1e,
                               PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
-            if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
-                              preserve_ad) )
-            {
-                if ( page )
-                    put_page(page);
-                return 0;
-            }
+            rc = UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
+                              preserve_ad);
             if ( page )
                 put_page(page);
-            return -EBUSY;
+            return rc ? 0 : -EBUSY;
         }
 
         switch ( rc = get_page_from_l1e(nl1e, pt_dom, pg_dom) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pH-00086X-R0; Tue, 23 Feb 2016 09:00:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pG-00086L-CN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:10 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	FA/F5-03606-99F1CC65; Tue, 23 Feb 2016 09:00:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218007!24338292!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30233 invoked from network); 23 Feb 2016 09:00:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pD-0007h8-HJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pD-0004HH-Ah
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pD-0004HH-Ah@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:07 +0000
Subject: [Xen-changelog] [xen master] x86emul: fix rIP handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0640ffb67fb92e2561c63b9308c27b71281fdd72
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:05:34 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:05:34 2016 +0100

    x86emul: fix rIP handling
    
    Deal with rIP just like with any other register: Truncate to designated
    width upon entry, write back the zero-extended 32-bit value when
    emulating 32-bit code, and leave the upper 48 bits unchanged for 16-bit
    code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 028b3f6..9b1519e 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -570,7 +570,6 @@ do{ asm volatile (                                                      \
 /* Fetch next part of the instruction being emulated. */
 #define insn_fetch_bytes(_size)                                         \
 ({ unsigned long _x = 0, _eip = _regs.eip;                              \
-   if ( !mode_64bit() ) _eip = (uint32_t)_eip; /* ignore upper dword */ \
    _regs.eip += (_size); /* real hardware doesn't truncate */           \
    generate_exception_if((uint8_t)(_regs.eip -                          \
                                    ctxt->regs->eip) > MAX_INST_LEN,     \
@@ -1492,6 +1491,10 @@ x86_emulate(
 #endif
     }
 
+    /* Truncate rIP to def_ad_bytes (2 or 4) if necessary. */
+    if ( def_ad_bytes < sizeof(_regs.eip) )
+        _regs.eip &= (1UL << (def_ad_bytes * 8)) - 1;
+
     /* Prefix bytes. */
     for ( ; ; )
     {
@@ -3783,6 +3786,21 @@ x86_emulate(
 
     /* Commit shadow register state. */
     _regs.eflags &= ~EFLG_RF;
+    switch ( __builtin_expect(def_ad_bytes, sizeof(_regs.eip)) )
+    {
+        uint16_t ip;
+
+    case 2:
+        ip = _regs.eip;
+        _regs.eip = ctxt->regs->eip;
+        *(uint16_t *)&_regs.eip = ip;
+        break;
+#ifdef __x86_64__
+    case 4:
+        _regs.rip = _regs._eip;
+        break;
+#endif
+    }
     *ctxt->regs = _regs;
 
  done:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pH-00086X-R0; Tue, 23 Feb 2016 09:00:11 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pG-00086L-CN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:10 +0000
Received: from [85.158.137.68] by server-4.bemta-3.messagelabs.com id
	FA/F5-03606-99F1CC65; Tue, 23 Feb 2016 09:00:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218007!24338292!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30233 invoked from network); 23 Feb 2016 09:00:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pD-0007h8-HJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pD-0004HH-Ah
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pD-0004HH-Ah@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:07 +0000
Subject: [Xen-changelog] [xen master] x86emul: fix rIP handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0640ffb67fb92e2561c63b9308c27b71281fdd72
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:05:34 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:05:34 2016 +0100

    x86emul: fix rIP handling
    
    Deal with rIP just like with any other register: Truncate to designated
    width upon entry, write back the zero-extended 32-bit value when
    emulating 32-bit code, and leave the upper 48 bits unchanged for 16-bit
    code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 028b3f6..9b1519e 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -570,7 +570,6 @@ do{ asm volatile (                                                      \
 /* Fetch next part of the instruction being emulated. */
 #define insn_fetch_bytes(_size)                                         \
 ({ unsigned long _x = 0, _eip = _regs.eip;                              \
-   if ( !mode_64bit() ) _eip = (uint32_t)_eip; /* ignore upper dword */ \
    _regs.eip += (_size); /* real hardware doesn't truncate */           \
    generate_exception_if((uint8_t)(_regs.eip -                          \
                                    ctxt->regs->eip) > MAX_INST_LEN,     \
@@ -1492,6 +1491,10 @@ x86_emulate(
 #endif
     }
 
+    /* Truncate rIP to def_ad_bytes (2 or 4) if necessary. */
+    if ( def_ad_bytes < sizeof(_regs.eip) )
+        _regs.eip &= (1UL << (def_ad_bytes * 8)) - 1;
+
     /* Prefix bytes. */
     for ( ; ; )
     {
@@ -3783,6 +3786,21 @@ x86_emulate(
 
     /* Commit shadow register state. */
     _regs.eflags &= ~EFLG_RF;
+    switch ( __builtin_expect(def_ad_bytes, sizeof(_regs.eip)) )
+    {
+        uint16_t ip;
+
+    case 2:
+        ip = _regs.eip;
+        _regs.eip = ctxt->regs->eip;
+        *(uint16_t *)&_regs.eip = ip;
+        break;
+#ifdef __x86_64__
+    case 4:
+        _regs.rip = _regs._eip;
+        break;
+#endif
+    }
     *ctxt->regs = _regs;
 
  done:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pV-000887-0p; Tue, 23 Feb 2016 09:00:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pU-00087y-6h
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:24 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	B6/94-03511-7AF1CC65; Tue, 23 Feb 2016 09:00:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456218018!24025771!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11004 invoked from network); 23 Feb 2016 09:00:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pO-0007hG-Ak
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pO-0004Kb-3C
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pO-0004Kb-3C@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:18 +0000
Subject: [Xen-changelog] [xen master] VMX: fold redundant code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 55caa84a58e9ca1f16e28dd382784e40abb91d3d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:07:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:11 2016 +0100

    VMX: fold redundant code
    
    No need to do this in two slightly different ways, possibly keeping the
    compiler from folding the code for us.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index aa8400b..2b266e7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3103,6 +3103,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                  && vector != TRAP_nmi 
                  && vector != TRAP_machine_check ) 
             {
+        default:
                 perfc_incr(realmode_exits);
                 v->arch.hvm_vmx.vmx_emulate = 1;
                 HVMTRACE_0D(REALMODE_EMULATE);
@@ -3121,12 +3122,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         case EXIT_REASON_INVEPT:
         case EXIT_REASON_INVVPID:
             break;
-
-        default:
-            v->arch.hvm_vmx.vmx_emulate = 1;
-            perfc_incr(realmode_exits);
-            HVMTRACE_0D(REALMODE_EMULATE);
-            return;
         }
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pV-000887-0p; Tue, 23 Feb 2016 09:00:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pU-00087y-6h
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:24 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	B6/94-03511-7AF1CC65; Tue, 23 Feb 2016 09:00:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456218018!24025771!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11004 invoked from network); 23 Feb 2016 09:00:19 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:19 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pO-0007hG-Ak
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pO-0004Kb-3C
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:18 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pO-0004Kb-3C@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:18 +0000
Subject: [Xen-changelog] [xen master] VMX: fold redundant code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 55caa84a58e9ca1f16e28dd382784e40abb91d3d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:07:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:11 2016 +0100

    VMX: fold redundant code
    
    No need to do this in two slightly different ways, possibly keeping the
    compiler from folding the code for us.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index aa8400b..2b266e7 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3103,6 +3103,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
                  && vector != TRAP_nmi 
                  && vector != TRAP_machine_check ) 
             {
+        default:
                 perfc_incr(realmode_exits);
                 v->arch.hvm_vmx.vmx_emulate = 1;
                 HVMTRACE_0D(REALMODE_EMULATE);
@@ -3121,12 +3122,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         case EXIT_REASON_INVEPT:
         case EXIT_REASON_INVVPID:
             break;
-
-        default:
-            v->arch.hvm_vmx.vmx_emulate = 1;
-            perfc_incr(realmode_exits);
-            HVMTRACE_0D(REALMODE_EMULATE);
-            return;
         }
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pi-0008AJ-9L; Tue, 23 Feb 2016 09:00:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pg-0008A5-LL
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	6A/04-02989-3BF1CC65; Tue, 23 Feb 2016 09:00:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456218029!24025866!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14153 invoked from network); 23 Feb 2016 09:00:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pY-0007iD-Pw
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pY-0004Lv-LJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pY-0004Lv-LJ@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:28 +0000
Subject: [Xen-changelog] [xen master] x86: drop failsafe callback invocation
	from assembly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d9b7ef209a733220958123335594324e6dc115a3
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:07:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:33 2016 +0100

    x86: drop failsafe callback invocation from assembly
    
    Afaict this was never necessary on a 64-bit hypervisor, and was instead
    just blindly cloned over from 32-bit code: We don't fiddle with (and
    hence don't reload) any of DS, ES, FS, or GS, and an exception on IRET
    itself can equally well be reported to the guest as that very exception
    on the target of that IRET.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_64/compat/entry.S | 51 +-------------------------------------
 xen/arch/x86/x86_64/entry.S        | 49 ++----------------------------------
 xen/include/asm-x86/processor.h    |  1 -
 3 files changed, 3 insertions(+), 98 deletions(-)

diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index 3088aa7..8cb8bca 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -176,39 +176,7 @@ ENTRY(compat_restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
         RESTORE_ALL adj=8 compat=1
 .Lft0:  iretq
-
-.section .fixup,"ax"
-.Lfx0:  sti
-        SAVE_ALL
-        movq  UREGS_error_code(%rsp),%rsi
-        movq  %rsp,%rax
-        andq  $~0xf,%rsp
-        pushq $__HYPERVISOR_DS         # SS
-        pushq %rax                     # RSP
-        pushfq                         # RFLAGS
-        pushq $__HYPERVISOR_CS         # CS
-        leaq  .Ldf0(%rip),%rax
-        pushq %rax                     # RIP
-        pushq %rsi                     # error_code/entry_vector
-        jmp   handle_exception
-.Ldf0:  GET_CURRENT(%rbx)
-        jmp   compat_test_all_events
-compat_failsafe_callback:
-        GET_CURRENT(%rbx)
-        leaq  VCPU_trap_bounce(%rbx),%rdx
-        movl  VCPU_failsafe_addr(%rbx),%eax
-        movl  %eax,TRAPBOUNCE_eip(%rdx)
-        movl  VCPU_failsafe_sel(%rbx),%eax
-        movw  %ax,TRAPBOUNCE_cs(%rdx)
-        movb  $TBF_FAILSAFE,TRAPBOUNCE_flags(%rdx)
-        btq   $_VGCF_failsafe_disables_events,VCPU_guest_context_flags(%rbx)
-        jnc   1f
-        orb   $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
-1:      call  compat_create_bounce_frame
-        jmp   compat_test_all_events
-.previous
-        _ASM_PRE_EXTABLE(.Lft0, .Lfx0)
-        _ASM_EXTABLE(.Ldf0, compat_failsafe_callback)
+        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
 
 /* %rdx: trap_bounce, %rbx: struct vcpu */
 ENTRY(compat_post_handle_exception)
@@ -322,17 +290,6 @@ compat_create_bounce_frame:
         movl  TRAPBOUNCE_error_code(%rdx),%eax
 .Lft8:  movl  %eax,%fs:(%rsi)           # ERROR CODE
 1:
-        testb $TBF_FAILSAFE,%cl
-UNLIKELY_START(nz, compat_bounce_failsafe)
-        subl  $4*4,%esi
-        movl  %gs,%eax
-.Lft9:  movl  %eax,%fs:3*4(%rsi)        # GS
-.Lft10: movl  %edi,%fs:2*4(%rsi)        # FS
-        movl  %es,%eax
-.Lft11: movl  %eax,%fs:1*4(%rsi)        # ES
-        movl  %ds,%eax
-.Lft12: movl  %eax,%fs:0*4(%rsi)        # DS
-UNLIKELY_END(compat_bounce_failsafe)
         /* Rewrite our stack frame and return to guest-OS mode. */
         /* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */
         andl  $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\
@@ -364,14 +321,8 @@ __UNLIKELY_END(compat_bounce_null_selector)
         _ASM_EXTABLE(.Lft6,  compat_crash_page_fault_8)
         _ASM_EXTABLE(.Lft7,  compat_crash_page_fault)
         _ASM_EXTABLE(.Lft8,  compat_crash_page_fault)
-        _ASM_EXTABLE(.Lft9,  compat_crash_page_fault_12)
-        _ASM_EXTABLE(.Lft10, compat_crash_page_fault_8)
-        _ASM_EXTABLE(.Lft11, compat_crash_page_fault_4)
-        _ASM_EXTABLE(.Lft12, compat_crash_page_fault)
         _ASM_EXTABLE(.Lft13, .Lfx13)
 
-compat_crash_page_fault_12:
-        addl  $4,%esi
 compat_crash_page_fault_8:
         addl  $4,%esi
 compat_crash_page_fault_4:
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 94a54aa..fc81a93 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -64,37 +64,7 @@ restore_all_guest:
 iret_exit_to_guest:
         addq  $8,%rsp
 .Lft0:  iretq
-
-.section .fixup,"ax"
-.Lfx0:  sti
-        SAVE_ALL
-        movq  UREGS_error_code(%rsp),%rsi
-        movq  %rsp,%rax
-        andq  $~0xf,%rsp
-        pushq $__HYPERVISOR_DS         # SS
-        pushq %rax                     # RSP
-        pushfq                         # RFLAGS
-        pushq $__HYPERVISOR_CS         # CS
-        leaq  .Ldf0(%rip),%rax
-        pushq %rax                     # RIP
-        pushq %rsi                     # error_code/entry_vector
-        jmp   handle_exception
-.Ldf0:  GET_CURRENT(%rbx)
-        jmp   test_all_events
-failsafe_callback:
-        GET_CURRENT(%rbx)
-        leaq  VCPU_trap_bounce(%rbx),%rdx
-        movq  VCPU_failsafe_addr(%rbx),%rax
-        movq  %rax,TRAPBOUNCE_eip(%rdx)
-        movb  $TBF_FAILSAFE,TRAPBOUNCE_flags(%rdx)
-        bt    $_VGCF_failsafe_disables_events,VCPU_guest_context_flags(%rbx)
-        jnc   1f
-        orb   $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
-1:      call  create_bounce_frame
-        jmp   test_all_events
-.previous
-        _ASM_PRE_EXTABLE(.Lft0, .Lfx0)
-        _ASM_EXTABLE(.Ldf0, failsafe_callback)
+        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
 
         ALIGN
 /* No special register assumptions. */
@@ -405,18 +375,7 @@ __UNLIKELY_END(create_bounce_frame_bad_sp)
         subq  $8,%rsi
         movl  TRAPBOUNCE_error_code(%rdx),%eax
 .Lft7:  movq  %rax,(%rsi)               # ERROR CODE
-1:      testb $TBF_FAILSAFE,%cl
-UNLIKELY_START(nz, bounce_failsafe)
-        subq  $32,%rsi
-        movl  %gs,%eax
-.Lft8:  movq  %rax,24(%rsi)             # GS
-        movl  %fs,%eax
-.Lft9:  movq  %rax,16(%rsi)             # FS
-        movl  %es,%eax
-.Lft10: movq  %rax,8(%rsi)              # ES
-        movl  %ds,%eax
-.Lft11: movq  %rax,(%rsi)               # DS
-UNLIKELY_END(bounce_failsafe)
+1:
         subq  $16,%rsi
         movq  UREGS_r11+8(%rsp),%rax
 .Lft12: movq  %rax,8(%rsi)              # R11
@@ -446,10 +405,6 @@ __UNLIKELY_END(create_bounce_frame_bad_bounce_ip)
         _ASM_EXTABLE(.Lft5,  domain_crash_page_fault_16)
         _ASM_EXTABLE(.Lft6,  domain_crash_page_fault)
         _ASM_EXTABLE(.Lft7,  domain_crash_page_fault)
-        _ASM_EXTABLE(.Lft8,  domain_crash_page_fault_24)
-        _ASM_EXTABLE(.Lft9,  domain_crash_page_fault_16)
-        _ASM_EXTABLE(.Lft10, domain_crash_page_fault_8)
-        _ASM_EXTABLE(.Lft11, domain_crash_page_fault)
         _ASM_EXTABLE(.Lft12, domain_crash_page_fault_8)
         _ASM_EXTABLE(.Lft13, domain_crash_page_fault)
 
diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
index 271340e..97907b2 100644
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -128,7 +128,6 @@
 #define TBF_EXCEPTION          1
 #define TBF_EXCEPTION_ERRCODE  2
 #define TBF_INTERRUPT          8
-#define TBF_FAILSAFE          16
 
 /* 'arch_vcpu' flags values */
 #define _TF_kernel_mode        0
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pi-0008AJ-9L; Tue, 23 Feb 2016 09:00:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pg-0008A5-LL
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	6A/04-02989-3BF1CC65; Tue, 23 Feb 2016 09:00:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456218029!24025866!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14153 invoked from network); 23 Feb 2016 09:00:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pY-0007iD-Pw
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pY-0004Lv-LJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pY-0004Lv-LJ@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:28 +0000
Subject: [Xen-changelog] [xen master] x86: drop failsafe callback invocation
	from assembly
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d9b7ef209a733220958123335594324e6dc115a3
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Feb 18 15:07:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:33 2016 +0100

    x86: drop failsafe callback invocation from assembly
    
    Afaict this was never necessary on a 64-bit hypervisor, and was instead
    just blindly cloned over from 32-bit code: We don't fiddle with (and
    hence don't reload) any of DS, ES, FS, or GS, and an exception on IRET
    itself can equally well be reported to the guest as that very exception
    on the target of that IRET.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/x86_64/compat/entry.S | 51 +-------------------------------------
 xen/arch/x86/x86_64/entry.S        | 49 ++----------------------------------
 xen/include/asm-x86/processor.h    |  1 -
 3 files changed, 3 insertions(+), 98 deletions(-)

diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index 3088aa7..8cb8bca 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -176,39 +176,7 @@ ENTRY(compat_restore_all_guest)
         ASSERT_INTERRUPTS_DISABLED
         RESTORE_ALL adj=8 compat=1
 .Lft0:  iretq
-
-.section .fixup,"ax"
-.Lfx0:  sti
-        SAVE_ALL
-        movq  UREGS_error_code(%rsp),%rsi
-        movq  %rsp,%rax
-        andq  $~0xf,%rsp
-        pushq $__HYPERVISOR_DS         # SS
-        pushq %rax                     # RSP
-        pushfq                         # RFLAGS
-        pushq $__HYPERVISOR_CS         # CS
-        leaq  .Ldf0(%rip),%rax
-        pushq %rax                     # RIP
-        pushq %rsi                     # error_code/entry_vector
-        jmp   handle_exception
-.Ldf0:  GET_CURRENT(%rbx)
-        jmp   compat_test_all_events
-compat_failsafe_callback:
-        GET_CURRENT(%rbx)
-        leaq  VCPU_trap_bounce(%rbx),%rdx
-        movl  VCPU_failsafe_addr(%rbx),%eax
-        movl  %eax,TRAPBOUNCE_eip(%rdx)
-        movl  VCPU_failsafe_sel(%rbx),%eax
-        movw  %ax,TRAPBOUNCE_cs(%rdx)
-        movb  $TBF_FAILSAFE,TRAPBOUNCE_flags(%rdx)
-        btq   $_VGCF_failsafe_disables_events,VCPU_guest_context_flags(%rbx)
-        jnc   1f
-        orb   $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
-1:      call  compat_create_bounce_frame
-        jmp   compat_test_all_events
-.previous
-        _ASM_PRE_EXTABLE(.Lft0, .Lfx0)
-        _ASM_EXTABLE(.Ldf0, compat_failsafe_callback)
+        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
 
 /* %rdx: trap_bounce, %rbx: struct vcpu */
 ENTRY(compat_post_handle_exception)
@@ -322,17 +290,6 @@ compat_create_bounce_frame:
         movl  TRAPBOUNCE_error_code(%rdx),%eax
 .Lft8:  movl  %eax,%fs:(%rsi)           # ERROR CODE
 1:
-        testb $TBF_FAILSAFE,%cl
-UNLIKELY_START(nz, compat_bounce_failsafe)
-        subl  $4*4,%esi
-        movl  %gs,%eax
-.Lft9:  movl  %eax,%fs:3*4(%rsi)        # GS
-.Lft10: movl  %edi,%fs:2*4(%rsi)        # FS
-        movl  %es,%eax
-.Lft11: movl  %eax,%fs:1*4(%rsi)        # ES
-        movl  %ds,%eax
-.Lft12: movl  %eax,%fs:0*4(%rsi)        # DS
-UNLIKELY_END(compat_bounce_failsafe)
         /* Rewrite our stack frame and return to guest-OS mode. */
         /* IA32 Ref. Vol. 3: TF, VM, RF and NT flags are cleared on trap. */
         andl  $~(X86_EFLAGS_VM|X86_EFLAGS_RF|\
@@ -364,14 +321,8 @@ __UNLIKELY_END(compat_bounce_null_selector)
         _ASM_EXTABLE(.Lft6,  compat_crash_page_fault_8)
         _ASM_EXTABLE(.Lft7,  compat_crash_page_fault)
         _ASM_EXTABLE(.Lft8,  compat_crash_page_fault)
-        _ASM_EXTABLE(.Lft9,  compat_crash_page_fault_12)
-        _ASM_EXTABLE(.Lft10, compat_crash_page_fault_8)
-        _ASM_EXTABLE(.Lft11, compat_crash_page_fault_4)
-        _ASM_EXTABLE(.Lft12, compat_crash_page_fault)
         _ASM_EXTABLE(.Lft13, .Lfx13)
 
-compat_crash_page_fault_12:
-        addl  $4,%esi
 compat_crash_page_fault_8:
         addl  $4,%esi
 compat_crash_page_fault_4:
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 94a54aa..fc81a93 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -64,37 +64,7 @@ restore_all_guest:
 iret_exit_to_guest:
         addq  $8,%rsp
 .Lft0:  iretq
-
-.section .fixup,"ax"
-.Lfx0:  sti
-        SAVE_ALL
-        movq  UREGS_error_code(%rsp),%rsi
-        movq  %rsp,%rax
-        andq  $~0xf,%rsp
-        pushq $__HYPERVISOR_DS         # SS
-        pushq %rax                     # RSP
-        pushfq                         # RFLAGS
-        pushq $__HYPERVISOR_CS         # CS
-        leaq  .Ldf0(%rip),%rax
-        pushq %rax                     # RIP
-        pushq %rsi                     # error_code/entry_vector
-        jmp   handle_exception
-.Ldf0:  GET_CURRENT(%rbx)
-        jmp   test_all_events
-failsafe_callback:
-        GET_CURRENT(%rbx)
-        leaq  VCPU_trap_bounce(%rbx),%rdx
-        movq  VCPU_failsafe_addr(%rbx),%rax
-        movq  %rax,TRAPBOUNCE_eip(%rdx)
-        movb  $TBF_FAILSAFE,TRAPBOUNCE_flags(%rdx)
-        bt    $_VGCF_failsafe_disables_events,VCPU_guest_context_flags(%rbx)
-        jnc   1f
-        orb   $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx)
-1:      call  create_bounce_frame
-        jmp   test_all_events
-.previous
-        _ASM_PRE_EXTABLE(.Lft0, .Lfx0)
-        _ASM_EXTABLE(.Ldf0, failsafe_callback)
+        _ASM_PRE_EXTABLE(.Lft0, handle_exception)
 
         ALIGN
 /* No special register assumptions. */
@@ -405,18 +375,7 @@ __UNLIKELY_END(create_bounce_frame_bad_sp)
         subq  $8,%rsi
         movl  TRAPBOUNCE_error_code(%rdx),%eax
 .Lft7:  movq  %rax,(%rsi)               # ERROR CODE
-1:      testb $TBF_FAILSAFE,%cl
-UNLIKELY_START(nz, bounce_failsafe)
-        subq  $32,%rsi
-        movl  %gs,%eax
-.Lft8:  movq  %rax,24(%rsi)             # GS
-        movl  %fs,%eax
-.Lft9:  movq  %rax,16(%rsi)             # FS
-        movl  %es,%eax
-.Lft10: movq  %rax,8(%rsi)              # ES
-        movl  %ds,%eax
-.Lft11: movq  %rax,(%rsi)               # DS
-UNLIKELY_END(bounce_failsafe)
+1:
         subq  $16,%rsi
         movq  UREGS_r11+8(%rsp),%rax
 .Lft12: movq  %rax,8(%rsi)              # R11
@@ -446,10 +405,6 @@ __UNLIKELY_END(create_bounce_frame_bad_bounce_ip)
         _ASM_EXTABLE(.Lft5,  domain_crash_page_fault_16)
         _ASM_EXTABLE(.Lft6,  domain_crash_page_fault)
         _ASM_EXTABLE(.Lft7,  domain_crash_page_fault)
-        _ASM_EXTABLE(.Lft8,  domain_crash_page_fault_24)
-        _ASM_EXTABLE(.Lft9,  domain_crash_page_fault_16)
-        _ASM_EXTABLE(.Lft10, domain_crash_page_fault_8)
-        _ASM_EXTABLE(.Lft11, domain_crash_page_fault)
         _ASM_EXTABLE(.Lft12, domain_crash_page_fault_8)
         _ASM_EXTABLE(.Lft13, domain_crash_page_fault)
 
diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
index 271340e..97907b2 100644
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -128,7 +128,6 @@
 #define TBF_EXCEPTION          1
 #define TBF_EXCEPTION_ERRCODE  2
 #define TBF_INTERRUPT          8
-#define TBF_FAILSAFE          16
 
 /* 'arch_vcpu' flags values */
 #define _TF_kernel_mode        0
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pm-0008BI-D6; Tue, 23 Feb 2016 09:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pl-0008B3-J0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:41 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	7E/25-04060-8BF1CC65; Tue, 23 Feb 2016 09:00:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218039!24338573!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38550 invoked from network); 23 Feb 2016 09:00:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pj-0007iH-7G
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pj-0004NJ-4N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pj-0004NJ-4N@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:39 +0000
Subject: [Xen-changelog] [xen master] avoid left shifting into a sign bit
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 035a4e9ae4d7869a512772e986debea752f85b28
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:07:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:59 2016 +0100

    avoid left shifting into a sign bit
    
    Clang 3.8 notices, and objects because it is undefined behaviour.
    
    "error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]"
    
    Use unsigned constants rather than signed ones.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Feng Wu <feng.wu@intel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/page_alloc.c               | 2 +-
 xen/drivers/passthrough/vtd/x86/ats.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 624a266..7179d67 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1675,7 +1675,7 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
     ASSERT(!in_irq());
 
     if ( xenheap_bits && (memflags >> _MEMF_bits) > xenheap_bits )
-        memflags &= ~MEMF_bits(~0);
+        memflags &= ~MEMF_bits(~0U);
     if ( !(memflags >> _MEMF_bits) )
         memflags |= MEMF_bits(xenheap_bits);
 
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 7c797f6..334b9c1 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -133,7 +133,7 @@ int dev_invalidate_iotlb(struct iommu *iommu, u16 did,
         case DMA_TLB_GLOBAL_FLUSH:
             /* invalidate all translations: sbit=1,bit_63=0,bit[62:12]=1 */
             sbit = 1;
-            addr = (~0 << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
+            addr = (~0UL << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
             rc = qinval_device_iotlb(iommu, pdev->ats_queue_depth,
                                      sid, sbit, addr);
             break;
@@ -145,7 +145,7 @@ int dev_invalidate_iotlb(struct iommu *iommu, u16 did,
             sbit = size_order ? 1 : 0;
 
             /* clear lower bits */
-            addr &= ~0 << PAGE_SHIFT_4K;
+            addr &= ~0UL << PAGE_SHIFT_4K;
 
             /* if sbit == 1, zero out size_order bit and set lower bits to 1 */
             if ( sbit )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8pm-0008BI-D6; Tue, 23 Feb 2016 09:00:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pl-0008B3-J0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:41 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	7E/25-04060-8BF1CC65; Tue, 23 Feb 2016 09:00:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218039!24338573!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38550 invoked from network); 23 Feb 2016 09:00:40 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:40 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pj-0007iH-7G
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pj-0004NJ-4N
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:39 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pj-0004NJ-4N@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:39 +0000
Subject: [Xen-changelog] [xen master] avoid left shifting into a sign bit
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 035a4e9ae4d7869a512772e986debea752f85b28
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:07:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:07:59 2016 +0100

    avoid left shifting into a sign bit
    
    Clang 3.8 notices, and objects because it is undefined behaviour.
    
    "error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]"
    
    Use unsigned constants rather than signed ones.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Feng Wu <feng.wu@intel.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/page_alloc.c               | 2 +-
 xen/drivers/passthrough/vtd/x86/ats.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 624a266..7179d67 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1675,7 +1675,7 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
     ASSERT(!in_irq());
 
     if ( xenheap_bits && (memflags >> _MEMF_bits) > xenheap_bits )
-        memflags &= ~MEMF_bits(~0);
+        memflags &= ~MEMF_bits(~0U);
     if ( !(memflags >> _MEMF_bits) )
         memflags |= MEMF_bits(xenheap_bits);
 
diff --git a/xen/drivers/passthrough/vtd/x86/ats.c b/xen/drivers/passthrough/vtd/x86/ats.c
index 7c797f6..334b9c1 100644
--- a/xen/drivers/passthrough/vtd/x86/ats.c
+++ b/xen/drivers/passthrough/vtd/x86/ats.c
@@ -133,7 +133,7 @@ int dev_invalidate_iotlb(struct iommu *iommu, u16 did,
         case DMA_TLB_GLOBAL_FLUSH:
             /* invalidate all translations: sbit=1,bit_63=0,bit[62:12]=1 */
             sbit = 1;
-            addr = (~0 << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
+            addr = (~0UL << PAGE_SHIFT_4K) & 0x7FFFFFFFFFFFFFFF;
             rc = qinval_device_iotlb(iommu, pdev->ats_queue_depth,
                                      sid, sbit, addr);
             break;
@@ -145,7 +145,7 @@ int dev_invalidate_iotlb(struct iommu *iommu, u16 did,
             sbit = size_order ? 1 : 0;
 
             /* clear lower bits */
-            addr &= ~0 << PAGE_SHIFT_4K;
+            addr &= ~0UL << PAGE_SHIFT_4K;
 
             /* if sbit == 1, zero out size_order bit and set lower bits to 1 */
             if ( sbit )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8px-0008Dl-IT; Tue, 23 Feb 2016 09:00:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pw-0008DW-7w
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:52 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	1F/C6-03549-3CF1CC65; Tue, 23 Feb 2016 09:00:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456218049!24253931!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60313 invoked from network); 23 Feb 2016 09:00:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pt-0007iT-JR
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pt-0004OU-Go
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pt-0004OU-Go@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:49 +0000
Subject: [Xen-changelog] [xen master] x86/hvm_event: fix uninitialized
	struct field usage introduced by c/s f5365e6
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8e0b74e02656c007455c12d0341a881aee8b13d2
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Thu Feb 18 15:08:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:09:04 2016 +0100

    x86/hvm_event: fix uninitialized struct field usage introduced by c/s f5365e6
    
    c/s f5365e6: "xen/vm-events: Move parts of monitor_domctl code to common-side",
    introduced a use without initialization issue.
    hvm_event_breakpoint calls hvm_event_traps(&req) and if sync is true that
    ors some bits into req->flags which was never initialised.
    Reported by Coverity Scan.
    
    Initializes req @ hvm_event_breakpoint entry.
    
    Coverity-ID: 1353192
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/event.c b/xen/arch/x86/hvm/event.c
index 874a36c..cb9c152 100644
--- a/xen/arch/x86/hvm/event.c
+++ b/xen/arch/x86/hvm/event.c
@@ -173,7 +173,7 @@ int hvm_event_breakpoint(unsigned long rip,
 {
     struct vcpu *curr = current;
     struct arch_domain *ad = &curr->domain->arch;
-    vm_event_request_t req;
+    vm_event_request_t req = {};
 
     switch ( type )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:00:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8px-0008Dl-IT; Tue, 23 Feb 2016 09:00:53 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pw-0008DW-7w
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:52 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
	1F/C6-03549-3CF1CC65; Tue, 23 Feb 2016 09:00:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1456218049!24253931!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60313 invoked from network); 23 Feb 2016 09:00:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:00:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pt-0007iT-JR
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8pt-0004OU-Go
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:49 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8pt-0004OU-Go@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:49 +0000
Subject: [Xen-changelog] [xen master] x86/hvm_event: fix uninitialized
	struct field usage introduced by c/s f5365e6
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8e0b74e02656c007455c12d0341a881aee8b13d2
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Thu Feb 18 15:08:25 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:09:04 2016 +0100

    x86/hvm_event: fix uninitialized struct field usage introduced by c/s f5365e6
    
    c/s f5365e6: "xen/vm-events: Move parts of monitor_domctl code to common-side",
    introduced a use without initialization issue.
    hvm_event_breakpoint calls hvm_event_traps(&req) and if sync is true that
    ors some bits into req->flags which was never initialised.
    Reported by Coverity Scan.
    
    Initializes req @ hvm_event_breakpoint entry.
    
    Coverity-ID: 1353192
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/hvm/event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/event.c b/xen/arch/x86/hvm/event.c
index 874a36c..cb9c152 100644
--- a/xen/arch/x86/hvm/event.c
+++ b/xen/arch/x86/hvm/event.c
@@ -173,7 +173,7 @@ int hvm_event_breakpoint(unsigned long rip,
 {
     struct vcpu *curr = current;
     struct arch_domain *ad = &curr->domain->arch;
-    vm_event_request_t req;
+    vm_event_request_t req = {};
 
     switch ( type )
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8q8-0008FS-P7; Tue, 23 Feb 2016 09:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q7-0008FA-5W
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:03 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	FE/EE-03651-ECF1CC65; Tue, 23 Feb 2016 09:01:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218060!16831007!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59044 invoked from network); 23 Feb 2016 09:01:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q3-0007ib-Uh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q3-0004Pz-Qd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8q3-0004Pz-Qd@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:59 +0000
Subject: [Xen-changelog] [xen master] x86: fix unintended fallthrough case
	from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:10:07 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:10:07 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index ee0ddff..ea3f9f2 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -925,9 +925,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:04 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8q8-0008FS-P7; Tue, 23 Feb 2016 09:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q7-0008FA-5W
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:03 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
	FE/EE-03651-ECF1CC65; Tue, 23 Feb 2016 09:01:02 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218060!16831007!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59044 invoked from network); 23 Feb 2016 09:01:01 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:01 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q3-0007ib-Uh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8q3-0004Pz-Qd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:00:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8q3-0004Pz-Qd@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:00:59 +0000
Subject: [Xen-changelog] [xen master] x86: fix unintended fallthrough case
	from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:10:07 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:10:07 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index ee0ddff..ea3f9f2 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -925,9 +925,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qI-0008Gt-Um; Tue, 23 Feb 2016 09:01:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qH-0008Gf-IK
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:13 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	82/D5-04039-8DF1CC65; Tue, 23 Feb 2016 09:01:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456218070!14693799!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38982 invoked from network); 23 Feb 2016 09:01:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qE-0007jB-B5
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qE-0004Qu-6b
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qE-0004Qu-6b@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:10 +0000
Subject: [Xen-changelog] [xen master] mkelf32: Remove the 32-bit hypervisor
	support
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit aa793256a831fb089c61c60513667e9db63965ae
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Thu Feb 18 17:46:05 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:46:05 2016 +0100

    mkelf32: Remove the 32-bit hypervisor support
    
    We do not compile 32-bit hypervisor anymore so the code for
    the ELFCLASS32 is effectively dead.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/boot/mkelf32.c | 88 +++++++++++++++------------------------------
 1 file changed, 28 insertions(+), 60 deletions(-)

diff --git a/xen/arch/x86/boot/mkelf32.c b/xen/arch/x86/boot/mkelf32.c
index b369222..993a7ee 100644
--- a/xen/arch/x86/boot/mkelf32.c
+++ b/xen/arch/x86/boot/mkelf32.c
@@ -3,7 +3,7 @@
  * 
  * Usage: elf-prefix <in-image> <out-image> <load-base>
  * 
- * Converts an Elf32 or Elf64 executable binary <in-image> into a simple Elf32
+ * Converts an Elf64 executable binary <in-image> into a simple Elf32
  * image <out-image> comprising a single chunk to be loaded at <load-base>. 
  */
 
@@ -235,7 +235,6 @@ int main(int argc, char **argv)
     int        bytes, todo, i;
 
     Elf32_Ehdr in32_ehdr;
-    Elf32_Phdr in32_phdr;
 
     Elf64_Ehdr in64_ehdr;
     Elf64_Phdr in64_phdr;
@@ -271,70 +270,39 @@ int main(int argc, char **argv)
     big_endian = (*(u16 *)in32_ehdr.e_ident == ((ELFMAG0 << 8) | ELFMAG1));
 
     endianadjust_ehdr32(&in32_ehdr);
-    switch ( in32_ehdr.e_ident[EI_CLASS] )
+    if ( in32_ehdr.e_ident[EI_CLASS] != ELFCLASS64 )
     {
-    case ELFCLASS32:
-        if ( in32_ehdr.e_phentsize != sizeof(in32_phdr) )
-        {
-            fprintf(stderr, "Bad program header size (%d != %d).\n",
-                    (int)in32_ehdr.e_phentsize, (int)sizeof(in32_phdr));
-            return 1;
-        }
-
-        if ( in32_ehdr.e_phnum != 1 )
-        {
-            fprintf(stderr, "Expect precisely 1 program header; found %d.\n",
-                    (int)in32_ehdr.e_phnum);
-            return 1;
-        }
-
-        (void)lseek(infd, in32_ehdr.e_phoff, SEEK_SET);
-        do_read(infd, &in32_phdr, sizeof(in32_phdr));
-        endianadjust_phdr32(&in32_phdr);
-
-        (void)lseek(infd, in32_phdr.p_offset, SEEK_SET);
-        dat_siz = (u32)in32_phdr.p_filesz;
-
-        /* Do not use p_memsz: it does not include BSS alignment padding. */
-        /*mem_siz = (u32)in32_phdr.p_memsz;*/
-        mem_siz = (u32)(final_exec_addr - in32_phdr.p_vaddr);
-        break;
-
-    case ELFCLASS64:
-        (void)lseek(infd, 0, SEEK_SET);
-        do_read(infd, &in64_ehdr, sizeof(in64_ehdr));
-        endianadjust_ehdr64(&in64_ehdr);
-
-        if ( in64_ehdr.e_phentsize != sizeof(in64_phdr) )
-        {
-            fprintf(stderr, "Bad program header size (%d != %d).\n",
-                    (int)in64_ehdr.e_phentsize, (int)sizeof(in64_phdr));
-            return 1;
-        }
+        fprintf(stderr, "Bad program header class - we only do 64-bit!.\n");
+        return 1;
+    }
+    (void)lseek(infd, 0, SEEK_SET);
+    do_read(infd, &in64_ehdr, sizeof(in64_ehdr));
+    endianadjust_ehdr64(&in64_ehdr);
 
-        if ( in64_ehdr.e_phnum != 1 )
-        {
-            fprintf(stderr, "Expect precisly 1 program header; found %d.\n",
-                    (int)in64_ehdr.e_phnum);
-            return 1;
-        }
+    if ( in64_ehdr.e_phentsize != sizeof(in64_phdr) )
+    {
+        fprintf(stderr, "Bad program header size (%d != %d).\n",
+                (int)in64_ehdr.e_phentsize, (int)sizeof(in64_phdr));
+        return 1;
+    }
 
-        (void)lseek(infd, in64_ehdr.e_phoff, SEEK_SET);
-        do_read(infd, &in64_phdr, sizeof(in64_phdr));
-        endianadjust_phdr64(&in64_phdr);
+    if ( in64_ehdr.e_phnum != 1 )
+    {
+        fprintf(stderr, "Expect precisly 1 program header; found %d.\n",
+                (int)in64_ehdr.e_phnum);
+        return 1;
+    }
 
-        (void)lseek(infd, in64_phdr.p_offset, SEEK_SET);
-        dat_siz = (u32)in64_phdr.p_filesz;
+    (void)lseek(infd, in64_ehdr.e_phoff, SEEK_SET);
+    do_read(infd, &in64_phdr, sizeof(in64_phdr));
+    endianadjust_phdr64(&in64_phdr);
 
-        /* Do not use p_memsz: it does not include BSS alignment padding. */
-        /*mem_siz = (u32)in64_phdr.p_memsz;*/
-        mem_siz = (u32)(final_exec_addr - in64_phdr.p_vaddr);
-        break;
+    (void)lseek(infd, in64_phdr.p_offset, SEEK_SET);
+    dat_siz = (u32)in64_phdr.p_filesz;
 
-    default:
-        fprintf(stderr, "Input image must be a 32- or 64-bit Elf image.\n");
-        return 1;
-    }
+    /* Do not use p_memsz: it does not include BSS alignment padding. */
+    /*mem_siz = (u32)in64_phdr.p_memsz;*/
+    mem_siz = (u32)(final_exec_addr - in64_phdr.p_vaddr);
 
     /*
      * End the image on a page boundary. This gets round alignment bugs
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qI-0008Gt-Um; Tue, 23 Feb 2016 09:01:14 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qH-0008Gf-IK
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:13 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	82/D5-04039-8DF1CC65; Tue, 23 Feb 2016 09:01:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456218070!14693799!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38982 invoked from network); 23 Feb 2016 09:01:11 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:11 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qE-0007jB-B5
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qE-0004Qu-6b
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qE-0004Qu-6b@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:10 +0000
Subject: [Xen-changelog] [xen master] mkelf32: Remove the 32-bit hypervisor
	support
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit aa793256a831fb089c61c60513667e9db63965ae
Author:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
AuthorDate: Thu Feb 18 17:46:05 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:46:05 2016 +0100

    mkelf32: Remove the 32-bit hypervisor support
    
    We do not compile 32-bit hypervisor anymore so the code for
    the ELFCLASS32 is effectively dead.
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/boot/mkelf32.c | 88 +++++++++++++++------------------------------
 1 file changed, 28 insertions(+), 60 deletions(-)

diff --git a/xen/arch/x86/boot/mkelf32.c b/xen/arch/x86/boot/mkelf32.c
index b369222..993a7ee 100644
--- a/xen/arch/x86/boot/mkelf32.c
+++ b/xen/arch/x86/boot/mkelf32.c
@@ -3,7 +3,7 @@
  * 
  * Usage: elf-prefix <in-image> <out-image> <load-base>
  * 
- * Converts an Elf32 or Elf64 executable binary <in-image> into a simple Elf32
+ * Converts an Elf64 executable binary <in-image> into a simple Elf32
  * image <out-image> comprising a single chunk to be loaded at <load-base>. 
  */
 
@@ -235,7 +235,6 @@ int main(int argc, char **argv)
     int        bytes, todo, i;
 
     Elf32_Ehdr in32_ehdr;
-    Elf32_Phdr in32_phdr;
 
     Elf64_Ehdr in64_ehdr;
     Elf64_Phdr in64_phdr;
@@ -271,70 +270,39 @@ int main(int argc, char **argv)
     big_endian = (*(u16 *)in32_ehdr.e_ident == ((ELFMAG0 << 8) | ELFMAG1));
 
     endianadjust_ehdr32(&in32_ehdr);
-    switch ( in32_ehdr.e_ident[EI_CLASS] )
+    if ( in32_ehdr.e_ident[EI_CLASS] != ELFCLASS64 )
     {
-    case ELFCLASS32:
-        if ( in32_ehdr.e_phentsize != sizeof(in32_phdr) )
-        {
-            fprintf(stderr, "Bad program header size (%d != %d).\n",
-                    (int)in32_ehdr.e_phentsize, (int)sizeof(in32_phdr));
-            return 1;
-        }
-
-        if ( in32_ehdr.e_phnum != 1 )
-        {
-            fprintf(stderr, "Expect precisely 1 program header; found %d.\n",
-                    (int)in32_ehdr.e_phnum);
-            return 1;
-        }
-
-        (void)lseek(infd, in32_ehdr.e_phoff, SEEK_SET);
-        do_read(infd, &in32_phdr, sizeof(in32_phdr));
-        endianadjust_phdr32(&in32_phdr);
-
-        (void)lseek(infd, in32_phdr.p_offset, SEEK_SET);
-        dat_siz = (u32)in32_phdr.p_filesz;
-
-        /* Do not use p_memsz: it does not include BSS alignment padding. */
-        /*mem_siz = (u32)in32_phdr.p_memsz;*/
-        mem_siz = (u32)(final_exec_addr - in32_phdr.p_vaddr);
-        break;
-
-    case ELFCLASS64:
-        (void)lseek(infd, 0, SEEK_SET);
-        do_read(infd, &in64_ehdr, sizeof(in64_ehdr));
-        endianadjust_ehdr64(&in64_ehdr);
-
-        if ( in64_ehdr.e_phentsize != sizeof(in64_phdr) )
-        {
-            fprintf(stderr, "Bad program header size (%d != %d).\n",
-                    (int)in64_ehdr.e_phentsize, (int)sizeof(in64_phdr));
-            return 1;
-        }
+        fprintf(stderr, "Bad program header class - we only do 64-bit!.\n");
+        return 1;
+    }
+    (void)lseek(infd, 0, SEEK_SET);
+    do_read(infd, &in64_ehdr, sizeof(in64_ehdr));
+    endianadjust_ehdr64(&in64_ehdr);
 
-        if ( in64_ehdr.e_phnum != 1 )
-        {
-            fprintf(stderr, "Expect precisly 1 program header; found %d.\n",
-                    (int)in64_ehdr.e_phnum);
-            return 1;
-        }
+    if ( in64_ehdr.e_phentsize != sizeof(in64_phdr) )
+    {
+        fprintf(stderr, "Bad program header size (%d != %d).\n",
+                (int)in64_ehdr.e_phentsize, (int)sizeof(in64_phdr));
+        return 1;
+    }
 
-        (void)lseek(infd, in64_ehdr.e_phoff, SEEK_SET);
-        do_read(infd, &in64_phdr, sizeof(in64_phdr));
-        endianadjust_phdr64(&in64_phdr);
+    if ( in64_ehdr.e_phnum != 1 )
+    {
+        fprintf(stderr, "Expect precisly 1 program header; found %d.\n",
+                (int)in64_ehdr.e_phnum);
+        return 1;
+    }
 
-        (void)lseek(infd, in64_phdr.p_offset, SEEK_SET);
-        dat_siz = (u32)in64_phdr.p_filesz;
+    (void)lseek(infd, in64_ehdr.e_phoff, SEEK_SET);
+    do_read(infd, &in64_phdr, sizeof(in64_phdr));
+    endianadjust_phdr64(&in64_phdr);
 
-        /* Do not use p_memsz: it does not include BSS alignment padding. */
-        /*mem_siz = (u32)in64_phdr.p_memsz;*/
-        mem_siz = (u32)(final_exec_addr - in64_phdr.p_vaddr);
-        break;
+    (void)lseek(infd, in64_phdr.p_offset, SEEK_SET);
+    dat_siz = (u32)in64_phdr.p_filesz;
 
-    default:
-        fprintf(stderr, "Input image must be a 32- or 64-bit Elf image.\n");
-        return 1;
-    }
+    /* Do not use p_memsz: it does not include BSS alignment padding. */
+    /*mem_siz = (u32)in64_phdr.p_memsz;*/
+    mem_siz = (u32)(final_exec_addr - in64_phdr.p_vaddr);
 
     /*
      * End the image on a page boundary. This gets round alignment bugs
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qT-0008Ir-21; Tue, 23 Feb 2016 09:01:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qR-0008Ia-4Q
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:23 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	C7/81-24450-2EF1CC65; Tue, 23 Feb 2016 09:01:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456218081!25009128!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52313 invoked from network); 23 Feb 2016 09:01:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qO-0007jJ-Q8
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qO-0004Rn-LC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qO-0004Rn-LC@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:20 +0000
Subject: [Xen-changelog] [xen master] add randconfig target to Makefile
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8ab7faf0b4ef1a8f1de13168721f2cb693ce4716
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 17:46:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:46:40 2016 +0100

    add randconfig target to Makefile
    
    This allows us to generate a random config which can be used for build
    testing random configurations.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 5d98bcb..349f63a 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -238,7 +238,8 @@ FORCE:
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o built_in_bin.o
 
 kconfig := silentoldconfig oldconfig config menuconfig defconfig \
-	nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig
+	nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig \
+	randconfig
 .PHONY: $(kconfig)
 $(kconfig):
 	$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) SRCARCH=$(SRCARCH) $@
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qT-0008Ir-21; Tue, 23 Feb 2016 09:01:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qR-0008Ia-4Q
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:23 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
	C7/81-24450-2EF1CC65; Tue, 23 Feb 2016 09:01:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456218081!25009128!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52313 invoked from network); 23 Feb 2016 09:01:21 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qO-0007jJ-Q8
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qO-0004Rn-LC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qO-0004Rn-LC@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:20 +0000
Subject: [Xen-changelog] [xen master] add randconfig target to Makefile
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8ab7faf0b4ef1a8f1de13168721f2cb693ce4716
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 17:46:40 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:46:40 2016 +0100

    add randconfig target to Makefile
    
    This allows us to generate a random config which can be used for build
    testing random configurations.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 5d98bcb..349f63a 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -238,7 +238,8 @@ FORCE:
 	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o built_in_bin.o
 
 kconfig := silentoldconfig oldconfig config menuconfig defconfig \
-	nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig
+	nconfig xconfig gconfig savedefconfig listnewconfig olddefconfig \
+	randconfig
 .PHONY: $(kconfig)
 $(kconfig):
 	$(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) SRCARCH=$(SRCARCH) $@
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qd-0008Km-9H; Tue, 23 Feb 2016 09:01:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qb-0008KS-Is
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:33 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	7C/38-04060-CEF1CC65; Tue, 23 Feb 2016 09:01:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218091!16831261!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 817 invoked from network); 23 Feb 2016 09:01:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qZ-0007kB-5H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qZ-0004Sc-2J
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qZ-0004Sc-2J@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:31 +0000
Subject: [Xen-changelog] [xen master] travis: add randconfig test target
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 810ad0fbd85e9cccae6e740cf5a487ce22bc9e0d
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 17:47:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:47:15 2016 +0100

    travis: add randconfig test target
    
    Add another build target which uses randconfig to randomize the config
    file so that we build test more than the default config.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
 .travis.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index c7227ba..7dbd82a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,8 @@ matrix:
         - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64
         - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5
         - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64 debug=y
@@ -24,10 +26,14 @@ matrix:
         - compiler: gcc
           env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf-
         - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y
         - compiler: gcc
           env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
         - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- debug=y
 addons:
     apt:
@@ -69,5 +75,9 @@ before_script:
     - export CC=${COMPILER:-${CC}}
     - ${CC} --version
 script:
+    - ( [ "x${RANDCONFIG}" = "xy" ] && ( make -C xen randconfig )
+      || exit 0 )
     - ( ./configure --disable-tools --disable-stubdom --enable-docs &&
       make CC="${CROSS_COMPILE}${CC}" HOSTCC="${CC}" dist )
+after_script:
+    - cat xen/.config
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qd-0008Km-9H; Tue, 23 Feb 2016 09:01:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qb-0008KS-Is
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:33 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
	7C/38-04060-CEF1CC65; Tue, 23 Feb 2016 09:01:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218091!16831261!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 817 invoked from network); 23 Feb 2016 09:01:32 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:32 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qZ-0007kB-5H
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qZ-0004Sc-2J
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qZ-0004Sc-2J@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:31 +0000
Subject: [Xen-changelog] [xen master] travis: add randconfig test target
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 810ad0fbd85e9cccae6e740cf5a487ce22bc9e0d
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 17:47:15 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:47:15 2016 +0100

    travis: add randconfig test target
    
    Add another build target which uses randconfig to randomize the config
    file so that we build test more than the default config.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
 .travis.yml | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index c7227ba..7dbd82a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,8 @@ matrix:
         - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64
         - compiler: gcc
+          env: XEN_TARGET_ARCH=x86_64 XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64 COMPILER=gcc-5
         - compiler: gcc
           env: XEN_TARGET_ARCH=x86_64 debug=y
@@ -24,10 +26,14 @@ matrix:
         - compiler: gcc
           env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf-
         - compiler: gcc
+          env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=arm32 CROSS_COMPILE=arm-linux-gnueabihf- debug=y
         - compiler: gcc
           env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
         - compiler: gcc
+          env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- XEN_CONFIG_EXPERT=y RANDCONFIG=y
+        - compiler: gcc
           env: XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- debug=y
 addons:
     apt:
@@ -69,5 +75,9 @@ before_script:
     - export CC=${COMPILER:-${CC}}
     - ${CC} --version
 script:
+    - ( [ "x${RANDCONFIG}" = "xy" ] && ( make -C xen randconfig )
+      || exit 0 )
     - ( ./configure --disable-tools --disable-stubdom --enable-docs &&
       make CC="${CROSS_COMPILE}${CC}" HOSTCC="${CC}" dist )
+after_script:
+    - cat xen/.config
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qs-0008N9-E7; Tue, 23 Feb 2016 09:01:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qr-0008MD-2P
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:49 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	B5/3F-02983-7FF1CC65; Tue, 23 Feb 2016 09:01:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456218101!24294459!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31799 invoked from network); 23 Feb 2016 09:01:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qj-0007kJ-I5
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qj-0004VN-Fn
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qj-0004VN-Fn@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:41 +0000
Subject: [Xen-changelog] [xen master] x86/monitor: minor left-shift
	undefined behavior checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 400948644fea808afb03c03b8a6d453eea189eeb
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Thu Feb 18 17:47:36 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:47:36 2016 +0100

    x86/monitor: minor left-shift undefined behavior checks
    
    This minor patch adds a range-check to avoid left-shift caused undefined
    behavior. Also replaces '1 <<' w/ '1U <<' @ x86 monitor.h in an effort to avoid
    a future potential '1 << 31' that would cause a similar issue.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 xen/arch/x86/monitor.c        | 13 +++++++++----
 xen/include/asm-x86/monitor.h | 10 +++++-----
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index a507edb..b4bd008 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -32,10 +32,15 @@ int arch_monitor_domctl_event(struct domain *d,
     {
     case XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
     {
-        unsigned int ctrlreg_bitmask =
-            monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
-        bool_t old_status =
-            !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
+        unsigned int ctrlreg_bitmask;
+        bool_t old_status;
+
+        /* sanity check: avoid left-shift undefined behavior */
+        if ( unlikely(mop->u.mov_to_cr.index > 31) )
+            return -EINVAL;
+
+        ctrlreg_bitmask = monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
+        old_status = !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
 
         if ( unlikely(old_status == requested_status) )
             return -EEXIST;
diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h
index c789f71..f1bf4bd 100644
--- a/xen/include/asm-x86/monitor.h
+++ b/xen/include/asm-x86/monitor.h
@@ -40,14 +40,14 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
     if ( !is_hvm_domain(d) || !cpu_has_vmx )
         return capabilities;
 
-    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
+    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
 
     /* Since we know this is on VMX, we can just call the hvm func */
     if ( hvm_is_singlestep_supported() )
-        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
+        capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
 
     return capabilities;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qs-0008N9-E7; Tue, 23 Feb 2016 09:01:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qr-0008MD-2P
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:49 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	B5/3F-02983-7FF1CC65; Tue, 23 Feb 2016 09:01:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456218101!24294459!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31799 invoked from network); 23 Feb 2016 09:01:42 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:42 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qj-0007kJ-I5
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qj-0004VN-Fn
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:41 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qj-0004VN-Fn@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:41 +0000
Subject: [Xen-changelog] [xen master] x86/monitor: minor left-shift
	undefined behavior checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 400948644fea808afb03c03b8a6d453eea189eeb
Author:     Corneliu ZUZU <czuzu@bitdefender.com>
AuthorDate: Thu Feb 18 17:47:36 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:47:36 2016 +0100

    x86/monitor: minor left-shift undefined behavior checks
    
    This minor patch adds a range-check to avoid left-shift caused undefined
    behavior. Also replaces '1 <<' w/ '1U <<' @ x86 monitor.h in an effort to avoid
    a future potential '1 << 31' that would cause a similar issue.
    
    Signed-off-by: Corneliu ZUZU <czuzu@bitdefender.com>
    Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
---
 xen/arch/x86/monitor.c        | 13 +++++++++----
 xen/include/asm-x86/monitor.h | 10 +++++-----
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index a507edb..b4bd008 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -32,10 +32,15 @@ int arch_monitor_domctl_event(struct domain *d,
     {
     case XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
     {
-        unsigned int ctrlreg_bitmask =
-            monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
-        bool_t old_status =
-            !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
+        unsigned int ctrlreg_bitmask;
+        bool_t old_status;
+
+        /* sanity check: avoid left-shift undefined behavior */
+        if ( unlikely(mop->u.mov_to_cr.index > 31) )
+            return -EINVAL;
+
+        ctrlreg_bitmask = monitor_ctrlreg_bitmask(mop->u.mov_to_cr.index);
+        old_status = !!(ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask);
 
         if ( unlikely(old_status == requested_status) )
             return -EEXIST;
diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h
index c789f71..f1bf4bd 100644
--- a/xen/include/asm-x86/monitor.h
+++ b/xen/include/asm-x86/monitor.h
@@ -40,14 +40,14 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
     if ( !is_hvm_domain(d) || !cpu_has_vmx )
         return capabilities;
 
-    capabilities = (1 << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
-                   (1 << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
+    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) |
+                   (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
 
     /* Since we know this is on VMX, we can just call the hvm func */
     if ( hvm_is_singlestep_supported() )
-        capabilities |= (1 << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
+        capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
 
     return capabilities;
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qy-0008O9-HJ; Tue, 23 Feb 2016 09:01:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qx-0008Nx-Iq
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:55 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	6B/40-28791-2002CC65; Tue, 23 Feb 2016 09:01:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456218112!25009399!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59556 invoked from network); 23 Feb 2016 09:01:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qt-0007kN-TM
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qt-0004Wd-Pg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qt-0004Wd-Pg@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:51 +0000
Subject: [Xen-changelog] [xen master] travis: drop bridge-utils and iproute2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1ff823b65ae004e4aa3fe9a94078ef82816dee9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 17:48:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:48:09 2016 +0100

    travis: drop bridge-utils and iproute2
    
    These packages are not permitted inside travis, and are not necessary for
    building Xen.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
---
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 7dbd82a..189d568 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -52,8 +52,6 @@ addons:
             - libglib2.0-dev
             - libpixman-1-dev
             - pkg-config
-            - bridge-utils
-            - iproute2
             - flex
             - bison
             - gettext
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:01:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:01:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8qy-0008O9-HJ; Tue, 23 Feb 2016 09:01:56 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qx-0008Nx-Iq
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:55 +0000
Received: from [193.109.254.147] by server-1.bemta-14.messagelabs.com id
	6B/40-28791-2002CC65; Tue, 23 Feb 2016 09:01:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456218112!25009399!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59556 invoked from network); 23 Feb 2016 09:01:52 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:01:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qt-0007kN-TM
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8qt-0004Wd-Pg
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:01:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8qt-0004Wd-Pg@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:01:51 +0000
Subject: [Xen-changelog] [xen master] travis: drop bridge-utils and iproute2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1ff823b65ae004e4aa3fe9a94078ef82816dee9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 17:48:09 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 17:48:09 2016 +0100

    travis: drop bridge-utils and iproute2
    
    These packages are not permitted inside travis, and are not necessary for
    building Xen.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
---
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 7dbd82a..189d568 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -52,8 +52,6 @@ addons:
             - libglib2.0-dev
             - libpixman-1-dev
             - pkg-config
-            - bridge-utils
-            - iproute2
             - flex
             - bison
             - gettext
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8r8-0008Pt-Ku; Tue, 23 Feb 2016 09:02:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r7-0008Pg-Sb
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:05 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	35/E9-02989-D002CC65; Tue, 23 Feb 2016 09:02:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456218122!24290999!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34082 invoked from network); 23 Feb 2016 09:02:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r4-0007l2-A7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r4-0004YK-4f
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8r4-0004YK-4f@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:02 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: Simplify logic in
	libxl__realloc
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 435bbbc9af0f38d304e8be3a1ba00b99af530d60
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Thu Feb 18 12:37:04 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Thu Feb 18 18:22:12 2016 +0000

    tools: libxl: Simplify logic in libxl__realloc
    
    Replace the loop exit and separate test for loop overrun with an
    assert in the loop body.
    
    This simplifies the code.  It also (hopefully) avoids Coverity
    thinking that gc->alloc_maxsize might change, resulting in the loop
    failing to find the right answer but also failing to abort.
    
    (gc->alloc_maxsize can't change because gcs are all singlethreaded:
    either they are on the stack of a specific thread, or they belong to
    an ao and are covered by the ctx lock.)
    
    Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc81130..e7b765b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -116,16 +116,13 @@ void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size)
     if (ptr == NULL) {
         libxl__ptr_add(gc, new_ptr);
     } else if (new_ptr != ptr && libxl__gc_is_real(gc)) {
-        for (i = 0; i < gc->alloc_maxsize; i++) {
+        for (i = 0; ; i++) {
+            assert(i < gc->alloc_maxsize);
             if (gc->alloc_ptrs[i] == ptr) {
                 gc->alloc_ptrs[i] = new_ptr;
                 break;
             }
         }
-        if (i == gc->alloc_maxsize) {
-            LOG(CRITICAL, "pointer is not tracked by the given gc");
-            abort();
-        }
     }
 
     return new_ptr;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8r8-0008Pt-Ku; Tue, 23 Feb 2016 09:02:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r7-0008Pg-Sb
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:05 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
	35/E9-02989-D002CC65; Tue, 23 Feb 2016 09:02:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456218122!24290999!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34082 invoked from network); 23 Feb 2016 09:02:03 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:03 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r4-0007l2-A7
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8r4-0004YK-4f
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8r4-0004YK-4f@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:02 +0000
Subject: [Xen-changelog] [xen master] tools: libxl: Simplify logic in
	libxl__realloc
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 435bbbc9af0f38d304e8be3a1ba00b99af530d60
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Thu Feb 18 12:37:04 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Thu Feb 18 18:22:12 2016 +0000

    tools: libxl: Simplify logic in libxl__realloc
    
    Replace the loop exit and separate test for loop overrun with an
    assert in the loop body.
    
    This simplifies the code.  It also (hopefully) avoids Coverity
    thinking that gc->alloc_maxsize might change, resulting in the loop
    failing to find the right answer but also failing to abort.
    
    (gc->alloc_maxsize can't change because gcs are all singlethreaded:
    either they are on the stack of a specific thread, or they belong to
    an ao and are covered by the ctx lock.)
    
    Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_internal.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c
index fc81130..e7b765b 100644
--- a/tools/libxl/libxl_internal.c
+++ b/tools/libxl/libxl_internal.c
@@ -116,16 +116,13 @@ void *libxl__realloc(libxl__gc *gc, void *ptr, size_t new_size)
     if (ptr == NULL) {
         libxl__ptr_add(gc, new_ptr);
     } else if (new_ptr != ptr && libxl__gc_is_real(gc)) {
-        for (i = 0; i < gc->alloc_maxsize; i++) {
+        for (i = 0; ; i++) {
+            assert(i < gc->alloc_maxsize);
             if (gc->alloc_ptrs[i] == ptr) {
                 gc->alloc_ptrs[i] = new_ptr;
                 break;
             }
         }
-        if (i == gc->alloc_maxsize) {
-            LOG(CRITICAL, "pointer is not tracked by the given gc");
-            abort();
-        }
     }
 
     return new_ptr;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rN-0008Rt-Oc; Tue, 23 Feb 2016 09:02:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rM-0008Rg-BF
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:20 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	EB/71-03306-B102CC65; Tue, 23 Feb 2016 09:02:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218137!16831600!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12973 invoked from network); 23 Feb 2016 09:02:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rJ-0007lA-OJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rJ-0004ZW-LD
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rJ-0004ZW-LD@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:17 +0000
Subject: [Xen-changelog] [xen master] xl: use xrealloc in domain create
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b4aaf5a72f387c87e50a65224aa4c42ea4f768f6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:04:14 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:02:51 2016 +0000

    xl: use xrealloc in domain create
    
    Using bare realloc risks leaking the old pointer if the realloc fails.
    
    Since xrealloc exits on such failures, drop the error handling.
    
    Noticed while fixing, but not related to, CID 1055898.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index d07ccb2..2271e75 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2793,12 +2793,8 @@ static uint32_t create_domain(struct domain_create *dom_info)
                 return ERROR_FAIL;
             }
             /* allocate space for the extra config plus two EOLs plus \0 */
-            config_data = realloc(config_data, config_len
+            config_data = xrealloc(config_data, config_len
                 + strlen(extra_config) + 2 + 1);
-            if (!config_data) {
-                fprintf(stderr, "Failed to realloc config_data\n");
-                return ERROR_FAIL;
-            }
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rN-0008Rt-Oc; Tue, 23 Feb 2016 09:02:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rM-0008Rg-BF
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:20 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	EB/71-03306-B102CC65; Tue, 23 Feb 2016 09:02:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218137!16831600!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12973 invoked from network); 23 Feb 2016 09:02:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rJ-0007lA-OJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rJ-0004ZW-LD
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rJ-0004ZW-LD@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:17 +0000
Subject: [Xen-changelog] [xen master] xl: use xrealloc in domain create
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b4aaf5a72f387c87e50a65224aa4c42ea4f768f6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:04:14 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:02:51 2016 +0000

    xl: use xrealloc in domain create
    
    Using bare realloc risks leaking the old pointer if the realloc fails.
    
    Since xrealloc exits on such failures, drop the error handling.
    
    Noticed while fixing, but not related to, CID 1055898.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index d07ccb2..2271e75 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2793,12 +2793,8 @@ static uint32_t create_domain(struct domain_create *dom_info)
                 return ERROR_FAIL;
             }
             /* allocate space for the extra config plus two EOLs plus \0 */
-            config_data = realloc(config_data, config_len
+            config_data = xrealloc(config_data, config_len
                 + strlen(extra_config) + 2 + 1);
-            if (!config_data) {
-                fprintf(stderr, "Failed to realloc config_data\n");
-                return ERROR_FAIL;
-            }
             config_len += sprintf(config_data + config_len, "\n%s\n",
                 extra_config);
         }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rX-0008Tq-S8; Tue, 23 Feb 2016 09:02:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rX-0008TV-2E
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:31 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	F9/08-25438-6202CC65; Tue, 23 Feb 2016 09:02:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1456218148!25886152!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52619 invoked from network); 23 Feb 2016 09:02:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rU-0007m1-4X
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rU-0004ba-1n
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rU-0004ba-1n@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:28 +0000
Subject: [Xen-changelog] [xen master] xl: create: close restore_fd_to_close
	on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a4c97d0403af834eb35c94b01ec73c48a0badb3
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:04:15 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:03:53 2016 +0000

    xl: create: close restore_fd_to_close on error
    
    Currently the fd is opened and then later closed and
    restore_fd_to_close set back to -1, however there are several goto out
    and goto error_out paths in the interim.
    
    Since the code resets restore_fd_to_close to -1 it is OK to check this
    and close on the out path too.
    
    CID: 1055897
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 2271e75..f40af51 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -3063,6 +3063,13 @@ error_out:
     }
 
 out:
+    if (restore_fd_to_close >= 0) {
+        if (close(restore_fd_to_close))
+            fprintf(stderr, "Failed to close restoring file, fd %d, errno %d\n",
+                    restore_fd_to_close, errno);
+        restore_fd_to_close = -1;
+    }
+
     if (logfile != 2)
         close(logfile);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rX-0008Tq-S8; Tue, 23 Feb 2016 09:02:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rX-0008TV-2E
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:31 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	F9/08-25438-6202CC65; Tue, 23 Feb 2016 09:02:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1456218148!25886152!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52619 invoked from network); 23 Feb 2016 09:02:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rU-0007m1-4X
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rU-0004ba-1n
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rU-0004ba-1n@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:28 +0000
Subject: [Xen-changelog] [xen master] xl: create: close restore_fd_to_close
	on error
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a4c97d0403af834eb35c94b01ec73c48a0badb3
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:04:15 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:03:53 2016 +0000

    xl: create: close restore_fd_to_close on error
    
    Currently the fd is opened and then later closed and
    restore_fd_to_close set back to -1, however there are several goto out
    and goto error_out paths in the interim.
    
    Since the code resets restore_fd_to_close to -1 it is OK to check this
    and close on the out path too.
    
    CID: 1055897
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxl/xl_cmdimpl.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 2271e75..f40af51 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -3063,6 +3063,13 @@ error_out:
     }
 
 out:
+    if (restore_fd_to_close >= 0) {
+        if (close(restore_fd_to_close))
+            fprintf(stderr, "Failed to close restoring file, fd %d, errno %d\n",
+                    restore_fd_to_close, errno);
+        restore_fd_to_close = -1;
+    }
+
     if (logfile != 2)
         close(logfile);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ri-0008WN-1K; Tue, 23 Feb 2016 09:02:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rg-0008Vx-VJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:41 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	DA/A8-25438-0302CC65; Tue, 23 Feb 2016 09:02:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456218158!25965157!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31223 invoked from network); 23 Feb 2016 09:02:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8re-0007m5-IC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8re-0004dq-Fp
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8re-0004dq-Fp@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:38 +0000
Subject: [Xen-changelog] [xen master] tools: gtracestat: Drop unused
	functions do_cstate and single_cstate helper
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1f08987193f38f3e30886f126e535a7b3c145dad
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:30:37 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:43:29 2016 +0000

    tools: gtracestat: Drop unused functions do_cstate and single_cstate helper
    
    These have always been dead code since the code was added AFAICT.
    
    This eliminates the code containing CID 10567079, 10567080, 10567081
    and 10567082 (all apparently some confusion between max_cx_num vs
    MAX_CX_NR, but given the lack of callers its hard to tell what was
    intended)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/gtracestat.c | 93 -------------------------------------------------
 1 file changed, 93 deletions(-)

diff --git a/tools/misc/gtracestat.c b/tools/misc/gtracestat.c
index 5164397..b54eeb8 100644
--- a/tools/misc/gtracestat.c
+++ b/tools/misc/gtracestat.c
@@ -58,7 +58,6 @@ void do_count(void);
 void do_px_count(void);
 void do_maxmin(void);
 void do_average(void);
-void do_cstate(uint64_t start, uint64_t end);
 void do_exp_ratio(void);
 void do_exp_pred(void);
 
@@ -974,98 +973,6 @@ void do_breakevents(void)
     }
 }
 
-void single_cstate(int c, uint64_t t, uint64_t e,
-                   uint64_t *a,
-                   uint64_t *max_res,
-                   uint64_t *min_res,
-                   uint64_t *num);
-void do_cstate(uint64_t start, uint64_t end)
-{
-    uint64_t cxtime[MAX_CX_NR];
-    uint64_t max_res[MAX_CX_NR];
-    uint64_t min_res[MAX_CX_NR];
-    uint64_t num[MAX_CX_NR];
-    int i, j;
-
-    width = 20;
-    printf("       ");
-    for (i = 0; i < max_cx_num; i++) {
-        int l = printf("C%d", i);
-        nr_putchar(width-l, ' ');
-    }
-    printf("\n");
-
-    for (i = 0; i < max_cpu_num; i++) {
-        uint64_t sum = 0;
-        single_cstate(i, start, end, cxtime, max_res, min_res, num);
-        printf("CPU%2d ", i);
-        for (j = 0; j < max_cx_num; j++)
-            sum += cxtime[i];
-        for (j = 0; j < max_cx_num; j++) {
-            int l = printf("%.1f%%, %"PRIu64".%d, %"PRIu64".%d, %"PRIu64,
-                           100.0 * cxtime[j]/sum,
-                           max_res[j]/tsc2ms,
-                           (unsigned int)(max_res[j]/(tsc2ms/10))%10,
-                           min_res[j]/tsc2ms,
-                           (unsigned int)(min_res[j]/(tsc2ms/10))%10,
-                           cxtime[j]/num[j]/tsc2ms);
-            nr_putchar(width - l, ' ');
-        }
-    }
-}
-
-void single_cstate(int c, uint64_t t, uint64_t e,
-                   uint64_t *a,
-                   uint64_t *max_res,
-                   uint64_t *min_res,
-                   uint64_t *num)
-{
-    int cx;
-    int i;
-    int first = 1;
-
-    for (i = 0; i < max_cx_num; i++) {
-        a[i] = 0;
-        max_res[i] = 0;
-        min_res[i] = (uint64_t) -1;
-        num[i] = 0;
-    }
-
-    cx = determine_cx(c, t);
-    i = 0;
-    while (i < evt_len[c] && evt[c][i].tsc <= t)
-        i++;
-    for (; i+1 < evt_len[c] && evt[c][i].tsc <= e; i++) {
-        int cxidx = evt[c][i].cx;
-        uint64_t delta;
-
-        if (first && cx >= 0) {
-            /* Partial Cx, only once */
-            first = 0;
-
-            cxidx = cx;
-            delta = evt[c][i].tsc - max(evt[c][i-1].tsc, t);
-            a[cxidx] += delta;
-            num[cxidx]++;
-
-            /* update min and max residency */
-            if (delta > max_res[cxidx])
-                max_res[cxidx] = delta;
-            if (delta < min_res[cxidx])
-                min_res[cxidx] = delta;
-        }
-        delta = evt[c][i+1].tsc - evt[c][i].tsc;
-        a[cxidx] += delta;
-        num[cxidx]++;
-
-        /* update min and max residency */
-        if (delta > max_res[cxidx])
-            max_res[cxidx] = delta;
-        if (delta < min_res[cxidx])
-            min_res[cxidx] = delta;
-    }
-}
-
 void do_average_per_cpu(int c)
 {
     int i;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8ri-0008WN-1K; Tue, 23 Feb 2016 09:02:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rg-0008Vx-VJ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:41 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
	DA/A8-25438-0302CC65; Tue, 23 Feb 2016 09:02:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456218158!25965157!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31223 invoked from network); 23 Feb 2016 09:02:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8re-0007m5-IC
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8re-0004dq-Fp
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8re-0004dq-Fp@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:38 +0000
Subject: [Xen-changelog] [xen master] tools: gtracestat: Drop unused
	functions do_cstate and single_cstate helper
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1f08987193f38f3e30886f126e535a7b3c145dad
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:30:37 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:43:29 2016 +0000

    tools: gtracestat: Drop unused functions do_cstate and single_cstate helper
    
    These have always been dead code since the code was added AFAICT.
    
    This eliminates the code containing CID 10567079, 10567080, 10567081
    and 10567082 (all apparently some confusion between max_cx_num vs
    MAX_CX_NR, but given the lack of callers its hard to tell what was
    intended)
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/gtracestat.c | 93 -------------------------------------------------
 1 file changed, 93 deletions(-)

diff --git a/tools/misc/gtracestat.c b/tools/misc/gtracestat.c
index 5164397..b54eeb8 100644
--- a/tools/misc/gtracestat.c
+++ b/tools/misc/gtracestat.c
@@ -58,7 +58,6 @@ void do_count(void);
 void do_px_count(void);
 void do_maxmin(void);
 void do_average(void);
-void do_cstate(uint64_t start, uint64_t end);
 void do_exp_ratio(void);
 void do_exp_pred(void);
 
@@ -974,98 +973,6 @@ void do_breakevents(void)
     }
 }
 
-void single_cstate(int c, uint64_t t, uint64_t e,
-                   uint64_t *a,
-                   uint64_t *max_res,
-                   uint64_t *min_res,
-                   uint64_t *num);
-void do_cstate(uint64_t start, uint64_t end)
-{
-    uint64_t cxtime[MAX_CX_NR];
-    uint64_t max_res[MAX_CX_NR];
-    uint64_t min_res[MAX_CX_NR];
-    uint64_t num[MAX_CX_NR];
-    int i, j;
-
-    width = 20;
-    printf("       ");
-    for (i = 0; i < max_cx_num; i++) {
-        int l = printf("C%d", i);
-        nr_putchar(width-l, ' ');
-    }
-    printf("\n");
-
-    for (i = 0; i < max_cpu_num; i++) {
-        uint64_t sum = 0;
-        single_cstate(i, start, end, cxtime, max_res, min_res, num);
-        printf("CPU%2d ", i);
-        for (j = 0; j < max_cx_num; j++)
-            sum += cxtime[i];
-        for (j = 0; j < max_cx_num; j++) {
-            int l = printf("%.1f%%, %"PRIu64".%d, %"PRIu64".%d, %"PRIu64,
-                           100.0 * cxtime[j]/sum,
-                           max_res[j]/tsc2ms,
-                           (unsigned int)(max_res[j]/(tsc2ms/10))%10,
-                           min_res[j]/tsc2ms,
-                           (unsigned int)(min_res[j]/(tsc2ms/10))%10,
-                           cxtime[j]/num[j]/tsc2ms);
-            nr_putchar(width - l, ' ');
-        }
-    }
-}
-
-void single_cstate(int c, uint64_t t, uint64_t e,
-                   uint64_t *a,
-                   uint64_t *max_res,
-                   uint64_t *min_res,
-                   uint64_t *num)
-{
-    int cx;
-    int i;
-    int first = 1;
-
-    for (i = 0; i < max_cx_num; i++) {
-        a[i] = 0;
-        max_res[i] = 0;
-        min_res[i] = (uint64_t) -1;
-        num[i] = 0;
-    }
-
-    cx = determine_cx(c, t);
-    i = 0;
-    while (i < evt_len[c] && evt[c][i].tsc <= t)
-        i++;
-    for (; i+1 < evt_len[c] && evt[c][i].tsc <= e; i++) {
-        int cxidx = evt[c][i].cx;
-        uint64_t delta;
-
-        if (first && cx >= 0) {
-            /* Partial Cx, only once */
-            first = 0;
-
-            cxidx = cx;
-            delta = evt[c][i].tsc - max(evt[c][i-1].tsc, t);
-            a[cxidx] += delta;
-            num[cxidx]++;
-
-            /* update min and max residency */
-            if (delta > max_res[cxidx])
-                max_res[cxidx] = delta;
-            if (delta < min_res[cxidx])
-                min_res[cxidx] = delta;
-        }
-        delta = evt[c][i+1].tsc - evt[c][i].tsc;
-        a[cxidx] += delta;
-        num[cxidx]++;
-
-        /* update min and max residency */
-        if (delta > max_res[cxidx])
-            max_res[cxidx] = delta;
-        if (delta < min_res[cxidx])
-            min_res[cxidx] = delta;
-    }
-}
-
 void do_average_per_cpu(int c)
 {
     int i;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rt-000089-8D; Tue, 23 Feb 2016 09:02:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rr-00007w-UR
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:52 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	14/13-03443-B302CC65; Tue, 23 Feb 2016 09:02:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218169!24339586!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5111 invoked from network); 23 Feb 2016 09:02:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rp-0007mD-16
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ro-0004ep-Sd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8ro-0004ep-Sd@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:48 +0000
Subject: [Xen-changelog] [xen master] tools: gtracestat: make all functions
	and global data static
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e10afde3bb3ca8f2041d5084eef992718d09a1df
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:30:38 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:44:03 2016 +0000

    tools: gtracestat: make all functions and global data static
    
    After "Drop unused functions do_cstate and single_cstate helper" make
    all the remaining functions and global data static and in the process
    allow the compiler to notice that cond_rec_init() is also unused, thus
    remove it.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/gtracestat.c | 103 ++++++++++++++++++++++--------------------------
 1 file changed, 48 insertions(+), 55 deletions(-)

diff --git a/tools/misc/gtracestat.c b/tools/misc/gtracestat.c
index b54eeb8..3c2bd2c 100644
--- a/tools/misc/gtracestat.c
+++ b/tools/misc/gtracestat.c
@@ -49,40 +49,40 @@ struct rec {
 };
 
 /********** FORWARD DECLARATION **********/
-void show_help(void);
-void show_version(void);
-int load_file(char *fname);
-void do_digest(uint64_t start, uint64_t end, uint64_t scale);
-void do_breakevents(void);
-void do_count(void);
-void do_px_count(void);
-void do_maxmin(void);
-void do_average(void);
-void do_exp_ratio(void);
-void do_exp_pred(void);
+static void show_help(void);
+static void show_version(void);
+static int load_file(char *fname);
+static void do_digest(uint64_t start, uint64_t end, uint64_t scale);
+static void do_breakevents(void);
+static void do_count(void);
+static void do_px_count(void);
+static void do_maxmin(void);
+static void do_average(void);
+static void do_exp_ratio(void);
+static void do_exp_pred(void);
 
 /********** GLOBAL VARIABLES **********/
 /* store simplified xentrace data */
-struct rec *data;
-int64_t data_nr, data_cur;
+static struct rec *data;
+static int64_t data_nr, data_cur;
 /* store max cx state number and cpu number */
-int max_cx_num = -1, max_cpu_num = -1;
-int px_freq_table[MAX_PX_NR];
-int max_px_num = 0;
+static int max_cx_num = -1, max_cpu_num = -1;
+static int px_freq_table[MAX_PX_NR];
+static int max_px_num = 0;
 
-int is_menu_gov_enabled = 0;
+static int is_menu_gov_enabled = 0;
 
 /* user specified translation unit */
-uint64_t tsc2ms = 2793000UL;
-uint64_t tsc2us = 2793UL;
-uint64_t tsc2phase = 55800000UL;
+static uint64_t tsc2ms = 2793000UL;
+static uint64_t tsc2us = 2793UL;
+static uint64_t tsc2phase = 55800000UL;
 
 /* each cpu column width */
-int width = 0;
+static int width = 0;
 
 /* digest mode variables */
-struct rec *evt[MAX_CPU_NR];
-int evt_len[MAX_CPU_NR];
+static struct rec *evt[MAX_CPU_NR];
+static int evt_len[MAX_CPU_NR];
 
 /* hand-crafted min() */
 static inline uint64_t min(uint64_t a, uint64_t b)
@@ -94,7 +94,7 @@ static inline uint64_t max(uint64_t a, uint64_t b)
     return a > b ? a : b;
 }
 
-int is_px = 0;
+static int is_px = 0;
 
 int main(int argc, char *argv[])
 {
@@ -265,7 +265,7 @@ static int data_cmp(const void *_a, const void *_b)
  *   max_cpu_num, max_cx_num
  */
 #define LIST_PX 0
-int load_file(char *fname)
+static int load_file(char *fname)
 {
     /* file descriptor for raw xentrace file */
     int fd;
@@ -436,12 +436,12 @@ int load_file(char *fname)
     return 0;
 }
 
-void show_version(void)
+static void show_version(void)
 {
     printf("gtracestat - (C) 2009-2011 Intel Corporation\n");
 }
 
-void show_help(void)
+static void show_help(void)
 {
     show_version();
     printf("gtracestat <trace.data> [-vhdselbcmau]\n");
@@ -476,7 +476,7 @@ static inline int len_of_number(uint64_t n)
 /* determine the cx at time t
  * take advantage of evt and evt_len.
  */
-int determine_cx(int c, uint64_t t)
+static int determine_cx(int c, uint64_t t)
 {
     int i;
 
@@ -503,7 +503,7 @@ int determine_cx(int c, uint64_t t)
  * cx_i - number of cx index
  * cx_r - residency of each cx entry
  */
-int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
+static int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
 {
     int cx;
     uint64_t len;
@@ -536,7 +536,7 @@ int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
     return n;
 }
 
-void nr_putchar(int nr, int ch)
+static void nr_putchar(int nr, int ch)
 {
     int i;
     for (i = 0; i < nr; i++)
@@ -545,7 +545,7 @@ void nr_putchar(int nr, int ch)
 
 #define MAX_INTERVAL_ENTRY	1000
 /* process period [start_time, start_time + time_scale) */
-void single_digest(uint64_t start_time, uint64_t time_scale)
+static void single_digest(uint64_t start_time, uint64_t time_scale)
 {
     int cpu;
     int cx_i[MAX_CPU_NR][MAX_INTERVAL_ENTRY];
@@ -592,7 +592,7 @@ void single_digest(uint64_t start_time, uint64_t time_scale)
     }
 }
 
-void do_digest(uint64_t start, uint64_t end, uint64_t scale)
+static void do_digest(uint64_t start, uint64_t end, uint64_t scale)
 {
     int i;
     uint64_t ms = 0;
@@ -628,14 +628,7 @@ struct cond_rec {
     uint64_t res;
 };
 
-void cond_rec_init(struct cond_rec *r, uint64_t min, uint64_t max)
-{
-    r->min = min;
-    r->max = max;
-    r->cnt = 0;
-}
-
-void cond_rec_inc(uint64_t cur, struct cond_rec *r)
+static void cond_rec_inc(uint64_t cur, struct cond_rec *r)
 {
     if (r->min <= cur && cur < r->max) {
         r->cnt++;
@@ -648,7 +641,7 @@ void cond_rec_inc(uint64_t cur, struct cond_rec *r)
  * a	- conditonal array
  * n	- how many entries there are
  */
-void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
+static void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
 {
     int i;
     /* find Cx entry first */
@@ -668,7 +661,7 @@ void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
     }
 }
 
-struct cond_rec *make_cond_rec(uint64_t *a, int n)
+static struct cond_rec *make_cond_rec(uint64_t *a, int n)
 {
     int i;
     struct cond_rec *t = malloc(sizeof(struct cond_rec) * (n+1));
@@ -688,12 +681,12 @@ struct cond_rec *make_cond_rec(uint64_t *a, int n)
     return t;
 }
 
-uint64_t max_res[MAX_CPU_NR][MAX_CX_NR];
-uint64_t min_res[MAX_CPU_NR][MAX_CX_NR];
-uint64_t max_tm[MAX_CPU_NR][MAX_CX_NR];
-uint64_t min_tm[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t max_res[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t min_res[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t max_tm[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t min_tm[MAX_CPU_NR][MAX_CX_NR];
 
-void do_maxmin_per_cpu(int c)
+static void do_maxmin_per_cpu(int c)
 {
     int i;
     /* find Cx entry first */
@@ -716,7 +709,7 @@ void do_maxmin_per_cpu(int c)
     }
 }
 
-void do_maxmin(void)
+static void do_maxmin(void)
 {
     int i, j;
     /* init */
@@ -746,7 +739,7 @@ void do_maxmin(void)
     }
 }
 
-void do_count(void)
+static void do_count(void)
 {
     uint64_t scale[100] = { 50UL, 100UL, 200UL, 400UL, 800UL, 1000UL };
     int a;
@@ -820,7 +813,7 @@ static void do_px_count_per_cpu(int c, int px, struct cond_rec *cond, int n)
     }
 }
 
-void do_px_count(void)
+static void do_px_count(void)
 {
     int a[100];
     uint64_t scale[100];
@@ -906,7 +899,7 @@ void do_px_count(void)
     }
 }
 
-void do_breakevents(void)
+static void do_breakevents(void)
 {
     int br[MAX_CPU_NR][257];
     float pc[MAX_CPU_NR][257];
@@ -973,7 +966,7 @@ void do_breakevents(void)
     }
 }
 
-void do_average_per_cpu(int c)
+static void do_average_per_cpu(int c)
 {
     int i;
     uint64_t tot[MAX_CX_NR] = { 0 };
@@ -1009,7 +1002,7 @@ void do_average_per_cpu(int c)
     printf("\n");
 }
 
-void do_average(void)
+static void do_average(void)
 {
     int i;
 
@@ -1055,7 +1048,7 @@ static void do_exp_ratio_per_cpu(int c)
     }
 }
 
-void do_exp_ratio(void)
+static void do_exp_ratio(void)
 {
     int i;
 
@@ -1105,7 +1098,7 @@ static void do_exp_pred_per_cpu(int c)
     }
 }
 
-void do_exp_pred(void)
+static void do_exp_pred(void)
 {
     int i;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:02:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:02:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8rt-000089-8D; Tue, 23 Feb 2016 09:02:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rr-00007w-UR
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:52 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	14/13-03443-B302CC65; Tue, 23 Feb 2016 09:02:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1456218169!24339586!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5111 invoked from network); 23 Feb 2016 09:02:50 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:02:50 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rp-0007mD-16
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8ro-0004ep-Sd
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8ro-0004ep-Sd@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:48 +0000
Subject: [Xen-changelog] [xen master] tools: gtracestat: make all functions
	and global data static
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e10afde3bb3ca8f2041d5084eef992718d09a1df
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 14:30:38 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:44:03 2016 +0000

    tools: gtracestat: make all functions and global data static
    
    After "Drop unused functions do_cstate and single_cstate helper" make
    all the remaining functions and global data static and in the process
    allow the compiler to notice that cond_rec_init() is also unused, thus
    remove it.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/gtracestat.c | 103 ++++++++++++++++++++++--------------------------
 1 file changed, 48 insertions(+), 55 deletions(-)

diff --git a/tools/misc/gtracestat.c b/tools/misc/gtracestat.c
index b54eeb8..3c2bd2c 100644
--- a/tools/misc/gtracestat.c
+++ b/tools/misc/gtracestat.c
@@ -49,40 +49,40 @@ struct rec {
 };
 
 /********** FORWARD DECLARATION **********/
-void show_help(void);
-void show_version(void);
-int load_file(char *fname);
-void do_digest(uint64_t start, uint64_t end, uint64_t scale);
-void do_breakevents(void);
-void do_count(void);
-void do_px_count(void);
-void do_maxmin(void);
-void do_average(void);
-void do_exp_ratio(void);
-void do_exp_pred(void);
+static void show_help(void);
+static void show_version(void);
+static int load_file(char *fname);
+static void do_digest(uint64_t start, uint64_t end, uint64_t scale);
+static void do_breakevents(void);
+static void do_count(void);
+static void do_px_count(void);
+static void do_maxmin(void);
+static void do_average(void);
+static void do_exp_ratio(void);
+static void do_exp_pred(void);
 
 /********** GLOBAL VARIABLES **********/
 /* store simplified xentrace data */
-struct rec *data;
-int64_t data_nr, data_cur;
+static struct rec *data;
+static int64_t data_nr, data_cur;
 /* store max cx state number and cpu number */
-int max_cx_num = -1, max_cpu_num = -1;
-int px_freq_table[MAX_PX_NR];
-int max_px_num = 0;
+static int max_cx_num = -1, max_cpu_num = -1;
+static int px_freq_table[MAX_PX_NR];
+static int max_px_num = 0;
 
-int is_menu_gov_enabled = 0;
+static int is_menu_gov_enabled = 0;
 
 /* user specified translation unit */
-uint64_t tsc2ms = 2793000UL;
-uint64_t tsc2us = 2793UL;
-uint64_t tsc2phase = 55800000UL;
+static uint64_t tsc2ms = 2793000UL;
+static uint64_t tsc2us = 2793UL;
+static uint64_t tsc2phase = 55800000UL;
 
 /* each cpu column width */
-int width = 0;
+static int width = 0;
 
 /* digest mode variables */
-struct rec *evt[MAX_CPU_NR];
-int evt_len[MAX_CPU_NR];
+static struct rec *evt[MAX_CPU_NR];
+static int evt_len[MAX_CPU_NR];
 
 /* hand-crafted min() */
 static inline uint64_t min(uint64_t a, uint64_t b)
@@ -94,7 +94,7 @@ static inline uint64_t max(uint64_t a, uint64_t b)
     return a > b ? a : b;
 }
 
-int is_px = 0;
+static int is_px = 0;
 
 int main(int argc, char *argv[])
 {
@@ -265,7 +265,7 @@ static int data_cmp(const void *_a, const void *_b)
  *   max_cpu_num, max_cx_num
  */
 #define LIST_PX 0
-int load_file(char *fname)
+static int load_file(char *fname)
 {
     /* file descriptor for raw xentrace file */
     int fd;
@@ -436,12 +436,12 @@ int load_file(char *fname)
     return 0;
 }
 
-void show_version(void)
+static void show_version(void)
 {
     printf("gtracestat - (C) 2009-2011 Intel Corporation\n");
 }
 
-void show_help(void)
+static void show_help(void)
 {
     show_version();
     printf("gtracestat <trace.data> [-vhdselbcmau]\n");
@@ -476,7 +476,7 @@ static inline int len_of_number(uint64_t n)
 /* determine the cx at time t
  * take advantage of evt and evt_len.
  */
-int determine_cx(int c, uint64_t t)
+static int determine_cx(int c, uint64_t t)
 {
     int i;
 
@@ -503,7 +503,7 @@ int determine_cx(int c, uint64_t t)
  * cx_i - number of cx index
  * cx_r - residency of each cx entry
  */
-int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
+static int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
 {
     int cx;
     uint64_t len;
@@ -536,7 +536,7 @@ int process(int c, uint64_t t, uint64_t s, int *cx_i, uint64_t *cx_r)
     return n;
 }
 
-void nr_putchar(int nr, int ch)
+static void nr_putchar(int nr, int ch)
 {
     int i;
     for (i = 0; i < nr; i++)
@@ -545,7 +545,7 @@ void nr_putchar(int nr, int ch)
 
 #define MAX_INTERVAL_ENTRY	1000
 /* process period [start_time, start_time + time_scale) */
-void single_digest(uint64_t start_time, uint64_t time_scale)
+static void single_digest(uint64_t start_time, uint64_t time_scale)
 {
     int cpu;
     int cx_i[MAX_CPU_NR][MAX_INTERVAL_ENTRY];
@@ -592,7 +592,7 @@ void single_digest(uint64_t start_time, uint64_t time_scale)
     }
 }
 
-void do_digest(uint64_t start, uint64_t end, uint64_t scale)
+static void do_digest(uint64_t start, uint64_t end, uint64_t scale)
 {
     int i;
     uint64_t ms = 0;
@@ -628,14 +628,7 @@ struct cond_rec {
     uint64_t res;
 };
 
-void cond_rec_init(struct cond_rec *r, uint64_t min, uint64_t max)
-{
-    r->min = min;
-    r->max = max;
-    r->cnt = 0;
-}
-
-void cond_rec_inc(uint64_t cur, struct cond_rec *r)
+static void cond_rec_inc(uint64_t cur, struct cond_rec *r)
 {
     if (r->min <= cur && cur < r->max) {
         r->cnt++;
@@ -648,7 +641,7 @@ void cond_rec_inc(uint64_t cur, struct cond_rec *r)
  * a	- conditonal array
  * n	- how many entries there are
  */
-void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
+static void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
 {
     int i;
     /* find Cx entry first */
@@ -668,7 +661,7 @@ void do_count_per_cpu(int c, int cx, struct cond_rec *a, int n)
     }
 }
 
-struct cond_rec *make_cond_rec(uint64_t *a, int n)
+static struct cond_rec *make_cond_rec(uint64_t *a, int n)
 {
     int i;
     struct cond_rec *t = malloc(sizeof(struct cond_rec) * (n+1));
@@ -688,12 +681,12 @@ struct cond_rec *make_cond_rec(uint64_t *a, int n)
     return t;
 }
 
-uint64_t max_res[MAX_CPU_NR][MAX_CX_NR];
-uint64_t min_res[MAX_CPU_NR][MAX_CX_NR];
-uint64_t max_tm[MAX_CPU_NR][MAX_CX_NR];
-uint64_t min_tm[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t max_res[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t min_res[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t max_tm[MAX_CPU_NR][MAX_CX_NR];
+static uint64_t min_tm[MAX_CPU_NR][MAX_CX_NR];
 
-void do_maxmin_per_cpu(int c)
+static void do_maxmin_per_cpu(int c)
 {
     int i;
     /* find Cx entry first */
@@ -716,7 +709,7 @@ void do_maxmin_per_cpu(int c)
     }
 }
 
-void do_maxmin(void)
+static void do_maxmin(void)
 {
     int i, j;
     /* init */
@@ -746,7 +739,7 @@ void do_maxmin(void)
     }
 }
 
-void do_count(void)
+static void do_count(void)
 {
     uint64_t scale[100] = { 50UL, 100UL, 200UL, 400UL, 800UL, 1000UL };
     int a;
@@ -820,7 +813,7 @@ static void do_px_count_per_cpu(int c, int px, struct cond_rec *cond, int n)
     }
 }
 
-void do_px_count(void)
+static void do_px_count(void)
 {
     int a[100];
     uint64_t scale[100];
@@ -906,7 +899,7 @@ void do_px_count(void)
     }
 }
 
-void do_breakevents(void)
+static void do_breakevents(void)
 {
     int br[MAX_CPU_NR][257];
     float pc[MAX_CPU_NR][257];
@@ -973,7 +966,7 @@ void do_breakevents(void)
     }
 }
 
-void do_average_per_cpu(int c)
+static void do_average_per_cpu(int c)
 {
     int i;
     uint64_t tot[MAX_CX_NR] = { 0 };
@@ -1009,7 +1002,7 @@ void do_average_per_cpu(int c)
     printf("\n");
 }
 
-void do_average(void)
+static void do_average(void)
 {
     int i;
 
@@ -1055,7 +1048,7 @@ static void do_exp_ratio_per_cpu(int c)
     }
 }
 
-void do_exp_ratio(void)
+static void do_exp_ratio(void)
 {
     int i;
 
@@ -1105,7 +1098,7 @@ static void do_exp_pred_per_cpu(int c)
     }
 }
 
-void do_exp_pred(void)
+static void do_exp_pred(void)
 {
     int i;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8s3-00009e-CD; Tue, 23 Feb 2016 09:03:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s1-00009R-VX
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:02 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	1C/B3-03306-5402CC65; Tue, 23 Feb 2016 09:03:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456218179!2021256!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60468 invoked from network); 23 Feb 2016 09:03:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rz-0007mP-DW
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rz-0004gu-AB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rz-0004gu-AB@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:59 +0000
Subject: [Xen-changelog] [xen master] xenpaging: don't try to log via xch if
	xc_interface_close fails
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c1d5e4c0c6464c8924f356a7b574ffa984b42223
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 15:39:55 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:45:10 2016 +0000

    xenpaging: don't try to log via xch if xc_interface_close fails
    
    Since xch may not be valid (enough) any longer, xc_interface_close
    already logs anything of any use before it tears down the integrated
    logger so there is no need to log any further in the application via
    that path.
    
    CID: 1056203
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/xenpaging/xenpaging.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
index 6157d3a..d0571ca 100644
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -550,11 +550,7 @@ static void xenpaging_teardown(struct xenpaging *paging)
     xs_close(paging->xs_handle);
 
     /* Close connection to Xen */
-    rc = xc_interface_close(xch);
-    if ( rc != 0 )
-    {
-        ERROR("Error closing connection to xen");
-    }
+    xc_interface_close(xch);
 }
 
 static void get_request(struct vm_event *vm_event, vm_event_request_t *req)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8s3-00009e-CD; Tue, 23 Feb 2016 09:03:03 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s1-00009R-VX
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:02 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	1C/B3-03306-5402CC65; Tue, 23 Feb 2016 09:03:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456218179!2021256!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60468 invoked from network); 23 Feb 2016 09:03:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rz-0007mP-DW
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8rz-0004gu-AB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:02:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8rz-0004gu-AB@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:02:59 +0000
Subject: [Xen-changelog] [xen master] xenpaging: don't try to log via xch if
	xc_interface_close fails
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c1d5e4c0c6464c8924f356a7b574ffa984b42223
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 15:39:55 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 16:45:10 2016 +0000

    xenpaging: don't try to log via xch if xc_interface_close fails
    
    Since xch may not be valid (enough) any longer, xc_interface_close
    already logs anything of any use before it tears down the integrated
    logger so there is no need to log any further in the application via
    that path.
    
    CID: 1056203
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/xenpaging/xenpaging.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c
index 6157d3a..d0571ca 100644
--- a/tools/xenpaging/xenpaging.c
+++ b/tools/xenpaging/xenpaging.c
@@ -550,11 +550,7 @@ static void xenpaging_teardown(struct xenpaging *paging)
     xs_close(paging->xs_handle);
 
     /* Close connection to Xen */
-    rc = xc_interface_close(xch);
-    if ( rc != 0 )
-    {
-        ERROR("Error closing connection to xen");
-    }
+    xc_interface_close(xch);
 }
 
 static void get_request(struct vm_event *vm_event, vm_event_request_t *req)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sE-0000BG-HQ; Tue, 23 Feb 2016 09:03:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sC-0000Av-JF
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:12 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	AC/59-29985-F402CC65; Tue, 23 Feb 2016 09:03:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456218190!17336138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13547 invoked from network); 23 Feb 2016 09:03:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s9-0007oX-Qh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s9-0004ii-NT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8s9-0004ii-NT@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:09 +0000
Subject: [Xen-changelog] [xen master] tools/xenalyze: Fix build with clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28ab9f3d0e7cbb22f5ce77500af7873f6e2d3c59
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 19:06:48 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 17:34:48 2016 +0000

    tools/xenalyze: Fix build with clang
    
    1) EXIT_REASON_EXCEPTION_NMI is 0, and Clang complains:
    
    xenalyze.c:513:33: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
        [EXIT_REASON_EXCEPTION_NMI]="EXCEPTION_NMI",
                                    ^~~~~~~~~~~~~~~
    xenalyze.c:512:11: note: previous initialization is here
        [0] = "NONE",
              ^~~~~~
    
    2) cr3_time_compare(), eip_compare(), ipi_send() and cr3_compare_start() are
       declared as nested functions, which is a GCCism not supported by Clang.
    
       As they don't actually make use of the interesting feature offered by
       nested functions (i.e. dynamic scoping), move them to just being normal
       functions.
    
    3) clear_interval_summary(), update_cpi() and clear_interval_cpi() are all
       unused.  The former isn't reference anywhere, so is deleted, while the other
       two are called from currently #if 0'd code.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 tools/xentrace/xenalyze.c | 188 +++++++++++++++++++++++-----------------------
 1 file changed, 92 insertions(+), 96 deletions(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 6520790..1651302 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -509,7 +509,6 @@ struct {
 #define HVM_VMX_EXIT_REASON_MAX (EXIT_REASON_XSETBV+1)
 
 char * hvm_vmx_exit_reason_name[HVM_VMX_EXIT_REASON_MAX] = {
-    [0] = "NONE",
     [EXIT_REASON_EXCEPTION_NMI]="EXCEPTION_NMI",
     [EXIT_REASON_EXTERNAL_INTERRUPT]="EXTERNAL_INTERRUPT",
     [EXIT_REASON_TRIPLE_FAULT]="TRIPLE_FAULT",
@@ -2270,11 +2269,6 @@ static inline void update_summary(struct event_cycle_summary *s, long long c) {
     s->count++;
 }
 
-static inline void clear_interval_summary(struct event_cycle_summary *s) {
-    s->interval.count = 0;
-    s->interval.cycles = 0;
-}
-
 static inline void update_cycles(struct cycle_summary *s, long long c) {
 /* We don't know ahead of time how many samples there are, and working
  * with dynamic stuff is a pain, and unnecessary.  This algorithm will
@@ -2322,6 +2316,7 @@ static inline void clear_interval_cycles(struct interval_element *e) {
     e->instructions = 0;
 }
 
+#if 0
 static inline void update_cpi(struct weighted_cpi_summary *s,
                               unsigned long long i,
                               unsigned long long c) {
@@ -2367,6 +2362,7 @@ static inline void clear_interval_cpi(struct weighted_cpi_summary *s) {
     s->interval.count = 0;
     s->interval.instructions = 0;
 }
+#endif
 
 static inline void print_cpu_affinity(struct cycle_summary *s, char *p) {
     if(s->count) {
@@ -2647,6 +2643,23 @@ void interval_cr3_value_check(struct cr3_value_struct *cr3) {
     }
 }
 
+int cr3_time_compare(const void *_a, const void *_b) {
+    struct cr3_value_struct *a=*(typeof(&a))_a;
+    struct cr3_value_struct *b=*(typeof(&a))_b;
+
+    if(a->total_time.interval.cycles < b->total_time.interval.cycles)
+        return 1;
+    else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
+        if(a->total_time.interval.count < b->total_time.interval.count)
+            return 1;
+        else if(a->total_time.interval.count == b->total_time.interval.count)
+            return 0;
+        else
+            return -1;
+    } else
+        return -1;
+}
+
 void interval_cr3_schedule_ordered_output(void) {
     struct cr3_value_struct *p;
     int i;
@@ -2654,23 +2667,6 @@ void interval_cr3_schedule_ordered_output(void) {
     struct cr3_value_struct **qsort_array;
     int N=0;
 
-    int cr3_time_compare(const void *_a, const void *_b) {
-        struct cr3_value_struct *a=*(typeof(&a))_a;
-        struct cr3_value_struct *b=*(typeof(&a))_b;
-
-        if(a->total_time.interval.cycles < b->total_time.interval.cycles)
-            return 1;
-        else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
-            if(a->total_time.interval.count < b->total_time.interval.count)
-                return 1;
-            else if(a->total_time.interval.count == b->total_time.interval.count)
-                return 0;
-            else
-                return -1;
-        } else
-            return -1;
-    }
-
     for(p=P.cr3.head; p; p=p->gnext)
         N++;
 
@@ -2966,6 +2962,23 @@ void update_eip(struct eip_list_struct **head, unsigned long long eip,
     update_summary(&p->summary, cycles);
 }
 
+int eip_compare(const void *_a, const void *_b) {
+    struct eip_list_struct *a=*(typeof(&a))_a;
+    struct eip_list_struct *b=*(typeof(&a))_b;
+
+    if(a->summary.cycles < b->summary.cycles)
+        return 1;
+    else if(b->summary.cycles == a->summary.cycles) {
+        if(a->summary.count < b->summary.count)
+            return 1;
+        else if(a->summary.count == b->summary.count)
+            return 0;
+        else
+            return -1;
+    } else
+        return -1;
+}
+
 void dump_eip(struct eip_list_struct *head) {
     struct eip_list_struct *p;
     int i;
@@ -2974,23 +2987,6 @@ void dump_eip(struct eip_list_struct *head) {
     struct eip_list_struct **qsort_array;
     int N=0;
 
-    int eip_compare(const void *_a, const void *_b) {
-        struct eip_list_struct *a=*(typeof(&a))_a;
-        struct eip_list_struct *b=*(typeof(&a))_b;
-
-        if(a->summary.cycles < b->summary.cycles)
-            return 1;
-        else if(b->summary.cycles == a->summary.cycles) {
-            if(a->summary.count < b->summary.count)
-                return 1;
-            else if(a->summary.count == b->summary.count)
-                return 0;
-            else
-                return -1;
-        } else
-            return -1;
-    }
-
     for(p=head; p; p=p->next)
     {
         total += p->summary.count;
@@ -3557,6 +3553,50 @@ struct outstanding_ipi *find_vec(struct vlapic_struct *vla, int vec)
     return o;
 }
 
+void ipi_send(struct vcpu_data *ov, int vec)
+{
+    struct vlapic_struct *vla;
+    struct outstanding_ipi *o = NULL;
+
+    if(ov->runstate.state == RUNSTATE_LOST) {
+        if(opt.dump_all)
+            fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
+                    __func__, ov->vid);
+        return;
+    }
+
+    vla = &ov->vlapic;
+
+    o = find_vec(vla, vec);
+
+    if(!o)
+    {
+        fprintf(warn, "%s: Couldn't find an open slot!\n",
+                __func__);
+        return;
+    }
+
+    if(!o->first_tsc)
+        o->first_tsc = P.now;
+
+    if(opt.dump_all && o->count == 0 && o->injected)
+        printf(" [vla] Pre-injection\n");
+
+    o->count++;
+
+    if((opt.dump_all)
+#if 0
+       && (ov->runstate.state != RUNSTATE_RUNNING
+           || ov->hvm.vmexit_valid)
+#endif
+        )
+        printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
+               ov->d->did, ov->vid,
+               o->vec,
+               runstate_name[ov->runstate.state],
+               o->count);
+}
+
 void hvm_vlapic_icr_handler(struct hvm_data *h)
 {
     struct mmio_info *m = &h->inflight.mmio;
@@ -3575,50 +3615,6 @@ void hvm_vlapic_icr_handler(struct hvm_data *h)
         };
     } icr = { .val = m->data };
 
-    void ipi_send(struct vcpu_data *ov, int vec)
-    {
-        struct vlapic_struct *vla;
-        struct outstanding_ipi *o = NULL;
-
-        if(ov->runstate.state == RUNSTATE_LOST) {
-            if(opt.dump_all)
-                fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
-                        __func__, ov->vid);
-            return;
-        }
-
-        vla = &ov->vlapic;
-
-        o = find_vec(vla, vec);
-
-        if(!o)
-        {
-            fprintf(warn, "%s: Couldn't find an open slot!\n",
-                    __func__);
-            return;
-        }
-
-        if(!o->first_tsc)
-            o->first_tsc = P.now;
-
-        if(opt.dump_all && o->count == 0 && o->injected)
-            printf(" [vla] Pre-injection\n");
-
-        o->count++;
-
-        if((opt.dump_all)
-#if 0
-           && (ov->runstate.state != RUNSTATE_RUNNING
-               || ov->hvm.vmexit_valid)
-#endif
-            )
-            printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
-                   ov->d->did, ov->vid,
-                   o->vec,
-                   runstate_name[ov->runstate.state],
-                   o->count);
-    }
-
     if(m->is_write) {
         if(opt.dump_all) {
             printf("              [vla] d%dv%d icr vec %d %s\n",
@@ -4124,23 +4120,23 @@ void cr3_prealloc_unpin(struct vcpu_data *v, unsigned long long gmfn) {
                gmfn, cr3->prealloc_unpin.count);
 }
 
+int cr3_compare_start(const void *_a, const void *_b) {
+    struct cr3_value_struct *a=*(typeof(&a))_a;
+    struct cr3_value_struct *b=*(typeof(&a))_b;
+
+    if(a->first_time > b->first_time)
+        return 1;
+    else if(b->first_time == a->first_time)
+        return 0;
+    else
+        return -1;
+}
+
 void cr3_dump_list(struct cr3_value_struct *head){
     struct cr3_value_struct *p;
     struct cr3_value_struct **qsort_array;
     int i, N=0;
 
-    int cr3_compare_start(const void *_a, const void *_b) {
-        struct cr3_value_struct *a=*(typeof(&a))_a;
-        struct cr3_value_struct *b=*(typeof(&a))_b;
-
-        if(a->first_time > b->first_time)
-            return 1;
-        else if(b->first_time == a->first_time)
-            return 0;
-        else
-            return -1;
-    }
-
     if(!head)
         return;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sE-0000BG-HQ; Tue, 23 Feb 2016 09:03:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sC-0000Av-JF
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:12 +0000
Received: from [193.109.254.147] by server-7.bemta-14.messagelabs.com id
	AC/59-29985-F402CC65; Tue, 23 Feb 2016 09:03:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456218190!17336138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13547 invoked from network); 23 Feb 2016 09:03:10 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s9-0007oX-Qh
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8s9-0004ii-NT
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8s9-0004ii-NT@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:09 +0000
Subject: [Xen-changelog] [xen master] tools/xenalyze: Fix build with clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28ab9f3d0e7cbb22f5ce77500af7873f6e2d3c59
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Feb 12 19:06:48 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 17:34:48 2016 +0000

    tools/xenalyze: Fix build with clang
    
    1) EXIT_REASON_EXCEPTION_NMI is 0, and Clang complains:
    
    xenalyze.c:513:33: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
        [EXIT_REASON_EXCEPTION_NMI]="EXCEPTION_NMI",
                                    ^~~~~~~~~~~~~~~
    xenalyze.c:512:11: note: previous initialization is here
        [0] = "NONE",
              ^~~~~~
    
    2) cr3_time_compare(), eip_compare(), ipi_send() and cr3_compare_start() are
       declared as nested functions, which is a GCCism not supported by Clang.
    
       As they don't actually make use of the interesting feature offered by
       nested functions (i.e. dynamic scoping), move them to just being normal
       functions.
    
    3) clear_interval_summary(), update_cpi() and clear_interval_cpi() are all
       unused.  The former isn't reference anywhere, so is deleted, while the other
       two are called from currently #if 0'd code.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
---
 tools/xentrace/xenalyze.c | 188 +++++++++++++++++++++++-----------------------
 1 file changed, 92 insertions(+), 96 deletions(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 6520790..1651302 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -509,7 +509,6 @@ struct {
 #define HVM_VMX_EXIT_REASON_MAX (EXIT_REASON_XSETBV+1)
 
 char * hvm_vmx_exit_reason_name[HVM_VMX_EXIT_REASON_MAX] = {
-    [0] = "NONE",
     [EXIT_REASON_EXCEPTION_NMI]="EXCEPTION_NMI",
     [EXIT_REASON_EXTERNAL_INTERRUPT]="EXTERNAL_INTERRUPT",
     [EXIT_REASON_TRIPLE_FAULT]="TRIPLE_FAULT",
@@ -2270,11 +2269,6 @@ static inline void update_summary(struct event_cycle_summary *s, long long c) {
     s->count++;
 }
 
-static inline void clear_interval_summary(struct event_cycle_summary *s) {
-    s->interval.count = 0;
-    s->interval.cycles = 0;
-}
-
 static inline void update_cycles(struct cycle_summary *s, long long c) {
 /* We don't know ahead of time how many samples there are, and working
  * with dynamic stuff is a pain, and unnecessary.  This algorithm will
@@ -2322,6 +2316,7 @@ static inline void clear_interval_cycles(struct interval_element *e) {
     e->instructions = 0;
 }
 
+#if 0
 static inline void update_cpi(struct weighted_cpi_summary *s,
                               unsigned long long i,
                               unsigned long long c) {
@@ -2367,6 +2362,7 @@ static inline void clear_interval_cpi(struct weighted_cpi_summary *s) {
     s->interval.count = 0;
     s->interval.instructions = 0;
 }
+#endif
 
 static inline void print_cpu_affinity(struct cycle_summary *s, char *p) {
     if(s->count) {
@@ -2647,6 +2643,23 @@ void interval_cr3_value_check(struct cr3_value_struct *cr3) {
     }
 }
 
+int cr3_time_compare(const void *_a, const void *_b) {
+    struct cr3_value_struct *a=*(typeof(&a))_a;
+    struct cr3_value_struct *b=*(typeof(&a))_b;
+
+    if(a->total_time.interval.cycles < b->total_time.interval.cycles)
+        return 1;
+    else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
+        if(a->total_time.interval.count < b->total_time.interval.count)
+            return 1;
+        else if(a->total_time.interval.count == b->total_time.interval.count)
+            return 0;
+        else
+            return -1;
+    } else
+        return -1;
+}
+
 void interval_cr3_schedule_ordered_output(void) {
     struct cr3_value_struct *p;
     int i;
@@ -2654,23 +2667,6 @@ void interval_cr3_schedule_ordered_output(void) {
     struct cr3_value_struct **qsort_array;
     int N=0;
 
-    int cr3_time_compare(const void *_a, const void *_b) {
-        struct cr3_value_struct *a=*(typeof(&a))_a;
-        struct cr3_value_struct *b=*(typeof(&a))_b;
-
-        if(a->total_time.interval.cycles < b->total_time.interval.cycles)
-            return 1;
-        else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
-            if(a->total_time.interval.count < b->total_time.interval.count)
-                return 1;
-            else if(a->total_time.interval.count == b->total_time.interval.count)
-                return 0;
-            else
-                return -1;
-        } else
-            return -1;
-    }
-
     for(p=P.cr3.head; p; p=p->gnext)
         N++;
 
@@ -2966,6 +2962,23 @@ void update_eip(struct eip_list_struct **head, unsigned long long eip,
     update_summary(&p->summary, cycles);
 }
 
+int eip_compare(const void *_a, const void *_b) {
+    struct eip_list_struct *a=*(typeof(&a))_a;
+    struct eip_list_struct *b=*(typeof(&a))_b;
+
+    if(a->summary.cycles < b->summary.cycles)
+        return 1;
+    else if(b->summary.cycles == a->summary.cycles) {
+        if(a->summary.count < b->summary.count)
+            return 1;
+        else if(a->summary.count == b->summary.count)
+            return 0;
+        else
+            return -1;
+    } else
+        return -1;
+}
+
 void dump_eip(struct eip_list_struct *head) {
     struct eip_list_struct *p;
     int i;
@@ -2974,23 +2987,6 @@ void dump_eip(struct eip_list_struct *head) {
     struct eip_list_struct **qsort_array;
     int N=0;
 
-    int eip_compare(const void *_a, const void *_b) {
-        struct eip_list_struct *a=*(typeof(&a))_a;
-        struct eip_list_struct *b=*(typeof(&a))_b;
-
-        if(a->summary.cycles < b->summary.cycles)
-            return 1;
-        else if(b->summary.cycles == a->summary.cycles) {
-            if(a->summary.count < b->summary.count)
-                return 1;
-            else if(a->summary.count == b->summary.count)
-                return 0;
-            else
-                return -1;
-        } else
-            return -1;
-    }
-
     for(p=head; p; p=p->next)
     {
         total += p->summary.count;
@@ -3557,6 +3553,50 @@ struct outstanding_ipi *find_vec(struct vlapic_struct *vla, int vec)
     return o;
 }
 
+void ipi_send(struct vcpu_data *ov, int vec)
+{
+    struct vlapic_struct *vla;
+    struct outstanding_ipi *o = NULL;
+
+    if(ov->runstate.state == RUNSTATE_LOST) {
+        if(opt.dump_all)
+            fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
+                    __func__, ov->vid);
+        return;
+    }
+
+    vla = &ov->vlapic;
+
+    o = find_vec(vla, vec);
+
+    if(!o)
+    {
+        fprintf(warn, "%s: Couldn't find an open slot!\n",
+                __func__);
+        return;
+    }
+
+    if(!o->first_tsc)
+        o->first_tsc = P.now;
+
+    if(opt.dump_all && o->count == 0 && o->injected)
+        printf(" [vla] Pre-injection\n");
+
+    o->count++;
+
+    if((opt.dump_all)
+#if 0
+       && (ov->runstate.state != RUNSTATE_RUNNING
+           || ov->hvm.vmexit_valid)
+#endif
+        )
+        printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
+               ov->d->did, ov->vid,
+               o->vec,
+               runstate_name[ov->runstate.state],
+               o->count);
+}
+
 void hvm_vlapic_icr_handler(struct hvm_data *h)
 {
     struct mmio_info *m = &h->inflight.mmio;
@@ -3575,50 +3615,6 @@ void hvm_vlapic_icr_handler(struct hvm_data *h)
         };
     } icr = { .val = m->data };
 
-    void ipi_send(struct vcpu_data *ov, int vec)
-    {
-        struct vlapic_struct *vla;
-        struct outstanding_ipi *o = NULL;
-
-        if(ov->runstate.state == RUNSTATE_LOST) {
-            if(opt.dump_all)
-                fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
-                        __func__, ov->vid);
-            return;
-        }
-
-        vla = &ov->vlapic;
-
-        o = find_vec(vla, vec);
-
-        if(!o)
-        {
-            fprintf(warn, "%s: Couldn't find an open slot!\n",
-                    __func__);
-            return;
-        }
-
-        if(!o->first_tsc)
-            o->first_tsc = P.now;
-
-        if(opt.dump_all && o->count == 0 && o->injected)
-            printf(" [vla] Pre-injection\n");
-
-        o->count++;
-
-        if((opt.dump_all)
-#if 0
-           && (ov->runstate.state != RUNSTATE_RUNNING
-               || ov->hvm.vmexit_valid)
-#endif
-            )
-            printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
-                   ov->d->did, ov->vid,
-                   o->vec,
-                   runstate_name[ov->runstate.state],
-                   o->count);
-    }
-
     if(m->is_write) {
         if(opt.dump_all) {
             printf("              [vla] d%dv%d icr vec %d %s\n",
@@ -4124,23 +4120,23 @@ void cr3_prealloc_unpin(struct vcpu_data *v, unsigned long long gmfn) {
                gmfn, cr3->prealloc_unpin.count);
 }
 
+int cr3_compare_start(const void *_a, const void *_b) {
+    struct cr3_value_struct *a=*(typeof(&a))_a;
+    struct cr3_value_struct *b=*(typeof(&a))_b;
+
+    if(a->first_time > b->first_time)
+        return 1;
+    else if(b->first_time == a->first_time)
+        return 0;
+    else
+        return -1;
+}
+
 void cr3_dump_list(struct cr3_value_struct *head){
     struct cr3_value_struct *p;
     struct cr3_value_struct **qsort_array;
     int i, N=0;
 
-    int cr3_compare_start(const void *_a, const void *_b) {
-        struct cr3_value_struct *a=*(typeof(&a))_a;
-        struct cr3_value_struct *b=*(typeof(&a))_b;
-
-        if(a->first_time > b->first_time)
-            return 1;
-        else if(b->first_time == a->first_time)
-            return 0;
-        else
-            return -1;
-    }
-
     if(!head)
         return;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sQ-0000Cp-L0; Tue, 23 Feb 2016 09:03:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sO-0000Cb-Jq
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:24 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	03/45-03306-B502CC65; Tue, 23 Feb 2016 09:03:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218201!16832098!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27319 invoked from network); 23 Feb 2016 09:03:22 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:22 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sL-0007p0-D4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sL-0004kn-AN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:21 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sL-0004kn-AN@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:21 +0000
Subject: [Xen-changelog] [xen master] xenoprof: fix up ability to disable it
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4bb047c9dd6c9c42a83e1c9e23899b83312187a4
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 22:25:56 2016 -0600
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 19 11:22:18 2016 -0500

    xenoprof: fix up ability to disable it
    
    Allow Xenoprof to be fully disabled when toggling the option off.
    
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
 xen/arch/x86/Makefile              |  2 +-
 xen/arch/x86/Rules.mk              |  2 ++
 xen/arch/x86/x86_64/compat/entry.S |  4 ++++
 xen/arch/x86/x86_64/entry.S        |  4 ++++
 xen/include/asm-x86/config.h       |  1 -
 xen/include/asm-x86/xenoprof.h     | 21 +++++++++++++++++++++
 xen/include/xen/xenoprof.h         | 27 +++++++++++++++++++++------
 7 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 8e6e901..434d985 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -3,7 +3,7 @@ subdir-y += cpu
 subdir-y += genapic
 subdir-y += hvm
 subdir-y += mm
-subdir-y += oprofile
+subdir-$(xenoprof) += oprofile
 subdir-y += x86_64
 
 obj-bin-y += alternative.init.o
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index a1cdae0..94e4efd 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -10,6 +10,8 @@ CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
 CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
 
+CFLAGS-$(xenoprof) += -DCONFIG_XENOPROF
+
 # Prevent floating-point variables from creeping into Xen.
 CFLAGS += -msoft-float
 
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index 8cb8bca..927439d 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -345,6 +345,10 @@ compat_crash_page_fault:
 #define compat_kexec_op do_ni_hypercall
 #endif
 
+#ifndef CONFIG_XENOPROF
+#define compat_xenoprof_op do_ni_hypercall
+#endif
+
 ENTRY(compat_hypercall_table)
         .quad compat_set_trap_table     /*  0 */
         .quad do_mmu_update
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index fc81a93..e0f5c83 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -682,6 +682,10 @@ ENTRY(exception_table)
 #define do_kexec_op do_ni_hypercall
 #endif
 
+#ifndef CONFIG_XENOPROF
+#define do_xenoprof_op do_ni_hypercall
+#endif
+
 ENTRY(hypercall_table)
         .quad do_set_trap_table     /*  0 */
         .quad do_mmu_update
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index d97877d..a45d3ee 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -47,7 +47,6 @@
 #define CONFIG_VGA 1
 #define CONFIG_VIDEO 1
 
-#define CONFIG_XENOPROF 1
 #define CONFIG_WATCHDOG 1
 
 #define CONFIG_MULTIBOOT 1
diff --git a/xen/include/asm-x86/xenoprof.h b/xen/include/asm-x86/xenoprof.h
index b006ddc..dca4223 100644
--- a/xen/include/asm-x86/xenoprof.h
+++ b/xen/include/asm-x86/xenoprof.h
@@ -22,6 +22,8 @@
 #ifndef __ASM_X86_XENOPROF_H__
 #define __ASM_X86_XENOPROF_H__
 
+#ifdef CONFIG_XENOPROF
+
 int nmi_reserve_counters(void);
 int nmi_setup_events(void);
 int nmi_enable_virq(void);
@@ -67,10 +69,29 @@ void xenoprof_backtrace(struct vcpu *, const struct cpu_user_regs *,
                  "xenoprof/x86 with autotranslated mode enabled"    \
                  "isn't supported yet\n");                          \
     } while (0)
+
 int passive_domain_do_rdmsr(unsigned int msr, uint64_t *msr_content);
 int passive_domain_do_wrmsr(unsigned int msr, uint64_t msr_content);
 void passive_domain_destroy(struct vcpu *v);
 
+#else
+
+static inline int passive_domain_do_rdmsr(unsigned int msr,
+                                          uint64_t *msr_content)
+{
+    return 0;
+}
+
+static inline int passive_domain_do_wrmsr(unsigned int msr,
+                                          uint64_t msr_content)
+{
+    return 0;
+}
+
+static inline void passive_domain_destroy(struct vcpu *v) {}
+
+#endif /* CONFIG_XENOPROF */
+
 #endif /* __ASM_X86_XENOPROF_H__ */
 
 /*
diff --git a/xen/include/xen/xenoprof.h b/xen/include/xen/xenoprof.h
index 9b9ef56..8f045ab 100644
--- a/xen/include/xen/xenoprof.h
+++ b/xen/include/xen/xenoprof.h
@@ -14,6 +14,12 @@
 #include <public/xenoprof.h>
 #include <asm/xenoprof.h>
 
+#define PMU_OWNER_NONE          0
+#define PMU_OWNER_XENOPROF      1
+#define PMU_OWNER_HVM           2
+
+#ifdef CONFIG_XENOPROF
+
 #define XENOPROF_DOMAIN_IGNORED    0
 #define XENOPROF_DOMAIN_ACTIVE     1
 #define XENOPROF_DOMAIN_PASSIVE    2
@@ -64,19 +70,28 @@ struct xenoprof {
 #endif
 
 struct domain;
+
+int acquire_pmu_ownership(int pmu_ownership);
+void release_pmu_ownership(int pmu_ownership);
+
 int is_active(struct domain *d);
 int is_passive(struct domain *d);
 void free_xenoprof_pages(struct domain *d);
 
 int xenoprof_add_trace(struct vcpu *, uint64_t pc, int mode);
 
-#define PMU_OWNER_NONE          0
-#define PMU_OWNER_XENOPROF      1
-#define PMU_OWNER_HVM           2
-int acquire_pmu_ownership(int pmu_ownership);
-void release_pmu_ownership(int pmu_ownership);
-
 void xenoprof_log_event(struct vcpu *, const struct cpu_user_regs *,
                         uint64_t pc, int mode, int event);
 
+#else
+static inline int acquire_pmu_ownership(int pmu_ownership)
+{
+    return 1;
+}
+
+static inline void release_pmu_ownership(int pmu_ownership)
+{
+}
+#endif /* CONFIG_XENOPROF */
+
 #endif  /* __XEN__XENOPROF_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:26 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sQ-0000Cp-L0; Tue, 23 Feb 2016 09:03:26 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sO-0000Cb-Jq
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:24 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
	03/45-03306-B502CC65; Tue, 23 Feb 2016 09:03:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456218201!16832098!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27319 invoked from network); 23 Feb 2016 09:03:22 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:22 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sL-0007p0-D4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:21 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sL-0004kn-AN
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:21 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sL-0004kn-AN@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:21 +0000
Subject: [Xen-changelog] [xen master] xenoprof: fix up ability to disable it
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4bb047c9dd6c9c42a83e1c9e23899b83312187a4
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 22:25:56 2016 -0600
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 19 11:22:18 2016 -0500

    xenoprof: fix up ability to disable it
    
    Allow Xenoprof to be fully disabled when toggling the option off.
    
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
 xen/arch/x86/Makefile              |  2 +-
 xen/arch/x86/Rules.mk              |  2 ++
 xen/arch/x86/x86_64/compat/entry.S |  4 ++++
 xen/arch/x86/x86_64/entry.S        |  4 ++++
 xen/include/asm-x86/config.h       |  1 -
 xen/include/asm-x86/xenoprof.h     | 21 +++++++++++++++++++++
 xen/include/xen/xenoprof.h         | 27 +++++++++++++++++++++------
 7 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 8e6e901..434d985 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -3,7 +3,7 @@ subdir-y += cpu
 subdir-y += genapic
 subdir-y += hvm
 subdir-y += mm
-subdir-y += oprofile
+subdir-$(xenoprof) += oprofile
 subdir-y += x86_64
 
 obj-bin-y += alternative.init.o
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index a1cdae0..94e4efd 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -10,6 +10,8 @@ CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
 CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
 
+CFLAGS-$(xenoprof) += -DCONFIG_XENOPROF
+
 # Prevent floating-point variables from creeping into Xen.
 CFLAGS += -msoft-float
 
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index 8cb8bca..927439d 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -345,6 +345,10 @@ compat_crash_page_fault:
 #define compat_kexec_op do_ni_hypercall
 #endif
 
+#ifndef CONFIG_XENOPROF
+#define compat_xenoprof_op do_ni_hypercall
+#endif
+
 ENTRY(compat_hypercall_table)
         .quad compat_set_trap_table     /*  0 */
         .quad do_mmu_update
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index fc81a93..e0f5c83 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -682,6 +682,10 @@ ENTRY(exception_table)
 #define do_kexec_op do_ni_hypercall
 #endif
 
+#ifndef CONFIG_XENOPROF
+#define do_xenoprof_op do_ni_hypercall
+#endif
+
 ENTRY(hypercall_table)
         .quad do_set_trap_table     /*  0 */
         .quad do_mmu_update
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index d97877d..a45d3ee 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -47,7 +47,6 @@
 #define CONFIG_VGA 1
 #define CONFIG_VIDEO 1
 
-#define CONFIG_XENOPROF 1
 #define CONFIG_WATCHDOG 1
 
 #define CONFIG_MULTIBOOT 1
diff --git a/xen/include/asm-x86/xenoprof.h b/xen/include/asm-x86/xenoprof.h
index b006ddc..dca4223 100644
--- a/xen/include/asm-x86/xenoprof.h
+++ b/xen/include/asm-x86/xenoprof.h
@@ -22,6 +22,8 @@
 #ifndef __ASM_X86_XENOPROF_H__
 #define __ASM_X86_XENOPROF_H__
 
+#ifdef CONFIG_XENOPROF
+
 int nmi_reserve_counters(void);
 int nmi_setup_events(void);
 int nmi_enable_virq(void);
@@ -67,10 +69,29 @@ void xenoprof_backtrace(struct vcpu *, const struct cpu_user_regs *,
                  "xenoprof/x86 with autotranslated mode enabled"    \
                  "isn't supported yet\n");                          \
     } while (0)
+
 int passive_domain_do_rdmsr(unsigned int msr, uint64_t *msr_content);
 int passive_domain_do_wrmsr(unsigned int msr, uint64_t msr_content);
 void passive_domain_destroy(struct vcpu *v);
 
+#else
+
+static inline int passive_domain_do_rdmsr(unsigned int msr,
+                                          uint64_t *msr_content)
+{
+    return 0;
+}
+
+static inline int passive_domain_do_wrmsr(unsigned int msr,
+                                          uint64_t msr_content)
+{
+    return 0;
+}
+
+static inline void passive_domain_destroy(struct vcpu *v) {}
+
+#endif /* CONFIG_XENOPROF */
+
 #endif /* __ASM_X86_XENOPROF_H__ */
 
 /*
diff --git a/xen/include/xen/xenoprof.h b/xen/include/xen/xenoprof.h
index 9b9ef56..8f045ab 100644
--- a/xen/include/xen/xenoprof.h
+++ b/xen/include/xen/xenoprof.h
@@ -14,6 +14,12 @@
 #include <public/xenoprof.h>
 #include <asm/xenoprof.h>
 
+#define PMU_OWNER_NONE          0
+#define PMU_OWNER_XENOPROF      1
+#define PMU_OWNER_HVM           2
+
+#ifdef CONFIG_XENOPROF
+
 #define XENOPROF_DOMAIN_IGNORED    0
 #define XENOPROF_DOMAIN_ACTIVE     1
 #define XENOPROF_DOMAIN_PASSIVE    2
@@ -64,19 +70,28 @@ struct xenoprof {
 #endif
 
 struct domain;
+
+int acquire_pmu_ownership(int pmu_ownership);
+void release_pmu_ownership(int pmu_ownership);
+
 int is_active(struct domain *d);
 int is_passive(struct domain *d);
 void free_xenoprof_pages(struct domain *d);
 
 int xenoprof_add_trace(struct vcpu *, uint64_t pc, int mode);
 
-#define PMU_OWNER_NONE          0
-#define PMU_OWNER_XENOPROF      1
-#define PMU_OWNER_HVM           2
-int acquire_pmu_ownership(int pmu_ownership);
-void release_pmu_ownership(int pmu_ownership);
-
 void xenoprof_log_event(struct vcpu *, const struct cpu_user_regs *,
                         uint64_t pc, int mode, int event);
 
+#else
+static inline int acquire_pmu_ownership(int pmu_ownership)
+{
+    return 1;
+}
+
+static inline void release_pmu_ownership(int pmu_ownership)
+{
+}
+#endif /* CONFIG_XENOPROF */
+
 #endif  /* __XEN__XENOPROF_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sa-0000Ff-Sp; Tue, 23 Feb 2016 09:03:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sY-0000FF-TQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:35 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	97/0E-04039-6602CC65; Tue, 23 Feb 2016 09:03:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456218212!24255210!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41333 invoked from network); 23 Feb 2016 09:03:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sV-0007pj-QB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sV-0004m8-N0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sV-0004m8-N0@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:31 +0000
Subject: [Xen-changelog] [xen master] build: convert xenoprof to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 13b5375fec56076a557772007e808cfdc579de58
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 22:25:57 2016 -0600
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 19 11:23:02 2016 -0500

    build: convert xenoprof to Kconfig
    
    Convert the xenoprof x86 build time option to Kconfig.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/Makefile |  2 +-
 xen/arch/x86/Rules.mk |  3 ---
 xen/common/Kconfig    | 13 +++++++++++++
 xen/common/Makefile   |  2 +-
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 434d985..1bcb08b 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -3,7 +3,7 @@ subdir-y += cpu
 subdir-y += genapic
 subdir-y += hvm
 subdir-y += mm
-subdir-$(xenoprof) += oprofile
+subdir-$(CONFIG_XENOPROF) += oprofile
 subdir-y += x86_64
 
 obj-bin-y += alternative.init.o
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 94e4efd..14519e3 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -3,15 +3,12 @@
 
 HAS_NUMA := y
 HAS_CORE_PARKING := y
-xenoprof := y
 
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
 CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
 
-CFLAGS-$(xenoprof) += -DCONFIG_XENOPROF
-
 # Prevent floating-point variables from creeping into Xen.
 CFLAGS += -msoft-float
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6f404b4..49de790 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -84,6 +84,19 @@ config LATE_HWDOM
 
 	  If unsure, say N.
 
+# Adds support for Xenoprof
+config XENOPROF
+	def_bool y
+	prompt "Xen Oprofile Support" if EXPERT = "y"
+	depends on X86
+	---help---
+	  Xen OProfile (Xenoprof) is a system-wide profiler for Xen virtual
+	  machine environments, capable of profiling the Xen virtual machine
+	  monitor, multiple Linux guest operating systems, and applications
+	  running on them.
+
+	  If unsure, say Y.
+
 # Enable/Disable XSM support
 config XSM
 	bool "Xen Security Modules support"
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 0d76efe..57f4ed7 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -57,13 +57,13 @@ obj-y += vm_event.o
 obj-y += vmap.o
 obj-y += vsprintf.o
 obj-y += wait.o
+obj-$(CONFIG_XENOPROF) += xenoprof.o
 obj-y += xmalloc_tlsf.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo unlz4 earlycpio,$(n).init.o)
 
 obj-$(perfc)       += perfc.o
 obj-$(crash_debug) += gdbstub.o
-obj-$(xenoprof)    += xenoprof.o
 
 obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o kernel.o memory.o multicall.o tmem_xen.o xlat.o)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:36 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sa-0000Ff-Sp; Tue, 23 Feb 2016 09:03:36 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sY-0000FF-TQ
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:35 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
	97/0E-04039-6602CC65; Tue, 23 Feb 2016 09:03:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456218212!24255210!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 41333 invoked from network); 23 Feb 2016 09:03:33 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sV-0007pj-QB
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sV-0004m8-N0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:31 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sV-0004m8-N0@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:31 +0000
Subject: [Xen-changelog] [xen master] build: convert xenoprof to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 13b5375fec56076a557772007e808cfdc579de58
Author:     Doug Goldstein <cardoe@cardoe.com>
AuthorDate: Thu Feb 18 22:25:57 2016 -0600
Commit:     Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Feb 19 11:23:02 2016 -0500

    build: convert xenoprof to Kconfig
    
    Convert the xenoprof x86 build time option to Kconfig.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/Makefile |  2 +-
 xen/arch/x86/Rules.mk |  3 ---
 xen/common/Kconfig    | 13 +++++++++++++
 xen/common/Makefile   |  2 +-
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 434d985..1bcb08b 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -3,7 +3,7 @@ subdir-y += cpu
 subdir-y += genapic
 subdir-y += hvm
 subdir-y += mm
-subdir-$(xenoprof) += oprofile
+subdir-$(CONFIG_XENOPROF) += oprofile
 subdir-y += x86_64
 
 obj-bin-y += alternative.init.o
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 94e4efd..14519e3 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -3,15 +3,12 @@
 
 HAS_NUMA := y
 HAS_CORE_PARKING := y
-xenoprof := y
 
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
 CFLAGS += '-D__OBJECT_LABEL__=$(subst /,$$,$(subst -,_,$(subst $(BASEDIR)/,,$(CURDIR))/$@))'
 
-CFLAGS-$(xenoprof) += -DCONFIG_XENOPROF
-
 # Prevent floating-point variables from creeping into Xen.
 CFLAGS += -msoft-float
 
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 6f404b4..49de790 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -84,6 +84,19 @@ config LATE_HWDOM
 
 	  If unsure, say N.
 
+# Adds support for Xenoprof
+config XENOPROF
+	def_bool y
+	prompt "Xen Oprofile Support" if EXPERT = "y"
+	depends on X86
+	---help---
+	  Xen OProfile (Xenoprof) is a system-wide profiler for Xen virtual
+	  machine environments, capable of profiling the Xen virtual machine
+	  monitor, multiple Linux guest operating systems, and applications
+	  running on them.
+
+	  If unsure, say Y.
+
 # Enable/Disable XSM support
 config XSM
 	bool "Xen Security Modules support"
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 0d76efe..57f4ed7 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -57,13 +57,13 @@ obj-y += vm_event.o
 obj-y += vmap.o
 obj-y += vsprintf.o
 obj-y += wait.o
+obj-$(CONFIG_XENOPROF) += xenoprof.o
 obj-y += xmalloc_tlsf.o
 
 obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma unlzo unlz4 earlycpio,$(n).init.o)
 
 obj-$(perfc)       += perfc.o
 obj-$(crash_debug) += gdbstub.o
-obj-$(xenoprof)    += xenoprof.o
 
 obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o kernel.o memory.o multicall.o tmem_xen.o xlat.o)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sk-0000JS-M2; Tue, 23 Feb 2016 09:03:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8si-0000IW-Sw
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:44 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	03/76-23366-0702CC65; Tue, 23 Feb 2016 09:03:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456218222!25923248!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60457 invoked from network); 23 Feb 2016 09:03:43 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:43 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sg-0007q3-E4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sg-0004n1-9x
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sg-0004n1-9x@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:42 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2066ddd2327daeb2d92687ea2a88383f0b57a56c
Merge: 28ab9f3d0e7cbb22f5ce77500af7873f6e2d3c59 13b5375fec56076a557772007e808cfdc579de58
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Fri Feb 19 18:31:30 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 18:31:30 2016 +0000

    Merge branch 'staging' of xenbits.xen.org:/home/xen/git/xen into staging

 xen/arch/x86/Makefile              |  2 +-
 xen/arch/x86/Rules.mk              |  1 -
 xen/arch/x86/x86_64/compat/entry.S |  4 ++++
 xen/arch/x86/x86_64/entry.S        |  4 ++++
 xen/common/Kconfig                 | 13 +++++++++++++
 xen/common/Makefile                |  2 +-
 xen/include/asm-x86/config.h       |  1 -
 xen/include/asm-x86/xenoprof.h     | 21 +++++++++++++++++++++
 xen/include/xen/xenoprof.h         | 27 +++++++++++++++++++++------
 9 files changed, 65 insertions(+), 10 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 09:03:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 09:03:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aY8sk-0000JS-M2; Tue, 23 Feb 2016 09:03:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8si-0000IW-Sw
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:44 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	03/76-23366-0702CC65; Tue, 23 Feb 2016 09:03:44 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456218222!25923248!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60457 invoked from network); 23 Feb 2016 09:03:43 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 09:03:43 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sg-0007q3-E4
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aY8sg-0004n1-9x
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 09:03:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aY8sg-0004n1-9x@xenbits.xen.org>
Date: Tue, 23 Feb 2016 09:03:42 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2066ddd2327daeb2d92687ea2a88383f0b57a56c
Merge: 28ab9f3d0e7cbb22f5ce77500af7873f6e2d3c59 13b5375fec56076a557772007e808cfdc579de58
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Fri Feb 19 18:31:30 2016 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Fri Feb 19 18:31:30 2016 +0000

    Merge branch 'staging' of xenbits.xen.org:/home/xen/git/xen into staging

 xen/arch/x86/Makefile              |  2 +-
 xen/arch/x86/Rules.mk              |  1 -
 xen/arch/x86/x86_64/compat/entry.S |  4 ++++
 xen/arch/x86/x86_64/entry.S        |  4 ++++
 xen/common/Kconfig                 | 13 +++++++++++++
 xen/common/Makefile                |  2 +-
 xen/include/asm-x86/config.h       |  1 -
 xen/include/asm-x86/xenoprof.h     | 21 +++++++++++++++++++++
 xen/include/xen/xenoprof.h         | 27 +++++++++++++++++++++------
 9 files changed, 65 insertions(+), 10 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 10:33:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 10:33:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYAHE-0005UC-CD; Tue, 23 Feb 2016 10:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAHC-0005TH-SY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:07 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	6B/96-02994-B553CC65; Tue, 23 Feb 2016 10:32:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456223583!16864783!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49922 invoked from network); 23 Feb 2016 10:33:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 10:33:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAH9-0001M1-G6
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAH9-0004G0-As
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYAH9-0004G0-As@xenbits.xen.org>
Date: Tue, 23 Feb 2016 10:33:03 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 90045485cae7ba34334c5f2a6e7b007f2ab7dc2d
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:30:28 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index cf12049..b517a32 100644
--- a/exec.c
+++ b/exec.c
@@ -875,9 +875,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         memory_region_destroy(&subpage->iomem);
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 10:33:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 10:33:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYAHE-0005UC-CD; Tue, 23 Feb 2016 10:33:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAHC-0005TH-SY
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:07 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
	6B/96-02994-B553CC65; Tue, 23 Feb 2016 10:32:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456223583!16864783!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 49922 invoked from network); 23 Feb 2016 10:33:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 10:33:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAH9-0001M1-G6
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYAH9-0004G0-As
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 10:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYAH9-0004G0-As@xenbits.xen.org>
Date: Tue, 23 Feb 2016 10:33:03 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.5] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 90045485cae7ba34334c5f2a6e7b007f2ab7dc2d
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:30:28 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index cf12049..b517a32 100644
--- a/exec.c
+++ b/exec.c
@@ -875,9 +875,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         memory_region_destroy(&subpage->iomem);
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.5

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 13:11:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 13:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYCk6-00089P-Fe; Tue, 23 Feb 2016 13:11:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk5-00089K-D0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:05 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	51/9E-02983-86A5CC65; Tue, 23 Feb 2016 13:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456233063!8282552!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58872 invoked from network); 23 Feb 2016 13:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 13:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk2-0004ps-Sv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk2-0007w9-LI
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYCk2-0007w9-LI@xenbits.xen.org>
Date: Tue, 23 Feb 2016 13:11:02 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9869880372c8e786502ce140d50158118e29a165
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:22:40 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 46fe70e..28a6f12 100644
--- a/exec.c
+++ b/exec.c
@@ -943,9 +943,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         object_unref(OBJECT(&subpage->iomem));
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Feb 23 13:11:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Feb 2016 13:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYCk6-00089P-Fe; Tue, 23 Feb 2016 13:11:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk5-00089K-D0
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:05 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
	51/9E-02983-86A5CC65; Tue, 23 Feb 2016 13:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456233063!8282552!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 58872 invoked from network); 23 Feb 2016 13:11:04 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Feb 2016 13:11:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk2-0004ps-Sv
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYCk2-0007w9-LI
	for xen-changelog@lists.xensource.com; Tue, 23 Feb 2016 13:11:02 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYCk2-0007w9-LI@xenbits.xen.org>
Date: Tue, 23 Feb 2016 13:11:02 +0000
Subject: [Xen-changelog] [qemu-xen stable-4.6] exec: Stop using memory after
	free
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9869880372c8e786502ce140d50158118e29a165
Author:     Don Slutz <don.slutz@gmail.com>
AuthorDate: Mon Nov 30 17:11:04 2015 -0500
Commit:     Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CommitDate: Thu Feb 18 17:22:40 2016 +0000

    exec: Stop using memory after free
    
    memory_region_unref(mr) can free memory.
    
    For example I got:
    
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7f43280d4700 (LWP 4462)]
    0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    1023        if (mr->subpage) {
    (gdb) bt
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
        at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
        at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
    (gdb) p mr
    $1 = (MemoryRegion *) 0x7f43259468b0
    
    And this change prevents this.
    
    upstream-commit-id: 55b4e80b047300e1512df02887b7448ba3786b62
    
    Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
    Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 exec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/exec.c b/exec.c
index 46fe70e..28a6f12 100644
--- a/exec.c
+++ b/exec.c
@@ -943,9 +943,11 @@ static uint16_t phys_section_add(PhysPageMap *map,
 
 static void phys_section_destroy(MemoryRegion *mr)
 {
+    bool have_sub_page = mr->subpage;
+
     memory_region_unref(mr);
 
-    if (mr->subpage) {
+    if (have_sub_page) {
         subpage_t *subpage = container_of(mr, subpage_t, iomem);
         object_unref(OBJECT(&subpage->iomem));
         g_free(subpage);
--
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2K-00007R-E6; Thu, 25 Feb 2016 00:44:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2I-00007M-Vr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:07 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	83/76-02994-65E4EC65; Thu, 25 Feb 2016 00:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456361044!24760608!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61148 invoked from network); 25 Feb 2016 00:44:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2G-0001M6-Mf
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2G-0003Gv-IM
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2G-0003Gv-IM@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:04 +0000
Subject: [Xen-changelog] [xen stable-4.6] update Xen version to 4.6.2-pre
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d065bc0cb05af0bfc5468b02fe972f5bfe0dbac
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:30:17 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:30:17 2016 +0100

    update Xen version to 4.6.2-pre
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 928e2f8..7620267 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 6
-export XEN_EXTRAVERSION ?= .1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .2-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2K-00007R-E6; Thu, 25 Feb 2016 00:44:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2I-00007M-Vr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:07 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	83/76-02994-65E4EC65; Thu, 25 Feb 2016 00:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1456361044!24760608!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61148 invoked from network); 25 Feb 2016 00:44:05 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2G-0001M6-Mf
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2G-0003Gv-IM
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2G-0003Gv-IM@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:04 +0000
Subject: [Xen-changelog] [xen stable-4.6] update Xen version to 4.6.2-pre
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d065bc0cb05af0bfc5468b02fe972f5bfe0dbac
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:30:17 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:30:17 2016 +0100

    update Xen version to 4.6.2-pre
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 928e2f8..7620267 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 6
-export XEN_EXTRAVERSION ?= .1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .2-pre$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2Y-00008A-IO; Thu, 25 Feb 2016 00:44:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2W-00007z-CL
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:20 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	C6/AC-03294-36E4EC65; Thu, 25 Feb 2016 00:44:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1456361055!24854327!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64149 invoked from network); 25 Feb 2016 00:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2R-0001MC-7S
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2R-0003KC-0l
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2R-0003KC-0l@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:15 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d03c9e4f2eeeaefb1b9e6eee248bfc9a434de48
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:31:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:31:16 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |   9 ++++
 xen/arch/x86/hvm/mtrr.c             |  11 +++-
 xen/arch/x86/mm.c                   | 103 ++++++++++++++++++++++++++----------
 xen/arch/x86/mm/p2m-pt.c            |   2 +
 xen/arch/x86/mm/shadow/multi.c      |  32 +++++++----
 xen/arch/x86/mm/shadow/types.h      |   3 ++
 xen/include/asm-x86/page.h          |   3 ++
 7 files changed, 124 insertions(+), 39 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index b887d53..b8f5f67 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1080,6 +1080,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index aa7adcf..9268dfb 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -807,8 +807,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 854a635..c96b462 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -178,6 +178,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -799,10 +811,7 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
-#ifndef NDEBUG
-        const unsigned long *ro_map;
-        unsigned int seg, bdf;
-#endif
+        int flip = 0;
 
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
@@ -836,24 +845,55 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
 #ifndef NDEBUG
-        if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
-             ((ro_map = pci_get_ro_map(seg)) != NULL &&
-              test_bit(bdf, ro_map)) )
-            printk(XENLOG_G_WARNING
-                   "d%d: Forcing read-only access to MFN %lx\n",
-                   l1e_owner->domain_id, mfn);
-        else
-            rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
-                                   print_mmio_emul_range,
-                                   &(struct mmio_emul_range_ctxt){
-                                      .d = l1e_owner,
-                                      .mfn = mfn });
+            const unsigned long *ro_map;
+            unsigned int seg, bdf;
+
+            if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
+                 ((ro_map = pci_get_ro_map(seg)) != NULL &&
+                  test_bit(bdf, ro_map)) )
+                printk(XENLOG_G_WARNING
+                       "d%d: Forcing read-only access to MFN %lx\n",
+                       l1e_owner->domain_id, mfn);
+            else
+                rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
+                                       print_mmio_emul_range,
+                                       &(struct mmio_emul_range_ctxt){
+                                           .d = l1e_owner,
+                                           .mfn = mfn });
 #endif
-        return 1;
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1243,8 +1283,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1759,8 +1800,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1783,8 +1825,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5000,6 +5043,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5047,7 +5091,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5071,8 +5115,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 709920a..ab1f35d 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -107,6 +107,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 22081a1..43c9488 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -519,6 +519,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -559,7 +560,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -577,7 +581,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
 
     // protect guest page tables
     //
@@ -1185,22 +1193,28 @@ static int shadow_set_l1e(struct domain *d,
          && !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     }
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 9bc369f..6d0562e 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -99,6 +99,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void)
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 87b3341..66b611c 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:22 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2Y-00008A-IO; Thu, 25 Feb 2016 00:44:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2W-00007z-CL
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:20 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	C6/AC-03294-36E4EC65; Thu, 25 Feb 2016 00:44:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1456361055!24854327!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64149 invoked from network); 25 Feb 2016 00:44:16 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2R-0001MC-7S
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2R-0003KC-0l
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2R-0003KC-0l@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:15 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: enforce consistent
	cachability of MMIO mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d03c9e4f2eeeaefb1b9e6eee248bfc9a434de48
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:31:16 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:31:16 2016 +0100

    x86: enforce consistent cachability of MMIO mappings
    
    We've been told by Intel that inconsistent cachability between
    multiple mappings of the same page can affect system stability only
    when the affected page is an MMIO one. Since the stale data issue is
    of no relevance to the hypervisor (since all guest memory accesses go
    through proper accessors and validation), handling of RAM pages
    remains unchanged here. Any MMIO mapped by domains however needs to be
    done consistently (all cachable mappings or all uncachable ones), in
    order to avoid Machine Check exceptions. Since converting existing
    cachable mappings to uncachable (at the time an uncachable mapping
    gets established) would in the PV case require tracking all mappings,
    allow MMIO to only get mapped uncachable (UC, UC-, or WC).
    
    This also implies that in the PV case we mustn't use the L1 PTE update
    fast path when cachability flags get altered.
    
    Since in the HVM case at least for now we want to continue honoring
    pinned cachability attributes for pages not mapped by the hypervisor,
    special case handling of r/o MMIO pages (forcing UC) gets added there.
    Arguably the counterpart change to p2m-pt.c may not be necessary, since
    UC- (which already gets enforced there) is probably strict enough.
    
    Note that the shadow code changes include fixing the write protection
    of r/o MMIO ranges: shadow_l1e_remove_flags() and its siblings, other
    than l1e_remove_flags() and alike, return the new PTE (and hence
    ignoring their return values makes them no-ops).
    
    This is CVE-2016-2270 / XSA-154.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: c61a6f74f80eb36ed83a82f713db3143159b9009
    master date: 2016-02-17 16:16:53 +0100
---
 docs/misc/xen-command-line.markdown |   9 ++++
 xen/arch/x86/hvm/mtrr.c             |  11 +++-
 xen/arch/x86/mm.c                   | 103 ++++++++++++++++++++++++++----------
 xen/arch/x86/mm/p2m-pt.c            |   2 +
 xen/arch/x86/mm/shadow/multi.c      |  32 +++++++----
 xen/arch/x86/mm/shadow/types.h      |   3 ++
 xen/include/asm-x86/page.h          |   3 ++
 7 files changed, 124 insertions(+), 39 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index b887d53..b8f5f67 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1080,6 +1080,15 @@ limit is ignored by Xen.
 
 Specify if the MMConfig space should be enabled.
 
+### mmio-relax
+> `= <boolean> | all`
+
+> Default: `false`
+
+By default, domains may not create cached mappings to MMIO regions.
+This option relaxes the check for Domain 0 (or when using `all`, all PV
+domains), to permit the use of cacheable MMIO mappings.
+
 ### msi
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index aa7adcf..9268dfb 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -807,8 +807,17 @@ int epte_get_entry_emt(struct domain *d, unsigned long gfn, mfn_t mfn,
     if ( v->domain != d )
         v = d->vcpu ? d->vcpu[0] : NULL;
 
-    if ( !mfn_valid(mfn_x(mfn)) )
+    if ( !mfn_valid(mfn_x(mfn)) ||
+         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+    {
+        *ipat = 1;
         return MTRR_TYPE_UNCACHABLE;
+    }
+
+    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
+                                 mfn_x(mfn) + (1UL << order) - 1) )
+        return -1;
 
     switch ( hvm_get_mem_pinned_cacheattr(d, gfn, order, &type) )
     {
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 854a635..c96b462 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -178,6 +178,18 @@ static uint32_t base_disallow_mask;
       is_pv_domain(d)) ?                                        \
      L1_DISALLOW_MASK : (L1_DISALLOW_MASK & ~PAGE_CACHE_ATTRS))
 
+static s8 __read_mostly opt_mmio_relax;
+static void __init parse_mmio_relax(const char *s)
+{
+    if ( !*s )
+        opt_mmio_relax = 1;
+    else
+        opt_mmio_relax = parse_bool(s);
+    if ( opt_mmio_relax < 0 && strcmp(s, "all") )
+        opt_mmio_relax = 0;
+}
+custom_param("mmio-relax", parse_mmio_relax);
+
 static void __init init_frametable_chunk(void *start, void *end)
 {
     unsigned long s = (unsigned long)start;
@@ -799,10 +811,7 @@ get_page_from_l1e(
     if ( !mfn_valid(mfn) ||
          (real_pg_owner = page_get_owner_and_reference(page)) == dom_io )
     {
-#ifndef NDEBUG
-        const unsigned long *ro_map;
-        unsigned int seg, bdf;
-#endif
+        int flip = 0;
 
         /* Only needed the reference to confirm dom_io ownership. */
         if ( mfn_valid(mfn) )
@@ -836,24 +845,55 @@ get_page_from_l1e(
             return -EINVAL;
         }
 
-        if ( !(l1f & _PAGE_RW) ||
-             !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
-            return 0;
+        if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
+        {
+            /* MMIO pages must not be mapped cachable unless requested so. */
+            switch ( opt_mmio_relax )
+            {
+            case 0:
+                break;
+            case 1:
+                if ( is_hardware_domain(l1e_owner) )
+            case -1:
+                    return 0;
+            default:
+                ASSERT_UNREACHABLE();
+            }
+        }
+        else if ( l1f & _PAGE_RW )
+        {
 #ifndef NDEBUG
-        if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
-             ((ro_map = pci_get_ro_map(seg)) != NULL &&
-              test_bit(bdf, ro_map)) )
-            printk(XENLOG_G_WARNING
-                   "d%d: Forcing read-only access to MFN %lx\n",
-                   l1e_owner->domain_id, mfn);
-        else
-            rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
-                                   print_mmio_emul_range,
-                                   &(struct mmio_emul_range_ctxt){
-                                      .d = l1e_owner,
-                                      .mfn = mfn });
+            const unsigned long *ro_map;
+            unsigned int seg, bdf;
+
+            if ( !pci_mmcfg_decode(mfn, &seg, &bdf) ||
+                 ((ro_map = pci_get_ro_map(seg)) != NULL &&
+                  test_bit(bdf, ro_map)) )
+                printk(XENLOG_G_WARNING
+                       "d%d: Forcing read-only access to MFN %lx\n",
+                       l1e_owner->domain_id, mfn);
+            else
+                rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL,
+                                       print_mmio_emul_range,
+                                       &(struct mmio_emul_range_ctxt){
+                                           .d = l1e_owner,
+                                           .mfn = mfn });
 #endif
-        return 1;
+            flip = _PAGE_RW;
+        }
+
+        switch ( l1f & PAGE_CACHE_ATTRS )
+        {
+        case 0: /* WB */
+            flip |= _PAGE_PWT | _PAGE_PCD;
+            break;
+        case _PAGE_PWT: /* WT */
+        case _PAGE_PWT | _PAGE_PAT: /* WP */
+            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+            break;
+        }
+
+        return flip;
     }
 
     if ( unlikely( (real_pg_owner != pg_owner) &&
@@ -1243,8 +1283,9 @@ static int alloc_l1_table(struct page_info *page)
                 goto fail;
             case 0:
                 break;
-            case 1:
-                l1e_remove_flags(pl1e[i], _PAGE_RW);
+            case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+                ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+                l1e_flip_flags(pl1e[i], ret);
                 break;
             }
 
@@ -1759,8 +1800,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return -EINVAL;
         }
 
-        /* Fast path for identical mapping, r/w and presence. */
-        if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) )
+        /* Fast path for identical mapping, r/w, presence, and cachability. */
+        if ( !l1e_has_changed(ol1e, nl1e,
+                              PAGE_CACHE_ATTRS | _PAGE_RW | _PAGE_PRESENT) )
         {
             adjust_guest_l1e(nl1e, pt_dom);
             if ( UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, pt_vcpu,
@@ -1783,8 +1825,9 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e,
             return rc;
         case 0:
             break;
-        case 1:
-            l1e_remove_flags(nl1e, _PAGE_RW);
+        case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+            ASSERT(!(rc & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+            l1e_flip_flags(nl1e, rc);
             rc = 0;
             break;
         }
@@ -5000,6 +5043,7 @@ static int ptwr_emulated_update(
     l1_pgentry_t pte, ol1e, nl1e, *pl1e;
     struct vcpu *v = current;
     struct domain *d = v->domain;
+    int ret;
 
     /* Only allow naturally-aligned stores within the original %cr2 page. */
     if ( unlikely(((addr^ptwr_ctxt->cr2) & PAGE_MASK) || (addr & (bytes-1))) )
@@ -5047,7 +5091,7 @@ static int ptwr_emulated_update(
 
     /* Check the new PTE. */
     nl1e = l1e_from_intpte(val);
-    switch ( get_page_from_l1e(nl1e, d, d) )
+    switch ( ret = get_page_from_l1e(nl1e, d, d) )
     {
     default:
         if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
@@ -5071,8 +5115,9 @@ static int ptwr_emulated_update(
         break;
     case 0:
         break;
-    case 1:
-        l1e_remove_flags(nl1e, _PAGE_RW);
+    case _PAGE_RW ... _PAGE_RW | PAGE_CACHE_ATTRS:
+        ASSERT(!(ret & ~(_PAGE_RW | PAGE_CACHE_ATTRS)));
+        l1e_flip_flags(nl1e, ret);
         break;
     }
 
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index 709920a..ab1f35d 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -107,6 +107,8 @@ static unsigned long p2m_type_to_flags(p2m_type_t t, mfn_t mfn)
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
             flags |= _PAGE_RW;
+        else
+            flags |= _PAGE_PWT;
         return flags | P2M_BASE_FLAGS | _PAGE_PCD;
     }
 }
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 22081a1..43c9488 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -519,6 +519,7 @@ _sh_propagate(struct vcpu *v,
     gfn_t target_gfn = guest_l1e_get_gfn(guest_entry);
     u32 pass_thru_flags;
     u32 gflags, sflags;
+    bool_t mmio_mfn;
 
     /* We don't shadow PAE l3s */
     ASSERT(GUEST_PAGING_LEVELS > 3 || level != 3);
@@ -559,7 +560,10 @@ _sh_propagate(struct vcpu *v,
     // mfn means that we can not usefully shadow anything, and so we
     // return early.
     //
-    if ( !mfn_valid(target_mfn)
+    mmio_mfn = !mfn_valid(target_mfn)
+               || (level == 1
+                   && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
+    if ( mmio_mfn
          && !(level == 1 && (!shadow_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
@@ -577,7 +581,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_supports_nx(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( !shadow_mode_refcounts(d) && !mfn_valid(target_mfn) )
+    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
     sflags = gflags & pass_thru_flags;
 
@@ -676,10 +680,14 @@ _sh_propagate(struct vcpu *v,
     }
 
     /* Read-only memory */
-    if ( p2m_is_readonly(p2mt) ||
-         (p2mt == p2m_mmio_direct &&
-          rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn))) )
+    if ( p2m_is_readonly(p2mt) )
         sflags &= ~_PAGE_RW;
+    else if ( p2mt == p2m_mmio_direct &&
+              rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
+    {
+        sflags &= ~(_PAGE_RW | _PAGE_PAT);
+        sflags |= _PAGE_PCD | _PAGE_PWT;
+    }
 
     // protect guest page tables
     //
@@ -1185,22 +1193,28 @@ static int shadow_set_l1e(struct domain *d,
          && !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) ) {
+        if ( shadow_mode_refcounts(d) )
+        {
+#define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
+            int rc;
+
             TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_SHADOW_L1_GET_REF);
-            switch ( shadow_get_page_from_l1e(new_sl1e, d, new_type) )
+            switch ( rc = shadow_get_page_from_l1e(new_sl1e, d, new_type) )
             {
             default:
                 /* Doesn't look like a pagetable. */
                 flags |= SHADOW_SET_ERROR;
                 new_sl1e = shadow_l1e_empty();
                 break;
-            case 1:
-                shadow_l1e_remove_flags(new_sl1e, _PAGE_RW);
+            case PAGE_FLIPPABLE & -PAGE_FLIPPABLE ... PAGE_FLIPPABLE:
+                ASSERT(!(rc & ~PAGE_FLIPPABLE));
+                new_sl1e = shadow_l1e_flip_flags(new_sl1e, rc);
                 /* fall through */
             case 0:
                 shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
                 break;
             }
+#undef PAGE_FLIPPABLE
         }
     }
 
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index 9bc369f..6d0562e 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -99,6 +99,9 @@ static inline u32 shadow_l4e_get_flags(shadow_l4e_t sl4e)
 static inline shadow_l1e_t
 shadow_l1e_remove_flags(shadow_l1e_t sl1e, u32 flags)
 { l1e_remove_flags(sl1e, flags); return sl1e; }
+static inline shadow_l1e_t
+shadow_l1e_flip_flags(shadow_l1e_t sl1e, u32 flags)
+{ l1e_flip_flags(sl1e, flags); return sl1e; }
 
 static inline shadow_l1e_t shadow_l1e_empty(void)
 { return l1e_empty(); }
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 87b3341..66b611c 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -157,6 +157,9 @@ static inline l4_pgentry_t l4e_from_paddr(paddr_t pa, unsigned int flags)
 #define l3e_remove_flags(x, flags) ((x).l3 &= ~put_pte_flags(flags))
 #define l4e_remove_flags(x, flags) ((x).l4 &= ~put_pte_flags(flags))
 
+/* Flip flags in an existing L1 PTE. */
+#define l1e_flip_flags(x, flags)    ((x).l1 ^= put_pte_flags(flags))
+
 /* Check if a pte's page mapping or significant access flags have changed. */
 #define l1e_has_changed(x,y,flags) \
     ( !!(((x).l1 ^ (y).l1) & ((PADDR_MASK&PAGE_MASK)|put_pte_flags(flags))) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2f-000097-O7; Thu, 25 Feb 2016 00:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2e-00008x-Ez
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:28 +0000
Content-Length: 4422
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	CB/BF-02987-B6E4EC65; Thu, 25 Feb 2016 00:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456361065!26537587!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26864 invoked from network); 25 Feb 2016 00:44:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2b-0001MK-Jf
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2b-0003Km-G4
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2b-0003Km-G4@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:25 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7353102585942163775=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============7353102585942163775==
Content-Length: 4064
Content-Transfer-Encoding: quoted-printable

commit f7bb277a2415010ae238e96ae29069167ba5679b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:32:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:32:11 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 404dcfe..d75d024 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2879,7 +2879,7 @@ static int vmx_handle_apic_write(void)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3468,6 +3468,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6


--===============7353102585942163775==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============7353102585942163775==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:29 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2f-000097-O7; Thu, 25 Feb 2016 00:44:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2e-00008x-Ez
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:28 +0000
Content-Length: 4422
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
	CB/BF-02987-B6E4EC65; Thu, 25 Feb 2016 00:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456361065!26537587!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26864 invoked from network); 25 Feb 2016 00:44:26 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2b-0001MK-Jf
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2b-0003Km-G4
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2b-0003Km-G4@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:25 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/VMX: sanitize rIP before
	re-entering guest
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7353102585942163775=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============7353102585942163775==
Content-Length: 4064
Content-Transfer-Encoding: quoted-printable

commit f7bb277a2415010ae238e96ae29069167ba5679b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:32:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:32:11 2016 +0100

    x86/VMX: sanitize rIP before re-entering guest
    
    ... to prevent guest user mode arranging for a guest crash (due to
    failed VM entry). (On the AMD system I checked, hardware is doing
    exactly the canonicalization being added here.)
    
    Note that fixing this in an architecturally correct way would be quite
    a bit more involved: Making the x86 instruction emulator check all
    branch targets for validity, plus dealing with invalid rIP resulting
    from update_guest_eip() or incoming directly during a VM exit. The only
    way to get the latter right would be by not having hardware do the
    injection.
    
    Note further that there are a two early returns from
    vmx_vmexit_handler(): One (through vmx_failed_vmentry()) leads to
    domain_crash() anyway, and the other covers real mode only and can
    neither occur with a non-canonical rIP nor result in an altered rIP,
    so we don't need to force those paths through the checking logic.
    
    This is CVE-2016-2271 / XSA-170.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: ffbbfda37782a2408953af1a3e00ada80bb141bc
    master date: 2016-02-17 16:18:08 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 404dcfe..d75d024 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2879,7 +2879,7 @@ static int vmx_handle_apic_write(void)
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info =3D 0;
-    unsigned int vector =3D 0;
+    unsigned int vector =3D 0, mode;
     struct vcpu *v =3D current;
 
     __vmread(GUEST_RIP,    &regs->rip);
@@ -3468,6 +3468,41 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 out:
     if ( nestedhvm_vcpu_in_guestmode(v) )
         nvmx_idtv_handling();
+
+    /*
+     * VM entry will fail (causing the guest to get crashed) if rIP (and
+     * rFLAGS, but we don't have an issue there) doesn't meet certain
+     * criteria. As we must not allow less than fully privileged mode to have
+     * such an effect on the domain, we correct rIP in that case (accepting
+     * this not being architecturally correct behavior, as the injected #GP
+     * fault will then not see the correct [invalid] return address).
+     * And since we know the guest will crash, we crash it right away if it
+     * already is in most privileged mode.
+     */
+    mode =3D vmx_guest_x86_mode(v);
+    if ( mode =3D=3D 8 =3F !is_canonical_address(regs->rip)
+                   : regs->rip !=3D regs->_eip )
+    {
+        struct segment_register ss;
+
+        gprintk(XENLOG_WARNING, "Bad rIP %lx for mode %u\n", regs->rip, mode);
+
+        vmx_get_segment_register(v, x86_seg_ss, &ss);
+        if ( ss.attr.fields.dpl )
+        {
+            __vmread(VM_ENTRY_INTR_INFO, &intr_info);
+            if ( !(intr_info & INTR_INFO_VALID_MASK) )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            /* Need to fix rIP nevertheless. */
+            if ( mode =3D=3D 8 )
+                regs->rip =3D (long)(regs->rip << (64 - VADDR_BITS)) >>
+                            (64 - VADDR_BITS);
+            else
+                regs->rip =3D regs->_eip;
+        }
+        else
+            domain_crash(v->domain);
+    }
 }
 
 void vmx_vmenter_helper(const struct cpu_user_regs *regs)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6


--===============7353102585942163775==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============7353102585942163775==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2p-0000AK-TR; Thu, 25 Feb 2016 00:44:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2o-0000AB-Ef
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:38 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	3D/D7-04025-57E4EC65; Thu, 25 Feb 2016 00:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456361076!24819359!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13358 invoked from network); 25 Feb 2016 00:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2l-0001MX-VE
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2l-0003Mk-Rk
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2l-0003Mk-Rk@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:35 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/HVM: don't inject #DB with
	error code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae0034b4fa6abe3606311b9b89769c0549c36a9d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:32:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:32:53 2016 +0100

    x86/HVM: don't inject #DB with error code
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper@citrix.com>
    master commit: 057e0e72d2a5d598087c5f167ec6a13203a3cf65
    master date: 2015-11-12 16:59:18 +0100
---
 xen/arch/x86/hvm/hvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 186e01e..34e7b95 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4071,7 +4071,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_hw_exception(TRAP_debug, tss_sel & 0xfff8);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk2p-0000AK-TR; Thu, 25 Feb 2016 00:44:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2o-0000AB-Ef
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:38 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	3D/D7-04025-57E4EC65; Thu, 25 Feb 2016 00:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456361076!24819359!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13358 invoked from network); 25 Feb 2016 00:44:37 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2l-0001MX-VE
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2l-0003Mk-Rk
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2l-0003Mk-Rk@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:35 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/HVM: don't inject #DB with
	error code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ae0034b4fa6abe3606311b9b89769c0549c36a9d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:32:53 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:32:53 2016 +0100

    x86/HVM: don't inject #DB with error code
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper@citrix.com>
    master commit: 057e0e72d2a5d598087c5f167ec6a13203a3cf65
    master date: 2015-11-12 16:59:18 +0100
---
 xen/arch/x86/hvm/hvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 186e01e..34e7b95 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4071,7 +4071,7 @@ void hvm_task_switch(
         goto out;
 
     if ( (tss.trace & 1) && !exn_raised )
-        hvm_inject_hw_exception(TRAP_debug, tss_sel & 0xfff8);
+        hvm_inject_hw_exception(TRAP_debug, HVM_DELIVER_NO_ERROR_CODE);
 
     tr.attr.fields.type = 0xb; /* busy 32-bit tss */
     hvm_set_segment_register(v, x86_seg_tr, &tr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk30-0000Bj-0c; Thu, 25 Feb 2016 00:44:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2y-0000BZ-V2
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:49 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	9A/58-03443-08E4EC65; Thu, 25 Feb 2016 00:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456361086!15227238!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61718 invoked from network); 25 Feb 2016 00:44:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2w-0001Mf-Dd
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2w-0003Os-8x
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2w-0003Os-8x@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:46 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mm: add information about
	faulted page's presence to npfec structure
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d37c6d38f80411dee12bd0d6b126ebbbd0daa9ea
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Feb 17 16:33:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:33:59 2016 +0100

    x86/mm: add information about faulted page's presence to npfec structure
    
    This is provided explicitly in SVM and implicitly in VMX (when neither of
    the three EPT_EFFECTIVE_* bits is set).
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 1a966b46a0b699190c1b634c7daee848e02cce37
    master date: 2015-12-21 13:38:53 +0100
---
 xen/arch/x86/hvm/svm/svm.c | 3 ++-
 xen/arch/x86/hvm/vmx/vmx.c | 5 ++++-
 xen/include/xen/mm.h       | 1 +
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 364185a..74fb733 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1467,7 +1467,8 @@ static void svm_do_nested_pgfault(struct vcpu *v,
     struct npfec npfec = {
         .read_access = !(pfec & PFEC_insn_fetch),
         .write_access = !!(pfec & PFEC_write_access),
-        .insn_fetch = !!(pfec & PFEC_insn_fetch)
+        .insn_fetch = !!(pfec & PFEC_insn_fetch),
+        .present = !!(pfec & PFEC_page_present),
     };
 
     /* These bits are mutually exclusive */
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d75d024..b38c1ae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2627,7 +2627,10 @@ static void ept_handle_violation(unsigned long qualification, paddr_t gpa)
         .read_access = !!(qualification & EPT_READ_VIOLATION) ||
                        !!(qualification & EPT_WRITE_VIOLATION),
         .write_access = !!(qualification & EPT_WRITE_VIOLATION),
-        .insn_fetch = !!(qualification & EPT_EXEC_VIOLATION)
+        .insn_fetch = !!(qualification & EPT_EXEC_VIOLATION),
+        .present = !!(qualification & (EPT_EFFECTIVE_READ |
+                                       EPT_EFFECTIVE_WRITE |
+                                       EPT_EFFECTIVE_EXEC))
     };
 
     if ( tb_init_done )
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 5d4b64b..a795dd6 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -159,6 +159,7 @@ struct npfec {
     unsigned int read_access:1;
     unsigned int write_access:1;
     unsigned int insn_fetch:1;
+    unsigned int present:1;
     unsigned int gla_valid:1;
     unsigned int kind:2;  /* npfec_kind_t */
 };
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:44:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:44:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk30-0000Bj-0c; Thu, 25 Feb 2016 00:44:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2y-0000BZ-V2
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:49 +0000
Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id
	9A/58-03443-08E4EC65; Thu, 25 Feb 2016 00:44:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456361086!15227238!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61718 invoked from network); 25 Feb 2016 00:44:47 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2w-0001Mf-Dd
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk2w-0003Os-8x
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk2w-0003Os-8x@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:46 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mm: add information about
	faulted page's presence to npfec structure
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d37c6d38f80411dee12bd0d6b126ebbbd0daa9ea
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Feb 17 16:33:59 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:33:59 2016 +0100

    x86/mm: add information about faulted page's presence to npfec structure
    
    This is provided explicitly in SVM and implicitly in VMX (when neither of
    the three EPT_EFFECTIVE_* bits is set).
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 1a966b46a0b699190c1b634c7daee848e02cce37
    master date: 2015-12-21 13:38:53 +0100
---
 xen/arch/x86/hvm/svm/svm.c | 3 ++-
 xen/arch/x86/hvm/vmx/vmx.c | 5 ++++-
 xen/include/xen/mm.h       | 1 +
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 364185a..74fb733 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1467,7 +1467,8 @@ static void svm_do_nested_pgfault(struct vcpu *v,
     struct npfec npfec = {
         .read_access = !(pfec & PFEC_insn_fetch),
         .write_access = !!(pfec & PFEC_write_access),
-        .insn_fetch = !!(pfec & PFEC_insn_fetch)
+        .insn_fetch = !!(pfec & PFEC_insn_fetch),
+        .present = !!(pfec & PFEC_page_present),
     };
 
     /* These bits are mutually exclusive */
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d75d024..b38c1ae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2627,7 +2627,10 @@ static void ept_handle_violation(unsigned long qualification, paddr_t gpa)
         .read_access = !!(qualification & EPT_READ_VIOLATION) ||
                        !!(qualification & EPT_WRITE_VIOLATION),
         .write_access = !!(qualification & EPT_WRITE_VIOLATION),
-        .insn_fetch = !!(qualification & EPT_EXEC_VIOLATION)
+        .insn_fetch = !!(qualification & EPT_EXEC_VIOLATION),
+        .present = !!(qualification & (EPT_EFFECTIVE_READ |
+                                       EPT_EFFECTIVE_WRITE |
+                                       EPT_EFFECTIVE_EXEC))
     };
 
     if ( tb_init_done )
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 5d4b64b..a795dd6 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -159,6 +159,7 @@ struct npfec {
     unsigned int read_access:1;
     unsigned int write_access:1;
     unsigned int insn_fetch:1;
+    unsigned int present:1;
     unsigned int gla_valid:1;
     unsigned int kind:2;  /* npfec_kind_t */
 };
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3B-0000E3-7n; Thu, 25 Feb 2016 00:45:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3A-0000Dt-1b
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:00 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	FB/1D-02989-B8E4EC65; Thu, 25 Feb 2016 00:44:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1456361097!26414472!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17448 invoked from network); 25 Feb 2016 00:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk36-0001Mn-Sk
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk36-0003RG-O8
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk36-0003RG-O8@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:56 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/PCI: intercept accesses to RO
	MMIO from dom0s in HVM containers
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 717e8823a77bcb222630dd05eb530f66aa58d1e4
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Feb 17 16:34:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:34:33 2016 +0100

    x86/PCI: intercept accesses to RO MMIO from dom0s in HVM containers
    
    Commit 9256f66c1606 ("x86/PCI: intercept all PV Dom0 MMCFG writes")
    added intercepts for writes to RO MMCFG space from PV dom0.
    
    Similar functionality, including access to RO non-MMCFG addresses, is
    needed by dom0s in HVM containers (such as PVH and, in the future,
    HVMlite).
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 33c19df9a5a097ad47c4e97dccc2aa3afa4b381d
    master date: 2015-12-21 14:05:02 +0100
---
 xen/arch/x86/hvm/emulate.c             | 46 +++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c                 |  8 +++++
 xen/arch/x86/mm.c                      | 58 +++++++++++-----------------------
 xen/arch/x86/x86_64/mmconfig_64.c      | 10 ++++++
 xen/arch/x86/x86_emulate/x86_emulate.c | 10 ++++++
 xen/arch/x86/x86_emulate/x86_emulate.h | 12 +++++++
 xen/include/asm-x86/hvm/emulate.h      |  1 +
 xen/include/asm-x86/mm.h               | 17 ++++++++++
 xen/include/asm-x86/pci.h              |  3 ++
 9 files changed, 126 insertions(+), 39 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 30acb78..856a814 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1778,6 +1778,52 @@ int hvm_emulate_one_no_write(
     return _hvm_emulate_one(hvmemul_ctxt, &hvm_emulate_ops_no_write);
 }
 
+int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla)
+{
+    static const struct x86_emulate_ops hvm_intercept_ops_mmcfg = {
+        .read       = x86emul_unhandleable_rw,
+        .insn_fetch = hvmemul_insn_fetch,
+        .write      = mmcfg_intercept_write,
+    };
+    static const struct x86_emulate_ops hvm_ro_emulate_ops_mmio = {
+        .read       = x86emul_unhandleable_rw,
+        .insn_fetch = hvmemul_insn_fetch,
+        .write      = mmio_ro_emulated_write
+    };
+    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla };
+    struct hvm_emulate_ctxt ctxt;
+    const struct x86_emulate_ops *ops;
+    unsigned int seg, bdf;
+    int rc;
+
+    if ( pci_ro_mmcfg_decode(mfn, &seg, &bdf) )
+    {
+        mmio_ro_ctxt.seg = seg;
+        mmio_ro_ctxt.bdf = bdf;
+        ops = &hvm_intercept_ops_mmcfg;
+    }
+    else
+        ops = &hvm_ro_emulate_ops_mmio;
+
+    hvm_emulate_prepare(&ctxt, guest_cpu_user_regs());
+    ctxt.ctxt.data = &mmio_ro_ctxt;
+    rc = _hvm_emulate_one(&ctxt, ops);
+    switch ( rc )
+    {
+    case X86EMUL_UNHANDLEABLE:
+        hvm_dump_emulation_state(XENLOG_G_WARNING "MMCFG", &ctxt);
+        break;
+    case X86EMUL_EXCEPTION:
+        if ( ctxt.exn_pending )
+            hvm_inject_trap(&ctxt.trap);
+        /* fallthrough */
+    default:
+        hvm_emulate_writeback(&ctxt);
+    }
+
+    return rc;
+}
+
 void hvm_mem_access_emulate_one(enum emul_kind kind, unsigned int trapnr,
     unsigned int errcode)
 {
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 34e7b95..e200aab 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3089,6 +3089,14 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
         goto out_put_gfn;
     }
 
+    if ( (p2mt == p2m_mmio_direct) && is_hardware_domain(currd) &&
+         npfec.write_access && npfec.present &&
+         (hvm_emulate_one_mmio(mfn_x(mfn), gla) == X86EMUL_OKAY) )
+    {
+        rc = 1;
+        goto out_put_gfn;
+    }
+
     /* If we fell through, the vcpu will retry now that access restrictions have
      * been removed. It may fault again if the p2m entry type still requires so.
      * Otherwise, this is an error condition. */
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index c96b462..1800f33 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5275,31 +5275,14 @@ int ptwr_do_page_fault(struct vcpu *v, unsigned long addr,
  * fault handling for read-only MMIO pages
  */
 
-struct mmio_ro_emulate_ctxt {
-    struct x86_emulate_ctxt ctxt;
-    unsigned long cr2;
-    unsigned int seg, bdf;
-};
-
-static int mmio_ro_emulated_read(
-    enum x86_segment seg,
-    unsigned long offset,
-    void *p_data,
-    unsigned int bytes,
-    struct x86_emulate_ctxt *ctxt)
-{
-    return X86EMUL_UNHANDLEABLE;
-}
-
-static int mmio_ro_emulated_write(
+int mmio_ro_emulated_write(
     enum x86_segment seg,
     unsigned long offset,
     void *p_data,
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    struct mmio_ro_emulate_ctxt *mmio_ro_ctxt =
-        container_of(ctxt, struct mmio_ro_emulate_ctxt, ctxt);
+    struct mmio_ro_emulate_ctxt *mmio_ro_ctxt = ctxt->data;
 
     /* Only allow naturally-aligned stores at the original %cr2 address. */
     if ( ((bytes | offset) & (bytes - 1)) || offset != mmio_ro_ctxt->cr2 )
@@ -5313,20 +5296,19 @@ static int mmio_ro_emulated_write(
 }
 
 static const struct x86_emulate_ops mmio_ro_emulate_ops = {
-    .read       = mmio_ro_emulated_read,
+    .read       = x86emul_unhandleable_rw,
     .insn_fetch = ptwr_emulated_read,
     .write      = mmio_ro_emulated_write,
 };
 
-static int mmio_intercept_write(
+int mmcfg_intercept_write(
     enum x86_segment seg,
     unsigned long offset,
     void *p_data,
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    struct mmio_ro_emulate_ctxt *mmio_ctxt =
-        container_of(ctxt, struct mmio_ro_emulate_ctxt, ctxt);
+    struct mmio_ro_emulate_ctxt *mmio_ctxt = ctxt->data;
 
     /*
      * Only allow naturally-aligned stores no wider than 4 bytes to the
@@ -5335,7 +5317,7 @@ static int mmio_intercept_write(
     if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 ||
          offset != mmio_ctxt->cr2 )
     {
-        MEM_LOG("mmio_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
+        MEM_LOG("mmcfg_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
                 mmio_ctxt->cr2, offset, bytes);
         return X86EMUL_UNHANDLEABLE;
     }
@@ -5350,10 +5332,10 @@ static int mmio_intercept_write(
     return X86EMUL_OKAY;
 }
 
-static const struct x86_emulate_ops mmio_intercept_ops = {
-    .read       = mmio_ro_emulated_read,
+static const struct x86_emulate_ops mmcfg_intercept_ops = {
+    .read       = x86emul_unhandleable_rw,
     .insn_fetch = ptwr_emulated_read,
-    .write      = mmio_intercept_write,
+    .write      = mmcfg_intercept_write,
 };
 
 /* Check if guest is trying to modify a r/o MMIO page. */
@@ -5363,14 +5345,14 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     l1_pgentry_t pte;
     unsigned long mfn;
     unsigned int addr_size = is_pv_32bit_vcpu(v) ? 32 : BITS_PER_LONG;
-    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = {
-        .ctxt.regs = regs,
-        .ctxt.addr_size = addr_size,
-        .ctxt.sp_size = addr_size,
-        .ctxt.swint_emulate = x86_swint_emulate_none,
-        .cr2 = addr
+    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = addr };
+    struct x86_emulate_ctxt ctxt = {
+        .regs = regs,
+        .addr_size = addr_size,
+        .sp_size = addr_size,
+        .swint_emulate = x86_swint_emulate_none,
+        .data = &mmio_ro_ctxt
     };
-    const unsigned long *ro_map;
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
@@ -5395,12 +5377,10 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
         return 0;
 
-    if ( pci_mmcfg_decode(mfn, &mmio_ro_ctxt.seg, &mmio_ro_ctxt.bdf) &&
-         ((ro_map = pci_get_ro_map(mmio_ro_ctxt.seg)) == NULL ||
-          !test_bit(mmio_ro_ctxt.bdf, ro_map)) )
-        rc = x86_emulate(&mmio_ro_ctxt.ctxt, &mmio_intercept_ops);
+    if ( pci_ro_mmcfg_decode(mfn, &mmio_ro_ctxt.seg, &mmio_ro_ctxt.bdf) )
+        rc = x86_emulate(&ctxt, &mmcfg_intercept_ops);
     else
-        rc = x86_emulate(&mmio_ro_ctxt.ctxt, &mmio_ro_emulate_ops);
+        rc = x86_emulate(&ctxt, &mmio_ro_emulate_ops);
 
     return rc != X86EMUL_UNHANDLEABLE ? EXCRET_fault_fixed : 0;
 }
diff --git a/xen/arch/x86/x86_64/mmconfig_64.c b/xen/arch/x86/x86_64/mmconfig_64.c
index 1f9a996..7618d67 100644
--- a/xen/arch/x86/x86_64/mmconfig_64.c
+++ b/xen/arch/x86/x86_64/mmconfig_64.c
@@ -198,6 +198,16 @@ bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
     return 0;
 }
 
+bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                           unsigned int *bdf)
+{
+    const unsigned long *ro_map;
+
+    return pci_mmcfg_decode(mfn, seg, bdf) &&
+           ((ro_map = pci_get_ro_map(*seg)) == NULL ||
+             !test_bit(*bdf, ro_map));
+}
+
 int __init pci_mmcfg_arch_init(void)
 {
     int i;
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index f1454ce..56aef3e 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1444,6 +1444,16 @@ static int inject_swint(enum x86_swint_type type,
     return ops->inject_hw_exception(fault_type, error_code, ctxt);
 }
 
+int x86emul_unhandleable_rw(
+    enum x86_segment seg,
+    unsigned long offset,
+    void *p_data,
+    unsigned int bytes,
+    struct x86_emulate_ctxt *ctxt)
+{
+    return X86EMUL_UNHANDLEABLE;
+}
+
 int
 x86_emulate(
     struct x86_emulate_ctxt *ctxt,
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index cfac09b..9e4bca9 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -430,6 +430,9 @@ struct x86_emulate_ctxt
         } flags;
         uint8_t byte;
     } retire;
+
+    /* Caller data that can be used by x86_emulate_ops' routines. */
+    void *data;
 };
 
 struct x86_emulate_stub {
@@ -463,4 +466,13 @@ void *
 decode_register(
     uint8_t modrm_reg, struct cpu_user_regs *regs, int highbyte_regs);
 
+/* Unhandleable read, write or instruction fetch */
+int
+x86emul_unhandleable_rw(
+    enum x86_segment seg,
+    unsigned long offset,
+    void *p_data,
+    unsigned int bytes,
+    struct x86_emulate_ctxt *ctxt);
+
 #endif /* __X86_EMULATE_H__ */
diff --git a/xen/include/asm-x86/hvm/emulate.h b/xen/include/asm-x86/hvm/emulate.h
index 49134b5..142d1b6 100644
--- a/xen/include/asm-x86/hvm/emulate.h
+++ b/xen/include/asm-x86/hvm/emulate.h
@@ -57,6 +57,7 @@ void hvm_emulate_writeback(
 struct segment_register *hvmemul_get_seg_reg(
     enum x86_segment seg,
     struct hvm_emulate_ctxt *hvmemul_ctxt);
+int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla);
 
 int hvmemul_do_pio_buffer(uint16_t port,
                           unsigned int size,
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 67b34c6..b4075e6 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -7,6 +7,7 @@
 #include <xen/spinlock.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
+#include <asm/x86_emulate.h>
 
 /*
  * Per-page-frame information.
@@ -488,6 +489,22 @@ void memguard_unguard_range(void *p, unsigned long l);
 void memguard_guard_stack(void *p);
 void memguard_unguard_stack(void *p);
 
+struct mmio_ro_emulate_ctxt {
+        unsigned long cr2;
+        unsigned int seg, bdf;
+};
+
+extern int mmio_ro_emulated_write(enum x86_segment seg,
+                                  unsigned long offset,
+                                  void *p_data,
+                                  unsigned int bytes,
+                                  struct x86_emulate_ctxt *ctxt);
+extern int mmcfg_intercept_write(enum x86_segment seg,
+                                 unsigned long offset,
+                                 void *p_data,
+                                 unsigned int bytes,
+                                 struct x86_emulate_ctxt *ctxt);
+
 int  ptwr_do_page_fault(struct vcpu *, unsigned long,
                         struct cpu_user_regs *);
 int  mmio_ro_do_page_fault(struct vcpu *, unsigned long,
diff --git a/xen/include/asm-x86/pci.h b/xen/include/asm-x86/pci.h
index 38ace79..36801d3 100644
--- a/xen/include/asm-x86/pci.h
+++ b/xen/include/asm-x86/pci.h
@@ -23,4 +23,7 @@ int pci_msi_conf_write_intercept(struct pci_dev *, unsigned int reg,
 bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
                         unsigned int *bdf);
 
+bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                           unsigned int *bdf);
+
 #endif /* __X86_PCI_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:01 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3B-0000E3-7n; Thu, 25 Feb 2016 00:45:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3A-0000Dt-1b
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:00 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
	FB/1D-02989-B8E4EC65; Thu, 25 Feb 2016 00:44:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1456361097!26414472!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17448 invoked from network); 25 Feb 2016 00:44:58 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:44:58 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk36-0001Mn-Sk
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk36-0003RG-O8
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:44:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk36-0003RG-O8@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:44:56 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/PCI: intercept accesses to RO
	MMIO from dom0s in HVM containers
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 717e8823a77bcb222630dd05eb530f66aa58d1e4
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Feb 17 16:34:33 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:34:33 2016 +0100

    x86/PCI: intercept accesses to RO MMIO from dom0s in HVM containers
    
    Commit 9256f66c1606 ("x86/PCI: intercept all PV Dom0 MMCFG writes")
    added intercepts for writes to RO MMCFG space from PV dom0.
    
    Similar functionality, including access to RO non-MMCFG addresses, is
    needed by dom0s in HVM containers (such as PVH and, in the future,
    HVMlite).
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 33c19df9a5a097ad47c4e97dccc2aa3afa4b381d
    master date: 2015-12-21 14:05:02 +0100
---
 xen/arch/x86/hvm/emulate.c             | 46 +++++++++++++++++++++++++++
 xen/arch/x86/hvm/hvm.c                 |  8 +++++
 xen/arch/x86/mm.c                      | 58 +++++++++++-----------------------
 xen/arch/x86/x86_64/mmconfig_64.c      | 10 ++++++
 xen/arch/x86/x86_emulate/x86_emulate.c | 10 ++++++
 xen/arch/x86/x86_emulate/x86_emulate.h | 12 +++++++
 xen/include/asm-x86/hvm/emulate.h      |  1 +
 xen/include/asm-x86/mm.h               | 17 ++++++++++
 xen/include/asm-x86/pci.h              |  3 ++
 9 files changed, 126 insertions(+), 39 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 30acb78..856a814 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1778,6 +1778,52 @@ int hvm_emulate_one_no_write(
     return _hvm_emulate_one(hvmemul_ctxt, &hvm_emulate_ops_no_write);
 }
 
+int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla)
+{
+    static const struct x86_emulate_ops hvm_intercept_ops_mmcfg = {
+        .read       = x86emul_unhandleable_rw,
+        .insn_fetch = hvmemul_insn_fetch,
+        .write      = mmcfg_intercept_write,
+    };
+    static const struct x86_emulate_ops hvm_ro_emulate_ops_mmio = {
+        .read       = x86emul_unhandleable_rw,
+        .insn_fetch = hvmemul_insn_fetch,
+        .write      = mmio_ro_emulated_write
+    };
+    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla };
+    struct hvm_emulate_ctxt ctxt;
+    const struct x86_emulate_ops *ops;
+    unsigned int seg, bdf;
+    int rc;
+
+    if ( pci_ro_mmcfg_decode(mfn, &seg, &bdf) )
+    {
+        mmio_ro_ctxt.seg = seg;
+        mmio_ro_ctxt.bdf = bdf;
+        ops = &hvm_intercept_ops_mmcfg;
+    }
+    else
+        ops = &hvm_ro_emulate_ops_mmio;
+
+    hvm_emulate_prepare(&ctxt, guest_cpu_user_regs());
+    ctxt.ctxt.data = &mmio_ro_ctxt;
+    rc = _hvm_emulate_one(&ctxt, ops);
+    switch ( rc )
+    {
+    case X86EMUL_UNHANDLEABLE:
+        hvm_dump_emulation_state(XENLOG_G_WARNING "MMCFG", &ctxt);
+        break;
+    case X86EMUL_EXCEPTION:
+        if ( ctxt.exn_pending )
+            hvm_inject_trap(&ctxt.trap);
+        /* fallthrough */
+    default:
+        hvm_emulate_writeback(&ctxt);
+    }
+
+    return rc;
+}
+
 void hvm_mem_access_emulate_one(enum emul_kind kind, unsigned int trapnr,
     unsigned int errcode)
 {
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 34e7b95..e200aab 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3089,6 +3089,14 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
         goto out_put_gfn;
     }
 
+    if ( (p2mt == p2m_mmio_direct) && is_hardware_domain(currd) &&
+         npfec.write_access && npfec.present &&
+         (hvm_emulate_one_mmio(mfn_x(mfn), gla) == X86EMUL_OKAY) )
+    {
+        rc = 1;
+        goto out_put_gfn;
+    }
+
     /* If we fell through, the vcpu will retry now that access restrictions have
      * been removed. It may fault again if the p2m entry type still requires so.
      * Otherwise, this is an error condition. */
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index c96b462..1800f33 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5275,31 +5275,14 @@ int ptwr_do_page_fault(struct vcpu *v, unsigned long addr,
  * fault handling for read-only MMIO pages
  */
 
-struct mmio_ro_emulate_ctxt {
-    struct x86_emulate_ctxt ctxt;
-    unsigned long cr2;
-    unsigned int seg, bdf;
-};
-
-static int mmio_ro_emulated_read(
-    enum x86_segment seg,
-    unsigned long offset,
-    void *p_data,
-    unsigned int bytes,
-    struct x86_emulate_ctxt *ctxt)
-{
-    return X86EMUL_UNHANDLEABLE;
-}
-
-static int mmio_ro_emulated_write(
+int mmio_ro_emulated_write(
     enum x86_segment seg,
     unsigned long offset,
     void *p_data,
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    struct mmio_ro_emulate_ctxt *mmio_ro_ctxt =
-        container_of(ctxt, struct mmio_ro_emulate_ctxt, ctxt);
+    struct mmio_ro_emulate_ctxt *mmio_ro_ctxt = ctxt->data;
 
     /* Only allow naturally-aligned stores at the original %cr2 address. */
     if ( ((bytes | offset) & (bytes - 1)) || offset != mmio_ro_ctxt->cr2 )
@@ -5313,20 +5296,19 @@ static int mmio_ro_emulated_write(
 }
 
 static const struct x86_emulate_ops mmio_ro_emulate_ops = {
-    .read       = mmio_ro_emulated_read,
+    .read       = x86emul_unhandleable_rw,
     .insn_fetch = ptwr_emulated_read,
     .write      = mmio_ro_emulated_write,
 };
 
-static int mmio_intercept_write(
+int mmcfg_intercept_write(
     enum x86_segment seg,
     unsigned long offset,
     void *p_data,
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    struct mmio_ro_emulate_ctxt *mmio_ctxt =
-        container_of(ctxt, struct mmio_ro_emulate_ctxt, ctxt);
+    struct mmio_ro_emulate_ctxt *mmio_ctxt = ctxt->data;
 
     /*
      * Only allow naturally-aligned stores no wider than 4 bytes to the
@@ -5335,7 +5317,7 @@ static int mmio_intercept_write(
     if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 ||
          offset != mmio_ctxt->cr2 )
     {
-        MEM_LOG("mmio_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
+        MEM_LOG("mmcfg_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
                 mmio_ctxt->cr2, offset, bytes);
         return X86EMUL_UNHANDLEABLE;
     }
@@ -5350,10 +5332,10 @@ static int mmio_intercept_write(
     return X86EMUL_OKAY;
 }
 
-static const struct x86_emulate_ops mmio_intercept_ops = {
-    .read       = mmio_ro_emulated_read,
+static const struct x86_emulate_ops mmcfg_intercept_ops = {
+    .read       = x86emul_unhandleable_rw,
     .insn_fetch = ptwr_emulated_read,
-    .write      = mmio_intercept_write,
+    .write      = mmcfg_intercept_write,
 };
 
 /* Check if guest is trying to modify a r/o MMIO page. */
@@ -5363,14 +5345,14 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     l1_pgentry_t pte;
     unsigned long mfn;
     unsigned int addr_size = is_pv_32bit_vcpu(v) ? 32 : BITS_PER_LONG;
-    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = {
-        .ctxt.regs = regs,
-        .ctxt.addr_size = addr_size,
-        .ctxt.sp_size = addr_size,
-        .ctxt.swint_emulate = x86_swint_emulate_none,
-        .cr2 = addr
+    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = addr };
+    struct x86_emulate_ctxt ctxt = {
+        .regs = regs,
+        .addr_size = addr_size,
+        .sp_size = addr_size,
+        .swint_emulate = x86_swint_emulate_none,
+        .data = &mmio_ro_ctxt
     };
-    const unsigned long *ro_map;
     int rc;
 
     /* Attempt to read the PTE that maps the VA being accessed. */
@@ -5395,12 +5377,10 @@ int mmio_ro_do_page_fault(struct vcpu *v, unsigned long addr,
     if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn) )
         return 0;
 
-    if ( pci_mmcfg_decode(mfn, &mmio_ro_ctxt.seg, &mmio_ro_ctxt.bdf) &&
-         ((ro_map = pci_get_ro_map(mmio_ro_ctxt.seg)) == NULL ||
-          !test_bit(mmio_ro_ctxt.bdf, ro_map)) )
-        rc = x86_emulate(&mmio_ro_ctxt.ctxt, &mmio_intercept_ops);
+    if ( pci_ro_mmcfg_decode(mfn, &mmio_ro_ctxt.seg, &mmio_ro_ctxt.bdf) )
+        rc = x86_emulate(&ctxt, &mmcfg_intercept_ops);
     else
-        rc = x86_emulate(&mmio_ro_ctxt.ctxt, &mmio_ro_emulate_ops);
+        rc = x86_emulate(&ctxt, &mmio_ro_emulate_ops);
 
     return rc != X86EMUL_UNHANDLEABLE ? EXCRET_fault_fixed : 0;
 }
diff --git a/xen/arch/x86/x86_64/mmconfig_64.c b/xen/arch/x86/x86_64/mmconfig_64.c
index 1f9a996..7618d67 100644
--- a/xen/arch/x86/x86_64/mmconfig_64.c
+++ b/xen/arch/x86/x86_64/mmconfig_64.c
@@ -198,6 +198,16 @@ bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
     return 0;
 }
 
+bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                           unsigned int *bdf)
+{
+    const unsigned long *ro_map;
+
+    return pci_mmcfg_decode(mfn, seg, bdf) &&
+           ((ro_map = pci_get_ro_map(*seg)) == NULL ||
+             !test_bit(*bdf, ro_map));
+}
+
 int __init pci_mmcfg_arch_init(void)
 {
     int i;
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index f1454ce..56aef3e 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1444,6 +1444,16 @@ static int inject_swint(enum x86_swint_type type,
     return ops->inject_hw_exception(fault_type, error_code, ctxt);
 }
 
+int x86emul_unhandleable_rw(
+    enum x86_segment seg,
+    unsigned long offset,
+    void *p_data,
+    unsigned int bytes,
+    struct x86_emulate_ctxt *ctxt)
+{
+    return X86EMUL_UNHANDLEABLE;
+}
+
 int
 x86_emulate(
     struct x86_emulate_ctxt *ctxt,
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index cfac09b..9e4bca9 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -430,6 +430,9 @@ struct x86_emulate_ctxt
         } flags;
         uint8_t byte;
     } retire;
+
+    /* Caller data that can be used by x86_emulate_ops' routines. */
+    void *data;
 };
 
 struct x86_emulate_stub {
@@ -463,4 +466,13 @@ void *
 decode_register(
     uint8_t modrm_reg, struct cpu_user_regs *regs, int highbyte_regs);
 
+/* Unhandleable read, write or instruction fetch */
+int
+x86emul_unhandleable_rw(
+    enum x86_segment seg,
+    unsigned long offset,
+    void *p_data,
+    unsigned int bytes,
+    struct x86_emulate_ctxt *ctxt);
+
 #endif /* __X86_EMULATE_H__ */
diff --git a/xen/include/asm-x86/hvm/emulate.h b/xen/include/asm-x86/hvm/emulate.h
index 49134b5..142d1b6 100644
--- a/xen/include/asm-x86/hvm/emulate.h
+++ b/xen/include/asm-x86/hvm/emulate.h
@@ -57,6 +57,7 @@ void hvm_emulate_writeback(
 struct segment_register *hvmemul_get_seg_reg(
     enum x86_segment seg,
     struct hvm_emulate_ctxt *hvmemul_ctxt);
+int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla);
 
 int hvmemul_do_pio_buffer(uint16_t port,
                           unsigned int size,
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 67b34c6..b4075e6 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -7,6 +7,7 @@
 #include <xen/spinlock.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
+#include <asm/x86_emulate.h>
 
 /*
  * Per-page-frame information.
@@ -488,6 +489,22 @@ void memguard_unguard_range(void *p, unsigned long l);
 void memguard_guard_stack(void *p);
 void memguard_unguard_stack(void *p);
 
+struct mmio_ro_emulate_ctxt {
+        unsigned long cr2;
+        unsigned int seg, bdf;
+};
+
+extern int mmio_ro_emulated_write(enum x86_segment seg,
+                                  unsigned long offset,
+                                  void *p_data,
+                                  unsigned int bytes,
+                                  struct x86_emulate_ctxt *ctxt);
+extern int mmcfg_intercept_write(enum x86_segment seg,
+                                 unsigned long offset,
+                                 void *p_data,
+                                 unsigned int bytes,
+                                 struct x86_emulate_ctxt *ctxt);
+
 int  ptwr_do_page_fault(struct vcpu *, unsigned long,
                         struct cpu_user_regs *);
 int  mmio_ro_do_page_fault(struct vcpu *, unsigned long,
diff --git a/xen/include/asm-x86/pci.h b/xen/include/asm-x86/pci.h
index 38ace79..36801d3 100644
--- a/xen/include/asm-x86/pci.h
+++ b/xen/include/asm-x86/pci.h
@@ -23,4 +23,7 @@ int pci_msi_conf_write_intercept(struct pci_dev *, unsigned int reg,
 bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
                         unsigned int *bdf);
 
+bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                           unsigned int *bdf);
+
 #endif /* __X86_PCI_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3L-0000H8-Be; Thu, 25 Feb 2016 00:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3K-0000Gx-2v
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:10 +0000
Received: from [85.158.139.211] by server-16.bemta-5.messagelabs.com id
	3B/E2-02988-49E4EC65; Thu, 25 Feb 2016 00:45:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456361107!10370869!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5683 invoked from network); 25 Feb 2016 00:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3H-0001OL-7y
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3H-0003SI-5I
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3H-0003SI-5I@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:07 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mmuext: tighten TLB flush
	address checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b9c4de31fdd817e404f158357e675edfe857d366
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:36:47 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:36:47 2016 +0100

    x86/mmuext: tighten TLB flush address checks
    
    Addresses passed by PV guests should be subjected to __addr_ok(),
    avoiding undue TLB flushes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 828e114f7cdd9910483783ab0563b178325e579a
    master date: 2016-01-21 16:09:22 +0100
---
 xen/arch/x86/mm.c            | 13 +++++++------
 xen/include/asm-x86/paging.h |  4 +++-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1800f33..17644aa 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3281,8 +3281,9 @@ long do_mmuext_op(
         case MMUEXT_INVLPG_LOCAL:
             if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
-            else if ( !paging_mode_enabled(d) ||
-                      paging_invlpg(curr, op.arg1.linear_addr) != 0 )
+            else if ( !paging_mode_enabled(d)
+                      ? __addr_ok(op.arg1.linear_addr)
+                      : paging_invlpg(curr, op.arg1.linear_addr) )
                 flush_tlb_one_local(op.arg1.linear_addr);
             break;
 
@@ -3303,7 +3304,7 @@ long do_mmuext_op(
 
             if ( op.cmd == MMUEXT_TLB_FLUSH_MULTI )
                 flush_tlb_mask(&pmask);
-            else
+            else if ( __addr_ok(op.arg1.linear_addr) )
                 flush_tlb_one_mask(&pmask, op.arg1.linear_addr);
             break;
         }
@@ -3316,10 +3317,10 @@ long do_mmuext_op(
             break;
     
         case MMUEXT_INVLPG_ALL:
-            if ( likely(d == pg_owner) )
-                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
-            else
+            if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
+            else if ( __addr_ok(op.arg1.linear_addr) )
+                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
             break;
 
         case MMUEXT_FLUSH_CACHE:
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 6215f57..c412953 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -245,7 +245,9 @@ paging_fault(unsigned long va, struct cpu_user_regs *regs)
  * or 0 if it's safe not to do so. */
 static inline int paging_invlpg(struct vcpu *v, unsigned long va)
 {
-    return is_canonical_address(va) && paging_get_hostmode(v)->invlpg(v, va);
+    return (paging_mode_external(v->domain) ? is_canonical_address(va)
+                                            : __addr_ok(va)) &&
+           paging_get_hostmode(v)->invlpg(v, va);
 }
 
 /* Translate a guest virtual address to the frame number that the
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3L-0000H8-Be; Thu, 25 Feb 2016 00:45:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3K-0000Gx-2v
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:10 +0000
Received: from [85.158.139.211] by server-16.bemta-5.messagelabs.com id
	3B/E2-02988-49E4EC65; Thu, 25 Feb 2016 00:45:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456361107!10370869!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5683 invoked from network); 25 Feb 2016 00:45:08 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3H-0001OL-7y
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3H-0003SI-5I
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3H-0003SI-5I@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:07 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mmuext: tighten TLB flush
	address checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b9c4de31fdd817e404f158357e675edfe857d366
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:36:47 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:36:47 2016 +0100

    x86/mmuext: tighten TLB flush address checks
    
    Addresses passed by PV guests should be subjected to __addr_ok(),
    avoiding undue TLB flushes.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 828e114f7cdd9910483783ab0563b178325e579a
    master date: 2016-01-21 16:09:22 +0100
---
 xen/arch/x86/mm.c            | 13 +++++++------
 xen/include/asm-x86/paging.h |  4 +++-
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1800f33..17644aa 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -3281,8 +3281,9 @@ long do_mmuext_op(
         case MMUEXT_INVLPG_LOCAL:
             if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
-            else if ( !paging_mode_enabled(d) ||
-                      paging_invlpg(curr, op.arg1.linear_addr) != 0 )
+            else if ( !paging_mode_enabled(d)
+                      ? __addr_ok(op.arg1.linear_addr)
+                      : paging_invlpg(curr, op.arg1.linear_addr) )
                 flush_tlb_one_local(op.arg1.linear_addr);
             break;
 
@@ -3303,7 +3304,7 @@ long do_mmuext_op(
 
             if ( op.cmd == MMUEXT_TLB_FLUSH_MULTI )
                 flush_tlb_mask(&pmask);
-            else
+            else if ( __addr_ok(op.arg1.linear_addr) )
                 flush_tlb_one_mask(&pmask, op.arg1.linear_addr);
             break;
         }
@@ -3316,10 +3317,10 @@ long do_mmuext_op(
             break;
     
         case MMUEXT_INVLPG_ALL:
-            if ( likely(d == pg_owner) )
-                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
-            else
+            if ( unlikely(d != pg_owner) )
                 rc = -EPERM;
+            else if ( __addr_ok(op.arg1.linear_addr) )
+                flush_tlb_one_mask(d->domain_dirty_cpumask, op.arg1.linear_addr);
             break;
 
         case MMUEXT_FLUSH_CACHE:
diff --git a/xen/include/asm-x86/paging.h b/xen/include/asm-x86/paging.h
index 6215f57..c412953 100644
--- a/xen/include/asm-x86/paging.h
+++ b/xen/include/asm-x86/paging.h
@@ -245,7 +245,9 @@ paging_fault(unsigned long va, struct cpu_user_regs *regs)
  * or 0 if it's safe not to do so. */
 static inline int paging_invlpg(struct vcpu *v, unsigned long va)
 {
-    return is_canonical_address(va) && paging_get_hostmode(v)->invlpg(v, va);
+    return (paging_mode_external(v->domain) ? is_canonical_address(va)
+                                            : __addr_ok(va)) &&
+           paging_get_hostmode(v)->invlpg(v, va);
 }
 
 /* Translate a guest virtual address to the frame number that the
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3V-0000IZ-Ez; Thu, 25 Feb 2016 00:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3U-0000IL-5O
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:20 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	92/98-04025-F9E4EC65; Thu, 25 Feb 2016 00:45:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1456361117!12526761!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64393 invoked from network); 25 Feb 2016 00:45:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3R-0001OY-LA
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3R-0003Tq-Gr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3R-0003Tq-Gr@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:17 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: fix (and simplify) MTRR
	overlap checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b514aeccb1222229008009361cafa1d5b0d764cb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:37:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:37:14 2016 +0100

    x86: fix (and simplify) MTRR overlap checking
    
    Obtaining one individual range per variable range register (via
    get_mtrr_range()) was bogus from the beginning, as these registers may
    cover multiple disjoint ranges. Do away with that, in favor of simply
    comparing masked addresses.
    
    Also, for is_var_mtrr_overlapped()'s result to be correct when called
    from mtrr_wrmsr(), generic_set_mtrr() must update saved state first.
    
    As minor cleanup changes, constify is_var_mtrr_overlapped()'s parameter
    and make mtrr_wrmsr() static.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 3272230848f36eb5bbb660216898a90048a81d9f
    master date: 2016-01-21 16:11:04 +0100
---
 xen/arch/x86/cpu/mtrr/generic.c |  4 +--
 xen/arch/x86/cpu/mtrr/mtrr.h    |  1 -
 xen/arch/x86/hvm/mtrr.c         | 61 ++++++++---------------------------------
 xen/include/asm-x86/mtrr.h      |  2 +-
 4 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 935f0a0..ea0efe2 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -220,7 +220,7 @@ void __init mtrr_state_warn(void)
 /* Doesn't attempt to pass an error out to MTRR users
    because it's quite complicated in some cases and probably not
    worth it because the best error handling is to ignore it. */
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
+static void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
 {
 	if (wrmsr_safe(msr, msr_content) < 0)
 		printk(KERN_ERR
@@ -495,8 +495,8 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 	if (size == 0) {
 		/* The invalid bit is kept in the mask, so we simply clear the
 		   relevant mask register to disable a range. */
+		memset(vr, 0, sizeof(*vr));
 		mtrr_wrmsr(MSR_IA32_MTRR_PHYSMASK(reg), 0);
-		memset(vr, 0, sizeof(struct mtrr_var_range));
 	} else {
 		uint32_t base_lo, base_hi, mask_lo, mask_hi;
 
diff --git a/xen/arch/x86/cpu/mtrr/mtrr.h b/xen/arch/x86/cpu/mtrr/mtrr.h
index a9d6dcd..b41eb58 100644
--- a/xen/arch/x86/cpu/mtrr/mtrr.h
+++ b/xen/arch/x86/cpu/mtrr/mtrr.h
@@ -63,7 +63,6 @@ extern const struct mtrr_ops *mtrr_if;
 extern unsigned int num_var_ranges;
 
 void mtrr_state_warn(void);
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content);
 
 extern int amd_init_mtrr(void);
 extern int cyrix_init_mtrr(void);
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 9268dfb..4188ae7 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -26,8 +26,6 @@
 #include <asm/hvm/support.h>
 #include <asm/hvm/cacheattr.h>
 
-static uint32_t size_or_mask;
-
 /* Get page attribute fields (PAn) from PAT MSR. */
 #define pat_cr_2_paf(pat_cr,n)  ((((uint64_t)pat_cr) >> ((n)<<3)) & 0xff)
 
@@ -77,61 +75,28 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
 static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
     { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
 
-static void get_mtrr_range(uint64_t base_msr, uint64_t mask_msr,
-                           uint64_t *base, uint64_t *end)
-{
-    uint32_t mask_lo = (uint32_t)mask_msr;
-    uint32_t mask_hi = (uint32_t)(mask_msr >> 32);
-    uint32_t base_lo = (uint32_t)base_msr;
-    uint32_t base_hi = (uint32_t)(base_msr >> 32);
-    uint32_t size;
-
-    if ( !(mask_lo & MTRR_PHYSMASK_VALID) )
-    {
-        /* Invalid (i.e. free) range */
-        *base = 0;
-        *end = 0;
-        return;
-    }
-
-    /* Work out the shifted address mask. */
-    mask_lo = (size_or_mask | (mask_hi << (32 - PAGE_SHIFT)) |
-               (mask_lo >> PAGE_SHIFT));
-
-    /* This works correctly if size is a power of two (a contiguous range). */
-    size = -mask_lo;
-    *base = base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT;
-    *end = *base + size - 1;
-}
-
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m)
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m)
 {
-    int32_t seg, i;
-    uint64_t phys_base, phys_mask, phys_base_pre, phys_mask_pre;
-    uint64_t base_pre, end_pre, base, end;
-    uint8_t num_var_ranges = (uint8_t)m->mtrr_cap;
+    unsigned int seg, i;
+    unsigned int num_var_ranges = (uint8_t)m->mtrr_cap;
 
     for ( i = 0; i < num_var_ranges; i++ )
     {
-        phys_base_pre = ((uint64_t*)m->var_ranges)[i*2];
-        phys_mask_pre = ((uint64_t*)m->var_ranges)[i*2 + 1];
+        uint64_t base1 = m->var_ranges[i].base >> PAGE_SHIFT;
+        uint64_t mask1 = m->var_ranges[i].mask >> PAGE_SHIFT;
 
-        get_mtrr_range(phys_base_pre, phys_mask_pre,
-                        &base_pre, &end_pre);
+        if ( !(m->var_ranges[i].mask & MTRR_PHYSMASK_VALID) )
+            continue;
 
         for ( seg = i + 1; seg < num_var_ranges; seg ++ )
         {
-            phys_base = ((uint64_t*)m->var_ranges)[seg*2];
-            phys_mask = ((uint64_t*)m->var_ranges)[seg*2 + 1];
+            uint64_t base2 = m->var_ranges[seg].base >> PAGE_SHIFT;
+            uint64_t mask2 = m->var_ranges[seg].mask >> PAGE_SHIFT;
 
-            get_mtrr_range(phys_base, phys_mask,
-                            &base, &end);
+            if ( !(m->var_ranges[seg].mask & MTRR_PHYSMASK_VALID) )
+                continue;
 
-            if ( ((base_pre != end_pre) && (base != end))
-                 || ((base >= base_pre) && (base <= end_pre))
-                 || ((end >= base_pre) && (end <= end_pre))
-                 || ((base_pre >= base) && (base_pre <= end))
-                 || ((end_pre >= base) && (end_pre <= end)) )
+            if ( (base1 & mask1 & mask2) == (base2 & mask2 & mask1) )
             {
                 /* MTRR is overlapped. */
                 return 1;
@@ -168,8 +133,6 @@ static int __init hvm_mtrr_pat_init(void)
         }
     }
 
-    size_or_mask = ~((1 << (paddr_bits - PAGE_SHIFT)) - 1);
-
     return 0;
 }
 __initcall(hvm_mtrr_pat_init);
diff --git a/xen/include/asm-x86/mtrr.h b/xen/include/asm-x86/mtrr.h
index 0569db6..69cf68c 100644
--- a/xen/include/asm-x86/mtrr.h
+++ b/xen/include/asm-x86/mtrr.h
@@ -91,7 +91,7 @@ extern bool_t mtrr_def_type_msr_set(struct domain *, struct mtrr_state *,
 extern void memory_type_changed(struct domain *);
 extern bool_t pat_msr_set(uint64_t *pat, uint64_t msr);
 
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m);
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m);
 bool_t mtrr_pat_not_equal(struct vcpu *vd, struct vcpu *vs);
 
 #endif /* __ASM_X86_MTRR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3V-0000IZ-Ez; Thu, 25 Feb 2016 00:45:21 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3U-0000IL-5O
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:20 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	92/98-04025-F9E4EC65; Thu, 25 Feb 2016 00:45:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-206.messagelabs.com!1456361117!12526761!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 64393 invoked from network); 25 Feb 2016 00:45:18 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-11.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3R-0001OY-LA
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3R-0003Tq-Gr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3R-0003Tq-Gr@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:17 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: fix (and simplify) MTRR
	overlap checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b514aeccb1222229008009361cafa1d5b0d764cb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:37:14 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:37:14 2016 +0100

    x86: fix (and simplify) MTRR overlap checking
    
    Obtaining one individual range per variable range register (via
    get_mtrr_range()) was bogus from the beginning, as these registers may
    cover multiple disjoint ranges. Do away with that, in favor of simply
    comparing masked addresses.
    
    Also, for is_var_mtrr_overlapped()'s result to be correct when called
    from mtrr_wrmsr(), generic_set_mtrr() must update saved state first.
    
    As minor cleanup changes, constify is_var_mtrr_overlapped()'s parameter
    and make mtrr_wrmsr() static.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 3272230848f36eb5bbb660216898a90048a81d9f
    master date: 2016-01-21 16:11:04 +0100
---
 xen/arch/x86/cpu/mtrr/generic.c |  4 +--
 xen/arch/x86/cpu/mtrr/mtrr.h    |  1 -
 xen/arch/x86/hvm/mtrr.c         | 61 ++++++++---------------------------------
 xen/include/asm-x86/mtrr.h      |  2 +-
 4 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 935f0a0..ea0efe2 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -220,7 +220,7 @@ void __init mtrr_state_warn(void)
 /* Doesn't attempt to pass an error out to MTRR users
    because it's quite complicated in some cases and probably not
    worth it because the best error handling is to ignore it. */
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
+static void mtrr_wrmsr(unsigned int msr, uint64_t msr_content)
 {
 	if (wrmsr_safe(msr, msr_content) < 0)
 		printk(KERN_ERR
@@ -495,8 +495,8 @@ static void generic_set_mtrr(unsigned int reg, unsigned long base,
 	if (size == 0) {
 		/* The invalid bit is kept in the mask, so we simply clear the
 		   relevant mask register to disable a range. */
+		memset(vr, 0, sizeof(*vr));
 		mtrr_wrmsr(MSR_IA32_MTRR_PHYSMASK(reg), 0);
-		memset(vr, 0, sizeof(struct mtrr_var_range));
 	} else {
 		uint32_t base_lo, base_hi, mask_lo, mask_hi;
 
diff --git a/xen/arch/x86/cpu/mtrr/mtrr.h b/xen/arch/x86/cpu/mtrr/mtrr.h
index a9d6dcd..b41eb58 100644
--- a/xen/arch/x86/cpu/mtrr/mtrr.h
+++ b/xen/arch/x86/cpu/mtrr/mtrr.h
@@ -63,7 +63,6 @@ extern const struct mtrr_ops *mtrr_if;
 extern unsigned int num_var_ranges;
 
 void mtrr_state_warn(void);
-void mtrr_wrmsr(unsigned int msr, uint64_t msr_content);
 
 extern int amd_init_mtrr(void);
 extern int cyrix_init_mtrr(void);
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 9268dfb..4188ae7 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -26,8 +26,6 @@
 #include <asm/hvm/support.h>
 #include <asm/hvm/cacheattr.h>
 
-static uint32_t size_or_mask;
-
 /* Get page attribute fields (PAn) from PAT MSR. */
 #define pat_cr_2_paf(pat_cr,n)  ((((uint64_t)pat_cr) >> ((n)<<3)) & 0xff)
 
@@ -77,61 +75,28 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
 static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
     { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
 
-static void get_mtrr_range(uint64_t base_msr, uint64_t mask_msr,
-                           uint64_t *base, uint64_t *end)
-{
-    uint32_t mask_lo = (uint32_t)mask_msr;
-    uint32_t mask_hi = (uint32_t)(mask_msr >> 32);
-    uint32_t base_lo = (uint32_t)base_msr;
-    uint32_t base_hi = (uint32_t)(base_msr >> 32);
-    uint32_t size;
-
-    if ( !(mask_lo & MTRR_PHYSMASK_VALID) )
-    {
-        /* Invalid (i.e. free) range */
-        *base = 0;
-        *end = 0;
-        return;
-    }
-
-    /* Work out the shifted address mask. */
-    mask_lo = (size_or_mask | (mask_hi << (32 - PAGE_SHIFT)) |
-               (mask_lo >> PAGE_SHIFT));
-
-    /* This works correctly if size is a power of two (a contiguous range). */
-    size = -mask_lo;
-    *base = base_hi << (32 - PAGE_SHIFT) | base_lo >> PAGE_SHIFT;
-    *end = *base + size - 1;
-}
-
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m)
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m)
 {
-    int32_t seg, i;
-    uint64_t phys_base, phys_mask, phys_base_pre, phys_mask_pre;
-    uint64_t base_pre, end_pre, base, end;
-    uint8_t num_var_ranges = (uint8_t)m->mtrr_cap;
+    unsigned int seg, i;
+    unsigned int num_var_ranges = (uint8_t)m->mtrr_cap;
 
     for ( i = 0; i < num_var_ranges; i++ )
     {
-        phys_base_pre = ((uint64_t*)m->var_ranges)[i*2];
-        phys_mask_pre = ((uint64_t*)m->var_ranges)[i*2 + 1];
+        uint64_t base1 = m->var_ranges[i].base >> PAGE_SHIFT;
+        uint64_t mask1 = m->var_ranges[i].mask >> PAGE_SHIFT;
 
-        get_mtrr_range(phys_base_pre, phys_mask_pre,
-                        &base_pre, &end_pre);
+        if ( !(m->var_ranges[i].mask & MTRR_PHYSMASK_VALID) )
+            continue;
 
         for ( seg = i + 1; seg < num_var_ranges; seg ++ )
         {
-            phys_base = ((uint64_t*)m->var_ranges)[seg*2];
-            phys_mask = ((uint64_t*)m->var_ranges)[seg*2 + 1];
+            uint64_t base2 = m->var_ranges[seg].base >> PAGE_SHIFT;
+            uint64_t mask2 = m->var_ranges[seg].mask >> PAGE_SHIFT;
 
-            get_mtrr_range(phys_base, phys_mask,
-                            &base, &end);
+            if ( !(m->var_ranges[seg].mask & MTRR_PHYSMASK_VALID) )
+                continue;
 
-            if ( ((base_pre != end_pre) && (base != end))
-                 || ((base >= base_pre) && (base <= end_pre))
-                 || ((end >= base_pre) && (end <= end_pre))
-                 || ((base_pre >= base) && (base_pre <= end))
-                 || ((end_pre >= base) && (end_pre <= end)) )
+            if ( (base1 & mask1 & mask2) == (base2 & mask2 & mask1) )
             {
                 /* MTRR is overlapped. */
                 return 1;
@@ -168,8 +133,6 @@ static int __init hvm_mtrr_pat_init(void)
         }
     }
 
-    size_or_mask = ~((1 << (paddr_bits - PAGE_SHIFT)) - 1);
-
     return 0;
 }
 __initcall(hvm_mtrr_pat_init);
diff --git a/xen/include/asm-x86/mtrr.h b/xen/include/asm-x86/mtrr.h
index 0569db6..69cf68c 100644
--- a/xen/include/asm-x86/mtrr.h
+++ b/xen/include/asm-x86/mtrr.h
@@ -91,7 +91,7 @@ extern bool_t mtrr_def_type_msr_set(struct domain *, struct mtrr_state *,
 extern void memory_type_changed(struct domain *);
 extern bool_t pat_msr_set(uint64_t *pat, uint64_t msr);
 
-bool_t is_var_mtrr_overlapped(struct mtrr_state *m);
+bool_t is_var_mtrr_overlapped(const struct mtrr_state *m);
 bool_t mtrr_pat_not_equal(struct vcpu *vd, struct vcpu *vs);
 
 #endif /* __ASM_X86_MTRR_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3f-0000Ju-K4; Thu, 25 Feb 2016 00:45:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3e-0000Jk-Fm
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:30 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	89/21-03511-9AE4EC65; Thu, 25 Feb 2016 00:45:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1456361128!24571136!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48486 invoked from network); 25 Feb 2016 00:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3c-0001Og-17
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3b-0003Uc-TC
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3b-0003Uc-TC@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:27 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mce: fix misleading
	indentation in init_nonfatal_mce_checker()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ef6e53a83dc8948b44ffb4efa27c0c524f6d9f2a
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 16:37:42 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:37:42 2016 +0100

    x86/mce: fix misleading indentation in init_nonfatal_mce_checker()
    
    Debian bug 812166[0] reported this build failure due to
    Wmisleading-indentation with gcc-6:
    
    non-fatal.c: In function 'init_nonfatal_mce_checker':
    non-fatal.c:103:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
      switch (c->x86_vendor) {
      ^~~~~~
    
    non-fatal.c:97:5: note: ...this 'if' clause, but it is not
         if ( __get_cpu_var(poll_bankmask) == NULL )
         ^~
    
    I was unable to reproduce (xen builds cleanly for me with "6.0.0 20160117
    (experimental) [trunk revision 232481]") but looking at the code the issue
    above is clearly real.
    
    Correctly reindent the if statement.
    
    This file uses Linux coding style (infact the use of Xen style for
    this line is the root cause of the wanring) so use tabs and while
    there remove the whitespace inside the if as Linux does.
    
    [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812166
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 2e46e3f2539d026594ec1618e7df2c2bc8785b42
    master date: 2016-01-22 16:19:51 +0100
---
 xen/arch/x86/cpu/mcheck/non-fatal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 526864e..8cd6635 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -94,8 +94,8 @@ static int __init init_nonfatal_mce_checker(void)
 	if (mce_disabled || !mce_available(c))
 		return -ENODEV;
 
-    if ( __get_cpu_var(poll_bankmask) == NULL )
-        return -EINVAL;
+	if (__get_cpu_var(poll_bankmask) == NULL)
+		return -EINVAL;
 
 	/*
 	 * Check for non-fatal errors every MCE_RATE s
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3f-0000Ju-K4; Thu, 25 Feb 2016 00:45:31 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3e-0000Jk-Fm
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:30 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
	89/21-03511-9AE4EC65; Thu, 25 Feb 2016 00:45:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1456361128!24571136!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 48486 invoked from network); 25 Feb 2016 00:45:29 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3c-0001Og-17
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3b-0003Uc-TC
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3b-0003Uc-TC@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:27 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/mce: fix misleading
	indentation in init_nonfatal_mce_checker()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ef6e53a83dc8948b44ffb4efa27c0c524f6d9f2a
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Feb 17 16:37:42 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:37:42 2016 +0100

    x86/mce: fix misleading indentation in init_nonfatal_mce_checker()
    
    Debian bug 812166[0] reported this build failure due to
    Wmisleading-indentation with gcc-6:
    
    non-fatal.c: In function 'init_nonfatal_mce_checker':
    non-fatal.c:103:2: error: statement is indented as if it were guarded by... [-Werror=misleading-indentation]
      switch (c->x86_vendor) {
      ^~~~~~
    
    non-fatal.c:97:5: note: ...this 'if' clause, but it is not
         if ( __get_cpu_var(poll_bankmask) == NULL )
         ^~
    
    I was unable to reproduce (xen builds cleanly for me with "6.0.0 20160117
    (experimental) [trunk revision 232481]") but looking at the code the issue
    above is clearly real.
    
    Correctly reindent the if statement.
    
    This file uses Linux coding style (infact the use of Xen style for
    this line is the root cause of the wanring) so use tabs and while
    there remove the whitespace inside the if as Linux does.
    
    [0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812166
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 2e46e3f2539d026594ec1618e7df2c2bc8785b42
    master date: 2016-01-22 16:19:51 +0100
---
 xen/arch/x86/cpu/mcheck/non-fatal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
index 526864e..8cd6635 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -94,8 +94,8 @@ static int __init init_nonfatal_mce_checker(void)
 	if (mce_disabled || !mce_available(c))
 		return -ENODEV;
 
-    if ( __get_cpu_var(poll_bankmask) == NULL )
-        return -EINVAL;
+	if (__get_cpu_var(poll_bankmask) == NULL)
+		return -EINVAL;
 
 	/*
 	 * Check for non-fatal errors every MCE_RATE s
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3q-0000LW-SP; Thu, 25 Feb 2016 00:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3o-0000LL-Uz
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:41 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	E7/E3-03814-4BE4EC65; Thu, 25 Feb 2016 00:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456361138!24873355!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2897 invoked from network); 25 Feb 2016 00:45:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3m-0001Oo-CX
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3m-0003X8-9i
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3m-0003X8-9i@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:38 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 944a3c2532f48a5a3b463601fdd578fca0be5ba9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 17 16:38:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:38:23 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
    master date: 2016-02-02 14:00:52 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b38c1ae..b3abfc2 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -383,10 +383,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1299,8 +1302,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1308,13 +1309,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk3q-0000LW-SP; Thu, 25 Feb 2016 00:45:42 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3o-0000LL-Uz
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:41 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
	E7/E3-03814-4BE4EC65; Thu, 25 Feb 2016 00:45:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456361138!24873355!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2897 invoked from network); 25 Feb 2016 00:45:39 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3m-0001Oo-CX
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3m-0003X8-9i
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3m-0003X8-9i@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:38 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/vmx: don't clobber
	exception_bitmap when entering/leaving emulated real mode
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 944a3c2532f48a5a3b463601fdd578fca0be5ba9
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Feb 17 16:38:23 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:38:23 2016 +0100

    x86/vmx: don't clobber exception_bitmap when entering/leaving emulated real mode
    
    Most updates to the exception bitmaps set or clear an individual bits.
    
    However, entering or exiting emulated real mode unilaterally clobbers it,
    leaving the exit code to recalculate what it should have been.  This is error
    prone, and indeed currently fails to recalculate the TRAP_no_device intercept
    appropriately.
    
    Instead of overwriting exception_bitmap when entering emulated real mode, move
    the override into vmx_update_exception_bitmap() and leave exception_bitmap
    unmodified.
    
    This means that recalculation is unnecessary, and that the use of
    vmx_fpu_leave() and vmx_update_debug_state() while in emulated real mode
    doesn't result in TRAP_no_device and TRAP_int3 being un-intercepted.
    
    This is only a functional change on hardware lacking unrestricted guest
    support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Kevin Tian <kevin.tian@intel.com>
    master commit: 78c93adf0a7f6a7abe249a63e7398ca1221a6d25
    master date: 2016-02-02 14:00:52 +0100
---
 xen/arch/x86/hvm/vmx/vmx.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b38c1ae..b3abfc2 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -383,10 +383,13 @@ void vmx_update_secondary_exec_control(struct vcpu *v)
 
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
+    u32 bitmap = unlikely(v->arch.hvm_vmx.vmx_realmode)
+        ? 0xffffffffu : v->arch.hvm_vmx.exception_bitmap;
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
-        nvmx_update_exception_bitmap(v, v->arch.hvm_vmx.exception_bitmap);
+        nvmx_update_exception_bitmap(v, bitmap);
     else
-        __vmwrite(EXCEPTION_BITMAP, v->arch.hvm_vmx.exception_bitmap);
+        __vmwrite(EXCEPTION_BITMAP, bitmap);
 }
 
 static int vmx_guest_x86_mode(struct vcpu *v)
@@ -1299,8 +1302,6 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
             {
                 for ( s = x86_seg_cs ; s <= x86_seg_tr ; s++ )
                     vmx_set_segment_register(v, s, &reg[s]);
-                v->arch.hvm_vmx.exception_bitmap = 0xffffffff;
-                vmx_update_exception_bitmap(v);
             }
             else 
             {
@@ -1308,13 +1309,9 @@ static void vmx_update_guest_cr(struct vcpu *v, unsigned int cr)
                     if ( !(v->arch.hvm_vmx.vm86_segment_mask & (1<<s)) )
                         vmx_set_segment_register(
                             v, s, &v->arch.hvm_vmx.vm86_saved_seg[s]);
-                v->arch.hvm_vmx.exception_bitmap = HVM_TRAP_MASK
-                          | (paging_mode_hap(v->domain) ?
-                             0 : (1U << TRAP_page_fault))
-                          | (1U << TRAP_no_device);
-                vmx_update_exception_bitmap(v);
-                vmx_update_debug_state(v);
             }
+
+            vmx_update_exception_bitmap(v);
         }
 
         v->arch.hvm_vcpu.hw_cr[0] =
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk41-0000Mv-0a; Thu, 25 Feb 2016 00:45:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3z-0000Mi-C1
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:51 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	B2/2C-03497-EBE4EC65; Thu, 25 Feb 2016 00:45:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456361148!26537728!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31766 invoked from network); 25 Feb 2016 00:45:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3w-0001Ow-Oy
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3w-0003Zr-Jg
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3w-0003Zr-Jg@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:48 +0000
Subject: [Xen-changelog] [xen stable-4.6] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 61b5765cd48101407446ea7c54d91a35a6ff51d9
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:38:48 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:38:48 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
    master date: 2016-02-02 14:03:06 +0100
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 507e957..9fb2027 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1096,6 +1096,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1107,8 +1108,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:45:53 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk41-0000Mv-0a; Thu, 25 Feb 2016 00:45:53 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3z-0000Mi-C1
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:51 +0000
Received: from [193.109.254.147] by server-5.bemta-14.messagelabs.com id
	B2/2C-03497-EBE4EC65; Thu, 25 Feb 2016 00:45:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1456361148!26537728!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31766 invoked from network); 25 Feb 2016 00:45:49 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:45:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3w-0001Ow-Oy
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk3w-0003Zr-Jg
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk3w-0003Zr-Jg@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:48 +0000
Subject: [Xen-changelog] [xen stable-4.6] credit: update timeslice under lock
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 61b5765cd48101407446ea7c54d91a35a6ff51d9
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:38:48 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:38:48 2016 +0100

    credit: update timeslice under lock
    
    When updating the timeslice of the credit scheduler protect the
    scheduler's private data by it's lock. Today a possible race could
    result only in some weird scheduling decisions during one timeslice,
    but further adjustments will need the lock anyway.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: f2c96ac4dedf4976e46de34c69c2cd8b289c4ef2
    master date: 2016-02-02 14:03:06 +0100
---
 xen/common/sched_credit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 507e957..9fb2027 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1096,6 +1096,7 @@ csched_sys_cntl(const struct scheduler *ops,
     int rc = -EINVAL;
     xen_sysctl_credit_schedule_t *params = &sc->u.sched_credit;
     struct csched_private *prv = CSCHED_PRIV(ops);
+    unsigned long flags;
 
     switch ( sc->cmd )
     {
@@ -1107,8 +1108,12 @@ csched_sys_cntl(const struct scheduler *ops,
                     || params->ratelimit_us < XEN_SYSCTL_SCHED_RATELIMIT_MIN))
             || MICROSECS(params->ratelimit_us) > MILLISECS(params->tslice_ms) )
                 goto out;
+
+        spin_lock_irqsave(&prv->lock, flags);
         __csched_set_tslice(prv, params->tslice_ms);
         prv->ratelimit_us = params->ratelimit_us;
+        spin_unlock_irqrestore(&prv->lock, flags);
+
         /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->tslice_ms = prv->tslice_ms;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4D-0000Oo-5M; Thu, 25 Feb 2016 00:46:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4B-0000Oa-Pn
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:03 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	93/8D-03294-BCE4EC65; Thu, 25 Feb 2016 00:46:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456361159!24873375!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8289 invoked from network); 25 Feb 2016 00:46:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk47-0001Pr-0K
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk46-0003ad-Up
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk46-0003ad-Up@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:58 +0000
Subject: [Xen-changelog] [xen stable-4.6] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d45611e0bed758e94b18e7d713a25a87d71105c8
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:39:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:39:11 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
    master date: 2016-02-02 14:03:40 +0100
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 9fb2027..fd20152 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1087,6 +1087,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4D-0000Oo-5M; Thu, 25 Feb 2016 00:46:05 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4B-0000Oa-Pn
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:03 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
	93/8D-03294-BCE4EC65; Thu, 25 Feb 2016 00:46:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1456361159!24873375!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8289 invoked from network); 25 Feb 2016 00:46:00 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk47-0001Pr-0K
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk46-0003ad-Up
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:45:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk46-0003ad-Up@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:45:58 +0000
Subject: [Xen-changelog] [xen stable-4.6] credit: recalculate per-cpupool
	credits when updating timeslice
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d45611e0bed758e94b18e7d713a25a87d71105c8
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Wed Feb 17 16:39:11 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:39:11 2016 +0100

    credit: recalculate per-cpupool credits when updating timeslice
    
    When modifying the timeslice of the credit scheduler in a cpupool the
    cpupool global credit value (n_cpus * credits_per_tslice) isn't
    recalculated. This will lead to wrong scheduling decisions later.
    
    Do the recalculation when updating the timeslice.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Tested-by: Alan.Robinson <alan.robinson@ts.fujitsu.com>
    Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
    master commit: ffc342fbb060cd753fc3a5f6fb6f550dd29a2637
    master date: 2016-02-02 14:03:40 +0100
---
 xen/common/sched_credit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 9fb2027..fd20152 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -1087,6 +1087,7 @@ __csched_set_tslice(struct csched_private *prv, unsigned timeslice)
         prv->ticks_per_tslice = 1;
     prv->tick_period_us = prv->tslice_ms * 1000 / prv->ticks_per_tslice;
     prv->credits_per_tslice = CSCHED_CREDITS_PER_MSEC * prv->tslice_ms;
+    prv->credit = prv->credits_per_tslice * prv->ncpus;
 }
 
 static int
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4R-0000Qr-9t; Thu, 25 Feb 2016 00:46:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4P-0000Qa-3l
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:17 +0000
Received: from [85.158.139.211] by server-9.bemta-5.messagelabs.com id
	CA/F3-03883-8DE4EC65; Thu, 25 Feb 2016 00:46:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456361174!16414161!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27888 invoked from network); 25 Feb 2016 00:46:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4M-0001QX-B5
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4H-0003bS-88
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4H-0003bS-88@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:09 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/PV: fix unintended dependency
	of m2p-strict mode on migration-v2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf5273420a1505b35ec974f3c20c410f4999a190
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:39:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:39:49 2016 +0100

    x86/PV: fix unintended dependency of m2p-strict mode on migration-v2
    
    This went unnoticed until a backport of this to an older Xen got used,
    causing migration of guests enabling this VM assist to fail, because
    page table pinning there precedes vCPU context loading, and hence L4
    tables get initialized for the wrong mode. Fix this by post-processing
    L4 tables when setting the intended VM assist flags for the guest.
    
    Note that this leaves in place a dependency on vCPU 0 getting its guest
    context restored first, but afaict the logic here is not the only thing
    depending on that.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: be05b5385fb261c1fa1cbb6b4bdc12a6e8676c4b
    master date: 2016-02-03 14:12:00 +0100
---
 xen/arch/x86/domain.c        | 41 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/mm.c            | 30 ++++++++++++++++++++++++------
 xen/include/asm-x86/domain.h |  2 ++
 xen/include/asm-x86/mm.h     |  2 +-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 54f5875..90f3ce5 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -991,7 +991,48 @@ int arch_set_info_guest(
         goto out;
 
     if ( v->vcpu_id == 0 )
+    {
+        /*
+         * In the restore case we need to deal with L4 pages which got
+         * initialized with m2p_strict still clear (and which hence lack the
+         * correct initial RO_MPT_VIRT_{START,END} L4 entry).
+         */
+        if ( d != current->domain && !VM_ASSIST(d, m2p_strict) &&
+             is_pv_domain(d) && !is_pv_32bit_domain(d) &&
+             test_bit(VMASST_TYPE_m2p_strict, &c.nat->vm_assist) &&
+             atomic_read(&d->arch.pv_domain.nr_l4_pages) )
+        {
+            bool_t done = 0;
+
+            spin_lock_recursive(&d->page_alloc_lock);
+
+            for ( i = 0; ; )
+            {
+                struct page_info *page = page_list_remove_head(&d->page_list);
+
+                if ( page_lock(page) )
+                {
+                    if ( (page->u.inuse.type_info & PGT_type_mask) ==
+                         PGT_l4_page_table )
+                        done = !fill_ro_mpt(page_to_mfn(page));
+
+                    page_unlock(page);
+                }
+
+                page_list_add_tail(page, &d->page_list);
+
+                if ( done || (!(++i & 0xff) && hypercall_preempt_check()) )
+                    break;
+            }
+
+            spin_unlock_recursive(&d->page_alloc_lock);
+
+            if ( !done )
+                return -ERESTART;
+        }
+
         d->vm_assist = c(vm_assist);
+    }
 
     rc = put_old_guest_table(current);
     if ( rc )
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 17644aa..63c9bcf 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1493,13 +1493,20 @@ void init_guest_l4_table(l4_pgentry_t l4tab[], const struct domain *d,
         l4tab[l4_table_offset(RO_MPT_VIRT_START)] = l4e_empty();
 }
 
-void fill_ro_mpt(unsigned long mfn)
+bool_t fill_ro_mpt(unsigned long mfn)
 {
     l4_pgentry_t *l4tab = map_domain_page(_mfn(mfn));
+    bool_t ret = 0;
 
-    l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
-        idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+    if ( !l4e_get_intpte(l4tab[l4_table_offset(RO_MPT_VIRT_START)]) )
+    {
+        l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
+            idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+        ret = 1;
+    }
     unmap_domain_page(l4tab);
+
+    return ret;
 }
 
 void zap_ro_mpt(unsigned long mfn)
@@ -1557,10 +1564,15 @@ static int alloc_l4_table(struct page_info *page)
         adjust_guest_l4e(pl4e[i], d);
     }
 
-    init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+    if ( rc >= 0 )
+    {
+        init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+        atomic_inc(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    return rc;
 }
 
 static void free_l1_table(struct page_info *page)
@@ -1678,7 +1690,13 @@ static int free_l4_table(struct page_info *page)
 
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    if ( rc >= 0 )
+    {
+        atomic_dec(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
+
+    return rc;
 }
 
 int page_lock(struct page_info *page)
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 0fce09e..c6c6e71 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -247,6 +247,8 @@ struct pv_domain
 {
     l1_pgentry_t **gdt_ldt_l1tab;
 
+    atomic_t nr_l4_pages;
+
     /* map_domain_page() mapping cache. */
     struct mapcache_domain mapcache;
 };
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index b4075e6..b4299fd 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -321,7 +321,7 @@ int free_page_type(struct page_info *page, unsigned long type,
 
 void init_guest_l4_table(l4_pgentry_t[], const struct domain *,
                          bool_t zap_ro_mpt);
-void fill_ro_mpt(unsigned long mfn);
+bool_t fill_ro_mpt(unsigned long mfn);
 void zap_ro_mpt(unsigned long mfn);
 
 int is_iomem_page(unsigned long mfn);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4R-0000Qr-9t; Thu, 25 Feb 2016 00:46:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4P-0000Qa-3l
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:17 +0000
Received: from [85.158.139.211] by server-9.bemta-5.messagelabs.com id
	CA/F3-03883-8DE4EC65; Thu, 25 Feb 2016 00:46:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456361174!16414161!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27888 invoked from network); 25 Feb 2016 00:46:15 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4M-0001QX-B5
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4H-0003bS-88
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4H-0003bS-88@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:09 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/PV: fix unintended dependency
	of m2p-strict mode on migration-v2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cf5273420a1505b35ec974f3c20c410f4999a190
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:39:49 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:39:49 2016 +0100

    x86/PV: fix unintended dependency of m2p-strict mode on migration-v2
    
    This went unnoticed until a backport of this to an older Xen got used,
    causing migration of guests enabling this VM assist to fail, because
    page table pinning there precedes vCPU context loading, and hence L4
    tables get initialized for the wrong mode. Fix this by post-processing
    L4 tables when setting the intended VM assist flags for the guest.
    
    Note that this leaves in place a dependency on vCPU 0 getting its guest
    context restored first, but afaict the logic here is not the only thing
    depending on that.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: be05b5385fb261c1fa1cbb6b4bdc12a6e8676c4b
    master date: 2016-02-03 14:12:00 +0100
---
 xen/arch/x86/domain.c        | 41 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/mm.c            | 30 ++++++++++++++++++++++++------
 xen/include/asm-x86/domain.h |  2 ++
 xen/include/asm-x86/mm.h     |  2 +-
 4 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 54f5875..90f3ce5 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -991,7 +991,48 @@ int arch_set_info_guest(
         goto out;
 
     if ( v->vcpu_id == 0 )
+    {
+        /*
+         * In the restore case we need to deal with L4 pages which got
+         * initialized with m2p_strict still clear (and which hence lack the
+         * correct initial RO_MPT_VIRT_{START,END} L4 entry).
+         */
+        if ( d != current->domain && !VM_ASSIST(d, m2p_strict) &&
+             is_pv_domain(d) && !is_pv_32bit_domain(d) &&
+             test_bit(VMASST_TYPE_m2p_strict, &c.nat->vm_assist) &&
+             atomic_read(&d->arch.pv_domain.nr_l4_pages) )
+        {
+            bool_t done = 0;
+
+            spin_lock_recursive(&d->page_alloc_lock);
+
+            for ( i = 0; ; )
+            {
+                struct page_info *page = page_list_remove_head(&d->page_list);
+
+                if ( page_lock(page) )
+                {
+                    if ( (page->u.inuse.type_info & PGT_type_mask) ==
+                         PGT_l4_page_table )
+                        done = !fill_ro_mpt(page_to_mfn(page));
+
+                    page_unlock(page);
+                }
+
+                page_list_add_tail(page, &d->page_list);
+
+                if ( done || (!(++i & 0xff) && hypercall_preempt_check()) )
+                    break;
+            }
+
+            spin_unlock_recursive(&d->page_alloc_lock);
+
+            if ( !done )
+                return -ERESTART;
+        }
+
         d->vm_assist = c(vm_assist);
+    }
 
     rc = put_old_guest_table(current);
     if ( rc )
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 17644aa..63c9bcf 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1493,13 +1493,20 @@ void init_guest_l4_table(l4_pgentry_t l4tab[], const struct domain *d,
         l4tab[l4_table_offset(RO_MPT_VIRT_START)] = l4e_empty();
 }
 
-void fill_ro_mpt(unsigned long mfn)
+bool_t fill_ro_mpt(unsigned long mfn)
 {
     l4_pgentry_t *l4tab = map_domain_page(_mfn(mfn));
+    bool_t ret = 0;
 
-    l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
-        idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+    if ( !l4e_get_intpte(l4tab[l4_table_offset(RO_MPT_VIRT_START)]) )
+    {
+        l4tab[l4_table_offset(RO_MPT_VIRT_START)] =
+            idle_pg_table[l4_table_offset(RO_MPT_VIRT_START)];
+        ret = 1;
+    }
     unmap_domain_page(l4tab);
+
+    return ret;
 }
 
 void zap_ro_mpt(unsigned long mfn)
@@ -1557,10 +1564,15 @@ static int alloc_l4_table(struct page_info *page)
         adjust_guest_l4e(pl4e[i], d);
     }
 
-    init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+    if ( rc >= 0 )
+    {
+        init_guest_l4_table(pl4e, d, !VM_ASSIST(d, m2p_strict));
+        atomic_inc(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    return rc;
 }
 
 static void free_l1_table(struct page_info *page)
@@ -1678,7 +1690,13 @@ static int free_l4_table(struct page_info *page)
 
     unmap_domain_page(pl4e);
 
-    return rc > 0 ? 0 : rc;
+    if ( rc >= 0 )
+    {
+        atomic_dec(&d->arch.pv_domain.nr_l4_pages);
+        rc = 0;
+    }
+
+    return rc;
 }
 
 int page_lock(struct page_info *page)
diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
index 0fce09e..c6c6e71 100644
--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -247,6 +247,8 @@ struct pv_domain
 {
     l1_pgentry_t **gdt_ldt_l1tab;
 
+    atomic_t nr_l4_pages;
+
     /* map_domain_page() mapping cache. */
     struct mapcache_domain mapcache;
 };
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index b4075e6..b4299fd 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -321,7 +321,7 @@ int free_page_type(struct page_info *page, unsigned long type,
 
 void init_guest_l4_table(l4_pgentry_t[], const struct domain *,
                          bool_t zap_ro_mpt);
-void fill_ro_mpt(unsigned long mfn);
+bool_t fill_ro_mpt(unsigned long mfn);
 void zap_ro_mpt(unsigned long mfn);
 
 int is_iomem_page(unsigned long mfn);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4Z-0000Sf-Ft; Thu, 25 Feb 2016 00:46:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4Y-0000ST-V2
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:27 +0000
Content-Length: 2573
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	B2/98-02994-2EE4EC65; Thu, 25 Feb 2016 00:46:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456361184!24554751!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54250 invoked from network); 25 Feb 2016 00:46:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4W-0001Qf-Lr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4W-0003ew-Is
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4W-0003ew-Is@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:24 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2450888317660558304=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2450888317660558304==
Content-Length: 2169
Content-Transfer-Encoding: quoted-printable

commit ad1313a3b03362f0f9884bdeedf6576b56d5dead
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:40:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:40:30 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    master commit: 86c59615f4e7f38df24182f20d9dbdec3299c514
    master date: 2016-02-09 13:22:13 +0100
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index e9c0080..6eb2167 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -688,7 +688,8 @@ static int hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6


--===============2450888317660558304==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2450888317660558304==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4Z-0000Sf-Ft; Thu, 25 Feb 2016 00:46:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4Y-0000ST-V2
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:27 +0000
Content-Length: 2573
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
	B2/98-02994-2EE4EC65; Thu, 25 Feb 2016 00:46:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456361184!24554751!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 54250 invoked from network); 25 Feb 2016 00:46:25 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4W-0001Qf-Lr
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4W-0003ew-Is
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4W-0003ew-Is@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:24 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86/nHVM: avoid NULL deref during
	INVLPG intercept handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2450888317660558304=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============2450888317660558304==
Content-Length: 2169
Content-Transfer-Encoding: quoted-printable

commit ad1313a3b03362f0f9884bdeedf6576b56d5dead
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Feb 17 16:40:30 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:40:30 2016 +0100

    x86/nHVM: avoid NULL deref during INVLPG intercept handling
    
    When intercepting (or emulating) L1 guest INVLPG, the nested P2M
    pointer may be (is=3F) NULL, and hence there's no point in calling
    p2m_flush(). In fact doing so would cause a dereference of that NULL
    pointer at least in the ASSERT() right at the beginning of the
    function.
    
    While so far nothing supports hap_invlpg() being reachable from the
    INVLPG intercept paths (only INVLPG insn emulation would lead there),
    and hence the code in question (added by dd6de3ab99 ["Implement
    Nested-on-Nested"]) appears to be dead, this seems to be the change
    which can be agreed on as an immediate fix. Ideally, however, the
    problematic code would go away altogether. See thread at
    lists.xenproject.org/archives/html/xen-devel/2016-01/msg03762.html.
    
    Reported-by: =E5=88=98=E4=BB=A4 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@citrix.com>
    master commit: 86c59615f4e7f38df24182f20d9dbdec3299c514
    master date: 2016-02-09 13:22:13 +0100
---
 xen/arch/x86/mm/hap/hap.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index e9c0080..6eb2167 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -688,7 +688,8 @@ static int hap_invlpg(struct vcpu *v, unsigned long va)
          * Must perform the flush right now or an other vcpu may
          * use it when we use the next VMRUN emulation, otherwise.
          */
-        p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
+        if ( vcpu_nestedhvm(v).nv_p2m )
+            p2m_flush(v, vcpu_nestedhvm(v).nv_p2m);
         return 1;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6


--===============2450888317660558304==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============2450888317660558304==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4k-0000UU-M9; Thu, 25 Feb 2016 00:46:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4j-0000UB-HE
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:37 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	5D/A0-03316-CEE4EC65; Thu, 25 Feb 2016 00:46:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456361195!8721928!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52561 invoked from network); 25 Feb 2016 00:46:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4g-0001Qn-VM
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4g-0003h5-Tc
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4g-0003h5-Tc@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:34 +0000
Subject: [Xen-changelog] [xen stable-4.6] hvmloader: fix scratch_alloc to
	avoid overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d8689b6b135b5976ff62d48c61df9bbda01f10c
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 17 16:41:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:41:01 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
    master date: 2016-02-10 14:46:45 +0100
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index d779fd7..9382709 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -478,7 +478,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:38 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4k-0000UU-M9; Thu, 25 Feb 2016 00:46:38 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4j-0000UB-HE
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:37 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
	5D/A0-03316-CEE4EC65; Thu, 25 Feb 2016 00:46:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456361195!8721928!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 52561 invoked from network); 25 Feb 2016 00:46:36 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4g-0001Qn-VM
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4g-0003h5-Tc
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:34 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4g-0003h5-Tc@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:34 +0000
Subject: [Xen-changelog] [xen stable-4.6] hvmloader: fix scratch_alloc to
	avoid overlaps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d8689b6b135b5976ff62d48c61df9bbda01f10c
Author:     Anthony PERARD <anthony.perard@citrix.com>
AuthorDate: Wed Feb 17 16:41:01 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Feb 17 16:41:01 2016 +0100

    hvmloader: fix scratch_alloc to avoid overlaps
    
    scratch_alloc() set scratch_start to the last byte of the current
    allocation.  The value of scratch_start is then reused as is (if it is
    already aligned) in the next allocation.  This result in a potential reuse
    of the last byte of the previous allocation.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 4ab3ac074cb1f101f42e02103fa263a1f4f422b5
    master date: 2016-02-10 14:46:45 +0100
---
 tools/firmware/hvmloader/util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index d779fd7..9382709 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -478,7 +478,7 @@ void *scratch_alloc(uint32_t size, uint32_t align)
     if ( align < 16 )
         align = 16;
 
-    s = (scratch_start + align - 1) & ~(align - 1);
+    s = (scratch_start + align) & ~(align - 1);
     e = s + size - 1;
 
     BUG_ON(e < s);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4u-0000Vq-S0; Thu, 25 Feb 2016 00:46:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4t-0000Vg-Er
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:47 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	D1/99-04025-6FE4EC65; Thu, 25 Feb 2016 00:46:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456361205!24514672!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3027 invoked from network); 25 Feb 2016 00:46:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4r-0001R0-9s
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4r-0003iB-6E
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4r-0003iB-6E@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:45 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ec92e7c629a60adb1f32e47605cf8bdf9b6afd47
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:23:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:23:08 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 63c9bcf..c8ca657 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -853,9 +853,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk4u-0000Vq-S0; Thu, 25 Feb 2016 00:46:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4t-0000Vg-Er
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:47 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
	D1/99-04025-6FE4EC65; Thu, 25 Feb 2016 00:46:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456361205!24514672!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3027 invoked from network); 25 Feb 2016 00:46:46 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4r-0001R0-9s
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk4r-0003iB-6E
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk4r-0003iB-6E@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:45 +0000
Subject: [Xen-changelog] [xen stable-4.6] x86: fix unintended fallthrough
	case from XSA-154
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ec92e7c629a60adb1f32e47605cf8bdf9b6afd47
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Feb 18 15:23:08 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:23:08 2016 +0100

    x86: fix unintended fallthrough case from XSA-154
    
    ... and annotate the other deliberate one: Coverity objects otherwise.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    
    One of the two instances was actually a bug.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8dd6d1c099865ee5f5916616a0ca79cd943c46f9
    master date: 2016-02-18 15:10:07 +0100
---
 xen/arch/x86/mm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 63c9bcf..c8ca657 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -853,9 +853,11 @@ get_page_from_l1e(
             case 0:
                 break;
             case 1:
-                if ( is_hardware_domain(l1e_owner) )
+                if ( !is_hardware_domain(l1e_owner) )
+                    break;
+                /* fallthrough */
             case -1:
-                    return 0;
+                return 0;
             default:
                 ASSERT_UNREACHABLE();
             }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk55-0000Xi-77; Thu, 25 Feb 2016 00:46:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk54-0000XY-2O
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:58 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	95/82-02992-10F4EC65; Thu, 25 Feb 2016 00:46:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456361215!24554796!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55620 invoked from network); 25 Feb 2016 00:46:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk51-0001RE-KU
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk51-0003j8-IR
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk51-0003j8-IR@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:55 +0000
Subject: [Xen-changelog] [xen stable-4.6] xen/arm64: Make sure we get all
	debug output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 046e5d0218a0600f9a21fd3b5a5ccfbaaf4357b6
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 18 15:25:20 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:25:20 2016 +0100

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
    master commit: c31d34082555566eb27d0d1eb42962f72fa886d3
    master date: 2016-02-18 10:13:42 +0000
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 9ed9a93..19fa2bb 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 00:46:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 00:46:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYk55-0000Xi-77; Thu, 25 Feb 2016 00:46:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk54-0000XY-2O
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:58 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
	95/82-02992-10F4EC65; Thu, 25 Feb 2016 00:46:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1456361215!24554796!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55620 invoked from network); 25 Feb 2016 00:46:56 -0000
Received: from 50-57-168-107.static.cloud-ips.com (HELO mail.xen.org)
	(50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	25 Feb 2016 00:46:56 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk51-0001RE-KU
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1aYk51-0003j8-IR
	for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 00:46:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYk51-0003j8-IR@xenbits.xen.org>
Date: Thu, 25 Feb 2016 00:46:55 +0000
Subject: [Xen-changelog] [xen stable-4.6] xen/arm64: Make sure we get all
	debug output
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 046e5d0218a0600f9a21fd3b5a5ccfbaaf4357b6
Author:     Dirk Behme <dirk.behme@de.bosch.com>
AuthorDate: Thu Feb 18 15:25:20 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 18 15:25:20 2016 +0100

    xen/arm64: Make sure we get all debug output
    
    Starting in the wrong ELx mode I get the following debug output:
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Boot failed -
    
    The output of "Please update the bootloader" is missing here, because
    string concatenation in gas, unlike in C, keeps the \0 between each
    individual string.
    
    Make sure this is output, too. With this, we get
    
    ...
    - Current EL 00000004 -
    - Xen must be entered in NS EL2 mode -
    - Please update the bootloader -
    - Boot failed -
    
    as intended.
    
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- added same change to arm32 case ]
    master commit: c31d34082555566eb27d0d1eb42962f72fa886d3
    master date: 2016-02-18 10:13:42 +0000
---
 xen/arch/arm/arm32/head.S | 4 ++--
 xen/arch/arm/arm64/head.S | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 5c0263e..e1f29bd 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -173,8 +173,8 @@ common_start:
         beq   hyp
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS Hyp mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS Hyp mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b     fail
 
 hyp:    PRINT("- Xen starting in Hyp mode -\r\n")
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 9ed9a93..19fa2bb 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.6

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyZ-0006eZ-Iz; Thu, 25 Feb 2016 14:33:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyY-0006e9-8z
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:06 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
 F0/02-03549-1A01FC65; Thu, 25 Feb 2016 14:33:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456410784!24699621!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30686 invoked from network); 25 Feb 2016 14:33:05 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyV-0000bj-W5
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyV-0000bz-Nq
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyV-0000bz-Nq@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:03 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: add Doug Goldstein for
	Travis CI config
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE2MjRjZjQzN2I1MWI4YjFiN2VlM2RhMjU0MjdhZTQxMjg3NjYzNzIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDE5IDEzOjU1OjQ5IDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgSWFuIEphY2tzb24gPElhbi5KYWNr
c29uQGV1LmNpdHJpeC5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTE6NTU6MzMgMjAxNiAr
MDAwMAoKICAgIE1BSU5UQUlORVJTOiBhZGQgRG91ZyBHb2xkc3RlaW4gZm9yIFRyYXZpcyBDSSBj
b25maWcKICAgIAogICAgQWRkIG15c2VsZiBhcyB0aGUgbWFpbnRhaW5lciBmb3IgdGhlIFRyYXZp
cyBDSSBjb25maWcuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IERvdWcgR29sZHN0ZWluIDxjYXJk
b2VAY2FyZG9lLmNvbT4KICAgIFJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBl
dS5jaXRyaXguY29tPgotLS0KIE1BSU5UQUlORVJTIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2Vk
LCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJT
CmluZGV4IGNkNGRhMDQuLmRiMTRjZmUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01B
SU5UQUlORVJTCkBAIC0zMzcsNiArMzM3LDEyIEBAIEY6CXhlbi9jb21tb24vdG1lbSoKIEY6CXhl
bi9pbmNsdWRlL3hlbi90bWVtKgogRjoJZG9jcy9taXNjL3RtZW0qCiAKK1RSQVZJUyBDSQorTToJ
RG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgorVzoJaHR0cHM6Ly90cmF2aXMtY2ku
b3JnL3hlbi1wcm9qZWN0L3hlbgorUzoJU3VwcG9ydGVkCitGOgkudHJhdmlzLnltbAorCiBVTk1P
RElGSUVEIExJTlVYIFBWIERSSVZFUlMKIE06CUtlaXIgRnJhc2VyIDxrZWlyQHhlbi5vcmc+CiBN
OglKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyZ-0006eZ-Iz; Thu, 25 Feb 2016 14:33:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyY-0006e9-8z
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:06 +0000
Received: from [85.158.139.211] by server-5.bemta-5.messagelabs.com id
 F0/02-03549-1A01FC65; Thu, 25 Feb 2016 14:33:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456410784!24699621!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30686 invoked from network); 25 Feb 2016 14:33:05 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyV-0000bj-W5
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyV-0000bz-Nq
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyV-0000bz-Nq@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:03 +0000
Subject: [Xen-changelog] [xen master] MAINTAINERS: add Doug Goldstein for
	Travis CI config
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE2MjRjZjQzN2I1MWI4YjFiN2VlM2RhMjU0MjdhZTQxMjg3NjYzNzIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDE5IDEzOjU1OjQ5IDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgSWFuIEphY2tzb24gPElhbi5KYWNr
c29uQGV1LmNpdHJpeC5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTE6NTU6MzMgMjAxNiAr
MDAwMAoKICAgIE1BSU5UQUlORVJTOiBhZGQgRG91ZyBHb2xkc3RlaW4gZm9yIFRyYXZpcyBDSSBj
b25maWcKICAgIAogICAgQWRkIG15c2VsZiBhcyB0aGUgbWFpbnRhaW5lciBmb3IgdGhlIFRyYXZp
cyBDSSBjb25maWcuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IERvdWcgR29sZHN0ZWluIDxjYXJk
b2VAY2FyZG9lLmNvbT4KICAgIFJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBl
dS5jaXRyaXguY29tPgotLS0KIE1BSU5UQUlORVJTIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2Vk
LCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJT
CmluZGV4IGNkNGRhMDQuLmRiMTRjZmUgMTAwNjQ0Ci0tLSBhL01BSU5UQUlORVJTCisrKyBiL01B
SU5UQUlORVJTCkBAIC0zMzcsNiArMzM3LDEyIEBAIEY6CXhlbi9jb21tb24vdG1lbSoKIEY6CXhl
bi9pbmNsdWRlL3hlbi90bWVtKgogRjoJZG9jcy9taXNjL3RtZW0qCiAKK1RSQVZJUyBDSQorTToJ
RG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgorVzoJaHR0cHM6Ly90cmF2aXMtY2ku
b3JnL3hlbi1wcm9qZWN0L3hlbgorUzoJU3VwcG9ydGVkCitGOgkudHJhdmlzLnltbAorCiBVTk1P
RElGSUVEIExJTlVYIFBWIERSSVZFUlMKIE06CUtlaXIgRnJhc2VyIDxrZWlyQHhlbi5vcmc+CiBN
OglKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyl-0006gi-L1; Thu, 25 Feb 2016 14:33:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyk-0006gT-0v
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:18 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
 DC/40-04060-CA01FC65; Thu, 25 Feb 2016 14:33:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410794!25170867!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27319 invoked from network); 25 Feb 2016 14:33:15 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyg-0000br-Ek
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyg-0000cV-Ak
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyg-0000cV-Ak@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:14 +0000
Subject: [Xen-changelog] [xen master] init: annotate all command line
	parameter infrastructure as const
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDU5YjE1MWQyYzBiZjM3ZjNmMmY5ODQwOTZkMzg0ZGZkZmEwM2E4ZjQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
TW9uIEZlYiAyMiAxNzoxNzoxOCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoxNzoxOCAyMDE2ICsw
MTAwCgogICAgaW5pdDogYW5ub3RhdGUgYWxsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgaW5mcmFz
dHJ1Y3R1cmUgYXMgY29uc3QKICAgIAogICAgVGhlcmUgaXMgbm8gcmVhc29uIGZvciBhbnkgb2Yg
aXQgdG8gYmUgbW9kaWZpZWQuICBBZGRpdGlvbmFsbHksIGxpbmsKICAgIC5pbml0LnNldHVwIGJl
c2lkZSB0aGUgb3RoZXIgY29uc3RhbnQgLmluaXQgZGF0YS4KICAgIAogICAgTm8gZnVuY3Rpb25h
bCBjaGFuZ2UuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+CiAgICBbamI6IHJlZHVjZSBhbGlnbm1lbnRzIHRvIDhdCiAgICBS
ZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQt
Ynk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+
Ci0tLQogeGVuL2FyY2gvYXJtL3hlbi5sZHMuUyB8IDExICsrKysrKy0tLS0tCiB4ZW4vYXJjaC94
ODYveGVuLmxkcy5TIHwgMTEgKysrKysrLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9pbml0LmggfCAg
NCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMgYi94ZW4vYXJjaC9hcm0veGVu
Lmxkcy5TCmluZGV4IGY1MDFhMmYuLmQyMmMyNjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS94
ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gvYXJtL3hlbi5sZHMuUwpAQCAtMTE1LDYgKzExNSwxMiBA
QCBTRUNUSU9OUwogICAuaW5pdC5kYXRhIDogewogICAgICAgICooLmluaXQucm9kYXRhKQogICAg
ICAgICooLmluaXQucm9kYXRhLnN0ciopCisKKyAgICAgICAuID0gQUxJR04oOCk7CisgICAgICAg
X19zZXR1cF9zdGFydCA9IC47CisgICAgICAgKiguaW5pdC5zZXR1cCkKKyAgICAgICBfX3NldHVw
X2VuZCA9IC47CisKICAgICAgICAqKC5pbml0LmRhdGEpCiAgICAgICAgKiguaW5pdC5kYXRhLnJl
bCkKICAgICAgICAqKC5pbml0LmRhdGEucmVsLiopCkBAIC0xMjUsMTEgKzEzMSw2IEBAIFNFQ1RJ
T05TCiAgICAgICAgX19jdG9yc19lbmQgPSAuOwogICB9IDp0ZXh0CiAgIC4gPSBBTElHTigzMik7
Ci0gIC5pbml0LnNldHVwIDogewotICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOwotICAgICAgICoo
LmluaXQuc2V0dXApCi0gICAgICAgX19zZXR1cF9lbmQgPSAuOwotICB9IDp0ZXh0CiAgIC5pbml0
LnByb2MuaW5mbyA6IHsKICAgICAgICBfX3Byb2NfaW5mb19zdGFydCA9IC47CiAgICAgICAgKigu
aW5pdC5wcm9jLmluZm8pCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVu
L2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCAzYjE5OWNhLi4xMDAwN2EzIDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTEy
MCw2ICsxMjAsMTIgQEAgU0VDVElPTlMKICAgLmluaXQuZGF0YSA6IHsKICAgICAgICAqKC5pbml0
LnJvZGF0YSkKICAgICAgICAqKC5pbml0LnJvZGF0YS5zdHIqKQorCisgICAgICAgLiA9IEFMSUdO
KDgpOworICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOworICAgICAgICooLmluaXQuc2V0dXApCisg
ICAgICAgX19zZXR1cF9lbmQgPSAuOworCiAgICAgICAgKiguaW5pdC5kYXRhKQogICAgICAgICoo
LmluaXQuZGF0YS5yZWwpCiAgICAgICAgKiguaW5pdC5kYXRhLnJlbC4qKQpAQCAtMTQ2LDExICsx
NTIsNiBAQCBTRUNUSU9OUwogICAgICAgIF9fY3RvcnNfZW5kID0gLjsKICAgfSA6dGV4dAogICAu
ID0gQUxJR04oMzIpOwotICAuaW5pdC5zZXR1cCA6IHsKLSAgICAgICBfX3NldHVwX3N0YXJ0ID0g
LjsKLSAgICAgICAqKC5pbml0LnNldHVwKQotICAgICAgIF9fc2V0dXBfZW5kID0gLjsKLSAgfSA6
dGV4dAogICAuaW5pdGNhbGwuaW5pdCA6IHsKICAgICAgICBfX2luaXRjYWxsX3N0YXJ0ID0gLjsK
ICAgICAgICAqKC5pbml0Y2FsbHByZXNtcC5pbml0KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2luaXQuaCBiL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKaW5kZXggNjA4MTEwMi4uMTQyYzVj
OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2luaXQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vaW5pdC5oCkBAIC04Nyw4ICs4Nyw4IEBAIHN0cnVjdCBrZXJuZWxfcGFyYW0gewogCiBleHRl
cm4gc3RydWN0IGtlcm5lbF9wYXJhbSBfX3NldHVwX3N0YXJ0LCBfX3NldHVwX2VuZDsKIAotI2Rl
ZmluZSBfX3NldHVwX3N0ciBzdGF0aWMgX19pbml0ZGF0YSBfX2F0dHJpYnV0ZV9fKChfX2FsaWdu
ZWRfXygxKSkpIGNoYXIKLSNkZWZpbmUgX19rcGFyYW0gc3RhdGljIF9faW5pdHNldHVwIHN0cnVj
dCBrZXJuZWxfcGFyYW0KKyNkZWZpbmUgX19zZXR1cF9zdHIgc3RhdGljIGNvbnN0IF9faW5pdGNv
bnN0IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDEpKSkgY2hhcgorI2RlZmluZSBfX2twYXJh
bSBzdGF0aWMgY29uc3QgX19pbml0c2V0dXAgc3RydWN0IGtlcm5lbF9wYXJhbQogCiAjZGVmaW5l
IGN1c3RvbV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3Ry
XyMjX3ZhcltdID0gX25hbWU7IFwKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hv
bWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxv
Z0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyl-0006gi-L1; Thu, 25 Feb 2016 14:33:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyk-0006gT-0v
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:18 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
 DC/40-04060-CA01FC65; Thu, 25 Feb 2016 14:33:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410794!25170867!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27319 invoked from network); 25 Feb 2016 14:33:15 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyg-0000br-Ek
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyg-0000cV-Ak
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyg-0000cV-Ak@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:14 +0000
Subject: [Xen-changelog] [xen master] init: annotate all command line
	parameter infrastructure as const
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDU5YjE1MWQyYzBiZjM3ZjNmMmY5ODQwOTZkMzg0ZGZkZmEwM2E4ZjQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
TW9uIEZlYiAyMiAxNzoxNzoxOCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoxNzoxOCAyMDE2ICsw
MTAwCgogICAgaW5pdDogYW5ub3RhdGUgYWxsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgaW5mcmFz
dHJ1Y3R1cmUgYXMgY29uc3QKICAgIAogICAgVGhlcmUgaXMgbm8gcmVhc29uIGZvciBhbnkgb2Yg
aXQgdG8gYmUgbW9kaWZpZWQuICBBZGRpdGlvbmFsbHksIGxpbmsKICAgIC5pbml0LnNldHVwIGJl
c2lkZSB0aGUgb3RoZXIgY29uc3RhbnQgLmluaXQgZGF0YS4KICAgIAogICAgTm8gZnVuY3Rpb25h
bCBjaGFuZ2UuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+CiAgICBbamI6IHJlZHVjZSBhbGlnbm1lbnRzIHRvIDhdCiAgICBS
ZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQt
Ynk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+
Ci0tLQogeGVuL2FyY2gvYXJtL3hlbi5sZHMuUyB8IDExICsrKysrKy0tLS0tCiB4ZW4vYXJjaC94
ODYveGVuLmxkcy5TIHwgMTEgKysrKysrLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9pbml0LmggfCAg
NCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMgYi94ZW4vYXJjaC9hcm0veGVu
Lmxkcy5TCmluZGV4IGY1MDFhMmYuLmQyMmMyNjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS94
ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gvYXJtL3hlbi5sZHMuUwpAQCAtMTE1LDYgKzExNSwxMiBA
QCBTRUNUSU9OUwogICAuaW5pdC5kYXRhIDogewogICAgICAgICooLmluaXQucm9kYXRhKQogICAg
ICAgICooLmluaXQucm9kYXRhLnN0ciopCisKKyAgICAgICAuID0gQUxJR04oOCk7CisgICAgICAg
X19zZXR1cF9zdGFydCA9IC47CisgICAgICAgKiguaW5pdC5zZXR1cCkKKyAgICAgICBfX3NldHVw
X2VuZCA9IC47CisKICAgICAgICAqKC5pbml0LmRhdGEpCiAgICAgICAgKiguaW5pdC5kYXRhLnJl
bCkKICAgICAgICAqKC5pbml0LmRhdGEucmVsLiopCkBAIC0xMjUsMTEgKzEzMSw2IEBAIFNFQ1RJ
T05TCiAgICAgICAgX19jdG9yc19lbmQgPSAuOwogICB9IDp0ZXh0CiAgIC4gPSBBTElHTigzMik7
Ci0gIC5pbml0LnNldHVwIDogewotICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOwotICAgICAgICoo
LmluaXQuc2V0dXApCi0gICAgICAgX19zZXR1cF9lbmQgPSAuOwotICB9IDp0ZXh0CiAgIC5pbml0
LnByb2MuaW5mbyA6IHsKICAgICAgICBfX3Byb2NfaW5mb19zdGFydCA9IC47CiAgICAgICAgKigu
aW5pdC5wcm9jLmluZm8pCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVu
L2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCAzYjE5OWNhLi4xMDAwN2EzIDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTEy
MCw2ICsxMjAsMTIgQEAgU0VDVElPTlMKICAgLmluaXQuZGF0YSA6IHsKICAgICAgICAqKC5pbml0
LnJvZGF0YSkKICAgICAgICAqKC5pbml0LnJvZGF0YS5zdHIqKQorCisgICAgICAgLiA9IEFMSUdO
KDgpOworICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOworICAgICAgICooLmluaXQuc2V0dXApCisg
ICAgICAgX19zZXR1cF9lbmQgPSAuOworCiAgICAgICAgKiguaW5pdC5kYXRhKQogICAgICAgICoo
LmluaXQuZGF0YS5yZWwpCiAgICAgICAgKiguaW5pdC5kYXRhLnJlbC4qKQpAQCAtMTQ2LDExICsx
NTIsNiBAQCBTRUNUSU9OUwogICAgICAgIF9fY3RvcnNfZW5kID0gLjsKICAgfSA6dGV4dAogICAu
ID0gQUxJR04oMzIpOwotICAuaW5pdC5zZXR1cCA6IHsKLSAgICAgICBfX3NldHVwX3N0YXJ0ID0g
LjsKLSAgICAgICAqKC5pbml0LnNldHVwKQotICAgICAgIF9fc2V0dXBfZW5kID0gLjsKLSAgfSA6
dGV4dAogICAuaW5pdGNhbGwuaW5pdCA6IHsKICAgICAgICBfX2luaXRjYWxsX3N0YXJ0ID0gLjsK
ICAgICAgICAqKC5pbml0Y2FsbHByZXNtcC5pbml0KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2luaXQuaCBiL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKaW5kZXggNjA4MTEwMi4uMTQyYzVj
OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2luaXQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vaW5pdC5oCkBAIC04Nyw4ICs4Nyw4IEBAIHN0cnVjdCBrZXJuZWxfcGFyYW0gewogCiBleHRl
cm4gc3RydWN0IGtlcm5lbF9wYXJhbSBfX3NldHVwX3N0YXJ0LCBfX3NldHVwX2VuZDsKIAotI2Rl
ZmluZSBfX3NldHVwX3N0ciBzdGF0aWMgX19pbml0ZGF0YSBfX2F0dHJpYnV0ZV9fKChfX2FsaWdu
ZWRfXygxKSkpIGNoYXIKLSNkZWZpbmUgX19rcGFyYW0gc3RhdGljIF9faW5pdHNldHVwIHN0cnVj
dCBrZXJuZWxfcGFyYW0KKyNkZWZpbmUgX19zZXR1cF9zdHIgc3RhdGljIGNvbnN0IF9faW5pdGNv
bnN0IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDEpKSkgY2hhcgorI2RlZmluZSBfX2twYXJh
bSBzdGF0aWMgY29uc3QgX19pbml0c2V0dXAgc3RydWN0IGtlcm5lbF9wYXJhbQogCiAjZGVmaW5l
IGN1c3RvbV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3Ry
XyMjX3ZhcltdID0gX25hbWU7IFwKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hv
bWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxv
Z0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyu-0006iJ-N2; Thu, 25 Feb 2016 14:33:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyt-0006i3-Ag
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:27 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
 41/01-02989-6B01FC65; Thu, 25 Feb 2016 14:33:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1456410805!24756474!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36348 invoked from network); 25 Feb 2016 14:33:25 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyq-0000c9-Ro
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyq-0000d6-MW
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyq-0000d6-MW@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:24 +0000
Subject: [Xen-changelog] [xen master] sched: tracing: enable TSC tracing for
	all events
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDQ0YzQxMTJmNTc3MmI1NjgzZjU0MzA5NjYyMDA1MTRjOTMwMWJmZDgKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IE1vbiBGZWIgMjIgMTc6MTg6NTkgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTc6MTg6NTkgMjAxNiAr
MDEwMAoKICAgIHNjaGVkOiB0cmFjaW5nOiBlbmFibGUgVFNDIHRyYWNpbmcgZm9yIGFsbCBldmVu
dHMKICAgIAogICAgaXQgaXMgZW5hYmxlZCBmb3IgcHJldHR5IG11Y2ggYWxsIG9mIHRoZW0gYWxy
ZWFkeS4KICAgIFRoZXJlIHdlcmUganVzdCBhIGZldyB0aGF0IGhhZCBpdCBkaXNhYmxlZC4KICAg
IAogICAgV2hlbiB0cmFjaW5nIGEgc2NoZWR1bGVyLCB0aW1pbmcgaW5mb3JtYXRpb24gaXMKICAg
IHJlYWxseSBpbXBvcnRhbnQsIHNvIGVuYWJsZSBpdCBldmVyeXdoZXJlIHNjaGVkdWxpbmcKICAg
IHJlbGF0ZWQuCiAgICAKICAgIE5vdGUgdGhhdCB0aGlzIHdhcyBub3QgcmVhbGx5IGEgcHJvYmxl
bSBpZiBsb29raW5nCiAgICBhdCB0aGUgdHJhY2VzIHdpdGggeGVuYWx5emUsIGJ1dCBpdCB3YXMg
aWYgdXNpbmcKICAgIHhlbnRyYWNlX2Zvcm1hdC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRGFy
aW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTogR2Vv
cmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgotLS0KIHhlbi9jb21tb24vc2No
ZWRfY3JlZGl0LmMgIHwgMiArLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgfCA2ICsrKy0t
LQogeGVuL2NvbW1vbi9zY2hlZF9ydC5jICAgICAgfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDUg
aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Nj
aGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCA1Mjc5YjkyLi5i
ZDJmMzdmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisrKyBiL3hlbi9j
b21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTQ3Niw3ICs0NzYsNyBAQCBzdGF0aWMgaW5saW5lIHZv
aWQgX19ydW5xX3RpY2tsZShzdHJ1Y3QgY3NjaGVkX3ZjcHUgKm5ldykKICAgICAgICAgewogICAg
ICAgICAgICAgLyogQXZvaWQgVFJBQ0VfKjogc2F2ZXMgY2hlY2tpbmcgIXRiX2luaXRfZG9uZSBl
YWNoIHN0ZXAgKi8KICAgICAgICAgICAgIGZvcl9lYWNoX2NwdShjcHUsICZtYXNrKQotICAgICAg
ICAgICAgICAgIF9fdHJhY2VfdmFyKFRSQ19DU0NIRURfVElDS0xFLCAwLCBzaXplb2YoY3B1KSwg
JmNwdSk7CisgICAgICAgICAgICAgICAgX190cmFjZV92YXIoVFJDX0NTQ0hFRF9USUNLTEUsIDEs
IHNpemVvZihjcHUpLCAmY3B1KTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFNlbmQgc2NoZWR1
bGVyIGludGVycnVwdHMgdG8gZGVzaWduYXRlZCBDUFVzICovCmRpZmYgLS1naXQgYS94ZW4vY29t
bW9uL3NjaGVkX2NyZWRpdDIuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCmluZGV4IGNm
NDBmNjguLjI5MzRlMjYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCisr
KyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCkBAIC00NTYsNyArNDU2LDcgQEAgcnVucV9p
bnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1
Y3QgY3NjaGVkMl92Y3B1ICoKICAgICAgICAgZC5kb20gPSBzdmMtPnZjcHUtPmRvbWFpbi0+ZG9t
YWluX2lkOwogICAgICAgICBkLnZjcHUgPSBzdmMtPnZjcHUtPnZjcHVfaWQ7CiAgICAgICAgIGQu
cG9zID0gcG9zOwotICAgICAgICB0cmFjZV92YXIoVFJDX0NTQ0hFRDJfUlVOUV9QT1MsIDAsCisg
ICAgICAgIHRyYWNlX3ZhcihUUkNfQ1NDSEVEMl9SVU5RX1BPUywgMSwKICAgICAgICAgICAgICAg
ICAgIHNpemVvZihkKSwKICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopJmQpOwog
ICAgIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB0aWNrbGU6CiAgICAgICAgICAgICB1bnNpZ25lZCBj
cHU6MTYsIHBhZDoxNjsKICAgICAgICAgfSBkOwogICAgICAgICBkLmNwdSA9IGlwaWQ7IGQucGFk
ID0gMDsKLSAgICAgICAgdHJhY2VfdmFyKFRSQ19DU0NIRUQyX1RJQ0tMRSwgMCwKKyAgICAgICAg
dHJhY2VfdmFyKFRSQ19DU0NIRUQyX1RJQ0tMRSwgMSwKICAgICAgICAgICAgICAgICAgIHNpemVv
ZihkKSwKICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopJmQpOwogICAgIH0KQEAg
LTE3MjEsNyArMTcyMSw3IEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgICovCiAgICAgaWYgKCB0
YXNrbGV0X3dvcmtfc2NoZWR1bGVkICkKICAgICB7Ci0gICAgICAgIHRyYWNlX3ZhcihUUkNfQ1ND
SEVEMl9TQ0hFRF9UQVNLTEVULCAwLCAwLCAgTlVMTCk7CisgICAgICAgIHRyYWNlX3ZhcihUUkNf
Q1NDSEVEMl9TQ0hFRF9UQVNLTEVULCAxLCAwLCAgTlVMTCk7CiAgICAgICAgIHNuZXh0ID0gQ1ND
SEVEMl9WQ1BVKGlkbGVfdmNwdVtjcHVdKTsKICAgICB9CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDUzZGU2
ZDYuLjMzYWM5ZGUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfcnQuYworKysgYi94ZW4v
Y29tbW9uL3NjaGVkX3J0LmMKQEAgLTk4NSw3ICs5ODUsNyBAQCBvdXQ6CiAgICAgICAgIH0gZDsK
ICAgICAgICAgZC5jcHUgPSBjcHVfdG9fdGlja2xlOwogICAgICAgICBkLnBhZCA9IDA7Ci0gICAg
ICAgIHRyYWNlX3ZhcihUUkNfUlREU19USUNLTEUsIDAsCisgICAgICAgIHRyYWNlX3ZhcihUUkNf
UlREU19USUNLTEUsIDEsCiAgICAgICAgICAgICAgICAgICBzaXplb2YoZCksCiAgICAgICAgICAg
ICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICB9Ci0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:28 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwyu-0006iJ-N2; Thu, 25 Feb 2016 14:33:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyt-0006i3-Ag
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:27 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
 41/01-02989-6B01FC65; Thu, 25 Feb 2016 14:33:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1456410805!24756474!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36348 invoked from network); 25 Feb 2016 14:33:25 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyq-0000c9-Ro
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwyq-0000d6-MW
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwyq-0000d6-MW@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:24 +0000
Subject: [Xen-changelog] [xen master] sched: tracing: enable TSC tracing for
	all events
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDQ0YzQxMTJmNTc3MmI1NjgzZjU0MzA5NjYyMDA1MTRjOTMwMWJmZDgKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IE1vbiBGZWIgMjIgMTc6MTg6NTkgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTc6MTg6NTkgMjAxNiAr
MDEwMAoKICAgIHNjaGVkOiB0cmFjaW5nOiBlbmFibGUgVFNDIHRyYWNpbmcgZm9yIGFsbCBldmVu
dHMKICAgIAogICAgaXQgaXMgZW5hYmxlZCBmb3IgcHJldHR5IG11Y2ggYWxsIG9mIHRoZW0gYWxy
ZWFkeS4KICAgIFRoZXJlIHdlcmUganVzdCBhIGZldyB0aGF0IGhhZCBpdCBkaXNhYmxlZC4KICAg
IAogICAgV2hlbiB0cmFjaW5nIGEgc2NoZWR1bGVyLCB0aW1pbmcgaW5mb3JtYXRpb24gaXMKICAg
IHJlYWxseSBpbXBvcnRhbnQsIHNvIGVuYWJsZSBpdCBldmVyeXdoZXJlIHNjaGVkdWxpbmcKICAg
IHJlbGF0ZWQuCiAgICAKICAgIE5vdGUgdGhhdCB0aGlzIHdhcyBub3QgcmVhbGx5IGEgcHJvYmxl
bSBpZiBsb29raW5nCiAgICBhdCB0aGUgdHJhY2VzIHdpdGggeGVuYWx5emUsIGJ1dCBpdCB3YXMg
aWYgdXNpbmcKICAgIHhlbnRyYWNlX2Zvcm1hdC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRGFy
aW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTogR2Vv
cmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgotLS0KIHhlbi9jb21tb24vc2No
ZWRfY3JlZGl0LmMgIHwgMiArLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgfCA2ICsrKy0t
LQogeGVuL2NvbW1vbi9zY2hlZF9ydC5jICAgICAgfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDUg
aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Nj
aGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCA1Mjc5YjkyLi5i
ZDJmMzdmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisrKyBiL3hlbi9j
b21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTQ3Niw3ICs0NzYsNyBAQCBzdGF0aWMgaW5saW5lIHZv
aWQgX19ydW5xX3RpY2tsZShzdHJ1Y3QgY3NjaGVkX3ZjcHUgKm5ldykKICAgICAgICAgewogICAg
ICAgICAgICAgLyogQXZvaWQgVFJBQ0VfKjogc2F2ZXMgY2hlY2tpbmcgIXRiX2luaXRfZG9uZSBl
YWNoIHN0ZXAgKi8KICAgICAgICAgICAgIGZvcl9lYWNoX2NwdShjcHUsICZtYXNrKQotICAgICAg
ICAgICAgICAgIF9fdHJhY2VfdmFyKFRSQ19DU0NIRURfVElDS0xFLCAwLCBzaXplb2YoY3B1KSwg
JmNwdSk7CisgICAgICAgICAgICAgICAgX190cmFjZV92YXIoVFJDX0NTQ0hFRF9USUNLTEUsIDEs
IHNpemVvZihjcHUpLCAmY3B1KTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIFNlbmQgc2NoZWR1
bGVyIGludGVycnVwdHMgdG8gZGVzaWduYXRlZCBDUFVzICovCmRpZmYgLS1naXQgYS94ZW4vY29t
bW9uL3NjaGVkX2NyZWRpdDIuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCmluZGV4IGNm
NDBmNjguLjI5MzRlMjYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCisr
KyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCkBAIC00NTYsNyArNDU2LDcgQEAgcnVucV9p
bnNlcnQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1
Y3QgY3NjaGVkMl92Y3B1ICoKICAgICAgICAgZC5kb20gPSBzdmMtPnZjcHUtPmRvbWFpbi0+ZG9t
YWluX2lkOwogICAgICAgICBkLnZjcHUgPSBzdmMtPnZjcHUtPnZjcHVfaWQ7CiAgICAgICAgIGQu
cG9zID0gcG9zOwotICAgICAgICB0cmFjZV92YXIoVFJDX0NTQ0hFRDJfUlVOUV9QT1MsIDAsCisg
ICAgICAgIHRyYWNlX3ZhcihUUkNfQ1NDSEVEMl9SVU5RX1BPUywgMSwKICAgICAgICAgICAgICAg
ICAgIHNpemVvZihkKSwKICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopJmQpOwog
ICAgIH0KQEAgLTU2NCw3ICs1NjQsNyBAQCB0aWNrbGU6CiAgICAgICAgICAgICB1bnNpZ25lZCBj
cHU6MTYsIHBhZDoxNjsKICAgICAgICAgfSBkOwogICAgICAgICBkLmNwdSA9IGlwaWQ7IGQucGFk
ID0gMDsKLSAgICAgICAgdHJhY2VfdmFyKFRSQ19DU0NIRUQyX1RJQ0tMRSwgMCwKKyAgICAgICAg
dHJhY2VfdmFyKFRSQ19DU0NIRUQyX1RJQ0tMRSwgMSwKICAgICAgICAgICAgICAgICAgIHNpemVv
ZihkKSwKICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopJmQpOwogICAgIH0KQEAg
LTE3MjEsNyArMTcyMSw3IEBAIGNzY2hlZDJfc2NoZWR1bGUoCiAgICAgICovCiAgICAgaWYgKCB0
YXNrbGV0X3dvcmtfc2NoZWR1bGVkICkKICAgICB7Ci0gICAgICAgIHRyYWNlX3ZhcihUUkNfQ1ND
SEVEMl9TQ0hFRF9UQVNLTEVULCAwLCAwLCAgTlVMTCk7CisgICAgICAgIHRyYWNlX3ZhcihUUkNf
Q1NDSEVEMl9TQ0hFRF9UQVNLTEVULCAxLCAwLCAgTlVMTCk7CiAgICAgICAgIHNuZXh0ID0gQ1ND
SEVEMl9WQ1BVKGlkbGVfdmNwdVtjcHVdKTsKICAgICB9CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEv
eGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDUzZGU2
ZDYuLjMzYWM5ZGUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWRfcnQuYworKysgYi94ZW4v
Y29tbW9uL3NjaGVkX3J0LmMKQEAgLTk4NSw3ICs5ODUsNyBAQCBvdXQ6CiAgICAgICAgIH0gZDsK
ICAgICAgICAgZC5jcHUgPSBjcHVfdG9fdGlja2xlOwogICAgICAgICBkLnBhZCA9IDA7Ci0gICAg
ICAgIHRyYWNlX3ZhcihUUkNfUlREU19USUNLTEUsIDAsCisgICAgICAgIHRyYWNlX3ZhcihUUkNf
UlREU19USUNLTEUsIDEsCiAgICAgICAgICAgICAgICAgICBzaXplb2YoZCksCiAgICAgICAgICAg
ICAgICAgICAodW5zaWduZWQgY2hhciAqKSZkKTsKICAgICB9Ci0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwz5-0006jz-PD; Thu, 25 Feb 2016 14:33:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz3-0006jd-LN
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:37 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
 19/91-04060-0C01FC65; Thu, 25 Feb 2016 14:33:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456410815!24972427!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10961 invoked from network); 25 Feb 2016 14:33:36 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz1-0000cJ-7w
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz1-0000de-4l
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwz1-0000de-4l@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:35 +0000
Subject: [Xen-changelog] [xen master] introduce IS_ALIGNED()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGY1NDg4Yjc5NjE0ZWFmNDA4NTQzYTUxMGE4YmY5YzRhODFiZjQ4ZmYKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
TW9uIEZlYiAyMiAxNzoxOTo1MiAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoxOTo1MiAyMDE2ICsw
MTAwCgogICAgaW50cm9kdWNlIElTX0FMSUdORUQoKQogICAgCiAgICBBbmQgYSBmZXcgb3Blbi1j
b2RlZCBhbGlnbm1lbnQgY2hlY2tzIHdoaWNoIEkgZW5jb3VudGVyZWQKICAgIAogICAgU2lnbmVk
LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJl
dmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gv
eDg2L21tLmMgICAgICAgICAgfCA4ICsrKystLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAg
ICB8IDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9jb25maWcuaCAgIHwgMiArKwogeGVuL2luY2x1ZGUv
eGVuL3RtZW1feGVuLmggfCAzICstLQogNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks
IDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJj
aC94ODYvbW0uYwppbmRleCBlYTNmOWYyLi5kNmFhZWQ4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNTk1Nyw4ICs1OTU3LDggQEAgdm9p
ZCBkZXN0cm95X3hlbl9tYXBwaW5ncyh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgZSkK
ICAgICB1bnNpZ25lZCBpbnQgIGk7CiAgICAgdW5zaWduZWQgbG9uZyB2ID0gczsKIAotICAgIEFT
U0VSVCgocyAmIH5QQUdFX01BU0spID09IDApOwotICAgIEFTU0VSVCgoZSAmIH5QQUdFX01BU0sp
ID09IDApOworICAgIEFTU0VSVChJU19BTElHTkVEKHMsIFBBR0VfU0laRSkpOworICAgIEFTU0VS
VChJU19BTElHTkVEKGUsIFBBR0VfU0laRSkpOwogCiAgICAgd2hpbGUgKCB2IDwgZSApCiAgICAg
ewpAQCAtNjM2OSw4ICs2MzY5LDggQEAgc3RhdGljIHZvaWQgX19tZW1ndWFyZF9jaGFuZ2VfcmFu
Z2Uodm9pZCAqcCwgdW5zaWduZWQgbG9uZyBsLCBpbnQgZ3VhcmQpCiAgICAgdW5zaWduZWQgaW50
IGZsYWdzID0gX19QQUdFX0hZUEVSVklTT1JfUlcgfCBNQVBfU01BTExfUEFHRVM7CiAKICAgICAv
KiBFbnN1cmUgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIHBhZ2UtYWxpZ25lZCB3aG9sZSBudW1iZXIg
b2YgcGFnZXMuICovCi0gICAgQVNTRVJUKChfcCZ+UEFHRV9NQVNLKSA9PSAwKTsKLSAgICBBU1NF
UlQoKF9sJn5QQUdFX01BU0spID09IDApOworICAgIEFTU0VSVChJU19BTElHTkVEKF9wLCBQQUdF
X1NJWkUpKTsKKyAgICBBU1NFUlQoSVNfQUxJR05FRChfbCwgUEFHRV9TSVpFKSk7CiAKICAgICBp
ZiAoIGd1YXJkICkKICAgICAgICAgZmxhZ3MgJj0gfl9QQUdFX1BSRVNFTlQ7CmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCAx
MDAwN2EzLi4wYzlhZWZhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBi
L3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTIzMCw0ICsyMzAsNCBAQCBBU1NFUlQoX19pbWFn
ZV9iYXNlX18gPiBYRU5fVklSVF9TVEFSVCB8fAogQVNTRVJUKGtleGVjX3JlbG9jX3NpemUgLSBr
ZXhlY19yZWxvYyA8PSBQQUdFX1NJWkUsICJrZXhlY19yZWxvYyBpcyB0b28gbGFyZ2UiKQogI2Vu
ZGlmCiAKLUFTU0VSVCgoY3B1MF9zdGFjayAmIChTVEFDS19TSVpFIC0gMSkpID09IDAsICJjcHUw
X3N0YWNrIG1pc2FsaWduZWQiKQorQVNTRVJUKElTX0FMSUdORUQoY3B1MF9zdGFjaywgU1RBQ0tf
U0laRSksICJjcHUwX3N0YWNrIG1pc2FsaWduZWQiKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2NvbmZpZy5oIGIveGVuL2luY2x1ZGUveGVuL2NvbmZpZy5oCmluZGV4IGE5OTI5MzMuLmJk
NzgxNzYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9jb25maWcuaAorKysgYi94ZW4vaW5j
bHVkZS94ZW4vY29uZmlnLmgKQEAgLTc0LDYgKzc0LDggQEAKICNkZWZpbmUgTUIoX21iKSAgICAg
KF9BQyhfbWIsIFVMTCkgPDwgMjApCiAjZGVmaW5lIEdCKF9nYikgICAgIChfQUMoX2diLCBVTEwp
IDw8IDMwKQogCisjZGVmaW5lIElTX0FMSUdORUQodmFsLCBhbGlnbikgKCgodmFsKSAmICgoYWxp
Z24pIC0gMSkpID09IDApCisKICNkZWZpbmUgX19TVFIoLi4uKSAjX19WQV9BUkdTX18KICNkZWZp
bmUgU1RSKC4uLikgX19TVFIoX19WQV9BUkdTX18pCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L3hlbi90bWVtX3hlbi5oIGIveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKaW5kZXggMGZkYmY2
OC4uYzc3MGYzZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKKysrIGIv
eGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKQEAgLTIzLDggKzIzLDcgQEAKICNlbmRpZgogdHlw
ZWRlZiB1aW50MzJfdCBwYWdlc2l6ZV90OyAgLyogbGlrZSBzaXplX3QsIG11c3QgaGFuZGxlIGxh
cmdlc3QgUEFHRV9TSVpFICovCiAKLSNkZWZpbmUgSVNfUEFHRV9BTElHTkVEKGFkZHIpIFwKLSAg
KCh2b2lkICopKCgoKHVuc2lnbmVkIGxvbmcpYWRkciArIChQQUdFX1NJWkUgLSAxKSkgJiBQQUdF
X01BU0spKSA9PSBhZGRyKQorI2RlZmluZSBJU19QQUdFX0FMSUdORUQoYWRkcikgSVNfQUxJR05F
RCgodW5zaWduZWQgbG9uZykoYWRkciksIFBBR0VfU0laRSkKICNkZWZpbmUgSVNfVkFMSURfUEFH
RShfcGkpICAoIG1mbl92YWxpZChwYWdlX3RvX21mbihfcGkpKSApCiAKIGV4dGVybiBzdHJ1Y3Qg
cGFnZV9saXN0X2hlYWQgdG1lbV9wYWdlX2xpc3Q7Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hi
b3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhl
bi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4t
Y2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwz5-0006jz-PD; Thu, 25 Feb 2016 14:33:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz3-0006jd-LN
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:37 +0000
Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id
 19/91-04060-0C01FC65; Thu, 25 Feb 2016 14:33:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456410815!24972427!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10961 invoked from network); 25 Feb 2016 14:33:36 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:36 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz1-0000cJ-7w
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwz1-0000de-4l
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:35 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwz1-0000de-4l@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:35 +0000
Subject: [Xen-changelog] [xen master] introduce IS_ALIGNED()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGY1NDg4Yjc5NjE0ZWFmNDA4NTQzYTUxMGE4YmY5YzRhODFiZjQ4ZmYKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
TW9uIEZlYiAyMiAxNzoxOTo1MiAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoxOTo1MiAyMDE2ICsw
MTAwCgogICAgaW50cm9kdWNlIElTX0FMSUdORUQoKQogICAgCiAgICBBbmQgYSBmZXcgb3Blbi1j
b2RlZCBhbGlnbm1lbnQgY2hlY2tzIHdoaWNoIEkgZW5jb3VudGVyZWQKICAgIAogICAgU2lnbmVk
LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJl
dmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gv
eDg2L21tLmMgICAgICAgICAgfCA4ICsrKystLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAg
ICB8IDIgKy0KIHhlbi9pbmNsdWRlL3hlbi9jb25maWcuaCAgIHwgMiArKwogeGVuL2luY2x1ZGUv
eGVuL3RtZW1feGVuLmggfCAzICstLQogNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks
IDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJj
aC94ODYvbW0uYwppbmRleCBlYTNmOWYyLi5kNmFhZWQ4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNTk1Nyw4ICs1OTU3LDggQEAgdm9p
ZCBkZXN0cm95X3hlbl9tYXBwaW5ncyh1bnNpZ25lZCBsb25nIHMsIHVuc2lnbmVkIGxvbmcgZSkK
ICAgICB1bnNpZ25lZCBpbnQgIGk7CiAgICAgdW5zaWduZWQgbG9uZyB2ID0gczsKIAotICAgIEFT
U0VSVCgocyAmIH5QQUdFX01BU0spID09IDApOwotICAgIEFTU0VSVCgoZSAmIH5QQUdFX01BU0sp
ID09IDApOworICAgIEFTU0VSVChJU19BTElHTkVEKHMsIFBBR0VfU0laRSkpOworICAgIEFTU0VS
VChJU19BTElHTkVEKGUsIFBBR0VfU0laRSkpOwogCiAgICAgd2hpbGUgKCB2IDwgZSApCiAgICAg
ewpAQCAtNjM2OSw4ICs2MzY5LDggQEAgc3RhdGljIHZvaWQgX19tZW1ndWFyZF9jaGFuZ2VfcmFu
Z2Uodm9pZCAqcCwgdW5zaWduZWQgbG9uZyBsLCBpbnQgZ3VhcmQpCiAgICAgdW5zaWduZWQgaW50
IGZsYWdzID0gX19QQUdFX0hZUEVSVklTT1JfUlcgfCBNQVBfU01BTExfUEFHRVM7CiAKICAgICAv
KiBFbnN1cmUgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIHBhZ2UtYWxpZ25lZCB3aG9sZSBudW1iZXIg
b2YgcGFnZXMuICovCi0gICAgQVNTRVJUKChfcCZ+UEFHRV9NQVNLKSA9PSAwKTsKLSAgICBBU1NF
UlQoKF9sJn5QQUdFX01BU0spID09IDApOworICAgIEFTU0VSVChJU19BTElHTkVEKF9wLCBQQUdF
X1NJWkUpKTsKKyAgICBBU1NFUlQoSVNfQUxJR05FRChfbCwgUEFHRV9TSVpFKSk7CiAKICAgICBp
ZiAoIGd1YXJkICkKICAgICAgICAgZmxhZ3MgJj0gfl9QQUdFX1BSRVNFTlQ7CmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCAx
MDAwN2EzLi4wYzlhZWZhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBi
L3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTIzMCw0ICsyMzAsNCBAQCBBU1NFUlQoX19pbWFn
ZV9iYXNlX18gPiBYRU5fVklSVF9TVEFSVCB8fAogQVNTRVJUKGtleGVjX3JlbG9jX3NpemUgLSBr
ZXhlY19yZWxvYyA8PSBQQUdFX1NJWkUsICJrZXhlY19yZWxvYyBpcyB0b28gbGFyZ2UiKQogI2Vu
ZGlmCiAKLUFTU0VSVCgoY3B1MF9zdGFjayAmIChTVEFDS19TSVpFIC0gMSkpID09IDAsICJjcHUw
X3N0YWNrIG1pc2FsaWduZWQiKQorQVNTRVJUKElTX0FMSUdORUQoY3B1MF9zdGFjaywgU1RBQ0tf
U0laRSksICJjcHUwX3N0YWNrIG1pc2FsaWduZWQiKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2NvbmZpZy5oIGIveGVuL2luY2x1ZGUveGVuL2NvbmZpZy5oCmluZGV4IGE5OTI5MzMuLmJk
NzgxNzYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9jb25maWcuaAorKysgYi94ZW4vaW5j
bHVkZS94ZW4vY29uZmlnLmgKQEAgLTc0LDYgKzc0LDggQEAKICNkZWZpbmUgTUIoX21iKSAgICAg
KF9BQyhfbWIsIFVMTCkgPDwgMjApCiAjZGVmaW5lIEdCKF9nYikgICAgIChfQUMoX2diLCBVTEwp
IDw8IDMwKQogCisjZGVmaW5lIElTX0FMSUdORUQodmFsLCBhbGlnbikgKCgodmFsKSAmICgoYWxp
Z24pIC0gMSkpID09IDApCisKICNkZWZpbmUgX19TVFIoLi4uKSAjX19WQV9BUkdTX18KICNkZWZp
bmUgU1RSKC4uLikgX19TVFIoX19WQV9BUkdTX18pCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L3hlbi90bWVtX3hlbi5oIGIveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKaW5kZXggMGZkYmY2
OC4uYzc3MGYzZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKKysrIGIv
eGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKQEAgLTIzLDggKzIzLDcgQEAKICNlbmRpZgogdHlw
ZWRlZiB1aW50MzJfdCBwYWdlc2l6ZV90OyAgLyogbGlrZSBzaXplX3QsIG11c3QgaGFuZGxlIGxh
cmdlc3QgUEFHRV9TSVpFICovCiAKLSNkZWZpbmUgSVNfUEFHRV9BTElHTkVEKGFkZHIpIFwKLSAg
KCh2b2lkICopKCgoKHVuc2lnbmVkIGxvbmcpYWRkciArIChQQUdFX1NJWkUgLSAxKSkgJiBQQUdF
X01BU0spKSA9PSBhZGRyKQorI2RlZmluZSBJU19QQUdFX0FMSUdORUQoYWRkcikgSVNfQUxJR05F
RCgodW5zaWduZWQgbG9uZykoYWRkciksIFBBR0VfU0laRSkKICNkZWZpbmUgSVNfVkFMSURfUEFH
RShfcGkpICAoIG1mbl92YWxpZChwYWdlX3RvX21mbihfcGkpKSApCiAKIGV4dGVybiBzdHJ1Y3Qg
cGFnZV9saXN0X2hlYWQgdG1lbV9wYWdlX2xpc3Q7Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hi
b3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhl
bi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4t
Y2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzG-0006mz-RF; Thu, 25 Feb 2016 14:33:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzE-0006mS-Ke
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:48 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 2D/58-03814-BC01FC65; Thu, 25 Feb 2016 14:33:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1456410825!24475757!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62179 invoked from network); 25 Feb 2016 14:33:46 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzB-0000cU-LU
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzB-0000ed-H6
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzB-0000ed-H6@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:45 +0000
Subject: [Xen-changelog] [xen master] x86/PVHv2: add XEN_ prefix to
	HVM_START_MAGIC_VALUE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2634575224882360765=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============2634575224882360765==
Content-Type: text/plain

commit c5360bdfe0cecaf3e8cfc6eea3c5096a7856fcac
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Feb 22 17:20:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 22 17:20:37 2016 +0100

    x86/PVHv2: add XEN_ prefix to HVM_START_MAGIC_VALUE
    
    Reported by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 2 +-
 xen/include/public/xen.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index ac4dae5..e13a4aa 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -1753,7 +1753,7 @@ static int bootlate_hvm(struct xc_dom_image *dom)
             start_info->nr_modules = 1;
         }
 
-        start_info->magic = HVM_START_MAGIC_VALUE;
+        start_info->magic = XEN_HVM_START_MAGIC_VALUE;
 
         munmap(start_page, start_info_size);
     }
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index ad00bf9..64ba7ab 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -804,7 +804,7 @@ typedef struct start_info start_info_t;
  * of the address fields should be treated as not present.
  *
  *  0 +----------------+
- *    | magic          | Contains the magic value HVM_START_MAGIC_VALUE
+ *    | magic          | Contains the magic value XEN_HVM_START_MAGIC_VALUE
  *    |                | ("xEn3" with the 0x80 bit of the "E" set).
  *  4 +----------------+
  *    | version        | Version of this structure. Current version is 0. New
@@ -839,7 +839,7 @@ typedef struct start_info start_info_t;
  * The address and size of the modules is a 64bit unsigned integer. However
  * Xen will always try to place all modules below the 4GiB boundary.
  */
-#define HVM_START_MAGIC_VALUE 0x336ec578
+#define XEN_HVM_START_MAGIC_VALUE 0x336ec578
 
 /* New console union for dom0 introduced in 0x00030203. */
 #if __XEN_INTERFACE_VERSION__ < 0x00030203
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2634575224882360765==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============2634575224882360765==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:50 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzG-0006mz-RF; Thu, 25 Feb 2016 14:33:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzE-0006mS-Ke
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:48 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 2D/58-03814-BC01FC65; Thu, 25 Feb 2016 14:33:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1456410825!24475757!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 62179 invoked from network); 25 Feb 2016 14:33:46 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:46 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzB-0000cU-LU
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzB-0000ed-H6
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:45 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzB-0000ed-H6@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:45 +0000
Subject: [Xen-changelog] [xen master] x86/PVHv2: add XEN_ prefix to
	HVM_START_MAGIC_VALUE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2634575224882360765=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============2634575224882360765==
Content-Type: text/plain

commit c5360bdfe0cecaf3e8cfc6eea3c5096a7856fcac
Author:     Roger Pau Monné <roger.pau@citrix.com>
AuthorDate: Mon Feb 22 17:20:37 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Feb 22 17:20:37 2016 +0100

    x86/PVHv2: add XEN_ prefix to HVM_START_MAGIC_VALUE
    
    Reported by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/libxc/xc_dom_x86.c | 2 +-
 xen/include/public/xen.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/libxc/xc_dom_x86.c b/tools/libxc/xc_dom_x86.c
index ac4dae5..e13a4aa 100644
--- a/tools/libxc/xc_dom_x86.c
+++ b/tools/libxc/xc_dom_x86.c
@@ -1753,7 +1753,7 @@ static int bootlate_hvm(struct xc_dom_image *dom)
             start_info->nr_modules = 1;
         }
 
-        start_info->magic = HVM_START_MAGIC_VALUE;
+        start_info->magic = XEN_HVM_START_MAGIC_VALUE;
 
         munmap(start_page, start_info_size);
     }
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index ad00bf9..64ba7ab 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -804,7 +804,7 @@ typedef struct start_info start_info_t;
  * of the address fields should be treated as not present.
  *
  *  0 +----------------+
- *    | magic          | Contains the magic value HVM_START_MAGIC_VALUE
+ *    | magic          | Contains the magic value XEN_HVM_START_MAGIC_VALUE
  *    |                | ("xEn3" with the 0x80 bit of the "E" set).
  *  4 +----------------+
  *    | version        | Version of this structure. Current version is 0. New
@@ -839,7 +839,7 @@ typedef struct start_info start_info_t;
  * The address and size of the modules is a 64bit unsigned integer. However
  * Xen will always try to place all modules below the 4GiB boundary.
  */
-#define HVM_START_MAGIC_VALUE 0x336ec578
+#define XEN_HVM_START_MAGIC_VALUE 0x336ec578
 
 /* New console union for dom0 introduced in 0x00030203. */
 #if __XEN_INTERFACE_VERSION__ < 0x00030203
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============2634575224882360765==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============2634575224882360765==--

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzP-0006p1-TE; Thu, 25 Feb 2016 14:33:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzO-0006oe-T1
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:59 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 B2/D2-03109-5D01FC65; Thu, 25 Feb 2016 14:33:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1456410836!25022131!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59051 invoked from network); 25 Feb 2016 14:33:57 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-10.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzL-0000ck-Vr
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzL-0000gD-R6
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzL-0000gD-R6@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:55 +0000
Subject: [Xen-changelog] [xen master] x86: CONFIG_X86 defined by Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGRhOTdkMWNmOTFjOWJiODM3ZGI0ODE4NmFhMjI5M2JhNTM3MzY4NjkKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDIyIDE3OjIxOjAzIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIxOjAzIDIwMTYgKzAxMDAKCiAg
ICB4ODY6IENPTkZJR19YODYgZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIENPTkZJR19YODYg
aXMgZGVmaW5lZCBieSBLY29uZmlnIHdoZW4gYnVpbGRpbmcgZm9yIHg4Ni4KICAgIAogICAgU2ln
bmVkLW9mZi1ieTogRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3
ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCB8IDEgLQogMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRp
b24oLSkKCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9jb25maWcuaAppbmRleCBhNDVkM2VlLi4wN2YzYzFmIDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y29uZmlnLmgKQEAgLTE2LDcgKzE2LDYgQEAKIAogI2RlZmluZSBCSVRTX1BFUl9YRU5fVUxPTkcg
QklUU19QRVJfTE9ORwogCi0jZGVmaW5lIENPTkZJR19YODYgMQogI2RlZmluZSBDT05GSUdfUEFH
SU5HX0FTU0lTVEFOQ0UgMQogI2RlZmluZSBDT05GSUdfWDg2X0xPQ0FMX0FQSUMgMQogI2RlZmlu
ZSBDT05GSUdfWDg2X0dPT0RfQVBJQyAxCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:33:59 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzP-0006p1-TE; Thu, 25 Feb 2016 14:33:59 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzO-0006oe-T1
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:59 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 B2/D2-03109-5D01FC65; Thu, 25 Feb 2016 14:33:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1456410836!25022131!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59051 invoked from network); 25 Feb 2016 14:33:57 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-10.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:33:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzL-0000ck-Vr
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzL-0000gD-R6
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:33:55 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzL-0000gD-R6@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:33:55 +0000
Subject: [Xen-changelog] [xen master] x86: CONFIG_X86 defined by Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGRhOTdkMWNmOTFjOWJiODM3ZGI0ODE4NmFhMjI5M2JhNTM3MzY4NjkKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDIyIDE3OjIxOjAzIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIxOjAzIDIwMTYgKzAxMDAKCiAg
ICB4ODY6IENPTkZJR19YODYgZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIENPTkZJR19YODYg
aXMgZGVmaW5lZCBieSBLY29uZmlnIHdoZW4gYnVpbGRpbmcgZm9yIHg4Ni4KICAgIAogICAgU2ln
bmVkLW9mZi1ieTogRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3
ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCB8IDEgLQogMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRp
b24oLSkKCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIGIveGVuL2lu
Y2x1ZGUvYXNtLXg4Ni9jb25maWcuaAppbmRleCBhNDVkM2VlLi4wN2YzYzFmIDEwMDY0NAotLS0g
YS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y29uZmlnLmgKQEAgLTE2LDcgKzE2LDYgQEAKIAogI2RlZmluZSBCSVRTX1BFUl9YRU5fVUxPTkcg
QklUU19QRVJfTE9ORwogCi0jZGVmaW5lIENPTkZJR19YODYgMQogI2RlZmluZSBDT05GSUdfUEFH
SU5HX0FTU0lTVEFOQ0UgMQogI2RlZmluZSBDT05GSUdfWDg2X0xPQ0FMX0FQSUMgMQogI2RlZmlu
ZSBDT05GSUdfWDg2X0dPT0RfQVBJQyAxCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzZ-0006qh-VG; Thu, 25 Feb 2016 14:34:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzY-0006qK-Oy
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:08 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
 9E/D0-03645-0E01FC65; Thu, 25 Feb 2016 14:34:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456410846!26732575!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3230 invoked from network); 25 Feb 2016 14:34:07 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-5.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzW-0000eF-B2
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzW-0000iH-5r
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzW-0000iH-5r@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:06 +0000
Subject: [Xen-changelog] [xen master] arm: CONFIG_ARM_{32,
	64} defined by Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE4ZTAwOTcwYTQwZTRhMTQ2MjBhZTc4ODUwMjFkZjIwZWUyMTc4ZWYKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDIyIDE3OjIxOjU4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIxOjU4IDIwMTYgKzAxMDAKCiAg
ICBhcm06IENPTkZJR19BUk1fezMyLCA2NH0gZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIENP
TkZJR19BUk1fMzIgYW5kIENPTkZJR19BUk1fNjQgaXMgZGVmaW5lZCBieSBLY29uZmlnLgogICAg
CiAgICBTaWduZWQtb2ZmLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+CiAg
ICBSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu
Y2l0cml4LmNvbT4KLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oIHwgNiAtLS0tLS0K
IDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oCmluZGV4IGEx
Yjk2OGQuLmMzYTJjMzAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaApAQCAtNywxMiArNyw2IEBACiAjaWZu
ZGVmIF9fQVJNX0NPTkZJR19IX18KICNkZWZpbmUgX19BUk1fQ09ORklHX0hfXwogCi0jaWYgZGVm
aW5lZChfX2FhcmNoNjRfXykKLSMgZGVmaW5lIENPTkZJR19BUk1fNjQgMQotI2VsaWYgZGVmaW5l
ZChfX2FybV9fKQotIyBkZWZpbmUgQ09ORklHX0FSTV8zMiAxCi0jZW5kaWYKLQogI2lmIGRlZmlu
ZWQoQ09ORklHX0FSTV82NCkKICMgZGVmaW5lIExPTkdfQllURU9SREVSIDMKICNlbHNlCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzZ-0006qh-VG; Thu, 25 Feb 2016 14:34:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzY-0006qK-Oy
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:08 +0000
Received: from [193.109.254.147] by server-8.bemta-14.messagelabs.com id
 9E/D0-03645-0E01FC65; Thu, 25 Feb 2016 14:34:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456410846!26732575!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3230 invoked from network); 25 Feb 2016 14:34:07 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-5.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzW-0000eF-B2
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzW-0000iH-5r
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:06 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzW-0000iH-5r@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:06 +0000
Subject: [Xen-changelog] [xen master] arm: CONFIG_ARM_{32,
	64} defined by Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE4ZTAwOTcwYTQwZTRhMTQ2MjBhZTc4ODUwMjFkZjIwZWUyMTc4ZWYKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDIyIDE3OjIxOjU4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIxOjU4IDIwMTYgKzAxMDAKCiAg
ICBhcm06IENPTkZJR19BUk1fezMyLCA2NH0gZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIENP
TkZJR19BUk1fMzIgYW5kIENPTkZJR19BUk1fNjQgaXMgZGVmaW5lZCBieSBLY29uZmlnLgogICAg
CiAgICBTaWduZWQtb2ZmLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+CiAg
ICBSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu
Y2l0cml4LmNvbT4KLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oIHwgNiAtLS0tLS0K
IDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl
L2FzbS1hcm0vY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oCmluZGV4IGEx
Yjk2OGQuLmMzYTJjMzAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaApAQCAtNywxMiArNyw2IEBACiAjaWZu
ZGVmIF9fQVJNX0NPTkZJR19IX18KICNkZWZpbmUgX19BUk1fQ09ORklHX0hfXwogCi0jaWYgZGVm
aW5lZChfX2FhcmNoNjRfXykKLSMgZGVmaW5lIENPTkZJR19BUk1fNjQgMQotI2VsaWYgZGVmaW5l
ZChfX2FybV9fKQotIyBkZWZpbmUgQ09ORklHX0FSTV8zMiAxCi0jZW5kaWYKLQogI2lmIGRlZmlu
ZWQoQ09ORklHX0FSTV82NCkKICMgZGVmaW5lIExPTkdfQllURU9SREVSIDMKICNlbHNlCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzl-0006se-0y; Thu, 25 Feb 2016 14:34:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzk-0006sS-85
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:20 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 7E/2A-03814-BE01FC65; Thu, 25 Feb 2016 14:34:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456410857!2739890!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9183 invoked from network); 25 Feb 2016 14:34:18 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzg-0000eU-MS
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzg-0000jS-Ji
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzg-0000jS-Ji@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:16 +0000
Subject: [Xen-changelog] [xen master] x86: drop register reload from INT80
	malicious MSI guard
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE0YjRkM2Q1YTg5YzYxYmFhYjA0MmE4OTcyNjc2YjZiNGYzMGE5YTQKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjIzOjA4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIzOjA4IDIwMTYgKzAxMDAKCiAgICB4
ODY6IGRyb3AgcmVnaXN0ZXIgcmVsb2FkIGZyb20gSU5UODAgbWFsaWNpb3VzIE1TSSBndWFyZAog
ICAgCiAgICBOb25lIG9mIHRoZSByZXN0b3JlZCByZWdpc3RlcnMgYXJlIGFjdHVhbGx5IG9mIGlu
dGVyZXN0IHRvIHRoZQogICAgc3Vic2VxdWVudCBjb2RlIChhcyBvcHBvc2VkIHRvIHRoZSBzaW1p
bGFyIGNvbnN0cnVjdCBvbiB0aGUgY29tcGF0CiAgICBtb2RlIGh5cGVyY2FsbCBwYXRoKS4KICAg
IAogICAgU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAg
UmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0t
LQogeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TIHwgMSAtCiAxIGZpbGUgY2hhbmdlZCwgMSBk
ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyBiL3hl
bi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwppbmRleCBlMGY1YzgzLi5kZDdmMTE0IDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82
NC9lbnRyeS5TCkBAIC0yODYsNyArMjg2LDYgQEAgRU5UUlkoaW50ODBfZGlyZWN0X3RyYXApCiBV
TkxJS0VMWV9TVEFSVChuZSwgbXNpX2NoZWNrKQogICAgICAgICBtb3ZsICAkMHg4MCwlZWRpCiAg
ICAgICAgIGNhbGwgIGNoZWNrX2Zvcl91bmV4cGVjdGVkX21zaQotICAgICAgICBMT0FEX0NfQ0xP
QkJFUkVECiBVTkxJS0VMWV9FTkQobXNpX2NoZWNrKQogCiAgICAgICAgIEdFVF9DVVJSRU5UKCVy
YngpCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdp
dCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzl-0006se-0y; Thu, 25 Feb 2016 14:34:21 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzk-0006sS-85
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:20 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 7E/2A-03814-BE01FC65; Thu, 25 Feb 2016 14:34:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456410857!2739890!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9183 invoked from network); 25 Feb 2016 14:34:18 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzg-0000eU-MS
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzg-0000jS-Ji
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzg-0000jS-Ji@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:16 +0000
Subject: [Xen-changelog] [xen master] x86: drop register reload from INT80
	malicious MSI guard
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE0YjRkM2Q1YTg5YzYxYmFhYjA0MmE4OTcyNjc2YjZiNGYzMGE5YTQKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjIzOjA4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjIzOjA4IDIwMTYgKzAxMDAKCiAgICB4
ODY6IGRyb3AgcmVnaXN0ZXIgcmVsb2FkIGZyb20gSU5UODAgbWFsaWNpb3VzIE1TSSBndWFyZAog
ICAgCiAgICBOb25lIG9mIHRoZSByZXN0b3JlZCByZWdpc3RlcnMgYXJlIGFjdHVhbGx5IG9mIGlu
dGVyZXN0IHRvIHRoZQogICAgc3Vic2VxdWVudCBjb2RlIChhcyBvcHBvc2VkIHRvIHRoZSBzaW1p
bGFyIGNvbnN0cnVjdCBvbiB0aGUgY29tcGF0CiAgICBtb2RlIGh5cGVyY2FsbCBwYXRoKS4KICAg
IAogICAgU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAg
UmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0t
LQogeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TIHwgMSAtCiAxIGZpbGUgY2hhbmdlZCwgMSBk
ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyBiL3hl
bi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwppbmRleCBlMGY1YzgzLi5kZDdmMTE0IDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82
NC9lbnRyeS5TCkBAIC0yODYsNyArMjg2LDYgQEAgRU5UUlkoaW50ODBfZGlyZWN0X3RyYXApCiBV
TkxJS0VMWV9TVEFSVChuZSwgbXNpX2NoZWNrKQogICAgICAgICBtb3ZsICAkMHg4MCwlZWRpCiAg
ICAgICAgIGNhbGwgIGNoZWNrX2Zvcl91bmV4cGVjdGVkX21zaQotICAgICAgICBMT0FEX0NfQ0xP
QkJFUkVECiBVTkxJS0VMWV9FTkQobXNpX2NoZWNrKQogCiAgICAgICAgIEdFVF9DVVJSRU5UKCVy
YngpCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdp
dCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Clhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpo
dHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzu-0006uk-4Q; Thu, 25 Feb 2016 14:34:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzt-0006uP-P4
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:29 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 A8/D4-02987-5F01FC65; Thu, 25 Feb 2016 14:34:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456410867!26721438!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39091 invoked from network); 25 Feb 2016 14:34:28 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzr-0000ee-0j
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzq-0000kz-Tt
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzq-0000kz-Tt@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:26 +0000
Subject: [Xen-changelog] [xen master] x86/vm_event: consolidate
	hvm_event_fill_regs and p2m_vm_event_fill_regs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFkYzc1ZWJhOGIxNWM3MTAzYTAxMGY3MzZmZTYyZTNmYjIzODM5NjQKQXV0aG9yOiAg
ICAgVGFtYXMgSyBMZW5neWVsIDx0bGVuZ3llbEBub3ZldHRhLmNvbT4KQXV0aG9yRGF0ZTogTW9u
IEZlYiAyMiAxNzoyNDoxNSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoyNDoxNSAyMDE2ICswMTAw
CgogICAgeDg2L3ZtX2V2ZW50OiBjb25zb2xpZGF0ZSBodm1fZXZlbnRfZmlsbF9yZWdzIGFuZCBw
Mm1fdm1fZXZlbnRfZmlsbF9yZWdzCiAgICAKICAgIEN1cnJlbnRseSB0aGUgcmVnaXN0ZXJzIHNh
dmVkIGluIHRoZSByZXF1ZXN0IGRlcGVuZCBvbiB3aGljaCB0eXBlIG9mIGV2ZW50CiAgICBpcyBm
aWxsaW5nIGluIHRoZSByZWdpc3RlcnMuIEluIHRoaXMgcGF0Y2ggd2UgY29uc29saWRhdGUgdGhl
IHR3byB2ZXJzaW9ucwogICAgb2YgcmVnaXN0ZXIgZmlsbGluZyBmdW5jdGlvbiBhcyB0byByZXR1
cm4gYSBmaXggc2V0IG9mIHJlZ2lzdGVycyBpcnJlc3BlY3RpdmUKICAgIG9mIHRoZSB1bmRlcmx5
aW5nIGV2ZW50LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBUYW1hcyBLIExlbmd5ZWwgPHRsZW5n
eWVsQG5vdmV0dGEuY29tPgogICAgQWNrZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5s
YXBAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJjb2pvY2FydUBi
aXRkZWZlbmRlci5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS9ldmVudC5jICAgICAgIHwgMzUg
KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAg
ICB8IDU3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2Fy
Y2gveDg2L3ZtX2V2ZW50LmMgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmggfCAgMiArKwog
NCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA4OSBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2V2ZW50LmMgYi94ZW4vYXJjaC94ODYvaHZtL2V2ZW50
LmMKaW5kZXggY2I5YzE1Mi4uZDBiN2Q5MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9l
dmVudC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZXZlbnQuYwpAQCAtMjUsNDAgKzI1LDkgQEAK
ICNpbmNsdWRlIDxhc20vaHZtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL21vbml0b3IuaD4KICNp
bmNsdWRlIDxhc20vYWx0cDJtLmg+CisjaW5jbHVkZSA8YXNtL3ZtX2V2ZW50Lmg+CiAjaW5jbHVk
ZSA8cHVibGljL3ZtX2V2ZW50Lmg+CiAKLXN0YXRpYyB2b2lkIGh2bV9ldmVudF9maWxsX3JlZ3Mo
dm1fZXZlbnRfcmVxdWVzdF90ICpyZXEpCi17Ci0gICAgY29uc3Qgc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7Ci0gICAgY29uc3Qgc3RydWN0IHZjcHUg
KmN1cnIgPSBjdXJyZW50OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJheCA9IHJlZ3MtPmVh
eDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucmN4ID0gcmVncy0+ZWN4OwotICAgIHJlcS0+ZGF0
YS5yZWdzLng4Ni5yZHggPSByZWdzLT5lZHg7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJieCA9
IHJlZ3MtPmVieDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucnNwID0gcmVncy0+ZXNwOwotICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5yYnAgPSByZWdzLT5lYnA7Ci0gICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2LnJzaSA9IHJlZ3MtPmVzaTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucmRpID0gcmVncy0+
ZWRpOwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnI4ICA9IHJlZ3MtPnI4OwotICAgIHJlcS0+
ZGF0YS5yZWdzLng4Ni5yOSAgPSByZWdzLT5yOTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjEw
ID0gcmVncy0+cjEwOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTEgPSByZWdzLT5yMTE7Ci0g
ICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIxMiA9IHJlZ3MtPnIxMjsKLSAgICByZXEtPmRhdGEucmVn
cy54ODYucjEzID0gcmVncy0+cjEzOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTQgPSByZWdz
LT5yMTQ7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIxNSA9IHJlZ3MtPnIxNTsKLQotICAgIHJl
cS0+ZGF0YS5yZWdzLng4Ni5yZmxhZ3MgPSByZWdzLT5lZmxhZ3M7Ci0gICAgcmVxLT5kYXRhLnJl
Z3MueDg2LnJpcCAgICA9IHJlZ3MtPmVpcDsKLQotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3Jf
ZWZlciA9IGN1cnItPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfZWZlcjsKLSAgICByZXEtPmRhdGEucmVn
cy54ODYuY3IwID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclswXTsKLSAgICByZXEtPmRh
dGEucmVncy54ODYuY3IzID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclszXTsKLSAgICBy
ZXEtPmRhdGEucmVncy54ODYuY3I0ID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XTsK
LX0KLQogc3RhdGljIGludCBodm1fZXZlbnRfdHJhcHModWludDhfdCBzeW5jLCB2bV9ldmVudF9y
ZXF1ZXN0X3QgKnJlcSkKIHsKICAgICBpbnQgcmM7CkBAIC05Miw3ICs2MSw3IEBAIHN0YXRpYyBp
bnQgaHZtX2V2ZW50X3RyYXBzKHVpbnQ4X3Qgc3luYywgdm1fZXZlbnRfcmVxdWVzdF90ICpyZXEp
CiAgICAgICAgIHJlcS0+YWx0cDJtX2lkeCA9IHZjcHVfYWx0cDJtKGN1cnIpLnAybWlkeDsKICAg
ICB9CiAKLSAgICBodm1fZXZlbnRfZmlsbF9yZWdzKHJlcSk7CisgICAgdm1fZXZlbnRfZmlsbF9y
ZWdzKHJlcSk7CiAgICAgdm1fZXZlbnRfcHV0X3JlcXVlc3QoY3VycmQsICZjdXJyZC0+dm1fZXZl
bnQtPm1vbml0b3IsIHJlcSk7CiAKICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCBhMjViMThiLi5iM2Zj
ZTFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2
L21tL3AybS5jCkBAIC0xNTQxLDYxICsxNTQxLDYgQEAgdm9pZCBwMm1fbWVtX3BhZ2luZ19yZXN1
bWUoc3RydWN0IGRvbWFpbiAqZCwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKQogICAgIH0KIH0K
IAotc3RhdGljIHZvaWQgcDJtX3ZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3Qg
KnJlcSkKLXsKLSAgICBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1ZXN0X2Nw
dV91c2VyX3JlZ3MoKTsKLSAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3RlciBzZWc7Ci0gICAgc3Ry
dWN0IGh2bV9od19jcHUgY3R4dDsKLSAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7Ci0K
LSAgICAvKiBBcmNoaXRlY3R1cmUtc3BlY2lmaWMgdm1jcy92bWNiIGJpdHMgKi8KLSAgICBodm1f
ZnVuY3Muc2F2ZV9jcHVfY3R4dChjdXJyLCAmY3R4dCk7Ci0KLSAgICByZXEtPmRhdGEucmVncy54
ODYucmF4ID0gcmVncy0+ZWF4OwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yY3ggPSByZWdzLT5l
Y3g7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJkeCA9IHJlZ3MtPmVkeDsKLSAgICByZXEtPmRh
dGEucmVncy54ODYucmJ4ID0gcmVncy0+ZWJ4OwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yc3Ag
PSByZWdzLT5lc3A7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJicCA9IHJlZ3MtPmVicDsKLSAg
ICByZXEtPmRhdGEucmVncy54ODYucnNpID0gcmVncy0+ZXNpOwotICAgIHJlcS0+ZGF0YS5yZWdz
Lng4Ni5yZGkgPSByZWdzLT5lZGk7Ci0KLSAgICByZXEtPmRhdGEucmVncy54ODYucjggID0gcmVn
cy0+cjg7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnI5ICA9IHJlZ3MtPnI5OwotICAgIHJlcS0+
ZGF0YS5yZWdzLng4Ni5yMTAgPSByZWdzLT5yMTA7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIx
MSA9IHJlZ3MtPnIxMTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjEyID0gcmVncy0+cjEyOwot
ICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTMgPSByZWdzLT5yMTM7Ci0gICAgcmVxLT5kYXRhLnJl
Z3MueDg2LnIxNCA9IHJlZ3MtPnIxNDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjE1ID0gcmVn
cy0+cjE1OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJmbGFncyA9IHJlZ3MtPmVmbGFnczsK
LSAgICByZXEtPmRhdGEucmVncy54ODYucmlwICAgID0gcmVncy0+ZWlwOwotCi0gICAgcmVxLT5k
YXRhLnJlZ3MueDg2LmRyNyA9IGN1cnItPmFyY2guZGVidWdyZWdbN107Ci0gICAgcmVxLT5kYXRh
LnJlZ3MueDg2LmNyMCA9IGN0eHQuY3IwOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjIgPSBj
dHh0LmNyMjsKLSAgICByZXEtPmRhdGEucmVncy54ODYuY3IzID0gY3R4dC5jcjM7Ci0gICAgcmVx
LT5kYXRhLnJlZ3MueDg2LmNyNCA9IGN0eHQuY3I0OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnN5c2VudGVyX2NzID0gY3R4dC5zeXNlbnRlcl9jczsKLSAgICByZXEtPmRhdGEucmVncy54ODYu
c3lzZW50ZXJfZXNwID0gY3R4dC5zeXNlbnRlcl9lc3A7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnN5c2VudGVyX2VpcCA9IGN0eHQuc3lzZW50ZXJfZWlwOwotCi0gICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2Lm1zcl9lZmVyID0gY3R4dC5tc3JfZWZlcjsKLSAgICByZXEtPmRhdGEucmVncy54ODYubXNy
X3N0YXIgPSBjdHh0Lm1zcl9zdGFyOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3JfbHN0YXIg
PSBjdHh0Lm1zcl9sc3RhcjsKLQotICAgIGh2bV9nZXRfc2VnbWVudF9yZWdpc3RlcihjdXJyLCB4
ODZfc2VnX2ZzLCAmc2VnKTsKLSAgICByZXEtPmRhdGEucmVncy54ODYuZnNfYmFzZSA9IHNlZy5i
YXNlOwotCi0gICAgaHZtX2dldF9zZWdtZW50X3JlZ2lzdGVyKGN1cnIsIHg4Nl9zZWdfZ3MsICZz
ZWcpOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5nc19iYXNlID0gc2VnLmJhc2U7Ci0KLSAgICBo
dm1fZ2V0X3NlZ21lbnRfcmVnaXN0ZXIoY3VyciwgeDg2X3NlZ19jcywgJnNlZyk7Ci0gICAgcmVx
LT5kYXRhLnJlZ3MueDg2LmNzX2FyYnl0ZXMgPSBzZWcuYXR0ci5ieXRlczsKLX0KLQogdm9pZCBw
Mm1fbWVtX2FjY2Vzc19lbXVsYXRlX2NoZWNrKHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZtX2V2ZW50X3Jlc3BvbnNlX3QgKnJzcCkKIHsK
QEAgLTE3NjAsNyArMTcwNSw3IEBAIGJvb2xfdCBwMm1fbWVtX2FjY2Vzc19jaGVjayhwYWRkcl90
IGdwYSwgdW5zaWduZWQgbG9uZyBnbGEsCiAgICAgICAgIHJlcS0+dS5tZW1fYWNjZXNzLmZsYWdz
IHw9IG5wZmVjLmluc25fZmV0Y2ggICAgID8gTUVNX0FDQ0VTU19YIDogMDsKICAgICAgICAgcmVx
LT52Y3B1X2lkID0gdi0+dmNwdV9pZDsKIAotICAgICAgICBwMm1fdm1fZXZlbnRfZmlsbF9yZWdz
KHJlcSk7CisgICAgICAgIHZtX2V2ZW50X2ZpbGxfcmVncyhyZXEpOwogCiAgICAgICAgIGlmICgg
YWx0cDJtX2FjdGl2ZSh2LT5kb21haW4pICkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3ZtX2V2ZW50LmMgYi94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYwppbmRleCAwOGQ2Nzhh
Li4yYTJhYmQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYworKysgYi94ZW4v
YXJjaC94ODYvdm1fZXZlbnQuYwpAQCAtMTIyLDYgKzEyMiw2MyBAQCB2b2lkIHZtX2V2ZW50X3Nl
dF9yZWdpc3RlcnMoc3RydWN0IHZjcHUgKnYsIHZtX2V2ZW50X3Jlc3BvbnNlX3QgKnJzcCkKICAg
ICB2LT5hcmNoLnVzZXJfcmVncy5laXAgPSByc3AtPmRhdGEucmVncy54ODYucmlwOwogfQogCit2
b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSkKK3sKKyAgICBj
b25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1ZXN0X2NwdV91c2VyX3JlZ3MoKTsK
KyAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3RlciBzZWc7CisgICAgc3RydWN0IGh2bV9od19jcHUg
Y3R4dDsKKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisKKyAgICBBU1NFUlQoaXNf
aHZtX3ZjcHUoY3VycikpOworCisgICAgLyogQXJjaGl0ZWN0dXJlLXNwZWNpZmljIHZtY3Mvdm1j
YiBiaXRzICovCisgICAgaHZtX2Z1bmNzLnNhdmVfY3B1X2N0eHQoY3VyciwgJmN0eHQpOworCisg
ICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJheCA9IHJlZ3MtPmVheDsKKyAgICByZXEtPmRhdGEucmVn
cy54ODYucmN4ID0gcmVncy0+ZWN4OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yZHggPSByZWdz
LT5lZHg7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJieCA9IHJlZ3MtPmVieDsKKyAgICByZXEt
PmRhdGEucmVncy54ODYucnNwID0gcmVncy0+ZXNwOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5y
YnAgPSByZWdzLT5lYnA7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJzaSA9IHJlZ3MtPmVzaTsK
KyAgICByZXEtPmRhdGEucmVncy54ODYucmRpID0gcmVncy0+ZWRpOworCisgICAgcmVxLT5kYXRh
LnJlZ3MueDg2LnI4ICA9IHJlZ3MtPnI4OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yOSAgPSBy
ZWdzLT5yOTsKKyAgICByZXEtPmRhdGEucmVncy54ODYucjEwID0gcmVncy0+cjEwOworICAgIHJl
cS0+ZGF0YS5yZWdzLng4Ni5yMTEgPSByZWdzLT5yMTE7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnIxMiA9IHJlZ3MtPnIxMjsKKyAgICByZXEtPmRhdGEucmVncy54ODYucjEzID0gcmVncy0+cjEz
OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTQgPSByZWdzLT5yMTQ7CisgICAgcmVxLT5kYXRh
LnJlZ3MueDg2LnIxNSA9IHJlZ3MtPnIxNTsKKworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yZmxh
Z3MgPSByZWdzLT5lZmxhZ3M7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJpcCAgICA9IHJlZ3Mt
PmVpcDsKKworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5kcjcgPSBjdXJyLT5hcmNoLmRlYnVncmVn
WzddOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjAgPSBjdHh0LmNyMDsKKyAgICByZXEtPmRh
dGEucmVncy54ODYuY3IyID0gY3R4dC5jcjI7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LmNyMyA9
IGN0eHQuY3IzOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjQgPSBjdHh0LmNyNDsKKworICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5zeXNlbnRlcl9jcyA9IGN0eHQuc3lzZW50ZXJfY3M7CisgICAg
cmVxLT5kYXRhLnJlZ3MueDg2LnN5c2VudGVyX2VzcCA9IGN0eHQuc3lzZW50ZXJfZXNwOworICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5zeXNlbnRlcl9laXAgPSBjdHh0LnN5c2VudGVyX2VpcDsKKwor
ICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3JfZWZlciA9IGN0eHQubXNyX2VmZXI7CisgICAgcmVx
LT5kYXRhLnJlZ3MueDg2Lm1zcl9zdGFyID0gY3R4dC5tc3Jfc3RhcjsKKyAgICByZXEtPmRhdGEu
cmVncy54ODYubXNyX2xzdGFyID0gY3R4dC5tc3JfbHN0YXI7CisKKyAgICBodm1fZ2V0X3NlZ21l
bnRfcmVnaXN0ZXIoY3VyciwgeDg2X3NlZ19mcywgJnNlZyk7CisgICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2LmZzX2Jhc2UgPSBzZWcuYmFzZTsKKworICAgIGh2bV9nZXRfc2VnbWVudF9yZWdpc3Rlcihj
dXJyLCB4ODZfc2VnX2dzLCAmc2VnKTsKKyAgICByZXEtPmRhdGEucmVncy54ODYuZ3NfYmFzZSA9
IHNlZy5iYXNlOworCisgICAgaHZtX2dldF9zZWdtZW50X3JlZ2lzdGVyKGN1cnIsIHg4Nl9zZWdf
Y3MsICZzZWcpOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jc19hcmJ5dGVzID0gc2VnLmF0dHIu
Ynl0ZXM7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1n
aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmggYi94ZW4vaW5jbHVkZS9hc20teDg2
L3ZtX2V2ZW50LmgKaW5kZXggZmZmODMyNi4uMDI2ZjQyZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1
ZGUvYXNtLXg4Ni92bV9ldmVudC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQu
aApAQCAtNDIsNCArNDIsNiBAQCB2b2lkIHZtX2V2ZW50X3JlZ2lzdGVyX3dyaXRlX3Jlc3VtZShz
dHJ1Y3QgdmNwdSAqdiwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKTsKIAogdm9pZCB2bV9ldmVu
dF9zZXRfcmVnaXN0ZXJzKHN0cnVjdCB2Y3B1ICp2LCB2bV9ldmVudF9yZXNwb25zZV90ICpyc3Ap
OwogCit2b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSk7CisK
ICNlbmRpZiAvKiBfX0FTTV9YODZfVk1fRVZFTlRfSF9fICovCi0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYwzu-0006uk-4Q; Thu, 25 Feb 2016 14:34:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzt-0006uP-P4
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:29 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 A8/D4-02987-5F01FC65; Thu, 25 Feb 2016 14:34:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456410867!26721438!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39091 invoked from network); 25 Feb 2016 14:34:28 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzr-0000ee-0j
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYwzq-0000kz-Tt
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYwzq-0000kz-Tt@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:26 +0000
Subject: [Xen-changelog] [xen master] x86/vm_event: consolidate
	hvm_event_fill_regs and p2m_vm_event_fill_regs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFkYzc1ZWJhOGIxNWM3MTAzYTAxMGY3MzZmZTYyZTNmYjIzODM5NjQKQXV0aG9yOiAg
ICAgVGFtYXMgSyBMZW5neWVsIDx0bGVuZ3llbEBub3ZldHRhLmNvbT4KQXV0aG9yRGF0ZTogTW9u
IEZlYiAyMiAxNzoyNDoxNSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogTW9uIEZlYiAyMiAxNzoyNDoxNSAyMDE2ICswMTAw
CgogICAgeDg2L3ZtX2V2ZW50OiBjb25zb2xpZGF0ZSBodm1fZXZlbnRfZmlsbF9yZWdzIGFuZCBw
Mm1fdm1fZXZlbnRfZmlsbF9yZWdzCiAgICAKICAgIEN1cnJlbnRseSB0aGUgcmVnaXN0ZXJzIHNh
dmVkIGluIHRoZSByZXF1ZXN0IGRlcGVuZCBvbiB3aGljaCB0eXBlIG9mIGV2ZW50CiAgICBpcyBm
aWxsaW5nIGluIHRoZSByZWdpc3RlcnMuIEluIHRoaXMgcGF0Y2ggd2UgY29uc29saWRhdGUgdGhl
IHR3byB2ZXJzaW9ucwogICAgb2YgcmVnaXN0ZXIgZmlsbGluZyBmdW5jdGlvbiBhcyB0byByZXR1
cm4gYSBmaXggc2V0IG9mIHJlZ2lzdGVycyBpcnJlc3BlY3RpdmUKICAgIG9mIHRoZSB1bmRlcmx5
aW5nIGV2ZW50LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBUYW1hcyBLIExlbmd5ZWwgPHRsZW5n
eWVsQG5vdmV0dGEuY29tPgogICAgQWNrZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5s
YXBAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJjb2pvY2FydUBi
aXRkZWZlbmRlci5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS9ldmVudC5jICAgICAgIHwgMzUg
KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAg
ICB8IDU3ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2Fy
Y2gveDg2L3ZtX2V2ZW50LmMgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmggfCAgMiArKwog
NCBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA4OSBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2V2ZW50LmMgYi94ZW4vYXJjaC94ODYvaHZtL2V2ZW50
LmMKaW5kZXggY2I5YzE1Mi4uZDBiN2Q5MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9l
dmVudC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZXZlbnQuYwpAQCAtMjUsNDAgKzI1LDkgQEAK
ICNpbmNsdWRlIDxhc20vaHZtL2V2ZW50Lmg+CiAjaW5jbHVkZSA8YXNtL21vbml0b3IuaD4KICNp
bmNsdWRlIDxhc20vYWx0cDJtLmg+CisjaW5jbHVkZSA8YXNtL3ZtX2V2ZW50Lmg+CiAjaW5jbHVk
ZSA8cHVibGljL3ZtX2V2ZW50Lmg+CiAKLXN0YXRpYyB2b2lkIGh2bV9ldmVudF9maWxsX3JlZ3Mo
dm1fZXZlbnRfcmVxdWVzdF90ICpyZXEpCi17Ci0gICAgY29uc3Qgc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7Ci0gICAgY29uc3Qgc3RydWN0IHZjcHUg
KmN1cnIgPSBjdXJyZW50OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJheCA9IHJlZ3MtPmVh
eDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucmN4ID0gcmVncy0+ZWN4OwotICAgIHJlcS0+ZGF0
YS5yZWdzLng4Ni5yZHggPSByZWdzLT5lZHg7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJieCA9
IHJlZ3MtPmVieDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucnNwID0gcmVncy0+ZXNwOwotICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5yYnAgPSByZWdzLT5lYnA7Ci0gICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2LnJzaSA9IHJlZ3MtPmVzaTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucmRpID0gcmVncy0+
ZWRpOwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnI4ICA9IHJlZ3MtPnI4OwotICAgIHJlcS0+
ZGF0YS5yZWdzLng4Ni5yOSAgPSByZWdzLT5yOTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjEw
ID0gcmVncy0+cjEwOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTEgPSByZWdzLT5yMTE7Ci0g
ICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIxMiA9IHJlZ3MtPnIxMjsKLSAgICByZXEtPmRhdGEucmVn
cy54ODYucjEzID0gcmVncy0+cjEzOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTQgPSByZWdz
LT5yMTQ7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIxNSA9IHJlZ3MtPnIxNTsKLQotICAgIHJl
cS0+ZGF0YS5yZWdzLng4Ni5yZmxhZ3MgPSByZWdzLT5lZmxhZ3M7Ci0gICAgcmVxLT5kYXRhLnJl
Z3MueDg2LnJpcCAgICA9IHJlZ3MtPmVpcDsKLQotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3Jf
ZWZlciA9IGN1cnItPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfZWZlcjsKLSAgICByZXEtPmRhdGEucmVn
cy54ODYuY3IwID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclswXTsKLSAgICByZXEtPmRh
dGEucmVncy54ODYuY3IzID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jclszXTsKLSAgICBy
ZXEtPmRhdGEucmVncy54ODYuY3I0ID0gY3Vyci0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XTsK
LX0KLQogc3RhdGljIGludCBodm1fZXZlbnRfdHJhcHModWludDhfdCBzeW5jLCB2bV9ldmVudF9y
ZXF1ZXN0X3QgKnJlcSkKIHsKICAgICBpbnQgcmM7CkBAIC05Miw3ICs2MSw3IEBAIHN0YXRpYyBp
bnQgaHZtX2V2ZW50X3RyYXBzKHVpbnQ4X3Qgc3luYywgdm1fZXZlbnRfcmVxdWVzdF90ICpyZXEp
CiAgICAgICAgIHJlcS0+YWx0cDJtX2lkeCA9IHZjcHVfYWx0cDJtKGN1cnIpLnAybWlkeDsKICAg
ICB9CiAKLSAgICBodm1fZXZlbnRfZmlsbF9yZWdzKHJlcSk7CisgICAgdm1fZXZlbnRfZmlsbF9y
ZWdzKHJlcSk7CiAgICAgdm1fZXZlbnRfcHV0X3JlcXVlc3QoY3VycmQsICZjdXJyZC0+dm1fZXZl
bnQtPm1vbml0b3IsIHJlcSk7CiAKICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCBhMjViMThiLi5iM2Zj
ZTFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2
L21tL3AybS5jCkBAIC0xNTQxLDYxICsxNTQxLDYgQEAgdm9pZCBwMm1fbWVtX3BhZ2luZ19yZXN1
bWUoc3RydWN0IGRvbWFpbiAqZCwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKQogICAgIH0KIH0K
IAotc3RhdGljIHZvaWQgcDJtX3ZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3Qg
KnJlcSkKLXsKLSAgICBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1ZXN0X2Nw
dV91c2VyX3JlZ3MoKTsKLSAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3RlciBzZWc7Ci0gICAgc3Ry
dWN0IGh2bV9od19jcHUgY3R4dDsKLSAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7Ci0K
LSAgICAvKiBBcmNoaXRlY3R1cmUtc3BlY2lmaWMgdm1jcy92bWNiIGJpdHMgKi8KLSAgICBodm1f
ZnVuY3Muc2F2ZV9jcHVfY3R4dChjdXJyLCAmY3R4dCk7Ci0KLSAgICByZXEtPmRhdGEucmVncy54
ODYucmF4ID0gcmVncy0+ZWF4OwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yY3ggPSByZWdzLT5l
Y3g7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJkeCA9IHJlZ3MtPmVkeDsKLSAgICByZXEtPmRh
dGEucmVncy54ODYucmJ4ID0gcmVncy0+ZWJ4OwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yc3Ag
PSByZWdzLT5lc3A7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJicCA9IHJlZ3MtPmVicDsKLSAg
ICByZXEtPmRhdGEucmVncy54ODYucnNpID0gcmVncy0+ZXNpOwotICAgIHJlcS0+ZGF0YS5yZWdz
Lng4Ni5yZGkgPSByZWdzLT5lZGk7Ci0KLSAgICByZXEtPmRhdGEucmVncy54ODYucjggID0gcmVn
cy0+cjg7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnI5ICA9IHJlZ3MtPnI5OwotICAgIHJlcS0+
ZGF0YS5yZWdzLng4Ni5yMTAgPSByZWdzLT5yMTA7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnIx
MSA9IHJlZ3MtPnIxMTsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjEyID0gcmVncy0+cjEyOwot
ICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTMgPSByZWdzLT5yMTM7Ci0gICAgcmVxLT5kYXRhLnJl
Z3MueDg2LnIxNCA9IHJlZ3MtPnIxNDsKLSAgICByZXEtPmRhdGEucmVncy54ODYucjE1ID0gcmVn
cy0+cjE1OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJmbGFncyA9IHJlZ3MtPmVmbGFnczsK
LSAgICByZXEtPmRhdGEucmVncy54ODYucmlwICAgID0gcmVncy0+ZWlwOwotCi0gICAgcmVxLT5k
YXRhLnJlZ3MueDg2LmRyNyA9IGN1cnItPmFyY2guZGVidWdyZWdbN107Ci0gICAgcmVxLT5kYXRh
LnJlZ3MueDg2LmNyMCA9IGN0eHQuY3IwOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjIgPSBj
dHh0LmNyMjsKLSAgICByZXEtPmRhdGEucmVncy54ODYuY3IzID0gY3R4dC5jcjM7Ci0gICAgcmVx
LT5kYXRhLnJlZ3MueDg2LmNyNCA9IGN0eHQuY3I0OwotCi0gICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnN5c2VudGVyX2NzID0gY3R4dC5zeXNlbnRlcl9jczsKLSAgICByZXEtPmRhdGEucmVncy54ODYu
c3lzZW50ZXJfZXNwID0gY3R4dC5zeXNlbnRlcl9lc3A7Ci0gICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnN5c2VudGVyX2VpcCA9IGN0eHQuc3lzZW50ZXJfZWlwOwotCi0gICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2Lm1zcl9lZmVyID0gY3R4dC5tc3JfZWZlcjsKLSAgICByZXEtPmRhdGEucmVncy54ODYubXNy
X3N0YXIgPSBjdHh0Lm1zcl9zdGFyOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3JfbHN0YXIg
PSBjdHh0Lm1zcl9sc3RhcjsKLQotICAgIGh2bV9nZXRfc2VnbWVudF9yZWdpc3RlcihjdXJyLCB4
ODZfc2VnX2ZzLCAmc2VnKTsKLSAgICByZXEtPmRhdGEucmVncy54ODYuZnNfYmFzZSA9IHNlZy5i
YXNlOwotCi0gICAgaHZtX2dldF9zZWdtZW50X3JlZ2lzdGVyKGN1cnIsIHg4Nl9zZWdfZ3MsICZz
ZWcpOwotICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5nc19iYXNlID0gc2VnLmJhc2U7Ci0KLSAgICBo
dm1fZ2V0X3NlZ21lbnRfcmVnaXN0ZXIoY3VyciwgeDg2X3NlZ19jcywgJnNlZyk7Ci0gICAgcmVx
LT5kYXRhLnJlZ3MueDg2LmNzX2FyYnl0ZXMgPSBzZWcuYXR0ci5ieXRlczsKLX0KLQogdm9pZCBw
Mm1fbWVtX2FjY2Vzc19lbXVsYXRlX2NoZWNrKHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZtX2V2ZW50X3Jlc3BvbnNlX3QgKnJzcCkKIHsK
QEAgLTE3NjAsNyArMTcwNSw3IEBAIGJvb2xfdCBwMm1fbWVtX2FjY2Vzc19jaGVjayhwYWRkcl90
IGdwYSwgdW5zaWduZWQgbG9uZyBnbGEsCiAgICAgICAgIHJlcS0+dS5tZW1fYWNjZXNzLmZsYWdz
IHw9IG5wZmVjLmluc25fZmV0Y2ggICAgID8gTUVNX0FDQ0VTU19YIDogMDsKICAgICAgICAgcmVx
LT52Y3B1X2lkID0gdi0+dmNwdV9pZDsKIAotICAgICAgICBwMm1fdm1fZXZlbnRfZmlsbF9yZWdz
KHJlcSk7CisgICAgICAgIHZtX2V2ZW50X2ZpbGxfcmVncyhyZXEpOwogCiAgICAgICAgIGlmICgg
YWx0cDJtX2FjdGl2ZSh2LT5kb21haW4pICkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3ZtX2V2ZW50LmMgYi94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYwppbmRleCAwOGQ2Nzhh
Li4yYTJhYmQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYworKysgYi94ZW4v
YXJjaC94ODYvdm1fZXZlbnQuYwpAQCAtMTIyLDYgKzEyMiw2MyBAQCB2b2lkIHZtX2V2ZW50X3Nl
dF9yZWdpc3RlcnMoc3RydWN0IHZjcHUgKnYsIHZtX2V2ZW50X3Jlc3BvbnNlX3QgKnJzcCkKICAg
ICB2LT5hcmNoLnVzZXJfcmVncy5laXAgPSByc3AtPmRhdGEucmVncy54ODYucmlwOwogfQogCit2
b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSkKK3sKKyAgICBj
b25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1ZXN0X2NwdV91c2VyX3JlZ3MoKTsK
KyAgICBzdHJ1Y3Qgc2VnbWVudF9yZWdpc3RlciBzZWc7CisgICAgc3RydWN0IGh2bV9od19jcHUg
Y3R4dDsKKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisKKyAgICBBU1NFUlQoaXNf
aHZtX3ZjcHUoY3VycikpOworCisgICAgLyogQXJjaGl0ZWN0dXJlLXNwZWNpZmljIHZtY3Mvdm1j
YiBiaXRzICovCisgICAgaHZtX2Z1bmNzLnNhdmVfY3B1X2N0eHQoY3VyciwgJmN0eHQpOworCisg
ICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJheCA9IHJlZ3MtPmVheDsKKyAgICByZXEtPmRhdGEucmVn
cy54ODYucmN4ID0gcmVncy0+ZWN4OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yZHggPSByZWdz
LT5lZHg7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJieCA9IHJlZ3MtPmVieDsKKyAgICByZXEt
PmRhdGEucmVncy54ODYucnNwID0gcmVncy0+ZXNwOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5y
YnAgPSByZWdzLT5lYnA7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJzaSA9IHJlZ3MtPmVzaTsK
KyAgICByZXEtPmRhdGEucmVncy54ODYucmRpID0gcmVncy0+ZWRpOworCisgICAgcmVxLT5kYXRh
LnJlZ3MueDg2LnI4ICA9IHJlZ3MtPnI4OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yOSAgPSBy
ZWdzLT5yOTsKKyAgICByZXEtPmRhdGEucmVncy54ODYucjEwID0gcmVncy0+cjEwOworICAgIHJl
cS0+ZGF0YS5yZWdzLng4Ni5yMTEgPSByZWdzLT5yMTE7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2
LnIxMiA9IHJlZ3MtPnIxMjsKKyAgICByZXEtPmRhdGEucmVncy54ODYucjEzID0gcmVncy0+cjEz
OworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yMTQgPSByZWdzLT5yMTQ7CisgICAgcmVxLT5kYXRh
LnJlZ3MueDg2LnIxNSA9IHJlZ3MtPnIxNTsKKworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5yZmxh
Z3MgPSByZWdzLT5lZmxhZ3M7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LnJpcCAgICA9IHJlZ3Mt
PmVpcDsKKworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5kcjcgPSBjdXJyLT5hcmNoLmRlYnVncmVn
WzddOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjAgPSBjdHh0LmNyMDsKKyAgICByZXEtPmRh
dGEucmVncy54ODYuY3IyID0gY3R4dC5jcjI7CisgICAgcmVxLT5kYXRhLnJlZ3MueDg2LmNyMyA9
IGN0eHQuY3IzOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jcjQgPSBjdHh0LmNyNDsKKworICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5zeXNlbnRlcl9jcyA9IGN0eHQuc3lzZW50ZXJfY3M7CisgICAg
cmVxLT5kYXRhLnJlZ3MueDg2LnN5c2VudGVyX2VzcCA9IGN0eHQuc3lzZW50ZXJfZXNwOworICAg
IHJlcS0+ZGF0YS5yZWdzLng4Ni5zeXNlbnRlcl9laXAgPSBjdHh0LnN5c2VudGVyX2VpcDsKKwor
ICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5tc3JfZWZlciA9IGN0eHQubXNyX2VmZXI7CisgICAgcmVx
LT5kYXRhLnJlZ3MueDg2Lm1zcl9zdGFyID0gY3R4dC5tc3Jfc3RhcjsKKyAgICByZXEtPmRhdGEu
cmVncy54ODYubXNyX2xzdGFyID0gY3R4dC5tc3JfbHN0YXI7CisKKyAgICBodm1fZ2V0X3NlZ21l
bnRfcmVnaXN0ZXIoY3VyciwgeDg2X3NlZ19mcywgJnNlZyk7CisgICAgcmVxLT5kYXRhLnJlZ3Mu
eDg2LmZzX2Jhc2UgPSBzZWcuYmFzZTsKKworICAgIGh2bV9nZXRfc2VnbWVudF9yZWdpc3Rlcihj
dXJyLCB4ODZfc2VnX2dzLCAmc2VnKTsKKyAgICByZXEtPmRhdGEucmVncy54ODYuZ3NfYmFzZSA9
IHNlZy5iYXNlOworCisgICAgaHZtX2dldF9zZWdtZW50X3JlZ2lzdGVyKGN1cnIsIHg4Nl9zZWdf
Y3MsICZzZWcpOworICAgIHJlcS0+ZGF0YS5yZWdzLng4Ni5jc19hcmJ5dGVzID0gc2VnLmF0dHIu
Ynl0ZXM7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1n
aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmggYi94ZW4vaW5jbHVkZS9hc20teDg2
L3ZtX2V2ZW50LmgKaW5kZXggZmZmODMyNi4uMDI2ZjQyZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1
ZGUvYXNtLXg4Ni92bV9ldmVudC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQu
aApAQCAtNDIsNCArNDIsNiBAQCB2b2lkIHZtX2V2ZW50X3JlZ2lzdGVyX3dyaXRlX3Jlc3VtZShz
dHJ1Y3QgdmNwdSAqdiwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKTsKIAogdm9pZCB2bV9ldmVu
dF9zZXRfcmVnaXN0ZXJzKHN0cnVjdCB2Y3B1ICp2LCB2bV9ldmVudF9yZXNwb25zZV90ICpyc3Ap
OwogCit2b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSk7CisK
ICNlbmRpZiAvKiBfX0FTTV9YODZfVk1fRVZFTlRfSF9fICovCi0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:41 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx05-0006ws-6G; Thu, 25 Feb 2016 14:34:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx04-0006wh-4u
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:40 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
 05/F9-03497-FF01FC65; Thu, 25 Feb 2016 14:34:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456410877!24736751!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42531 invoked from network); 25 Feb 2016 14:34:38 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx01-0000el-9h
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx01-0000ma-7t
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx01-0000ma-7t@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:37 +0000
Subject: [Xen-changelog] [xen master] Revert "init: annotate all command
	line parameter infrastructure as const"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDFhNTE0MjNiNTAzMWZmODgwNjNjMDE0ZGMzM2NhNGJmZjM5YjUzNjcKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjMwOjU0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjMwOjU0IDIwMTYgKzAxMDAKCiAgICBS
ZXZlcnQgImluaXQ6IGFubm90YXRlIGFsbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIGluZnJhc3Ry
dWN0dXJlIGFzIGNvbnN0IgogICAgCiAgICBUaGlzIHJldmVydHMgY29tbWl0IDU5YjE1MWQyYzBi
ZjM3ZjNmMmY5ODQwOTZkMzg0ZGZkZmEwM2E4ZjQsCiAgICBhcyBpdCBicmVha3MgdGhlIGJ1aWxk
IHdpdGggb2xkZXIgZ2NjLgotLS0KIHhlbi9hcmNoL2FybS94ZW4ubGRzLlMgfCAxMSArKysrKy0t
LS0tLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyB8IDExICsrKysrLS0tLS0tCiB4ZW4vaW5jbHVk
ZS94ZW4vaW5pdC5oIHwgIDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp
LCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIv
eGVuL2FyY2gvYXJtL3hlbi5sZHMuUwppbmRleCBkMjJjMjYzLi5mNTAxYTJmIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAg
LTExNSwxMiArMTE1LDYgQEAgU0VDVElPTlMKICAgLmluaXQuZGF0YSA6IHsKICAgICAgICAqKC5p
bml0LnJvZGF0YSkKICAgICAgICAqKC5pbml0LnJvZGF0YS5zdHIqKQotCi0gICAgICAgLiA9IEFM
SUdOKDgpOwotICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOwotICAgICAgICooLmluaXQuc2V0dXAp
Ci0gICAgICAgX19zZXR1cF9lbmQgPSAuOwotCiAgICAgICAgKiguaW5pdC5kYXRhKQogICAgICAg
ICooLmluaXQuZGF0YS5yZWwpCiAgICAgICAgKiguaW5pdC5kYXRhLnJlbC4qKQpAQCAtMTMxLDYg
KzEyNSwxMSBAQCBTRUNUSU9OUwogICAgICAgIF9fY3RvcnNfZW5kID0gLjsKICAgfSA6dGV4dAog
ICAuID0gQUxJR04oMzIpOworICAuaW5pdC5zZXR1cCA6IHsKKyAgICAgICBfX3NldHVwX3N0YXJ0
ID0gLjsKKyAgICAgICAqKC5pbml0LnNldHVwKQorICAgICAgIF9fc2V0dXBfZW5kID0gLjsKKyAg
fSA6dGV4dAogICAuaW5pdC5wcm9jLmluZm8gOiB7CiAgICAgICAgX19wcm9jX2luZm9fc3RhcnQg
PSAuOwogICAgICAgICooLmluaXQucHJvYy5pbmZvKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKaW5kZXggMGM5YWVmYS4uOWZkZTFk
YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYv
eGVuLmxkcy5TCkBAIC0xMjAsMTIgKzEyMCw2IEBAIFNFQ1RJT05TCiAgIC5pbml0LmRhdGEgOiB7
CiAgICAgICAgKiguaW5pdC5yb2RhdGEpCiAgICAgICAgKiguaW5pdC5yb2RhdGEuc3RyKikKLQot
ICAgICAgIC4gPSBBTElHTig4KTsKLSAgICAgICBfX3NldHVwX3N0YXJ0ID0gLjsKLSAgICAgICAq
KC5pbml0LnNldHVwKQotICAgICAgIF9fc2V0dXBfZW5kID0gLjsKLQogICAgICAgICooLmluaXQu
ZGF0YSkKICAgICAgICAqKC5pbml0LmRhdGEucmVsKQogICAgICAgICooLmluaXQuZGF0YS5yZWwu
KikKQEAgLTE1Miw2ICsxNDYsMTEgQEAgU0VDVElPTlMKICAgICAgICBfX2N0b3JzX2VuZCA9IC47
CiAgIH0gOnRleHQKICAgLiA9IEFMSUdOKDMyKTsKKyAgLmluaXQuc2V0dXAgOiB7CisgICAgICAg
X19zZXR1cF9zdGFydCA9IC47CisgICAgICAgKiguaW5pdC5zZXR1cCkKKyAgICAgICBfX3NldHVw
X2VuZCA9IC47CisgIH0gOnRleHQKICAgLmluaXRjYWxsLmluaXQgOiB7CiAgICAgICAgX19pbml0
Y2FsbF9zdGFydCA9IC47CiAgICAgICAgKiguaW5pdGNhbGxwcmVzbXAuaW5pdCkKZGlmZiAtLWdp
dCBhL3hlbi9pbmNsdWRlL3hlbi9pbml0LmggYi94ZW4vaW5jbHVkZS94ZW4vaW5pdC5oCmluZGV4
IDE0MmM1YzguLjYwODExMDIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKKysr
IGIveGVuL2luY2x1ZGUveGVuL2luaXQuaApAQCAtODcsOCArODcsOCBAQCBzdHJ1Y3Qga2VybmVs
X3BhcmFtIHsKIAogZXh0ZXJuIHN0cnVjdCBrZXJuZWxfcGFyYW0gX19zZXR1cF9zdGFydCwgX19z
ZXR1cF9lbmQ7CiAKLSNkZWZpbmUgX19zZXR1cF9zdHIgc3RhdGljIGNvbnN0IF9faW5pdGNvbnN0
IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDEpKSkgY2hhcgotI2RlZmluZSBfX2twYXJhbSBz
dGF0aWMgY29uc3QgX19pbml0c2V0dXAgc3RydWN0IGtlcm5lbF9wYXJhbQorI2RlZmluZSBfX3Nl
dHVwX3N0ciBzdGF0aWMgX19pbml0ZGF0YSBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygxKSkp
IGNoYXIKKyNkZWZpbmUgX19rcGFyYW0gc3RhdGljIF9faW5pdHNldHVwIHN0cnVjdCBrZXJuZWxf
cGFyYW0KIAogI2RlZmluZSBjdXN0b21fcGFyYW0oX25hbWUsIF92YXIpIFwKICAgICBfX3NldHVw
X3N0ciBfX3NldHVwX3N0cl8jI192YXJbXSA9IF9uYW1lOyBcCi0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:41 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx05-0006ws-6G; Thu, 25 Feb 2016 14:34:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx04-0006wh-4u
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:40 +0000
Received: from [193.109.254.147] by server-6.bemta-14.messagelabs.com id
 05/F9-03497-FF01FC65; Thu, 25 Feb 2016 14:34:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456410877!24736751!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42531 invoked from network); 25 Feb 2016 14:34:38 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx01-0000el-9h
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx01-0000ma-7t
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx01-0000ma-7t@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:37 +0000
Subject: [Xen-changelog] [xen master] Revert "init: annotate all command
	line parameter infrastructure as const"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDFhNTE0MjNiNTAzMWZmODgwNjNjMDE0ZGMzM2NhNGJmZjM5YjUzNjcKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjMwOjU0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjMwOjU0IDIwMTYgKzAxMDAKCiAgICBS
ZXZlcnQgImluaXQ6IGFubm90YXRlIGFsbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIGluZnJhc3Ry
dWN0dXJlIGFzIGNvbnN0IgogICAgCiAgICBUaGlzIHJldmVydHMgY29tbWl0IDU5YjE1MWQyYzBi
ZjM3ZjNmMmY5ODQwOTZkMzg0ZGZkZmEwM2E4ZjQsCiAgICBhcyBpdCBicmVha3MgdGhlIGJ1aWxk
IHdpdGggb2xkZXIgZ2NjLgotLS0KIHhlbi9hcmNoL2FybS94ZW4ubGRzLlMgfCAxMSArKysrKy0t
LS0tLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyB8IDExICsrKysrLS0tLS0tCiB4ZW4vaW5jbHVk
ZS94ZW4vaW5pdC5oIHwgIDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp
LCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIv
eGVuL2FyY2gvYXJtL3hlbi5sZHMuUwppbmRleCBkMjJjMjYzLi5mNTAxYTJmIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAg
LTExNSwxMiArMTE1LDYgQEAgU0VDVElPTlMKICAgLmluaXQuZGF0YSA6IHsKICAgICAgICAqKC5p
bml0LnJvZGF0YSkKICAgICAgICAqKC5pbml0LnJvZGF0YS5zdHIqKQotCi0gICAgICAgLiA9IEFM
SUdOKDgpOwotICAgICAgIF9fc2V0dXBfc3RhcnQgPSAuOwotICAgICAgICooLmluaXQuc2V0dXAp
Ci0gICAgICAgX19zZXR1cF9lbmQgPSAuOwotCiAgICAgICAgKiguaW5pdC5kYXRhKQogICAgICAg
ICooLmluaXQuZGF0YS5yZWwpCiAgICAgICAgKiguaW5pdC5kYXRhLnJlbC4qKQpAQCAtMTMxLDYg
KzEyNSwxMSBAQCBTRUNUSU9OUwogICAgICAgIF9fY3RvcnNfZW5kID0gLjsKICAgfSA6dGV4dAog
ICAuID0gQUxJR04oMzIpOworICAuaW5pdC5zZXR1cCA6IHsKKyAgICAgICBfX3NldHVwX3N0YXJ0
ID0gLjsKKyAgICAgICAqKC5pbml0LnNldHVwKQorICAgICAgIF9fc2V0dXBfZW5kID0gLjsKKyAg
fSA6dGV4dAogICAuaW5pdC5wcm9jLmluZm8gOiB7CiAgICAgICAgX19wcm9jX2luZm9fc3RhcnQg
PSAuOwogICAgICAgICooLmluaXQucHJvYy5pbmZvKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKaW5kZXggMGM5YWVmYS4uOWZkZTFk
YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYv
eGVuLmxkcy5TCkBAIC0xMjAsMTIgKzEyMCw2IEBAIFNFQ1RJT05TCiAgIC5pbml0LmRhdGEgOiB7
CiAgICAgICAgKiguaW5pdC5yb2RhdGEpCiAgICAgICAgKiguaW5pdC5yb2RhdGEuc3RyKikKLQot
ICAgICAgIC4gPSBBTElHTig4KTsKLSAgICAgICBfX3NldHVwX3N0YXJ0ID0gLjsKLSAgICAgICAq
KC5pbml0LnNldHVwKQotICAgICAgIF9fc2V0dXBfZW5kID0gLjsKLQogICAgICAgICooLmluaXQu
ZGF0YSkKICAgICAgICAqKC5pbml0LmRhdGEucmVsKQogICAgICAgICooLmluaXQuZGF0YS5yZWwu
KikKQEAgLTE1Miw2ICsxNDYsMTEgQEAgU0VDVElPTlMKICAgICAgICBfX2N0b3JzX2VuZCA9IC47
CiAgIH0gOnRleHQKICAgLiA9IEFMSUdOKDMyKTsKKyAgLmluaXQuc2V0dXAgOiB7CisgICAgICAg
X19zZXR1cF9zdGFydCA9IC47CisgICAgICAgKiguaW5pdC5zZXR1cCkKKyAgICAgICBfX3NldHVw
X2VuZCA9IC47CisgIH0gOnRleHQKICAgLmluaXRjYWxsLmluaXQgOiB7CiAgICAgICAgX19pbml0
Y2FsbF9zdGFydCA9IC47CiAgICAgICAgKiguaW5pdGNhbGxwcmVzbXAuaW5pdCkKZGlmZiAtLWdp
dCBhL3hlbi9pbmNsdWRlL3hlbi9pbml0LmggYi94ZW4vaW5jbHVkZS94ZW4vaW5pdC5oCmluZGV4
IDE0MmM1YzguLjYwODExMDIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKKysr
IGIveGVuL2luY2x1ZGUveGVuL2luaXQuaApAQCAtODcsOCArODcsOCBAQCBzdHJ1Y3Qga2VybmVs
X3BhcmFtIHsKIAogZXh0ZXJuIHN0cnVjdCBrZXJuZWxfcGFyYW0gX19zZXR1cF9zdGFydCwgX19z
ZXR1cF9lbmQ7CiAKLSNkZWZpbmUgX19zZXR1cF9zdHIgc3RhdGljIGNvbnN0IF9faW5pdGNvbnN0
IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDEpKSkgY2hhcgotI2RlZmluZSBfX2twYXJhbSBz
dGF0aWMgY29uc3QgX19pbml0c2V0dXAgc3RydWN0IGtlcm5lbF9wYXJhbQorI2RlZmluZSBfX3Nl
dHVwX3N0ciBzdGF0aWMgX19pbml0ZGF0YSBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygxKSkp
IGNoYXIKKyNkZWZpbmUgX19rcGFyYW0gc3RhdGljIF9faW5pdHNldHVwIHN0cnVjdCBrZXJuZWxf
cGFyYW0KIAogI2RlZmluZSBjdXN0b21fcGFyYW0oX25hbWUsIF92YXIpIFwKICAgICBfX3NldHVw
X3N0ciBfX3NldHVwX3N0cl8jI192YXJbXSA9IF9uYW1lOyBcCi0tCmdlbmVyYXRlZCBieSBnaXQt
cGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBs
aXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNv
bS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0F-0006zA-8D; Thu, 25 Feb 2016 14:34:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0E-0006yl-BK
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:50 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 D4/55-03109-9011FC65; Thu, 25 Feb 2016 14:34:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410887!25171391!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42637 invoked from network); 25 Feb 2016 14:34:48 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0B-0000ey-KE
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0B-0000of-Hk
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0B-0000of-Hk@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:47 +0000
Subject: [Xen-changelog] [xen master] common: re-arrange struct kernel_param
	fields
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDdjMDlmZWUwYjI2YWFhNWJiMzRlOGUwOGU0MzY5NzhkNTcxMWZhZDYKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjM4OjM0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjM4OjM0IDIwMTYgKzAxMDAKCiAgICBj
b21tb246IHJlLWFycmFuZ2Ugc3RydWN0IGtlcm5lbF9wYXJhbSBmaWVsZHMKICAgIAogICAgRXZl
biBpZiBwbGFjZWQgaW4gLmluaXQuKiB0aGVyZSdzIG5vIHJlYXNvbiB0byBuZWVkbGVzc2x5IGJs
b2F0IHRoZQogICAgYmluYXJ5IGR1ZSB0byBwYWRkaW5nIGZpZWxkcyB0aGUgY29tcGlsZXIgbmVl
ZHMgdG8gaW5zZXJ0IG9uIDY0LWJpdAogICAgYXJjaGl0ZWN0dXJlcy4KICAgIAogICAgU2lnbmVk
LW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTog
SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogeGVuL2luY2x1ZGUv
eGVuL2luaXQuaCB8IDE1ICsrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0
aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW5p
dC5oIGIveGVuL2luY2x1ZGUveGVuL2luaXQuaAppbmRleCA2MDgxMTAyLi5mZDhiNjE0IDEwMDY0
NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW5pdC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pbml0
LmgKQEAgLTgxLDM0ICs4MSwzNSBAQCBzdHJ1Y3Qga2VybmVsX3BhcmFtIHsKICAgICAgICAgT1BU
X1NJWkUsCiAgICAgICAgIE9QVF9DVVNUT00KICAgICB9IHR5cGU7Ci0gICAgdm9pZCAqdmFyOwog
ICAgIHVuc2lnbmVkIGludCBsZW47CisgICAgdm9pZCAqdmFyOwogfTsKIAogZXh0ZXJuIHN0cnVj
dCBrZXJuZWxfcGFyYW0gX19zZXR1cF9zdGFydCwgX19zZXR1cF9lbmQ7CiAKICNkZWZpbmUgX19z
ZXR1cF9zdHIgc3RhdGljIF9faW5pdGRhdGEgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMSkp
KSBjaGFyCi0jZGVmaW5lIF9fa3BhcmFtIHN0YXRpYyBfX2luaXRzZXR1cCBzdHJ1Y3Qga2VybmVs
X3BhcmFtCisjZGVmaW5lIF9fa3BhcmFtIHN0YXRpYyBfX2luaXRzZXR1cCBcCisgICAgX19hdHRy
aWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mKHZvaWQgKikpKSkgc3RydWN0IGtlcm5lbF9wYXJh
bQogCiAjZGVmaW5lIGN1c3RvbV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3Ry
IF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7IFwKLSAgICBfX2twYXJhbSBfX3NldHVwXyMj
X3ZhciA9IHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfQ1VTVE9NLCBfdmFyLCAwIH0KKyAgICBf
X2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfQ1VTVE9N
LCAwLCBfdmFyIH0KICNkZWZpbmUgYm9vbGVhbl9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9f
c2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7IFwKICAgICBfX2twYXJhbSBf
X3NldHVwXyMjX3ZhciA9IFwKLSAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9CT09M
LCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0KKyAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9Q
VF9CT09MLCBzaXplb2YoX3ZhciksICZfdmFyIH0KICNkZWZpbmUgaW50ZWdlcl9wYXJhbShfbmFt
ZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7
IFwKICAgICBfX2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IFwKLSAgICAgICAgeyBfX3NldHVwX3N0
cl8jI192YXIsIE9QVF9VSU5ULCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0KKyAgICAgICAgeyBfX3Nl
dHVwX3N0cl8jI192YXIsIE9QVF9VSU5ULCBzaXplb2YoX3ZhciksICZfdmFyIH0KICNkZWZpbmUg
c2l6ZV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMj
X3ZhcltdID0gX25hbWU7IFwKICAgICBfX2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IFwKLSAgICAg
ICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9TSVpFLCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0K
KyAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9TSVpFLCBzaXplb2YoX3ZhciksICZf
dmFyIH0KICNkZWZpbmUgc3RyaW5nX3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19zZXR1cF9z
dHIgX19zZXR1cF9zdHJfIyNfdmFyW10gPSBfbmFtZTsgXAogICAgIF9fa3BhcmFtIF9fc2V0dXBf
IyNfdmFyID0gXAotICAgICAgICB7IF9fc2V0dXBfc3RyXyMjX3ZhciwgT1BUX1NUUiwgJl92YXIs
IHNpemVvZihfdmFyKSB9CisgICAgICAgIHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfU1RSLCBz
aXplb2YoX3ZhciksICZfdmFyIH0KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:34:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0F-0006zA-8D; Thu, 25 Feb 2016 14:34:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0E-0006yl-BK
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:50 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 D4/55-03109-9011FC65; Thu, 25 Feb 2016 14:34:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410887!25171391!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42637 invoked from network); 25 Feb 2016 14:34:48 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:34:48 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0B-0000ey-KE
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0B-0000of-Hk
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:47 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0B-0000of-Hk@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:47 +0000
Subject: [Xen-changelog] [xen master] common: re-arrange struct kernel_param
	fields
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDdjMDlmZWUwYjI2YWFhNWJiMzRlOGUwOGU0MzY5NzhkNTcxMWZhZDYKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmViIDIy
IDE3OjM4OjM0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBNb24gRmViIDIyIDE3OjM4OjM0IDIwMTYgKzAxMDAKCiAgICBj
b21tb246IHJlLWFycmFuZ2Ugc3RydWN0IGtlcm5lbF9wYXJhbSBmaWVsZHMKICAgIAogICAgRXZl
biBpZiBwbGFjZWQgaW4gLmluaXQuKiB0aGVyZSdzIG5vIHJlYXNvbiB0byBuZWVkbGVzc2x5IGJs
b2F0IHRoZQogICAgYmluYXJ5IGR1ZSB0byBwYWRkaW5nIGZpZWxkcyB0aGUgY29tcGlsZXIgbmVl
ZHMgdG8gaW5zZXJ0IG9uIDY0LWJpdAogICAgYXJjaGl0ZWN0dXJlcy4KICAgIAogICAgU2lnbmVk
LW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTog
SWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogeGVuL2luY2x1ZGUv
eGVuL2luaXQuaCB8IDE1ICsrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0
aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW5p
dC5oIGIveGVuL2luY2x1ZGUveGVuL2luaXQuaAppbmRleCA2MDgxMTAyLi5mZDhiNjE0IDEwMDY0
NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW5pdC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pbml0
LmgKQEAgLTgxLDM0ICs4MSwzNSBAQCBzdHJ1Y3Qga2VybmVsX3BhcmFtIHsKICAgICAgICAgT1BU
X1NJWkUsCiAgICAgICAgIE9QVF9DVVNUT00KICAgICB9IHR5cGU7Ci0gICAgdm9pZCAqdmFyOwog
ICAgIHVuc2lnbmVkIGludCBsZW47CisgICAgdm9pZCAqdmFyOwogfTsKIAogZXh0ZXJuIHN0cnVj
dCBrZXJuZWxfcGFyYW0gX19zZXR1cF9zdGFydCwgX19zZXR1cF9lbmQ7CiAKICNkZWZpbmUgX19z
ZXR1cF9zdHIgc3RhdGljIF9faW5pdGRhdGEgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMSkp
KSBjaGFyCi0jZGVmaW5lIF9fa3BhcmFtIHN0YXRpYyBfX2luaXRzZXR1cCBzdHJ1Y3Qga2VybmVs
X3BhcmFtCisjZGVmaW5lIF9fa3BhcmFtIHN0YXRpYyBfX2luaXRzZXR1cCBcCisgICAgX19hdHRy
aWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mKHZvaWQgKikpKSkgc3RydWN0IGtlcm5lbF9wYXJh
bQogCiAjZGVmaW5lIGN1c3RvbV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3Ry
IF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7IFwKLSAgICBfX2twYXJhbSBfX3NldHVwXyMj
X3ZhciA9IHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfQ1VTVE9NLCBfdmFyLCAwIH0KKyAgICBf
X2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfQ1VTVE9N
LCAwLCBfdmFyIH0KICNkZWZpbmUgYm9vbGVhbl9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9f
c2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7IFwKICAgICBfX2twYXJhbSBf
X3NldHVwXyMjX3ZhciA9IFwKLSAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9CT09M
LCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0KKyAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9Q
VF9CT09MLCBzaXplb2YoX3ZhciksICZfdmFyIH0KICNkZWZpbmUgaW50ZWdlcl9wYXJhbShfbmFt
ZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMjX3ZhcltdID0gX25hbWU7
IFwKICAgICBfX2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IFwKLSAgICAgICAgeyBfX3NldHVwX3N0
cl8jI192YXIsIE9QVF9VSU5ULCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0KKyAgICAgICAgeyBfX3Nl
dHVwX3N0cl8jI192YXIsIE9QVF9VSU5ULCBzaXplb2YoX3ZhciksICZfdmFyIH0KICNkZWZpbmUg
c2l6ZV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fc2V0dXBfc3RyIF9fc2V0dXBfc3RyXyMj
X3ZhcltdID0gX25hbWU7IFwKICAgICBfX2twYXJhbSBfX3NldHVwXyMjX3ZhciA9IFwKLSAgICAg
ICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9TSVpFLCAmX3Zhciwgc2l6ZW9mKF92YXIpIH0K
KyAgICAgICAgeyBfX3NldHVwX3N0cl8jI192YXIsIE9QVF9TSVpFLCBzaXplb2YoX3ZhciksICZf
dmFyIH0KICNkZWZpbmUgc3RyaW5nX3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19zZXR1cF9z
dHIgX19zZXR1cF9zdHJfIyNfdmFyW10gPSBfbmFtZTsgXAogICAgIF9fa3BhcmFtIF9fc2V0dXBf
IyNfdmFyID0gXAotICAgICAgICB7IF9fc2V0dXBfc3RyXyMjX3ZhciwgT1BUX1NUUiwgJl92YXIs
IHNpemVvZihfdmFyKSB9CisgICAgICAgIHsgX19zZXR1cF9zdHJfIyNfdmFyLCBPUFRfU1RSLCBz
aXplb2YoX3ZhciksICZfdmFyIH0KIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0Q-00071I-A9; Thu, 25 Feb 2016 14:35:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0P-000712-Kj
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:01 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
 CF/77-02989-5111FC65; Thu, 25 Feb 2016 14:35:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456410899!26732870!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11653 invoked from network); 25 Feb 2016 14:35:00 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-5.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0N-0000fe-6A
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0N-0000qg-3H
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0N-0000qg-3H@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:59 +0000
Subject: [Xen-changelog] [xen master] m4/python: fix typo in LDFLAGS
	variable name
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE5ZDBlOWFmZjIzYTc4ZjE0M2RjZGMxNDJkMjY3YjA1ZmMxNWU4NTkKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBUaHUgRmVi
IDE4IDIwOjU3OjAzIDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgSWFuIEphY2tzb24gPGlhbi5qYWNr
c29uQGV1LmNpdHJpeC5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTY6MTM6NTYgMjAxNiAr
MDAwMAoKICAgIG00L3B5dGhvbjogZml4IHR5cG8gaW4gTERGTEFHUyB2YXJpYWJsZSBuYW1lCiAg
ICAKICAgIFsgYWxzbywgcmVyYW4gYXV0b2dlbi5zaCBdCiAgICAKICAgIFJlcG9ydGVkLWJ5OiBK
b25hdGhhbiBDcmVla21vcmUgPGpvbmF0aGFuLmNyZWVrbW9yZUBnbWFpbC5jb20+CiAgICBTaWdu
ZWQtb2ZmLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+CiAgICBSZXZpZXdl
ZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgogICAg
QWNrZWQtYnk6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgotLS0KIG00
L3B5dGhvbl9kZXZlbC5tNCB8IDIgKy0KIHRvb2xzL2NvbmZpZ3VyZSAgICB8IDIgKy0KIDIgZmls
ZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L200L3B5dGhvbl9kZXZlbC5tNCBiL200L3B5dGhvbl9kZXZlbC5tNAppbmRleCA2NTllN2Q0Li5k
ZWZmMTllIDEwMDY0NAotLS0gYS9tNC9weXRob25fZGV2ZWwubTQKKysrIGIvbTQvcHl0aG9uX2Rl
dmVsLm00CkBAIC0zMiw1ICszMiw1IEBAIEFDX0NIRUNLX0hFQURFUihbUHl0aG9uLmhdLCBbXSwK
IEFDX0NIRUNLX0xJQihweXRob24kYWNfcHl0aG9uX3ZlcnNpb24sIFB5QXJnX1BhcnNlVHVwbGUs
IFtdLAogICAgIFtBQ19NU0dfRVJST1IoW1VuYWJsZSB0byBmaW5kIGEgc3VpdGFibGUgcHl0aG9u
IGRldmVsb3BtZW50IGxpYnJhcnldKV0pCiBDUFBGTEFHUz0kYWNfcHJldmlvdXNfY3BwZmxhZ3MK
LUxETEZBR1M9JGFjX3ByZXZpb3VzX2xkZmxhZ3MKK0xERkxBR1M9JGFjX3ByZXZpb3VzX2xkZmxh
Z3MKIF0pCmRpZmYgLS1naXQgYS90b29scy9jb25maWd1cmUgYi90b29scy9jb25maWd1cmUKaW5k
ZXggY2Q0MWIyNi4uZWQzOGQzNCAxMDA3NTUKLS0tIGEvdG9vbHMvY29uZmlndXJlCisrKyBiL3Rv
b2xzL2NvbmZpZ3VyZQpAQCAtNzIyNyw3ICs3MjI3LDcgQEAgZWxzZQogZmkKIAogQ1BQRkxBR1M9
JGFjX3ByZXZpb3VzX2NwcGZsYWdzCi1MRExGQUdTPSRhY19wcmV2aW91c19sZGZsYWdzCitMREZM
QUdTPSRhY19wcmV2aW91c19sZGZsYWdzCiAKIAogICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBQeXRob24gc2V0dXAucHkgYnJva2Vu
bHkgZW5hYmxlcyAtRF9GT1JUSUZZX1NPVVJDRSIgPiY1Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0Q-00071I-A9; Thu, 25 Feb 2016 14:35:02 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0P-000712-Kj
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:01 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
 CF/77-02989-5111FC65; Thu, 25 Feb 2016 14:35:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1456410899!26732870!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11653 invoked from network); 25 Feb 2016 14:35:00 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-5.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0N-0000fe-6A
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0N-0000qg-3H
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:34:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0N-0000qg-3H@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:34:59 +0000
Subject: [Xen-changelog] [xen master] m4/python: fix typo in LDFLAGS
	variable name
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGE5ZDBlOWFmZjIzYTc4ZjE0M2RjZGMxNDJkMjY3YjA1ZmMxNWU4NTkKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBUaHUgRmVi
IDE4IDIwOjU3OjAzIDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgSWFuIEphY2tzb24gPGlhbi5qYWNr
c29uQGV1LmNpdHJpeC5jb20+CkNvbW1pdERhdGU6IE1vbiBGZWIgMjIgMTY6MTM6NTYgMjAxNiAr
MDAwMAoKICAgIG00L3B5dGhvbjogZml4IHR5cG8gaW4gTERGTEFHUyB2YXJpYWJsZSBuYW1lCiAg
ICAKICAgIFsgYWxzbywgcmVyYW4gYXV0b2dlbi5zaCBdCiAgICAKICAgIFJlcG9ydGVkLWJ5OiBK
b25hdGhhbiBDcmVla21vcmUgPGpvbmF0aGFuLmNyZWVrbW9yZUBnbWFpbC5jb20+CiAgICBTaWdu
ZWQtb2ZmLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+CiAgICBSZXZpZXdl
ZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgogICAg
QWNrZWQtYnk6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgotLS0KIG00
L3B5dGhvbl9kZXZlbC5tNCB8IDIgKy0KIHRvb2xzL2NvbmZpZ3VyZSAgICB8IDIgKy0KIDIgZmls
ZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L200L3B5dGhvbl9kZXZlbC5tNCBiL200L3B5dGhvbl9kZXZlbC5tNAppbmRleCA2NTllN2Q0Li5k
ZWZmMTllIDEwMDY0NAotLS0gYS9tNC9weXRob25fZGV2ZWwubTQKKysrIGIvbTQvcHl0aG9uX2Rl
dmVsLm00CkBAIC0zMiw1ICszMiw1IEBAIEFDX0NIRUNLX0hFQURFUihbUHl0aG9uLmhdLCBbXSwK
IEFDX0NIRUNLX0xJQihweXRob24kYWNfcHl0aG9uX3ZlcnNpb24sIFB5QXJnX1BhcnNlVHVwbGUs
IFtdLAogICAgIFtBQ19NU0dfRVJST1IoW1VuYWJsZSB0byBmaW5kIGEgc3VpdGFibGUgcHl0aG9u
IGRldmVsb3BtZW50IGxpYnJhcnldKV0pCiBDUFBGTEFHUz0kYWNfcHJldmlvdXNfY3BwZmxhZ3MK
LUxETEZBR1M9JGFjX3ByZXZpb3VzX2xkZmxhZ3MKK0xERkxBR1M9JGFjX3ByZXZpb3VzX2xkZmxh
Z3MKIF0pCmRpZmYgLS1naXQgYS90b29scy9jb25maWd1cmUgYi90b29scy9jb25maWd1cmUKaW5k
ZXggY2Q0MWIyNi4uZWQzOGQzNCAxMDA3NTUKLS0tIGEvdG9vbHMvY29uZmlndXJlCisrKyBiL3Rv
b2xzL2NvbmZpZ3VyZQpAQCAtNzIyNyw3ICs3MjI3LDcgQEAgZWxzZQogZmkKIAogQ1BQRkxBR1M9
JGFjX3ByZXZpb3VzX2NwcGZsYWdzCi1MRExGQUdTPSRhY19wcmV2aW91c19sZGZsYWdzCitMREZM
QUdTPSRhY19wcmV2aW91c19sZGZsYWdzCiAKIAogICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciBQeXRob24gc2V0dXAucHkgYnJva2Vu
bHkgZW5hYmxlcyAtRF9GT1JUSUZZX1NPVVJDRSIgPiY1Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0d-00073d-C9; Thu, 25 Feb 2016 14:35:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0b-00073E-Pk
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:13 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
 84/B6-03306-0211FC65; Thu, 25 Feb 2016 14:35:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410910!25171512!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46848 invoked from network); 25 Feb 2016 14:35:12 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0Y-0000gQ-6M
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0Y-0000sS-0A
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0Y-0000sS-0A@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:35:10 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc5ZDJmMDJiYTEzNTljYzc2NWMwZWEzODIyN2ZkOTY3ZjdiODE2OTYKTWVyZ2U6IGE5
ZDBlOWFmZjIzYTc4ZjE0M2RjZGMxNDJkMjY3YjA1ZmMxNWU4NTkgMWE1MTQyM2I1MDMxZmY4ODA2
M2MwMTRkYzMzY2E0YmZmMzliNTM2NwpBdXRob3I6ICAgICBJYW4gSmFja3NvbiA8aWFuLmphY2tz
b25AZXUuY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogTW9uIEZlYiAyMiAxNjo0MDoxMiAyMDE2ICsw
MDAwCkNvbW1pdDogICAgIElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgpD
b21taXREYXRlOiBNb24gRmViIDIyIDE2OjQwOjEyIDIwMTYgKzAwMDAKCiAgICBNZXJnZSBicmFu
Y2ggJ3N0YWdpbmcnIG9mIHhlbmJpdHMueGVuLm9yZzovaG9tZS94ZW4vZ2l0L3hlbiBpbnRvIHN0
YWdpbmcKCiB0b29scy9saWJ4Yy94Y19kb21feDg2LmMgICAgICAgfCAgMiArLQogeGVuL2FyY2gv
eDg2L2h2bS9ldmVudC5jICAgICAgIHwgMzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhl
bi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogeGVuL2FyY2gveDg2L21t
L3AybS5jICAgICAgICAgIHwgNTcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiB4ZW4vYXJjaC94ODYvdm1fZXZlbnQuYyAgICAgICAgfCA1NyArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnku
UyAgICB8ICAxIC0KIHhlbi9hcmNoL3g4Ni94ZW4ubGRzLlMgICAgICAgICB8ICAyICstCiB4ZW4v
Y29tbW9uL3NjaGVkX2NyZWRpdC5jICAgICAgfCAgMiArLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVk
aXQyLmMgICAgIHwgIDYgKystLS0KIHhlbi9jb21tb24vc2NoZWRfcnQuYyAgICAgICAgICB8ICAy
ICstCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oICAgfCAgNiAtLS0tLQogeGVuL2luY2x1
ZGUvYXNtLXg4Ni9jb25maWcuaCAgIHwgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni92bV9ldmVu
dC5oIHwgIDIgKysKIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaCAgICAgICB8ICA0ICstLQogeGVu
L2luY2x1ZGUveGVuL2NvbmZpZy5oICAgICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL3hlbi90bWVt
X3hlbi5oICAgICB8ICAzICstLQogMTYgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwg
MTEyIGRlbGV0aW9ucygtKQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94
ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxp
c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0d-00073d-C9; Thu, 25 Feb 2016 14:35:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0b-00073E-Pk
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:13 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
 84/B6-03306-0211FC65; Thu, 25 Feb 2016 14:35:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456410910!25171512!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46848 invoked from network); 25 Feb 2016 14:35:12 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:12 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0Y-0000gQ-6M
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:10 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0Y-0000sS-0A
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:10 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0Y-0000sS-0A@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:35:10 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc5ZDJmMDJiYTEzNTljYzc2NWMwZWEzODIyN2ZkOTY3ZjdiODE2OTYKTWVyZ2U6IGE5
ZDBlOWFmZjIzYTc4ZjE0M2RjZGMxNDJkMjY3YjA1ZmMxNWU4NTkgMWE1MTQyM2I1MDMxZmY4ODA2
M2MwMTRkYzMzY2E0YmZmMzliNTM2NwpBdXRob3I6ICAgICBJYW4gSmFja3NvbiA8aWFuLmphY2tz
b25AZXUuY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogTW9uIEZlYiAyMiAxNjo0MDoxMiAyMDE2ICsw
MDAwCkNvbW1pdDogICAgIElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgpD
b21taXREYXRlOiBNb24gRmViIDIyIDE2OjQwOjEyIDIwMTYgKzAwMDAKCiAgICBNZXJnZSBicmFu
Y2ggJ3N0YWdpbmcnIG9mIHhlbmJpdHMueGVuLm9yZzovaG9tZS94ZW4vZ2l0L3hlbiBpbnRvIHN0
YWdpbmcKCiB0b29scy9saWJ4Yy94Y19kb21feDg2LmMgICAgICAgfCAgMiArLQogeGVuL2FyY2gv
eDg2L2h2bS9ldmVudC5jICAgICAgIHwgMzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhl
bi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogeGVuL2FyY2gveDg2L21t
L3AybS5jICAgICAgICAgIHwgNTcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiB4ZW4vYXJjaC94ODYvdm1fZXZlbnQuYyAgICAgICAgfCA1NyArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnku
UyAgICB8ICAxIC0KIHhlbi9hcmNoL3g4Ni94ZW4ubGRzLlMgICAgICAgICB8ICAyICstCiB4ZW4v
Y29tbW9uL3NjaGVkX2NyZWRpdC5jICAgICAgfCAgMiArLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVk
aXQyLmMgICAgIHwgIDYgKystLS0KIHhlbi9jb21tb24vc2NoZWRfcnQuYyAgICAgICAgICB8ICAy
ICstCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5oICAgfCAgNiAtLS0tLQogeGVuL2luY2x1
ZGUvYXNtLXg4Ni9jb25maWcuaCAgIHwgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni92bV9ldmVu
dC5oIHwgIDIgKysKIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4uaCAgICAgICB8ICA0ICstLQogeGVu
L2luY2x1ZGUveGVuL2NvbmZpZy5oICAgICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL3hlbi90bWVt
X3hlbi5oICAgICB8ICAzICstLQogMTYgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwg
MTEyIGRlbGV0aW9ucygtKQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94
ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxp
c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0l-00076B-EC; Thu, 25 Feb 2016 14:35:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0k-00075b-O0
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:22 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
 79/09-02987-A211FC65; Thu, 25 Feb 2016 14:35:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456410920!25005557!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3997 invoked from network); 25 Feb 2016 14:35:21 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0i-0000ga-JB
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0i-0000u3-Cx
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0i-0000u3-Cx@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:35:20 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDk5ODExMGZlOWI3NThiNTExNzM2MDlmYjAzM2RiZTAzYjhkZTBhMDEKTWVyZ2U6IDdj
MDlmZWUwYjI2YWFhNWJiMzRlOGUwOGU0MzY5NzhkNTcxMWZhZDYgNzlkMmYwMmJhMTM1OWNjNzY1
YzBlYTM4MjI3ZmQ5NjdmN2I4MTY5NgpBdXRob3I6ICAgICBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+CkF1dGhvckRhdGU6IE1vbiBGZWIgMjIgMTc6NDI6MjEgMjAxNiArMDEwMApDb21t
aXQ6ICAgICBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IE1vbiBG
ZWIgMjIgMTc6NDI6MjEgMjAxNiArMDEwMAoKICAgIE1lcmdlIGJyYW5jaCAnc3RhZ2luZycgb2Yg
eGVuYml0cy54ZW4ub3JnOi9ob21lL3hlbi9naXQveGVuIGludG8gc3RhZ2luZwoKIG00L3B5dGhv
bl9kZXZlbC5tNCB8IDIgKy0KIHRvb2xzL2NvbmZpZ3VyZSAgICB8IDIgKy0KIDIgZmlsZXMgY2hh
bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Thu Feb 25 14:35:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Feb 2016 14:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aYx0l-00076B-EC; Thu, 25 Feb 2016 14:35:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0k-00075b-O0
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:22 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
 79/09-02987-A211FC65; Thu, 25 Feb 2016 14:35:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1456410920!25005557!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3997 invoked from network); 25 Feb 2016 14:35:21 -0000
Received: from unknown (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 25 Feb 2016 14:35:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0i-0000ga-JB
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aYx0i-0000u3-Cx
 for xen-changelog@lists.xensource.com; Thu, 25 Feb 2016 14:35:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aYx0i-0000u3-Cx@xenbits.xen.org>
Date: Thu, 25 Feb 2016 14:35:20 +0000
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	xenbits.xen.org:/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDk5ODExMGZlOWI3NThiNTExNzM2MDlmYjAzM2RiZTAzYjhkZTBhMDEKTWVyZ2U6IDdj
MDlmZWUwYjI2YWFhNWJiMzRlOGUwOGU0MzY5NzhkNTcxMWZhZDYgNzlkMmYwMmJhMTM1OWNjNzY1
YzBlYTM4MjI3ZmQ5NjdmN2I4MTY5NgpBdXRob3I6ICAgICBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+CkF1dGhvckRhdGU6IE1vbiBGZWIgMjIgMTc6NDI6MjEgMjAxNiArMDEwMApDb21t
aXQ6ICAgICBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IE1vbiBG
ZWIgMjIgMTc6NDI6MjEgMjAxNiArMDEwMAoKICAgIE1lcmdlIGJyYW5jaCAnc3RhZ2luZycgb2Yg
eGVuYml0cy54ZW4ub3JnOi9ob21lL3hlbi9naXQveGVuIGludG8gc3RhZ2luZwoKIG00L3B5dGhv
bl9kZXZlbC5tNCB8IDIgKy0KIHRvb2xzL2NvbmZpZ3VyZSAgICB8IDIgKy0KIDIgZmlsZXMgY2hh
bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRB-0003uG-Kg; Sat, 27 Feb 2016 06:33:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRA-0003u8-L6
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:08 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 F3/99-02987-32341D65; Sat, 27 Feb 2016 06:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456554786!18529076!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42237 invoked from network); 27 Feb 2016 06:33:07 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYR8-0008BF-2P
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYR7-0004He-Rg
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYR7-0004He-Rg@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:05 +0000
Subject: [Xen-changelog] [xen master] sched: get rid of static private
	schedulers' structures
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDljOTUyMjcxNjA3YThmZDRiMjM5ODdiZjUwOWRlZDAxZDMyZjNhOTAKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IFdlZCBGZWIgMjQgMTI6MDI6MzcgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IFdlZCBGZWIgMjQgMTI6MDI6MzcgMjAxNiAr
MDEwMAoKICAgIHNjaGVkOiBnZXQgcmlkIG9mIHN0YXRpYyBwcml2YXRlIHNjaGVkdWxlcnMnIHN0
cnVjdHVyZXMKICAgIAogICAgSW4gZmFjdCwgdGhleSBsb29rIHJhdGhlciB1c2VsZXNzOiB0aGV5
IGFyZSBuZXZlcgogICAgcmVmZXJlbmNlZCBuZWl0aGVyIGRpcmVjdGx5LCBub3IgdmlhIHRoZSBz
Y2hlZF9kYXRhCiAgICBwb2ludGVyLCBhcyBhIGR5bmFtaWMgY29weSB0aGF0IG92ZXJyaWRlcyB0
aGVtIGlzCiAgICBhbGxvY2F0ZWQgYXMgdGhlIHZlcnkgZmlyc3Qgc3RlcCBvZiBhIHNjaGVkdWxl
cidzCiAgICBpbml0aWFsaXphdGlvbi4KICAgIAogICAgV2hpbGUgdGhlcmUsIHRha2UgdGhlIGNo
YW5jZSB0byBhbHNvIHJlc2V0IHRoZSBzY2hlZF9kYXRhCiAgICBwb2ludGVyIHRvIE5VTEwsIHVw
b24gc2NoZWR1bGVyIGRlLWluaXRpYWxpemF0aW9uLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBE
YXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBH
ZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Ci0tLQogeGVuL2NvbW1vbi9z
Y2hlZF9hcmluYzY1My5jIHwgMyArKy0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgICB8IDcg
KysrLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgIHwgOCArKystLS0tLQogeGVuL2Nv
bW1vbi9zY2hlZF9ydC5jICAgICAgIHwgNyArKystLS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQt
aWYuaCAgfCAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDE1IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYyBiL3hlbi9j
b21tb24vc2NoZWRfYXJpbmM2NTMuYwppbmRleCAwNjA2OTg4Li44YTExYTJmIDEwMDY0NAotLS0g
YS94ZW4vY29tbW9uL3NjaGVkX2FyaW5jNjUzLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9hcmlu
YzY1My5jCkBAIC0zNjcsOSArMzY3LDEwIEBAIGE2NTNzY2hlZF9pbml0KHN0cnVjdCBzY2hlZHVs
ZXIgKm9wcykKICAqIEBwYXJhbSBvcHMgICAgICAgUG9pbnRlciB0byB0aGlzIGluc3RhbmNlIG9m
IHRoZSBzY2hlZHVsZXIgc3RydWN0dXJlCiAgKi8KIHN0YXRpYyB2b2lkCi1hNjUzc2NoZWRfZGVp
bml0KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKK2E2NTNzY2hlZF9kZWluaXQoc3RydWN0
IHNjaGVkdWxlciAqb3BzKQogewogICAgIHhmcmVlKFNDSEVEX1BSSVYob3BzKSk7CisgICAgb3Bz
LT5zY2hlZF9kYXRhID0gTlVMTDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Nj
aGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCBiZDJmMzdmLi5j
MzM2YmFjIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisrKyBiL3hlbi9j
b21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTE5NTcsMTMgKzE5NTcsMTQgQEAgY3NjaGVkX2luaXQo
c3RydWN0IHNjaGVkdWxlciAqb3BzKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkX2RlaW5pdChj
b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCitjc2NoZWRfZGVpbml0KHN0cnVjdCBzY2hlZHVs
ZXIgKm9wcykKIHsKICAgICBzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydjsKIAogICAgIHBydiA9
IENTQ0hFRF9QUklWKG9wcyk7CiAgICAgaWYgKCBwcnYgIT0gTlVMTCApCiAgICAgeworICAgICAg
ICBvcHMtPnNjaGVkX2RhdGEgPSBOVUxMOwogICAgICAgICBmcmVlX2NwdW1hc2tfdmFyKHBydi0+
Y3B1cyk7CiAgICAgICAgIGZyZWVfY3B1bWFza192YXIocHJ2LT5pZGxlcnMpOwogICAgICAgICB4
ZnJlZShwcnYpOwpAQCAtMTk5MywxMyArMTk5NCwxMSBAQCBzdGF0aWMgdm9pZCBjc2NoZWRfdGlj
a19yZXN1bWUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB1bnNpZ25lZCBpbnQgY3B1KQog
ICAgICAgICAgICAgLSBub3cgJSBNSUNST1NFQ1MocHJ2LT50aWNrX3BlcmlvZF91cykgKTsKIH0K
IAotc3RhdGljIHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSBfY3NjaGVkX3ByaXY7Ci0KIHN0YXRpYyBj
b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyIHNjaGVkX2NyZWRpdF9kZWYgPSB7CiAgICAgLm5hbWUgICAg
ICAgICAgID0gIlNNUCBDcmVkaXQgU2NoZWR1bGVyIiwKICAgICAub3B0X25hbWUgICAgICAgPSAi
Y3JlZGl0IiwKICAgICAuc2NoZWRfaWQgICAgICAgPSBYRU5fU0NIRURVTEVSX0NSRURJVCwKLSAg
ICAuc2NoZWRfZGF0YSAgICAgPSAmX2NzY2hlZF9wcml2LAorICAgIC5zY2hlZF9kYXRhICAgICA9
IE5VTEwsCiAKICAgICAuaW5pdF9kb21haW4gICAgPSBjc2NoZWRfZG9tX2luaXQsCiAgICAgLmRl
c3Ryb3lfZG9tYWluID0gY3NjaGVkX2RvbV9kZXN0cm95LApkaWZmIC0tZ2l0IGEveGVuL2NvbW1v
bi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwppbmRleCAyOTM0
ZTI2Li43ZGRhZDM4IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYworKysg
Yi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMjE4MywyMiArMjE4MywyMCBAQCBjc2No
ZWQyX2luaXQoc3RydWN0IHNjaGVkdWxlciAqb3BzKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVk
Ml9kZWluaXQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzKQorY3NjaGVkMl9kZWluaXQoc3Ry
dWN0IHNjaGVkdWxlciAqb3BzKQogewogICAgIHN0cnVjdCBjc2NoZWQyX3ByaXZhdGUgKnBydjsK
IAogICAgIHBydiA9IENTQ0hFRDJfUFJJVihvcHMpOworICAgIG9wcy0+c2NoZWRfZGF0YSA9IE5V
TEw7CiAgICAgeGZyZWUocHJ2KTsKIH0KIAotCi1zdGF0aWMgc3RydWN0IGNzY2hlZDJfcHJpdmF0
ZSBfY3NjaGVkMl9wcml2OwotCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNjaGVkdWxlciBzY2hlZF9j
cmVkaXQyX2RlZiA9IHsKICAgICAubmFtZSAgICAgICAgICAgPSAiU01QIENyZWRpdCBTY2hlZHVs
ZXIgcmV2MiIsCiAgICAgLm9wdF9uYW1lICAgICAgID0gImNyZWRpdDIiLAogICAgIC5zY2hlZF9p
ZCAgICAgICA9IFhFTl9TQ0hFRFVMRVJfQ1JFRElUMiwKLSAgICAuc2NoZWRfZGF0YSAgICAgPSAm
X2NzY2hlZDJfcHJpdiwKKyAgICAuc2NoZWRfZGF0YSAgICAgPSBOVUxMLAogCiAgICAgLmluaXRf
ZG9tYWluICAgID0gY3NjaGVkMl9kb21faW5pdCwKICAgICAuZGVzdHJveV9kb21haW4gPSBjc2No
ZWQyX2RvbV9kZXN0cm95LApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVu
L2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDMzYWM5ZGUuLmJmZWQyZTIgMTAwNjQ0Ci0tLSBhL3hl
bi9jb21tb24vc2NoZWRfcnQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKQEAgLTQ2Miw3
ICs0NjIsNyBAQCBydF9pbml0KHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKIH0KIAogc3RhdGljIHZv
aWQKLXJ0X2RlaW5pdChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCitydF9kZWluaXQoc3Ry
dWN0IHNjaGVkdWxlciAqb3BzKQogewogICAgIHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBydF9w
cml2KG9wcyk7CiAKQEAgLTQ3Myw2ICs0NzMsNyBAQCBydF9kZWluaXQoY29uc3Qgc3RydWN0IHNj
aGVkdWxlciAqb3BzKQogICAgICAgICB4ZnJlZShfY3B1bWFza19zY3JhdGNoKTsKICAgICAgICAg
X2NwdW1hc2tfc2NyYXRjaCA9IE5VTEw7CiAgICAgfQorICAgIG9wcy0+c2NoZWRfZGF0YSA9IE5V
TEw7CiAgICAgeGZyZWUocHJ2KTsKIH0KIApAQCAtMTE0OSwxMyArMTE1MCwxMSBAQCBydF9kb21f
Y250bCgKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcnRfcHJpdmF0ZSBfcnRf
cHJpdjsKLQogc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgc2NoZWRfcnRkc19kZWYgPSB7
CiAgICAgLm5hbWUgICAgICAgICAgID0gIlNNUCBSVERTIFNjaGVkdWxlciIsCiAgICAgLm9wdF9u
YW1lICAgICAgID0gInJ0ZHMiLAogICAgIC5zY2hlZF9pZCAgICAgICA9IFhFTl9TQ0hFRFVMRVJf
UlREUywKLSAgICAuc2NoZWRfZGF0YSAgICAgPSAmX3J0X3ByaXYsCisgICAgLnNjaGVkX2RhdGEg
ICAgID0gTlVMTCwKIAogICAgIC5kdW1wX2NwdV9zdGF0ZSA9IHJ0X2R1bXBfcGNwdSwKICAgICAu
ZHVtcF9zZXR0aW5ncyAgPSBydF9kdW1wLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3Nj
aGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCA2NmRjOWM4Li44MjVm
MWFkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5j
bHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0cnVjdCBzY2hlZHVsZXIg
ewogICAgIGludCAgICAgICAgICAoKmdsb2JhbF9pbml0KSAgICAodm9pZCk7CiAKICAgICBpbnQg
ICAgICAgICAgKCppbml0KSAgICAgICAgICAgKHN0cnVjdCBzY2hlZHVsZXIgKik7Ci0gICAgdm9p
ZCAgICAgICAgICgqZGVpbml0KSAgICAgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICopOwor
ICAgIHZvaWQgICAgICAgICAoKmRlaW5pdCkgICAgICAgICAoc3RydWN0IHNjaGVkdWxlciAqKTsK
IAogICAgIHZvaWQgICAgICAgICAoKmZyZWVfdmRhdGEpICAgICAoY29uc3Qgc3RydWN0IHNjaGVk
dWxlciAqLCB2b2lkICopOwogICAgIHZvaWQgKiAgICAgICAoKmFsbG9jX3ZkYXRhKSAgICAoY29u
c3Qgc3RydWN0IHNjaGVkdWxlciAqLCBzdHJ1Y3QgdmNwdSAqLAotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRB-0003uG-Kg; Sat, 27 Feb 2016 06:33:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRA-0003u8-L6
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:08 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 F3/99-02987-32341D65; Sat, 27 Feb 2016 06:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456554786!18529076!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 42237 invoked from network); 27 Feb 2016 06:33:07 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:07 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYR8-0008BF-2P
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYR7-0004He-Rg
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYR7-0004He-Rg@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:05 +0000
Subject: [Xen-changelog] [xen master] sched: get rid of static private
	schedulers' structures
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDljOTUyMjcxNjA3YThmZDRiMjM5ODdiZjUwOWRlZDAxZDMyZjNhOTAKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IFdlZCBGZWIgMjQgMTI6MDI6MzcgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IFdlZCBGZWIgMjQgMTI6MDI6MzcgMjAxNiAr
MDEwMAoKICAgIHNjaGVkOiBnZXQgcmlkIG9mIHN0YXRpYyBwcml2YXRlIHNjaGVkdWxlcnMnIHN0
cnVjdHVyZXMKICAgIAogICAgSW4gZmFjdCwgdGhleSBsb29rIHJhdGhlciB1c2VsZXNzOiB0aGV5
IGFyZSBuZXZlcgogICAgcmVmZXJlbmNlZCBuZWl0aGVyIGRpcmVjdGx5LCBub3IgdmlhIHRoZSBz
Y2hlZF9kYXRhCiAgICBwb2ludGVyLCBhcyBhIGR5bmFtaWMgY29weSB0aGF0IG92ZXJyaWRlcyB0
aGVtIGlzCiAgICBhbGxvY2F0ZWQgYXMgdGhlIHZlcnkgZmlyc3Qgc3RlcCBvZiBhIHNjaGVkdWxl
cidzCiAgICBpbml0aWFsaXphdGlvbi4KICAgIAogICAgV2hpbGUgdGhlcmUsIHRha2UgdGhlIGNo
YW5jZSB0byBhbHNvIHJlc2V0IHRoZSBzY2hlZF9kYXRhCiAgICBwb2ludGVyIHRvIE5VTEwsIHVw
b24gc2NoZWR1bGVyIGRlLWluaXRpYWxpemF0aW9uLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBE
YXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBH
ZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Ci0tLQogeGVuL2NvbW1vbi9z
Y2hlZF9hcmluYzY1My5jIHwgMyArKy0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMgICB8IDcg
KysrLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgIHwgOCArKystLS0tLQogeGVuL2Nv
bW1vbi9zY2hlZF9ydC5jICAgICAgIHwgNyArKystLS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQt
aWYuaCAgfCAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDE1IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfYXJpbmM2NTMuYyBiL3hlbi9j
b21tb24vc2NoZWRfYXJpbmM2NTMuYwppbmRleCAwNjA2OTg4Li44YTExYTJmIDEwMDY0NAotLS0g
YS94ZW4vY29tbW9uL3NjaGVkX2FyaW5jNjUzLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZF9hcmlu
YzY1My5jCkBAIC0zNjcsOSArMzY3LDEwIEBAIGE2NTNzY2hlZF9pbml0KHN0cnVjdCBzY2hlZHVs
ZXIgKm9wcykKICAqIEBwYXJhbSBvcHMgICAgICAgUG9pbnRlciB0byB0aGlzIGluc3RhbmNlIG9m
IHRoZSBzY2hlZHVsZXIgc3RydWN0dXJlCiAgKi8KIHN0YXRpYyB2b2lkCi1hNjUzc2NoZWRfZGVp
bml0KGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKK2E2NTNzY2hlZF9kZWluaXQoc3RydWN0
IHNjaGVkdWxlciAqb3BzKQogewogICAgIHhmcmVlKFNDSEVEX1BSSVYob3BzKSk7CisgICAgb3Bz
LT5zY2hlZF9kYXRhID0gTlVMTDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Nj
aGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCBiZDJmMzdmLi5j
MzM2YmFjIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisrKyBiL3hlbi9j
b21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTE5NTcsMTMgKzE5NTcsMTQgQEAgY3NjaGVkX2luaXQo
c3RydWN0IHNjaGVkdWxlciAqb3BzKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVkX2RlaW5pdChj
b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCitjc2NoZWRfZGVpbml0KHN0cnVjdCBzY2hlZHVs
ZXIgKm9wcykKIHsKICAgICBzdHJ1Y3QgY3NjaGVkX3ByaXZhdGUgKnBydjsKIAogICAgIHBydiA9
IENTQ0hFRF9QUklWKG9wcyk7CiAgICAgaWYgKCBwcnYgIT0gTlVMTCApCiAgICAgeworICAgICAg
ICBvcHMtPnNjaGVkX2RhdGEgPSBOVUxMOwogICAgICAgICBmcmVlX2NwdW1hc2tfdmFyKHBydi0+
Y3B1cyk7CiAgICAgICAgIGZyZWVfY3B1bWFza192YXIocHJ2LT5pZGxlcnMpOwogICAgICAgICB4
ZnJlZShwcnYpOwpAQCAtMTk5MywxMyArMTk5NCwxMSBAQCBzdGF0aWMgdm9pZCBjc2NoZWRfdGlj
a19yZXN1bWUoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzLCB1bnNpZ25lZCBpbnQgY3B1KQog
ICAgICAgICAgICAgLSBub3cgJSBNSUNST1NFQ1MocHJ2LT50aWNrX3BlcmlvZF91cykgKTsKIH0K
IAotc3RhdGljIHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSBfY3NjaGVkX3ByaXY7Ci0KIHN0YXRpYyBj
b25zdCBzdHJ1Y3Qgc2NoZWR1bGVyIHNjaGVkX2NyZWRpdF9kZWYgPSB7CiAgICAgLm5hbWUgICAg
ICAgICAgID0gIlNNUCBDcmVkaXQgU2NoZWR1bGVyIiwKICAgICAub3B0X25hbWUgICAgICAgPSAi
Y3JlZGl0IiwKICAgICAuc2NoZWRfaWQgICAgICAgPSBYRU5fU0NIRURVTEVSX0NSRURJVCwKLSAg
ICAuc2NoZWRfZGF0YSAgICAgPSAmX2NzY2hlZF9wcml2LAorICAgIC5zY2hlZF9kYXRhICAgICA9
IE5VTEwsCiAKICAgICAuaW5pdF9kb21haW4gICAgPSBjc2NoZWRfZG9tX2luaXQsCiAgICAgLmRl
c3Ryb3lfZG9tYWluID0gY3NjaGVkX2RvbV9kZXN0cm95LApkaWZmIC0tZ2l0IGEveGVuL2NvbW1v
bi9zY2hlZF9jcmVkaXQyLmMgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwppbmRleCAyOTM0
ZTI2Li43ZGRhZDM4IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYworKysg
Yi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYwpAQCAtMjE4MywyMiArMjE4MywyMCBAQCBjc2No
ZWQyX2luaXQoc3RydWN0IHNjaGVkdWxlciAqb3BzKQogfQogCiBzdGF0aWMgdm9pZAotY3NjaGVk
Ml9kZWluaXQoY29uc3Qgc3RydWN0IHNjaGVkdWxlciAqb3BzKQorY3NjaGVkMl9kZWluaXQoc3Ry
dWN0IHNjaGVkdWxlciAqb3BzKQogewogICAgIHN0cnVjdCBjc2NoZWQyX3ByaXZhdGUgKnBydjsK
IAogICAgIHBydiA9IENTQ0hFRDJfUFJJVihvcHMpOworICAgIG9wcy0+c2NoZWRfZGF0YSA9IE5V
TEw7CiAgICAgeGZyZWUocHJ2KTsKIH0KIAotCi1zdGF0aWMgc3RydWN0IGNzY2hlZDJfcHJpdmF0
ZSBfY3NjaGVkMl9wcml2OwotCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNjaGVkdWxlciBzY2hlZF9j
cmVkaXQyX2RlZiA9IHsKICAgICAubmFtZSAgICAgICAgICAgPSAiU01QIENyZWRpdCBTY2hlZHVs
ZXIgcmV2MiIsCiAgICAgLm9wdF9uYW1lICAgICAgID0gImNyZWRpdDIiLAogICAgIC5zY2hlZF9p
ZCAgICAgICA9IFhFTl9TQ0hFRFVMRVJfQ1JFRElUMiwKLSAgICAuc2NoZWRfZGF0YSAgICAgPSAm
X2NzY2hlZDJfcHJpdiwKKyAgICAuc2NoZWRfZGF0YSAgICAgPSBOVUxMLAogCiAgICAgLmluaXRf
ZG9tYWluICAgID0gY3NjaGVkMl9kb21faW5pdCwKICAgICAuZGVzdHJveV9kb21haW4gPSBjc2No
ZWQyX2RvbV9kZXN0cm95LApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZF9ydC5jIGIveGVu
L2NvbW1vbi9zY2hlZF9ydC5jCmluZGV4IDMzYWM5ZGUuLmJmZWQyZTIgMTAwNjQ0Ci0tLSBhL3hl
bi9jb21tb24vc2NoZWRfcnQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX3J0LmMKQEAgLTQ2Miw3
ICs0NjIsNyBAQCBydF9pbml0KHN0cnVjdCBzY2hlZHVsZXIgKm9wcykKIH0KIAogc3RhdGljIHZv
aWQKLXJ0X2RlaW5pdChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMpCitydF9kZWluaXQoc3Ry
dWN0IHNjaGVkdWxlciAqb3BzKQogewogICAgIHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBydF9w
cml2KG9wcyk7CiAKQEAgLTQ3Myw2ICs0NzMsNyBAQCBydF9kZWluaXQoY29uc3Qgc3RydWN0IHNj
aGVkdWxlciAqb3BzKQogICAgICAgICB4ZnJlZShfY3B1bWFza19zY3JhdGNoKTsKICAgICAgICAg
X2NwdW1hc2tfc2NyYXRjaCA9IE5VTEw7CiAgICAgfQorICAgIG9wcy0+c2NoZWRfZGF0YSA9IE5V
TEw7CiAgICAgeGZyZWUocHJ2KTsKIH0KIApAQCAtMTE0OSwxMyArMTE1MCwxMSBAQCBydF9kb21f
Y250bCgKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgcnRfcHJpdmF0ZSBfcnRf
cHJpdjsKLQogc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgc2NoZWRfcnRkc19kZWYgPSB7
CiAgICAgLm5hbWUgICAgICAgICAgID0gIlNNUCBSVERTIFNjaGVkdWxlciIsCiAgICAgLm9wdF9u
YW1lICAgICAgID0gInJ0ZHMiLAogICAgIC5zY2hlZF9pZCAgICAgICA9IFhFTl9TQ0hFRFVMRVJf
UlREUywKLSAgICAuc2NoZWRfZGF0YSAgICAgPSAmX3J0X3ByaXYsCisgICAgLnNjaGVkX2RhdGEg
ICAgID0gTlVMTCwKIAogICAgIC5kdW1wX2NwdV9zdGF0ZSA9IHJ0X2R1bXBfcGNwdSwKICAgICAu
ZHVtcF9zZXR0aW5ncyAgPSBydF9kdW1wLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3Nj
aGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCA2NmRjOWM4Li44MjVm
MWFkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5j
bHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0cnVjdCBzY2hlZHVsZXIg
ewogICAgIGludCAgICAgICAgICAoKmdsb2JhbF9pbml0KSAgICAodm9pZCk7CiAKICAgICBpbnQg
ICAgICAgICAgKCppbml0KSAgICAgICAgICAgKHN0cnVjdCBzY2hlZHVsZXIgKik7Ci0gICAgdm9p
ZCAgICAgICAgICgqZGVpbml0KSAgICAgICAgIChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICopOwor
ICAgIHZvaWQgICAgICAgICAoKmRlaW5pdCkgICAgICAgICAoc3RydWN0IHNjaGVkdWxlciAqKTsK
IAogICAgIHZvaWQgICAgICAgICAoKmZyZWVfdmRhdGEpICAgICAoY29uc3Qgc3RydWN0IHNjaGVk
dWxlciAqLCB2b2lkICopOwogICAgIHZvaWQgKiAgICAgICAoKmFsbG9jX3ZkYXRhKSAgICAoY29u
c3Qgc3RydWN0IHNjaGVkdWxlciAqLCBzdHJ1Y3QgdmNwdSAqLAotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRL-0003w5-MX; Sat, 27 Feb 2016 06:33:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRL-0003vf-32
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:19 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
 AA/06-03651-E2341D65; Sat, 27 Feb 2016 06:33:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456554796!25417309!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2917 invoked from network); 27 Feb 2016 06:33:17 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRI-0008BP-Lk
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRI-0004Ix-D7
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRI-0004Ix-D7@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:16 +0000
Subject: [Xen-changelog] [xen master] credit1: trace vCPU boost/unboost
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNjN2QxZGEyNzQ4NDUzMDk5NDJlOGIxNjgwMTQ4ZDYyNzczYWY0YjYKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IFdlZCBGZWIgMjQgMTI6MDM6MzIgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IFdlZCBGZWIgMjQgMTI6MDM6MzIgMjAxNiAr
MDEwMAoKICAgIGNyZWRpdDE6IHRyYWNlIHZDUFUgYm9vc3QvdW5ib29zdAogICAgCiAgICBBZGQg
dHJhY2Vwb2ludHMgYW5kIGEgcGVyZm9ybWFuY2UgY291bnRlciBmb3IKICAgIGJvb3N0aW5nIGFu
ZCB1bmJvb3N0aW5nIGluIENyZWRpdDEuCiAgICAKICAgIE5vdGUgdGhhdCB0aGV5ICh0aGUgdHJh
Y2UgcG9pbnRzKSBkbyBub3QgY292ZXIKICAgIHRoZSBjYXNlIG9mIHRoZSBpZGxlIHZDUFUgYmVp
bmcgYm9vc3RlZCB0byBydW4KICAgIGEgdGFza2xldCwgYXMgdGhlcmUgYWxyZWFkeSBpcwogICAg
VFJDX0NTQ0hFRF9TQ0hFRF9UQVNLTEVUIGZvciB0aGF0LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5
OiAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CiAgICBSZXZpZXdl
ZC1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgogICAgQWNrZWQt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vY29tbW9uL3NjaGVk
X2NyZWRpdC5jICAgIHwgOCArKysrKysrKwogeGVuL2luY2x1ZGUveGVuL3BlcmZjX2RlZm4uaCB8
IDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4v
Y29tbW9uL3NjaGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCBj
MzM2YmFjLi4wYWY1ZjY5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisr
KyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTEyNiw2ICsxMjYsOCBAQAogI2RlZmlu
ZSBUUkNfQ1NDSEVEX1NUT0xFTl9WQ1BVICAgVFJDX1NDSEVEX0NMQVNTX0VWVChDU0NIRUQsIDQp
CiAjZGVmaW5lIFRSQ19DU0NIRURfUElDS0VEX0NQVSAgICBUUkNfU0NIRURfQ0xBU1NfRVZUKENT
Q0hFRCwgNSkKICNkZWZpbmUgVFJDX0NTQ0hFRF9USUNLTEUgICAgICAgIFRSQ19TQ0hFRF9DTEFT
U19FVlQoQ1NDSEVELCA2KQorI2RlZmluZSBUUkNfQ1NDSEVEX0JPT1NUX1NUQVJUICAgVFJDX1ND
SEVEX0NMQVNTX0VWVChDU0NIRUQsIDcpCisjZGVmaW5lIFRSQ19DU0NIRURfQk9PU1RfRU5EICAg
ICBUUkNfU0NIRURfQ0xBU1NfRVZUKENTQ0hFRCwgOCkKIAogCiAvKgpAQCAtODU1LDcgKzg1Nywx
MSBAQCBjc2NoZWRfdmNwdV9hY2N0KHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSAqcHJ2LCB1bnNpZ25l
ZCBpbnQgY3B1KQogICAgICAqIGFtb3VudCBvZiBDUFUgcmVzb3VyY2VzIGFuZCBzaG91bGQgbm8g
bG9uZ2VyIGJlIGJvb3N0ZWQuCiAgICAgICovCiAgICAgaWYgKCBzdmMtPnByaSA9PSBDU0NIRURf
UFJJX1RTX0JPT1NUICkKKyAgICB7CiAgICAgICAgIHN2Yy0+cHJpID0gQ1NDSEVEX1BSSV9UU19V
TkRFUjsKKyAgICAgICAgVFJBQ0VfMkQoVFJDX0NTQ0hFRF9CT09TVF9FTkQsIHN2Yy0+c2RvbS0+
ZG9tLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgIHN2Yy0+dmNwdS0+dmNwdV9pZCk7Cisg
ICAgfQogCiAgICAgLyoKICAgICAgKiBVcGRhdGUgY3JlZGl0cwpAQCAtMTAyMSw2ICsxMDI3LDgg
QEAgY3NjaGVkX3ZjcHVfd2FrZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2
Y3B1ICp2YykKICAgICBpZiAoIHN2Yy0+cHJpID09IENTQ0hFRF9QUklfVFNfVU5ERVIgJiYKICAg
ICAgICAgICF0ZXN0X2JpdChDU0NIRURfRkxBR19WQ1BVX1BBUktFRCwgJnN2Yy0+ZmxhZ3MpICkK
ICAgICB7CisgICAgICAgIFRSQUNFXzJEKFRSQ19DU0NIRURfQk9PU1RfU1RBUlQsIHZjLT5kb21h
aW4tPmRvbWFpbl9pZCwgdmMtPnZjcHVfaWQpOworICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKHZj
cHVfYm9vc3QpOwogICAgICAgICBzdmMtPnByaSA9IENTQ0hFRF9QUklfVFNfQk9PU1Q7CiAgICAg
fQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcGVyZmNfZGVmbi5oIGIveGVuL2luY2x1
ZGUveGVuL3BlcmZjX2RlZm4uaAppbmRleCA3NmVlODAzLi4yMWMxZTBiIDEwMDY0NAotLS0gYS94
ZW4vaW5jbHVkZS94ZW4vcGVyZmNfZGVmbi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wZXJmY19k
ZWZuLmgKQEAgLTQwLDYgKzQwLDcgQEAgUEVSRkNPVU5URVIoYWNjdF9yZW9yZGVyLCAgICAgICAg
ICAgImNzY2hlZDogYWNjdF9yZW9yZGVyIikKIFBFUkZDT1VOVEVSKGFjY3RfbWluX2NyZWRpdCwg
ICAgICAgICJjc2NoZWQ6IGFjY3RfbWluX2NyZWRpdCIpCiBQRVJGQ09VTlRFUihhY2N0X3ZjcHVf
YWN0aXZlLCAgICAgICAiY3NjaGVkOiBhY2N0X3ZjcHVfYWN0aXZlIikKIFBFUkZDT1VOVEVSKGFj
Y3RfdmNwdV9pZGxlLCAgICAgICAgICJjc2NoZWQ6IGFjY3RfdmNwdV9pZGxlIikKK1BFUkZDT1VO
VEVSKHZjcHVfYm9vc3QsICAgICAgICAgICAgICJjc2NoZWQ6IHZjcHVfYm9vc3QiKQogUEVSRkNP
VU5URVIodmNwdV9wYXJrLCAgICAgICAgICAgICAgImNzY2hlZDogdmNwdV9wYXJrIikKIFBFUkZD
T1VOVEVSKHZjcHVfdW5wYXJrLCAgICAgICAgICAgICJjc2NoZWQ6IHZjcHVfdW5wYXJrIikKIFBF
UkZDT1VOVEVSKGxvYWRfYmFsYW5jZV9pZGxlLCAgICAgICJjc2NoZWQ6IGxvYWRfYmFsYW5jZV9p
ZGxlIikKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4u
Z2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3Jn
Cmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRL-0003w5-MX; Sat, 27 Feb 2016 06:33:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRL-0003vf-32
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:19 +0000
Received: from [85.158.137.68] by server-5.bemta-3.messagelabs.com id
 AA/06-03651-E2341D65; Sat, 27 Feb 2016 06:33:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456554796!25417309!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2917 invoked from network); 27 Feb 2016 06:33:17 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:17 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRI-0008BP-Lk
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRI-0004Ix-D7
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:16 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRI-0004Ix-D7@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:16 +0000
Subject: [Xen-changelog] [xen master] credit1: trace vCPU boost/unboost
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNjN2QxZGEyNzQ4NDUzMDk5NDJlOGIxNjgwMTQ4ZDYyNzczYWY0YjYKQXV0aG9yOiAg
ICAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CkF1dGhvckRhdGU6
IFdlZCBGZWIgMjQgMTI6MDM6MzIgMjAxNiArMDEwMApDb21taXQ6ICAgICBKYW4gQmV1bGljaCA8
amJldWxpY2hAc3VzZS5jb20+CkNvbW1pdERhdGU6IFdlZCBGZWIgMjQgMTI6MDM6MzIgMjAxNiAr
MDEwMAoKICAgIGNyZWRpdDE6IHRyYWNlIHZDUFUgYm9vc3QvdW5ib29zdAogICAgCiAgICBBZGQg
dHJhY2Vwb2ludHMgYW5kIGEgcGVyZm9ybWFuY2UgY291bnRlciBmb3IKICAgIGJvb3N0aW5nIGFu
ZCB1bmJvb3N0aW5nIGluIENyZWRpdDEuCiAgICAKICAgIE5vdGUgdGhhdCB0aGV5ICh0aGUgdHJh
Y2UgcG9pbnRzKSBkbyBub3QgY292ZXIKICAgIHRoZSBjYXNlIG9mIHRoZSBpZGxlIHZDUFUgYmVp
bmcgYm9vc3RlZCB0byBydW4KICAgIGEgdGFza2xldCwgYXMgdGhlcmUgYWxyZWFkeSBpcwogICAg
VFJDX0NTQ0hFRF9TQ0hFRF9UQVNLTEVUIGZvciB0aGF0LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5
OiAgRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CiAgICBSZXZpZXdl
ZC1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgogICAgQWNrZWQt
Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vY29tbW9uL3NjaGVk
X2NyZWRpdC5jICAgIHwgOCArKysrKysrKwogeGVuL2luY2x1ZGUveGVuL3BlcmZjX2RlZm4uaCB8
IDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4v
Y29tbW9uL3NjaGVkX2NyZWRpdC5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYwppbmRleCBj
MzM2YmFjLi4wYWY1ZjY5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCisr
KyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0LmMKQEAgLTEyNiw2ICsxMjYsOCBAQAogI2RlZmlu
ZSBUUkNfQ1NDSEVEX1NUT0xFTl9WQ1BVICAgVFJDX1NDSEVEX0NMQVNTX0VWVChDU0NIRUQsIDQp
CiAjZGVmaW5lIFRSQ19DU0NIRURfUElDS0VEX0NQVSAgICBUUkNfU0NIRURfQ0xBU1NfRVZUKENT
Q0hFRCwgNSkKICNkZWZpbmUgVFJDX0NTQ0hFRF9USUNLTEUgICAgICAgIFRSQ19TQ0hFRF9DTEFT
U19FVlQoQ1NDSEVELCA2KQorI2RlZmluZSBUUkNfQ1NDSEVEX0JPT1NUX1NUQVJUICAgVFJDX1ND
SEVEX0NMQVNTX0VWVChDU0NIRUQsIDcpCisjZGVmaW5lIFRSQ19DU0NIRURfQk9PU1RfRU5EICAg
ICBUUkNfU0NIRURfQ0xBU1NfRVZUKENTQ0hFRCwgOCkKIAogCiAvKgpAQCAtODU1LDcgKzg1Nywx
MSBAQCBjc2NoZWRfdmNwdV9hY2N0KHN0cnVjdCBjc2NoZWRfcHJpdmF0ZSAqcHJ2LCB1bnNpZ25l
ZCBpbnQgY3B1KQogICAgICAqIGFtb3VudCBvZiBDUFUgcmVzb3VyY2VzIGFuZCBzaG91bGQgbm8g
bG9uZ2VyIGJlIGJvb3N0ZWQuCiAgICAgICovCiAgICAgaWYgKCBzdmMtPnByaSA9PSBDU0NIRURf
UFJJX1RTX0JPT1NUICkKKyAgICB7CiAgICAgICAgIHN2Yy0+cHJpID0gQ1NDSEVEX1BSSV9UU19V
TkRFUjsKKyAgICAgICAgVFJBQ0VfMkQoVFJDX0NTQ0hFRF9CT09TVF9FTkQsIHN2Yy0+c2RvbS0+
ZG9tLT5kb21haW5faWQsCisgICAgICAgICAgICAgICAgIHN2Yy0+dmNwdS0+dmNwdV9pZCk7Cisg
ICAgfQogCiAgICAgLyoKICAgICAgKiBVcGRhdGUgY3JlZGl0cwpAQCAtMTAyMSw2ICsxMDI3LDgg
QEAgY3NjaGVkX3ZjcHVfd2FrZShjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0cnVjdCB2
Y3B1ICp2YykKICAgICBpZiAoIHN2Yy0+cHJpID09IENTQ0hFRF9QUklfVFNfVU5ERVIgJiYKICAg
ICAgICAgICF0ZXN0X2JpdChDU0NIRURfRkxBR19WQ1BVX1BBUktFRCwgJnN2Yy0+ZmxhZ3MpICkK
ICAgICB7CisgICAgICAgIFRSQUNFXzJEKFRSQ19DU0NIRURfQk9PU1RfU1RBUlQsIHZjLT5kb21h
aW4tPmRvbWFpbl9pZCwgdmMtPnZjcHVfaWQpOworICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKHZj
cHVfYm9vc3QpOwogICAgICAgICBzdmMtPnByaSA9IENTQ0hFRF9QUklfVFNfQk9PU1Q7CiAgICAg
fQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcGVyZmNfZGVmbi5oIGIveGVuL2luY2x1
ZGUveGVuL3BlcmZjX2RlZm4uaAppbmRleCA3NmVlODAzLi4yMWMxZTBiIDEwMDY0NAotLS0gYS94
ZW4vaW5jbHVkZS94ZW4vcGVyZmNfZGVmbi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wZXJmY19k
ZWZuLmgKQEAgLTQwLDYgKzQwLDcgQEAgUEVSRkNPVU5URVIoYWNjdF9yZW9yZGVyLCAgICAgICAg
ICAgImNzY2hlZDogYWNjdF9yZW9yZGVyIikKIFBFUkZDT1VOVEVSKGFjY3RfbWluX2NyZWRpdCwg
ICAgICAgICJjc2NoZWQ6IGFjY3RfbWluX2NyZWRpdCIpCiBQRVJGQ09VTlRFUihhY2N0X3ZjcHVf
YWN0aXZlLCAgICAgICAiY3NjaGVkOiBhY2N0X3ZjcHVfYWN0aXZlIikKIFBFUkZDT1VOVEVSKGFj
Y3RfdmNwdV9pZGxlLCAgICAgICAgICJjc2NoZWQ6IGFjY3RfdmNwdV9pZGxlIikKK1BFUkZDT1VO
VEVSKHZjcHVfYm9vc3QsICAgICAgICAgICAgICJjc2NoZWQ6IHZjcHVfYm9vc3QiKQogUEVSRkNP
VU5URVIodmNwdV9wYXJrLCAgICAgICAgICAgICAgImNzY2hlZDogdmNwdV9wYXJrIikKIFBFUkZD
T1VOVEVSKHZjcHVfdW5wYXJrLCAgICAgICAgICAgICJjc2NoZWQ6IHZjcHVfdW5wYXJrIikKIFBF
UkZDT1VOVEVSKGxvYWRfYmFsYW5jZV9pZGxlLCAgICAgICJjc2NoZWQ6IGxvYWRfYmFsYW5jZV9p
ZGxlIikKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4u
Z2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3Jn
Cmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRX-0003yS-OR; Sat, 27 Feb 2016 06:33:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRW-0003y4-Ag
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:30 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
 45/23-02986-93341D65; Sat, 27 Feb 2016 06:33:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1456554807!27133403!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17432 invoked from network); 27 Feb 2016 06:33:28 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRT-0008BZ-9A
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRT-0004JO-4k
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRT-0004JO-4k@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:27 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add pkeys support for
	guest_walk_tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGNjYmUzYjE0NDg5MTE4YjJjMDU2YWU0YTg0MWQzZDg2MzZhMGVkMjIKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA0OjE5IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA0OjE5IDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgcGtleXMgc3VwcG9ydCBmb3IgZ3Vlc3Rfd2Fsa190YWJsZXMKICAg
IAogICAgUHJvdGVjdGlvbiBrZXlzIGRlZmluZSBhIG5ldyA0LWJpdCBwcm90ZWN0aW9uIGtleSBm
aWVsZChQS0VZKSBpbiBiaXRzIDYyOjU5IG9mCiAgICBsZWFmIGVudHJpZXMgb2YgdGhlIHBhZ2Ug
dGFibGVzLgogICAgCiAgICBQS1JVIHJlZ2lzdGVyIGRlZmluZXMgMzIgYml0cywgdGhlcmUgYXJl
IDE2IGRvbWFpbnMgYW5kIDIgYXR0cmlidXRlIGJpdHMgcGVyCiAgICBkb21haW4gaW4gcGtydSwg
Zm9yIGVhY2ggaSAoMCA9IGkgPSAxNSksIFBLUlVbMmldIGlzIHRoZSBhY2Nlc3MtZGlzYWJsZSBi
aXQgZm9yCiAgICBwcm90ZWN0aW9uIGtleSBpIChBRGkpOyBQS1JVWzJpKzFdIGlzIHRoZSB3cml0
ZS1kaXNhYmxlIGJpdCBmb3IgcHJvdGVjdGlvbiBrZXkKICAgIGkgKFdEaSkuIFBLRVkgaXMgaW5k
ZXggdG8gYSBkZWZpbmVkIGRvbWFpbi4KICAgIAogICAgQSBmYXVsdCBpcyBjb25zaWRlcmVkIGFz
IGEgUEtVIHZpb2xhdGlvbiBpZiBhbGwgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICAgdHJ1ZToKICAgIDEuQ1I0X1BLRT0xLgogICAgMi5FRkVSX0xNQT0xLgogICAgMy5QYWdlIGlz
IHByZXNlbnQgd2l0aCBubyByZXNlcnZlZCBiaXQgdmlvbGF0aW9ucy4KICAgIDQuVGhlIGFjY2Vz
cyBpcyBub3QgYW4gaW5zdHJ1Y3Rpb24gZmV0Y2guCiAgICA1LlRoZSBhY2Nlc3MgaXMgdG8gYSB1
c2VyIHBhZ2UuCiAgICA2LlBLUlUuQUQ9MQogICAgICAgIG9yIFRoZSBhY2Nlc3MgaXMgYSBkYXRh
IHdyaXRlIGFuZCBQS1JVLldEPTEKICAgICAgICAgICAgICAgICAgICBhbmQgZWl0aGVyIENSMC5X
UD0xIG9yIGl0IGlzIGEgdXNlciBhY2Nlc3MuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEh1YWl0
b25nIEhhbiA8aHVhaXRvbmcuaGFuQGludGVsLmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+CiAgICBSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vvcmdl
LmR1bmxhcEBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMgICAg
ICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gv
eDg2L21tL2hhcC9ndWVzdF93YWxrLmMgIHwgIDMgKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2d1
ZXN0X3B0LmggICAgfCAxMiArKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5o
ICAgICB8ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCAgICAgICAgfCAgNSArKysr
CiB4ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oICAgfCA0NyArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmggfCAx
MiArKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKyksIDEgZGVsZXRp
b24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIGIveGVuL2Fy
Y2gveDg2L21tL2d1ZXN0X3dhbGsuYwppbmRleCAxOGQxYWNmLi4yMWNhYmJhIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9ndWVz
dF93YWxrLmMKQEAgLTkwLDYgKzkwLDU0IEBAIHN0YXRpYyB1aW50MzJfdCBzZXRfYWRfYml0cyh2
b2lkICpndWVzdF9wLCB2b2lkICp3YWxrX3AsIGludCBzZXRfZGlydHkpCiAgICAgcmV0dXJuIDA7
CiB9CiAKKyNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID49IDQKK3N0YXRpYyBib29sX3QgcGtleV9m
YXVsdChzdHJ1Y3QgdmNwdSAqdmNwdSwgdWludDMyX3QgcGZlYywKKyAgICAgICAgdWludDMyX3Qg
cHRlX2ZsYWdzLCB1aW50MzJfdCBwdGVfcGtleSkKK3sKKyAgICB1aW50MzJfdCBwa3J1OworCisg
ICAgLyogV2hlbiBwYWdlIGlzbid0IHByZXNlbnQsICBQS0VZIGlzbid0IGNoZWNrZWQuICovCisg
ICAgaWYgKCAhKHBmZWMgJiBQRkVDX3BhZ2VfcHJlc2VudCkgfHwgaXNfcHZfdmNwdSh2Y3B1KSAp
CisgICAgICAgIHJldHVybiAwOworCisgICAgLyoKKyAgICAgKiBQS1U6ICBhZGRpdGlvbmFsIG1l
Y2hhbmlzbSBieSB3aGljaCB0aGUgcGFnaW5nIGNvbnRyb2xzCisgICAgICogYWNjZXNzIHRvIHVz
ZXItbW9kZSBhZGRyZXNzZXMgYmFzZWQgb24gdGhlIHZhbHVlIGluIHRoZQorICAgICAqIFBLUlUg
cmVnaXN0ZXIuIEEgZmF1bHQgaXMgY29uc2lkZXJlZCBhcyBhIFBLVSB2aW9sYXRpb24gaWYgYWxs
CisgICAgICogb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlOgorICAgICAqIDEu
Q1I0X1BLRT0xLgorICAgICAqIDIuRUZFUl9MTUE9MS4KKyAgICAgKiAzLlBhZ2UgaXMgcHJlc2Vu
dCB3aXRoIG5vIHJlc2VydmVkIGJpdCB2aW9sYXRpb25zLgorICAgICAqIDQuVGhlIGFjY2VzcyBp
cyBub3QgYW4gaW5zdHJ1Y3Rpb24gZmV0Y2guCisgICAgICogNS5UaGUgYWNjZXNzIGlzIHRvIGEg
dXNlciBwYWdlLgorICAgICAqIDYuUEtSVS5BRD0xIG9yCisgICAgICogICAgICB0aGUgYWNjZXNz
IGlzIGEgZGF0YSB3cml0ZSBhbmQgUEtSVS5XRD0xIGFuZAorICAgICAqICAgICAgICAgIGVpdGhl
ciBDUjAuV1A9MSBvciBpdCBpcyBhIHVzZXIgYWNjZXNzLgorICAgICAqLworICAgIGlmICggIWh2
bV9wa3VfZW5hYmxlZCh2Y3B1KSB8fAorICAgICAgICAgIWh2bV9sb25nX21vZGVfZW5hYmxlZCh2
Y3B1KSB8fAorICAgICAgICAgKHBmZWMgJiBQRkVDX3Jlc2VydmVkX2JpdCkgfHwKKyAgICAgICAg
IChwZmVjICYgUEZFQ19pbnNuX2ZldGNoKSB8fAorICAgICAgICAgIShwdGVfZmxhZ3MgJiBfUEFH
RV9VU0VSKSApCisgICAgICAgIHJldHVybiAwOworCisgICAgcGtydSA9IHJlYWRfcGtydSgpOwor
ICAgIGlmICggdW5saWtlbHkocGtydSkgKQorICAgIHsKKyAgICAgICAgYm9vbF90IHBrcnVfYWQg
PSByZWFkX3BrcnVfYWQocGtydSwgcHRlX3BrZXkpOworICAgICAgICBib29sX3QgcGtydV93ZCA9
IHJlYWRfcGtydV93ZChwa3J1LCBwdGVfcGtleSk7CisKKyAgICAgICAgLyogQ29uZGl0aW9uIDYg
Ki8KKyAgICAgICAgaWYgKCBwa3J1X2FkIHx8CisgICAgICAgICAgICAgKHBrcnVfd2QgJiYgKHBm
ZWMgJiBQRkVDX3dyaXRlX2FjY2VzcykgJiYKKyAgICAgICAgICAgICAgKGh2bV93cF9lbmFibGVk
KHZjcHUpIHx8IChwZmVjICYgUEZFQ191c2VyX21vZGUpKSkgKQorICAgICAgICAgICAgcmV0dXJu
IDE7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogLyogV2FsayB0aGUgZ3Vl
c3QgcGFnZXRhYmxlcywgYWZ0ZXIgdGhlIG1hbm5lciBvZiBhIGhhcmR3YXJlIHdhbGtlci4gKi8K
IC8qIEJlY2F1c2UgdGhlIHdhbGsgaXMgZXNzZW50aWFsbHkgcmFuZG9tLCBpdCBjYW4gY2F1c2Ug
YSBkZWFkbG9jayAKICAqIHdhcm5pbmcgaW4gdGhlIHAybSBsb2NraW5nIGNvZGUuIEhpZ2hseSB1
bmxpa2VseSB0aGlzIGlzIGFuIGFjdHVhbApAQCAtMTA3LDYgKzE1NSw3IEBAIGd1ZXN0X3dhbGtf
dGFibGVzKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgIGd1ZXN0
X2wzZV90ICpsM3AgPSBOVUxMOwogICAgIGd1ZXN0X2w0ZV90ICpsNHA7CiAjZW5kaWYKKyAgICB1
bnNpZ25lZCBpbnQgcGtleTsKICAgICB1aW50MzJfdCBnZmxhZ3MsIG1mbGFncywgaWZsYWdzLCBy
YyA9IDA7CiAgICAgYm9vbF90IHNtZXAgPSAwLCBzbWFwID0gMDsKICAgICBib29sX3QgcHNlMUcg
PSAwLCBwc2UyTSA9IDA7CkBAIC0xOTAsNiArMjM5LDcgQEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3Ry
dWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgIGdvdG8gb3V0Owog
ICAgIC8qIEdldCB0aGUgbDNlIGFuZCBjaGVjayBpdHMgZmxhZ3MqLwogICAgIGd3LT5sM2UgPSBs
M3BbZ3Vlc3RfbDNfdGFibGVfb2Zmc2V0KHZhKV07CisgICAgcGtleSA9IGd1ZXN0X2wzZV9nZXRf
cGtleShndy0+bDNlKTsKICAgICBnZmxhZ3MgPSBndWVzdF9sM2VfZ2V0X2ZsYWdzKGd3LT5sM2Up
IF4gaWZsYWdzOwogICAgIGlmICggIShnZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKSApIHsKICAgICAg
ICAgcmMgfD0gX1BBR0VfUFJFU0VOVDsKQEAgLTI2MSw2ICszMTEsNyBAQCBndWVzdF93YWxrX3Rh
YmxlcyhzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHAybV9kb21haW4gKnAybSwKIAogI2VuZGlmIC8q
IEFsbCBsZXZlbHMuLi4gKi8KIAorICAgIHBrZXkgPSBndWVzdF9sMmVfZ2V0X3BrZXkoZ3ctPmwy
ZSk7CiAgICAgZ2ZsYWdzID0gZ3Vlc3RfbDJlX2dldF9mbGFncyhndy0+bDJlKSBeIGlmbGFnczsK
ICAgICBpZiAoICEoZ2ZsYWdzICYgX1BBR0VfUFJFU0VOVCkgKSB7CiAgICAgICAgIHJjIHw9IF9Q
QUdFX1BSRVNFTlQ7CkBAIC0zMjQsNiArMzc1LDcgQEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0
IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgIGlmKGwxcCA9PSBOVUxM
KQogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIGd3LT5sMWUgPSBsMXBbZ3Vlc3RfbDFf
dGFibGVfb2Zmc2V0KHZhKV07CisgICAgICAgIHBrZXkgPSBndWVzdF9sMWVfZ2V0X3BrZXkoZ3ct
PmwxZSk7CiAgICAgICAgIGdmbGFncyA9IGd1ZXN0X2wxZV9nZXRfZmxhZ3MoZ3ctPmwxZSkgXiBp
ZmxhZ3M7CiAgICAgICAgIGlmICggIShnZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKSApIHsKICAgICAg
ICAgICAgIHJjIHw9IF9QQUdFX1BSRVNFTlQ7CkBAIC0zMzQsNiArMzg2LDggQEAgZ3Vlc3Rfd2Fs
a190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAKICNpZiBH
VUVTVF9QQUdJTkdfTEVWRUxTID49IDQgLyogNjQtYml0IG9ubHkuLi4gKi8KIHNldF9hZDoKKyAg
ICBpZiAoIHBrZXlfZmF1bHQodiwgcGZlYywgZ2ZsYWdzLCBwa2V5KSApCisgICAgICAgIHJjIHw9
IF9QQUdFX1BLRVlfQklUUzsKICNlbmRpZgogICAgIC8qIE5vdyByZS1pbnZlcnQgdGhlIHVzZXIt
bW9kZSByZXF1aXJlbWVudCBmb3IgU01FUCBhbmQgU01BUCAqLwogICAgIGlmICggc21lcCB8fCBz
bWFwICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvZ3Vlc3Rfd2Fsay5jIGIveGVu
L2FyY2gveDg2L21tL2hhcC9ndWVzdF93YWxrLmMKaW5kZXggOGFhN2UwZi4uZDI3MTZmOSAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9ndWVzdF93YWxrLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL2hhcC9ndWVzdF93YWxrLmMKQEAgLTEzMCw2ICsxMzAsOSBAQCB1bnNpZ25lZCBsb25n
IGhhcF9wMm1fZ2FfdG9fZ2ZuKEdVRVNUX1BBR0lOR19MRVZFTFMpKAogICAgIGlmICggbWlzc2lu
ZyAmIF9QQUdFX0lOVkFMSURfQklUUyApIAogICAgICAgICBwZmVjWzBdIHw9IFBGRUNfcmVzZXJ2
ZWRfYml0OwogCisgICAgaWYgKCBtaXNzaW5nICYgX1BBR0VfUEtFWV9CSVRTICkKKyAgICAgICAg
cGZlY1swXSB8PSBQRkVDX3Byb3Rfa2V5OworCiAgICAgaWYgKCBtaXNzaW5nICYgX1BBR0VfUEFH
RUQgKQogICAgICAgICBwZmVjWzBdID0gUEZFQ19wYWdlX3BhZ2VkOwogCmRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0
X3B0LmgKaW5kZXggMzQ0Nzk3My4uZWIyOWU2MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9ndWVzdF9wdC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaApAQCAt
ODEsNiArODEsMTEgQEAgc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDFlX2dldF9mbGFncyhndWVz
dF9sMWVfdCBnbDFlKQogc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJlX2dldF9mbGFncyhndWVz
dF9sMmVfdCBnbDJlKQogeyByZXR1cm4gZ2wyZS5sMiAmIDB4ZmZmOyB9CiAKK3N0YXRpYyBpbmxp
bmUgdTMyIGd1ZXN0X2wxZV9nZXRfcGtleShndWVzdF9sMWVfdCBnbDFlKQoreyByZXR1cm4gMDsg
fQorc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJlX2dldF9wa2V5KGd1ZXN0X2wyZV90IGdsMmUp
Cit7IHJldHVybiAwOyB9CisKIHN0YXRpYyBpbmxpbmUgZ3Vlc3RfbDFlX3QgZ3Vlc3RfbDFlX2Zy
b21fZ2ZuKGdmbl90IGdmbiwgdTMyIGZsYWdzKQogeyByZXR1cm4gKGd1ZXN0X2wxZV90KSB7IChn
Zm5feChnZm4pIDw8IFBBR0VfU0hJRlQpIHwgZmxhZ3MgfTsgfQogc3RhdGljIGlubGluZSBndWVz
dF9sMmVfdCBndWVzdF9sMmVfZnJvbV9nZm4oZ2ZuX3QgZ2ZuLCB1MzIgZmxhZ3MpCkBAIC0xNTQs
NiArMTU5LDEzIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGd1ZXN0X2w0ZV9nZXRfZmxhZ3MoZ3Vlc3Rf
bDRlX3QgZ2w0ZSkKIHsgcmV0dXJuIGw0ZV9nZXRfZmxhZ3MoZ2w0ZSk7IH0KICNlbmRpZgogCitz
dGF0aWMgaW5saW5lIHUzMiBndWVzdF9sMWVfZ2V0X3BrZXkoZ3Vlc3RfbDFlX3QgZ2wxZSkKK3sg
cmV0dXJuIGwxZV9nZXRfcGtleShnbDFlKTsgfQorc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJl
X2dldF9wa2V5KGd1ZXN0X2wyZV90IGdsMmUpCit7IHJldHVybiBsMmVfZ2V0X3BrZXkoZ2wyZSk7
IH0KK3N0YXRpYyBpbmxpbmUgdTMyIGd1ZXN0X2wzZV9nZXRfcGtleShndWVzdF9sM2VfdCBnbDNl
KQoreyByZXR1cm4gbDNlX2dldF9wa2V5KGdsM2UpOyB9CisKIHN0YXRpYyBpbmxpbmUgZ3Vlc3Rf
bDFlX3QgZ3Vlc3RfbDFlX2Zyb21fZ2ZuKGdmbl90IGdmbiwgdTMyIGZsYWdzKQogeyByZXR1cm4g
bDFlX2Zyb21fcGZuKGdmbl94KGdmbiksIGZsYWdzKTsgfQogc3RhdGljIGlubGluZSBndWVzdF9s
MmVfdCBndWVzdF9sMmVfZnJvbV9nZm4oZ2ZuX3QgZ2ZuLCB1MzIgZmxhZ3MpCmRpZmYgLS1naXQg
YS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt
L2h2bS5oCmluZGV4IDBiMTU2MTYuLjE0OWZlMWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz
bS14ODYvaHZtL2h2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCkBAIC0y
ODYsNiArMjg2LDggQEAgaW50IGh2bV9naXJxX2Rlc3RfMl92Y3B1X2lkKHN0cnVjdCBkb21haW4g
KmQsIHVpbnQ4X3QgZGVzdCwgdWludDhfdCBkZXN0X21vZGUpOwogICAgIChodm1fcGFnaW5nX2Vu
YWJsZWQodikgJiYgKCh2KS0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfU01B
UCkpCiAjZGVmaW5lIGh2bV9ueF9lbmFibGVkKHYpIFwKICAgICAoISEoKHYpLT5hcmNoLmh2bV92
Y3B1Lmd1ZXN0X2VmZXIgJiBFRkVSX05YKSkKKyNkZWZpbmUgaHZtX3BrdV9lbmFibGVkKHYpIFwK
KyAgICAoaHZtX3BhZ2luZ19lbmFibGVkKHYpICYmICgodiktPmFyY2guaHZtX3ZjcHUuZ3Vlc3Rf
Y3JbNF0gJiBYODZfQ1I0X1BLRSkpCiAKIC8qIENhbiB3ZSB1c2Ugc3VwZXJwYWdlcyBpbiB0aGUg
SEFQIHAybSB0YWJsZT8gKi8KICNkZWZpbmUgaGFwX2hhc18xZ2IgKCEhKGh2bV9mdW5jcy5oYXBf
Y2FwYWJpbGl0aWVzICYgSFZNX0hBUF9TVVBFUlBBR0VfMUdCKSkKZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKaW5kZXgg
YmRmMzk2MC4uZmQ5YTJlYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTkzLDYgKzkzLDExIEBACiAjZGVm
aW5lIGwzZV9nZXRfZmxhZ3MoeCkgICAgICAgICAgIChnZXRfcHRlX2ZsYWdzKCh4KS5sMykpCiAj
ZGVmaW5lIGw0ZV9nZXRfZmxhZ3MoeCkgICAgICAgICAgIChnZXRfcHRlX2ZsYWdzKCh4KS5sNCkp
CiAKKy8qIEdldCBwdGUgcGtleXMgKHVuc2lnbmVkIGludCkuICovCisjZGVmaW5lIGwxZV9nZXRf
cGtleSh4KSAgICAgICAgICAgZ2V0X3B0ZV9wa2V5KCh4KS5sMSkKKyNkZWZpbmUgbDJlX2dldF9w
a2V5KHgpICAgICAgICAgICBnZXRfcHRlX3BrZXkoKHgpLmwyKQorI2RlZmluZSBsM2VfZ2V0X3Br
ZXkoeCkgICAgICAgICAgIGdldF9wdGVfcGtleSgoeCkubDMpCisKIC8qIENvbnN0cnVjdCBhbiBl
bXB0eSBwdGUuICovCiAjZGVmaW5lIGwxZV9lbXB0eSgpICAgICAgICAgICAgICAgICgobDFfcGdl
bnRyeV90KSB7IDAgfSkKICNkZWZpbmUgbDJlX2VtcHR5KCkgICAgICAgICAgICAgICAgKChsMl9w
Z2VudHJ5X3QpIHsgMCB9KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNz
b3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKaW5kZXggOTc5MDdiMi4uYmE5
MDdlZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi94
ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCkBAIC0zMzAsNiArMzMwLDExIEBAIHN0YXRp
YyBpbmxpbmUgdW5zaWduZWQgbG9uZyByZWFkX2NyMih2b2lkKQogCiBERUNMQVJFX1BFUl9DUFUo
dW5zaWduZWQgbG9uZywgY3I0KTsKIAorc3RhdGljIGlubGluZSB2b2lkIHJhd193cml0ZV9jcjQo
dW5zaWduZWQgbG9uZyB2YWwpCit7CisgICAgYXNtIHZvbGF0aWxlICggIm1vdiAlMCwlJWNyNCIg
OiA6ICJyIiAodmFsKSApOworfQorCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVhZF9j
cjQodm9pZCkKIHsKICAgICByZXR1cm4gdGhpc19jcHUoY3I0KTsKQEAgLTMzOCw3ICszNDMsNyBA
QCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVhZF9jcjQodm9pZCkKIHN0YXRpYyBpbmxp
bmUgdm9pZCB3cml0ZV9jcjQodW5zaWduZWQgbG9uZyB2YWwpCiB7CiAgICAgdGhpc19jcHUoY3I0
KSA9IHZhbDsKLSAgICBhc20gdm9sYXRpbGUgKCAibW92ICUwLCUlY3I0IiA6IDogInIiICh2YWwp
ICk7CisgICAgcmF3X3dyaXRlX2NyNCh2YWwpOwogfQogCiAvKiBDbGVhciBhbmQgc2V0ICdUUycg
Yml0IHJlc3BlY3RpdmVseSAqLwpAQCAtMzcyLDYgKzM3Nyw0NiBAQCBzdGF0aWMgYWx3YXlzX2lu
bGluZSB2b2lkIGNsZWFyX2luX2NyNCAodW5zaWduZWQgbG9uZyBtYXNrKQogICAgIHdyaXRlX2Ny
NChyZWFkX2NyNCgpICYgfm1hc2spOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBy
ZWFkX3BrcnUodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgcGtydTsKKyAgICB1bnNpZ25lZCBs
b25nIGNyNCA9IHJlYWRfY3I0KCk7CisKKyAgICAvKgorICAgICAqIF9QQUdFX1BLRVlfQklUUyBo
YXZlIGEgY29uZmxpY3Qgd2l0aCBfUEFHRV9HTlRUQUIgdXNlZCBieSBQViBndWVzdHMsCisgICAg
ICogc28gdGhhdCBYODZfQ1I0X1BLRSAgaXMgZGlzYWJsZWQgb24gaHlwZXJ2aXNvci4gVG8gdXNl
IFJEUEtSVSwgQ1I0LlBLRQorICAgICAqIGdldHMgdGVtcG9yYXJpbHkgZW5hYmxlZC4KKyAgICAg
Ki8KKyAgICByYXdfd3JpdGVfY3I0KGNyNCB8IFg4Nl9DUjRfUEtFKTsKKyAgICBhc20gdm9sYXRp
bGUgKCIuYnl0ZSAweDBmLDB4MDEsMHhlZSIKKyAgICAgICAgOiAiPWEiIChwa3J1KSA6ICJjIiAo
MCkgOiAiZHgiKTsKKyAgICByYXdfd3JpdGVfY3I0KGNyNCk7CisKKyAgICByZXR1cm4gcGtydTsK
K30KKworLyogTWFjcm9zIGZvciBQS1JVIGRvbWFpbiAqLworI2RlZmluZSBQS1JVX1JFQUQgICgw
KQorI2RlZmluZSBQS1JVX1dSSVRFICgxKQorI2RlZmluZSBQS1JVX0FUVFJTICgyKQorCisvKgor
ICogUEtSVSBkZWZpbmVzIDMyIGJpdHMsIHRoZXJlIGFyZSAxNiBkb21haW5zIGFuZCAyIGF0dHJp
YnV0ZSBiaXRzIHBlcgorICogZG9tYWluIGluIHBrcnUsIHBrZXlzIGlzIGluZGV4IHRvIGEgZGVm
aW5lZCBkb21haW4sIHNvIHRoZSB2YWx1ZSBvZgorICogcHRlX3BrZXlzICogUEtSVV9BVFRSUyAr
IFIvVyBpcyBvZmZzZXQgb2YgYSBkZWZpbmVkIGRvbWFpbiBhdHRyaWJ1dGUuCisgKi8KK3N0YXRp
YyBpbmxpbmUgYm9vbF90IHJlYWRfcGtydV9hZCh1aW50MzJfdCBwa3J1LCB1bnNpZ25lZCBpbnQg
cGtleSkKK3sKKyAgICBBU1NFUlQocGtleSA8IDE2KTsKKyAgICByZXR1cm4gKHBrcnUgPj4gKHBr
ZXkgKiBQS1JVX0FUVFJTICsgUEtSVV9SRUFEKSkgJiAxOworfQorCitzdGF0aWMgaW5saW5lIGJv
b2xfdCByZWFkX3BrcnVfd2QodWludDMyX3QgcGtydSwgdW5zaWduZWQgaW50IHBrZXkpCit7Cisg
ICAgQVNTRVJUKHBrZXkgPCAxNik7CisgICAgcmV0dXJuIChwa3J1ID4+IChwa2V5ICogUEtSVV9B
VFRSUyArIFBLUlVfV1JJVEUpKSAmIDE7Cit9CisKIC8qCiAgKiAgICAgIE5TQy9DeXJpeCBDUFUg
Y29uZmlndXJhdGlvbiByZWdpc3RlciBpbmRleGVzCiAgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNs
dWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3Bh
Z2UuaAppbmRleCAxOWFiNGQwLi44NmFiYjk0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L3g4Nl82NC9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcGFnZS5o
CkBAIC0xMzQsNiArMTM0LDE4IEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJvb3RfcGdlbnRyeV90
OwogI2RlZmluZSBnZXRfcHRlX2ZsYWdzKHgpICgoKGludCkoKHgpID4+IDQwKSAmIH4weEZGRikg
fCAoKGludCkoeCkgJiAweEZGRikpCiAjZGVmaW5lIHB1dF9wdGVfZmxhZ3MoeCkgKCgoaW50cHRl
X3QpKCh4KSAmIH4weEZGRikgPDwgNDApIHwgKCh4KSAmIDB4RkZGKSkKIAorLyoKKyAqIFByb3Rl
Y3Rpb24ga2V5cyBkZWZpbmUgYSBuZXcgNC1iaXQgcHJvdGVjdGlvbiBrZXkgZmllbGQKKyAqIChQ
S0VZKSBpbiBiaXRzIDYyOjU5IG9mIGxlYWYgZW50cmllcyBvZiB0aGUgcGFnZSB0YWJsZXMuCisg
KiBUaGlzIGNvcnJlc3BvbmRzIHRvIGJpdCAyMjoxOSBvZiBhIDI0LWJpdCBmbGFncy4KKyAqCisg
KiBOb3RpY2U6IEJpdCAyMiBpcyB1c2VkIGJ5IF9QQUdFX0dOVFRBQiB3aGljaCBpcyB2aXNpYmxl
IHRvIFBWIGd1ZXN0cywKKyAqIHNvIFByb3RlY3Rpb24ga2V5cyBtdXN0IGJlIGRpc2FibGVkIG9u
IFBWIGd1ZXN0cy4KKyAqLworI2RlZmluZSBfUEFHRV9QS0VZX0JJVFMgICgweDc4MDAwMCkJIC8q
IFByb3RlY3Rpb24gS2V5cywgMjI6MTkgKi8KKworI2RlZmluZSBnZXRfcHRlX3BrZXkoeCkgKE1B
U0tfRVhUUihnZXRfcHRlX2ZsYWdzKHgpLCBfUEFHRV9QS0VZX0JJVFMpKQorCiAvKiBCaXQgMjMg
b2YgYSAyNC1iaXQgZmxhZyBtYXNrLiBUaGlzIGNvcnJlc3BvbmRzIHRvIGJpdCA2MyBvZiBhIHB0
ZS4qLwogI2RlZmluZSBfUEFHRV9OWF9CSVQgKDFVPDwyMykKIAotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRX-0003yS-OR; Sat, 27 Feb 2016 06:33:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRW-0003y4-Ag
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:30 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
 45/23-02986-93341D65; Sat, 27 Feb 2016 06:33:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1456554807!27133403!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17432 invoked from network); 27 Feb 2016 06:33:28 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:28 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRT-0008BZ-9A
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRT-0004JO-4k
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:27 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRT-0004JO-4k@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:27 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add pkeys support for
	guest_walk_tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGNjYmUzYjE0NDg5MTE4YjJjMDU2YWU0YTg0MWQzZDg2MzZhMGVkMjIKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA0OjE5IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA0OjE5IDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgcGtleXMgc3VwcG9ydCBmb3IgZ3Vlc3Rfd2Fsa190YWJsZXMKICAg
IAogICAgUHJvdGVjdGlvbiBrZXlzIGRlZmluZSBhIG5ldyA0LWJpdCBwcm90ZWN0aW9uIGtleSBm
aWVsZChQS0VZKSBpbiBiaXRzIDYyOjU5IG9mCiAgICBsZWFmIGVudHJpZXMgb2YgdGhlIHBhZ2Ug
dGFibGVzLgogICAgCiAgICBQS1JVIHJlZ2lzdGVyIGRlZmluZXMgMzIgYml0cywgdGhlcmUgYXJl
IDE2IGRvbWFpbnMgYW5kIDIgYXR0cmlidXRlIGJpdHMgcGVyCiAgICBkb21haW4gaW4gcGtydSwg
Zm9yIGVhY2ggaSAoMCA9IGkgPSAxNSksIFBLUlVbMmldIGlzIHRoZSBhY2Nlc3MtZGlzYWJsZSBi
aXQgZm9yCiAgICBwcm90ZWN0aW9uIGtleSBpIChBRGkpOyBQS1JVWzJpKzFdIGlzIHRoZSB3cml0
ZS1kaXNhYmxlIGJpdCBmb3IgcHJvdGVjdGlvbiBrZXkKICAgIGkgKFdEaSkuIFBLRVkgaXMgaW5k
ZXggdG8gYSBkZWZpbmVkIGRvbWFpbi4KICAgIAogICAgQSBmYXVsdCBpcyBjb25zaWRlcmVkIGFz
IGEgUEtVIHZpb2xhdGlvbiBpZiBhbGwgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQog
ICAgdHJ1ZToKICAgIDEuQ1I0X1BLRT0xLgogICAgMi5FRkVSX0xNQT0xLgogICAgMy5QYWdlIGlz
IHByZXNlbnQgd2l0aCBubyByZXNlcnZlZCBiaXQgdmlvbGF0aW9ucy4KICAgIDQuVGhlIGFjY2Vz
cyBpcyBub3QgYW4gaW5zdHJ1Y3Rpb24gZmV0Y2guCiAgICA1LlRoZSBhY2Nlc3MgaXMgdG8gYSB1
c2VyIHBhZ2UuCiAgICA2LlBLUlUuQUQ9MQogICAgICAgIG9yIFRoZSBhY2Nlc3MgaXMgYSBkYXRh
IHdyaXRlIGFuZCBQS1JVLldEPTEKICAgICAgICAgICAgICAgICAgICBhbmQgZWl0aGVyIENSMC5X
UD0xIG9yIGl0IGlzIGEgdXNlciBhY2Nlc3MuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEh1YWl0
b25nIEhhbiA8aHVhaXRvbmcuaGFuQGludGVsLmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+CiAgICBSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2
aW4udGlhbkBpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vvcmdl
LmR1bmxhcEBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMgICAg
ICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gv
eDg2L21tL2hhcC9ndWVzdF93YWxrLmMgIHwgIDMgKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2d1
ZXN0X3B0LmggICAgfCAxMiArKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5o
ICAgICB8ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3BhZ2UuaCAgICAgICAgfCAgNSArKysr
CiB4ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oICAgfCA0NyArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmggfCAx
MiArKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKyksIDEgZGVsZXRp
b24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jIGIveGVuL2Fy
Y2gveDg2L21tL2d1ZXN0X3dhbGsuYwppbmRleCAxOGQxYWNmLi4yMWNhYmJhIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9ndWVz
dF93YWxrLmMKQEAgLTkwLDYgKzkwLDU0IEBAIHN0YXRpYyB1aW50MzJfdCBzZXRfYWRfYml0cyh2
b2lkICpndWVzdF9wLCB2b2lkICp3YWxrX3AsIGludCBzZXRfZGlydHkpCiAgICAgcmV0dXJuIDA7
CiB9CiAKKyNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID49IDQKK3N0YXRpYyBib29sX3QgcGtleV9m
YXVsdChzdHJ1Y3QgdmNwdSAqdmNwdSwgdWludDMyX3QgcGZlYywKKyAgICAgICAgdWludDMyX3Qg
cHRlX2ZsYWdzLCB1aW50MzJfdCBwdGVfcGtleSkKK3sKKyAgICB1aW50MzJfdCBwa3J1OworCisg
ICAgLyogV2hlbiBwYWdlIGlzbid0IHByZXNlbnQsICBQS0VZIGlzbid0IGNoZWNrZWQuICovCisg
ICAgaWYgKCAhKHBmZWMgJiBQRkVDX3BhZ2VfcHJlc2VudCkgfHwgaXNfcHZfdmNwdSh2Y3B1KSAp
CisgICAgICAgIHJldHVybiAwOworCisgICAgLyoKKyAgICAgKiBQS1U6ICBhZGRpdGlvbmFsIG1l
Y2hhbmlzbSBieSB3aGljaCB0aGUgcGFnaW5nIGNvbnRyb2xzCisgICAgICogYWNjZXNzIHRvIHVz
ZXItbW9kZSBhZGRyZXNzZXMgYmFzZWQgb24gdGhlIHZhbHVlIGluIHRoZQorICAgICAqIFBLUlUg
cmVnaXN0ZXIuIEEgZmF1bHQgaXMgY29uc2lkZXJlZCBhcyBhIFBLVSB2aW9sYXRpb24gaWYgYWxs
CisgICAgICogb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB0cnVlOgorICAgICAqIDEu
Q1I0X1BLRT0xLgorICAgICAqIDIuRUZFUl9MTUE9MS4KKyAgICAgKiAzLlBhZ2UgaXMgcHJlc2Vu
dCB3aXRoIG5vIHJlc2VydmVkIGJpdCB2aW9sYXRpb25zLgorICAgICAqIDQuVGhlIGFjY2VzcyBp
cyBub3QgYW4gaW5zdHJ1Y3Rpb24gZmV0Y2guCisgICAgICogNS5UaGUgYWNjZXNzIGlzIHRvIGEg
dXNlciBwYWdlLgorICAgICAqIDYuUEtSVS5BRD0xIG9yCisgICAgICogICAgICB0aGUgYWNjZXNz
IGlzIGEgZGF0YSB3cml0ZSBhbmQgUEtSVS5XRD0xIGFuZAorICAgICAqICAgICAgICAgIGVpdGhl
ciBDUjAuV1A9MSBvciBpdCBpcyBhIHVzZXIgYWNjZXNzLgorICAgICAqLworICAgIGlmICggIWh2
bV9wa3VfZW5hYmxlZCh2Y3B1KSB8fAorICAgICAgICAgIWh2bV9sb25nX21vZGVfZW5hYmxlZCh2
Y3B1KSB8fAorICAgICAgICAgKHBmZWMgJiBQRkVDX3Jlc2VydmVkX2JpdCkgfHwKKyAgICAgICAg
IChwZmVjICYgUEZFQ19pbnNuX2ZldGNoKSB8fAorICAgICAgICAgIShwdGVfZmxhZ3MgJiBfUEFH
RV9VU0VSKSApCisgICAgICAgIHJldHVybiAwOworCisgICAgcGtydSA9IHJlYWRfcGtydSgpOwor
ICAgIGlmICggdW5saWtlbHkocGtydSkgKQorICAgIHsKKyAgICAgICAgYm9vbF90IHBrcnVfYWQg
PSByZWFkX3BrcnVfYWQocGtydSwgcHRlX3BrZXkpOworICAgICAgICBib29sX3QgcGtydV93ZCA9
IHJlYWRfcGtydV93ZChwa3J1LCBwdGVfcGtleSk7CisKKyAgICAgICAgLyogQ29uZGl0aW9uIDYg
Ki8KKyAgICAgICAgaWYgKCBwa3J1X2FkIHx8CisgICAgICAgICAgICAgKHBrcnVfd2QgJiYgKHBm
ZWMgJiBQRkVDX3dyaXRlX2FjY2VzcykgJiYKKyAgICAgICAgICAgICAgKGh2bV93cF9lbmFibGVk
KHZjcHUpIHx8IChwZmVjICYgUEZFQ191c2VyX21vZGUpKSkgKQorICAgICAgICAgICAgcmV0dXJu
IDE7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogLyogV2FsayB0aGUgZ3Vl
c3QgcGFnZXRhYmxlcywgYWZ0ZXIgdGhlIG1hbm5lciBvZiBhIGhhcmR3YXJlIHdhbGtlci4gKi8K
IC8qIEJlY2F1c2UgdGhlIHdhbGsgaXMgZXNzZW50aWFsbHkgcmFuZG9tLCBpdCBjYW4gY2F1c2Ug
YSBkZWFkbG9jayAKICAqIHdhcm5pbmcgaW4gdGhlIHAybSBsb2NraW5nIGNvZGUuIEhpZ2hseSB1
bmxpa2VseSB0aGlzIGlzIGFuIGFjdHVhbApAQCAtMTA3LDYgKzE1NSw3IEBAIGd1ZXN0X3dhbGtf
dGFibGVzKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgIGd1ZXN0
X2wzZV90ICpsM3AgPSBOVUxMOwogICAgIGd1ZXN0X2w0ZV90ICpsNHA7CiAjZW5kaWYKKyAgICB1
bnNpZ25lZCBpbnQgcGtleTsKICAgICB1aW50MzJfdCBnZmxhZ3MsIG1mbGFncywgaWZsYWdzLCBy
YyA9IDA7CiAgICAgYm9vbF90IHNtZXAgPSAwLCBzbWFwID0gMDsKICAgICBib29sX3QgcHNlMUcg
PSAwLCBwc2UyTSA9IDA7CkBAIC0xOTAsNiArMjM5LDcgQEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3Ry
dWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgIGdvdG8gb3V0Owog
ICAgIC8qIEdldCB0aGUgbDNlIGFuZCBjaGVjayBpdHMgZmxhZ3MqLwogICAgIGd3LT5sM2UgPSBs
M3BbZ3Vlc3RfbDNfdGFibGVfb2Zmc2V0KHZhKV07CisgICAgcGtleSA9IGd1ZXN0X2wzZV9nZXRf
cGtleShndy0+bDNlKTsKICAgICBnZmxhZ3MgPSBndWVzdF9sM2VfZ2V0X2ZsYWdzKGd3LT5sM2Up
IF4gaWZsYWdzOwogICAgIGlmICggIShnZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKSApIHsKICAgICAg
ICAgcmMgfD0gX1BBR0VfUFJFU0VOVDsKQEAgLTI2MSw2ICszMTEsNyBAQCBndWVzdF93YWxrX3Rh
YmxlcyhzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHAybV9kb21haW4gKnAybSwKIAogI2VuZGlmIC8q
IEFsbCBsZXZlbHMuLi4gKi8KIAorICAgIHBrZXkgPSBndWVzdF9sMmVfZ2V0X3BrZXkoZ3ctPmwy
ZSk7CiAgICAgZ2ZsYWdzID0gZ3Vlc3RfbDJlX2dldF9mbGFncyhndy0+bDJlKSBeIGlmbGFnczsK
ICAgICBpZiAoICEoZ2ZsYWdzICYgX1BBR0VfUFJFU0VOVCkgKSB7CiAgICAgICAgIHJjIHw9IF9Q
QUdFX1BSRVNFTlQ7CkBAIC0zMjQsNiArMzc1LDcgQEAgZ3Vlc3Rfd2Fsa190YWJsZXMoc3RydWN0
IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgICAgIGlmKGwxcCA9PSBOVUxM
KQogICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgIGd3LT5sMWUgPSBsMXBbZ3Vlc3RfbDFf
dGFibGVfb2Zmc2V0KHZhKV07CisgICAgICAgIHBrZXkgPSBndWVzdF9sMWVfZ2V0X3BrZXkoZ3ct
PmwxZSk7CiAgICAgICAgIGdmbGFncyA9IGd1ZXN0X2wxZV9nZXRfZmxhZ3MoZ3ctPmwxZSkgXiBp
ZmxhZ3M7CiAgICAgICAgIGlmICggIShnZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKSApIHsKICAgICAg
ICAgICAgIHJjIHw9IF9QQUdFX1BSRVNFTlQ7CkBAIC0zMzQsNiArMzg2LDggQEAgZ3Vlc3Rfd2Fs
a190YWJsZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAKICNpZiBH
VUVTVF9QQUdJTkdfTEVWRUxTID49IDQgLyogNjQtYml0IG9ubHkuLi4gKi8KIHNldF9hZDoKKyAg
ICBpZiAoIHBrZXlfZmF1bHQodiwgcGZlYywgZ2ZsYWdzLCBwa2V5KSApCisgICAgICAgIHJjIHw9
IF9QQUdFX1BLRVlfQklUUzsKICNlbmRpZgogICAgIC8qIE5vdyByZS1pbnZlcnQgdGhlIHVzZXIt
bW9kZSByZXF1aXJlbWVudCBmb3IgU01FUCBhbmQgU01BUCAqLwogICAgIGlmICggc21lcCB8fCBz
bWFwICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvZ3Vlc3Rfd2Fsay5jIGIveGVu
L2FyY2gveDg2L21tL2hhcC9ndWVzdF93YWxrLmMKaW5kZXggOGFhN2UwZi4uZDI3MTZmOSAxMDA2
NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9ndWVzdF93YWxrLmMKKysrIGIveGVuL2FyY2gv
eDg2L21tL2hhcC9ndWVzdF93YWxrLmMKQEAgLTEzMCw2ICsxMzAsOSBAQCB1bnNpZ25lZCBsb25n
IGhhcF9wMm1fZ2FfdG9fZ2ZuKEdVRVNUX1BBR0lOR19MRVZFTFMpKAogICAgIGlmICggbWlzc2lu
ZyAmIF9QQUdFX0lOVkFMSURfQklUUyApIAogICAgICAgICBwZmVjWzBdIHw9IFBGRUNfcmVzZXJ2
ZWRfYml0OwogCisgICAgaWYgKCBtaXNzaW5nICYgX1BBR0VfUEtFWV9CSVRTICkKKyAgICAgICAg
cGZlY1swXSB8PSBQRkVDX3Byb3Rfa2V5OworCiAgICAgaWYgKCBtaXNzaW5nICYgX1BBR0VfUEFH
RUQgKQogICAgICAgICBwZmVjWzBdID0gUEZFQ19wYWdlX3BhZ2VkOwogCmRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0X3B0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0
X3B0LmgKaW5kZXggMzQ0Nzk3My4uZWIyOWU2MiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt
LXg4Ni9ndWVzdF9wdC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3RfcHQuaApAQCAt
ODEsNiArODEsMTEgQEAgc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDFlX2dldF9mbGFncyhndWVz
dF9sMWVfdCBnbDFlKQogc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJlX2dldF9mbGFncyhndWVz
dF9sMmVfdCBnbDJlKQogeyByZXR1cm4gZ2wyZS5sMiAmIDB4ZmZmOyB9CiAKK3N0YXRpYyBpbmxp
bmUgdTMyIGd1ZXN0X2wxZV9nZXRfcGtleShndWVzdF9sMWVfdCBnbDFlKQoreyByZXR1cm4gMDsg
fQorc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJlX2dldF9wa2V5KGd1ZXN0X2wyZV90IGdsMmUp
Cit7IHJldHVybiAwOyB9CisKIHN0YXRpYyBpbmxpbmUgZ3Vlc3RfbDFlX3QgZ3Vlc3RfbDFlX2Zy
b21fZ2ZuKGdmbl90IGdmbiwgdTMyIGZsYWdzKQogeyByZXR1cm4gKGd1ZXN0X2wxZV90KSB7IChn
Zm5feChnZm4pIDw8IFBBR0VfU0hJRlQpIHwgZmxhZ3MgfTsgfQogc3RhdGljIGlubGluZSBndWVz
dF9sMmVfdCBndWVzdF9sMmVfZnJvbV9nZm4oZ2ZuX3QgZ2ZuLCB1MzIgZmxhZ3MpCkBAIC0xNTQs
NiArMTU5LDEzIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGd1ZXN0X2w0ZV9nZXRfZmxhZ3MoZ3Vlc3Rf
bDRlX3QgZ2w0ZSkKIHsgcmV0dXJuIGw0ZV9nZXRfZmxhZ3MoZ2w0ZSk7IH0KICNlbmRpZgogCitz
dGF0aWMgaW5saW5lIHUzMiBndWVzdF9sMWVfZ2V0X3BrZXkoZ3Vlc3RfbDFlX3QgZ2wxZSkKK3sg
cmV0dXJuIGwxZV9nZXRfcGtleShnbDFlKTsgfQorc3RhdGljIGlubGluZSB1MzIgZ3Vlc3RfbDJl
X2dldF9wa2V5KGd1ZXN0X2wyZV90IGdsMmUpCit7IHJldHVybiBsMmVfZ2V0X3BrZXkoZ2wyZSk7
IH0KK3N0YXRpYyBpbmxpbmUgdTMyIGd1ZXN0X2wzZV9nZXRfcGtleShndWVzdF9sM2VfdCBnbDNl
KQoreyByZXR1cm4gbDNlX2dldF9wa2V5KGdsM2UpOyB9CisKIHN0YXRpYyBpbmxpbmUgZ3Vlc3Rf
bDFlX3QgZ3Vlc3RfbDFlX2Zyb21fZ2ZuKGdmbl90IGdmbiwgdTMyIGZsYWdzKQogeyByZXR1cm4g
bDFlX2Zyb21fcGZuKGdmbl94KGdmbiksIGZsYWdzKTsgfQogc3RhdGljIGlubGluZSBndWVzdF9s
MmVfdCBndWVzdF9sMmVfZnJvbV9nZm4oZ2ZuX3QgZ2ZuLCB1MzIgZmxhZ3MpCmRpZmYgLS1naXQg
YS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt
L2h2bS5oCmluZGV4IDBiMTU2MTYuLjE0OWZlMWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz
bS14ODYvaHZtL2h2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCkBAIC0y
ODYsNiArMjg2LDggQEAgaW50IGh2bV9naXJxX2Rlc3RfMl92Y3B1X2lkKHN0cnVjdCBkb21haW4g
KmQsIHVpbnQ4X3QgZGVzdCwgdWludDhfdCBkZXN0X21vZGUpOwogICAgIChodm1fcGFnaW5nX2Vu
YWJsZWQodikgJiYgKCh2KS0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfU01B
UCkpCiAjZGVmaW5lIGh2bV9ueF9lbmFibGVkKHYpIFwKICAgICAoISEoKHYpLT5hcmNoLmh2bV92
Y3B1Lmd1ZXN0X2VmZXIgJiBFRkVSX05YKSkKKyNkZWZpbmUgaHZtX3BrdV9lbmFibGVkKHYpIFwK
KyAgICAoaHZtX3BhZ2luZ19lbmFibGVkKHYpICYmICgodiktPmFyY2guaHZtX3ZjcHUuZ3Vlc3Rf
Y3JbNF0gJiBYODZfQ1I0X1BLRSkpCiAKIC8qIENhbiB3ZSB1c2Ugc3VwZXJwYWdlcyBpbiB0aGUg
SEFQIHAybSB0YWJsZT8gKi8KICNkZWZpbmUgaGFwX2hhc18xZ2IgKCEhKGh2bV9mdW5jcy5oYXBf
Y2FwYWJpbGl0aWVzICYgSFZNX0hBUF9TVVBFUlBBR0VfMUdCKSkKZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKaW5kZXgg
YmRmMzk2MC4uZmQ5YTJlYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgK
KysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKQEAgLTkzLDYgKzkzLDExIEBACiAjZGVm
aW5lIGwzZV9nZXRfZmxhZ3MoeCkgICAgICAgICAgIChnZXRfcHRlX2ZsYWdzKCh4KS5sMykpCiAj
ZGVmaW5lIGw0ZV9nZXRfZmxhZ3MoeCkgICAgICAgICAgIChnZXRfcHRlX2ZsYWdzKCh4KS5sNCkp
CiAKKy8qIEdldCBwdGUgcGtleXMgKHVuc2lnbmVkIGludCkuICovCisjZGVmaW5lIGwxZV9nZXRf
cGtleSh4KSAgICAgICAgICAgZ2V0X3B0ZV9wa2V5KCh4KS5sMSkKKyNkZWZpbmUgbDJlX2dldF9w
a2V5KHgpICAgICAgICAgICBnZXRfcHRlX3BrZXkoKHgpLmwyKQorI2RlZmluZSBsM2VfZ2V0X3Br
ZXkoeCkgICAgICAgICAgIGdldF9wdGVfcGtleSgoeCkubDMpCisKIC8qIENvbnN0cnVjdCBhbiBl
bXB0eSBwdGUuICovCiAjZGVmaW5lIGwxZV9lbXB0eSgpICAgICAgICAgICAgICAgICgobDFfcGdl
bnRyeV90KSB7IDAgfSkKICNkZWZpbmUgbDJlX2VtcHR5KCkgICAgICAgICAgICAgICAgKChsMl9w
Z2VudHJ5X3QpIHsgMCB9KQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNz
b3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKaW5kZXggOTc5MDdiMi4uYmE5
MDdlZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi94
ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCkBAIC0zMzAsNiArMzMwLDExIEBAIHN0YXRp
YyBpbmxpbmUgdW5zaWduZWQgbG9uZyByZWFkX2NyMih2b2lkKQogCiBERUNMQVJFX1BFUl9DUFUo
dW5zaWduZWQgbG9uZywgY3I0KTsKIAorc3RhdGljIGlubGluZSB2b2lkIHJhd193cml0ZV9jcjQo
dW5zaWduZWQgbG9uZyB2YWwpCit7CisgICAgYXNtIHZvbGF0aWxlICggIm1vdiAlMCwlJWNyNCIg
OiA6ICJyIiAodmFsKSApOworfQorCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVhZF9j
cjQodm9pZCkKIHsKICAgICByZXR1cm4gdGhpc19jcHUoY3I0KTsKQEAgLTMzOCw3ICszNDMsNyBA
QCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcmVhZF9jcjQodm9pZCkKIHN0YXRpYyBpbmxp
bmUgdm9pZCB3cml0ZV9jcjQodW5zaWduZWQgbG9uZyB2YWwpCiB7CiAgICAgdGhpc19jcHUoY3I0
KSA9IHZhbDsKLSAgICBhc20gdm9sYXRpbGUgKCAibW92ICUwLCUlY3I0IiA6IDogInIiICh2YWwp
ICk7CisgICAgcmF3X3dyaXRlX2NyNCh2YWwpOwogfQogCiAvKiBDbGVhciBhbmQgc2V0ICdUUycg
Yml0IHJlc3BlY3RpdmVseSAqLwpAQCAtMzcyLDYgKzM3Nyw0NiBAQCBzdGF0aWMgYWx3YXlzX2lu
bGluZSB2b2lkIGNsZWFyX2luX2NyNCAodW5zaWduZWQgbG9uZyBtYXNrKQogICAgIHdyaXRlX2Ny
NChyZWFkX2NyNCgpICYgfm1hc2spOwogfQogCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBy
ZWFkX3BrcnUodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgcGtydTsKKyAgICB1bnNpZ25lZCBs
b25nIGNyNCA9IHJlYWRfY3I0KCk7CisKKyAgICAvKgorICAgICAqIF9QQUdFX1BLRVlfQklUUyBo
YXZlIGEgY29uZmxpY3Qgd2l0aCBfUEFHRV9HTlRUQUIgdXNlZCBieSBQViBndWVzdHMsCisgICAg
ICogc28gdGhhdCBYODZfQ1I0X1BLRSAgaXMgZGlzYWJsZWQgb24gaHlwZXJ2aXNvci4gVG8gdXNl
IFJEUEtSVSwgQ1I0LlBLRQorICAgICAqIGdldHMgdGVtcG9yYXJpbHkgZW5hYmxlZC4KKyAgICAg
Ki8KKyAgICByYXdfd3JpdGVfY3I0KGNyNCB8IFg4Nl9DUjRfUEtFKTsKKyAgICBhc20gdm9sYXRp
bGUgKCIuYnl0ZSAweDBmLDB4MDEsMHhlZSIKKyAgICAgICAgOiAiPWEiIChwa3J1KSA6ICJjIiAo
MCkgOiAiZHgiKTsKKyAgICByYXdfd3JpdGVfY3I0KGNyNCk7CisKKyAgICByZXR1cm4gcGtydTsK
K30KKworLyogTWFjcm9zIGZvciBQS1JVIGRvbWFpbiAqLworI2RlZmluZSBQS1JVX1JFQUQgICgw
KQorI2RlZmluZSBQS1JVX1dSSVRFICgxKQorI2RlZmluZSBQS1JVX0FUVFJTICgyKQorCisvKgor
ICogUEtSVSBkZWZpbmVzIDMyIGJpdHMsIHRoZXJlIGFyZSAxNiBkb21haW5zIGFuZCAyIGF0dHJp
YnV0ZSBiaXRzIHBlcgorICogZG9tYWluIGluIHBrcnUsIHBrZXlzIGlzIGluZGV4IHRvIGEgZGVm
aW5lZCBkb21haW4sIHNvIHRoZSB2YWx1ZSBvZgorICogcHRlX3BrZXlzICogUEtSVV9BVFRSUyAr
IFIvVyBpcyBvZmZzZXQgb2YgYSBkZWZpbmVkIGRvbWFpbiBhdHRyaWJ1dGUuCisgKi8KK3N0YXRp
YyBpbmxpbmUgYm9vbF90IHJlYWRfcGtydV9hZCh1aW50MzJfdCBwa3J1LCB1bnNpZ25lZCBpbnQg
cGtleSkKK3sKKyAgICBBU1NFUlQocGtleSA8IDE2KTsKKyAgICByZXR1cm4gKHBrcnUgPj4gKHBr
ZXkgKiBQS1JVX0FUVFJTICsgUEtSVV9SRUFEKSkgJiAxOworfQorCitzdGF0aWMgaW5saW5lIGJv
b2xfdCByZWFkX3BrcnVfd2QodWludDMyX3QgcGtydSwgdW5zaWduZWQgaW50IHBrZXkpCit7Cisg
ICAgQVNTRVJUKHBrZXkgPCAxNik7CisgICAgcmV0dXJuIChwa3J1ID4+IChwa2V5ICogUEtSVV9B
VFRSUyArIFBLUlVfV1JJVEUpKSAmIDE7Cit9CisKIC8qCiAgKiAgICAgIE5TQy9DeXJpeCBDUFUg
Y29uZmlndXJhdGlvbiByZWdpc3RlciBpbmRleGVzCiAgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNs
dWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3Bh
Z2UuaAppbmRleCAxOWFiNGQwLi44NmFiYjk0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t
eDg2L3g4Nl82NC9wYWdlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcGFnZS5o
CkBAIC0xMzQsNiArMTM0LDE4IEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90IHJvb3RfcGdlbnRyeV90
OwogI2RlZmluZSBnZXRfcHRlX2ZsYWdzKHgpICgoKGludCkoKHgpID4+IDQwKSAmIH4weEZGRikg
fCAoKGludCkoeCkgJiAweEZGRikpCiAjZGVmaW5lIHB1dF9wdGVfZmxhZ3MoeCkgKCgoaW50cHRl
X3QpKCh4KSAmIH4weEZGRikgPDwgNDApIHwgKCh4KSAmIDB4RkZGKSkKIAorLyoKKyAqIFByb3Rl
Y3Rpb24ga2V5cyBkZWZpbmUgYSBuZXcgNC1iaXQgcHJvdGVjdGlvbiBrZXkgZmllbGQKKyAqIChQ
S0VZKSBpbiBiaXRzIDYyOjU5IG9mIGxlYWYgZW50cmllcyBvZiB0aGUgcGFnZSB0YWJsZXMuCisg
KiBUaGlzIGNvcnJlc3BvbmRzIHRvIGJpdCAyMjoxOSBvZiBhIDI0LWJpdCBmbGFncy4KKyAqCisg
KiBOb3RpY2U6IEJpdCAyMiBpcyB1c2VkIGJ5IF9QQUdFX0dOVFRBQiB3aGljaCBpcyB2aXNpYmxl
IHRvIFBWIGd1ZXN0cywKKyAqIHNvIFByb3RlY3Rpb24ga2V5cyBtdXN0IGJlIGRpc2FibGVkIG9u
IFBWIGd1ZXN0cy4KKyAqLworI2RlZmluZSBfUEFHRV9QS0VZX0JJVFMgICgweDc4MDAwMCkJIC8q
IFByb3RlY3Rpb24gS2V5cywgMjI6MTkgKi8KKworI2RlZmluZSBnZXRfcHRlX3BrZXkoeCkgKE1B
U0tfRVhUUihnZXRfcHRlX2ZsYWdzKHgpLCBfUEFHRV9QS0VZX0JJVFMpKQorCiAvKiBCaXQgMjMg
b2YgYSAyNC1iaXQgZmxhZyBtYXNrLiBUaGlzIGNvcnJlc3BvbmRzIHRvIGJpdCA2MyBvZiBhIHB0
ZS4qLwogI2RlZmluZSBfUEFHRV9OWF9CSVQgKDFVPDwyMykKIAotLQpnZW5lcmF0ZWQgYnkgZ2l0
LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcg
bGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5j
b20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRg-00040P-QO; Sat, 27 Feb 2016 06:33:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRg-00040G-3U
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:40 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 F2/7F-02980-34341D65; Sat, 27 Feb 2016 06:33:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1456554817!27133424!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18038 invoked from network); 27 Feb 2016 06:33:38 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRd-0008Bj-O9
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRd-0004Jm-K5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRd-0004Jm-K5@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:37 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add xstate support for pkeys
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGZiZjk5NzEyNDFmYmM5ZjhjZWIzNjQ1NGYxNTJjOGU4OWQwNTZiMjUKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA0OjUwIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA0OjUwIDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgeHN0YXRlIHN1cHBvcnQgZm9yIHBrZXlzCiAgICAKICAgIFRoZSBY
U0FWRSBmZWF0dXJlIHNldCBjYW4gb3BlcmF0ZSBvbiBQS1JVIHN0YXRlIG9ubHkgaWYgdGhlIGZl
YXR1cmUgc2V0IGlzCiAgICBlbmFibGVkIChDUjQuT1NYU0FWRSA9IDEpIGFuZCBoYXMgYmVlbiBj
b25maWd1cmVkIHRvIG1hbmFnZSBQS1JVIHN0YXRlCiAgICAoWENSMFs5XSA9IDEpLiBBbmQgWENS
MC5QS1JVIGlzIGRpc2FibGVkIG9uIFBWIG1vZGUgd2l0aG91dCBQS1UgZmVhdHVyZQogICAgZW5h
YmxlZC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5A
aW50ZWwuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRl
bC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3hzdGF0ZS5jICAgICAgICB8IDQgKysrKwogeGVuL2lu
Y2x1ZGUvYXNtLXg4Ni94c3RhdGUuaCB8IDQgKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2Vy
dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRl
LmMgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKaW5kZXggNGYyZmI4ZS4uZmI1MzhlOCAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpA
QCAtNjI5LDYgKzYyOSwxMCBAQCBpbnQgaGFuZGxlX3hzZXRidih1MzIgaW5kZXgsIHU2NCBuZXdf
YnYpCiAgICAgaWYgKCAobmV3X2J2ICYgfnhmZWF0dXJlX21hc2spIHx8ICF2YWxpZF94Y3IwKG5l
d19idikgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAorICAgIC8qIFhDUjAuUEtSVSBpcyBk
aXNhYmxlZCBvbiBQViBtb2RlLiAqLworICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAobmV3
X2J2ICYgWFNUQVRFX1BLUlUpICkKKyAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworCiAgICAg
aWYgKCAhc2V0X3hjcjAobmV3X2J2KSApCiAgICAgICAgIHJldHVybiAtRUZBVUxUOwogCmRpZmYg
LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3hzdGF0ZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni94c3RhdGUuaAppbmRleCA4NGYwYWY5Li5jMjhjZWE1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L3hzdGF0ZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYveHN0YXRlLmgKQEAg
LTM0LDEzICszNCwxNSBAQAogI2RlZmluZSBYU1RBVEVfT1BNQVNLICAoMVVMTCA8PCA1KQogI2Rl
ZmluZSBYU1RBVEVfWk1NICAgICAoMVVMTCA8PCA2KQogI2RlZmluZSBYU1RBVEVfSElfWk1NICAo
MVVMTCA8PCA3KQorI2RlZmluZSBYU1RBVEVfUEtSVSAgICAoMVVMTCA8PCA5KQogI2RlZmluZSBY
U1RBVEVfTFdQICAgICAoMVVMTCA8PCA2MikgLyogQU1EIGxpZ2h0d2VpZ2h0IHByb2ZpbGluZyAq
LwogI2RlZmluZSBYU1RBVEVfRlBfU1NFICAoWFNUQVRFX0ZQIHwgWFNUQVRFX1NTRSkKICNkZWZp
bmUgWENOVFhUX01BU0sgICAgKFhTVEFURV9GUCB8IFhTVEFURV9TU0UgfCBYU1RBVEVfWU1NIHwg
WFNUQVRFX09QTUFTSyB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgIFhTVEFURV9aTU0gfCBY
U1RBVEVfSElfWk1NIHwgWFNUQVRFX05PTkxBWlkpCiAKICNkZWZpbmUgWFNUQVRFX0FMTCAgICAg
KH4oMVVMTCA8PCA2MykpCi0jZGVmaW5lIFhTVEFURV9OT05MQVpZIChYU1RBVEVfTFdQIHwgWFNU
QVRFX0JORFJFR1MgfCBYU1RBVEVfQk5EQ1NSKQorI2RlZmluZSBYU1RBVEVfTk9OTEFaWSAoWFNU
QVRFX0xXUCB8IFhTVEFURV9CTkRSRUdTIHwgWFNUQVRFX0JORENTUiB8IFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFhTVEFURV9QS1JVKQogI2RlZmluZSBYU1RBVEVfTEFaWSAgICAoWFNUQVRF
X0FMTCAmIH5YU1RBVEVfTk9OTEFaWSkKICNkZWZpbmUgWFNUQVRFX0NPTVBBQ1RJT05fRU5BQkxF
RCAgKDFVTEwgPDwgNjMpCiAKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUv
eGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0Bs
aXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRg-00040P-QO; Sat, 27 Feb 2016 06:33:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRg-00040G-3U
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:40 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 F2/7F-02980-34341D65; Sat, 27 Feb 2016 06:33:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1456554817!27133424!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18038 invoked from network); 27 Feb 2016 06:33:38 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRd-0008Bj-O9
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRd-0004Jm-K5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:37 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRd-0004Jm-K5@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:37 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add xstate support for pkeys
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGZiZjk5NzEyNDFmYmM5ZjhjZWIzNjQ1NGYxNTJjOGU4OWQwNTZiMjUKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA0OjUwIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA0OjUwIDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgeHN0YXRlIHN1cHBvcnQgZm9yIHBrZXlzCiAgICAKICAgIFRoZSBY
U0FWRSBmZWF0dXJlIHNldCBjYW4gb3BlcmF0ZSBvbiBQS1JVIHN0YXRlIG9ubHkgaWYgdGhlIGZl
YXR1cmUgc2V0IGlzCiAgICBlbmFibGVkIChDUjQuT1NYU0FWRSA9IDEpIGFuZCBoYXMgYmVlbiBj
b25maWd1cmVkIHRvIG1hbmFnZSBQS1JVIHN0YXRlCiAgICAoWENSMFs5XSA9IDEpLiBBbmQgWENS
MC5QS1JVIGlzIGRpc2FibGVkIG9uIFBWIG1vZGUgd2l0aG91dCBQS1UgZmVhdHVyZQogICAgZW5h
YmxlZC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5A
aW50ZWwuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRl
bC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3hzdGF0ZS5jICAgICAgICB8IDQgKysrKwogeGVuL2lu
Y2x1ZGUvYXNtLXg4Ni94c3RhdGUuaCB8IDQgKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2Vy
dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRl
LmMgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKaW5kZXggNGYyZmI4ZS4uZmI1MzhlOCAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpA
QCAtNjI5LDYgKzYyOSwxMCBAQCBpbnQgaGFuZGxlX3hzZXRidih1MzIgaW5kZXgsIHU2NCBuZXdf
YnYpCiAgICAgaWYgKCAobmV3X2J2ICYgfnhmZWF0dXJlX21hc2spIHx8ICF2YWxpZF94Y3IwKG5l
d19idikgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAorICAgIC8qIFhDUjAuUEtSVSBpcyBk
aXNhYmxlZCBvbiBQViBtb2RlLiAqLworICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAobmV3
X2J2ICYgWFNUQVRFX1BLUlUpICkKKyAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworCiAgICAg
aWYgKCAhc2V0X3hjcjAobmV3X2J2KSApCiAgICAgICAgIHJldHVybiAtRUZBVUxUOwogCmRpZmYg
LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3hzdGF0ZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4
Ni94c3RhdGUuaAppbmRleCA4NGYwYWY5Li5jMjhjZWE1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk
ZS9hc20teDg2L3hzdGF0ZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYveHN0YXRlLmgKQEAg
LTM0LDEzICszNCwxNSBAQAogI2RlZmluZSBYU1RBVEVfT1BNQVNLICAoMVVMTCA8PCA1KQogI2Rl
ZmluZSBYU1RBVEVfWk1NICAgICAoMVVMTCA8PCA2KQogI2RlZmluZSBYU1RBVEVfSElfWk1NICAo
MVVMTCA8PCA3KQorI2RlZmluZSBYU1RBVEVfUEtSVSAgICAoMVVMTCA8PCA5KQogI2RlZmluZSBY
U1RBVEVfTFdQICAgICAoMVVMTCA8PCA2MikgLyogQU1EIGxpZ2h0d2VpZ2h0IHByb2ZpbGluZyAq
LwogI2RlZmluZSBYU1RBVEVfRlBfU1NFICAoWFNUQVRFX0ZQIHwgWFNUQVRFX1NTRSkKICNkZWZp
bmUgWENOVFhUX01BU0sgICAgKFhTVEFURV9GUCB8IFhTVEFURV9TU0UgfCBYU1RBVEVfWU1NIHwg
WFNUQVRFX09QTUFTSyB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgIFhTVEFURV9aTU0gfCBY
U1RBVEVfSElfWk1NIHwgWFNUQVRFX05PTkxBWlkpCiAKICNkZWZpbmUgWFNUQVRFX0FMTCAgICAg
KH4oMVVMTCA8PCA2MykpCi0jZGVmaW5lIFhTVEFURV9OT05MQVpZIChYU1RBVEVfTFdQIHwgWFNU
QVRFX0JORFJFR1MgfCBYU1RBVEVfQk5EQ1NSKQorI2RlZmluZSBYU1RBVEVfTk9OTEFaWSAoWFNU
QVRFX0xXUCB8IFhTVEFURV9CTkRSRUdTIHwgWFNUQVRFX0JORENTUiB8IFwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFhTVEFURV9QS1JVKQogI2RlZmluZSBYU1RBVEVfTEFaWSAgICAoWFNUQVRF
X0FMTCAmIH5YU1RBVEVfTk9OTEFaWSkKICNkZWZpbmUgWFNUQVRFX0NPTVBBQ1RJT05fRU5BQkxF
RCAgKDFVTEwgPDwgNjMpCiAKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUv
eGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0Bs
aXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRr-00042V-U3; Sat, 27 Feb 2016 06:33:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRr-00042G-1P
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:51 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
 14/8E-02992-E4341D65; Sat, 27 Feb 2016 06:33:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554828!10937962!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55237 invoked from network); 27 Feb 2016 06:33:49 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRo-0008CQ-6N
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRo-0004KA-46
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRo-0004KA-46@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:48 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add pkeys support for cpuid
	handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQwNTc1Y2M1MWQ2YzUwZGE0ZWEwNjA2MmU0ZDUxOWU3YzYwYTFmNDAKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA1OjIwIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA1OjIwIDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgcGtleXMgc3VwcG9ydCBmb3IgY3B1aWQgaGFuZGxpbmcKICAgIAog
ICAgVGhpcyBwYXRjaCBhZGRzIHBrZXlzIHN1cHBvcnQgZm9yIGNwdWlkIGhhbmRpbmcuCiAgICAK
ICAgIFBrZXlzIGhhcmR3YXJlIHN1cHBvcnQgaXMgQ1BVSUQuNy4wLkVDWFszXTpQS1UuIHNvZnR3
YXJlIHN1cHBvcnQgaXMKICAgIENQVUlELjcuMC5FQ1hbNF06T1NQS0UgYW5kIGl0IHJlZmxlY3Rz
IHRoZSBzdXBwb3J0IHNldHRpbmcgb2YgQ1I0LlBLRS4KICAgIAogICAgWDg2X0ZFQVRVUkVfT1NY
U0FWRSBkZXBlbmRzIG9uIGd1ZXN0IFg4Nl9GRUFUVVJFX1hTQVZFLCBidXQgY3B1X2hhc194c2F2
ZQogICAgZnVuY3Rpb24gcmVmbGVjdHMgaHlwZXJ2aXNvciBYODZfRkVBVFVSRV9YU0FWRSwgaXQg
aXMgZml4ZWQgdG9vLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBIdWFpdG9uZyBIYW4gPGh1YWl0
b25nLmhhbkBpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0t
LQogdG9vbHMvbGlieGMveGNfY3B1ZmVhdHVyZS5oIHwgIDMgKysrCiB0b29scy9saWJ4Yy94Y19j
cHVpZF94ODYuYyAgfCAgNiArKysrLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICB8IDI2
ICsrKysrKysrKysrKysrKysrKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlv
bnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3B1ZmVh
dHVyZS5oIGIvdG9vbHMvbGlieGMveGNfY3B1ZmVhdHVyZS5oCmluZGV4IGVlNTM2NzkuLjg2NmNm
MGIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NwdWZlYXR1cmUuaAorKysgYi90b29scy9s
aWJ4Yy94Y19jcHVmZWF0dXJlLmgKQEAgLTE0NCw0ICsxNDQsNyBAQAogI2RlZmluZSBYODZfRkVB
VFVSRV9DTEZMVVNIT1BUICAyMyAvKiBDTEZMVVNIT1BUIGluc3RydWN0aW9uICovCiAjZGVmaW5l
IFg4Nl9GRUFUVVJFX0NMV0IgICAgICAgIDI0IC8qIENMV0IgaW5zdHJ1Y3Rpb24gKi8KIAorLyog
SW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MCAoZWN4
KSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9QS1UgICAgIDMKKwogI2VuZGlmIC8qIF9fTElCWENf
Q1BVRkVBVFVSRV9IICovCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYyBi
L3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCmluZGV4IGMxNDI1OTUuLjU0MDhkZDAgMTAwNjQ0
Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2Nw
dWlkX3g4Ni5jCkBAIC00MzAsOSArNDMwLDExIEBAIHN0YXRpYyB2b2lkIHhjX2NwdWlkX2h2bV9w
b2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXNr
b2YoWDg2X0ZFQVRVUkVfUENPTU1JVCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFz
a29mKFg4Nl9GRUFUVVJFX0NMV0IpIHwKICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hc2tv
ZihYODZfRkVBVFVSRV9DTEZMVVNIT1BUKSk7CisgICAgICAgICAgICByZWdzWzJdICY9IGJpdG1h
c2tvZihYODZfRkVBVFVSRV9QS1UpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJlZ3Nb
MV0gPSAwOwotICAgICAgICByZWdzWzBdID0gcmVnc1syXSA9IHJlZ3NbM10gPSAwOworICAgICAg
ICAgICAgcmVnc1sxXSA9IHJlZ3NbMl0gPSAwOworCisgICAgICAgIHJlZ3NbMF0gPSByZWdzWzNd
ID0gMDsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIDB4MDAwMDAwMGQ6CmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCBh
MjljNDIxLi5mYjJkODFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTQ2MTksOSArNDYxOSwxMSBAQCB2b2lkIGh2bV9j
cHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQg
KmVieCwKICAgICAgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX0FQSUMgJiAzMSwgZWR4
KTsKIAogICAgICAgICAvKiBGaXggdXAgT1NYU0FWRS4gKi8KLSAgICAgICAgaWYgKCBjcHVfaGFz
X3hzYXZlICkKLSAgICAgICAgICAgICplY3ggfD0gKHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3Jb
NF0gJiBYODZfQ1I0X09TWFNBVkUpID8KLSAgICAgICAgICAgICAgICAgICAgIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9PU1hTQVZFKSA6IDA7CisgICAgICAgIGlmICggKmVjeCAmIGNwdWZlYXRf
bWFzayhYODZfRkVBVFVSRV9YU0FWRSkgJiYKKyAgICAgICAgICAgICAodi0+YXJjaC5odm1fdmNw
dS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfT1NYU0FWRSkgKQorICAgICAgICAgICAgKmVjeCB8PSBj
cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfT1NYU0FWRSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICplY3ggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9PU1hTQVZFKTsKIAogICAgICAg
ICAvKiBEb24ndCBleHBvc2UgUENJRCB0byBub24taGFwIGh2bS4gKi8KICAgICAgICAgaWYgKCAh
aGFwX2VuYWJsZWQoZCkgKQpAQCAtNDY0MCwxNiArNDY0MiwyNiBAQCB2b2lkIGh2bV9jcHVpZCh1
bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwK
ICAgICAgICAgICAgIGlmICggIWNwdV9oYXNfc21hcCApCiAgICAgICAgICAgICAgICAgKmVieCAm
PSB+Y3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NNQVApOwogCi0gICAgICAgICAgICAvKiBEb24n
dCBleHBvc2UgTVBYIHRvIGh2bSB3aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgKi8K
KyAgICAgICAgICAgIC8qIERvbid0IGV4cG9zZSBNUFggdG8gaHZtIHdoZW4gVk1YIHN1cHBvcnQg
aXMgbm90IGF2YWlsYWJsZS4gKi8KICAgICAgICAgICAgIGlmICggISh2bXhfdm1leGl0X2NvbnRy
b2wgJiBWTV9FWElUX0NMRUFSX0JORENGR1MpIHx8CiAgICAgICAgICAgICAgICAgICEodm14X3Zt
ZW50cnlfY29udHJvbCAmIFZNX0VOVFJZX0xPQURfQk5EQ0ZHUykgKQogICAgICAgICAgICAgICAg
ICplYnggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9NUFgpOwogCi0gICAgICAgICAgICAv
KiBEb24ndCBleHBvc2UgSU5WUENJRCB0byBub24taGFwIGh2bS4gKi8KICAgICAgICAgICAgIGlm
ICggIWhhcF9lbmFibGVkKGQpICkKLSAgICAgICAgICAgICAgICAqZWJ4ICY9IH5jcHVmZWF0X21h
c2soWDg2X0ZFQVRVUkVfSU5WUENJRCk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
IC8qIERvbid0IGV4cG9zZSBJTlZQQ0lEIHRvIG5vbi1oYXAgaHZtLiAqLworICAgICAgICAgICAg
ICAgICAqZWJ4ICY9IH5jcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSU5WUENJRCk7CisgICAgICAg
ICAgICAgICAgIC8qIFg4Nl9GRUFUVVJFX1BLVSBpcyBub3QgeWV0IGltcGxlbWVudGVkIGZvciBz
aGFkb3cgcGFnaW5nLiAqLworICAgICAgICAgICAgICAgICAqZWN4ICY9IH5jcHVmZWF0X21hc2so
WDg2X0ZFQVRVUkVfUEtVKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCAoKmVj
eCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9QS1UpKSAmJgorICAgICAgICAgICAgICAgICAo
di0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfUEtFKSApCisgICAgICAgICAg
ICAgICAgKmVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfT1NQS0UpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICplY3ggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVS
RV9PU1BLRSk7CiAKLSAgICAgICAgICAgIC8qIERvbid0IGV4cG9zZSBQQ09NTUlUIHRvIGh2bSB3
aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgKi8KKyAgICAgICAgICAgIC8qIERvbid0
IGV4cG9zZSBQQ09NTUlUIHRvIGh2bSB3aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUu
ICovCiAgICAgICAgICAgICBpZiAoICFjcHVfaGFzX3ZteF9wY29tbWl0ICkKICAgICAgICAgICAg
ICAgICAqZWJ4ICY9IH5jcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfUENPTU1JVCk7CiAgICAgICAg
IH0KLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0
I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
WGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0
dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:33:51 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYRr-00042V-U3; Sat, 27 Feb 2016 06:33:51 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRr-00042G-1P
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:51 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
 14/8E-02992-E4341D65; Sat, 27 Feb 2016 06:33:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554828!10937962!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55237 invoked from network); 27 Feb 2016 06:33:49 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRo-0008CQ-6N
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRo-0004KA-46
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRo-0004KA-46@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:48 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add pkeys support for cpuid
	handling
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQwNTc1Y2M1MWQ2YzUwZGE0ZWEwNjA2MmU0ZDUxOWU3YzYwYTFmNDAKQXV0aG9yOiAg
ICAgSHVhaXRvbmcgSGFuIDxodWFpdG9uZy5oYW5AaW50ZWwuY29tPgpBdXRob3JEYXRlOiBXZWQg
RmViIDI0IDEyOjA1OjIwIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA1OjIwIDIwMTYgKzAxMDAK
CiAgICB4ODYvaHZtOiBhZGQgcGtleXMgc3VwcG9ydCBmb3IgY3B1aWQgaGFuZGxpbmcKICAgIAog
ICAgVGhpcyBwYXRjaCBhZGRzIHBrZXlzIHN1cHBvcnQgZm9yIGNwdWlkIGhhbmRpbmcuCiAgICAK
ICAgIFBrZXlzIGhhcmR3YXJlIHN1cHBvcnQgaXMgQ1BVSUQuNy4wLkVDWFszXTpQS1UuIHNvZnR3
YXJlIHN1cHBvcnQgaXMKICAgIENQVUlELjcuMC5FQ1hbNF06T1NQS0UgYW5kIGl0IHJlZmxlY3Rz
IHRoZSBzdXBwb3J0IHNldHRpbmcgb2YgQ1I0LlBLRS4KICAgIAogICAgWDg2X0ZFQVRVUkVfT1NY
U0FWRSBkZXBlbmRzIG9uIGd1ZXN0IFg4Nl9GRUFUVVJFX1hTQVZFLCBidXQgY3B1X2hhc194c2F2
ZQogICAgZnVuY3Rpb24gcmVmbGVjdHMgaHlwZXJ2aXNvciBYODZfRkVBVFVSRV9YU0FWRSwgaXQg
aXMgZml4ZWQgdG9vLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBIdWFpdG9uZyBIYW4gPGh1YWl0
b25nLmhhbkBpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0t
LQogdG9vbHMvbGlieGMveGNfY3B1ZmVhdHVyZS5oIHwgIDMgKysrCiB0b29scy9saWJ4Yy94Y19j
cHVpZF94ODYuYyAgfCAgNiArKysrLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICB8IDI2
ICsrKysrKysrKysrKysrKysrKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlv
bnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3B1ZmVh
dHVyZS5oIGIvdG9vbHMvbGlieGMveGNfY3B1ZmVhdHVyZS5oCmluZGV4IGVlNTM2NzkuLjg2NmNm
MGIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NwdWZlYXR1cmUuaAorKysgYi90b29scy9s
aWJ4Yy94Y19jcHVmZWF0dXJlLmgKQEAgLTE0NCw0ICsxNDQsNyBAQAogI2RlZmluZSBYODZfRkVB
VFVSRV9DTEZMVVNIT1BUICAyMyAvKiBDTEZMVVNIT1BUIGluc3RydWN0aW9uICovCiAjZGVmaW5l
IFg4Nl9GRUFUVVJFX0NMV0IgICAgICAgIDI0IC8qIENMV0IgaW5zdHJ1Y3Rpb24gKi8KIAorLyog
SW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MCAoZWN4
KSAqLworI2RlZmluZSBYODZfRkVBVFVSRV9QS1UgICAgIDMKKwogI2VuZGlmIC8qIF9fTElCWENf
Q1BVRkVBVFVSRV9IICovCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYyBi
L3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCmluZGV4IGMxNDI1OTUuLjU0MDhkZDAgMTAwNjQ0
Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2Nw
dWlkX3g4Ni5jCkBAIC00MzAsOSArNDMwLDExIEBAIHN0YXRpYyB2b2lkIHhjX2NwdWlkX2h2bV9w
b2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXNr
b2YoWDg2X0ZFQVRVUkVfUENPTU1JVCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgYml0bWFz
a29mKFg4Nl9GRUFUVVJFX0NMV0IpIHwKICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hc2tv
ZihYODZfRkVBVFVSRV9DTEZMVVNIT1BUKSk7CisgICAgICAgICAgICByZWdzWzJdICY9IGJpdG1h
c2tvZihYODZfRkVBVFVSRV9QS1UpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJlZ3Nb
MV0gPSAwOwotICAgICAgICByZWdzWzBdID0gcmVnc1syXSA9IHJlZ3NbM10gPSAwOworICAgICAg
ICAgICAgcmVnc1sxXSA9IHJlZ3NbMl0gPSAwOworCisgICAgICAgIHJlZ3NbMF0gPSByZWdzWzNd
ID0gMDsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIDB4MDAwMDAwMGQ6CmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCBh
MjljNDIxLi5mYjJkODFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTQ2MTksOSArNDYxOSwxMSBAQCB2b2lkIGh2bV9j
cHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQg
KmVieCwKICAgICAgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX0FQSUMgJiAzMSwgZWR4
KTsKIAogICAgICAgICAvKiBGaXggdXAgT1NYU0FWRS4gKi8KLSAgICAgICAgaWYgKCBjcHVfaGFz
X3hzYXZlICkKLSAgICAgICAgICAgICplY3ggfD0gKHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3Jb
NF0gJiBYODZfQ1I0X09TWFNBVkUpID8KLSAgICAgICAgICAgICAgICAgICAgIGNwdWZlYXRfbWFz
ayhYODZfRkVBVFVSRV9PU1hTQVZFKSA6IDA7CisgICAgICAgIGlmICggKmVjeCAmIGNwdWZlYXRf
bWFzayhYODZfRkVBVFVSRV9YU0FWRSkgJiYKKyAgICAgICAgICAgICAodi0+YXJjaC5odm1fdmNw
dS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfT1NYU0FWRSkgKQorICAgICAgICAgICAgKmVjeCB8PSBj
cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfT1NYU0FWRSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICplY3ggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9PU1hTQVZFKTsKIAogICAgICAg
ICAvKiBEb24ndCBleHBvc2UgUENJRCB0byBub24taGFwIGh2bS4gKi8KICAgICAgICAgaWYgKCAh
aGFwX2VuYWJsZWQoZCkgKQpAQCAtNDY0MCwxNiArNDY0MiwyNiBAQCB2b2lkIGh2bV9jcHVpZCh1
bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwK
ICAgICAgICAgICAgIGlmICggIWNwdV9oYXNfc21hcCApCiAgICAgICAgICAgICAgICAgKmVieCAm
PSB+Y3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NNQVApOwogCi0gICAgICAgICAgICAvKiBEb24n
dCBleHBvc2UgTVBYIHRvIGh2bSB3aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgKi8K
KyAgICAgICAgICAgIC8qIERvbid0IGV4cG9zZSBNUFggdG8gaHZtIHdoZW4gVk1YIHN1cHBvcnQg
aXMgbm90IGF2YWlsYWJsZS4gKi8KICAgICAgICAgICAgIGlmICggISh2bXhfdm1leGl0X2NvbnRy
b2wgJiBWTV9FWElUX0NMRUFSX0JORENGR1MpIHx8CiAgICAgICAgICAgICAgICAgICEodm14X3Zt
ZW50cnlfY29udHJvbCAmIFZNX0VOVFJZX0xPQURfQk5EQ0ZHUykgKQogICAgICAgICAgICAgICAg
ICplYnggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9NUFgpOwogCi0gICAgICAgICAgICAv
KiBEb24ndCBleHBvc2UgSU5WUENJRCB0byBub24taGFwIGh2bS4gKi8KICAgICAgICAgICAgIGlm
ICggIWhhcF9lbmFibGVkKGQpICkKLSAgICAgICAgICAgICAgICAqZWJ4ICY9IH5jcHVmZWF0X21h
c2soWDg2X0ZFQVRVUkVfSU5WUENJRCk7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
IC8qIERvbid0IGV4cG9zZSBJTlZQQ0lEIHRvIG5vbi1oYXAgaHZtLiAqLworICAgICAgICAgICAg
ICAgICAqZWJ4ICY9IH5jcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSU5WUENJRCk7CisgICAgICAg
ICAgICAgICAgIC8qIFg4Nl9GRUFUVVJFX1BLVSBpcyBub3QgeWV0IGltcGxlbWVudGVkIGZvciBz
aGFkb3cgcGFnaW5nLiAqLworICAgICAgICAgICAgICAgICAqZWN4ICY9IH5jcHVmZWF0X21hc2so
WDg2X0ZFQVRVUkVfUEtVKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCAoKmVj
eCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9QS1UpKSAmJgorICAgICAgICAgICAgICAgICAo
di0+YXJjaC5odm1fdmNwdS5ndWVzdF9jcls0XSAmIFg4Nl9DUjRfUEtFKSApCisgICAgICAgICAg
ICAgICAgKmVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfT1NQS0UpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICplY3ggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVBVFVS
RV9PU1BLRSk7CiAKLSAgICAgICAgICAgIC8qIERvbid0IGV4cG9zZSBQQ09NTUlUIHRvIGh2bSB3
aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgKi8KKyAgICAgICAgICAgIC8qIERvbid0
IGV4cG9zZSBQQ09NTUlUIHRvIGh2bSB3aGVuIFZNWCBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUu
ICovCiAgICAgICAgICAgICBpZiAoICFjcHVfaGFzX3ZteF9wY29tbWl0ICkKICAgICAgICAgICAg
ICAgICAqZWJ4ICY9IH5jcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfUENPTU1JVCk7CiAgICAgICAg
IH0KLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0
I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
WGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0
dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYS1-00044P-Vw; Sat, 27 Feb 2016 06:34:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS1-00044E-4b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:01 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
 97/FF-03301-85341D65; Sat, 27 Feb 2016 06:34:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456554838!27144568!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46115 invoked from network); 27 Feb 2016 06:33:59 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRy-0008Ca-JE
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRy-0004Kb-GW
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRy-0004Kb-GW@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:58 +0000
Subject: [Xen-changelog] [xen master] use XEN_SYSCTL_SCHEDOP_* for sysctl
	operation checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE0MGNiYjY5YzE1ZTBjYzY0NjkxMjFhZjRhYWE1M2Y0NjJmNjMzMTMKQXV0aG9yOiAg
ICAgSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpBdXRob3JEYXRlOiBXZWQgRmViIDI0
IDEyOjA1OjU4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA1OjU4IDIwMTYgKzAxMDAKCiAgICB1
c2UgWEVOX1NZU0NUTF9TQ0hFRE9QXyogZm9yIHN5c2N0bCBvcGVyYXRpb24gY2hlY2tzCiAgICAK
ICAgIEluIGZsYXNrX3N5c2N0bF9zY2hlZHVsZXJfb3AoKSBhbmQgc2NoZWRfYWRqdXN0X2dsb2Jh
bCgpIHRoZSB0ZXN0IGZvcgogICAgdGhlIGRlc2lyZWQgb3BlcmF0aW9uIGlzIGRvbmUgd2l0aCB0
aGUgd3JvbmcgY29uc3RhbnRzLiBXaGlsZSB0aGUKICAgIHZhbHVlcyBhcmUgY29ycmVjdCwgdGhl
IG5hbWVzIGFyZSBub3QuCiAgICAKICAgIENvcnJlY3QgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRo
ZSBjYXNlIG9mIGFuIHVua25vd24gb3BlcmF0aW9uIGluCiAgICBmbGFza19zeXNjdGxfc2NoZWR1
bGVyX29wKCksIHRvby4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5s
YXBAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jIHwgNCArKy0tCiB4ZW4veHNtL2ZsYXNrL2hv
b2tzLmMgfCA2ICsrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1v
bi9zY2hlZHVsZS5jCmluZGV4IDI3Njk1ZTMuLjQzNGRjZmMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t
b24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTExNzEsOCArMTE3
MSw4IEBAIGxvbmcgc2NoZWRfYWRqdXN0X2dsb2JhbChzdHJ1Y3QgeGVuX3N5c2N0bF9zY2hlZHVs
ZXJfb3AgKm9wKQogICAgIGlmICggcmMgKQogICAgICAgICByZXR1cm4gcmM7CiAKLSAgICBpZiAo
IChvcC0+Y21kICE9IFhFTl9ET01DVExfU0NIRURPUF9wdXRpbmZvKSAmJgotICAgICAgICAgKG9w
LT5jbWQgIT0gWEVOX0RPTUNUTF9TQ0hFRE9QX2dldGluZm8pICkKKyAgICBpZiAoIChvcC0+Y21k
ICE9IFhFTl9TWVNDVExfU0NIRURPUF9wdXRpbmZvKSAmJgorICAgICAgICAgKG9wLT5jbWQgIT0g
WEVOX1NZU0NUTF9TQ0hFRE9QX2dldGluZm8pICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK
ICAgICBwb29sID0gY3B1cG9vbF9nZXRfYnlfaWQob3AtPmNwdXBvb2xfaWQpOwpkaWZmIC0tZ2l0
IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4IGY2
M2MzZTIuLjQ4MTM2MjMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTUyOSwxNCArNTI5LDE0IEBAIHN0YXRpYyBpbnQgZmxh
c2tfc3lzY3RsX3NjaGVkdWxlcl9vcChpbnQgb3ApCiB7CiAgICAgc3dpdGNoICggb3AgKQogICAg
IHsKLSAgICBjYXNlIFhFTl9ET01DVExfU0NIRURPUF9wdXRpbmZvOgorICAgIGNhc2UgWEVOX1NZ
U0NUTF9TQ0hFRE9QX3B1dGluZm86CiAgICAgICAgIHJldHVybiBkb21haW5faGFzX3hlbihjdXJy
ZW50LT5kb21haW4sIFhFTl9fU0VUU0NIRURVTEVSKTsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9T
Q0hFRE9QX2dldGluZm86CisgICAgY2FzZSBYRU5fU1lTQ1RMX1NDSEVET1BfZ2V0aW5mbzoKICAg
ICAgICAgcmV0dXJuIGRvbWFpbl9oYXNfeGVuKGN1cnJlbnQtPmRvbWFpbiwgWEVOX19HRVRTQ0hF
RFVMRVIpOwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19kb21jdGxfc2No
ZWR1bGVyX29wOiBVbmtub3duIG9wICVkXG4iLCBvcCk7CisgICAgICAgIHByaW50aygiZmxhc2tf
c3lzY3RsX3NjaGVkdWxlcl9vcDogVW5rbm93biBvcCAlZFxuIiwgb3ApOwogICAgICAgICByZXR1
cm4gLUVQRVJNOwogICAgIH0KIH0KLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hv
bWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxv
Z0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:02 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYS1-00044P-Vw; Sat, 27 Feb 2016 06:34:01 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS1-00044E-4b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:01 +0000
Received: from [193.109.254.147] by server-4.bemta-14.messagelabs.com id
 97/FF-03301-85341D65; Sat, 27 Feb 2016 06:34:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456554838!27144568!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46115 invoked from network); 27 Feb 2016 06:33:59 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:33:59 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRy-0008Ca-JE
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYRy-0004Kb-GW
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:33:58 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYRy-0004Kb-GW@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:33:58 +0000
Subject: [Xen-changelog] [xen master] use XEN_SYSCTL_SCHEDOP_* for sysctl
	operation checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE0MGNiYjY5YzE1ZTBjYzY0NjkxMjFhZjRhYWE1M2Y0NjJmNjMzMTMKQXV0aG9yOiAg
ICAgSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpBdXRob3JEYXRlOiBXZWQgRmViIDI0
IDEyOjA1OjU4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA1OjU4IDIwMTYgKzAxMDAKCiAgICB1
c2UgWEVOX1NZU0NUTF9TQ0hFRE9QXyogZm9yIHN5c2N0bCBvcGVyYXRpb24gY2hlY2tzCiAgICAK
ICAgIEluIGZsYXNrX3N5c2N0bF9zY2hlZHVsZXJfb3AoKSBhbmQgc2NoZWRfYWRqdXN0X2dsb2Jh
bCgpIHRoZSB0ZXN0IGZvcgogICAgdGhlIGRlc2lyZWQgb3BlcmF0aW9uIGlzIGRvbmUgd2l0aCB0
aGUgd3JvbmcgY29uc3RhbnRzLiBXaGlsZSB0aGUKICAgIHZhbHVlcyBhcmUgY29ycmVjdCwgdGhl
IG5hbWVzIGFyZSBub3QuCiAgICAKICAgIENvcnJlY3QgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRo
ZSBjYXNlIG9mIGFuIHVua25vd24gb3BlcmF0aW9uIGluCiAgICBmbGFza19zeXNjdGxfc2NoZWR1
bGVyX29wKCksIHRvby4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5s
YXBAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j
b20+Ci0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jIHwgNCArKy0tCiB4ZW4veHNtL2ZsYXNrL2hv
b2tzLmMgfCA2ICsrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1v
bi9zY2hlZHVsZS5jCmluZGV4IDI3Njk1ZTMuLjQzNGRjZmMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t
b24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTExNzEsOCArMTE3
MSw4IEBAIGxvbmcgc2NoZWRfYWRqdXN0X2dsb2JhbChzdHJ1Y3QgeGVuX3N5c2N0bF9zY2hlZHVs
ZXJfb3AgKm9wKQogICAgIGlmICggcmMgKQogICAgICAgICByZXR1cm4gcmM7CiAKLSAgICBpZiAo
IChvcC0+Y21kICE9IFhFTl9ET01DVExfU0NIRURPUF9wdXRpbmZvKSAmJgotICAgICAgICAgKG9w
LT5jbWQgIT0gWEVOX0RPTUNUTF9TQ0hFRE9QX2dldGluZm8pICkKKyAgICBpZiAoIChvcC0+Y21k
ICE9IFhFTl9TWVNDVExfU0NIRURPUF9wdXRpbmZvKSAmJgorICAgICAgICAgKG9wLT5jbWQgIT0g
WEVOX1NZU0NUTF9TQ0hFRE9QX2dldGluZm8pICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK
ICAgICBwb29sID0gY3B1cG9vbF9nZXRfYnlfaWQob3AtPmNwdXBvb2xfaWQpOwpkaWZmIC0tZ2l0
IGEveGVuL3hzbS9mbGFzay9ob29rcy5jIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4IGY2
M2MzZTIuLjQ4MTM2MjMgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94
ZW4veHNtL2ZsYXNrL2hvb2tzLmMKQEAgLTUyOSwxNCArNTI5LDE0IEBAIHN0YXRpYyBpbnQgZmxh
c2tfc3lzY3RsX3NjaGVkdWxlcl9vcChpbnQgb3ApCiB7CiAgICAgc3dpdGNoICggb3AgKQogICAg
IHsKLSAgICBjYXNlIFhFTl9ET01DVExfU0NIRURPUF9wdXRpbmZvOgorICAgIGNhc2UgWEVOX1NZ
U0NUTF9TQ0hFRE9QX3B1dGluZm86CiAgICAgICAgIHJldHVybiBkb21haW5faGFzX3hlbihjdXJy
ZW50LT5kb21haW4sIFhFTl9fU0VUU0NIRURVTEVSKTsKIAotICAgIGNhc2UgWEVOX0RPTUNUTF9T
Q0hFRE9QX2dldGluZm86CisgICAgY2FzZSBYRU5fU1lTQ1RMX1NDSEVET1BfZ2V0aW5mbzoKICAg
ICAgICAgcmV0dXJuIGRvbWFpbl9oYXNfeGVuKGN1cnJlbnQtPmRvbWFpbiwgWEVOX19HRVRTQ0hF
RFVMRVIpOwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19kb21jdGxfc2No
ZWR1bGVyX29wOiBVbmtub3duIG9wICVkXG4iLCBvcCk7CisgICAgICAgIHByaW50aygiZmxhc2tf
c3lzY3RsX3NjaGVkdWxlcl9vcDogVW5rbm93biBvcCAlZFxuIiwgb3ApOwogICAgICAgICByZXR1
cm4gLUVQRVJNOwogICAgIH0KIH0KLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hv
bWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxv
Z0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSE-00047I-1l; Sat, 27 Feb 2016 06:34:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSD-000475-48
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:13 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 B1/AF-02980-46341D65; Sat, 27 Feb 2016 06:34:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456554849!18529172!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45258 invoked from network); 27 Feb 2016 06:34:10 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS9-0008DM-52
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS8-0004LB-WD
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYS8-0004LB-WD@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:08 +0000
Subject: [Xen-changelog] [xen master] xenoprof: drop unnecessary macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDdhOWRjMDc3MWExZjdlNzY4ZGQyN2RmM2NiMGI2MDc3ZjJjNTFkMzcKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBXZWQgRmVi
IDI0IDEyOjA2OjI4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA2OjI4IDIwMTYgKzAxMDAKCiAg
ICB4ZW5vcHJvZjogZHJvcCB1bm5lY2Vzc2FyeSBtYWNybwogICAgCiAgICBUaGlzIG1hY3JvIGRv
ZXNuJ3QgcmVhbGx5IHByb3ZpZGUgYSBiZW5lZml0LiBXaGVuIHN1cHBvcnQgaXMgYWRkZWQgdGhl
CiAgICBpbXBsZW1lbnRlciBjYW4gaW1wbGVtZW50IHRoaXMgaG93IGl0IG5lZWRzIHRvIGJlIGFu
ZCBub3QgY29uZm9ybSB0byB0aGUKICAgIG1hY3JvLiBBZGRpdGlvbmFsbHkgdGhpcyBjaGFuZ2Ug
bGltaXRzIHRoZSBvdXRwdXQgb2YgdGhlIHdhcm5pbmcgdG8ganVzdAogICAgb25jZSBpbnN0ZWFk
IG9mIG5ycGFnZXMgd29ydGguIFdoaWxlIGVkaXRpbmcgdGhpcyBhcmVhIEkgZHJvcHBlZAogICAg
dHJhaWxpbmcgd2hpdGVzcGFjZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBHb2xkc3Rl
aW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIHhlbi9jb21tb24veGVub3Byb2YuYyAgICAgICAgICB8IDcgKysr
KystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni94ZW5vcHJvZi5oIHwgOCAtLS0tLS0tLQogMiBmaWxl
cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3hlbi9jb21tb24veGVub3Byb2YuYyBiL3hlbi9jb21tb24veGVub3Byb2YuYwppbmRleCA3YTNm
Yzg2Li5hNWZlNjIwIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3hlbm9wcm9mLmMKKysrIGIveGVu
L2NvbW1vbi94ZW5vcHJvZi5jCkBAIC0xNzcsMTEgKzE3NywxNCBAQCB4ZW5vcHJvZl9zaGFyZWRf
Z21mbl93aXRoX2d1ZXN0KAogICAgIHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgbWFk
ZHIsIHVuc2lnbmVkIGxvbmcgZ21hZGRyLCBpbnQgbnBhZ2VzKQogewogICAgIGludCBpOwotICAg
IAorCiAgICAgZm9yICggaSA9IDA7IGkgPCBucGFnZXM7IGkrKywgbWFkZHIgKz0gUEFHRV9TSVpF
LCBnbWFkZHIgKz0gUEFHRV9TSVpFICkKICAgICB7CiAgICAgICAgIEJVR19PTihwYWdlX2dldF9v
d25lcihtYWRkcl90b19wYWdlKG1hZGRyKSkgIT0gZCk7Ci0gICAgICAgIHhlbm9wcm9mX3NoYXJl
ZF9nbWZuKGQsIGdtYWRkciwgbWFkZHIpOworICAgICAgICBpZiAoIGkgPT0gMCApCisgICAgICAg
ICAgICBnZHByaW50ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgICJ4ZW5v
cHJvZiB1bnN1cHBvcnRlZCB3aXRoIGF1dG90cmFuc2xhdGVkIGd1ZXN0c1xuIik7CisKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYveGVub3Byb2YuaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYveGVub3Byb2YuaAppbmRleCBkY2E0MjIzLi4zYTFiMDAxIDEwMDY0NAot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3hlbm9wcm9mLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt
LXg4Ni94ZW5vcHJvZi5oCkBAIC02MiwxNCArNjIsNiBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5v
cHJvZl9iYWNrdHJhY2Vfc3VwcG9ydGVkKHZvaWQpCiB2b2lkIHhlbm9wcm9mX2JhY2t0cmFjZShz
dHJ1Y3QgdmNwdSAqLCBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqLAogICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBkZXB0aCwgaW50IG1vZGUpOwogCi0jZGVmaW5lIHhl
bm9wcm9mX3NoYXJlZF9nbWZuKGQsIGdtYWRkciwgbWFkZHIpICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAodm9pZCkobWFkZHIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGdkcHJpbnRrKFhFTkxPR19X
QVJOSU5HLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgInhlbm9wcm9mL3g4NiB3aXRoIGF1dG90cmFuc2xhdGVkIG1vZGUgZW5hYmxlZCIgICAg
XAotICAgICAgICAgICAgICAgICAiaXNuJ3Qgc3VwcG9ydGVkIHlldFxuIik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgfSB3aGlsZSAoMCkKLQogaW50IHBhc3NpdmVfZG9tYWluX2Rv
X3JkbXNyKHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCk7CiBpbnQgcGFz
c2l2ZV9kb21haW5fZG9fd3Jtc3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRl
bnQpOwogdm9pZCBwYXNzaXZlX2RvbWFpbl9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KTsKLS0KZ2Vu
ZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:14 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSE-00047I-1l; Sat, 27 Feb 2016 06:34:14 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSD-000475-48
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:13 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 B1/AF-02980-46341D65; Sat, 27 Feb 2016 06:34:12 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-27.messagelabs.com!1456554849!18529172!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 45258 invoked from network); 27 Feb 2016 06:34:10 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-11.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS9-0008DM-52
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYS8-0004LB-WD
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYS8-0004LB-WD@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:08 +0000
Subject: [Xen-changelog] [xen master] xenoprof: drop unnecessary macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDdhOWRjMDc3MWExZjdlNzY4ZGQyN2RmM2NiMGI2MDc3ZjJjNTFkMzcKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBXZWQgRmVi
IDI0IDEyOjA2OjI4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBXZWQgRmViIDI0IDEyOjA2OjI4IDIwMTYgKzAxMDAKCiAg
ICB4ZW5vcHJvZjogZHJvcCB1bm5lY2Vzc2FyeSBtYWNybwogICAgCiAgICBUaGlzIG1hY3JvIGRv
ZXNuJ3QgcmVhbGx5IHByb3ZpZGUgYSBiZW5lZml0LiBXaGVuIHN1cHBvcnQgaXMgYWRkZWQgdGhl
CiAgICBpbXBsZW1lbnRlciBjYW4gaW1wbGVtZW50IHRoaXMgaG93IGl0IG5lZWRzIHRvIGJlIGFu
ZCBub3QgY29uZm9ybSB0byB0aGUKICAgIG1hY3JvLiBBZGRpdGlvbmFsbHkgdGhpcyBjaGFuZ2Ug
bGltaXRzIHRoZSBvdXRwdXQgb2YgdGhlIHdhcm5pbmcgdG8ganVzdAogICAgb25jZSBpbnN0ZWFk
IG9mIG5ycGFnZXMgd29ydGguIFdoaWxlIGVkaXRpbmcgdGhpcyBhcmVhIEkgZHJvcHBlZAogICAg
dHJhaWxpbmcgd2hpdGVzcGFjZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBHb2xkc3Rl
aW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIHhlbi9jb21tb24veGVub3Byb2YuYyAgICAgICAgICB8IDcgKysr
KystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni94ZW5vcHJvZi5oIHwgOCAtLS0tLS0tLQogMiBmaWxl
cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3hlbi9jb21tb24veGVub3Byb2YuYyBiL3hlbi9jb21tb24veGVub3Byb2YuYwppbmRleCA3YTNm
Yzg2Li5hNWZlNjIwIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3hlbm9wcm9mLmMKKysrIGIveGVu
L2NvbW1vbi94ZW5vcHJvZi5jCkBAIC0xNzcsMTEgKzE3NywxNCBAQCB4ZW5vcHJvZl9zaGFyZWRf
Z21mbl93aXRoX2d1ZXN0KAogICAgIHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgbWFk
ZHIsIHVuc2lnbmVkIGxvbmcgZ21hZGRyLCBpbnQgbnBhZ2VzKQogewogICAgIGludCBpOwotICAg
IAorCiAgICAgZm9yICggaSA9IDA7IGkgPCBucGFnZXM7IGkrKywgbWFkZHIgKz0gUEFHRV9TSVpF
LCBnbWFkZHIgKz0gUEFHRV9TSVpFICkKICAgICB7CiAgICAgICAgIEJVR19PTihwYWdlX2dldF9v
d25lcihtYWRkcl90b19wYWdlKG1hZGRyKSkgIT0gZCk7Ci0gICAgICAgIHhlbm9wcm9mX3NoYXJl
ZF9nbWZuKGQsIGdtYWRkciwgbWFkZHIpOworICAgICAgICBpZiAoIGkgPT0gMCApCisgICAgICAg
ICAgICBnZHByaW50ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgICJ4ZW5v
cHJvZiB1bnN1cHBvcnRlZCB3aXRoIGF1dG90cmFuc2xhdGVkIGd1ZXN0c1xuIik7CisKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYveGVub3Byb2YuaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYveGVub3Byb2YuaAppbmRleCBkY2E0MjIzLi4zYTFiMDAxIDEwMDY0NAot
LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3hlbm9wcm9mLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt
LXg4Ni94ZW5vcHJvZi5oCkBAIC02MiwxNCArNjIsNiBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5v
cHJvZl9iYWNrdHJhY2Vfc3VwcG9ydGVkKHZvaWQpCiB2b2lkIHhlbm9wcm9mX2JhY2t0cmFjZShz
dHJ1Y3QgdmNwdSAqLCBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqLAogICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBkZXB0aCwgaW50IG1vZGUpOwogCi0jZGVmaW5lIHhl
bm9wcm9mX3NoYXJlZF9nbWZuKGQsIGdtYWRkciwgbWFkZHIpICAgICAgICAgICAgICAgICAgICAg
IFwKLSAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgICAgICAodm9pZCkobWFkZHIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGdkcHJpbnRrKFhFTkxPR19X
QVJOSU5HLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAg
ICAgICAgInhlbm9wcm9mL3g4NiB3aXRoIGF1dG90cmFuc2xhdGVkIG1vZGUgZW5hYmxlZCIgICAg
XAotICAgICAgICAgICAgICAgICAiaXNuJ3Qgc3VwcG9ydGVkIHlldFxuIik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCi0gICAgfSB3aGlsZSAoMCkKLQogaW50IHBhc3NpdmVfZG9tYWluX2Rv
X3JkbXNyKHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCk7CiBpbnQgcGFz
c2l2ZV9kb21haW5fZG9fd3Jtc3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRl
bnQpOwogdm9pZCBwYXNzaXZlX2RvbWFpbl9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KTsKLS0KZ2Vu
ZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSN-000499-3a; Sat, 27 Feb 2016 06:34:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSM-00048l-15
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:22 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
 9D/ED-02994-D6341D65; Sat, 27 Feb 2016 06:34:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554859!10938002!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56714 invoked from network); 27 Feb 2016 06:34:20 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSJ-0008DX-Ji
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSJ-0004M5-Ef
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSJ-0004M5-Ef@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:19 +0000
Subject: [Xen-changelog] [xen master] version: Document guest_handle
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDI3Yjc0YjkyODM3MjJkZDcxYTdmMDkxNWVmZDQyMzhmNjVmOGY1YzMKQXV0aG9yOiAg
ICAgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpBdXRob3JE
YXRlOiBGcmkgRmViIDE5IDA5OjI2OjAyIDIwMTYgLTA1MDAKQ29tbWl0OiAgICAgS29ucmFkIFJ6
ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDb21taXREYXRlOiBXZWQgRmVi
IDI0IDEwOjU1OjI5IDIwMTYgLTA1MDAKCiAgICB2ZXJzaW9uOiBEb2N1bWVudCBndWVzdF9oYW5k
bGUKICAgIAogICAgQW5kIHdoYXQgaXQgaXMgdXN1YWxseSB1c2VkIGZvci4KICAgIAogICAgU2ln
bmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29t
PgogICAgUmV2aWV3ZWQtYnk6IFJhenZhbiBDb2pvY2FydSA8cmNvam9jYXJ1QGJpdGRlZmVuZGVy
LmNvbT4KICAgIEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQog
eGVuL2luY2x1ZGUvcHVibGljL3ZlcnNpb24uaCB8IDYgKysrKystCiAxIGZpbGUgY2hhbmdlZCwg
NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
cHVibGljL3ZlcnNpb24uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmgKaW5kZXggNDRm
MjZiMC4uMjRhNTgyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3ZlcnNpb24uaAor
KysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oCkBAIC03Nyw3ICs3NywxMSBAQCB0eXBl
ZGVmIHN0cnVjdCB4ZW5fZmVhdHVyZV9pbmZvIHhlbl9mZWF0dXJlX2luZm9fdDsKIC8qIGFyZyA9
PSBOVUxMOyByZXR1cm5zIGhvc3QgbWVtb3J5IHBhZ2Ugc2l6ZS4gKi8KICNkZWZpbmUgWEVOVkVS
X3BhZ2VzaXplIDcKIAotLyogYXJnID09IHhlbl9kb21haW5faGFuZGxlX3QuICovCisvKiBhcmcg
PT0geGVuX2RvbWFpbl9oYW5kbGVfdC4KKyAqCisgKiBUaGUgdG9vbHN0YWNrIGZpbGxzIGl0IG91
dCBmb3IgZ3Vlc3QgY29uc3VtcHRpb24uIEl0IGlzIGludGVuZGVkIHRvIGhvbGQKKyAqIHRoZSBV
VUlEIG9mIHRoZSBndWVzdC4KKyAqLwogI2RlZmluZSBYRU5WRVJfZ3Vlc3RfaGFuZGxlIDgKIAog
I2RlZmluZSBYRU5WRVJfY29tbWFuZGxpbmUgOQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:23 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSN-000499-3a; Sat, 27 Feb 2016 06:34:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSM-00048l-15
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:22 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
 9D/ED-02994-D6341D65; Sat, 27 Feb 2016 06:34:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554859!10938002!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56714 invoked from network); 27 Feb 2016 06:34:20 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:20 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSJ-0008DX-Ji
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSJ-0004M5-Ef
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:19 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSJ-0004M5-Ef@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:19 +0000
Subject: [Xen-changelog] [xen master] version: Document guest_handle
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDI3Yjc0YjkyODM3MjJkZDcxYTdmMDkxNWVmZDQyMzhmNjVmOGY1YzMKQXV0aG9yOiAg
ICAgS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpBdXRob3JE
YXRlOiBGcmkgRmViIDE5IDA5OjI2OjAyIDIwMTYgLTA1MDAKQ29tbWl0OiAgICAgS29ucmFkIFJ6
ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDb21taXREYXRlOiBXZWQgRmVi
IDI0IDEwOjU1OjI5IDIwMTYgLTA1MDAKCiAgICB2ZXJzaW9uOiBEb2N1bWVudCBndWVzdF9oYW5k
bGUKICAgIAogICAgQW5kIHdoYXQgaXQgaXMgdXN1YWxseSB1c2VkIGZvci4KICAgIAogICAgU2ln
bmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29t
PgogICAgUmV2aWV3ZWQtYnk6IFJhenZhbiBDb2pvY2FydSA8cmNvam9jYXJ1QGJpdGRlZmVuZGVy
LmNvbT4KICAgIEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQog
eGVuL2luY2x1ZGUvcHVibGljL3ZlcnNpb24uaCB8IDYgKysrKystCiAxIGZpbGUgY2hhbmdlZCwg
NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
cHVibGljL3ZlcnNpb24uaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy92ZXJzaW9uLmgKaW5kZXggNDRm
MjZiMC4uMjRhNTgyZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3ZlcnNpb24uaAor
KysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvdmVyc2lvbi5oCkBAIC03Nyw3ICs3NywxMSBAQCB0eXBl
ZGVmIHN0cnVjdCB4ZW5fZmVhdHVyZV9pbmZvIHhlbl9mZWF0dXJlX2luZm9fdDsKIC8qIGFyZyA9
PSBOVUxMOyByZXR1cm5zIGhvc3QgbWVtb3J5IHBhZ2Ugc2l6ZS4gKi8KICNkZWZpbmUgWEVOVkVS
X3BhZ2VzaXplIDcKIAotLyogYXJnID09IHhlbl9kb21haW5faGFuZGxlX3QuICovCisvKiBhcmcg
PT0geGVuX2RvbWFpbl9oYW5kbGVfdC4KKyAqCisgKiBUaGUgdG9vbHN0YWNrIGZpbGxzIGl0IG91
dCBmb3IgZ3Vlc3QgY29uc3VtcHRpb24uIEl0IGlzIGludGVuZGVkIHRvIGhvbGQKKyAqIHRoZSBV
VUlEIG9mIHRoZSBndWVzdC4KKyAqLwogI2RlZmluZSBYRU5WRVJfZ3Vlc3RfaGFuZGxlIDgKIAog
I2RlZmluZSBYRU5WRVJfY29tbWFuZGxpbmUgOQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSY-0004Ao-7y; Sat, 27 Feb 2016 06:34:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSX-0004Ad-09
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:33 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
 65/DE-02979-87341D65; Sat, 27 Feb 2016 06:34:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456554870!27116495!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61974 invoked from network); 27 Feb 2016 06:34:31 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSU-0008Dv-CY
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSU-0004MW-6J
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSU-0004MW-6J@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:30 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: collect information of TSC
	scaling ratio
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGIwYzBjZTkwZWVjNTNhMDMxYzgzYWQ3MGMzMTgxYmZiOTJlYzhiN2QKQXV0aG9yOiAg
ICAgSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMDoxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMDoxMSAyMDE2ICsw
MTAwCgogICAgeDg2L2h2bTogY29sbGVjdCBpbmZvcm1hdGlvbiBvZiBUU0Mgc2NhbGluZyByYXRp
bwogICAgCiAgICBCb3RoIFZNWCBUU0Mgc2NhbGluZyBhbmQgU1ZNIFRTQyByYXRpbyB1c2UgdGhl
IDY0LWJpdCBUU0Mgc2NhbGluZyByYXRpbywKICAgIGJ1dCB0aGUgbnVtYmVyIG9mIGZyYWN0aW9u
YWwgYml0cyBvZiB0aGUgcmF0aW8gaXMgZGlmZmVyZW50IGJldHdlZW4gVk1YCiAgICBhbmQgU1ZN
LiBUaGlzIHBhdGNoIGFkZHMgdGhlIGFyY2hpdGVjdHVyZSBjb2RlIHRvIGNvbGxlY3QgdGhlIG51
bWJlciBvZgogICAgZnJhY3Rpb25hbCBiaXRzIGFuZCBvdGhlciByZWxhdGVkIGluZm9ybWF0aW9u
IGludG8gZmllbGRzIG9mIHN0cnVjdAogICAgaHZtX2Z1bmN0aW9uX3RhYmxlIHNvIHRoYXQgdGhl
eSBjYW4gYmUgdXNlZCBpbiB0aGUgY29tbW9uIGNvZGUuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6
IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEJvcmlz
IE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2
L2h2bS9odm0uYyAgICAgICAgfCAgOSArKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2
bS5jICAgIHwgIDggKysrKysrKy0KIHhlbi9hcmNoL3g4Ni90aW1lLmMgICAgICAgICAgIHwgMTIg
KysrKysrLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCB8IDE2ICsrKysrKysr
KysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaHZtLmMKaW5kZXggZmIyZDgxYi4uNTU2MDcxYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC02MCw3ICs2MCw2IEBA
CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0uaD4KICNpbmNsdWRlIDxhc20vaHZtL2V2ZW50
Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS92bXgvdm14Lmg+Ci0jaW5jbHVkZSA8YXNtL2h2bS9zdm0v
c3ZtLmg+IC8qIGZvciBjcHVfaGFzX3RzY19yYXRpbyAqLwogI2luY2x1ZGUgPGFzbS9hbHRwMm0u
aD4KICNpbmNsdWRlIDxhc20vbXRyci5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CkBAIC0zMTIs
OCArMzExLDggQEAgdm9pZCBodm1fc2V0X2d1ZXN0X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwg
dTY0IGd1ZXN0X3RzYywgdTY0IGF0X3RzYykKICAgICBlbHNlCiAgICAgewogICAgICAgICB0c2Mg
PSBhdF90c2MgPzogcmR0c2MoKTsKLSAgICAgICAgaWYgKCBjcHVfaGFzX3RzY19yYXRpbyApCi0g
ICAgICAgICAgICB0c2MgPSBodm1fZnVuY3Muc2NhbGVfdHNjKHYsIHRzYyk7CisgICAgICAgIGlm
ICggaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCApCisgICAgICAgICAgICB0c2MgPSBodm1fZnVu
Y3MudHNjX3NjYWxpbmcuc2NhbGVfdHNjKHYsIHRzYyk7CiAgICAgfQogCiAgICAgZGVsdGFfdHNj
ID0gZ3Vlc3RfdHNjIC0gdHNjOwpAQCAtMzQ0LDggKzM0Myw4IEBAIHU2NCBodm1fZ2V0X2d1ZXN0
X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgYXRfdHNjKQogICAgIGVsc2UKICAg
ICB7CiAgICAgICAgIHRzYyA9IGF0X3RzYyA/OiByZHRzYygpOwotICAgICAgICBpZiAoIGNwdV9o
YXNfdHNjX3JhdGlvICkKLSAgICAgICAgICAgIHRzYyA9IGh2bV9mdW5jcy5zY2FsZV90c2Modiwg
dHNjKTsKKyAgICAgICAgaWYgKCBodm1fdHNjX3NjYWxpbmdfc3VwcG9ydGVkICkKKyAgICAgICAg
ICAgIHRzYyA9IGh2bV9mdW5jcy50c2Nfc2NhbGluZy5zY2FsZV90c2ModiwgdHNjKTsKICAgICB9
CiAKICAgICByZXR1cm4gdHNjICsgdi0+YXJjaC5odm1fdmNwdS5jYWNoZV90c2Nfb2Zmc2V0Owpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJjaC94ODYvaHZt
L3N2bS9zdm0uYwppbmRleCBlNjJkZmExLi5iMjJkNGExIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvaHZtL3N2bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwpAQCAtMTQ2
NSw2ICsxNDY1LDkgQEAgY29uc3Qgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSAqIF9faW5pdCBz
dGFydF9zdm0odm9pZCkKICAgICBpZiAoICFjcHVfaGFzX3N2bV9ucmlwcyApCiAgICAgICAgIGNs
ZWFyX2JpdChTVk1fRkVBVFVSRV9ERUNPREVBU1NJU1RTLCAmc3ZtX2ZlYXR1cmVfZmxhZ3MpOwog
CisgICAgaWYgKCBjcHVfaGFzX3RzY19yYXRpbyApCisgICAgICAgIHN2bV9mdW5jdGlvbl90YWJs
ZS50c2Nfc2NhbGluZy5yYXRpb19mcmFjX2JpdHMgPSAzMjsKKwogI2RlZmluZSBQKHAscykgaWYg
KCBwICkgeyBwcmludGsoIiAtICVzXG4iLCBzKTsgcHJpbnRlZCA9IDE7IH0KICAgICBQKGNwdV9o
YXNfc3ZtX25wdCwgIk5lc3RlZCBQYWdlIFRhYmxlcyAoTlBUKSIpOwogICAgIFAoY3B1X2hhc19z
dm1fbGJydiwgIkxhc3QgQnJhbmNoIFJlY29yZCAoTEJSKSBWaXJ0dWFsaXNhdGlvbiIpOwpAQCAt
MjI4Niw3ICsyMjg5LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5p
dGRhdGEgc3ZtX2Z1bmN0aW9uX3RhYmxlID0gewogICAgIC5uaHZtX2ludHJfYmxvY2tlZCA9IG5z
dm1faW50cl9ibG9ja2VkLAogICAgIC5uaHZtX2hhcF93YWxrX0wxX3AybSA9IG5zdm1faGFwX3dh
bGtfTDFfcDJtLAogCi0gICAgLnNjYWxlX3RzYyAgICAgICAgICAgID0gc3ZtX3NjYWxlX3RzYywK
KyAgICAudHNjX3NjYWxpbmcgPSB7CisgICAgICAgIC5tYXhfcmF0aW8gPSB+VFNDX1JBVElPX1JT
VkRfQklUUywKKyAgICAgICAgLnNjYWxlX3RzYyA9IHN2bV9zY2FsZV90c2MsCisgICAgfSwKIH07
CiAKIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RpbWUuYyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKaW5k
ZXggNTgxOWI5Zi4uMjI0OGRmYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RpbWUuYworKysg
Yi94ZW4vYXJjaC94ODYvdGltZS5jCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8YXNtL2hw
ZXQuaD4KICNpbmNsdWRlIDxpb19wb3J0cy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPiAvKiBm
b3IgZWFybHlfdGltZV9pbml0ICovCi0jaW5jbHVkZSA8YXNtL2h2bS9zdm0vc3ZtLmg+IC8qIGZv
ciBjcHVfaGFzX3RzY19yYXRpbyAqLwogI2luY2x1ZGUgPHB1YmxpYy9hcmNoLXg4Ni9jcHVpZC5o
PgogCiAvKiBvcHRfY2xvY2tzb3VyY2U6IEZvcmNlIGNsb2Nrc291cmNlIHRvIG9uZSBvZjogcGl0
LCBocGV0LCBhY3BpLiAqLwpAQCAtODE1LDkgKzgxNCwxMCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0
ZV92Y3B1X3N5c3RlbV90aW1lKHN0cnVjdCB2Y3B1ICp2LCBpbnQgZm9yY2UpCiAgICAgfQogICAg
IGVsc2UKICAgICB7Ci0gICAgICAgIGlmICggaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQpICYm
IGNwdV9oYXNfdHNjX3JhdGlvICkKKyAgICAgICAgaWYgKCBoYXNfaHZtX2NvbnRhaW5lcl9kb21h
aW4oZCkgJiYgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCApCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHRzY19zdGFtcCAgICAgICAgICAgID0gaHZtX2Z1bmNzLnNjYWxlX3RzYyh2LCB0LT5sb2Nh
bF90c2Nfc3RhbXApOworICAgICAgICAgICAgdHNjX3N0YW1wICAgICAgICAgICAgPQorICAgICAg
ICAgICAgICAgIGh2bV9mdW5jcy50c2Nfc2NhbGluZy5zY2FsZV90c2ModiwgdC0+bG9jYWxfdHNj
X3N0YW1wKTsKICAgICAgICAgICAgIF91LnRzY190b19zeXN0ZW1fbXVsID0gZC0+YXJjaC52dHNj
X3RvX25zLm11bF9mcmFjOwogICAgICAgICAgICAgX3UudHNjX3NoaWZ0ICAgICAgICAgPSBkLT5h
cmNoLnZ0c2NfdG9fbnMuc2hpZnQ7CiAgICAgICAgIH0KQEAgLTE3NTgsNyArMTc1OCw3IEBAIHZv
aWQgdHNjX2dldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwKICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbikKIHsKICAgICBib29sX3QgZW5h
YmxlX3RzY19zY2FsaW5nID0gaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQpICYmCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV9oYXNfdHNjX3JhdGlvICYmICFkLT5hcmNoLnZ0
c2M7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh2bV90c2Nfc2NhbGluZ19zdXBw
b3J0ZWQgJiYgIWQtPmFyY2gudnRzYzsKIAogICAgICppbmNhcm5hdGlvbiA9IGQtPmFyY2guaW5j
YXJuYXRpb247CiAgICAgKnRzY19tb2RlID0gZC0+YXJjaC50c2NfbW9kZTsKQEAgLTE4NjUsNyAr
MTg2NSw3IEBAIHZvaWQgdHNjX3NldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAq
LwogICAgICAgICBpZiAoIHRzY19tb2RlID09IFRTQ19NT0RFX0RFRkFVTFQgJiYgaG9zdF90c2Nf
aXNfc2FmZSgpICYmCiAgICAgICAgICAgICAgKGhhc19odm1fY29udGFpbmVyX2RvbWFpbihkKSA/
Ci0gICAgICAgICAgICAgIGQtPmFyY2gudHNjX2toeiA9PSBjcHVfa2h6IHx8IGNwdV9oYXNfdHNj
X3JhdGlvIDoKKyAgICAgICAgICAgICAgZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHogfHwgaHZt
X3RzY19zY2FsaW5nX3N1cHBvcnRlZCA6CiAgICAgICAgICAgICAgIGluY2FybmF0aW9uID09IDAp
ICkKICAgICAgICAgewogICAgIGNhc2UgVFNDX01PREVfTkVWRVJfRU1VTEFURToKQEAgLTE4Nzks
NyArMTg3OSw3IEBAIHZvaWQgdHNjX3NldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
IGQtPmFyY2gudnRzYyA9ICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUkRUU0NQKSB8fAogICAg
ICAgICAgICAgICAgICAgICAgICAhaG9zdF90c2NfaXNfc2FmZSgpOwogICAgICAgICBlbmFibGVf
dHNjX3NjYWxpbmcgPSBoYXNfaHZtX2NvbnRhaW5lcl9kb21haW4oZCkgJiYKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY3B1X2hhc190c2NfcmF0aW8gJiYgIWQtPmFyY2gudnRzYzsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCAmJiAh
ZC0+YXJjaC52dHNjOwogICAgICAgICBkLT5hcmNoLnRzY19raHogPSAoZW5hYmxlX3RzY19zY2Fs
aW5nICYmIGd0c2Nfa2h6KSA/IGd0c2Nfa2h6IDogY3B1X2toejsKICAgICAgICAgc2V0X3RpbWVf
c2NhbGUoJmQtPmFyY2gudnRzY190b19ucywgZC0+YXJjaC50c2Nfa2h6ICogMTAwMCApOwogICAg
ICAgICBkLT5hcmNoLm5zX3RvX3Z0c2MgPSBzY2FsZV9yZWNpcHJvY2FsKGQtPmFyY2gudnRzY190
b19ucyk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCmluZGV4IDE0OWZlMWMuLjgyZDBmOWQgMTAwNjQ0Ci0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvaHZtL2h2bS5oCkBAIC0yMjIsNyArMjIyLDE4IEBAIHN0cnVjdCBodm1fZnVuY3Rpb25fdGFi
bGUgewogICAgIGJvb2xfdCAoKmFsdHAybV92Y3B1X2VtdWxhdGVfdmUpKHN0cnVjdCB2Y3B1ICp2
KTsKICAgICBpbnQgKCphbHRwMm1fdmNwdV9lbXVsYXRlX3ZtZnVuYykoc3RydWN0IGNwdV91c2Vy
X3JlZ3MgKnJlZ3MpOwogCi0gICAgdWludDY0X3QgKCpzY2FsZV90c2MpKGNvbnN0IHN0cnVjdCB2
Y3B1ICp2LCB1aW50NjRfdCB0c2MpOworICAgIC8qCisgICAgICogUGFyYW1ldGVycyBhbmQgY2Fs
bGJhY2tzIGZvciBoYXJkd2FyZS1hc3Npc3RlZCBUU0Mgc2NhbGluZywKKyAgICAgKiB3aGljaCBh
cmUgdmFsaWQgb25seSB3aGVuIHRoZSBoYXJkd2FyZSBmZWF0dXJlIGlzIGF2YWlsYWJsZS4KKyAg
ICAgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiBudW1iZXIgb2YgYml0cyBvZiB0aGUgZnJh
Y3Rpb25hbCBwYXJ0IG9mIFRTQyBzY2FsaW5nIHJhdGlvICovCisgICAgICAgIHVpbnQ4X3QgIHJh
dGlvX2ZyYWNfYml0czsKKyAgICAgICAgLyogbWF4aW11bS1hbGxvd2VkIFRTQyBzY2FsaW5nIHJh
dGlvICovCisgICAgICAgIHVpbnQ2NF90IG1heF9yYXRpbzsKKworICAgICAgICB1aW50NjRfdCAo
KnNjYWxlX3RzYykoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90IHRzYyk7CisgICAgfSB0
c2Nfc2NhbGluZzsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIGh2bV9m
dW5jczsKQEAgLTI1OCw2ICsyNjksOSBAQCB2b2lkIGh2bV9zZXRfZ3Vlc3RfdHNjX2ZpeGVkKHN0
cnVjdCB2Y3B1ICp2LCB1NjQgZ3Vlc3RfdHNjLCB1NjQgYXRfdHNjKTsKIHU2NCBodm1fZ2V0X2d1
ZXN0X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwgdTY0IGF0X3RzYyk7CiAjZGVmaW5lIGh2bV9n
ZXRfZ3Vlc3RfdHNjKHYpIGh2bV9nZXRfZ3Vlc3RfdHNjX2ZpeGVkKHYsIDApCiAKKyNkZWZpbmUg
aHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCBcCisgICAgKCEhaHZtX2Z1bmNzLnRzY19zY2FsaW5n
LnJhdGlvX2ZyYWNfYml0cykKKwogaW50IGh2bV9zZXRfbW9kZShzdHJ1Y3QgdmNwdSAqdiwgaW50
IG1vZGUpOwogdm9pZCBodm1faW5pdF9ndWVzdF90aW1lKHN0cnVjdCBkb21haW4gKmQpOwogdm9p
ZCBodm1fc2V0X2d1ZXN0X3RpbWUoc3RydWN0IHZjcHUgKnYsIHU2NCBndWVzdF90aW1lKTsKLS0K
Z2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3Rl
cgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNo
YW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s
aXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:34 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSY-0004Ao-7y; Sat, 27 Feb 2016 06:34:34 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSX-0004Ad-09
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:33 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
 65/DE-02979-87341D65; Sat, 27 Feb 2016 06:34:32 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456554870!27116495!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61974 invoked from network); 27 Feb 2016 06:34:31 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSU-0008Dv-CY
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSU-0004MW-6J
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSU-0004MW-6J@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:30 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: collect information of TSC
	scaling ratio
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGIwYzBjZTkwZWVjNTNhMDMxYzgzYWQ3MGMzMTgxYmZiOTJlYzhiN2QKQXV0aG9yOiAg
ICAgSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMDoxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMDoxMSAyMDE2ICsw
MTAwCgogICAgeDg2L2h2bTogY29sbGVjdCBpbmZvcm1hdGlvbiBvZiBUU0Mgc2NhbGluZyByYXRp
bwogICAgCiAgICBCb3RoIFZNWCBUU0Mgc2NhbGluZyBhbmQgU1ZNIFRTQyByYXRpbyB1c2UgdGhl
IDY0LWJpdCBUU0Mgc2NhbGluZyByYXRpbywKICAgIGJ1dCB0aGUgbnVtYmVyIG9mIGZyYWN0aW9u
YWwgYml0cyBvZiB0aGUgcmF0aW8gaXMgZGlmZmVyZW50IGJldHdlZW4gVk1YCiAgICBhbmQgU1ZN
LiBUaGlzIHBhdGNoIGFkZHMgdGhlIGFyY2hpdGVjdHVyZSBjb2RlIHRvIGNvbGxlY3QgdGhlIG51
bWJlciBvZgogICAgZnJhY3Rpb25hbCBiaXRzIGFuZCBvdGhlciByZWxhdGVkIGluZm9ybWF0aW9u
IGludG8gZmllbGRzIG9mIHN0cnVjdAogICAgaHZtX2Z1bmN0aW9uX3RhYmxlIHNvIHRoYXQgdGhl
eSBjYW4gYmUgdXNlZCBpbiB0aGUgY29tbW9uIGNvZGUuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6
IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+CiAgICBSZXZpZXdlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEJvcmlz
IE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2
L2h2bS9odm0uYyAgICAgICAgfCAgOSArKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2
bS5jICAgIHwgIDggKysrKysrKy0KIHhlbi9hcmNoL3g4Ni90aW1lLmMgICAgICAgICAgIHwgMTIg
KysrKysrLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCB8IDE2ICsrKysrKysr
KysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9o
dm0vaHZtLmMKaW5kZXggZmIyZDgxYi4uNTU2MDcxYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC02MCw3ICs2MCw2IEBA
CiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0uaD4KICNpbmNsdWRlIDxhc20vaHZtL2V2ZW50
Lmg+CiAjaW5jbHVkZSA8YXNtL2h2bS92bXgvdm14Lmg+Ci0jaW5jbHVkZSA8YXNtL2h2bS9zdm0v
c3ZtLmg+IC8qIGZvciBjcHVfaGFzX3RzY19yYXRpbyAqLwogI2luY2x1ZGUgPGFzbS9hbHRwMm0u
aD4KICNpbmNsdWRlIDxhc20vbXRyci5oPgogI2luY2x1ZGUgPGFzbS9hcGljLmg+CkBAIC0zMTIs
OCArMzExLDggQEAgdm9pZCBodm1fc2V0X2d1ZXN0X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwg
dTY0IGd1ZXN0X3RzYywgdTY0IGF0X3RzYykKICAgICBlbHNlCiAgICAgewogICAgICAgICB0c2Mg
PSBhdF90c2MgPzogcmR0c2MoKTsKLSAgICAgICAgaWYgKCBjcHVfaGFzX3RzY19yYXRpbyApCi0g
ICAgICAgICAgICB0c2MgPSBodm1fZnVuY3Muc2NhbGVfdHNjKHYsIHRzYyk7CisgICAgICAgIGlm
ICggaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCApCisgICAgICAgICAgICB0c2MgPSBodm1fZnVu
Y3MudHNjX3NjYWxpbmcuc2NhbGVfdHNjKHYsIHRzYyk7CiAgICAgfQogCiAgICAgZGVsdGFfdHNj
ID0gZ3Vlc3RfdHNjIC0gdHNjOwpAQCAtMzQ0LDggKzM0Myw4IEBAIHU2NCBodm1fZ2V0X2d1ZXN0
X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgYXRfdHNjKQogICAgIGVsc2UKICAg
ICB7CiAgICAgICAgIHRzYyA9IGF0X3RzYyA/OiByZHRzYygpOwotICAgICAgICBpZiAoIGNwdV9o
YXNfdHNjX3JhdGlvICkKLSAgICAgICAgICAgIHRzYyA9IGh2bV9mdW5jcy5zY2FsZV90c2Modiwg
dHNjKTsKKyAgICAgICAgaWYgKCBodm1fdHNjX3NjYWxpbmdfc3VwcG9ydGVkICkKKyAgICAgICAg
ICAgIHRzYyA9IGh2bV9mdW5jcy50c2Nfc2NhbGluZy5zY2FsZV90c2ModiwgdHNjKTsKICAgICB9
CiAKICAgICByZXR1cm4gdHNjICsgdi0+YXJjaC5odm1fdmNwdS5jYWNoZV90c2Nfb2Zmc2V0Owpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJjaC94ODYvaHZt
L3N2bS9zdm0uYwppbmRleCBlNjJkZmExLi5iMjJkNGExIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvaHZtL3N2bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwpAQCAtMTQ2
NSw2ICsxNDY1LDkgQEAgY29uc3Qgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSAqIF9faW5pdCBz
dGFydF9zdm0odm9pZCkKICAgICBpZiAoICFjcHVfaGFzX3N2bV9ucmlwcyApCiAgICAgICAgIGNs
ZWFyX2JpdChTVk1fRkVBVFVSRV9ERUNPREVBU1NJU1RTLCAmc3ZtX2ZlYXR1cmVfZmxhZ3MpOwog
CisgICAgaWYgKCBjcHVfaGFzX3RzY19yYXRpbyApCisgICAgICAgIHN2bV9mdW5jdGlvbl90YWJs
ZS50c2Nfc2NhbGluZy5yYXRpb19mcmFjX2JpdHMgPSAzMjsKKwogI2RlZmluZSBQKHAscykgaWYg
KCBwICkgeyBwcmludGsoIiAtICVzXG4iLCBzKTsgcHJpbnRlZCA9IDE7IH0KICAgICBQKGNwdV9o
YXNfc3ZtX25wdCwgIk5lc3RlZCBQYWdlIFRhYmxlcyAoTlBUKSIpOwogICAgIFAoY3B1X2hhc19z
dm1fbGJydiwgIkxhc3QgQnJhbmNoIFJlY29yZCAoTEJSKSBWaXJ0dWFsaXNhdGlvbiIpOwpAQCAt
MjI4Niw3ICsyMjg5LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5p
dGRhdGEgc3ZtX2Z1bmN0aW9uX3RhYmxlID0gewogICAgIC5uaHZtX2ludHJfYmxvY2tlZCA9IG5z
dm1faW50cl9ibG9ja2VkLAogICAgIC5uaHZtX2hhcF93YWxrX0wxX3AybSA9IG5zdm1faGFwX3dh
bGtfTDFfcDJtLAogCi0gICAgLnNjYWxlX3RzYyAgICAgICAgICAgID0gc3ZtX3NjYWxlX3RzYywK
KyAgICAudHNjX3NjYWxpbmcgPSB7CisgICAgICAgIC5tYXhfcmF0aW8gPSB+VFNDX1JBVElPX1JT
VkRfQklUUywKKyAgICAgICAgLnNjYWxlX3RzYyA9IHN2bV9zY2FsZV90c2MsCisgICAgfSwKIH07
CiAKIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQpk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RpbWUuYyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKaW5k
ZXggNTgxOWI5Zi4uMjI0OGRmYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RpbWUuYworKysg
Yi94ZW4vYXJjaC94ODYvdGltZS5jCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8YXNtL2hw
ZXQuaD4KICNpbmNsdWRlIDxpb19wb3J0cy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPiAvKiBm
b3IgZWFybHlfdGltZV9pbml0ICovCi0jaW5jbHVkZSA8YXNtL2h2bS9zdm0vc3ZtLmg+IC8qIGZv
ciBjcHVfaGFzX3RzY19yYXRpbyAqLwogI2luY2x1ZGUgPHB1YmxpYy9hcmNoLXg4Ni9jcHVpZC5o
PgogCiAvKiBvcHRfY2xvY2tzb3VyY2U6IEZvcmNlIGNsb2Nrc291cmNlIHRvIG9uZSBvZjogcGl0
LCBocGV0LCBhY3BpLiAqLwpAQCAtODE1LDkgKzgxNCwxMCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0
ZV92Y3B1X3N5c3RlbV90aW1lKHN0cnVjdCB2Y3B1ICp2LCBpbnQgZm9yY2UpCiAgICAgfQogICAg
IGVsc2UKICAgICB7Ci0gICAgICAgIGlmICggaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQpICYm
IGNwdV9oYXNfdHNjX3JhdGlvICkKKyAgICAgICAgaWYgKCBoYXNfaHZtX2NvbnRhaW5lcl9kb21h
aW4oZCkgJiYgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCApCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHRzY19zdGFtcCAgICAgICAgICAgID0gaHZtX2Z1bmNzLnNjYWxlX3RzYyh2LCB0LT5sb2Nh
bF90c2Nfc3RhbXApOworICAgICAgICAgICAgdHNjX3N0YW1wICAgICAgICAgICAgPQorICAgICAg
ICAgICAgICAgIGh2bV9mdW5jcy50c2Nfc2NhbGluZy5zY2FsZV90c2ModiwgdC0+bG9jYWxfdHNj
X3N0YW1wKTsKICAgICAgICAgICAgIF91LnRzY190b19zeXN0ZW1fbXVsID0gZC0+YXJjaC52dHNj
X3RvX25zLm11bF9mcmFjOwogICAgICAgICAgICAgX3UudHNjX3NoaWZ0ICAgICAgICAgPSBkLT5h
cmNoLnZ0c2NfdG9fbnMuc2hpZnQ7CiAgICAgICAgIH0KQEAgLTE3NTgsNyArMTc1OCw3IEBAIHZv
aWQgdHNjX2dldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90ICp0c2NfbW9kZSwKICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90ICppbmNhcm5hdGlvbikKIHsKICAgICBib29sX3QgZW5h
YmxlX3RzY19zY2FsaW5nID0gaGFzX2h2bV9jb250YWluZXJfZG9tYWluKGQpICYmCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV9oYXNfdHNjX3JhdGlvICYmICFkLT5hcmNoLnZ0
c2M7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh2bV90c2Nfc2NhbGluZ19zdXBw
b3J0ZWQgJiYgIWQtPmFyY2gudnRzYzsKIAogICAgICppbmNhcm5hdGlvbiA9IGQtPmFyY2guaW5j
YXJuYXRpb247CiAgICAgKnRzY19tb2RlID0gZC0+YXJjaC50c2NfbW9kZTsKQEAgLTE4NjUsNyAr
MTg2NSw3IEBAIHZvaWQgdHNjX3NldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAq
LwogICAgICAgICBpZiAoIHRzY19tb2RlID09IFRTQ19NT0RFX0RFRkFVTFQgJiYgaG9zdF90c2Nf
aXNfc2FmZSgpICYmCiAgICAgICAgICAgICAgKGhhc19odm1fY29udGFpbmVyX2RvbWFpbihkKSA/
Ci0gICAgICAgICAgICAgIGQtPmFyY2gudHNjX2toeiA9PSBjcHVfa2h6IHx8IGNwdV9oYXNfdHNj
X3JhdGlvIDoKKyAgICAgICAgICAgICAgZC0+YXJjaC50c2Nfa2h6ID09IGNwdV9raHogfHwgaHZt
X3RzY19zY2FsaW5nX3N1cHBvcnRlZCA6CiAgICAgICAgICAgICAgIGluY2FybmF0aW9uID09IDAp
ICkKICAgICAgICAgewogICAgIGNhc2UgVFNDX01PREVfTkVWRVJfRU1VTEFURToKQEAgLTE4Nzks
NyArMTg3OSw3IEBAIHZvaWQgdHNjX3NldF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg
IGQtPmFyY2gudnRzYyA9ICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfUkRUU0NQKSB8fAogICAg
ICAgICAgICAgICAgICAgICAgICAhaG9zdF90c2NfaXNfc2FmZSgpOwogICAgICAgICBlbmFibGVf
dHNjX3NjYWxpbmcgPSBoYXNfaHZtX2NvbnRhaW5lcl9kb21haW4oZCkgJiYKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY3B1X2hhc190c2NfcmF0aW8gJiYgIWQtPmFyY2gudnRzYzsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCAmJiAh
ZC0+YXJjaC52dHNjOwogICAgICAgICBkLT5hcmNoLnRzY19raHogPSAoZW5hYmxlX3RzY19zY2Fs
aW5nICYmIGd0c2Nfa2h6KSA/IGd0c2Nfa2h6IDogY3B1X2toejsKICAgICAgICAgc2V0X3RpbWVf
c2NhbGUoJmQtPmFyY2gudnRzY190b19ucywgZC0+YXJjaC50c2Nfa2h6ICogMTAwMCApOwogICAg
ICAgICBkLT5hcmNoLm5zX3RvX3Z0c2MgPSBzY2FsZV9yZWNpcHJvY2FsKGQtPmFyY2gudnRzY190
b19ucyk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCmluZGV4IDE0OWZlMWMuLjgyZDBmOWQgMTAwNjQ0Ci0t
LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14
ODYvaHZtL2h2bS5oCkBAIC0yMjIsNyArMjIyLDE4IEBAIHN0cnVjdCBodm1fZnVuY3Rpb25fdGFi
bGUgewogICAgIGJvb2xfdCAoKmFsdHAybV92Y3B1X2VtdWxhdGVfdmUpKHN0cnVjdCB2Y3B1ICp2
KTsKICAgICBpbnQgKCphbHRwMm1fdmNwdV9lbXVsYXRlX3ZtZnVuYykoc3RydWN0IGNwdV91c2Vy
X3JlZ3MgKnJlZ3MpOwogCi0gICAgdWludDY0X3QgKCpzY2FsZV90c2MpKGNvbnN0IHN0cnVjdCB2
Y3B1ICp2LCB1aW50NjRfdCB0c2MpOworICAgIC8qCisgICAgICogUGFyYW1ldGVycyBhbmQgY2Fs
bGJhY2tzIGZvciBoYXJkd2FyZS1hc3Npc3RlZCBUU0Mgc2NhbGluZywKKyAgICAgKiB3aGljaCBh
cmUgdmFsaWQgb25seSB3aGVuIHRoZSBoYXJkd2FyZSBmZWF0dXJlIGlzIGF2YWlsYWJsZS4KKyAg
ICAgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiBudW1iZXIgb2YgYml0cyBvZiB0aGUgZnJh
Y3Rpb25hbCBwYXJ0IG9mIFRTQyBzY2FsaW5nIHJhdGlvICovCisgICAgICAgIHVpbnQ4X3QgIHJh
dGlvX2ZyYWNfYml0czsKKyAgICAgICAgLyogbWF4aW11bS1hbGxvd2VkIFRTQyBzY2FsaW5nIHJh
dGlvICovCisgICAgICAgIHVpbnQ2NF90IG1heF9yYXRpbzsKKworICAgICAgICB1aW50NjRfdCAo
KnNjYWxlX3RzYykoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90IHRzYyk7CisgICAgfSB0
c2Nfc2NhbGluZzsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIGh2bV9m
dW5jczsKQEAgLTI1OCw2ICsyNjksOSBAQCB2b2lkIGh2bV9zZXRfZ3Vlc3RfdHNjX2ZpeGVkKHN0
cnVjdCB2Y3B1ICp2LCB1NjQgZ3Vlc3RfdHNjLCB1NjQgYXRfdHNjKTsKIHU2NCBodm1fZ2V0X2d1
ZXN0X3RzY19maXhlZChzdHJ1Y3QgdmNwdSAqdiwgdTY0IGF0X3RzYyk7CiAjZGVmaW5lIGh2bV9n
ZXRfZ3Vlc3RfdHNjKHYpIGh2bV9nZXRfZ3Vlc3RfdHNjX2ZpeGVkKHYsIDApCiAKKyNkZWZpbmUg
aHZtX3RzY19zY2FsaW5nX3N1cHBvcnRlZCBcCisgICAgKCEhaHZtX2Z1bmNzLnRzY19zY2FsaW5n
LnJhdGlvX2ZyYWNfYml0cykKKwogaW50IGh2bV9zZXRfbW9kZShzdHJ1Y3QgdmNwdSAqdiwgaW50
IG1vZGUpOwogdm9pZCBodm1faW5pdF9ndWVzdF90aW1lKHN0cnVjdCBkb21haW4gKmQpOwogdm9p
ZCBodm1fc2V0X2d1ZXN0X3RpbWUoc3RydWN0IHZjcHUgKnYsIHU2NCBndWVzdF90aW1lKTsKLS0K
Z2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3Rl
cgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNo
YW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s
aXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSj-0004E0-A4; Sat, 27 Feb 2016 06:34:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSh-0004Dr-OY
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:43 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 A9/D0-03109-28341D65; Sat, 27 Feb 2016 06:34:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456554881!25353603!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44631 invoked from network); 27 Feb 2016 06:34:41 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSe-0008E5-RM
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSe-0004NV-Oo
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSe-0004NV-Oo@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:40 +0000
Subject: [Xen-changelog] [xen master] work around Clang generating
	.data.rel.ro section for init-only files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDAwZDVkNWNlMjNlNmJmZTBhM2IwYmRkZGQ0NGQ2OGQ2NjFhZjdkYTUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMTowMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMTowMSAyMDE2ICsw
MTAwCgogICAgd29yayBhcm91bmQgQ2xhbmcgZ2VuZXJhdGluZyAuZGF0YS5yZWwucm8gc2VjdGlv
biBmb3IgaW5pdC1vbmx5IGZpbGVzCiAgICAKICAgIENsYW5nLTMuOCBnZW5lcmF0ZXMgc2V2ZXJh
bCAuZGF0YS5yZWwucm8gc2VjdGlvbnMgd2hlbiBjb21waWxpbmcgWGVuLiAgQXMKICAgIHRoZXNl
IGNvbnRhaW4gbm8gZ2xvYmFsIHN5bWJvbHMsIHRoZXkgc2hvdWxkIGJlIC5kYXRhLnJlbC5yby5s
b2NhbC4gIFRoaXMKICAgIGJyZWFrcyB0aGUgU1BFQ0lBTF9EQVRBX1NFQ1RJT05TIGNoZWNrIHdo
ZW4gY29udmVydGluZyB0aGUgdHJhbnNpdGlvbiB1bml0cyB0bwogICAgYmVpbmcgaW5pdC1vbmx5
LgogICAgCiAgICBGb3IgYWx0ZXJuYXRpdmVzLmMsIGV4cGxpY2l0bHkgbW92ZSB0aGUgbm9wcyBh
cnJheXMgaW50byBfX2luaXRjb25zdC4gIEZvciBlZmkKICAgIGJvb3QuYywgbWFudWFsbHkgY3Jl
YXRlIHRoZSBvcHRpbWlzYXRpb24gcGVyZm9ybWVkIGJ5IENsYW5nIGJ5IGNvbGxhcHNpbmcgdGhl
CiAgICBzd2l0Y2ggc3RhdGVtZW50IGludG8gYSBsb29rdXAgdGFibGUuICBUaGUgZG91YmxlIHVz
ZSBvZiBjb25zdCBpcyByZXF1aXJlZCB0bwogICAgYXZvaWQgYnJlYWtpbmcgdGhlIEFSTSBidWls
ZCBieSBjcmVhdGluZyBhIHNlY3Rpb24gdHlwZSBjb25mbGljdCB3aXRoCiAgICBmZHRfZ3VpZC4K
ICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
CiAgICBBY2tlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu
Y2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICB8ICAxICsKIHhlbi9h
cmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAg
ICAgfCAgMSArCiB4ZW4vY29tbW9uL2VmaS9ib290LmMgICAgICB8IDU4ICsrKysrKysrKysrKysr
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9pbml0Lmgg
ICAgIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIveGVuL2FyY2gvYXJt
L3hlbi5sZHMuUwppbmRleCBmNTAxYTJmLi45ZjdmOTE1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h
cm0veGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAgLTExNCw2ICsxMTQs
NyBAQCBTRUNUSU9OUwogICAuID0gQUxJR04oUEFHRV9TSVpFKTsKICAgLmluaXQuZGF0YSA6IHsK
ICAgICAgICAqKC5pbml0LnJvZGF0YSkKKyAgICAgICAqKC5pbml0LnJvZGF0YS5yZWwpCiAgICAg
ICAgKiguaW5pdC5yb2RhdGEuc3RyKikKICAgICAgICAqKC5pbml0LmRhdGEpCiAgICAgICAgKigu
aW5pdC5kYXRhLnJlbCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIGIv
eGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKaW5kZXggNDZhYzBmZC4uOWQ1NGRmMSAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKKysrIGIveGVuL2FyY2gveDg2L2FsdGVy
bmF0aXZlLmMKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgazhu
b3BzW10gX19pbml0Y29uc3QgPSB7CiAgICAgSzhfTk9QNywKICAgICBLOF9OT1A4CiB9Owotc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBjb25zdCBrOF9ub3BzW0FTTV9OT1BfTUFYKzFdID0g
eworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBjb25zdCBrOF9ub3BzW0FTTV9OT1BfTUFY
KzFdIF9faW5pdGNvbnN0cmVsID0gewogICAgIE5VTEwsCiAgICAgazhub3BzLAogICAgIGs4bm9w
cyArIDEsCkBAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHA2bm9w
c1tdIF9faW5pdGNvbnN0ID0gewogICAgIFA2X05PUDcsCiAgICAgUDZfTk9QOAogfTsKLXN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyICogY29uc3QgcDZfbm9wc1tBU01fTk9QX01BWCsxXSA9IHsK
K3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICogY29uc3QgcDZfbm9wc1tBU01fTk9QX01BWCsx
XSBfX2luaXRjb25zdHJlbCA9IHsKICAgICBOVUxMLAogICAgIHA2bm9wcywKICAgICBwNm5vcHMg
KyAxLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94
ZW4ubGRzLlMKaW5kZXggOWZkZTFkYi4uYjNlYjIwNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCkBAIC0xMTksNiArMTE5LDcg
QEAgU0VDVElPTlMKICAgfSA6dGV4dAogICAuaW5pdC5kYXRhIDogewogICAgICAgICooLmluaXQu
cm9kYXRhKQorICAgICAgICooLmluaXQucm9kYXRhLnJlbCkKICAgICAgICAqKC5pbml0LnJvZGF0
YS5zdHIqKQogICAgICAgICooLmluaXQuZGF0YSkKICAgICAgICAqKC5pbml0LmRhdGEucmVsKQpk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvYm9vdC5jIGIveGVuL2NvbW1vbi9lZmkvYm9vdC5j
CmluZGV4IDUzYzc0NTIuLjEyNWM5Y2UgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZWZpL2Jvb3Qu
YworKysgYi94ZW4vY29tbW9uL2VmaS9ib290LmMKQEAgLTI0MSw1MyArMjQxLDMzIEBAIHN0YXRp
YyB2b2lkIF9faW5pdCBub3JldHVybiBibGV4aXQoY29uc3QgQ0hBUjE2ICpzdHIpCiAvKiBnZW5l
cmljIHJvdXRpbmUgZm9yIHByaW50aW5nIGVycm9yIG1lc3NhZ2VzICovCiBzdGF0aWMgdm9pZCBf
X2luaXQgUHJpbnRFcnJNZXNnKGNvbnN0IENIQVIxNiAqbWVzZywgRUZJX1NUQVRVUyBFcnJDb2Rl
KQogeworICAgIHN0YXRpYyBjb25zdCBDSEFSMTYqIGNvbnN0IEVyckNvZGVUb1N0cltdIF9faW5p
dGNvbnN0cmVsID0geworICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX05PVF9GT1VORF0g
ICAgICAgICAgID0gTCJOb3QgZm91bmQiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJ
X05PX01FRElBXSAgICAgICAgICAgID0gTCJUaGUgZGV2aWNlIGhhcyBubyBtZWRpYSIsCisgICAg
ICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfTUVESUFfQ0hBTkdFRF0gICAgICAgPSBMIk1lZGlh
IGNoYW5nZWQiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX0RFVklDRV9FUlJPUl0g
ICAgICAgID0gTCJEZXZpY2UgZXJyb3IiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJ
X1ZPTFVNRV9DT1JSVVBURURdICAgID0gTCJWb2x1bWUgY29ycnVwdGVkIiwKKyAgICAgICAgW35F
RklfRVJST1JfTUFTSyAmIEVGSV9BQ0NFU1NfREVOSUVEXSAgICAgICA9IEwiQWNjZXNzIGRlbmll
ZCIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfT1VUX09GX1JFU09VUkNFU10gICAg
PSBMIk91dCBvZiByZXNvdXJjZXMiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX1ZP
TFVNRV9GVUxMXSAgICAgICAgID0gTCJWb2x1bWUgaXMgZnVsbCIsCisgICAgICAgIFt+RUZJX0VS
Uk9SX01BU0sgJiBFRklfU0VDVVJJVFlfVklPTEFUSU9OXSAgPSBMIlNlY3VyaXR5IHZpb2xhdGlv
biIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfQ1JDX0VSUk9SXSAgICAgICAgICAg
PSBMIkNSQyBlcnJvciIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfQ09NUFJPTUlT
RURfREFUQV0gICAgPSBMIkNvbXByb21pc2VkIGRhdGEiLAorICAgICAgICBbfkVGSV9FUlJPUl9N
QVNLICYgRUZJX0JVRkZFUl9UT09fU01BTExdICAgID0gTCJCdWZmZXIgdG9vIHNtYWxsIiwKKyAg
ICB9OworICAgIEVGSV9TVEFUVVMgRXJySWR4ID0gRXJyQ29kZSAmIH5FRklfRVJST1JfTUFTSzsK
KwogICAgIFN0ZE91dCA9IFN0ZEVycjsKICAgICBQcmludEVycigoQ0hBUjE2ICopbWVzZyk7CiAg
ICAgUHJpbnRFcnIoTCI6ICIpOwogCi0gICAgc3dpdGNoIChFcnJDb2RlKQorICAgIGlmKCAoRXJy
SWR4IDwgQVJSQVlfU0laRShFcnJDb2RlVG9TdHIpKSAmJiBFcnJDb2RlVG9TdHJbRXJySWR4XSAp
CisgICAgICAgIG1lc2cgPSBFcnJDb2RlVG9TdHJbRXJySWR4XTsKKyAgICBlbHNlCiAgICAgewot
ICAgIGNhc2UgRUZJX05PVF9GT1VORDoKLSAgICAgICAgbWVzZyA9IEwiTm90IGZvdW5kIjsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfTk9fTUVESUE6Ci0gICAgICAgIG1lc2cgPSBMIlRo
ZSBkZXZpY2UgaGFzIG5vIG1lZGlhIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfTUVE
SUFfQ0hBTkdFRDoKLSAgICAgICAgbWVzZyA9IEwiTWVkaWEgY2hhbmdlZCI7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgRUZJX0RFVklDRV9FUlJPUjoKLSAgICAgICAgbWVzZyA9IEwiRGV2aWNl
IGVycm9yIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfVk9MVU1FX0NPUlJVUFRFRDoK
LSAgICAgICAgbWVzZyA9IEwiVm9sdW1lIGNvcnJ1cHRlZCI7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgRUZJX0FDQ0VTU19ERU5JRUQ6Ci0gICAgICAgIG1lc2cgPSBMIkFjY2VzcyBkZW5pZWQi
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOgotICAgICAg
ICBtZXNnID0gTCJPdXQgb2YgcmVzb3VyY2VzIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBF
RklfVk9MVU1FX0ZVTEw6Ci0gICAgICAgIG1lc2cgPSBMIlZvbHVtZSBpcyBmdWxsIjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfU0VDVVJJVFlfVklPTEFUSU9OOgotICAgICAgICBtZXNn
ID0gTCJTZWN1cml0eSB2aW9sYXRpb24iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9D
UkNfRVJST1I6Ci0gICAgICAgIG1lc2cgPSBMIkNSQyBlcnJvciI7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRUZJX0NPTVBST01JU0VEX0RBVEE6Ci0gICAgICAgIG1lc2cgPSBMIkNvbXByb21p
c2VkIGRhdGEiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9CVUZGRVJfVE9PX1NNQUxM
OgotICAgICAgICBtZXNnID0gTCJCdWZmZXIgdG9vIHNtYWxsIjsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgZGVmYXVsdDoKICAgICAgICAgUHJpbnRFcnIoTCJFcnJDb2RlOiAiKTsKICAgICAgICAgRGlz
cGxheVVpbnQoRXJyQ29kZSwgMCk7CiAgICAgICAgIG1lc2cgPSBOVUxMOwotICAgICAgICBicmVh
azsKICAgICB9CiAgICAgYmxleGl0KG1lc2cpOwogfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2luaXQuaCBiL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKaW5kZXggZmQ4YjYxNC4uNjcxYWM4
MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2luaXQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vaW5pdC5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIF9fZXhpdCAgICAgICAgICAgIF9f
dGV4dF9zZWN0aW9uKCIuZXhpdC50ZXh0IikKICNkZWZpbmUgX19pbml0ZGF0YSAgICAgICAgX19z
ZWN0aW9uKCIuaW5pdC5kYXRhIikKICNkZWZpbmUgX19pbml0Y29uc3QgICAgICAgX19zZWN0aW9u
KCIuaW5pdC5yb2RhdGEiKQorI2RlZmluZSBfX2luaXRjb25zdHJlbCAgICBfX3NlY3Rpb24oIi5p
bml0LnJvZGF0YS5yZWwiKQogI2RlZmluZSBfX2V4aXRkYXRhICAgICAgICBfX3VzZWRfc2VjdGlv
bigiLmV4aXQuZGF0YSIpCiAjZGVmaW5lIF9faW5pdHNldHVwICAgICAgIF9fdXNlZF9zZWN0aW9u
KCIuaW5pdC5zZXR1cCIpCiAjZGVmaW5lIF9faW5pdF9jYWxsKGx2bCkgIF9fdXNlZF9zZWN0aW9u
KCIuaW5pdGNhbGwiIGx2bCAiLmluaXQiKQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZv
ciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hh
bmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5n
ZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSj-0004E0-A4; Sat, 27 Feb 2016 06:34:45 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSh-0004Dr-OY
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:43 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 A9/D0-03109-28341D65; Sat, 27 Feb 2016 06:34:42 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-31.messagelabs.com!1456554881!25353603!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44631 invoked from network); 27 Feb 2016 06:34:41 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSe-0008E5-RM
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSe-0004NV-Oo
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSe-0004NV-Oo@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:40 +0000
Subject: [Xen-changelog] [xen master] work around Clang generating
	.data.rel.ro section for init-only files
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDAwZDVkNWNlMjNlNmJmZTBhM2IwYmRkZGQ0NGQ2OGQ2NjFhZjdkYTUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMTowMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMTowMSAyMDE2ICsw
MTAwCgogICAgd29yayBhcm91bmQgQ2xhbmcgZ2VuZXJhdGluZyAuZGF0YS5yZWwucm8gc2VjdGlv
biBmb3IgaW5pdC1vbmx5IGZpbGVzCiAgICAKICAgIENsYW5nLTMuOCBnZW5lcmF0ZXMgc2V2ZXJh
bCAuZGF0YS5yZWwucm8gc2VjdGlvbnMgd2hlbiBjb21waWxpbmcgWGVuLiAgQXMKICAgIHRoZXNl
IGNvbnRhaW4gbm8gZ2xvYmFsIHN5bWJvbHMsIHRoZXkgc2hvdWxkIGJlIC5kYXRhLnJlbC5yby5s
b2NhbC4gIFRoaXMKICAgIGJyZWFrcyB0aGUgU1BFQ0lBTF9EQVRBX1NFQ1RJT05TIGNoZWNrIHdo
ZW4gY29udmVydGluZyB0aGUgdHJhbnNpdGlvbiB1bml0cyB0bwogICAgYmVpbmcgaW5pdC1vbmx5
LgogICAgCiAgICBGb3IgYWx0ZXJuYXRpdmVzLmMsIGV4cGxpY2l0bHkgbW92ZSB0aGUgbm9wcyBh
cnJheXMgaW50byBfX2luaXRjb25zdC4gIEZvciBlZmkKICAgIGJvb3QuYywgbWFudWFsbHkgY3Jl
YXRlIHRoZSBvcHRpbWlzYXRpb24gcGVyZm9ybWVkIGJ5IENsYW5nIGJ5IGNvbGxhcHNpbmcgdGhl
CiAgICBzd2l0Y2ggc3RhdGVtZW50IGludG8gYSBsb29rdXAgdGFibGUuICBUaGUgZG91YmxlIHVz
ZSBvZiBjb25zdCBpcyByZXF1aXJlZCB0bwogICAgYXZvaWQgYnJlYWtpbmcgdGhlIEFSTSBidWls
ZCBieSBjcmVhdGluZyBhIHNlY3Rpb24gdHlwZSBjb25mbGljdCB3aXRoCiAgICBmZHRfZ3VpZC4K
ICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+
CiAgICBBY2tlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu
Y2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICB8ICAxICsKIHhlbi9h
cmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAg
ICAgfCAgMSArCiB4ZW4vY29tbW9uL2VmaS9ib290LmMgICAgICB8IDU4ICsrKysrKysrKysrKysr
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9pbml0Lmgg
ICAgIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIveGVuL2FyY2gvYXJt
L3hlbi5sZHMuUwppbmRleCBmNTAxYTJmLi45ZjdmOTE1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h
cm0veGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAgLTExNCw2ICsxMTQs
NyBAQCBTRUNUSU9OUwogICAuID0gQUxJR04oUEFHRV9TSVpFKTsKICAgLmluaXQuZGF0YSA6IHsK
ICAgICAgICAqKC5pbml0LnJvZGF0YSkKKyAgICAgICAqKC5pbml0LnJvZGF0YS5yZWwpCiAgICAg
ICAgKiguaW5pdC5yb2RhdGEuc3RyKikKICAgICAgICAqKC5pbml0LmRhdGEpCiAgICAgICAgKigu
aW5pdC5kYXRhLnJlbCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIGIv
eGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKaW5kZXggNDZhYzBmZC4uOWQ1NGRmMSAxMDA2NDQK
LS0tIGEveGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKKysrIGIveGVuL2FyY2gveDg2L2FsdGVy
bmF0aXZlLmMKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgazhu
b3BzW10gX19pbml0Y29uc3QgPSB7CiAgICAgSzhfTk9QNywKICAgICBLOF9OT1A4CiB9Owotc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBjb25zdCBrOF9ub3BzW0FTTV9OT1BfTUFYKzFdID0g
eworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBjb25zdCBrOF9ub3BzW0FTTV9OT1BfTUFY
KzFdIF9faW5pdGNvbnN0cmVsID0gewogICAgIE5VTEwsCiAgICAgazhub3BzLAogICAgIGs4bm9w
cyArIDEsCkBAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHA2bm9w
c1tdIF9faW5pdGNvbnN0ID0gewogICAgIFA2X05PUDcsCiAgICAgUDZfTk9QOAogfTsKLXN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyICogY29uc3QgcDZfbm9wc1tBU01fTk9QX01BWCsxXSA9IHsK
K3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyICogY29uc3QgcDZfbm9wc1tBU01fTk9QX01BWCsx
XSBfX2luaXRjb25zdHJlbCA9IHsKICAgICBOVUxMLAogICAgIHA2bm9wcywKICAgICBwNm5vcHMg
KyAxLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94
ZW4ubGRzLlMKaW5kZXggOWZkZTFkYi4uYjNlYjIwNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L3hlbi5sZHMuUworKysgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCkBAIC0xMTksNiArMTE5LDcg
QEAgU0VDVElPTlMKICAgfSA6dGV4dAogICAuaW5pdC5kYXRhIDogewogICAgICAgICooLmluaXQu
cm9kYXRhKQorICAgICAgICooLmluaXQucm9kYXRhLnJlbCkKICAgICAgICAqKC5pbml0LnJvZGF0
YS5zdHIqKQogICAgICAgICooLmluaXQuZGF0YSkKICAgICAgICAqKC5pbml0LmRhdGEucmVsKQpk
aWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvYm9vdC5jIGIveGVuL2NvbW1vbi9lZmkvYm9vdC5j
CmluZGV4IDUzYzc0NTIuLjEyNWM5Y2UgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZWZpL2Jvb3Qu
YworKysgYi94ZW4vY29tbW9uL2VmaS9ib290LmMKQEAgLTI0MSw1MyArMjQxLDMzIEBAIHN0YXRp
YyB2b2lkIF9faW5pdCBub3JldHVybiBibGV4aXQoY29uc3QgQ0hBUjE2ICpzdHIpCiAvKiBnZW5l
cmljIHJvdXRpbmUgZm9yIHByaW50aW5nIGVycm9yIG1lc3NhZ2VzICovCiBzdGF0aWMgdm9pZCBf
X2luaXQgUHJpbnRFcnJNZXNnKGNvbnN0IENIQVIxNiAqbWVzZywgRUZJX1NUQVRVUyBFcnJDb2Rl
KQogeworICAgIHN0YXRpYyBjb25zdCBDSEFSMTYqIGNvbnN0IEVyckNvZGVUb1N0cltdIF9faW5p
dGNvbnN0cmVsID0geworICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX05PVF9GT1VORF0g
ICAgICAgICAgID0gTCJOb3QgZm91bmQiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJ
X05PX01FRElBXSAgICAgICAgICAgID0gTCJUaGUgZGV2aWNlIGhhcyBubyBtZWRpYSIsCisgICAg
ICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfTUVESUFfQ0hBTkdFRF0gICAgICAgPSBMIk1lZGlh
IGNoYW5nZWQiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX0RFVklDRV9FUlJPUl0g
ICAgICAgID0gTCJEZXZpY2UgZXJyb3IiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJ
X1ZPTFVNRV9DT1JSVVBURURdICAgID0gTCJWb2x1bWUgY29ycnVwdGVkIiwKKyAgICAgICAgW35F
RklfRVJST1JfTUFTSyAmIEVGSV9BQ0NFU1NfREVOSUVEXSAgICAgICA9IEwiQWNjZXNzIGRlbmll
ZCIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfT1VUX09GX1JFU09VUkNFU10gICAg
PSBMIk91dCBvZiByZXNvdXJjZXMiLAorICAgICAgICBbfkVGSV9FUlJPUl9NQVNLICYgRUZJX1ZP
TFVNRV9GVUxMXSAgICAgICAgID0gTCJWb2x1bWUgaXMgZnVsbCIsCisgICAgICAgIFt+RUZJX0VS
Uk9SX01BU0sgJiBFRklfU0VDVVJJVFlfVklPTEFUSU9OXSAgPSBMIlNlY3VyaXR5IHZpb2xhdGlv
biIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfQ1JDX0VSUk9SXSAgICAgICAgICAg
PSBMIkNSQyBlcnJvciIsCisgICAgICAgIFt+RUZJX0VSUk9SX01BU0sgJiBFRklfQ09NUFJPTUlT
RURfREFUQV0gICAgPSBMIkNvbXByb21pc2VkIGRhdGEiLAorICAgICAgICBbfkVGSV9FUlJPUl9N
QVNLICYgRUZJX0JVRkZFUl9UT09fU01BTExdICAgID0gTCJCdWZmZXIgdG9vIHNtYWxsIiwKKyAg
ICB9OworICAgIEVGSV9TVEFUVVMgRXJySWR4ID0gRXJyQ29kZSAmIH5FRklfRVJST1JfTUFTSzsK
KwogICAgIFN0ZE91dCA9IFN0ZEVycjsKICAgICBQcmludEVycigoQ0hBUjE2ICopbWVzZyk7CiAg
ICAgUHJpbnRFcnIoTCI6ICIpOwogCi0gICAgc3dpdGNoIChFcnJDb2RlKQorICAgIGlmKCAoRXJy
SWR4IDwgQVJSQVlfU0laRShFcnJDb2RlVG9TdHIpKSAmJiBFcnJDb2RlVG9TdHJbRXJySWR4XSAp
CisgICAgICAgIG1lc2cgPSBFcnJDb2RlVG9TdHJbRXJySWR4XTsKKyAgICBlbHNlCiAgICAgewot
ICAgIGNhc2UgRUZJX05PVF9GT1VORDoKLSAgICAgICAgbWVzZyA9IEwiTm90IGZvdW5kIjsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfTk9fTUVESUE6Ci0gICAgICAgIG1lc2cgPSBMIlRo
ZSBkZXZpY2UgaGFzIG5vIG1lZGlhIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfTUVE
SUFfQ0hBTkdFRDoKLSAgICAgICAgbWVzZyA9IEwiTWVkaWEgY2hhbmdlZCI7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgRUZJX0RFVklDRV9FUlJPUjoKLSAgICAgICAgbWVzZyA9IEwiRGV2aWNl
IGVycm9yIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfVk9MVU1FX0NPUlJVUFRFRDoK
LSAgICAgICAgbWVzZyA9IEwiVm9sdW1lIGNvcnJ1cHRlZCI7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgRUZJX0FDQ0VTU19ERU5JRUQ6Ci0gICAgICAgIG1lc2cgPSBMIkFjY2VzcyBkZW5pZWQi
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOgotICAgICAg
ICBtZXNnID0gTCJPdXQgb2YgcmVzb3VyY2VzIjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBF
RklfVk9MVU1FX0ZVTEw6Ci0gICAgICAgIG1lc2cgPSBMIlZvbHVtZSBpcyBmdWxsIjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBFRklfU0VDVVJJVFlfVklPTEFUSU9OOgotICAgICAgICBtZXNn
ID0gTCJTZWN1cml0eSB2aW9sYXRpb24iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9D
UkNfRVJST1I6Ci0gICAgICAgIG1lc2cgPSBMIkNSQyBlcnJvciI7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRUZJX0NPTVBST01JU0VEX0RBVEE6Ci0gICAgICAgIG1lc2cgPSBMIkNvbXByb21p
c2VkIGRhdGEiOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVGSV9CVUZGRVJfVE9PX1NNQUxM
OgotICAgICAgICBtZXNnID0gTCJCdWZmZXIgdG9vIHNtYWxsIjsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgZGVmYXVsdDoKICAgICAgICAgUHJpbnRFcnIoTCJFcnJDb2RlOiAiKTsKICAgICAgICAgRGlz
cGxheVVpbnQoRXJyQ29kZSwgMCk7CiAgICAgICAgIG1lc2cgPSBOVUxMOwotICAgICAgICBicmVh
azsKICAgICB9CiAgICAgYmxleGl0KG1lc2cpOwogfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
eGVuL2luaXQuaCBiL3hlbi9pbmNsdWRlL3hlbi9pbml0LmgKaW5kZXggZmQ4YjYxNC4uNjcxYWM4
MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2luaXQuaAorKysgYi94ZW4vaW5jbHVkZS94
ZW4vaW5pdC5oCkBAIC0xMSw2ICsxMSw3IEBACiAjZGVmaW5lIF9fZXhpdCAgICAgICAgICAgIF9f
dGV4dF9zZWN0aW9uKCIuZXhpdC50ZXh0IikKICNkZWZpbmUgX19pbml0ZGF0YSAgICAgICAgX19z
ZWN0aW9uKCIuaW5pdC5kYXRhIikKICNkZWZpbmUgX19pbml0Y29uc3QgICAgICAgX19zZWN0aW9u
KCIuaW5pdC5yb2RhdGEiKQorI2RlZmluZSBfX2luaXRjb25zdHJlbCAgICBfX3NlY3Rpb24oIi5p
bml0LnJvZGF0YS5yZWwiKQogI2RlZmluZSBfX2V4aXRkYXRhICAgICAgICBfX3VzZWRfc2VjdGlv
bigiLmV4aXQuZGF0YSIpCiAjZGVmaW5lIF9faW5pdHNldHVwICAgICAgIF9fdXNlZF9zZWN0aW9u
KCIuaW5pdC5zZXR1cCIpCiAjZGVmaW5lIF9faW5pdF9jYWxsKGx2bCkgIF9fdXNlZF9zZWN0aW9u
KCIuaW5pdGNhbGwiIGx2bCAiLmluaXQiKQotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZv
ciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hh
bmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5n
ZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSt-0004Gs-LF; Sat, 27 Feb 2016 06:34:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSr-0004GB-NM
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:53 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
 1E/98-03294-C8341D65; Sat, 27 Feb 2016 06:34:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456554891!17929845!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21416 invoked from network); 27 Feb 2016 06:34:52 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSp-0008Ey-BC
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSp-0004Nx-9H
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSp-0004Nx-9H@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:51 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: print register state upon
	triple fault
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDEzMjkxMDU5NDMxNzliOTFkYTI0NjY0MzFjYzk3MmUyMjM5MDBjZWQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMjoyOSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMjoyOSAyMDE2ICsw
MTAwCgogICAgeDg2L2h2bTogcHJpbnQgcmVnaXN0ZXIgc3RhdGUgdXBvbiB0cmlwbGUgZmF1bHQK
ICAgIAogICAgQSBzYW1wbGUgbG9va3MgbGlrZToKICAgIAogICAgKFhFTikgZDF2MCBUcmlwbGUg
ZmF1bHQgLSBpbnZva2luZyBIVk0gc2h1dGRvd24gYWN0aW9uIDEKICAgIChYRU4pICoqKiBEdW1w
aW5nIERvbTEgdmNwdSMwIHN0YXRlOiAqKioKICAgIChYRU4pIC0tLS1bIFhlbi00LjctdW5zdGFi
bGUgIHg4Nl82NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0tLS0KICAgIChYRU4pIENQVTogICAg
MgogICAgKFhFTikgUklQOiAgICAwMDAwOls8MDAwMDAwMDAwMDEwMDAwNT5dCiAgICAoWEVOKSBS
RkxBR1M6IDAwMDAwMDAwMDAwMTAwMDIgICBDT05URVhUOiBodm0gZ3Vlc3QgKGQxdjApCiAgICAo
WEVOKSByYXg6IDAwMDAwMDAwMDAwMDAwMjAgICByYng6IDAwMDAwMDAwMDAwMDAwMDAgICByY3g6
IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIHJkeDogMDAwMDAwMDAwMDAwMDAwMCAgIHJzaTog
MDAwMDAwMDAwMDAwMDAwMCAgIHJkaTogMDAwMDAwMDAwMDAwMDAwMAogICAgKFhFTikgcmJwOiAw
MDAwMDAwMDAwMDAwMDAwICAgcnNwOiAwMDAwMDAwMDAwMDAwMDAwICAgcjg6ICAwMDAwMDAwMDAw
MDAwMDAwCiAgICAoWEVOKSByOTogIDAwMDAwMDAwMDAwMDAwMDAgICByMTA6IDAwMDAwMDAwMDAw
MDAwMDAgICByMTE6IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIHIxMjogMDAwMDAwMDAwMDAw
MDAwMCAgIHIxMzogMDAwMDAwMDAwMDAwMDAwMCAgIHIxNDogMDAwMDAwMDAwMDAwMDAwMAogICAg
KFhFTikgcjE1OiAwMDAwMDAwMDAwMDAwMDAwICAgY3IwOiAwMDAwMDAwMDAwMDAwMDExICAgY3I0
OiAwMDAwMDAwMDAwMDAwMDAwCiAgICAoWEVOKSBjcjM6IDAwMDAwMDAwMDAwMDAwMDAgICBjcjI6
IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIGRzOiAwMDAwICAgZXM6IDAwMDAgICBmczogMDAw
MCAgIGdzOiAwMDAwICAgc3M6IDAwMDAgICBjczogMDAwMAogICAgCiAgICBTaWduZWQtb2ZmLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2
bS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA1NTYw
NzFjLi5mNDZkNTNjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTI4OTAsNiArMjg5MCw3IEBAIHZvaWQgaHZtX3RyaXBs
ZV9mYXVsdCh2b2lkKQogICAgIGdwcmludGsoWEVOTE9HX0lORk8sCiAgICAgICAgICAgICAiVHJp
cGxlIGZhdWx0IC0gaW52b2tpbmcgSFZNIHNodXRkb3duIGFjdGlvbiAlZFxuIiwKICAgICAgICAg
ICAgIHJlYXNvbik7CisgICAgdmNwdV9zaG93X2V4ZWN1dGlvbl9zdGF0ZSh2KTsKICAgICBkb21h
aW5fc2h1dGRvd24oZCwgcmVhc29uKTsKIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:34:55 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYSt-0004Gs-LF; Sat, 27 Feb 2016 06:34:55 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSr-0004GB-NM
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:53 +0000
Received: from [85.158.137.68] by server-3.bemta-3.messagelabs.com id
 1E/98-03294-C8341D65; Sat, 27 Feb 2016 06:34:52 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456554891!17929845!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21416 invoked from network); 27 Feb 2016 06:34:52 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:34:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSp-0008Ey-BC
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSp-0004Nx-9H
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:34:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSp-0004Nx-9H@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:34:51 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: print register state upon
	triple fault
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDEzMjkxMDU5NDMxNzliOTFkYTI0NjY0MzFjYzk3MmUyMjM5MDBjZWQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMjoyOSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMjoyOSAyMDE2ICsw
MTAwCgogICAgeDg2L2h2bTogcHJpbnQgcmVnaXN0ZXIgc3RhdGUgdXBvbiB0cmlwbGUgZmF1bHQK
ICAgIAogICAgQSBzYW1wbGUgbG9va3MgbGlrZToKICAgIAogICAgKFhFTikgZDF2MCBUcmlwbGUg
ZmF1bHQgLSBpbnZva2luZyBIVk0gc2h1dGRvd24gYWN0aW9uIDEKICAgIChYRU4pICoqKiBEdW1w
aW5nIERvbTEgdmNwdSMwIHN0YXRlOiAqKioKICAgIChYRU4pIC0tLS1bIFhlbi00LjctdW5zdGFi
bGUgIHg4Nl82NCAgZGVidWc9eSAgTm90IHRhaW50ZWQgXS0tLS0KICAgIChYRU4pIENQVTogICAg
MgogICAgKFhFTikgUklQOiAgICAwMDAwOls8MDAwMDAwMDAwMDEwMDAwNT5dCiAgICAoWEVOKSBS
RkxBR1M6IDAwMDAwMDAwMDAwMTAwMDIgICBDT05URVhUOiBodm0gZ3Vlc3QgKGQxdjApCiAgICAo
WEVOKSByYXg6IDAwMDAwMDAwMDAwMDAwMjAgICByYng6IDAwMDAwMDAwMDAwMDAwMDAgICByY3g6
IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIHJkeDogMDAwMDAwMDAwMDAwMDAwMCAgIHJzaTog
MDAwMDAwMDAwMDAwMDAwMCAgIHJkaTogMDAwMDAwMDAwMDAwMDAwMAogICAgKFhFTikgcmJwOiAw
MDAwMDAwMDAwMDAwMDAwICAgcnNwOiAwMDAwMDAwMDAwMDAwMDAwICAgcjg6ICAwMDAwMDAwMDAw
MDAwMDAwCiAgICAoWEVOKSByOTogIDAwMDAwMDAwMDAwMDAwMDAgICByMTA6IDAwMDAwMDAwMDAw
MDAwMDAgICByMTE6IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIHIxMjogMDAwMDAwMDAwMDAw
MDAwMCAgIHIxMzogMDAwMDAwMDAwMDAwMDAwMCAgIHIxNDogMDAwMDAwMDAwMDAwMDAwMAogICAg
KFhFTikgcjE1OiAwMDAwMDAwMDAwMDAwMDAwICAgY3IwOiAwMDAwMDAwMDAwMDAwMDExICAgY3I0
OiAwMDAwMDAwMDAwMDAwMDAwCiAgICAoWEVOKSBjcjM6IDAwMDAwMDAwMDAwMDAwMDAgICBjcjI6
IDAwMDAwMDAwMDAwMDAwMDAKICAgIChYRU4pIGRzOiAwMDAwICAgZXM6IDAwMDAgICBmczogMDAw
MCAgIGdzOiAwMDAwICAgc3M6IDAwMDAgICBjczogMDAwMAogICAgCiAgICBTaWduZWQtb2ZmLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2
bS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA1NTYw
NzFjLi5mNDZkNTNjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hl
bi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTI4OTAsNiArMjg5MCw3IEBAIHZvaWQgaHZtX3RyaXBs
ZV9mYXVsdCh2b2lkKQogICAgIGdwcmludGsoWEVOTE9HX0lORk8sCiAgICAgICAgICAgICAiVHJp
cGxlIGZhdWx0IC0gaW52b2tpbmcgSFZNIHNodXRkb3duIGFjdGlvbiAlZFxuIiwKICAgICAgICAg
ICAgIHJlYXNvbik7CisgICAgdmNwdV9zaG93X2V4ZWN1dGlvbl9zdGF0ZSh2KTsKICAgICBkb21h
aW5fc2h1dGRvd24oZCwgcmVhc29uKTsKIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYT3-0004K9-N9; Sat, 27 Feb 2016 06:35:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYT2-0004Jo-3e
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:04 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
 2B/A3-02986-79341D65; Sat, 27 Feb 2016 06:35:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456554901!26204316!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43387 invoked from network); 27 Feb 2016 06:35:02 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSz-0008F8-P9
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSz-0004Oa-JH
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSz-0004Oa-JH@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:01 +0000
Subject: [Xen-changelog] [xen master] public: typo: use ' as apostrophe in
	grant_table.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3172661918746154188=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============3172661918746154188==
Content-Type: text/plain

commit 3f293c7caaefc2c37b61e44e8ebd5a7f1c554afb
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 25 13:03:04 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 25 13:03:04 2016 +0100

    public: typo: use ' as apostrophe in grant_table.h
    
    If grep 2.23 is installed, build fails like this:
    ...
    mkdir -p compat
    grep -v 'DEFINE_XEN_GUEST_HANDLE(long)' public/grant_table.h | \
    python /home/SOURCES/xen/xen/xen.git/xen/tools/compat-build-source.py >compat/grant_table.c.new
    mv -f compat/grant_table.c.new compat/grant_table.c
    gcc  ... -o compat/grant_table.i compat/grant_table.c
    compat/grant_table.c:33:1: error: unterminated comment
     /*
     ^
    compat/grant_table.c:28:0: error: unterminated #ifndef
     #ifndef __XEN_PUBLIC_GRANT_TABLE_H__
     ^
    Makefile:62: recipe for target 'compat/grant_table.i' failed
    make[3]: *** [compat/grant_table.i] Error 1
    rm compat/grant_table.c
    make[3]: Leaving directory '/home/SOURCES/xen/xen/xen.git/xen/include'
    ...
    
    This is because grant_table.h contains this (note the
    apostrophe): "granters memory", and `grep -v', in version
    2.23, stops processing the file (while, for instance,
    until 2.22, this was not happening).
    
    Although the above behavior is likely an issue in grep,
    (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22461)
    I think we better switch to using " ' " in that line
    anyway, as we do basically everywhere else (even in
    the same file).
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/include/public/grant_table.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h
index e9393fd..e5f04ec 100644
--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -43,7 +43,7 @@
  * table are identified by grant references. A grant reference is an
  * integer, which indexes into the grant table. It acts as a
  * capability which the grantee can use to perform operations on the
- * granter’s memory.
+ * granter's memory.
  *
  * This capability-based system allows shared-memory communications
  * between unprivileged domains. A grant reference also encapsulates
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3172661918746154188==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============3172661918746154188==--

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:05 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYT3-0004K9-N9; Sat, 27 Feb 2016 06:35:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYT2-0004Jo-3e
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:04 +0000
Received: from [193.109.254.147] by server-10.bemta-14.messagelabs.com id
 2B/A3-02986-79341D65; Sat, 27 Feb 2016 06:35:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456554901!26204316!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43387 invoked from network); 27 Feb 2016 06:35:02 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSz-0008F8-P9
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYSz-0004Oa-JH
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYSz-0004Oa-JH@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:01 +0000
Subject: [Xen-changelog] [xen master] public: typo: use ' as apostrophe in
	grant_table.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3172661918746154188=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============3172661918746154188==
Content-Type: text/plain

commit 3f293c7caaefc2c37b61e44e8ebd5a7f1c554afb
Author:     Dario Faggioli <dario.faggioli@citrix.com>
AuthorDate: Thu Feb 25 13:03:04 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Feb 25 13:03:04 2016 +0100

    public: typo: use ' as apostrophe in grant_table.h
    
    If grep 2.23 is installed, build fails like this:
    ...
    mkdir -p compat
    grep -v 'DEFINE_XEN_GUEST_HANDLE(long)' public/grant_table.h | \
    python /home/SOURCES/xen/xen/xen.git/xen/tools/compat-build-source.py >compat/grant_table.c.new
    mv -f compat/grant_table.c.new compat/grant_table.c
    gcc  ... -o compat/grant_table.i compat/grant_table.c
    compat/grant_table.c:33:1: error: unterminated comment
     /*
     ^
    compat/grant_table.c:28:0: error: unterminated #ifndef
     #ifndef __XEN_PUBLIC_GRANT_TABLE_H__
     ^
    Makefile:62: recipe for target 'compat/grant_table.i' failed
    make[3]: *** [compat/grant_table.i] Error 1
    rm compat/grant_table.c
    make[3]: Leaving directory '/home/SOURCES/xen/xen/xen.git/xen/include'
    ...
    
    This is because grant_table.h contains this (note the
    apostrophe): "granters memory", and `grep -v', in version
    2.23, stops processing the file (while, for instance,
    until 2.22, this was not happening).
    
    Although the above behavior is likely an issue in grep,
    (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22461)
    I think we better switch to using " ' " in that line
    anyway, as we do basically everywhere else (even in
    the same file).
    
    Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
 xen/include/public/grant_table.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h
index e9393fd..e5f04ec 100644
--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -43,7 +43,7 @@
  * table are identified by grant references. A grant reference is an
  * integer, which indexes into the grant table. It acts as a
  * capability which the grantee can use to perform operations on the
- * granter’s memory.
+ * granter's memory.
  *
  * This capability-based system allows shared-memory communications
  * between unprivileged domains. A grant reference also encapsulates
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3172661918746154188==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============3172661918746154188==--

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTD-0004NB-PO; Sat, 27 Feb 2016 06:35:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTC-0004Mv-VX
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:15 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 C5/5A-02987-2A341D65; Sat, 27 Feb 2016 06:35:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1456554912!27183275!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61666 invoked from network); 27 Feb 2016 06:35:13 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTA-0008Fu-Dz
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTA-0004Oy-Ad
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTA-0004Oy-Ad@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:12 +0000
Subject: [Xen-changelog] [xen master] lockprof: move .lockprofile.data into
	.rodata
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFhYTUxMWQyMTdiMTE4ZTdmZTYwNjFhYmEzYTA1MTM3YjIyMDI3NTIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMzo0MyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMzo0MyAyMDE2ICsw
MTAwCgogICAgbG9ja3Byb2Y6IG1vdmUgLmxvY2twcm9maWxlLmRhdGEgaW50byAucm9kYXRhCiAg
ICAKICAgIFRoZSBlbnRpcmUgY29udGVudHMgb2YgLmxvY2twcm9maWxlLmRhdGEgYXJlIHVuY2hh
bmdpbmcgcG9pbnRlcnMgdG8KICAgIGxvY2tfcHJvZmlsZSBzdHJ1Y3R1cmUgaW4gLmRhdGEuICBB
bm5vdGF0ZSB0aGUgdHlwZSBhcyBzdWNoLCBhbmQgbGluayB0aGUKICAgIHNlY3Rpb24gaW4gLnJv
ZGF0YS4gIEFzIHRoZXNlIGFyZSBqdXN0IHBvaW50ZXJzLCAzMmJ5dGUgYWxpZ25tZW50IGlzCiAg
ICB1bm5lY2Vzc2FyeS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg
PHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgogICAgQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICAg
IHwgMTUgKysrKysrKystLS0tLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAgICAgIHwgMTQg
KysrKysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmggfCAgMSArCiB4ZW4v
aW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIHwgIDEgKwogeGVuL2luY2x1ZGUveGVuL3NwaW5sb2Nr
LmggICB8ICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE1IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMgYi94ZW4vYXJjaC9h
cm0veGVuLmxkcy5TCmluZGV4IDlmN2Y5MTUuLjUxYTNjNmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L2FybS94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gvYXJtL3hlbi5sZHMuUwpAQCAtNTAsNiArNTAs
MTQgQEAgU0VDVElPTlMKICAgICAgICBfX3N0b3BfYnVnX2ZyYW1lc18yID0gLjsKICAgICAgICAq
KC5yb2RhdGEpCiAgICAgICAgKigucm9kYXRhLiopCisKKyNpZmRlZiBMT0NLX1BST0ZJTEUKKyAg
ICAgICAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7CisgICAgICAgX19sb2NrX3Byb2ZpbGVfc3Rh
cnQgPSAuOworICAgICAgICooLmxvY2twcm9maWxlLmRhdGEpCisgICAgICAgX19sb2NrX3Byb2Zp
bGVfZW5kID0gLjsKKyNlbmRpZgorCiAgICAgICAgIF9lcm9kYXRhID0gLjsgICAgICAgICAgLyog
RW5kIG9mIHJlYWQtb25seSBkYXRhICovCiAgIH0gOnRleHQKIApAQCAtODMsMTMgKzkxLDYgQEAg
U0VDVElPTlMKICAgICAgICAqKC5kYXRhLnJlbC5yby4qKQogICB9IDp0ZXh0CiAKLSNpZmRlZiBM
T0NLX1BST0ZJTEUKLSAgLiA9IEFMSUdOKDMyKTsKLSAgX19sb2NrX3Byb2ZpbGVfc3RhcnQgPSAu
OwotICAubG9ja3Byb2ZpbGUuZGF0YSA6IHsgKigubG9ja3Byb2ZpbGUuZGF0YSkgfSA6dGV4dAot
ICBfX2xvY2tfcHJvZmlsZV9lbmQgPSAuOwotI2VuZGlmCi0KICAgLiA9IEFMSUdOKDgpOwogICAu
YXJjaC5pbmZvIDogewogICAgICAgX3NwbGF0Zm9ybSA9IC47CmRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCBiM2ViMjA3Li5h
MjM3MzU5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNo
L3g4Ni94ZW4ubGRzLlMKQEAgLTY1LDYgKzY1LDEzIEBAIFNFQ1RJT05TCiAKICAgICAgICAqKC5y
b2RhdGEpCiAgICAgICAgKigucm9kYXRhLiopCisKKyNpZmRlZiBMT0NLX1BST0ZJTEUKKyAgICAg
ICAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7CisgICAgICAgX19sb2NrX3Byb2ZpbGVfc3RhcnQg
PSAuOworICAgICAgICooLmxvY2twcm9maWxlLmRhdGEpCisgICAgICAgX19sb2NrX3Byb2ZpbGVf
ZW5kID0gLjsKKyNlbmRpZgogICB9IDp0ZXh0CiAKICAgLiA9IEFMSUdOKFNNUF9DQUNIRV9CWVRF
Uyk7CkBAIC05NywxMyArMTA0LDYgQEAgU0VDVElPTlMKICAgICAgICBDT05TVFJVQ1RPUlMKICAg
fSA6dGV4dAogCi0jaWZkZWYgTE9DS19QUk9GSUxFCi0gIC4gPSBBTElHTigzMik7Ci0gIF9fbG9j
a19wcm9maWxlX3N0YXJ0ID0gLjsKLSAgLmxvY2twcm9maWxlLmRhdGEgOiB7ICooLmxvY2twcm9m
aWxlLmRhdGEpIH0gOnRleHQKLSAgX19sb2NrX3Byb2ZpbGVfZW5kID0gLjsKLSNlbmRpZgotCiAg
IC4gPSBBTElHTihQQUdFX1NJWkUpOyAgICAgICAgICAgICAvKiBJbml0IGNvZGUgYW5kIGRhdGEg
Ki8KICAgX19pbml0X2JlZ2luID0gLjsKICAgLmluaXQudGV4dCA6IHsKZGlmZiAtLWdpdCBhL3hl
bi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5o
CmluZGV4IGMzYTJjMzAuLmMwYWQ0NjkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0v
Y29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaApAQCAtMTUsNiArMTUs
NyBAQAogCiAjZGVmaW5lIEJZVEVTX1BFUl9MT05HICgxIDw8IExPTkdfQllURU9SREVSKQogI2Rl
ZmluZSBCSVRTX1BFUl9MT05HIChCWVRFU19QRVJfTE9ORyA8PCAzKQorI2RlZmluZSBQT0lOVEVS
X0FMSUdOIEJZVEVTX1BFUl9MT05HCiAKIC8qIHhlbl91bG9uZ190IGlzIGFsd2F5cyA2NCBiaXRz
ICovCiAjZGVmaW5lIEJJVFNfUEVSX1hFTl9VTE9ORyA2NApkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUvYXNtLXg4Ni9jb25maWcuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKaW5kZXgg
MDdmM2MxZi4uNzI5MWI1OSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcu
aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCkBAIC0xMyw2ICsxMyw3IEBACiAj
ZGVmaW5lIEJZVEVTX1BFUl9MT05HICgxIDw8IExPTkdfQllURU9SREVSKQogI2RlZmluZSBCSVRT
X1BFUl9MT05HIChCWVRFU19QRVJfTE9ORyA8PCAzKQogI2RlZmluZSBCSVRTX1BFUl9CWVRFIDgK
KyNkZWZpbmUgUE9JTlRFUl9BTElHTiBCWVRFU19QRVJfTE9ORwogCiAjZGVmaW5lIEJJVFNfUEVS
X1hFTl9VTE9ORyBCSVRTX1BFUl9MT05HCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9z
cGlubG9jay5oIGIveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmgKaW5kZXggNzdhYjdkNS4uODhi
NTNmOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmgKKysrIGIveGVuL2lu
Y2x1ZGUveGVuL3NwaW5sb2NrLmgKQEAgLTc5LDcgKzc5LDcgQEAgc3RydWN0IGxvY2tfcHJvZmls
ZV9xaGVhZCB7CiAKICNkZWZpbmUgX0xPQ0tfUFJPRklMRShuYW1lKSB7IDAsICNuYW1lLCAmbmFt
ZSwgMCwgMCwgMCwgMCwgMCB9CiAjZGVmaW5lIF9MT0NLX1BST0ZJTEVfUFRSKG5hbWUpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3RhdGljIHN0
cnVjdCBsb2NrX3Byb2ZpbGUgKl9fbG9ja19wcm9maWxlXyMjbmFtZSAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgc3RhdGljIHN0cnVjdCBsb2NrX3Byb2ZpbGUgKiBjb25zdCBfX2xvY2tf
cHJvZmlsZV8jI25hbWUgICAgICAgICAgICAgICAgICBcCiAgICAgX191c2VkX3NlY3Rpb24oIi5s
b2NrcHJvZmlsZS5kYXRhIikgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgJl9fbG9ja19wcm9maWxlX2RhdGFfIyNuYW1lCiAjZGVmaW5lIF9TUElOX0xPQ0tfVU5M
T0NLRUQoeCkgeyB7IDAgfSwgU1BJTkxPQ0tfTk9fQ1BVLCAwLCBfTE9DS19ERUJVRywgeCB9Ci0t
CmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0
ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1j
aGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8v
bGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:15 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTD-0004NB-PO; Sat, 27 Feb 2016 06:35:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTC-0004Mv-VX
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:15 +0000
Received: from [193.109.254.147] by server-14.bemta-14.messagelabs.com id
 C5/5A-02987-2A341D65; Sat, 27 Feb 2016 06:35:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1456554912!27183275!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 61666 invoked from network); 27 Feb 2016 06:35:13 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTA-0008Fu-Dz
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:12 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTA-0004Oy-Ad
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:12 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTA-0004Oy-Ad@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:12 +0000
Subject: [Xen-changelog] [xen master] lockprof: move .lockprofile.data into
	.rodata
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFhYTUxMWQyMTdiMTE4ZTdmZTYwNjFhYmEzYTA1MTM3YjIyMDI3NTIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowMzo0MyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowMzo0MyAyMDE2ICsw
MTAwCgogICAgbG9ja3Byb2Y6IG1vdmUgLmxvY2twcm9maWxlLmRhdGEgaW50byAucm9kYXRhCiAg
ICAKICAgIFRoZSBlbnRpcmUgY29udGVudHMgb2YgLmxvY2twcm9maWxlLmRhdGEgYXJlIHVuY2hh
bmdpbmcgcG9pbnRlcnMgdG8KICAgIGxvY2tfcHJvZmlsZSBzdHJ1Y3R1cmUgaW4gLmRhdGEuICBB
bm5vdGF0ZSB0aGUgdHlwZSBhcyBzdWNoLCBhbmQgbGluayB0aGUKICAgIHNlY3Rpb24gaW4gLnJv
ZGF0YS4gIEFzIHRoZXNlIGFyZSBqdXN0IHBvaW50ZXJzLCAzMmJ5dGUgYWxpZ25tZW50IGlzCiAg
ICB1bm5lY2Vzc2FyeS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k
cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIEFja2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkg
PHN0ZWZhbm8uc3RhYmVsbGluaUBldS5jaXRyaXguY29tPgogICAgQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICAg
IHwgMTUgKysrKysrKystLS0tLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAgICAgIHwgMTQg
KysrKysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmggfCAgMSArCiB4ZW4v
aW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIHwgIDEgKwogeGVuL2luY2x1ZGUveGVuL3NwaW5sb2Nr
LmggICB8ICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE1IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMgYi94ZW4vYXJjaC9h
cm0veGVuLmxkcy5TCmluZGV4IDlmN2Y5MTUuLjUxYTNjNmYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L2FybS94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gvYXJtL3hlbi5sZHMuUwpAQCAtNTAsNiArNTAs
MTQgQEAgU0VDVElPTlMKICAgICAgICBfX3N0b3BfYnVnX2ZyYW1lc18yID0gLjsKICAgICAgICAq
KC5yb2RhdGEpCiAgICAgICAgKigucm9kYXRhLiopCisKKyNpZmRlZiBMT0NLX1BST0ZJTEUKKyAg
ICAgICAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7CisgICAgICAgX19sb2NrX3Byb2ZpbGVfc3Rh
cnQgPSAuOworICAgICAgICooLmxvY2twcm9maWxlLmRhdGEpCisgICAgICAgX19sb2NrX3Byb2Zp
bGVfZW5kID0gLjsKKyNlbmRpZgorCiAgICAgICAgIF9lcm9kYXRhID0gLjsgICAgICAgICAgLyog
RW5kIG9mIHJlYWQtb25seSBkYXRhICovCiAgIH0gOnRleHQKIApAQCAtODMsMTMgKzkxLDYgQEAg
U0VDVElPTlMKICAgICAgICAqKC5kYXRhLnJlbC5yby4qKQogICB9IDp0ZXh0CiAKLSNpZmRlZiBM
T0NLX1BST0ZJTEUKLSAgLiA9IEFMSUdOKDMyKTsKLSAgX19sb2NrX3Byb2ZpbGVfc3RhcnQgPSAu
OwotICAubG9ja3Byb2ZpbGUuZGF0YSA6IHsgKigubG9ja3Byb2ZpbGUuZGF0YSkgfSA6dGV4dAot
ICBfX2xvY2tfcHJvZmlsZV9lbmQgPSAuOwotI2VuZGlmCi0KICAgLiA9IEFMSUdOKDgpOwogICAu
YXJjaC5pbmZvIDogewogICAgICAgX3NwbGF0Zm9ybSA9IC47CmRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCBiM2ViMjA3Li5h
MjM3MzU5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNo
L3g4Ni94ZW4ubGRzLlMKQEAgLTY1LDYgKzY1LDEzIEBAIFNFQ1RJT05TCiAKICAgICAgICAqKC5y
b2RhdGEpCiAgICAgICAgKigucm9kYXRhLiopCisKKyNpZmRlZiBMT0NLX1BST0ZJTEUKKyAgICAg
ICAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7CisgICAgICAgX19sb2NrX3Byb2ZpbGVfc3RhcnQg
PSAuOworICAgICAgICooLmxvY2twcm9maWxlLmRhdGEpCisgICAgICAgX19sb2NrX3Byb2ZpbGVf
ZW5kID0gLjsKKyNlbmRpZgogICB9IDp0ZXh0CiAKICAgLiA9IEFMSUdOKFNNUF9DQUNIRV9CWVRF
Uyk7CkBAIC05NywxMyArMTA0LDYgQEAgU0VDVElPTlMKICAgICAgICBDT05TVFJVQ1RPUlMKICAg
fSA6dGV4dAogCi0jaWZkZWYgTE9DS19QUk9GSUxFCi0gIC4gPSBBTElHTigzMik7Ci0gIF9fbG9j
a19wcm9maWxlX3N0YXJ0ID0gLjsKLSAgLmxvY2twcm9maWxlLmRhdGEgOiB7ICooLmxvY2twcm9m
aWxlLmRhdGEpIH0gOnRleHQKLSAgX19sb2NrX3Byb2ZpbGVfZW5kID0gLjsKLSNlbmRpZgotCiAg
IC4gPSBBTElHTihQQUdFX1NJWkUpOyAgICAgICAgICAgICAvKiBJbml0IGNvZGUgYW5kIGRhdGEg
Ki8KICAgX19pbml0X2JlZ2luID0gLjsKICAgLmluaXQudGV4dCA6IHsKZGlmZiAtLWdpdCBhL3hl
bi9pbmNsdWRlL2FzbS1hcm0vY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2NvbmZpZy5o
CmluZGV4IGMzYTJjMzAuLmMwYWQ0NjkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0v
Y29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9jb25maWcuaApAQCAtMTUsNiArMTUs
NyBAQAogCiAjZGVmaW5lIEJZVEVTX1BFUl9MT05HICgxIDw8IExPTkdfQllURU9SREVSKQogI2Rl
ZmluZSBCSVRTX1BFUl9MT05HIChCWVRFU19QRVJfTE9ORyA8PCAzKQorI2RlZmluZSBQT0lOVEVS
X0FMSUdOIEJZVEVTX1BFUl9MT05HCiAKIC8qIHhlbl91bG9uZ190IGlzIGFsd2F5cyA2NCBiaXRz
ICovCiAjZGVmaW5lIEJJVFNfUEVSX1hFTl9VTE9ORyA2NApkaWZmIC0tZ2l0IGEveGVuL2luY2x1
ZGUvYXNtLXg4Ni9jb25maWcuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKaW5kZXgg
MDdmM2MxZi4uNzI5MWI1OSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcu
aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCkBAIC0xMyw2ICsxMyw3IEBACiAj
ZGVmaW5lIEJZVEVTX1BFUl9MT05HICgxIDw8IExPTkdfQllURU9SREVSKQogI2RlZmluZSBCSVRT
X1BFUl9MT05HIChCWVRFU19QRVJfTE9ORyA8PCAzKQogI2RlZmluZSBCSVRTX1BFUl9CWVRFIDgK
KyNkZWZpbmUgUE9JTlRFUl9BTElHTiBCWVRFU19QRVJfTE9ORwogCiAjZGVmaW5lIEJJVFNfUEVS
X1hFTl9VTE9ORyBCSVRTX1BFUl9MT05HCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9z
cGlubG9jay5oIGIveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmgKaW5kZXggNzdhYjdkNS4uODhi
NTNmOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmgKKysrIGIveGVuL2lu
Y2x1ZGUveGVuL3NwaW5sb2NrLmgKQEAgLTc5LDcgKzc5LDcgQEAgc3RydWN0IGxvY2tfcHJvZmls
ZV9xaGVhZCB7CiAKICNkZWZpbmUgX0xPQ0tfUFJPRklMRShuYW1lKSB7IDAsICNuYW1lLCAmbmFt
ZSwgMCwgMCwgMCwgMCwgMCB9CiAjZGVmaW5lIF9MT0NLX1BST0ZJTEVfUFRSKG5hbWUpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgc3RhdGljIHN0
cnVjdCBsb2NrX3Byb2ZpbGUgKl9fbG9ja19wcm9maWxlXyMjbmFtZSAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgc3RhdGljIHN0cnVjdCBsb2NrX3Byb2ZpbGUgKiBjb25zdCBfX2xvY2tf
cHJvZmlsZV8jI25hbWUgICAgICAgICAgICAgICAgICBcCiAgICAgX191c2VkX3NlY3Rpb24oIi5s
b2NrcHJvZmlsZS5kYXRhIikgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgJl9fbG9ja19wcm9maWxlX2RhdGFfIyNuYW1lCiAjZGVmaW5lIF9TUElOX0xPQ0tfVU5M
T0NLRUQoeCkgeyB7IDAgfSwgU1BJTkxPQ0tfTk9fQ1BVLCAwLCBfTE9DS19ERUJVRywgeCB9Ci0t
CmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0
ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1j
aGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8v
bGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTN-0004PM-RQ; Sat, 27 Feb 2016 06:35:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTN-0004PC-AP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:25 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
 9D/3F-02992-CA341D65; Sat, 27 Feb 2016 06:35:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1456554923!25059804!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24466 invoked from network); 27 Feb 2016 06:35:24 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-14.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTK-0008G4-W3
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTK-0004Q6-Rh
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTK-0004Q6-Rh@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:22 +0000
Subject: [Xen-changelog] [xen master] x86: improvements to build-time
	pagetable generation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDBjMTVjNDlkNDIwOWJkYjdiZmE4MjJlOGViYmZlMTA4MDE1ZjU0ZWIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNDo0NCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNDo0NCAyMDE2ICsw
MTAwCgogICAgeDg2OiBpbXByb3ZlbWVudHMgdG8gYnVpbGQtdGltZSBwYWdldGFibGUgZ2VuZXJh
dGlvbgogICAgCiAgICAgKiBBZGRpdGlvbmFsIGNvbW1lbnRzLCBpbmNsdWRpbmcgc2l6ZSBhbmQg
cnVudGltZSB1c2UuCiAgICAgKiBDb25zaXN0ZW50IHVzZSBvZiAucXVhZCwgcmF0aGVyIHRoYW4g
YSBtaXggaW5jbHVkaW5nIC5sb25nLgogICAgCiAgICBObyBjaGFuZ2UgaW4gcnVudGltZSBiZWhh
dmlvdXIuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TIHwgMjUgKysrKysrKysrKysr
KysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDcgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgYi94ZW4vYXJj
aC94ODYvYm9vdC94ODZfNjQuUwppbmRleCA5NGNmMDg5Li45ZGYzOTAyIDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQu
UwpAQCAtODYsMzIgKzg2LDQwIEBAIEdMT0JBTChfX3BhZ2VfdGFibGVzX3N0YXJ0KQogICogTWFw
cGluZyBvZiBmaXJzdCAyIG1lZ2FieXRlcyBvZiBtZW1vcnkuIFRoaXMgaXMgbWFwcGVkIHdpdGgg
NGtCIG1hcHBpbmdzCiAgKiB0byBhdm9pZCB0eXBlIGNvbmZsaWN0cyB3aXRoIGZpeGVkLXJhbmdl
IE1UUlJzIGNvdmVyaW5nIHRoZSBsb3dlc3QgbWVnYWJ5dGUKICAqIG9mIHBoeXNpY2FsIG1lbW9y
eS4gSW4gYW55IGNhc2UgdGhlIFZHQSBob2xlIHNob3VsZCBiZSBtYXBwZWQgd2l0aCB0eXBlIFVD
LgorICogVXNlcyAxeCA0ayBwYWdlLgogICovCiBHTE9CQUwobDFfaWRlbnRtYXApCiAgICAgICAg
IHBmbiA9IDAKICAgICAgICAgLnJlcHQgTDFfUEFHRVRBQkxFX0VOVFJJRVMKICAgICAgICAgLyog
VkdBIGhvbGUgKDB4YTAwMDAtMHhjMDAwMCkgc2hvdWxkIGJlIG1hcHBlZCBVQy4gKi8KICAgICAg
ICAgLmlmIHBmbiA+PSAweGEwICYmIHBmbiA8IDB4YzAKLSAgICAgICAgLmxvbmcgKHBmbiA8PCBQ
QUdFX1NISUZUKSB8IFBBR0VfSFlQRVJWSVNPUl9OT0NBQ0hFIHwgTUFQX1NNQUxMX1BBR0VTCisg
ICAgICAgIC5xdWFkIChwZm4gPDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1JfTk9DQUNI
RSB8IE1BUF9TTUFMTF9QQUdFUwogICAgICAgICAuZWxzZQotICAgICAgICAubG9uZyAocGZuIDw8
IFBBR0VfU0hJRlQpIHwgUEFHRV9IWVBFUlZJU09SIHwgTUFQX1NNQUxMX1BBR0VTCisgICAgICAg
IC5xdWFkIChwZm4gPDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1IgfCBNQVBfU01BTExf
UEFHRVMKICAgICAgICAgLmVuZGlmCi0gICAgICAgIC5sb25nIDAKICAgICAgICAgcGZuID0gcGZu
ICsgMQogICAgICAgICAuZW5kcgogICAgICAgICAuc2l6ZSBsMV9pZGVudG1hcCwgLiAtIGwxX2lk
ZW50bWFwCiAKLS8qIE1hcHBpbmcgb2YgZmlyc3QgMTYgbWVnYWJ5dGVzIG9mIG1lbW9yeS4gKi8K
Ky8qCisgKiBTcGFjZSBmb3IgbWFwcGluZyB0aGUgZmlyc3QgNEdCIG9mIG1lbW9yeSwgd2l0aCB0
aGUgZmlyc3QgMTYgbWVnYWJ5dGVzCisgKiBhY3R1YWx5IG1hcHBlZCAobW9zdGx5IHVzaW5nIHN1
cGVycGFnZXMpLiAgVXNlcyA0eCA0ayBwYWdlcy4KKyAqLwogR0xPQkFMKGwyX2lkZW50bWFwKQog
ICAgICAgICAucXVhZCBzeW1fcGh5cyhsMV9pZGVudG1hcCkgKyBfX1BBR0VfSFlQRVJWSVNPUgot
ICAgICAgICBwZm4gPSAwCisgICAgICAgIGlkeCA9IDEKICAgICAgICAgLnJlcHQgNwotICAgICAg
ICBwZm4gPSBwZm4gKyAoMSA8PCBQQUdFVEFCTEVfT1JERVIpCi0gICAgICAgIC5xdWFkIChwZm4g
PDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QU0UKKyAgICAgICAgLnF1
YWQgKGlkeCA8PCBMMl9QQUdFVEFCTEVfU0hJRlQpIHwgUEFHRV9IWVBFUlZJU09SIHwgX1BBR0Vf
UFNFCisgICAgICAgIGlkeCA9IGlkeCArIDEKICAgICAgICAgLmVuZHIKICAgICAgICAgLmZpbGwg
NCAqIEwyX1BBR0VUQUJMRV9FTlRSSUVTIC0gOCwgOCwgMAogICAgICAgICAuc2l6ZSBsMl9pZGVu
dG1hcCwgLiAtIGwyX2lkZW50bWFwCiAKKy8qCisgKiBMMiBtYXBwaW5nIHRoZSAxR0IgWGVuIHRl
eHQvZGF0YS9ic3MgcmVnaW9uLiAgQXQgYm9vdCBpdCBtYXBzIDE2TUIgZnJvbQorICogX19pbWFn
ZV9iYXNlX18sIGFuZCBpcyBtb2RpZmllZCB3aGVuIFhlbiByZWxvY2F0ZXMgaXRzZWxmLiAgVXNl
cyAxeCA0aworICogcGFnZS4KKyAqLwogR0xPQkFMKGwyX3hlbm1hcCkKICAgICAgICAgaWR4ID0g
MAogICAgICAgICAucmVwdCA4CkBAIC0xMjEsNiArMTI5LDcgQEAgR0xPQkFMKGwyX3hlbm1hcCkK
ICAgICAgICAgLmZpbGwgTDJfUEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCiAgICAgICAgIC5z
aXplIGwyX3hlbm1hcCwgLiAtIGwyX3hlbm1hcAogCisvKiBMMiBtYXBwaW5nIHRoZSBmaXhtYXAu
ICBVc2VzIDF4IDRrIHBhZ2UuICovCiBsMl9maXhtYXA6CiAgICAgICAgIGlkeCA9IDAKICAgICAg
ICAgLnJlcHQgTDJfUEFHRVRBQkxFX0VOVFJJRVMKQEAgLTEzMyw2ICsxNDIsNyBAQCBsMl9maXht
YXA6CiAgICAgICAgIC5lbmRyCiAgICAgICAgIC5zaXplIGwyX2ZpeG1hcCwgLiAtIGwyX2ZpeG1h
cAogCisvKiBJZGVudGl0eSBtYXAsIGNvdmVyaW5nIHRoZSA0IGwyX2lkZW50bWFwIHRhYmxlcy4g
IFVzZXMgMXggNGsgcGFnZS4gKi8KIEdMT0JBTChsM19pZGVudG1hcCkKICAgICAgICAgaWR4ID0g
MAogICAgICAgICAucmVwdCA0CkBAIC0xNDIsNiArMTUyLDcgQEAgR0xPQkFMKGwzX2lkZW50bWFw
KQogICAgICAgICAuZmlsbCBMM19QQUdFVEFCTEVfRU5UUklFUyAtIDQsIDgsIDAKICAgICAgICAg
LnNpemUgbDNfaWRlbnRtYXAsIC4gLSBsM19pZGVudG1hcAogCisvKiBMMyBtYXBwaW5nIHRoZSBm
aXhtYXAuICBVc2VzIDF4IDRrIHBhZ2UuICovCiBsM194ZW5tYXA6CiAgICAgICAgIGlkeCA9IDAK
ICAgICAgICAgLnJlcHQgTDNfUEFHRVRBQkxFX0VOVFJJRVMKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1w
YXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxp
c3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29t
L3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTN-0004PM-RQ; Sat, 27 Feb 2016 06:35:25 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTN-0004PC-AP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:25 +0000
Received: from [85.158.139.211] by server-14.bemta-5.messagelabs.com id
 9D/3F-02992-CA341D65; Sat, 27 Feb 2016 06:35:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1456554923!25059804!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24466 invoked from network); 27 Feb 2016 06:35:24 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-14.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:24 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTK-0008G4-W3
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTK-0004Q6-Rh
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTK-0004Q6-Rh@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:22 +0000
Subject: [Xen-changelog] [xen master] x86: improvements to build-time
	pagetable generation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDBjMTVjNDlkNDIwOWJkYjdiZmE4MjJlOGViYmZlMTA4MDE1ZjU0ZWIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNDo0NCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNDo0NCAyMDE2ICsw
MTAwCgogICAgeDg2OiBpbXByb3ZlbWVudHMgdG8gYnVpbGQtdGltZSBwYWdldGFibGUgZ2VuZXJh
dGlvbgogICAgCiAgICAgKiBBZGRpdGlvbmFsIGNvbW1lbnRzLCBpbmNsdWRpbmcgc2l6ZSBhbmQg
cnVudGltZSB1c2UuCiAgICAgKiBDb25zaXN0ZW50IHVzZSBvZiAucXVhZCwgcmF0aGVyIHRoYW4g
YSBtaXggaW5jbHVkaW5nIC5sb25nLgogICAgCiAgICBObyBjaGFuZ2UgaW4gcnVudGltZSBiZWhh
dmlvdXIuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9ib290L3g4Nl82NC5TIHwgMjUgKysrKysrKysrKysr
KysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDcgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgYi94ZW4vYXJj
aC94ODYvYm9vdC94ODZfNjQuUwppbmRleCA5NGNmMDg5Li45ZGYzOTAyIDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQu
UwpAQCAtODYsMzIgKzg2LDQwIEBAIEdMT0JBTChfX3BhZ2VfdGFibGVzX3N0YXJ0KQogICogTWFw
cGluZyBvZiBmaXJzdCAyIG1lZ2FieXRlcyBvZiBtZW1vcnkuIFRoaXMgaXMgbWFwcGVkIHdpdGgg
NGtCIG1hcHBpbmdzCiAgKiB0byBhdm9pZCB0eXBlIGNvbmZsaWN0cyB3aXRoIGZpeGVkLXJhbmdl
IE1UUlJzIGNvdmVyaW5nIHRoZSBsb3dlc3QgbWVnYWJ5dGUKICAqIG9mIHBoeXNpY2FsIG1lbW9y
eS4gSW4gYW55IGNhc2UgdGhlIFZHQSBob2xlIHNob3VsZCBiZSBtYXBwZWQgd2l0aCB0eXBlIFVD
LgorICogVXNlcyAxeCA0ayBwYWdlLgogICovCiBHTE9CQUwobDFfaWRlbnRtYXApCiAgICAgICAg
IHBmbiA9IDAKICAgICAgICAgLnJlcHQgTDFfUEFHRVRBQkxFX0VOVFJJRVMKICAgICAgICAgLyog
VkdBIGhvbGUgKDB4YTAwMDAtMHhjMDAwMCkgc2hvdWxkIGJlIG1hcHBlZCBVQy4gKi8KICAgICAg
ICAgLmlmIHBmbiA+PSAweGEwICYmIHBmbiA8IDB4YzAKLSAgICAgICAgLmxvbmcgKHBmbiA8PCBQ
QUdFX1NISUZUKSB8IFBBR0VfSFlQRVJWSVNPUl9OT0NBQ0hFIHwgTUFQX1NNQUxMX1BBR0VTCisg
ICAgICAgIC5xdWFkIChwZm4gPDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1JfTk9DQUNI
RSB8IE1BUF9TTUFMTF9QQUdFUwogICAgICAgICAuZWxzZQotICAgICAgICAubG9uZyAocGZuIDw8
IFBBR0VfU0hJRlQpIHwgUEFHRV9IWVBFUlZJU09SIHwgTUFQX1NNQUxMX1BBR0VTCisgICAgICAg
IC5xdWFkIChwZm4gPDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1IgfCBNQVBfU01BTExf
UEFHRVMKICAgICAgICAgLmVuZGlmCi0gICAgICAgIC5sb25nIDAKICAgICAgICAgcGZuID0gcGZu
ICsgMQogICAgICAgICAuZW5kcgogICAgICAgICAuc2l6ZSBsMV9pZGVudG1hcCwgLiAtIGwxX2lk
ZW50bWFwCiAKLS8qIE1hcHBpbmcgb2YgZmlyc3QgMTYgbWVnYWJ5dGVzIG9mIG1lbW9yeS4gKi8K
Ky8qCisgKiBTcGFjZSBmb3IgbWFwcGluZyB0aGUgZmlyc3QgNEdCIG9mIG1lbW9yeSwgd2l0aCB0
aGUgZmlyc3QgMTYgbWVnYWJ5dGVzCisgKiBhY3R1YWx5IG1hcHBlZCAobW9zdGx5IHVzaW5nIHN1
cGVycGFnZXMpLiAgVXNlcyA0eCA0ayBwYWdlcy4KKyAqLwogR0xPQkFMKGwyX2lkZW50bWFwKQog
ICAgICAgICAucXVhZCBzeW1fcGh5cyhsMV9pZGVudG1hcCkgKyBfX1BBR0VfSFlQRVJWSVNPUgot
ICAgICAgICBwZm4gPSAwCisgICAgICAgIGlkeCA9IDEKICAgICAgICAgLnJlcHQgNwotICAgICAg
ICBwZm4gPSBwZm4gKyAoMSA8PCBQQUdFVEFCTEVfT1JERVIpCi0gICAgICAgIC5xdWFkIChwZm4g
PDwgUEFHRV9TSElGVCkgfCBQQUdFX0hZUEVSVklTT1IgfCBfUEFHRV9QU0UKKyAgICAgICAgLnF1
YWQgKGlkeCA8PCBMMl9QQUdFVEFCTEVfU0hJRlQpIHwgUEFHRV9IWVBFUlZJU09SIHwgX1BBR0Vf
UFNFCisgICAgICAgIGlkeCA9IGlkeCArIDEKICAgICAgICAgLmVuZHIKICAgICAgICAgLmZpbGwg
NCAqIEwyX1BBR0VUQUJMRV9FTlRSSUVTIC0gOCwgOCwgMAogICAgICAgICAuc2l6ZSBsMl9pZGVu
dG1hcCwgLiAtIGwyX2lkZW50bWFwCiAKKy8qCisgKiBMMiBtYXBwaW5nIHRoZSAxR0IgWGVuIHRl
eHQvZGF0YS9ic3MgcmVnaW9uLiAgQXQgYm9vdCBpdCBtYXBzIDE2TUIgZnJvbQorICogX19pbWFn
ZV9iYXNlX18sIGFuZCBpcyBtb2RpZmllZCB3aGVuIFhlbiByZWxvY2F0ZXMgaXRzZWxmLiAgVXNl
cyAxeCA0aworICogcGFnZS4KKyAqLwogR0xPQkFMKGwyX3hlbm1hcCkKICAgICAgICAgaWR4ID0g
MAogICAgICAgICAucmVwdCA4CkBAIC0xMjEsNiArMTI5LDcgQEAgR0xPQkFMKGwyX3hlbm1hcCkK
ICAgICAgICAgLmZpbGwgTDJfUEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCiAgICAgICAgIC5z
aXplIGwyX3hlbm1hcCwgLiAtIGwyX3hlbm1hcAogCisvKiBMMiBtYXBwaW5nIHRoZSBmaXhtYXAu
ICBVc2VzIDF4IDRrIHBhZ2UuICovCiBsMl9maXhtYXA6CiAgICAgICAgIGlkeCA9IDAKICAgICAg
ICAgLnJlcHQgTDJfUEFHRVRBQkxFX0VOVFJJRVMKQEAgLTEzMyw2ICsxNDIsNyBAQCBsMl9maXht
YXA6CiAgICAgICAgIC5lbmRyCiAgICAgICAgIC5zaXplIGwyX2ZpeG1hcCwgLiAtIGwyX2ZpeG1h
cAogCisvKiBJZGVudGl0eSBtYXAsIGNvdmVyaW5nIHRoZSA0IGwyX2lkZW50bWFwIHRhYmxlcy4g
IFVzZXMgMXggNGsgcGFnZS4gKi8KIEdMT0JBTChsM19pZGVudG1hcCkKICAgICAgICAgaWR4ID0g
MAogICAgICAgICAucmVwdCA0CkBAIC0xNDIsNiArMTUyLDcgQEAgR0xPQkFMKGwzX2lkZW50bWFw
KQogICAgICAgICAuZmlsbCBMM19QQUdFVEFCTEVfRU5UUklFUyAtIDQsIDgsIDAKICAgICAgICAg
LnNpemUgbDNfaWRlbnRtYXAsIC4gLSBsM19pZGVudG1hcAogCisvKiBMMyBtYXBwaW5nIHRoZSBm
aXhtYXAuICBVc2VzIDF4IDRrIHBhZ2UuICovCiBsM194ZW5tYXA6CiAgICAgICAgIGlkeCA9IDAK
ICAgICAgICAgLnJlcHQgTDNfUEFHRVRBQkxFX0VOVFJJRVMKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1w
YXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxp
c3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29t
L3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTY-0004RJ-TL; Sat, 27 Feb 2016 06:35:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTY-0004Qu-1b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
 9C/D6-02989-7B341D65; Sat, 27 Feb 2016 06:35:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554933!10938075!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60928 invoked from network); 27 Feb 2016 06:35:34 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTV-0008GE-K3
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTV-0004Qw-EG
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTV-0004Qw-EG@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:33 +0000
Subject: [Xen-changelog] [xen master] x86: construct the {l2,
	l3}_bootmap at compile time
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDJjZTU5NjM3MjdiNDBjOGJkNGYwODQ3M2YyYWI3YTQ0MjI1M2E4ODcKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNTowOSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNTowOSAyMDE2ICsw
MTAwCgogICAgeDg2OiBjb25zdHJ1Y3QgdGhlIHtsMixsM31fYm9vdG1hcCBhdCBjb21waWxlIHRp
bWUKICAgIAogICAgLi4uIHJhdGhlciB0aGFuIGF0IHJ1bnRpbWUuCiAgICAKICAgIFRoZSBib290
bWFwcyBhcmUgZGlzY2FyZGVkIGluIHphcF9sb3dfbWFwcGluZ3MoKSwgc28gdGhlIHRhYmxlcyB0
aGVtc2VsdmVzIGNhbgogICAgbGl2ZSBpbiAuaW5pdC5kYXRhIGFuZCBiZSByZWNsYWltZWQgYWZ0
ZXIgYm9vdC4KICAgIAogICAgSG9va2luZyB0aGUgbDFfaWRlbnRtYXAgaW50byBsMl94ZW5tYXAg
c3RheXMgZm9yIHNhZmV0eSwgYWxvbmcgd2l0aCBhIGxvbmdlcgogICAgY29tbWVudCBleHBsYWlu
aW5nIHdoeS4KICAgIAogICAgVGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIEVGSSBjb25zdHJ1Y3Rp
b24gb2Yge2wyLGwzfV9ib290bWFwLiAgRUZJIGFscmVhZHkKICAgIGNvbnN0cnVjdHMgdGhlbSBj
bGVhbmx5IGluIHRoZWlyIHJlbG9jYXRlZCBmb3JtLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvYm9vdC9o
ZWFkLlMgICB8IDE4ICsrKysrLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0
LlMgfCAxOSArKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgICB8
ICA0IC0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TIGIveGVuL2FyY2gveDg2
L2Jvb3QvaGVhZC5TCmluZGV4IGFjNDk2MmIuLmYzNTAxZmQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9ib290L2hlYWQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMKQEAgLTE1MCwy
MSArMTUwLDEzIEBAIF9fc3RhcnQ6CiAgICAgICAgIG1vdiAgICAgJWVheCxzeW1fcGh5cyhib290
X3RzY19zdGFtcCkKICAgICAgICAgbW92ICAgICAlZWR4LHN5bV9waHlzKGJvb3RfdHNjX3N0YW1w
KzQpCiAKLSAgICAgICAgLyogSW5pdGlhbGlzZSBMMiBib290LW1hcCBwYWdlIHRhYmxlIGVudHJp
ZXMgKDE2TUIpLiAqLwotICAgICAgICBtb3YgICAgICRzeW1fcGh5cyhsMl9ib290bWFwKSwlZWR4
Ci0gICAgICAgIG1vdiAgICAgJFBBR0VfSFlQRVJWSVNPUnxfUEFHRV9QU0UsJWVheAotICAgICAg
ICBtb3YgICAgICQ4LCVlY3gKLTE6ICAgICAgbW92ICAgICAlZWF4LCglZWR4KQotICAgICAgICBh
ZGQgICAgICQ4LCVlZHgKLSAgICAgICAgYWRkICAgICAkKDE8PEwyX1BBR0VUQUJMRV9TSElGVCks
JWVheAotICAgICAgICBsb29wICAgIDFiCi0gICAgICAgIC8qIEluaXRpYWxpc2UgTDMgYm9vdC1t
YXAgcGFnZSBkaXJlY3RvcnkgZW50cnkuICovCi0gICAgICAgIG1vdiAgICAgJHN5bV9waHlzKGwy
X2Jvb3RtYXApK19fUEFHRV9IWVBFUlZJU09SLCVlYXgKLSAgICAgICAgbW92ICAgICAlZWF4LHN5
bV9waHlzKGwzX2Jvb3RtYXApICsgMCo4Ci0gICAgICAgIC8qIEhvb2sgNGtCIG1hcHBpbmdzIG9m
IGZpcnN0IDJNQiBvZiBtZW1vcnkgaW50byBMMi4gKi8KKyAgICAgICAgLyoKKyAgICAgICAgICog
RHVyaW5nIGJvb3QsIGhvb2sgNGtCIG1hcHBpbmdzIG9mIGZpcnN0IDJNQiBvZiBtZW1vcnkgaW50
byBMMi4KKyAgICAgICAgICogVGhpcyBhdm9pZHMgbWl4aW5nIGNhY2hhYmlsaXR5IGZvciB0aGUg
bGVnYWN5IFZHQSByZWdpb24sIGFuZCBpcworICAgICAgICAgKiBjb3JyZWN0ZWQgd2hlbiBYZW4g
cmVsb2NhdGVzIGl0c2VsZi4KKyAgICAgICAgICovCiAgICAgICAgIG1vdiAgICAgJHN5bV9waHlz
KGwxX2lkZW50bWFwKStfX1BBR0VfSFlQRVJWSVNPUiwlZWRpCiAgICAgICAgIG1vdiAgICAgJWVk
aSxzeW1fcGh5cyhsMl94ZW5tYXApCi0gICAgICAgIG1vdiAgICAgJWVkaSxzeW1fcGh5cyhsMl9i
b290bWFwKQogCiAgICAgICAgIC8qIEFwcGx5IHJlbG9jYXRpb25zIHRvIGJvb3RzdHJhcCB0cmFt
cG9saW5lLiAqLwogICAgICAgICBtb3YgICAgIHN5bV9waHlzKHRyYW1wb2xpbmVfcGh5cyksJWVk
eApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgYi94ZW4vYXJjaC94ODYv
Ym9vdC94ODZfNjQuUwppbmRleCA5ZGYzOTAyLi45YWI5MjMxIDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUwpAQCAt
MTg0LDMgKzE4NCwyMiBAQCBHTE9CQUwoaWRsZV9wZ190YWJsZSkKICAgICAgICAgLnNpemUgaWRs
ZV9wZ190YWJsZSwgLiAtIGlkbGVfcGdfdGFibGUKIAogR0xPQkFMKF9fcGFnZV90YWJsZXNfZW5k
KQorCisvKiBJbml0IHBhZ2V0YWJsZXMuICBFbm91Z2ggcGFnZSBkaXJlY3RvcmllcyB0byBtYXAg
aW50byB0aGUgYm90dG9tIDFHQi4gKi8KKyAgICAgICAgLnNlY3Rpb24gLmluaXQuZGF0YSwgImEi
LCBAcHJvZ2JpdHMKKyAgICAgICAgLmFsaWduIFBBR0VfU0laRSwgMAorCitHTE9CQUwobDJfYm9v
dG1hcCkKKyAgICAgICAgLnF1YWQgc3ltX3BoeXMobDFfaWRlbnRtYXApICsgX19QQUdFX0hZUEVS
VklTT1IKKyAgICAgICAgaWR4ID0gMQorICAgICAgICAucmVwdCA3CisgICAgICAgIC5xdWFkIChp
ZHggPDwgTDJfUEFHRVRBQkxFX1NISUZUKSB8IF9fUEFHRV9IWVBFUlZJU09SIHwgX1BBR0VfUFNF
CisgICAgICAgIGlkeCA9IGlkeCArIDEKKyAgICAgICAgLmVuZHIKKyAgICAgICAgLmZpbGwgTDJf
UEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCisgICAgICAgIC5zaXplIGwyX2Jvb3RtYXAsIC4g
LSBsMl9ib290bWFwCisKK0dMT0JBTChsM19ib290bWFwKQorICAgICAgICAucXVhZCBzeW1fcGh5
cyhsMl9ib290bWFwKSArIF9fUEFHRV9IWVBFUlZJU09SCisgICAgICAgIC5maWxsIEwzX1BBR0VU
QUJMRV9FTlRSSUVTIC0gMSwgOCwgMAorICAgICAgICAuc2l6ZSBsM19ib290bWFwLCAuIC0gbDNf
Ym9vdG1hcApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gv
eDg2L3g4Nl82NC9tbS5jCmluZGV4IDIyMjg4OTguLmUwN2U2OWUgMTAwNjQ0Ci0tLSBhL3hlbi9h
cmNoL3g4Ni94ODZfNjQvbW0uYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAgLTQy
LDEwICs0Miw2IEBAIGFzbSgiLmZpbGUgXCIiIF9fRklMRV9fICJcIiIpOwogCiB1bnNpZ25lZCBp
bnQgX19yZWFkX21vc3RseSBtMnBfY29tcGF0X3ZzdGFydCA9IF9fSFlQRVJWSVNPUl9DT01QQVRf
VklSVF9TVEFSVDsKIAotLyogRW5vdWdoIHBhZ2UgZGlyZWN0b3JpZXMgdG8gbWFwIGludG8gdGhl
IGJvdHRvbSAxR0IuICovCi1sM19wZ2VudHJ5X3QgX19zZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25l
ZCIpIGwzX2Jvb3RtYXBbTDNfUEFHRVRBQkxFX0VOVFJJRVNdOwotbDJfcGdlbnRyeV90IF9fc2Vj
dGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSBsMl9ib290bWFwW0wyX1BBR0VUQUJMRV9FTlRSSUVT
XTsKLQogbDJfcGdlbnRyeV90ICpjb21wYXRfaWRsZV9wZ190YWJsZV9sMjsKIAogdm9pZCAqZG9f
cGFnZV93YWxrKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIGFkZHIpCi0tCmdlbmVyYXRl
ZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cg
bWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
c291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTY-0004RJ-TL; Sat, 27 Feb 2016 06:35:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTY-0004Qu-1b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:36 +0000
Received: from [85.158.139.211] by server-15.bemta-5.messagelabs.com id
 9C/D6-02989-7B341D65; Sat, 27 Feb 2016 06:35:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1456554933!10938075!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 60928 invoked from network); 27 Feb 2016 06:35:34 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:34 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTV-0008GE-K3
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTV-0004Qw-EG
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:33 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTV-0004Qw-EG@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:33 +0000
Subject: [Xen-changelog] [xen master] x86: construct the {l2,
	l3}_bootmap at compile time
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDJjZTU5NjM3MjdiNDBjOGJkNGYwODQ3M2YyYWI3YTQ0MjI1M2E4ODcKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNTowOSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNTowOSAyMDE2ICsw
MTAwCgogICAgeDg2OiBjb25zdHJ1Y3QgdGhlIHtsMixsM31fYm9vdG1hcCBhdCBjb21waWxlIHRp
bWUKICAgIAogICAgLi4uIHJhdGhlciB0aGFuIGF0IHJ1bnRpbWUuCiAgICAKICAgIFRoZSBib290
bWFwcyBhcmUgZGlzY2FyZGVkIGluIHphcF9sb3dfbWFwcGluZ3MoKSwgc28gdGhlIHRhYmxlcyB0
aGVtc2VsdmVzIGNhbgogICAgbGl2ZSBpbiAuaW5pdC5kYXRhIGFuZCBiZSByZWNsYWltZWQgYWZ0
ZXIgYm9vdC4KICAgIAogICAgSG9va2luZyB0aGUgbDFfaWRlbnRtYXAgaW50byBsMl94ZW5tYXAg
c3RheXMgZm9yIHNhZmV0eSwgYWxvbmcgd2l0aCBhIGxvbmdlcgogICAgY29tbWVudCBleHBsYWlu
aW5nIHdoeS4KICAgIAogICAgVGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIEVGSSBjb25zdHJ1Y3Rp
b24gb2Yge2wyLGwzfV9ib290bWFwLiAgRUZJIGFscmVhZHkKICAgIGNvbnN0cnVjdHMgdGhlbSBj
bGVhbmx5IGluIHRoZWlyIHJlbG9jYXRlZCBmb3JtLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvYm9vdC9o
ZWFkLlMgICB8IDE4ICsrKysrLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0
LlMgfCAxOSArKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgICB8
ICA0IC0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QvaGVhZC5TIGIveGVuL2FyY2gveDg2
L2Jvb3QvaGVhZC5TCmluZGV4IGFjNDk2MmIuLmYzNTAxZmQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo
L3g4Ni9ib290L2hlYWQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMKQEAgLTE1MCwy
MSArMTUwLDEzIEBAIF9fc3RhcnQ6CiAgICAgICAgIG1vdiAgICAgJWVheCxzeW1fcGh5cyhib290
X3RzY19zdGFtcCkKICAgICAgICAgbW92ICAgICAlZWR4LHN5bV9waHlzKGJvb3RfdHNjX3N0YW1w
KzQpCiAKLSAgICAgICAgLyogSW5pdGlhbGlzZSBMMiBib290LW1hcCBwYWdlIHRhYmxlIGVudHJp
ZXMgKDE2TUIpLiAqLwotICAgICAgICBtb3YgICAgICRzeW1fcGh5cyhsMl9ib290bWFwKSwlZWR4
Ci0gICAgICAgIG1vdiAgICAgJFBBR0VfSFlQRVJWSVNPUnxfUEFHRV9QU0UsJWVheAotICAgICAg
ICBtb3YgICAgICQ4LCVlY3gKLTE6ICAgICAgbW92ICAgICAlZWF4LCglZWR4KQotICAgICAgICBh
ZGQgICAgICQ4LCVlZHgKLSAgICAgICAgYWRkICAgICAkKDE8PEwyX1BBR0VUQUJMRV9TSElGVCks
JWVheAotICAgICAgICBsb29wICAgIDFiCi0gICAgICAgIC8qIEluaXRpYWxpc2UgTDMgYm9vdC1t
YXAgcGFnZSBkaXJlY3RvcnkgZW50cnkuICovCi0gICAgICAgIG1vdiAgICAgJHN5bV9waHlzKGwy
X2Jvb3RtYXApK19fUEFHRV9IWVBFUlZJU09SLCVlYXgKLSAgICAgICAgbW92ICAgICAlZWF4LHN5
bV9waHlzKGwzX2Jvb3RtYXApICsgMCo4Ci0gICAgICAgIC8qIEhvb2sgNGtCIG1hcHBpbmdzIG9m
IGZpcnN0IDJNQiBvZiBtZW1vcnkgaW50byBMMi4gKi8KKyAgICAgICAgLyoKKyAgICAgICAgICog
RHVyaW5nIGJvb3QsIGhvb2sgNGtCIG1hcHBpbmdzIG9mIGZpcnN0IDJNQiBvZiBtZW1vcnkgaW50
byBMMi4KKyAgICAgICAgICogVGhpcyBhdm9pZHMgbWl4aW5nIGNhY2hhYmlsaXR5IGZvciB0aGUg
bGVnYWN5IFZHQSByZWdpb24sIGFuZCBpcworICAgICAgICAgKiBjb3JyZWN0ZWQgd2hlbiBYZW4g
cmVsb2NhdGVzIGl0c2VsZi4KKyAgICAgICAgICovCiAgICAgICAgIG1vdiAgICAgJHN5bV9waHlz
KGwxX2lkZW50bWFwKStfX1BBR0VfSFlQRVJWSVNPUiwlZWRpCiAgICAgICAgIG1vdiAgICAgJWVk
aSxzeW1fcGh5cyhsMl94ZW5tYXApCi0gICAgICAgIG1vdiAgICAgJWVkaSxzeW1fcGh5cyhsMl9i
b290bWFwKQogCiAgICAgICAgIC8qIEFwcGx5IHJlbG9jYXRpb25zIHRvIGJvb3RzdHJhcCB0cmFt
cG9saW5lLiAqLwogICAgICAgICBtb3YgICAgIHN5bV9waHlzKHRyYW1wb2xpbmVfcGh5cyksJWVk
eApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMgYi94ZW4vYXJjaC94ODYv
Ym9vdC94ODZfNjQuUwppbmRleCA5ZGYzOTAyLi45YWI5MjMxIDEwMDY0NAotLS0gYS94ZW4vYXJj
aC94ODYvYm9vdC94ODZfNjQuUworKysgYi94ZW4vYXJjaC94ODYvYm9vdC94ODZfNjQuUwpAQCAt
MTg0LDMgKzE4NCwyMiBAQCBHTE9CQUwoaWRsZV9wZ190YWJsZSkKICAgICAgICAgLnNpemUgaWRs
ZV9wZ190YWJsZSwgLiAtIGlkbGVfcGdfdGFibGUKIAogR0xPQkFMKF9fcGFnZV90YWJsZXNfZW5k
KQorCisvKiBJbml0IHBhZ2V0YWJsZXMuICBFbm91Z2ggcGFnZSBkaXJlY3RvcmllcyB0byBtYXAg
aW50byB0aGUgYm90dG9tIDFHQi4gKi8KKyAgICAgICAgLnNlY3Rpb24gLmluaXQuZGF0YSwgImEi
LCBAcHJvZ2JpdHMKKyAgICAgICAgLmFsaWduIFBBR0VfU0laRSwgMAorCitHTE9CQUwobDJfYm9v
dG1hcCkKKyAgICAgICAgLnF1YWQgc3ltX3BoeXMobDFfaWRlbnRtYXApICsgX19QQUdFX0hZUEVS
VklTT1IKKyAgICAgICAgaWR4ID0gMQorICAgICAgICAucmVwdCA3CisgICAgICAgIC5xdWFkIChp
ZHggPDwgTDJfUEFHRVRBQkxFX1NISUZUKSB8IF9fUEFHRV9IWVBFUlZJU09SIHwgX1BBR0VfUFNF
CisgICAgICAgIGlkeCA9IGlkeCArIDEKKyAgICAgICAgLmVuZHIKKyAgICAgICAgLmZpbGwgTDJf
UEFHRVRBQkxFX0VOVFJJRVMgLSA4LCA4LCAwCisgICAgICAgIC5zaXplIGwyX2Jvb3RtYXAsIC4g
LSBsMl9ib290bWFwCisKK0dMT0JBTChsM19ib290bWFwKQorICAgICAgICAucXVhZCBzeW1fcGh5
cyhsMl9ib290bWFwKSArIF9fUEFHRV9IWVBFUlZJU09SCisgICAgICAgIC5maWxsIEwzX1BBR0VU
QUJMRV9FTlRSSUVTIC0gMSwgOCwgMAorICAgICAgICAuc2l6ZSBsM19ib290bWFwLCAuIC0gbDNf
Ym9vdG1hcApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gv
eDg2L3g4Nl82NC9tbS5jCmluZGV4IDIyMjg4OTguLmUwN2U2OWUgMTAwNjQ0Ci0tLSBhL3hlbi9h
cmNoL3g4Ni94ODZfNjQvbW0uYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAgLTQy
LDEwICs0Miw2IEBAIGFzbSgiLmZpbGUgXCIiIF9fRklMRV9fICJcIiIpOwogCiB1bnNpZ25lZCBp
bnQgX19yZWFkX21vc3RseSBtMnBfY29tcGF0X3ZzdGFydCA9IF9fSFlQRVJWSVNPUl9DT01QQVRf
VklSVF9TVEFSVDsKIAotLyogRW5vdWdoIHBhZ2UgZGlyZWN0b3JpZXMgdG8gbWFwIGludG8gdGhl
IGJvdHRvbSAxR0IuICovCi1sM19wZ2VudHJ5X3QgX19zZWN0aW9uKCIuYnNzLnBhZ2VfYWxpZ25l
ZCIpIGwzX2Jvb3RtYXBbTDNfUEFHRVRBQkxFX0VOVFJJRVNdOwotbDJfcGdlbnRyeV90IF9fc2Vj
dGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSBsMl9ib290bWFwW0wyX1BBR0VUQUJMRV9FTlRSSUVT
XTsKLQogbDJfcGdlbnRyeV90ICpjb21wYXRfaWRsZV9wZ190YWJsZV9sMjsKIAogdm9pZCAqZG9f
cGFnZV93YWxrKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25nIGFkZHIpCi0tCmdlbmVyYXRl
ZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cg
bWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
c291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTj-0004Tp-VB; Sat, 27 Feb 2016 06:35:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTi-0004TZ-Nq
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:46 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
 A0/4F-02979-2C341D65; Sat, 27 Feb 2016 06:35:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456554944!26204385!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46902 invoked from network); 27 Feb 2016 06:35:45 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTg-0008GO-AP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTg-0004RK-5m
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTg-0004RK-5m@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:44 +0000
Subject: [Xen-changelog] [xen master] memguard: drop memguard_init() entirely
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGEzZDdmYTAwZDE2ODMxYjYwZWM4M2U1MWE4ZjU1ZTdlNmI1NTc4MWYKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNTozMyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNTozMyAyMDE2ICsw
MTAwCgogICAgbWVtZ3VhcmQ6IGRyb3AgbWVtZ3VhcmRfaW5pdCgpIGVudGlyZWx5CiAgICAKICAg
IFRoZSB1c2Ugb2YgTUFQX1NNQUxMX1BBR0VTIGNhdXNlcyBzaGF0dGVyaW5nIG9mIHRoZSBzdXBl
cnBhZ2VzIG1ha2luZyB1cCB0aGUKICAgIFhlbiB2aXJ0dWFsIHJlZ2lvbiwgYW5kIGlzIGNvdW50
ZXIgdG8gdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZXJpZXMuCiAgICBGdXJ0aGVybW9yZSwgaXQgaXMg
bm90IHJlcXVpcmVkIGZvciB0aGUgbWVtZ3VhcmQgaW5mcmFzdHJ1Y3R1cmUgdG8gZnVuY3Rpb24K
ICAgICh3aGljaCBpdHNlbGYgdXNlcyBtYXBfcGFnZXNfdG9feGVuKCkgZm9yIGNyZWF0aW5nIGhv
bGVzKS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3Vz
ZS5jb20+CiAgICBBY2tlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxp
bmlAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgfCAxNiAtLS0tLS0t
LS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgfCAgMiAtLQogeGVuL2luY2x1ZGUv
YXNtLWFybS9tbS5oIHwgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDIgLS0KIDQg
ZmlsZXMgY2hhbmdlZCwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCBkNmFhZWQ4Li5lZDhhYjAyIDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNjM0Niwy
MiArNjM0Niw2IEBAIHZvaWQgZnJlZV9wZXJkb21haW5fbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAq
ZCkKIAogI2lmZGVmIE1FTU9SWV9HVUFSRAogCi12b2lkIG1lbWd1YXJkX2luaXQodm9pZCkKLXsK
LSAgICB1bnNpZ25lZCBsb25nIHN0YXJ0ID0gbWF4X3QodW5zaWduZWQgbG9uZywgeGVuX3BoeXNf
c3RhcnQsIDFVTCA8PCAyMCk7Ci0gICAgbWFwX3BhZ2VzX3RvX3hlbigKLSAgICAgICAgKHVuc2ln
bmVkIGxvbmcpX192YShzdGFydCksCi0gICAgICAgIHN0YXJ0ID4+IFBBR0VfU0hJRlQsCi0gICAg
ICAgIChfX3BhKCZfZW5kKSArIFBBR0VfU0laRSAtIDEgLSBzdGFydCkgPj4gUEFHRV9TSElGVCwK
LSAgICAgICAgX19QQUdFX0hZUEVSVklTT1JfUld8TUFQX1NNQUxMX1BBR0VTKTsKLSAgICBCVUdf
T04oc3RhcnQgIT0geGVuX3BoeXNfc3RhcnQpOwotICAgIG1hcF9wYWdlc190b194ZW4oCi0gICAg
ICAgIFhFTl9WSVJUX1NUQVJULAotICAgICAgICBzdGFydCA+PiBQQUdFX1NISUZULAotICAgICAg
ICAoX19wYSgmX2VuZCkgKyBQQUdFX1NJWkUgLSAxIC0gc3RhcnQpID4+IFBBR0VfU0hJRlQsCi0g
ICAgICAgIF9fUEFHRV9IWVBFUlZJU09SfE1BUF9TTUFMTF9QQUdFUyk7Ci19Ci0KIHN0YXRpYyB2
b2lkIF9fbWVtZ3VhcmRfY2hhbmdlX3JhbmdlKHZvaWQgKnAsIHVuc2lnbmVkIGxvbmcgbCwgaW50
IGd1YXJkKQogewogICAgIHVuc2lnbmVkIGxvbmcgX3AgPSAodW5zaWduZWQgbG9uZylwOwpkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwppbmRl
eCBiOGEyOGQ3Li5jZGRmOTU0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYworKysg
Yi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtMTE0Niw4ICsxMTQ2LDYgQEAgdm9pZCBfX2luaXQg
bm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICAgICAgICAgICAg
ICAgICB+KCgxVUwgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSAtIDEpOwogICAgIGRlc3Ryb3lfeGVu
X21hcHBpbmdzKHhlbl92aXJ0X2VuZCwgWEVOX1ZJUlRfU1RBUlQgKyBCT09UU1RSQVBfTUFQX0JB
U0UpOwogCi0gICAgbWVtZ3VhcmRfaW5pdCgpOwotCiAgICAgbnJfcGFnZXMgPSAwOwogICAgIGZv
ciAoIGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKyApCiAgICAgICAgIGlmICggZTgyMC5tYXBb
aV0udHlwZSA9PSBFODIwX1JBTSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL21t
LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKaW5kZXggMmU5ZDBiMi4uNjhjZjIwMyAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1h
cm0vbW0uaApAQCAtMzMxLDcgKzMzMSw2IEBAIHVuc2lnbmVkIGxvbmcgZG9tYWluX2dldF9tYXhp
bXVtX2dwZm4oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGV4dGVybiBzdHJ1Y3QgZG9tYWluICpkb21f
eGVuLCAqZG9tX2lvLCAqZG9tX2NvdzsKIAotI2RlZmluZSBtZW1ndWFyZF9pbml0KF9zKSAgICAg
ICAgICAgICAgKF9zKQogI2RlZmluZSBtZW1ndWFyZF9ndWFyZF9zdGFjayhfcCkgICAgICAgKCh2
b2lkKTApCiAjZGVmaW5lIG1lbWd1YXJkX2d1YXJkX3JhbmdlKF9wLF9sKSAgICAoKHZvaWQpMCkK
ICNkZWZpbmUgbWVtZ3VhcmRfdW5ndWFyZF9yYW5nZShfcCxfbCkgICgodm9pZCkwKQpkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5o
CmluZGV4IGEwOTczODIuLjIzYTQwOTIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
bW0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKQEAgLTQ3OSwxMSArNDc5LDkgQEAg
ZXh0ZXJuIHN0cnVjdCByYW5nZXNldCAqbW1pb19yb19yYW5nZXM7CiAjZGVmaW5lIGNvbXBhdF9j
cjNfdG9fcGZuKGNyMykgKCgodW5zaWduZWQpKGNyMykgPj4gMTIpIHwgKCh1bnNpZ25lZCkoY3Iz
KSA8PCAyMCkpCiAKICNpZmRlZiBNRU1PUllfR1VBUkQKLXZvaWQgbWVtZ3VhcmRfaW5pdCh2b2lk
KTsKIHZvaWQgbWVtZ3VhcmRfZ3VhcmRfcmFuZ2Uodm9pZCAqcCwgdW5zaWduZWQgbG9uZyBsKTsK
IHZvaWQgbWVtZ3VhcmRfdW5ndWFyZF9yYW5nZSh2b2lkICpwLCB1bnNpZ25lZCBsb25nIGwpOwog
I2Vsc2UKLSNkZWZpbmUgbWVtZ3VhcmRfaW5pdCgpICAgICAgICAgICAgICAgICgodm9pZCkwKQog
I2RlZmluZSBtZW1ndWFyZF9ndWFyZF9yYW5nZShfcCxfbCkgICAgKCh2b2lkKTApCiAjZGVmaW5l
IG1lbWd1YXJkX3VuZ3VhcmRfcmFuZ2UoX3AsX2wpICAoKHZvaWQpMCkKICNlbmRpZgotLQpnZW5l
cmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdl
bG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz
LnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:35:48 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTj-0004Tp-VB; Sat, 27 Feb 2016 06:35:47 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTi-0004TZ-Nq
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:46 +0000
Received: from [193.109.254.147] by server-12.bemta-14.messagelabs.com id
 A0/4F-02979-2C341D65; Sat, 27 Feb 2016 06:35:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1456554944!26204385!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 46902 invoked from network); 27 Feb 2016 06:35:45 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:45 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTg-0008GO-AP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTg-0004RK-5m
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:44 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTg-0004RK-5m@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:44 +0000
Subject: [Xen-changelog] [xen master] memguard: drop memguard_init() entirely
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGEzZDdmYTAwZDE2ODMxYjYwZWM4M2U1MWE4ZjU1ZTdlNmI1NTc4MWYKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNTozMyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNTozMyAyMDE2ICsw
MTAwCgogICAgbWVtZ3VhcmQ6IGRyb3AgbWVtZ3VhcmRfaW5pdCgpIGVudGlyZWx5CiAgICAKICAg
IFRoZSB1c2Ugb2YgTUFQX1NNQUxMX1BBR0VTIGNhdXNlcyBzaGF0dGVyaW5nIG9mIHRoZSBzdXBl
cnBhZ2VzIG1ha2luZyB1cCB0aGUKICAgIFhlbiB2aXJ0dWFsIHJlZ2lvbiwgYW5kIGlzIGNvdW50
ZXIgdG8gdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZXJpZXMuCiAgICBGdXJ0aGVybW9yZSwgaXQgaXMg
bm90IHJlcXVpcmVkIGZvciB0aGUgbWVtZ3VhcmQgaW5mcmFzdHJ1Y3R1cmUgdG8gZnVuY3Rpb24K
ICAgICh3aGljaCBpdHNlbGYgdXNlcyBtYXBfcGFnZXNfdG9feGVuKCkgZm9yIGNyZWF0aW5nIGhv
bGVzKS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3Vz
ZS5jb20+CiAgICBBY2tlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxp
bmlAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgfCAxNiAtLS0tLS0t
LS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgfCAgMiAtLQogeGVuL2luY2x1ZGUv
YXNtLWFybS9tbS5oIHwgIDEgLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDIgLS0KIDQg
ZmlsZXMgY2hhbmdlZCwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCBkNmFhZWQ4Li5lZDhhYjAyIDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNjM0Niwy
MiArNjM0Niw2IEBAIHZvaWQgZnJlZV9wZXJkb21haW5fbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAq
ZCkKIAogI2lmZGVmIE1FTU9SWV9HVUFSRAogCi12b2lkIG1lbWd1YXJkX2luaXQodm9pZCkKLXsK
LSAgICB1bnNpZ25lZCBsb25nIHN0YXJ0ID0gbWF4X3QodW5zaWduZWQgbG9uZywgeGVuX3BoeXNf
c3RhcnQsIDFVTCA8PCAyMCk7Ci0gICAgbWFwX3BhZ2VzX3RvX3hlbigKLSAgICAgICAgKHVuc2ln
bmVkIGxvbmcpX192YShzdGFydCksCi0gICAgICAgIHN0YXJ0ID4+IFBBR0VfU0hJRlQsCi0gICAg
ICAgIChfX3BhKCZfZW5kKSArIFBBR0VfU0laRSAtIDEgLSBzdGFydCkgPj4gUEFHRV9TSElGVCwK
LSAgICAgICAgX19QQUdFX0hZUEVSVklTT1JfUld8TUFQX1NNQUxMX1BBR0VTKTsKLSAgICBCVUdf
T04oc3RhcnQgIT0geGVuX3BoeXNfc3RhcnQpOwotICAgIG1hcF9wYWdlc190b194ZW4oCi0gICAg
ICAgIFhFTl9WSVJUX1NUQVJULAotICAgICAgICBzdGFydCA+PiBQQUdFX1NISUZULAotICAgICAg
ICAoX19wYSgmX2VuZCkgKyBQQUdFX1NJWkUgLSAxIC0gc3RhcnQpID4+IFBBR0VfU0hJRlQsCi0g
ICAgICAgIF9fUEFHRV9IWVBFUlZJU09SfE1BUF9TTUFMTF9QQUdFUyk7Ci19Ci0KIHN0YXRpYyB2
b2lkIF9fbWVtZ3VhcmRfY2hhbmdlX3JhbmdlKHZvaWQgKnAsIHVuc2lnbmVkIGxvbmcgbCwgaW50
IGd1YXJkKQogewogICAgIHVuc2lnbmVkIGxvbmcgX3AgPSAodW5zaWduZWQgbG9uZylwOwpkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwppbmRl
eCBiOGEyOGQ3Li5jZGRmOTU0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYworKysg
Yi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtMTE0Niw4ICsxMTQ2LDYgQEAgdm9pZCBfX2luaXQg
bm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICAgICAgICAgICAg
ICAgICB+KCgxVUwgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSAtIDEpOwogICAgIGRlc3Ryb3lfeGVu
X21hcHBpbmdzKHhlbl92aXJ0X2VuZCwgWEVOX1ZJUlRfU1RBUlQgKyBCT09UU1RSQVBfTUFQX0JB
U0UpOwogCi0gICAgbWVtZ3VhcmRfaW5pdCgpOwotCiAgICAgbnJfcGFnZXMgPSAwOwogICAgIGZv
ciAoIGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKyApCiAgICAgICAgIGlmICggZTgyMC5tYXBb
aV0udHlwZSA9PSBFODIwX1JBTSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL21t
LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKaW5kZXggMmU5ZDBiMi4uNjhjZjIwMyAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1h
cm0vbW0uaApAQCAtMzMxLDcgKzMzMSw2IEBAIHVuc2lnbmVkIGxvbmcgZG9tYWluX2dldF9tYXhp
bXVtX2dwZm4oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGV4dGVybiBzdHJ1Y3QgZG9tYWluICpkb21f
eGVuLCAqZG9tX2lvLCAqZG9tX2NvdzsKIAotI2RlZmluZSBtZW1ndWFyZF9pbml0KF9zKSAgICAg
ICAgICAgICAgKF9zKQogI2RlZmluZSBtZW1ndWFyZF9ndWFyZF9zdGFjayhfcCkgICAgICAgKCh2
b2lkKTApCiAjZGVmaW5lIG1lbWd1YXJkX2d1YXJkX3JhbmdlKF9wLF9sKSAgICAoKHZvaWQpMCkK
ICNkZWZpbmUgbWVtZ3VhcmRfdW5ndWFyZF9yYW5nZShfcCxfbCkgICgodm9pZCkwKQpkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5o
CmluZGV4IGEwOTczODIuLjIzYTQwOTIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
bW0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKQEAgLTQ3OSwxMSArNDc5LDkgQEAg
ZXh0ZXJuIHN0cnVjdCByYW5nZXNldCAqbW1pb19yb19yYW5nZXM7CiAjZGVmaW5lIGNvbXBhdF9j
cjNfdG9fcGZuKGNyMykgKCgodW5zaWduZWQpKGNyMykgPj4gMTIpIHwgKCh1bnNpZ25lZCkoY3Iz
KSA8PCAyMCkpCiAKICNpZmRlZiBNRU1PUllfR1VBUkQKLXZvaWQgbWVtZ3VhcmRfaW5pdCh2b2lk
KTsKIHZvaWQgbWVtZ3VhcmRfZ3VhcmRfcmFuZ2Uodm9pZCAqcCwgdW5zaWduZWQgbG9uZyBsKTsK
IHZvaWQgbWVtZ3VhcmRfdW5ndWFyZF9yYW5nZSh2b2lkICpwLCB1bnNpZ25lZCBsb25nIGwpOwog
I2Vsc2UKLSNkZWZpbmUgbWVtZ3VhcmRfaW5pdCgpICAgICAgICAgICAgICAgICgodm9pZCkwKQog
I2RlZmluZSBtZW1ndWFyZF9ndWFyZF9yYW5nZShfcCxfbCkgICAgKCh2b2lkKTApCiAjZGVmaW5l
IG1lbWd1YXJkX3VuZ3VhcmRfcmFuZ2UoX3AsX2wpICAoKHZvaWQpMCkKICNlbmRpZgotLQpnZW5l
cmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdl
bG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz
LnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTw-0004Wr-2H; Sat, 27 Feb 2016 06:36:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTv-0004WY-5M
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:59 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 7B/6C-02984-EC341D65; Sat, 27 Feb 2016 06:35:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456554955!27053657!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47601 invoked from network); 27 Feb 2016 06:35:55 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTr-0008H4-0O
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTq-0004Ro-NS
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTq-0004Ro-NS@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:54 +0000
Subject: [Xen-changelog] [xen master] x86: disable CR0.WP while applying
	alternatives
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDM2YzY3MmI1NTlkMzVlMDg4YjE4MWM2NzUzOGIxZWQ1YmFjYjBkYTUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNjoxNiAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNjoxNiAyMDE2ICsw
MTAwCgogICAgeDg2OiBkaXNhYmxlIENSMC5XUCB3aGlsZSBhcHBseWluZyBhbHRlcm5hdGl2ZXMK
ICAgIAogICAgSW4gcHJlcGFyYXRpb24gZm9yIG1hcmtpbmcgLnRleHQgYXMgcmVhZC1vbmx5LCBj
YXJlIG5lZWRzIHRvIGJlIHRha2VuIG5vdCB0bwogICAgZmF1bHQgd2hpbGUgYXBwbHlpbmcgYWx0
ZXJuYXRpdmVzLgogICAgCiAgICBTd2FwcGluZyBiYWNrIHRvIFJXIG1hcHBpbmdzIGlzIGEgcG9z
c2liaWxpdHksIGJ1dCB3b3VsZCByZXF1aXJlIGFkZGl0aW9uYWwKICAgIFRMQiBtYW5hZ2VtZW50
LiAgQSB0ZW1wb3JhcnkgZGlzYWJsaW5nIG9mIENSMC5XUCBpcyBjbGVhbmVyLgogICAgCiAgICBT
aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgog
ICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJj
aC94ODYvYWx0ZXJuYXRpdmUuYyB8IDcgKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0
aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIGIveGVuL2Fy
Y2gveDg2L2FsdGVybmF0aXZlLmMKaW5kZXggOWQ1NGRmMS4uMGEwY2UxNSAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKKysrIGIveGVuL2FyY2gveDg2L2FsdGVybmF0aXZl
LmMKQEAgLTE0NywxMSArMTQ3LDE1IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBhcHBseV9hbHRlcm5h
dGl2ZXMoc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsIHN0cnVjdCBhbHRfaW5zdHIKICAgICBzdHJ1
Y3QgYWx0X2luc3RyICphOwogICAgIHU4ICppbnN0ciwgKnJlcGxhY2VtZW50OwogICAgIHU4IGlu
c25idWZbTUFYX1BBVENIX0xFTl07CisgICAgdW5zaWduZWQgbG9uZyBjcjAgPSByZWFkX2NyMCgp
OwogCiAgICAgQVNTRVJUKCFsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAogICAgIHByaW50ayhL
RVJOX0lORk8gImFsdCB0YWJsZSAlcCAtPiAlcFxuIiwgc3RhcnQsIGVuZCk7CiAKKyAgICAvKiBE
aXNhYmxlIFdQIHRvIGFsbG93IGFwcGxpY2F0aW9uIG9mIGFsdGVybmF0aXZlcyB0byByZWFkLW9u
bHkgcGFnZXMuICovCisgICAgd3JpdGVfY3IwKGNyMCAmIH5YODZfQ1IwX1dQKTsKKwogICAgIC8q
CiAgICAgICogVGhlIHNjYW4gb3JkZXIgc2hvdWxkIGJlIGZyb20gc3RhcnQgdG8gZW5kLiBBIGxh
dGVyIHNjYW5uZWQKICAgICAgKiBhbHRlcm5hdGl2ZSBjb2RlIGNhbiBvdmVyd3JpdGUgYSBwcmV2
aW91cyBzY2FubmVkIGFsdGVybmF0aXZlIGNvZGUuCkBAIC0xODEsNiArMTg1LDkgQEAgc3RhdGlj
IHZvaWQgX19pbml0IGFwcGx5X2FsdGVybmF0aXZlcyhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwg
c3RydWN0IGFsdF9pbnN0cgogICAgICAgICAgICAgICAgICBhLT5pbnN0cmxlbiAtIGEtPnJlcGxh
Y2VtZW50bGVuKTsKICAgICAgICAgdGV4dF9wb2tlX2Vhcmx5KGluc3RyLCBpbnNuYnVmLCBhLT5p
bnN0cmxlbik7CiAgICAgfQorCisgICAgLyogUmVpbnN0YXRlIFdQLiAqLworICAgIHdyaXRlX2Ny
MChjcjApOwogfQogCiB2b2lkIF9faW5pdCBhbHRlcm5hdGl2ZV9pbnN0cnVjdGlvbnModm9pZCkK
LS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21h
c3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu
LWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6
Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYTw-0004Wr-2H; Sat, 27 Feb 2016 06:36:00 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTv-0004WY-5M
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:59 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 7B/6C-02984-EC341D65; Sat, 27 Feb 2016 06:35:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456554955!27053657!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 47601 invoked from network); 27 Feb 2016 06:35:55 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:35:55 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTr-0008H4-0O
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYTq-0004Ro-NS
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:35:54 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYTq-0004Ro-NS@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:35:54 +0000
Subject: [Xen-changelog] [xen master] x86: disable CR0.WP while applying
	alternatives
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDM2YzY3MmI1NTlkMzVlMDg4YjE4MWM2NzUzOGIxZWQ1YmFjYjBkYTUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNjoxNiAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNjoxNiAyMDE2ICsw
MTAwCgogICAgeDg2OiBkaXNhYmxlIENSMC5XUCB3aGlsZSBhcHBseWluZyBhbHRlcm5hdGl2ZXMK
ICAgIAogICAgSW4gcHJlcGFyYXRpb24gZm9yIG1hcmtpbmcgLnRleHQgYXMgcmVhZC1vbmx5LCBj
YXJlIG5lZWRzIHRvIGJlIHRha2VuIG5vdCB0bwogICAgZmF1bHQgd2hpbGUgYXBwbHlpbmcgYWx0
ZXJuYXRpdmVzLgogICAgCiAgICBTd2FwcGluZyBiYWNrIHRvIFJXIG1hcHBpbmdzIGlzIGEgcG9z
c2liaWxpdHksIGJ1dCB3b3VsZCByZXF1aXJlIGFkZGl0aW9uYWwKICAgIFRMQiBtYW5hZ2VtZW50
LiAgQSB0ZW1wb3JhcnkgZGlzYWJsaW5nIG9mIENSMC5XUCBpcyBjbGVhbmVyLgogICAgCiAgICBT
aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgog
ICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJj
aC94ODYvYWx0ZXJuYXRpdmUuYyB8IDcgKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0
aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hbHRlcm5hdGl2ZS5jIGIveGVuL2Fy
Y2gveDg2L2FsdGVybmF0aXZlLmMKaW5kZXggOWQ1NGRmMS4uMGEwY2UxNSAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L2FsdGVybmF0aXZlLmMKKysrIGIveGVuL2FyY2gveDg2L2FsdGVybmF0aXZl
LmMKQEAgLTE0NywxMSArMTQ3LDE1IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBhcHBseV9hbHRlcm5h
dGl2ZXMoc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsIHN0cnVjdCBhbHRfaW5zdHIKICAgICBzdHJ1
Y3QgYWx0X2luc3RyICphOwogICAgIHU4ICppbnN0ciwgKnJlcGxhY2VtZW50OwogICAgIHU4IGlu
c25idWZbTUFYX1BBVENIX0xFTl07CisgICAgdW5zaWduZWQgbG9uZyBjcjAgPSByZWFkX2NyMCgp
OwogCiAgICAgQVNTRVJUKCFsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAogICAgIHByaW50ayhL
RVJOX0lORk8gImFsdCB0YWJsZSAlcCAtPiAlcFxuIiwgc3RhcnQsIGVuZCk7CiAKKyAgICAvKiBE
aXNhYmxlIFdQIHRvIGFsbG93IGFwcGxpY2F0aW9uIG9mIGFsdGVybmF0aXZlcyB0byByZWFkLW9u
bHkgcGFnZXMuICovCisgICAgd3JpdGVfY3IwKGNyMCAmIH5YODZfQ1IwX1dQKTsKKwogICAgIC8q
CiAgICAgICogVGhlIHNjYW4gb3JkZXIgc2hvdWxkIGJlIGZyb20gc3RhcnQgdG8gZW5kLiBBIGxh
dGVyIHNjYW5uZWQKICAgICAgKiBhbHRlcm5hdGl2ZSBjb2RlIGNhbiBvdmVyd3JpdGUgYSBwcmV2
aW91cyBzY2FubmVkIGFsdGVybmF0aXZlIGNvZGUuCkBAIC0xODEsNiArMTg1LDkgQEAgc3RhdGlj
IHZvaWQgX19pbml0IGFwcGx5X2FsdGVybmF0aXZlcyhzdHJ1Y3QgYWx0X2luc3RyICpzdGFydCwg
c3RydWN0IGFsdF9pbnN0cgogICAgICAgICAgICAgICAgICBhLT5pbnN0cmxlbiAtIGEtPnJlcGxh
Y2VtZW50bGVuKTsKICAgICAgICAgdGV4dF9wb2tlX2Vhcmx5KGluc3RyLCBpbnNuYnVmLCBhLT5p
bnN0cmxlbik7CiAgICAgfQorCisgICAgLyogUmVpbnN0YXRlIFdQLiAqLworICAgIHdyaXRlX2Ny
MChjcjApOwogfQogCiB2b2lkIF9faW5pdCBhbHRlcm5hdGl2ZV9pbnN0cnVjdGlvbnModm9pZCkK
LS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21h
c3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu
LWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6
Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYU5-0004ZA-4I; Sat, 27 Feb 2016 06:36:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU3-0004Yt-Re
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:07 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
 BD/D2-02874-7D341D65; Sat, 27 Feb 2016 06:36:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1456554965!23367644!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16092 invoked from network); 27 Feb 2016 06:36:06 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU1-0008Hq-GE
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU1-0004SQ-BR
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYU1-0004SQ-BR@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:05 +0000
Subject: [Xen-changelog] [xen master] x86: reorder .data and .init when
	linking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGI0Y2Q1OWZlYTBmYjkzZTMyNTE3OTc5MDk1YmUyYmQ5MGM3MWU1ZmQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNjo0NCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNjo0NCAyMDE2ICsw
MTAwCgogICAgeDg2OiByZW9yZGVyIC5kYXRhIGFuZCAuaW5pdCB3aGVuIGxpbmtpbmcKICAgIAog
ICAgSW4gcHJlcGFyYXRpb24gZm9yIHVzaW5nIHN1cGVycGFnZSBtYXBwaW5ncywgLmRhdGEgYW5k
IC5ic3Mgd2lsbCBib3RoIHdhbnQgdG8KICAgIGJlIG1hcHBlZCBhcyByZWFkLXdyaXRlLiAgQnkg
bWFraW5nIHRoZW0gYWRqYWNlbnQsIHRoZXkgY2FuIHNoYXJlIHRoZSBzYW1lCiAgICBzdXBlcnBh
Z2UgYW5kIHdpbGwgbm90IHJlcXVpcmUgc3VwZXJwYWdlIGFsaWdubWVudCBiZXR3ZWVuIHRoZW1z
ZWx2ZXMuCiAgICAKICAgIFdoaWxlIG1ha2luZyB0aGlzIGNoYW5nZSwgZml4IGEgbGF0ZW50IGFs
aWdubWVudCBidWcgd2hlcmVieSB0aGUgYWxpZ25tZW50IGZvcgogICAgLmJzcy5zdGFja19hbGln
bmVkIHdhcyBpbiAuaW5pdC4gIF9faW5pdF9lbmQgb25seSBuZWVkcyBwYWdlIGFsaWdubWVudCAo
ZHVlIHRvCiAgICBiZWluZyByZWNsYWltZWQgYWZ0ZXIgYm9vdCksIHdoaWxlIC5ic3Muc3RhY2tf
YWxpZ25lZCByZWFsbHkgZG9lcyBuZWVkcwogICAgU1RBQ0tfU0laRSBhbGlnbm1lbnQuCiAgICAK
ICAgIFN1Z2dlc3RlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgU2ln
bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t
CiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCsp
LCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIv
eGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCBhMjM3MzU5Li4zOWNkNTEzIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAg
LTc0LDM2ICs3NCw2IEBAIFNFQ1RJT05TCiAjZW5kaWYKICAgfSA6dGV4dAogCi0gIC4gPSBBTElH
TihTTVBfQ0FDSEVfQllURVMpOwotICAuZGF0YS5yZWFkX21vc3RseSA6IHsKLSAgICAgICAvKiBF
eGNlcHRpb24gdGFibGUgKi8KLSAgICAgICBfX3N0YXJ0X19fZXhfdGFibGUgPSAuOwotICAgICAg
ICooLmV4X3RhYmxlKQotICAgICAgIF9fc3RvcF9fX2V4X3RhYmxlID0gLjsKLQotICAgICAgIC8q
IFByZS1leGNlcHRpb24gdGFibGUgKi8KLSAgICAgICBfX3N0YXJ0X19fcHJlX2V4X3RhYmxlID0g
LjsKLSAgICAgICAqKC5leF90YWJsZS5wcmUpCi0gICAgICAgX19zdG9wX19fcHJlX2V4X3RhYmxl
ID0gLjsKLQotICAgICAgICooLmRhdGEucmVhZF9tb3N0bHkpCi0gICAgICAgLiA9IEFMSUdOKDgp
OwotICAgICAgIF9fc3RhcnRfc2NoZWR1bGVyc19hcnJheSA9IC47Ci0gICAgICAgKiguZGF0YS5z
Y2hlZHVsZXJzKQotICAgICAgIF9fZW5kX3NjaGVkdWxlcnNfYXJyYXkgPSAuOwotICAgICAgICoo
LmRhdGEucmVsLnJvKQotICAgICAgICooLmRhdGEucmVsLnJvLiopCi0gIH0gOnRleHQKLQotICAu
ZGF0YSA6IHsgICAgICAgICAgICAgICAgICAgIC8qIERhdGEgKi8KLSAgICAgICAuID0gQUxJR04o
UEFHRV9TSVpFKTsKLSAgICAgICAqKC5kYXRhLnBhZ2VfYWxpZ25lZCkKLSAgICAgICAqKC5kYXRh
KQotICAgICAgICooLmRhdGEucmVsKQotICAgICAgICooLmRhdGEucmVsLiopCi0gICAgICAgQ09O
U1RSVUNUT1JTCi0gIH0gOnRleHQKLQogICAuID0gQUxJR04oUEFHRV9TSVpFKTsgICAgICAgICAg
ICAgLyogSW5pdCBjb2RlIGFuZCBkYXRhICovCiAgIF9faW5pdF9iZWdpbiA9IC47CiAgIC5pbml0
LnRleHQgOiB7CkBAIC0xNjQsMTAgKzEzNCw0MSBAQCBTRUNUSU9OUwogICAgICAgICooLnhzbV9p
bml0Y2FsbC5pbml0KQogICAgICAgIF9feHNtX2luaXRjYWxsX2VuZCA9IC47CiAgIH0gOnRleHQK
LSAgLiA9IEFMSUdOKFNUQUNLX1NJWkUpOworICAuID0gQUxJR04oUEFHRV9TSVpFKTsKICAgX19p
bml0X2VuZCA9IC47CiAKKyAgLiA9IEFMSUdOKFNNUF9DQUNIRV9CWVRFUyk7CisgIC5kYXRhLnJl
YWRfbW9zdGx5IDogeworICAgICAgIC8qIEV4Y2VwdGlvbiB0YWJsZSAqLworICAgICAgIF9fc3Rh
cnRfX19leF90YWJsZSA9IC47CisgICAgICAgKiguZXhfdGFibGUpCisgICAgICAgX19zdG9wX19f
ZXhfdGFibGUgPSAuOworCisgICAgICAgLyogUHJlLWV4Y2VwdGlvbiB0YWJsZSAqLworICAgICAg
IF9fc3RhcnRfX19wcmVfZXhfdGFibGUgPSAuOworICAgICAgICooLmV4X3RhYmxlLnByZSkKKyAg
ICAgICBfX3N0b3BfX19wcmVfZXhfdGFibGUgPSAuOworCisgICAgICAgKiguZGF0YS5yZWFkX21v
c3RseSkKKyAgICAgICAuID0gQUxJR04oOCk7CisgICAgICAgX19zdGFydF9zY2hlZHVsZXJzX2Fy
cmF5ID0gLjsKKyAgICAgICAqKC5kYXRhLnNjaGVkdWxlcnMpCisgICAgICAgX19lbmRfc2NoZWR1
bGVyc19hcnJheSA9IC47CisgICAgICAgKiguZGF0YS5yZWwucm8pCisgICAgICAgKiguZGF0YS5y
ZWwucm8uKikKKyAgfSA6dGV4dAorCisgIC5kYXRhIDogeyAgICAgICAgICAgICAgICAgICAgLyog
RGF0YSAqLworICAgICAgIC4gPSBBTElHTihQQUdFX1NJWkUpOworICAgICAgICooLmRhdGEucGFn
ZV9hbGlnbmVkKQorICAgICAgICooLmRhdGEpCisgICAgICAgKiguZGF0YS5yZWwpCisgICAgICAg
KiguZGF0YS5yZWwuKikKKyAgICAgICBDT05TVFJVQ1RPUlMKKyAgfSA6dGV4dAorCiAgIC5ic3Mg
OiB7ICAgICAgICAgICAgICAgICAgICAgLyogQlNTICovCisgICAgICAgLiA9IEFMSUdOKFNUQUNL
X1NJWkUpOwogICAgICAgIF9fYnNzX3N0YXJ0ID0gLjsKICAgICAgICAqKC5ic3Muc3RhY2tfYWxp
Z25lZCkKICAgICAgICAuID0gQUxJR04oUEFHRV9TSVpFKTsKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1w
YXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxp
c3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29t
L3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:09 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYU5-0004ZA-4I; Sat, 27 Feb 2016 06:36:09 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU3-0004Yt-Re
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:07 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
 BD/D2-02874-7D341D65; Sat, 27 Feb 2016 06:36:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1456554965!23367644!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16092 invoked from network); 27 Feb 2016 06:36:06 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:06 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU1-0008Hq-GE
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYU1-0004SQ-BR
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:05 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYU1-0004SQ-BR@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:05 +0000
Subject: [Xen-changelog] [xen master] x86: reorder .data and .init when
	linking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGI0Y2Q1OWZlYTBmYjkzZTMyNTE3OTc5MDk1YmUyYmQ5MGM3MWU1ZmQKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNjo0NCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNjo0NCAyMDE2ICsw
MTAwCgogICAgeDg2OiByZW9yZGVyIC5kYXRhIGFuZCAuaW5pdCB3aGVuIGxpbmtpbmcKICAgIAog
ICAgSW4gcHJlcGFyYXRpb24gZm9yIHVzaW5nIHN1cGVycGFnZSBtYXBwaW5ncywgLmRhdGEgYW5k
IC5ic3Mgd2lsbCBib3RoIHdhbnQgdG8KICAgIGJlIG1hcHBlZCBhcyByZWFkLXdyaXRlLiAgQnkg
bWFraW5nIHRoZW0gYWRqYWNlbnQsIHRoZXkgY2FuIHNoYXJlIHRoZSBzYW1lCiAgICBzdXBlcnBh
Z2UgYW5kIHdpbGwgbm90IHJlcXVpcmUgc3VwZXJwYWdlIGFsaWdubWVudCBiZXR3ZWVuIHRoZW1z
ZWx2ZXMuCiAgICAKICAgIFdoaWxlIG1ha2luZyB0aGlzIGNoYW5nZSwgZml4IGEgbGF0ZW50IGFs
aWdubWVudCBidWcgd2hlcmVieSB0aGUgYWxpZ25tZW50IGZvcgogICAgLmJzcy5zdGFja19hbGln
bmVkIHdhcyBpbiAuaW5pdC4gIF9faW5pdF9lbmQgb25seSBuZWVkcyBwYWdlIGFsaWdubWVudCAo
ZHVlIHRvCiAgICBiZWluZyByZWNsYWltZWQgYWZ0ZXIgYm9vdCksIHdoaWxlIC5ic3Muc3RhY2tf
YWxpZ25lZCByZWFsbHkgZG9lcyBuZWVkcwogICAgU1RBQ0tfU0laRSBhbGlnbm1lbnQuCiAgICAK
ICAgIFN1Z2dlc3RlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgogICAgU2ln
bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t
CiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCsp
LCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIv
eGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCBhMjM3MzU5Li4zOWNkNTEzIDEwMDY0NAotLS0g
YS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAg
LTc0LDM2ICs3NCw2IEBAIFNFQ1RJT05TCiAjZW5kaWYKICAgfSA6dGV4dAogCi0gIC4gPSBBTElH
TihTTVBfQ0FDSEVfQllURVMpOwotICAuZGF0YS5yZWFkX21vc3RseSA6IHsKLSAgICAgICAvKiBF
eGNlcHRpb24gdGFibGUgKi8KLSAgICAgICBfX3N0YXJ0X19fZXhfdGFibGUgPSAuOwotICAgICAg
ICooLmV4X3RhYmxlKQotICAgICAgIF9fc3RvcF9fX2V4X3RhYmxlID0gLjsKLQotICAgICAgIC8q
IFByZS1leGNlcHRpb24gdGFibGUgKi8KLSAgICAgICBfX3N0YXJ0X19fcHJlX2V4X3RhYmxlID0g
LjsKLSAgICAgICAqKC5leF90YWJsZS5wcmUpCi0gICAgICAgX19zdG9wX19fcHJlX2V4X3RhYmxl
ID0gLjsKLQotICAgICAgICooLmRhdGEucmVhZF9tb3N0bHkpCi0gICAgICAgLiA9IEFMSUdOKDgp
OwotICAgICAgIF9fc3RhcnRfc2NoZWR1bGVyc19hcnJheSA9IC47Ci0gICAgICAgKiguZGF0YS5z
Y2hlZHVsZXJzKQotICAgICAgIF9fZW5kX3NjaGVkdWxlcnNfYXJyYXkgPSAuOwotICAgICAgICoo
LmRhdGEucmVsLnJvKQotICAgICAgICooLmRhdGEucmVsLnJvLiopCi0gIH0gOnRleHQKLQotICAu
ZGF0YSA6IHsgICAgICAgICAgICAgICAgICAgIC8qIERhdGEgKi8KLSAgICAgICAuID0gQUxJR04o
UEFHRV9TSVpFKTsKLSAgICAgICAqKC5kYXRhLnBhZ2VfYWxpZ25lZCkKLSAgICAgICAqKC5kYXRh
KQotICAgICAgICooLmRhdGEucmVsKQotICAgICAgICooLmRhdGEucmVsLiopCi0gICAgICAgQ09O
U1RSVUNUT1JTCi0gIH0gOnRleHQKLQogICAuID0gQUxJR04oUEFHRV9TSVpFKTsgICAgICAgICAg
ICAgLyogSW5pdCBjb2RlIGFuZCBkYXRhICovCiAgIF9faW5pdF9iZWdpbiA9IC47CiAgIC5pbml0
LnRleHQgOiB7CkBAIC0xNjQsMTAgKzEzNCw0MSBAQCBTRUNUSU9OUwogICAgICAgICooLnhzbV9p
bml0Y2FsbC5pbml0KQogICAgICAgIF9feHNtX2luaXRjYWxsX2VuZCA9IC47CiAgIH0gOnRleHQK
LSAgLiA9IEFMSUdOKFNUQUNLX1NJWkUpOworICAuID0gQUxJR04oUEFHRV9TSVpFKTsKICAgX19p
bml0X2VuZCA9IC47CiAKKyAgLiA9IEFMSUdOKFNNUF9DQUNIRV9CWVRFUyk7CisgIC5kYXRhLnJl
YWRfbW9zdGx5IDogeworICAgICAgIC8qIEV4Y2VwdGlvbiB0YWJsZSAqLworICAgICAgIF9fc3Rh
cnRfX19leF90YWJsZSA9IC47CisgICAgICAgKiguZXhfdGFibGUpCisgICAgICAgX19zdG9wX19f
ZXhfdGFibGUgPSAuOworCisgICAgICAgLyogUHJlLWV4Y2VwdGlvbiB0YWJsZSAqLworICAgICAg
IF9fc3RhcnRfX19wcmVfZXhfdGFibGUgPSAuOworICAgICAgICooLmV4X3RhYmxlLnByZSkKKyAg
ICAgICBfX3N0b3BfX19wcmVfZXhfdGFibGUgPSAuOworCisgICAgICAgKiguZGF0YS5yZWFkX21v
c3RseSkKKyAgICAgICAuID0gQUxJR04oOCk7CisgICAgICAgX19zdGFydF9zY2hlZHVsZXJzX2Fy
cmF5ID0gLjsKKyAgICAgICAqKC5kYXRhLnNjaGVkdWxlcnMpCisgICAgICAgX19lbmRfc2NoZWR1
bGVyc19hcnJheSA9IC47CisgICAgICAgKiguZGF0YS5yZWwucm8pCisgICAgICAgKiguZGF0YS5y
ZWwucm8uKikKKyAgfSA6dGV4dAorCisgIC5kYXRhIDogeyAgICAgICAgICAgICAgICAgICAgLyog
RGF0YSAqLworICAgICAgIC4gPSBBTElHTihQQUdFX1NJWkUpOworICAgICAgICooLmRhdGEucGFn
ZV9hbGlnbmVkKQorICAgICAgICooLmRhdGEpCisgICAgICAgKiguZGF0YS5yZWwpCisgICAgICAg
KiguZGF0YS5yZWwuKikKKyAgICAgICBDT05TVFJVQ1RPUlMKKyAgfSA6dGV4dAorCiAgIC5ic3Mg
OiB7ICAgICAgICAgICAgICAgICAgICAgLyogQlNTICovCisgICAgICAgLiA9IEFMSUdOKFNUQUNL
X1NJWkUpOwogICAgICAgIF9fYnNzX3N0YXJ0ID0gLjsKICAgICAgICAqKC5ic3Muc3RhY2tfYWxp
Z25lZCkKICAgICAgICAuID0gQUxJR04oUEFHRV9TSVpFKTsKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1w
YXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxp
c3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29t
L3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUF-0004bG-6E; Sat, 27 Feb 2016 06:36:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUE-0004b8-Ew
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:18 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
 A2/95-03519-1E341D65; Sat, 27 Feb 2016 06:36:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456554976!16980806!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26659 invoked from network); 27 Feb 2016 06:36:16 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUC-0008I0-02
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUB-0004So-Tf
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUB-0004So-Tf@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:15 +0000
Subject: [Xen-changelog] [xen master] x86: use 2M superpages for
	text/data/bss mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGNmMzkzNjI0ZWVjMzRlMTEyNzVlODNkMmRiMDE5OTRiOTIyZTA2NzMKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNzoxNCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNzoxNCAyMDE2ICsw
MTAwCgogICAgeDg2OiB1c2UgMk0gc3VwZXJwYWdlcyBmb3IgdGV4dC9kYXRhL2JzcyBtYXBwaW5n
cwogICAgCiAgICBUaGlzIGJhbGxvb25zIHRoZSBzaXplIG9mIFhlbiBpbiBtZW1vcnkgZnJvbSA0
LjRNQiB0byA4TUIsIGJlY2F1c2Ugb2YgdGhlCiAgICByZXF1aXJlZCBhbGlnbm1lbnQgYWRqdXN0
bWVudHMuCiAgICAKICAgIEhvd2V2ZXIKICAgICAqIEFsbCBtYXBwaW5ncyBhcmUgMk0gc3VwZXJw
YWdlcy4KICAgICAqIC50ZXh0IChhbmQgLmluaXQgYXQgYm9vdCkgYXJlIHRoZSBvbmx5IHNlY3Rp
b25zIG1hcmtlZCBleGVjdXRhYmxlLgogICAgICogLnRleHQgYW5kIC5yb2RhdGEgYXJlIG1hcmtl
ZCByZWFkLW9ubHkuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICB8IDM4ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5T
ICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14
ODYvc2V0dXAuaCB8ICA1ICsrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyks
IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4v
YXJjaC94ODYvc2V0dXAuYwppbmRleCBjZGRmOTU0Li44MDZmYTk1IDEwMDY0NAotLS0gYS94ZW4v
YXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtOTIwLDE0ICs5
MjAsNDYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBt
YmlfcCkKIAogICAgICAgICAgICAgLyogVGhlIG9ubHkgZGF0YSBtYXBwaW5ncyB0byBiZSByZWxv
Y2F0ZWQgYXJlIGluIHRoZSBYZW4gYXJlYS4gKi8KICAgICAgICAgICAgIHBsMmUgPSBfX3ZhKF9f
cGEobDJfeGVubWFwKSk7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVW5kbyB0aGUg
dGVtcG9yYXJ5LWhvb2tpbmcgb2YgdGhlIGwxX2lkZW50bWFwLiAgX18yTV90ZXh0X3N0YXJ0Cisg
ICAgICAgICAgICAgKiBpcyBjb250YWluZWQgaW4gdGhpcyBQVEUuCisgICAgICAgICAgICAgKi8K
ICAgICAgICAgICAgICpwbDJlKysgPSBsMmVfZnJvbV9wZm4oeGVuX3BoeXNfc3RhcnQgPj4gUEFH
RV9TSElGVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9IWVBFUlZJ
U09SX1JXWCB8IF9QQUdFX1BTRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBBR0VfSFlQRVJWSVNPUl9SWCB8IF9QQUdFX1BTRSk7CiAgICAgICAgICAgICBmb3IgKCBpID0g
MTsgaSA8IEwyX1BBR0VUQUJMRV9FTlRSSUVTOyBpKyssIHBsMmUrKyApCiAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOworCiAgICAgICAgICAgICAgICAg
aWYgKCAhKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCkgKQogICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAqcGwyZSA9IGwyZV9mcm9tX2lu
dHB0ZShsMmVfZ2V0X2ludHB0ZSgqcGwyZSkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHhlbl9waHlzX3N0YXJ0KTsKKworICAgICAgICAgICAgICAgIGlmICggaSA8
IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV90ZXh0X2VuZCkgKQorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3MgPSBQQUdFX0hZUEVSVklTT1Jf
UlggfCBfUEFHRV9QU0U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKCBpID49IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV9yb2RhdGFfc3Rh
cnQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPCAgbDJfdGFibGVfb2Zmc2V0KCh1
bnNpZ25lZCBsb25nKSZfXzJNX3JvZGF0YV9lbmQpICkKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIGZsYWdzID0gUEFHRV9IWVBFUlZJU09SX1JPIHwgX1BBR0VfUFNFOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIGlmICggaSA+PSBsMl90YWJs
ZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpJl9fMk1faW5pdF9zdGFydCkgJiYKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaSA8ICBsMl90YWJsZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpJl9fMk1f
aW5pdF9lbmQpICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGZsYWdz
ID0gUEFHRV9IWVBFUlZJU09SX1JXWCB8IF9QQUdFX1BTRTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAoIChpID49IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQg
bG9uZykmX18yTV9yd2RhdGFfc3RhcnQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
IDwgIGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV9yd2RhdGFfZW5kKSkgKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3MgPSBQQUdFX0hZUEVS
VklTT1JfUlcgfCBfUEFHRV9QU0U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICpwbDJlID0gbDJl
X2VtcHR5KCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgICpwbDJlID0gbDJlX2Zyb21fcGFkZHIoCisgICAgICAgICAg
ICAgICAgICAgIGwyZV9nZXRfcGFkZHIoKnBsMmUpICsgeGVuX3BoeXNfc3RhcnQsIGZsYWdzKTsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLyogUmUtc3luYyB0aGUgc3RhY2sgYW5kIHRo
ZW4gc3dpdGNoIHRvIHJlbG9jYXRlZCBwYWdldGFibGVzLiAqLwpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKaW5kZXggMzljZDUxMy4u
OTA1ZDkwOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJj
aC94ODYveGVuLmxkcy5TCkBAIC0zOCw2ICszOCw5IEBAIFNFQ1RJT05TCiAgIC4gPSBfX1hFTl9W
SVJUX1NUQVJUOwogICBfX2ltYWdlX2Jhc2VfXyA9IC47CiAjZW5kaWYKKworICBfXzJNX3RleHRf
c3RhcnQgPSAuOyAgICAgICAgIC8qIFN0YXJ0IG9mIDJNIHN1cGVycGFnZXMsIG1hcHBlZCBSWC4g
Ki8KKwogICAuID0gX19YRU5fVklSVF9TVEFSVCArIE1CKDEpOwogICBfc3RhcnQgPSAuOwogICAu
dGV4dCA6IHsKQEAgLTUwLDYgKzUzLDEwIEBAIFNFQ1RJT05TCiAgICAgICAgX2V0ZXh0ID0gLjsg
ICAgICAgICAgICAgLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogICB9IDp0ZXh0ID0gMHg5MDkw
CiAKKyAgLiA9IEFMSUdOKE1CKDIpKTsKKyAgX18yTV90ZXh0X2VuZCA9IC47CisKKyAgX18yTV9y
b2RhdGFfc3RhcnQgPSAuOyAgICAgICAvKiBTdGFydCBvZiAyTSBzdXBlcnBhZ2VzLCBtYXBwZWQg
Uk8uICovCiAgIC5yb2RhdGEgOiB7CiAgICAgICAgLyogQnVnIGZyYW1lcyB0YWJsZSAqLwogICAg
ICAgIC4gPSBBTElHTig0KTsKQEAgLTc0LDYgKzgxLDEwIEBAIFNFQ1RJT05TCiAjZW5kaWYKICAg
fSA6dGV4dAogCisgIC4gPSBBTElHTihNQigyKSk7CisgIF9fMk1fcm9kYXRhX2VuZCA9IC47CisK
KyAgX18yTV9pbml0X3N0YXJ0ID0gLjsgICAgICAgICAvKiBTdGFydCBvZiAyTSBzdXBlcnBhZ2Vz
LCBtYXBwZWQgUldYIChib290IG9ubHkpLiAqLwogICAuID0gQUxJR04oUEFHRV9TSVpFKTsgICAg
ICAgICAgICAgLyogSW5pdCBjb2RlIGFuZCBkYXRhICovCiAgIF9faW5pdF9iZWdpbiA9IC47CiAg
IC5pbml0LnRleHQgOiB7CkBAIC0xMzcsNiArMTQ4LDEwIEBAIFNFQ1RJT05TCiAgIC4gPSBBTElH
TihQQUdFX1NJWkUpOwogICBfX2luaXRfZW5kID0gLjsKIAorICAuID0gQUxJR04oTUIoMikpOwor
ICBfXzJNX2luaXRfZW5kID0gLjsKKworICBfXzJNX3J3ZGF0YV9zdGFydCA9IC47ICAgICAgIC8q
IFN0YXJ0IG9mIDJNIHN1cGVycGFnZXMsIG1hcHBlZCBSVy4gKi8KICAgLiA9IEFMSUdOKFNNUF9D
QUNIRV9CWVRFUyk7CiAgIC5kYXRhLnJlYWRfbW9zdGx5IDogewogICAgICAgIC8qIEV4Y2VwdGlv
biB0YWJsZSAqLwpAQCAtMTg1LDYgKzIwMCw5IEBAIFNFQ1RJT05TCiAgIH0gOnRleHQKICAgX2Vu
ZCA9IC4gOwogCisgIC4gPSBBTElHTihNQigyKSk7CisgIF9fMk1fcndkYXRhX2VuZCA9IC47CisK
ICNpZmRlZiBFRkkKICAgLiA9IEFMSUdOKDQpOwogICAucmVsb2MgOiB7CkBAIC0yMzEsNCArMjQ5
LDEzIEBAIEFTU0VSVChfX2ltYWdlX2Jhc2VfXyA+IFhFTl9WSVJUX1NUQVJUIHx8CiBBU1NFUlQo
a2V4ZWNfcmVsb2Nfc2l6ZSAtIGtleGVjX3JlbG9jIDw9IFBBR0VfU0laRSwgImtleGVjX3JlbG9j
IGlzIHRvbyBsYXJnZSIpCiAjZW5kaWYKIAorQVNTRVJUKElTX0FMSUdORUQoX18yTV90ZXh0X3N0
YXJ0LCAgIE1CKDIpKSwgIl9fMk1fdGV4dF9zdGFydCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1fdGV4dF9lbmQsICAgICBNQigyKSksICJfXzJNX3RleHRfZW5kIG1pc2FsaWdu
ZWQiKQorQVNTRVJUKElTX0FMSUdORUQoX18yTV9yb2RhdGFfc3RhcnQsIE1CKDIpKSwgIl9fMk1f
cm9kYXRhX3N0YXJ0IG1pc2FsaWduZWQiKQorQVNTRVJUKElTX0FMSUdORUQoX18yTV9yb2RhdGFf
ZW5kLCAgIE1CKDIpKSwgIl9fMk1fcm9kYXRhX2VuZCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1faW5pdF9zdGFydCwgICBNQigyKSksICJfXzJNX2luaXRfc3RhcnQgbWlzYWxp
Z25lZCIpCitBU1NFUlQoSVNfQUxJR05FRChfXzJNX2luaXRfZW5kLCAgICAgTUIoMikpLCAiX18y
TV9pbml0X2VuZCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19BTElHTkVEKF9fMk1fcndkYXRhX3N0
YXJ0LCBNQigyKSksICJfXzJNX3J3ZGF0YV9zdGFydCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1fcndkYXRhX2VuZCwgICBNQigyKSksICJfXzJNX3J3ZGF0YV9lbmQgbWlzYWxp
Z25lZCIpCisKIEFTU0VSVChJU19BTElHTkVEKGNwdTBfc3RhY2ssIFNUQUNLX1NJWkUpLCAiY3B1
MF9zdGFjayBtaXNhbGlnbmVkIikKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0
dXAuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAppbmRleCAzODFkOWY4Li5jNjViNzlj
IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC00LDYgKzQsMTEgQEAKICNpbmNsdWRlIDx4ZW4vbXVsdGli
b290Lmg+CiAjaW5jbHVkZSA8YXNtL251bWEuaD4KIAorZXh0ZXJuIGNvbnN0IGNoYXIgX18yTV90
ZXh0X3N0YXJ0W10sIF9fMk1fdGV4dF9lbmRbXTsKK2V4dGVybiBjb25zdCBjaGFyIF9fMk1fcm9k
YXRhX3N0YXJ0W10sIF9fMk1fcm9kYXRhX2VuZFtdOworZXh0ZXJuIGNoYXIgX18yTV9pbml0X3N0
YXJ0W10sIF9fMk1faW5pdF9lbmRbXTsKK2V4dGVybiBjaGFyIF9fMk1fcndkYXRhX3N0YXJ0W10s
IF9fMk1fcndkYXRhX2VuZFtdOworCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4ZW5oZWFwX2luaXRp
YWxfcGh5c19zdGFydDsKIAogdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUF-0004bG-6E; Sat, 27 Feb 2016 06:36:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUE-0004b8-Ew
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:18 +0000
Received: from [85.158.139.211] by server-6.bemta-5.messagelabs.com id
 A2/95-03519-1E341D65; Sat, 27 Feb 2016 06:36:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1456554976!16980806!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26659 invoked from network); 27 Feb 2016 06:36:16 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-15.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUC-0008I0-02
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUB-0004So-Tf
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUB-0004So-Tf@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:15 +0000
Subject: [Xen-changelog] [xen master] x86: use 2M superpages for
	text/data/bss mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGNmMzkzNjI0ZWVjMzRlMTEyNzVlODNkMmRiMDE5OTRiOTIyZTA2NzMKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNzoxNCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNzoxNCAyMDE2ICsw
MTAwCgogICAgeDg2OiB1c2UgMk0gc3VwZXJwYWdlcyBmb3IgdGV4dC9kYXRhL2JzcyBtYXBwaW5n
cwogICAgCiAgICBUaGlzIGJhbGxvb25zIHRoZSBzaXplIG9mIFhlbiBpbiBtZW1vcnkgZnJvbSA0
LjRNQiB0byA4TUIsIGJlY2F1c2Ugb2YgdGhlCiAgICByZXF1aXJlZCBhbGlnbm1lbnQgYWRqdXN0
bWVudHMuCiAgICAKICAgIEhvd2V2ZXIKICAgICAqIEFsbCBtYXBwaW5ncyBhcmUgMk0gc3VwZXJw
YWdlcy4KICAgICAqIC50ZXh0IChhbmQgLmluaXQgYXQgYm9vdCkgYXJlIHRoZSBvbmx5IHNlY3Rp
b25zIG1hcmtlZCBleGVjdXRhYmxlLgogICAgICogLnRleHQgYW5kIC5yb2RhdGEgYXJlIG1hcmtl
ZCByZWFkLW9ubHkuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9zZXR1cC5jICAgICAgICB8IDM4ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5T
ICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14
ODYvc2V0dXAuaCB8ICA1ICsrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyks
IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4v
YXJjaC94ODYvc2V0dXAuYwppbmRleCBjZGRmOTU0Li44MDZmYTk1IDEwMDY0NAotLS0gYS94ZW4v
YXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtOTIwLDE0ICs5
MjAsNDYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBt
YmlfcCkKIAogICAgICAgICAgICAgLyogVGhlIG9ubHkgZGF0YSBtYXBwaW5ncyB0byBiZSByZWxv
Y2F0ZWQgYXJlIGluIHRoZSBYZW4gYXJlYS4gKi8KICAgICAgICAgICAgIHBsMmUgPSBfX3ZhKF9f
cGEobDJfeGVubWFwKSk7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogVW5kbyB0aGUg
dGVtcG9yYXJ5LWhvb2tpbmcgb2YgdGhlIGwxX2lkZW50bWFwLiAgX18yTV90ZXh0X3N0YXJ0Cisg
ICAgICAgICAgICAgKiBpcyBjb250YWluZWQgaW4gdGhpcyBQVEUuCisgICAgICAgICAgICAgKi8K
ICAgICAgICAgICAgICpwbDJlKysgPSBsMmVfZnJvbV9wZm4oeGVuX3BoeXNfc3RhcnQgPj4gUEFH
RV9TSElGVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9IWVBFUlZJ
U09SX1JXWCB8IF9QQUdFX1BTRSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBBR0VfSFlQRVJWSVNPUl9SWCB8IF9QQUdFX1BTRSk7CiAgICAgICAgICAgICBmb3IgKCBpID0g
MTsgaSA8IEwyX1BBR0VUQUJMRV9FTlRSSUVTOyBpKyssIHBsMmUrKyApCiAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOworCiAgICAgICAgICAgICAgICAg
aWYgKCAhKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCkgKQogICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAqcGwyZSA9IGwyZV9mcm9tX2lu
dHB0ZShsMmVfZ2V0X2ludHB0ZSgqcGwyZSkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHhlbl9waHlzX3N0YXJ0KTsKKworICAgICAgICAgICAgICAgIGlmICggaSA8
IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV90ZXh0X2VuZCkgKQorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3MgPSBQQUdFX0hZUEVSVklTT1Jf
UlggfCBfUEFHRV9QU0U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKCBpID49IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV9yb2RhdGFfc3Rh
cnQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPCAgbDJfdGFibGVfb2Zmc2V0KCh1
bnNpZ25lZCBsb25nKSZfXzJNX3JvZGF0YV9lbmQpICkKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIGZsYWdzID0gUEFHRV9IWVBFUlZJU09SX1JPIHwgX1BBR0VfUFNFOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIGlmICggaSA+PSBsMl90YWJs
ZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpJl9fMk1faW5pdF9zdGFydCkgJiYKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaSA8ICBsMl90YWJsZV9vZmZzZXQoKHVuc2lnbmVkIGxvbmcpJl9fMk1f
aW5pdF9lbmQpICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGZsYWdz
ID0gUEFHRV9IWVBFUlZJU09SX1JXWCB8IF9QQUdFX1BTRTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAoIChpID49IGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQg
bG9uZykmX18yTV9yd2RhdGFfc3RhcnQpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgICBp
IDwgIGwyX3RhYmxlX29mZnNldCgodW5zaWduZWQgbG9uZykmX18yTV9yd2RhdGFfZW5kKSkgKQor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZmxhZ3MgPSBQQUdFX0hZUEVS
VklTT1JfUlcgfCBfUEFHRV9QU0U7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICpwbDJlID0gbDJl
X2VtcHR5KCk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgICpwbDJlID0gbDJlX2Zyb21fcGFkZHIoCisgICAgICAgICAg
ICAgICAgICAgIGwyZV9nZXRfcGFkZHIoKnBsMmUpICsgeGVuX3BoeXNfc3RhcnQsIGZsYWdzKTsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLyogUmUtc3luYyB0aGUgc3RhY2sgYW5kIHRo
ZW4gc3dpdGNoIHRvIHJlbG9jYXRlZCBwYWdldGFibGVzLiAqLwpkaWZmIC0tZ2l0IGEveGVuL2Fy
Y2gveDg2L3hlbi5sZHMuUyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKaW5kZXggMzljZDUxMy4u
OTA1ZDkwOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hlbi5sZHMuUworKysgYi94ZW4vYXJj
aC94ODYveGVuLmxkcy5TCkBAIC0zOCw2ICszOCw5IEBAIFNFQ1RJT05TCiAgIC4gPSBfX1hFTl9W
SVJUX1NUQVJUOwogICBfX2ltYWdlX2Jhc2VfXyA9IC47CiAjZW5kaWYKKworICBfXzJNX3RleHRf
c3RhcnQgPSAuOyAgICAgICAgIC8qIFN0YXJ0IG9mIDJNIHN1cGVycGFnZXMsIG1hcHBlZCBSWC4g
Ki8KKwogICAuID0gX19YRU5fVklSVF9TVEFSVCArIE1CKDEpOwogICBfc3RhcnQgPSAuOwogICAu
dGV4dCA6IHsKQEAgLTUwLDYgKzUzLDEwIEBAIFNFQ1RJT05TCiAgICAgICAgX2V0ZXh0ID0gLjsg
ICAgICAgICAgICAgLyogRW5kIG9mIHRleHQgc2VjdGlvbiAqLwogICB9IDp0ZXh0ID0gMHg5MDkw
CiAKKyAgLiA9IEFMSUdOKE1CKDIpKTsKKyAgX18yTV90ZXh0X2VuZCA9IC47CisKKyAgX18yTV9y
b2RhdGFfc3RhcnQgPSAuOyAgICAgICAvKiBTdGFydCBvZiAyTSBzdXBlcnBhZ2VzLCBtYXBwZWQg
Uk8uICovCiAgIC5yb2RhdGEgOiB7CiAgICAgICAgLyogQnVnIGZyYW1lcyB0YWJsZSAqLwogICAg
ICAgIC4gPSBBTElHTig0KTsKQEAgLTc0LDYgKzgxLDEwIEBAIFNFQ1RJT05TCiAjZW5kaWYKICAg
fSA6dGV4dAogCisgIC4gPSBBTElHTihNQigyKSk7CisgIF9fMk1fcm9kYXRhX2VuZCA9IC47CisK
KyAgX18yTV9pbml0X3N0YXJ0ID0gLjsgICAgICAgICAvKiBTdGFydCBvZiAyTSBzdXBlcnBhZ2Vz
LCBtYXBwZWQgUldYIChib290IG9ubHkpLiAqLwogICAuID0gQUxJR04oUEFHRV9TSVpFKTsgICAg
ICAgICAgICAgLyogSW5pdCBjb2RlIGFuZCBkYXRhICovCiAgIF9faW5pdF9iZWdpbiA9IC47CiAg
IC5pbml0LnRleHQgOiB7CkBAIC0xMzcsNiArMTQ4LDEwIEBAIFNFQ1RJT05TCiAgIC4gPSBBTElH
TihQQUdFX1NJWkUpOwogICBfX2luaXRfZW5kID0gLjsKIAorICAuID0gQUxJR04oTUIoMikpOwor
ICBfXzJNX2luaXRfZW5kID0gLjsKKworICBfXzJNX3J3ZGF0YV9zdGFydCA9IC47ICAgICAgIC8q
IFN0YXJ0IG9mIDJNIHN1cGVycGFnZXMsIG1hcHBlZCBSVy4gKi8KICAgLiA9IEFMSUdOKFNNUF9D
QUNIRV9CWVRFUyk7CiAgIC5kYXRhLnJlYWRfbW9zdGx5IDogewogICAgICAgIC8qIEV4Y2VwdGlv
biB0YWJsZSAqLwpAQCAtMTg1LDYgKzIwMCw5IEBAIFNFQ1RJT05TCiAgIH0gOnRleHQKICAgX2Vu
ZCA9IC4gOwogCisgIC4gPSBBTElHTihNQigyKSk7CisgIF9fMk1fcndkYXRhX2VuZCA9IC47CisK
ICNpZmRlZiBFRkkKICAgLiA9IEFMSUdOKDQpOwogICAucmVsb2MgOiB7CkBAIC0yMzEsNCArMjQ5
LDEzIEBAIEFTU0VSVChfX2ltYWdlX2Jhc2VfXyA+IFhFTl9WSVJUX1NUQVJUIHx8CiBBU1NFUlQo
a2V4ZWNfcmVsb2Nfc2l6ZSAtIGtleGVjX3JlbG9jIDw9IFBBR0VfU0laRSwgImtleGVjX3JlbG9j
IGlzIHRvbyBsYXJnZSIpCiAjZW5kaWYKIAorQVNTRVJUKElTX0FMSUdORUQoX18yTV90ZXh0X3N0
YXJ0LCAgIE1CKDIpKSwgIl9fMk1fdGV4dF9zdGFydCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1fdGV4dF9lbmQsICAgICBNQigyKSksICJfXzJNX3RleHRfZW5kIG1pc2FsaWdu
ZWQiKQorQVNTRVJUKElTX0FMSUdORUQoX18yTV9yb2RhdGFfc3RhcnQsIE1CKDIpKSwgIl9fMk1f
cm9kYXRhX3N0YXJ0IG1pc2FsaWduZWQiKQorQVNTRVJUKElTX0FMSUdORUQoX18yTV9yb2RhdGFf
ZW5kLCAgIE1CKDIpKSwgIl9fMk1fcm9kYXRhX2VuZCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1faW5pdF9zdGFydCwgICBNQigyKSksICJfXzJNX2luaXRfc3RhcnQgbWlzYWxp
Z25lZCIpCitBU1NFUlQoSVNfQUxJR05FRChfXzJNX2luaXRfZW5kLCAgICAgTUIoMikpLCAiX18y
TV9pbml0X2VuZCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19BTElHTkVEKF9fMk1fcndkYXRhX3N0
YXJ0LCBNQigyKSksICJfXzJNX3J3ZGF0YV9zdGFydCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19B
TElHTkVEKF9fMk1fcndkYXRhX2VuZCwgICBNQigyKSksICJfXzJNX3J3ZGF0YV9lbmQgbWlzYWxp
Z25lZCIpCisKIEFTU0VSVChJU19BTElHTkVEKGNwdTBfc3RhY2ssIFNUQUNLX1NJWkUpLCAiY3B1
MF9zdGFjayBtaXNhbGlnbmVkIikKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0
dXAuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAppbmRleCAzODFkOWY4Li5jNjViNzlj
IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmgKKysrIGIveGVuL2luY2x1
ZGUvYXNtLXg4Ni9zZXR1cC5oCkBAIC00LDYgKzQsMTEgQEAKICNpbmNsdWRlIDx4ZW4vbXVsdGli
b290Lmg+CiAjaW5jbHVkZSA8YXNtL251bWEuaD4KIAorZXh0ZXJuIGNvbnN0IGNoYXIgX18yTV90
ZXh0X3N0YXJ0W10sIF9fMk1fdGV4dF9lbmRbXTsKK2V4dGVybiBjb25zdCBjaGFyIF9fMk1fcm9k
YXRhX3N0YXJ0W10sIF9fMk1fcm9kYXRhX2VuZFtdOworZXh0ZXJuIGNoYXIgX18yTV9pbml0X3N0
YXJ0W10sIF9fMk1faW5pdF9lbmRbXTsKK2V4dGVybiBjaGFyIF9fMk1fcndkYXRhX3N0YXJ0W10s
IF9fMk1fcndkYXRhX2VuZFtdOworCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4ZW5oZWFwX2luaXRp
YWxfcGh5c19zdGFydDsKIAogdm9pZCBlYXJseV9jcHVfaW5pdCh2b2lkKTsKLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUQ-0004di-8C; Sat, 27 Feb 2016 06:36:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUP-0004dN-06
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:29 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
 3B/12-03172-CE341D65; Sat, 27 Feb 2016 06:36:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456554986!17929949!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39049 invoked from network); 27 Feb 2016 06:36:27 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUM-0008IC-G5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUM-0004To-C5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUM-0004To-C5@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:26 +0000
Subject: [Xen-changelog] [xen master] x86: unilaterally remove .init mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDUzYWEzZGRlMTdjNzFlNGYwMWE5ZTk5YTE2YTk1MDY0ZWZjYWIxNzkKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNzo0MyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNzo0MyAyMDE2ICsw
MTAwCgogICAgeDg2OiB1bmlsYXRlcmFsbHkgcmVtb3ZlIC5pbml0IG1hcHBpbmdzCiAgICAKICAg
IEJlY2F1c2Ugb2YgdGhlIG5ldyAyTSBhbGlnbm1lbnQgb2YgLmluaXQgYW5kIC5ic3MsIHRoZSBl
eGlzdGluZyBtZW1vcnkKICAgIGd1YXJkaW5nIGluZnJhc3RydWN0dXJlIGNhdXNlcyBhIHNoYXR0
ZXJlZCAyTSBzdXBlcnBhZ2Ugd2l0aCBub24tcHJlc2VudAogICAgZW50cmllcyBmb3IgLmluaXQs
IGFuZCBwcmVzZW50IGVudHJpZXMgZm9yIHRoZSBhbGlnbm1lbnQgc3BhY2UuCiAgICAKICAgIERv
IGF3YXkgd2l0aCB0aGUgZGlmZmVyZW5jZSBpbiBiZWhhdmlvdXIgYmV0d2VlbiBkZWJ1ZyBhbmQg
bm9uLWRlYnVnIGJ1aWxkczsKICAgIGFsd2F5cyBkZXN0cm95IHRoZSAuaW5pdCBtYXBwaW5ncywg
YW5kIHJldXNlIHRoZSBzcGFjZSBmb3IgeGVuaGVhcC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5
OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3NldHVw
LmMgICB8IDI0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3hlbi5sZHMu
UyB8ICAzICsrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9z
ZXR1cC5jCmluZGV4IDgwNmZhOTUuLjg0MzFmMDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9z
ZXR1cC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC0xNzYsMTYgKzE3Niw2IEBAIHZv
aWQgX19pbml0IGRpc2NhcmRfaW5pdGlhbF9pbWFnZXModm9pZCkKICAgICBpbml0aWFsX2ltYWdl
cyA9IE5VTEw7CiB9CiAKLXN0YXRpYyB2b2lkIGZyZWVfeGVuX2RhdGEoY2hhciAqcywgY2hhciAq
ZSkKLXsKLSNpZm5kZWYgTUVNT1JZX0dVQVJECi0gICAgaW5pdF94ZW5oZWFwX3BhZ2VzKF9fcGEo
cyksIF9fcGEoZSkpOwotI2VuZGlmCi0gICAgbWVtZ3VhcmRfZ3VhcmRfcmFuZ2UocywgZS1zKTsK
LSAgICAvKiBBbHNvIHphcCB0aGUgbWFwcGluZyBpbiB0aGUgMToxIGFyZWEuICovCi0gICAgbWVt
Z3VhcmRfZ3VhcmRfcmFuZ2UoX192YShfX3BhKHMpKSwgZS1zKTsKLX0KLQogZXh0ZXJuIGNoYXIg
X19pbml0X2JlZ2luW10sIF9faW5pdF9lbmRbXSwgX19ic3Nfc3RhcnRbXSwgX19ic3NfZW5kW107
CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lkbGVfZG9tYWluKHZvaWQpCkBAIC01MDksMTMg
KzQ5OSwyMSBAQCBzdGF0aWMgdm9pZCBfX2luaXQga2V4ZWNfcmVzZXJ2ZV9hcmVhKHN0cnVjdCBl
ODIwbWFwICplODIwKQogCiBzdGF0aWMgdm9pZCBub2lubGluZSBpbml0X2RvbmUodm9pZCkKIHsK
KyAgICB2b2lkICp2YTsKKwogICAgIHN5c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9hY3RpdmU7CiAK
ICAgICBkb21haW5fdW5wYXVzZV9ieV9zeXN0ZW1jb250cm9sbGVyKGhhcmR3YXJlX2RvbWFpbik7
CiAKLSAgICAvKiBGcmVlIChvciBwYWdlLXByb3RlY3QpIHRoZSBpbml0IGFyZWFzLiAqLwotICAg
IG1lbXNldChfX2luaXRfYmVnaW4sIDB4Y2MsIF9faW5pdF9lbmQgLSBfX2luaXRfYmVnaW4pOyAv
KiBpbnQzIHBvaXNvbiAqLwotICAgIGZyZWVfeGVuX2RhdGEoX19pbml0X2JlZ2luLCBfX2luaXRf
ZW5kKTsKKyAgICAvKiBaZXJvIHRoZSAuaW5pdCBjb2RlIGFuZCBkYXRhLiAqLworICAgIGZvciAo
IHZhID0gX19pbml0X2JlZ2luOyB2YSA8IF9wKF9faW5pdF9lbmQpOyB2YSArPSBQQUdFX1NJWkUg
KQorICAgICAgICBjbGVhcl9wYWdlKHZhKTsKKworICAgIC8qIERlc3Ryb3kgWGVuJ3MgbWFwcGlu
Z3MsIGFuZCByZXVzZSB0aGUgcGFnZXMuICovCisgICAgZGVzdHJveV94ZW5fbWFwcGluZ3MoKHVu
c2lnbmVkIGxvbmcpJl9fMk1faW5pdF9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAo
dW5zaWduZWQgbG9uZykmX18yTV9pbml0X2VuZCk7CisgICAgaW5pdF94ZW5oZWFwX3BhZ2VzKF9f
cGEoX18yTV9pbml0X3N0YXJ0KSwgX19wYShfXzJNX2luaXRfZW5kKSk7CisKICAgICBwcmludGso
IkZyZWVkICVsZGtCIGluaXQgbWVtb3J5LlxuIiwgKGxvbmcpKF9faW5pdF9lbmQtX19pbml0X2Jl
Z2luKT4+MTApOwogCiAgICAgc3RhcnR1cF9jcHVfaWRsZV9sb29wKCk7CmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCA5MDVk
OTA4Li4yOTIyMTY1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hl
bi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTI1OSwzICsyNTksNiBAQCBBU1NFUlQoSVNfQUxJR05F
RChfXzJNX3J3ZGF0YV9zdGFydCwgTUIoMikpLCAiX18yTV9yd2RhdGFfc3RhcnQgbWlzYWxpZ25l
ZCIpCiBBU1NFUlQoSVNfQUxJR05FRChfXzJNX3J3ZGF0YV9lbmQsICAgTUIoMikpLCAiX18yTV9y
d2RhdGFfZW5kIG1pc2FsaWduZWQiKQogCiBBU1NFUlQoSVNfQUxJR05FRChjcHUwX3N0YWNrLCBT
VEFDS19TSVpFKSwgImNwdTBfc3RhY2sgbWlzYWxpZ25lZCIpCisKK0FTU0VSVChJU19BTElHTkVE
KF9faW5pdF9iZWdpbiwgUEFHRV9TSVpFKSwgIl9faW5pdF9iZWdpbiBtaXNhbGlnbmVkIikKK0FT
U0VSVChJU19BTElHTkVEKF9faW5pdF9lbmQsICAgUEFHRV9TSVpFKSwgIl9faW5pdF9lbmQgbWlz
YWxpZ25lZCIpCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQv
eGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:30 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUQ-0004di-8C; Sat, 27 Feb 2016 06:36:30 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUP-0004dN-06
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:29 +0000
Received: from [85.158.137.68] by server-15.bemta-3.messagelabs.com id
 3B/12-03172-CE341D65; Sat, 27 Feb 2016 06:36:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-31.messagelabs.com!1456554986!17929949!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 39049 invoked from network); 27 Feb 2016 06:36:27 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-16.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:27 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUM-0008IC-G5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUM-0004To-C5
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:26 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUM-0004To-C5@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:26 +0000
Subject: [Xen-changelog] [xen master] x86: unilaterally remove .init mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDUzYWEzZGRlMTdjNzFlNGYwMWE5ZTk5YTE2YTk1MDY0ZWZjYWIxNzkKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
VGh1IEZlYiAyNSAxMzowNzo0MyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogVGh1IEZlYiAyNSAxMzowNzo0MyAyMDE2ICsw
MTAwCgogICAgeDg2OiB1bmlsYXRlcmFsbHkgcmVtb3ZlIC5pbml0IG1hcHBpbmdzCiAgICAKICAg
IEJlY2F1c2Ugb2YgdGhlIG5ldyAyTSBhbGlnbm1lbnQgb2YgLmluaXQgYW5kIC5ic3MsIHRoZSBl
eGlzdGluZyBtZW1vcnkKICAgIGd1YXJkaW5nIGluZnJhc3RydWN0dXJlIGNhdXNlcyBhIHNoYXR0
ZXJlZCAyTSBzdXBlcnBhZ2Ugd2l0aCBub24tcHJlc2VudAogICAgZW50cmllcyBmb3IgLmluaXQs
IGFuZCBwcmVzZW50IGVudHJpZXMgZm9yIHRoZSBhbGlnbm1lbnQgc3BhY2UuCiAgICAKICAgIERv
IGF3YXkgd2l0aCB0aGUgZGlmZmVyZW5jZSBpbiBiZWhhdmlvdXIgYmV0d2VlbiBkZWJ1ZyBhbmQg
bm9uLWRlYnVnIGJ1aWxkczsKICAgIGFsd2F5cyBkZXN0cm95IHRoZSAuaW5pdCBtYXBwaW5ncywg
YW5kIHJldXNlIHRoZSBzcGFjZSBmb3IgeGVuaGVhcC4KICAgIAogICAgU2lnbmVkLW9mZi1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5
OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3NldHVw
LmMgICB8IDI0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3hlbi5sZHMu
UyB8ICAzICsrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9z
ZXR1cC5jCmluZGV4IDgwNmZhOTUuLjg0MzFmMDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9z
ZXR1cC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC0xNzYsMTYgKzE3Niw2IEBAIHZv
aWQgX19pbml0IGRpc2NhcmRfaW5pdGlhbF9pbWFnZXModm9pZCkKICAgICBpbml0aWFsX2ltYWdl
cyA9IE5VTEw7CiB9CiAKLXN0YXRpYyB2b2lkIGZyZWVfeGVuX2RhdGEoY2hhciAqcywgY2hhciAq
ZSkKLXsKLSNpZm5kZWYgTUVNT1JZX0dVQVJECi0gICAgaW5pdF94ZW5oZWFwX3BhZ2VzKF9fcGEo
cyksIF9fcGEoZSkpOwotI2VuZGlmCi0gICAgbWVtZ3VhcmRfZ3VhcmRfcmFuZ2UocywgZS1zKTsK
LSAgICAvKiBBbHNvIHphcCB0aGUgbWFwcGluZyBpbiB0aGUgMToxIGFyZWEuICovCi0gICAgbWVt
Z3VhcmRfZ3VhcmRfcmFuZ2UoX192YShfX3BhKHMpKSwgZS1zKTsKLX0KLQogZXh0ZXJuIGNoYXIg
X19pbml0X2JlZ2luW10sIF9faW5pdF9lbmRbXSwgX19ic3Nfc3RhcnRbXSwgX19ic3NfZW5kW107
CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbml0X2lkbGVfZG9tYWluKHZvaWQpCkBAIC01MDksMTMg
KzQ5OSwyMSBAQCBzdGF0aWMgdm9pZCBfX2luaXQga2V4ZWNfcmVzZXJ2ZV9hcmVhKHN0cnVjdCBl
ODIwbWFwICplODIwKQogCiBzdGF0aWMgdm9pZCBub2lubGluZSBpbml0X2RvbmUodm9pZCkKIHsK
KyAgICB2b2lkICp2YTsKKwogICAgIHN5c3RlbV9zdGF0ZSA9IFNZU19TVEFURV9hY3RpdmU7CiAK
ICAgICBkb21haW5fdW5wYXVzZV9ieV9zeXN0ZW1jb250cm9sbGVyKGhhcmR3YXJlX2RvbWFpbik7
CiAKLSAgICAvKiBGcmVlIChvciBwYWdlLXByb3RlY3QpIHRoZSBpbml0IGFyZWFzLiAqLwotICAg
IG1lbXNldChfX2luaXRfYmVnaW4sIDB4Y2MsIF9faW5pdF9lbmQgLSBfX2luaXRfYmVnaW4pOyAv
KiBpbnQzIHBvaXNvbiAqLwotICAgIGZyZWVfeGVuX2RhdGEoX19pbml0X2JlZ2luLCBfX2luaXRf
ZW5kKTsKKyAgICAvKiBaZXJvIHRoZSAuaW5pdCBjb2RlIGFuZCBkYXRhLiAqLworICAgIGZvciAo
IHZhID0gX19pbml0X2JlZ2luOyB2YSA8IF9wKF9faW5pdF9lbmQpOyB2YSArPSBQQUdFX1NJWkUg
KQorICAgICAgICBjbGVhcl9wYWdlKHZhKTsKKworICAgIC8qIERlc3Ryb3kgWGVuJ3MgbWFwcGlu
Z3MsIGFuZCByZXVzZSB0aGUgcGFnZXMuICovCisgICAgZGVzdHJveV94ZW5fbWFwcGluZ3MoKHVu
c2lnbmVkIGxvbmcpJl9fMk1faW5pdF9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAo
dW5zaWduZWQgbG9uZykmX18yTV9pbml0X2VuZCk7CisgICAgaW5pdF94ZW5oZWFwX3BhZ2VzKF9f
cGEoX18yTV9pbml0X3N0YXJ0KSwgX19wYShfXzJNX2luaXRfZW5kKSk7CisKICAgICBwcmludGso
IkZyZWVkICVsZGtCIGluaXQgbWVtb3J5LlxuIiwgKGxvbmcpKF9faW5pdF9lbmQtX19pbml0X2Jl
Z2luKT4+MTApOwogCiAgICAgc3RhcnR1cF9jcHVfaWRsZV9sb29wKCk7CmRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRleCA5MDVk
OTA4Li4yOTIyMTY1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisrKyBiL3hl
bi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTI1OSwzICsyNTksNiBAQCBBU1NFUlQoSVNfQUxJR05F
RChfXzJNX3J3ZGF0YV9zdGFydCwgTUIoMikpLCAiX18yTV9yd2RhdGFfc3RhcnQgbWlzYWxpZ25l
ZCIpCiBBU1NFUlQoSVNfQUxJR05FRChfXzJNX3J3ZGF0YV9lbmQsICAgTUIoMikpLCAiX18yTV9y
d2RhdGFfZW5kIG1pc2FsaWduZWQiKQogCiBBU1NFUlQoSVNfQUxJR05FRChjcHUwX3N0YWNrLCBT
VEFDS19TSVpFKSwgImNwdTBfc3RhY2sgbWlzYWxpZ25lZCIpCisKK0FTU0VSVChJU19BTElHTkVE
KF9faW5pdF9iZWdpbiwgUEFHRV9TSVpFKSwgIl9faW5pdF9iZWdpbiBtaXNhbGlnbmVkIikKK0FT
U0VSVChJU19BTElHTkVEKF9faW5pdF9lbmQsICAgUEFHRV9TSVpFKSwgIl9faW5pdF9lbmQgbWlz
YWxpZ25lZCIpCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQv
eGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVu
Lm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUa-0004hD-A8; Sat, 27 Feb 2016 06:36:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUZ-0004h2-Dc
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:39 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
 22/8A-03316-6F341D65; Sat, 27 Feb 2016 06:36:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456554997!25395436!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10934 invoked from network); 27 Feb 2016 06:36:38 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUX-0008IM-0b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUW-0004UC-RP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUW-0004UC-RP@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:36 +0000
Subject: [Xen-changelog] [xen master] x86: CONFIG_COMPAT is defined by
	Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFiZjg4MjRmZTUzMGJjZjA2MGM3NTc1OTZmNjg2NjNjODc1NDZhNmEKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBUaHUgRmVi
IDI1IDEzOjA4OjEyIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBUaHUgRmViIDI1IDEzOjA4OjEyIDIwMTYgKzAxMDAKCiAg
ICB4ODY6IENPTkZJR19DT01QQVQgaXMgZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIFJlbW92
ZSBkdXBsaWNhdGUgZGVmaW5pdGlvbi4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBHb2xk
c3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25m
aWcuaCB8IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZp
Zy5oCmluZGV4IDcyOTFiNTkuLmM5ZjA4YzIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMTEyLDgg
KzExMiw2IEBAIGV4dGVybiB1bnNpZ25lZCBjaGFyIGJvb3RfZWRpZF9pbmZvWzEyOF07CiAKICNk
ZWZpbmUgYXNtbGlua2FnZQogCi0jZGVmaW5lIENPTkZJR19DT01QQVQgMQotCiAjaW5jbHVkZSA8
eGVuL2NvbnN0Lmg+CiAKICNkZWZpbmUgUE1MNF9FTlRSWV9CSVRTICAzOQotLQpnZW5lcmF0ZWQg
YnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1h
aWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNv
dXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sat Feb 27 06:36:40 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Feb 2016 06:36:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aZYUa-0004hD-A8; Sat, 27 Feb 2016 06:36:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUZ-0004h2-Dc
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:39 +0000
Received: from [85.158.139.211] by server-1.bemta-5.messagelabs.com id
 22/8A-03316-6F341D65; Sat, 27 Feb 2016 06:36:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456554997!25395436!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10934 invoked from network); 27 Feb 2016 06:36:38 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 27 Feb 2016 06:36:38 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUX-0008IM-0b
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aZYUW-0004UC-RP
 for xen-changelog@lists.xensource.com; Sat, 27 Feb 2016 06:36:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aZYUW-0004UC-RP@xenbits.xen.org>
Date: Sat, 27 Feb 2016 06:36:36 +0000
Subject: [Xen-changelog] [xen master] x86: CONFIG_COMPAT is defined by
	Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFiZjg4MjRmZTUzMGJjZjA2MGM3NTc1OTZmNjg2NjNjODc1NDZhNmEKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBUaHUgRmVi
IDI1IDEzOjA4OjEyIDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBUaHUgRmViIDI1IDEzOjA4OjEyIDIwMTYgKzAxMDAKCiAg
ICB4ODY6IENPTkZJR19DT01QQVQgaXMgZGVmaW5lZCBieSBLY29uZmlnCiAgICAKICAgIFJlbW92
ZSBkdXBsaWNhdGUgZGVmaW5pdGlvbi4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBHb2xk
c3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25m
aWcuaCB8IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZp
Zy5oCmluZGV4IDcyOTFiNTkuLmM5ZjA4YzIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMTEyLDgg
KzExMiw2IEBAIGV4dGVybiB1bnNpZ25lZCBjaGFyIGJvb3RfZWRpZF9pbmZvWzEyOF07CiAKICNk
ZWZpbmUgYXNtbGlua2FnZQogCi0jZGVmaW5lIENPTkZJR19DT01QQVQgMQotCiAjaW5jbHVkZSA8
eGVuL2NvbnN0Lmg+CiAKICNkZWZpbmUgUE1MNF9FTlRSWV9CSVRTICAzOQotLQpnZW5lcmF0ZWQg
YnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1h
aWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNv
dXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBB7-0006yG-Fn; Sun, 28 Feb 2016 23:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB5-0006xw-Vo
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:08 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
 48/3C-03511-BD883D65; Sun, 28 Feb 2016 23:55:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456703705!25558238!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33984 invoked from network); 28 Feb 2016 23:55:05 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB2-0000qv-T8
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB2-0001nC-Jp
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBB2-0001nC-Jp@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:04 +0000
Subject: [Xen-changelog] [xen master] x86emul: limit-check branch targets
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0603464739162579371=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============0603464739162579371==
Content-Type: text/plain

commit 81d3a0b26c1672c60b2a54dd8780e6f6472d2328
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Feb 26 12:14:39 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 26 12:14:39 2016 +0100

    x86emul: limit-check branch targets
    
    All branches need to #GP when their target violates the segment limit
    (in 16- and 32-bit modes) or is non-canonical (in 64-bit mode). For
    near branches facilitate this via a zero-byte instruction fetch from
    the target address (resulting in address translation and validation
    without an actual read from memory), while far branches get dealt with
    by breaking up the segment register loading into a read-and-validate
    part and a write one. The latter at once allows correcting some
    ordering issues in how the individual emulation steps get carried out:
    Before updating machine state, all exceptions unrelated to that state
    updating should have got raised (i.e. the only ones possibly resulting
    in partly updated state are faulting memory writes [pushes]).
    
    Note that while not immediately needed here, write and distinct read
    emulation routines get updated to deal with zero byte accesses too, for
    overall consistency.
    
    Reported-by: 刘令 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 tools/tests/x86_emulator/x86_emulate.c |   2 +
 xen/arch/x86/hvm/emulate.c             |  14 ++--
 xen/arch/x86/hvm/hvm.c                 |   6 +-
 xen/arch/x86/mm.c                      |  12 +--
 xen/arch/x86/mm/shadow/common.c        |   4 +-
 xen/arch/x86/x86_emulate/x86_emulate.c | 132 ++++++++++++++++++++++-----------
 6 files changed, 110 insertions(+), 60 deletions(-)

diff --git a/tools/tests/x86_emulator/x86_emulate.c b/tools/tests/x86_emulator/x86_emulate.c
index 0b3b34a..f5b450d 100644
--- a/tools/tests/x86_emulator/x86_emulate.c
+++ b/tools/tests/x86_emulator/x86_emulate.c
@@ -8,6 +8,8 @@
 
 typedef bool bool_t;
 
+#define is_canonical_address(x) (((int64_t)(x) >> 47) == ((int64_t)(x) >> 63))
+
 #define BUG() abort()
 #define ASSERT assert
 
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index fef7905..082aa30 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -745,7 +745,7 @@ static int __hvmemul_read(
 
     rc = hvmemul_virtual_to_linear(
         seg, offset, bytes, &reps, access_type, hvmemul_ctxt, &addr);
-    if ( rc != X86EMUL_OKAY )
+    if ( rc != X86EMUL_OKAY || !bytes )
         return rc;
     if ( ((access_type != hvm_access_insn_fetch
            ? vio->mmio_access.read_access
@@ -811,13 +811,17 @@ static int hvmemul_insn_fetch(
         container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
     unsigned int insn_off = offset - hvmemul_ctxt->insn_buf_eip;
 
-    /* Fall back if requested bytes are not in the prefetch cache. */
-    if ( unlikely((insn_off + bytes) > hvmemul_ctxt->insn_buf_bytes) )
+    /*
+     * Fall back if requested bytes are not in the prefetch cache.
+     * But always perform the (fake) read when bytes == 0.
+     */
+    if ( !bytes ||
+         unlikely((insn_off + bytes) > hvmemul_ctxt->insn_buf_bytes) )
     {
         int rc = __hvmemul_read(seg, offset, p_data, bytes,
                                 hvm_access_insn_fetch, hvmemul_ctxt);
 
-        if ( rc == X86EMUL_OKAY )
+        if ( rc == X86EMUL_OKAY && bytes )
         {
             ASSERT(insn_off + bytes <= sizeof(hvmemul_ctxt->insn_buf));
             memcpy(&hvmemul_ctxt->insn_buf[insn_off], p_data, bytes);
@@ -849,7 +853,7 @@ static int hvmemul_write(
 
     rc = hvmemul_virtual_to_linear(
         seg, offset, bytes, &reps, hvm_access_write, hvmemul_ctxt, &addr);
-    if ( rc != X86EMUL_OKAY )
+    if ( rc != X86EMUL_OKAY || !bytes )
         return rc;
 
     if ( vio->mmio_access.write_access &&
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f46d53c..5ea4b5b 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3685,7 +3685,7 @@ int hvm_virtual_to_linear_addr(
          * Certain of them are not done in native real mode anyway.
          */
         addr = (uint32_t)(addr + reg->base);
-        last_byte = (uint32_t)addr + bytes - 1;
+        last_byte = (uint32_t)addr + bytes - !!bytes;
         if ( last_byte < addr )
             return 0;
     }
@@ -3709,7 +3709,7 @@ int hvm_virtual_to_linear_addr(
             break;
         }
 
-        last_byte = (uint32_t)offset + bytes - 1;
+        last_byte = (uint32_t)offset + bytes - !!bytes;
 
         /* Is this a grows-down data segment? Special limit check if so. */
         if ( (reg->attr.fields.type & 0xc) == 0x4 )
@@ -3740,7 +3740,7 @@ int hvm_virtual_to_linear_addr(
         if ( (seg == x86_seg_fs) || (seg == x86_seg_gs) )
             addr += reg->base;
 
-        last_byte = addr + bytes - 1;
+        last_byte = addr + bytes - !!bytes;
         if ( !is_canonical_address(addr) || last_byte < addr ||
              !is_canonical_address(last_byte) )
             return 0;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index ed8ab02..32b4910 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5122,10 +5122,11 @@ static int ptwr_emulated_read(
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    unsigned int rc;
+    unsigned int rc = bytes;
     unsigned long addr = offset;
 
-    if ( (rc = copy_from_user(p_data, (void *)addr, bytes)) != 0 )
+    if ( !__addr_ok(addr) ||
+         (rc = __copy_from_user(p_data, (void *)addr, bytes)) )
     {
         propagate_page_fault(addr + bytes - rc, 0); /* read fault */
         return X86EMUL_EXCEPTION;
@@ -5274,7 +5275,7 @@ static int ptwr_emulated_write(
 {
     paddr_t val = 0;
 
-    if ( (bytes > sizeof(paddr_t)) || (bytes & (bytes -1)) )
+    if ( (bytes > sizeof(paddr_t)) || (bytes & (bytes - 1)) || !bytes )
     {
         MEM_LOG("ptwr_emulate: bad write size (addr=%lx, bytes=%u)",
                 offset, bytes);
@@ -5390,7 +5391,8 @@ int mmio_ro_emulated_write(
     struct mmio_ro_emulate_ctxt *mmio_ro_ctxt = ctxt->data;
 
     /* Only allow naturally-aligned stores at the original %cr2 address. */
-    if ( ((bytes | offset) & (bytes - 1)) || offset != mmio_ro_ctxt->cr2 )
+    if ( ((bytes | offset) & (bytes - 1)) || !bytes ||
+         offset != mmio_ro_ctxt->cr2 )
     {
         MEM_LOG("mmio_ro_emulate: bad access (cr2=%lx, addr=%lx, bytes=%u)",
                 mmio_ro_ctxt->cr2, offset, bytes);
@@ -5419,7 +5421,7 @@ int mmcfg_intercept_write(
      * Only allow naturally-aligned stores no wider than 4 bytes to the
      * original %cr2 address.
      */
-    if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 ||
+    if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 || !bytes ||
          offset != mmio_ctxt->cr2 )
     {
         MEM_LOG("mmcfg_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 2270838..cdad572 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -157,7 +157,7 @@ hvm_read(enum x86_segment seg,
 
     rc = hvm_translate_linear_addr(
         seg, offset, bytes, access_type, sh_ctxt, &addr);
-    if ( rc )
+    if ( rc || !bytes )
         return rc;
 
     if ( access_type == hvm_access_insn_fetch )
@@ -241,7 +241,7 @@ hvm_emulate_write(enum x86_segment seg,
 
     rc = hvm_translate_linear_addr(
         seg, offset, bytes, hvm_access_write, sh_ctxt, &addr);
-    if ( rc )
+    if ( rc || !bytes )
         return rc;
 
     return v->arch.paging.mode->shadow.x86_emulate_write(
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 9b1519e..b113dbe 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -642,14 +642,26 @@ do {                                                                    \
 
 #define jmp_rel(rel)                                                    \
 do {                                                                    \
-    int _rel = (int)(rel);                                              \
-    _regs.eip += _rel;                                                  \
+    unsigned long ip = _regs.eip + (int)(rel);                          \
     if ( op_bytes == 2 )                                                \
-        _regs.eip = (uint16_t)_regs.eip;                                \
+        ip = (uint16_t)ip;                                              \
     else if ( !mode_64bit() )                                           \
-        _regs.eip = (uint32_t)_regs.eip;                                \
+        ip = (uint32_t)ip;                                              \
+    rc = ops->insn_fetch(x86_seg_cs, ip, NULL, 0, ctxt);                \
+    if ( rc ) goto done;                                                \
+    _regs.eip = ip;                                                     \
 } while (0)
 
+#define validate_far_branch(cs, ip)                                     \
+    generate_exception_if(in_longmode(ctxt, ops) && (cs)->attr.fields.l \
+                          ? !is_canonical_address(ip)                   \
+                          : (ip) > (cs)->limit, EXC_GP, 0)
+
+#define commit_far_branch(cs, ip) ({                                    \
+    validate_far_branch(cs, ip);                                        \
+    ops->write_segment(x86_seg_cs, cs, ctxt);                           \
+})
+
 struct fpu_insn_ctxt {
     uint8_t insn_bytes;
     uint8_t exn_raised;
@@ -1099,29 +1111,30 @@ static int
 realmode_load_seg(
     enum x86_segment seg,
     uint16_t sel,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
-    struct segment_register reg;
-    int rc;
-
-    if ( (rc = ops->read_segment(seg, &reg, ctxt)) != 0 )
-        return rc;
+    int rc = ops->read_segment(seg, sreg, ctxt);
 
-    reg.sel  = sel;
-    reg.base = (uint32_t)sel << 4;
+    if ( !rc )
+    {
+        sreg->sel  = sel;
+        sreg->base = (uint32_t)sel << 4;
+    }
 
-    return ops->write_segment(seg, &reg, ctxt);
+    return rc;
 }
 
 static int
 protmode_load_seg(
     enum x86_segment seg,
     uint16_t sel, bool_t is_ret,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
-    struct segment_register desctab, ss, segr;
+    struct segment_register desctab, ss;
     struct { uint32_t a, b; } desc;
     uint8_t dpl, rpl, cpl;
     uint32_t new_desc_b, a_flag = 0x100;
@@ -1132,8 +1145,8 @@ protmode_load_seg(
     {
         if ( (seg == x86_seg_cs) || (seg == x86_seg_ss) )
             goto raise_exn;
-        memset(&segr, 0, sizeof(segr));
-        return ops->write_segment(seg, &segr, ctxt);
+        memset(sreg, 0, sizeof(*sreg));
+        return X86EMUL_OKAY;
     }
 
     /* System segment descriptors must reside in the GDT. */
@@ -1242,16 +1255,16 @@ protmode_load_seg(
     desc.b |= a_flag;
 
  skip_accessed_flag:
-    segr.base = (((desc.b <<  0) & 0xff000000u) |
-                 ((desc.b << 16) & 0x00ff0000u) |
-                 ((desc.a >> 16) & 0x0000ffffu));
-    segr.attr.bytes = (((desc.b >>  8) & 0x00ffu) |
-                       ((desc.b >> 12) & 0x0f00u));
-    segr.limit = (desc.b & 0x000f0000u) | (desc.a & 0x0000ffffu);
-    if ( segr.attr.fields.g )
-        segr.limit = (segr.limit << 12) | 0xfffu;
-    segr.sel = sel;
-    return ops->write_segment(seg, &segr, ctxt);
+    sreg->base = (((desc.b <<  0) & 0xff000000u) |
+                  ((desc.b << 16) & 0x00ff0000u) |
+                  ((desc.a >> 16) & 0x0000ffffu));
+    sreg->attr.bytes = (((desc.b >>  8) & 0x00ffu) |
+                        ((desc.b >> 12) & 0x0f00u));
+    sreg->limit = (desc.b & 0x000f0000u) | (desc.a & 0x0000ffffu);
+    if ( sreg->attr.fields.g )
+        sreg->limit = (sreg->limit << 12) | 0xfffu;
+    sreg->sel = sel;
+    return X86EMUL_OKAY;
 
  raise_exn:
     if ( ops->inject_hw_exception == NULL )
@@ -1265,17 +1278,29 @@ static int
 load_seg(
     enum x86_segment seg,
     uint16_t sel, bool_t is_ret,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
+    struct segment_register reg;
+    int rc;
+
     if ( (ops->read_segment == NULL) ||
          (ops->write_segment == NULL) )
         return X86EMUL_UNHANDLEABLE;
 
+    if ( !sreg )
+        sreg = &reg;
+
     if ( in_protmode(ctxt, ops) )
-        return protmode_load_seg(seg, sel, is_ret, ctxt, ops);
+        rc = protmode_load_seg(seg, sel, is_ret, sreg, ctxt, ops);
+    else
+        rc = realmode_load_seg(seg, sel, sreg, ctxt, ops);
+
+    if ( !rc && sreg == &reg )
+        rc = ops->write_segment(seg, sreg, ctxt);
 
-    return realmode_load_seg(seg, sel, ctxt, ops);
+    return rc;
 }
 
 void *
@@ -1970,6 +1995,8 @@ x86_emulate(
 
     switch ( b )
     {
+        struct segment_register cs;
+
     case 0x00 ... 0x05: add: /* add */
         emulate_2op_SrcV("add", src, dst, _regs.eflags);
         break;
@@ -2031,7 +2058,7 @@ x86_emulate(
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &dst.val, op_bytes, ctxt, ops)) != 0 )
             goto done;
-        if ( (rc = load_seg(src.val, dst.val, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(src.val, dst.val, 0, NULL, ctxt, ops)) != 0 )
             return rc;
         break;
 
@@ -2364,7 +2391,7 @@ x86_emulate(
         enum x86_segment seg = decode_segment(modrm_reg);
         generate_exception_if(seg == decode_segment_failed, EXC_UD, -1);
         generate_exception_if(seg == x86_seg_cs, EXC_UD, -1);
-        if ( (rc = load_seg(seg, src.val, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(seg, src.val, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         if ( seg == x86_seg_ss )
             ctxt->retire.flags.mov_ss = 1;
@@ -2439,14 +2466,15 @@ x86_emulate(
         sel = insn_fetch_type(uint16_t);
 
         if ( (rc = ops->read_segment(x86_seg_cs, &reg, ctxt)) ||
-             (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
+             (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+             (validate_far_branch(&cs, eip),
+              rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
                               &reg.sel, op_bytes, ctxt)) ||
              (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
-                              &_regs.eip, op_bytes, ctxt)) )
+                              &_regs.eip, op_bytes, ctxt)) ||
+             (rc = ops->write_segment(x86_seg_cs, &cs, ctxt)) )
             goto done;
 
-        if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
-            goto done;
         _regs.eip = eip;
         break;
     }
@@ -2664,7 +2692,8 @@ x86_emulate(
         int offset = (b == 0xc2) ? insn_fetch_type(uint16_t) : 0;
         op_bytes = ((op_bytes == 4) && mode_64bit()) ? 8 : op_bytes;
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes + offset),
-                              &dst.val, op_bytes, ctxt, ops)) != 0 )
+                              &dst.val, op_bytes, ctxt, ops)) != 0 ||
+             (rc = ops->insn_fetch(x86_seg_cs, dst.val, NULL, 0, ctxt)) )
             goto done;
         _regs.eip = dst.val;
         break;
@@ -2679,7 +2708,7 @@ x86_emulate(
         if ( (rc = read_ulong(src.mem.seg, src.mem.off + src.bytes,
                               &sel, 2, ctxt, ops)) != 0 )
             goto done;
-        if ( (rc = load_seg(dst.val, sel, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(dst.val, sel, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         dst.val = src.val;
         break;
@@ -2753,7 +2782,8 @@ x86_emulate(
                               &dst.val, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes + offset),
                               &src.val, op_bytes, ctxt, ops)) ||
-             (rc = load_seg(x86_seg_cs, src.val, 1, ctxt, ops)) )
+             (rc = load_seg(x86_seg_cs, src.val, 1, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, dst.val)) )
             goto done;
         _regs.eip = dst.val;
         break;
@@ -2782,7 +2812,7 @@ x86_emulate(
         goto swint;
 
     case 0xcf: /* iret */ {
-        unsigned long cs, eip, eflags;
+        unsigned long sel, eip, eflags;
         uint32_t mask = EFLG_VIP | EFLG_VIF | EFLG_VM;
         if ( !mode_ring0() )
             mask |= EFLG_IOPL;
@@ -2792,7 +2822,7 @@ x86_emulate(
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &eip, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
-                              &cs, op_bytes, ctxt, ops)) ||
+                              &sel, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &eflags, op_bytes, ctxt, ops)) )
             goto done;
@@ -2802,7 +2832,8 @@ x86_emulate(
         _regs.eflags &= mask;
         _regs.eflags |= (uint32_t)(eflags & ~mask) | 0x02;
         _regs.eip = eip;
-        if ( (rc = load_seg(x86_seg_cs, cs, 1, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(x86_seg_cs, sel, 1, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, eip)) )
             goto done;
         break;
     }
@@ -3432,7 +3463,8 @@ x86_emulate(
         generate_exception_if(mode_64bit(), EXC_UD, -1);
         eip = insn_fetch_bytes(op_bytes);
         sel = insn_fetch_type(uint16_t);
-        if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, eip)) )
             goto done;
         _regs.eip = eip;
         break;
@@ -3702,10 +3734,14 @@ x86_emulate(
             break;
         case 2: /* call (near) */
             dst.val = _regs.eip;
+            if ( (rc = ops->insn_fetch(x86_seg_cs, src.val, NULL, 0, ctxt)) )
+                goto done;
             _regs.eip = src.val;
             src.val = dst.val;
             goto push;
         case 4: /* jmp (near) */
+            if ( (rc = ops->insn_fetch(x86_seg_cs, src.val, NULL, 0, ctxt)) )
+                goto done;
             _regs.eip = src.val;
             dst.type = OP_NONE;
             break;
@@ -3724,14 +3760,17 @@ x86_emulate(
                 struct segment_register reg;
                 fail_if(ops->read_segment == NULL);
                 if ( (rc = ops->read_segment(x86_seg_cs, &reg, ctxt)) ||
-                     (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
+                     (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+                     (validate_far_branch(&cs, src.val),
+                      rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
                                       &reg.sel, op_bytes, ctxt)) ||
                      (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
-                                      &_regs.eip, op_bytes, ctxt)) )
+                                      &_regs.eip, op_bytes, ctxt)) ||
+                     (rc = ops->write_segment(x86_seg_cs, &cs, ctxt)) )
                     goto done;
             }
-
-            if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
+            else if ( (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+                      (rc = commit_far_branch(&cs, src.val)) )
                 goto done;
             _regs.eip = src.val;
 
@@ -3816,7 +3855,7 @@ x86_emulate(
         generate_exception_if(!in_protmode(ctxt, ops), EXC_UD, -1);
         generate_exception_if(!mode_ring0(), EXC_GP, 0);
         if ( (rc = load_seg((modrm_reg & 1) ? x86_seg_tr : x86_seg_ldtr,
-                            src.val, 0, ctxt, ops)) != 0 )
+                            src.val, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         break;
 
@@ -4269,6 +4308,9 @@ x86_emulate(
             goto done;
 
         generate_exception_if(!(msr_content & 0xfffc), EXC_GP, 0);
+        generate_exception_if(user64 && (!is_canonical_address(_regs.edx) ||
+                                         !is_canonical_address(_regs.ecx)),
+                              EXC_GP, 0);
 
         cs.sel = (msr_content | 3) + /* SELECTOR_RPL_MASK */
                  (user64 ? 32 : 16);
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============0603464739162579371==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============0603464739162579371==--

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:12 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBB7-0006yG-Fn; Sun, 28 Feb 2016 23:55:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB5-0006xw-Vo
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:08 +0000
Received: from [85.158.139.211] by server-7.bemta-5.messagelabs.com id
 48/3C-03511-BD883D65; Sun, 28 Feb 2016 23:55:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456703705!25558238!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33984 invoked from network); 28 Feb 2016 23:55:05 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:05 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB2-0000qv-T8
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBB2-0001nC-Jp
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:04 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBB2-0001nC-Jp@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:04 +0000
Subject: [Xen-changelog] [xen master] x86emul: limit-check branch targets
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============0603464739162579371=="
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

--===============0603464739162579371==
Content-Type: text/plain

commit 81d3a0b26c1672c60b2a54dd8780e6f6472d2328
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Feb 26 12:14:39 2016 +0100
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Feb 26 12:14:39 2016 +0100

    x86emul: limit-check branch targets
    
    All branches need to #GP when their target violates the segment limit
    (in 16- and 32-bit modes) or is non-canonical (in 64-bit mode). For
    near branches facilitate this via a zero-byte instruction fetch from
    the target address (resulting in address translation and validation
    without an actual read from memory), while far branches get dealt with
    by breaking up the segment register loading into a read-and-validate
    part and a write one. The latter at once allows correcting some
    ordering issues in how the individual emulation steps get carried out:
    Before updating machine state, all exceptions unrelated to that state
    updating should have got raised (i.e. the only ones possibly resulting
    in partly updated state are faulting memory writes [pushes]).
    
    Note that while not immediately needed here, write and distinct read
    emulation routines get updated to deal with zero byte accesses too, for
    overall consistency.
    
    Reported-by: 刘令 <liuling-it@360.cn>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 tools/tests/x86_emulator/x86_emulate.c |   2 +
 xen/arch/x86/hvm/emulate.c             |  14 ++--
 xen/arch/x86/hvm/hvm.c                 |   6 +-
 xen/arch/x86/mm.c                      |  12 +--
 xen/arch/x86/mm/shadow/common.c        |   4 +-
 xen/arch/x86/x86_emulate/x86_emulate.c | 132 ++++++++++++++++++++++-----------
 6 files changed, 110 insertions(+), 60 deletions(-)

diff --git a/tools/tests/x86_emulator/x86_emulate.c b/tools/tests/x86_emulator/x86_emulate.c
index 0b3b34a..f5b450d 100644
--- a/tools/tests/x86_emulator/x86_emulate.c
+++ b/tools/tests/x86_emulator/x86_emulate.c
@@ -8,6 +8,8 @@
 
 typedef bool bool_t;
 
+#define is_canonical_address(x) (((int64_t)(x) >> 47) == ((int64_t)(x) >> 63))
+
 #define BUG() abort()
 #define ASSERT assert
 
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index fef7905..082aa30 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -745,7 +745,7 @@ static int __hvmemul_read(
 
     rc = hvmemul_virtual_to_linear(
         seg, offset, bytes, &reps, access_type, hvmemul_ctxt, &addr);
-    if ( rc != X86EMUL_OKAY )
+    if ( rc != X86EMUL_OKAY || !bytes )
         return rc;
     if ( ((access_type != hvm_access_insn_fetch
            ? vio->mmio_access.read_access
@@ -811,13 +811,17 @@ static int hvmemul_insn_fetch(
         container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
     unsigned int insn_off = offset - hvmemul_ctxt->insn_buf_eip;
 
-    /* Fall back if requested bytes are not in the prefetch cache. */
-    if ( unlikely((insn_off + bytes) > hvmemul_ctxt->insn_buf_bytes) )
+    /*
+     * Fall back if requested bytes are not in the prefetch cache.
+     * But always perform the (fake) read when bytes == 0.
+     */
+    if ( !bytes ||
+         unlikely((insn_off + bytes) > hvmemul_ctxt->insn_buf_bytes) )
     {
         int rc = __hvmemul_read(seg, offset, p_data, bytes,
                                 hvm_access_insn_fetch, hvmemul_ctxt);
 
-        if ( rc == X86EMUL_OKAY )
+        if ( rc == X86EMUL_OKAY && bytes )
         {
             ASSERT(insn_off + bytes <= sizeof(hvmemul_ctxt->insn_buf));
             memcpy(&hvmemul_ctxt->insn_buf[insn_off], p_data, bytes);
@@ -849,7 +853,7 @@ static int hvmemul_write(
 
     rc = hvmemul_virtual_to_linear(
         seg, offset, bytes, &reps, hvm_access_write, hvmemul_ctxt, &addr);
-    if ( rc != X86EMUL_OKAY )
+    if ( rc != X86EMUL_OKAY || !bytes )
         return rc;
 
     if ( vio->mmio_access.write_access &&
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index f46d53c..5ea4b5b 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3685,7 +3685,7 @@ int hvm_virtual_to_linear_addr(
          * Certain of them are not done in native real mode anyway.
          */
         addr = (uint32_t)(addr + reg->base);
-        last_byte = (uint32_t)addr + bytes - 1;
+        last_byte = (uint32_t)addr + bytes - !!bytes;
         if ( last_byte < addr )
             return 0;
     }
@@ -3709,7 +3709,7 @@ int hvm_virtual_to_linear_addr(
             break;
         }
 
-        last_byte = (uint32_t)offset + bytes - 1;
+        last_byte = (uint32_t)offset + bytes - !!bytes;
 
         /* Is this a grows-down data segment? Special limit check if so. */
         if ( (reg->attr.fields.type & 0xc) == 0x4 )
@@ -3740,7 +3740,7 @@ int hvm_virtual_to_linear_addr(
         if ( (seg == x86_seg_fs) || (seg == x86_seg_gs) )
             addr += reg->base;
 
-        last_byte = addr + bytes - 1;
+        last_byte = addr + bytes - !!bytes;
         if ( !is_canonical_address(addr) || last_byte < addr ||
              !is_canonical_address(last_byte) )
             return 0;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index ed8ab02..32b4910 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5122,10 +5122,11 @@ static int ptwr_emulated_read(
     unsigned int bytes,
     struct x86_emulate_ctxt *ctxt)
 {
-    unsigned int rc;
+    unsigned int rc = bytes;
     unsigned long addr = offset;
 
-    if ( (rc = copy_from_user(p_data, (void *)addr, bytes)) != 0 )
+    if ( !__addr_ok(addr) ||
+         (rc = __copy_from_user(p_data, (void *)addr, bytes)) )
     {
         propagate_page_fault(addr + bytes - rc, 0); /* read fault */
         return X86EMUL_EXCEPTION;
@@ -5274,7 +5275,7 @@ static int ptwr_emulated_write(
 {
     paddr_t val = 0;
 
-    if ( (bytes > sizeof(paddr_t)) || (bytes & (bytes -1)) )
+    if ( (bytes > sizeof(paddr_t)) || (bytes & (bytes - 1)) || !bytes )
     {
         MEM_LOG("ptwr_emulate: bad write size (addr=%lx, bytes=%u)",
                 offset, bytes);
@@ -5390,7 +5391,8 @@ int mmio_ro_emulated_write(
     struct mmio_ro_emulate_ctxt *mmio_ro_ctxt = ctxt->data;
 
     /* Only allow naturally-aligned stores at the original %cr2 address. */
-    if ( ((bytes | offset) & (bytes - 1)) || offset != mmio_ro_ctxt->cr2 )
+    if ( ((bytes | offset) & (bytes - 1)) || !bytes ||
+         offset != mmio_ro_ctxt->cr2 )
     {
         MEM_LOG("mmio_ro_emulate: bad access (cr2=%lx, addr=%lx, bytes=%u)",
                 mmio_ro_ctxt->cr2, offset, bytes);
@@ -5419,7 +5421,7 @@ int mmcfg_intercept_write(
      * Only allow naturally-aligned stores no wider than 4 bytes to the
      * original %cr2 address.
      */
-    if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 ||
+    if ( ((bytes | offset) & (bytes - 1)) || bytes > 4 || !bytes ||
          offset != mmio_ctxt->cr2 )
     {
         MEM_LOG("mmcfg_intercept: bad write (cr2=%lx, addr=%lx, bytes=%u)",
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 2270838..cdad572 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -157,7 +157,7 @@ hvm_read(enum x86_segment seg,
 
     rc = hvm_translate_linear_addr(
         seg, offset, bytes, access_type, sh_ctxt, &addr);
-    if ( rc )
+    if ( rc || !bytes )
         return rc;
 
     if ( access_type == hvm_access_insn_fetch )
@@ -241,7 +241,7 @@ hvm_emulate_write(enum x86_segment seg,
 
     rc = hvm_translate_linear_addr(
         seg, offset, bytes, hvm_access_write, sh_ctxt, &addr);
-    if ( rc )
+    if ( rc || !bytes )
         return rc;
 
     return v->arch.paging.mode->shadow.x86_emulate_write(
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 9b1519e..b113dbe 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -642,14 +642,26 @@ do {                                                                    \
 
 #define jmp_rel(rel)                                                    \
 do {                                                                    \
-    int _rel = (int)(rel);                                              \
-    _regs.eip += _rel;                                                  \
+    unsigned long ip = _regs.eip + (int)(rel);                          \
     if ( op_bytes == 2 )                                                \
-        _regs.eip = (uint16_t)_regs.eip;                                \
+        ip = (uint16_t)ip;                                              \
     else if ( !mode_64bit() )                                           \
-        _regs.eip = (uint32_t)_regs.eip;                                \
+        ip = (uint32_t)ip;                                              \
+    rc = ops->insn_fetch(x86_seg_cs, ip, NULL, 0, ctxt);                \
+    if ( rc ) goto done;                                                \
+    _regs.eip = ip;                                                     \
 } while (0)
 
+#define validate_far_branch(cs, ip)                                     \
+    generate_exception_if(in_longmode(ctxt, ops) && (cs)->attr.fields.l \
+                          ? !is_canonical_address(ip)                   \
+                          : (ip) > (cs)->limit, EXC_GP, 0)
+
+#define commit_far_branch(cs, ip) ({                                    \
+    validate_far_branch(cs, ip);                                        \
+    ops->write_segment(x86_seg_cs, cs, ctxt);                           \
+})
+
 struct fpu_insn_ctxt {
     uint8_t insn_bytes;
     uint8_t exn_raised;
@@ -1099,29 +1111,30 @@ static int
 realmode_load_seg(
     enum x86_segment seg,
     uint16_t sel,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
-    struct segment_register reg;
-    int rc;
-
-    if ( (rc = ops->read_segment(seg, &reg, ctxt)) != 0 )
-        return rc;
+    int rc = ops->read_segment(seg, sreg, ctxt);
 
-    reg.sel  = sel;
-    reg.base = (uint32_t)sel << 4;
+    if ( !rc )
+    {
+        sreg->sel  = sel;
+        sreg->base = (uint32_t)sel << 4;
+    }
 
-    return ops->write_segment(seg, &reg, ctxt);
+    return rc;
 }
 
 static int
 protmode_load_seg(
     enum x86_segment seg,
     uint16_t sel, bool_t is_ret,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
-    struct segment_register desctab, ss, segr;
+    struct segment_register desctab, ss;
     struct { uint32_t a, b; } desc;
     uint8_t dpl, rpl, cpl;
     uint32_t new_desc_b, a_flag = 0x100;
@@ -1132,8 +1145,8 @@ protmode_load_seg(
     {
         if ( (seg == x86_seg_cs) || (seg == x86_seg_ss) )
             goto raise_exn;
-        memset(&segr, 0, sizeof(segr));
-        return ops->write_segment(seg, &segr, ctxt);
+        memset(sreg, 0, sizeof(*sreg));
+        return X86EMUL_OKAY;
     }
 
     /* System segment descriptors must reside in the GDT. */
@@ -1242,16 +1255,16 @@ protmode_load_seg(
     desc.b |= a_flag;
 
  skip_accessed_flag:
-    segr.base = (((desc.b <<  0) & 0xff000000u) |
-                 ((desc.b << 16) & 0x00ff0000u) |
-                 ((desc.a >> 16) & 0x0000ffffu));
-    segr.attr.bytes = (((desc.b >>  8) & 0x00ffu) |
-                       ((desc.b >> 12) & 0x0f00u));
-    segr.limit = (desc.b & 0x000f0000u) | (desc.a & 0x0000ffffu);
-    if ( segr.attr.fields.g )
-        segr.limit = (segr.limit << 12) | 0xfffu;
-    segr.sel = sel;
-    return ops->write_segment(seg, &segr, ctxt);
+    sreg->base = (((desc.b <<  0) & 0xff000000u) |
+                  ((desc.b << 16) & 0x00ff0000u) |
+                  ((desc.a >> 16) & 0x0000ffffu));
+    sreg->attr.bytes = (((desc.b >>  8) & 0x00ffu) |
+                        ((desc.b >> 12) & 0x0f00u));
+    sreg->limit = (desc.b & 0x000f0000u) | (desc.a & 0x0000ffffu);
+    if ( sreg->attr.fields.g )
+        sreg->limit = (sreg->limit << 12) | 0xfffu;
+    sreg->sel = sel;
+    return X86EMUL_OKAY;
 
  raise_exn:
     if ( ops->inject_hw_exception == NULL )
@@ -1265,17 +1278,29 @@ static int
 load_seg(
     enum x86_segment seg,
     uint16_t sel, bool_t is_ret,
+    struct segment_register *sreg,
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
+    struct segment_register reg;
+    int rc;
+
     if ( (ops->read_segment == NULL) ||
          (ops->write_segment == NULL) )
         return X86EMUL_UNHANDLEABLE;
 
+    if ( !sreg )
+        sreg = &reg;
+
     if ( in_protmode(ctxt, ops) )
-        return protmode_load_seg(seg, sel, is_ret, ctxt, ops);
+        rc = protmode_load_seg(seg, sel, is_ret, sreg, ctxt, ops);
+    else
+        rc = realmode_load_seg(seg, sel, sreg, ctxt, ops);
+
+    if ( !rc && sreg == &reg )
+        rc = ops->write_segment(seg, sreg, ctxt);
 
-    return realmode_load_seg(seg, sel, ctxt, ops);
+    return rc;
 }
 
 void *
@@ -1970,6 +1995,8 @@ x86_emulate(
 
     switch ( b )
     {
+        struct segment_register cs;
+
     case 0x00 ... 0x05: add: /* add */
         emulate_2op_SrcV("add", src, dst, _regs.eflags);
         break;
@@ -2031,7 +2058,7 @@ x86_emulate(
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &dst.val, op_bytes, ctxt, ops)) != 0 )
             goto done;
-        if ( (rc = load_seg(src.val, dst.val, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(src.val, dst.val, 0, NULL, ctxt, ops)) != 0 )
             return rc;
         break;
 
@@ -2364,7 +2391,7 @@ x86_emulate(
         enum x86_segment seg = decode_segment(modrm_reg);
         generate_exception_if(seg == decode_segment_failed, EXC_UD, -1);
         generate_exception_if(seg == x86_seg_cs, EXC_UD, -1);
-        if ( (rc = load_seg(seg, src.val, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(seg, src.val, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         if ( seg == x86_seg_ss )
             ctxt->retire.flags.mov_ss = 1;
@@ -2439,14 +2466,15 @@ x86_emulate(
         sel = insn_fetch_type(uint16_t);
 
         if ( (rc = ops->read_segment(x86_seg_cs, &reg, ctxt)) ||
-             (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
+             (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+             (validate_far_branch(&cs, eip),
+              rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
                               &reg.sel, op_bytes, ctxt)) ||
              (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
-                              &_regs.eip, op_bytes, ctxt)) )
+                              &_regs.eip, op_bytes, ctxt)) ||
+             (rc = ops->write_segment(x86_seg_cs, &cs, ctxt)) )
             goto done;
 
-        if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
-            goto done;
         _regs.eip = eip;
         break;
     }
@@ -2664,7 +2692,8 @@ x86_emulate(
         int offset = (b == 0xc2) ? insn_fetch_type(uint16_t) : 0;
         op_bytes = ((op_bytes == 4) && mode_64bit()) ? 8 : op_bytes;
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes + offset),
-                              &dst.val, op_bytes, ctxt, ops)) != 0 )
+                              &dst.val, op_bytes, ctxt, ops)) != 0 ||
+             (rc = ops->insn_fetch(x86_seg_cs, dst.val, NULL, 0, ctxt)) )
             goto done;
         _regs.eip = dst.val;
         break;
@@ -2679,7 +2708,7 @@ x86_emulate(
         if ( (rc = read_ulong(src.mem.seg, src.mem.off + src.bytes,
                               &sel, 2, ctxt, ops)) != 0 )
             goto done;
-        if ( (rc = load_seg(dst.val, sel, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(dst.val, sel, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         dst.val = src.val;
         break;
@@ -2753,7 +2782,8 @@ x86_emulate(
                               &dst.val, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes + offset),
                               &src.val, op_bytes, ctxt, ops)) ||
-             (rc = load_seg(x86_seg_cs, src.val, 1, ctxt, ops)) )
+             (rc = load_seg(x86_seg_cs, src.val, 1, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, dst.val)) )
             goto done;
         _regs.eip = dst.val;
         break;
@@ -2782,7 +2812,7 @@ x86_emulate(
         goto swint;
 
     case 0xcf: /* iret */ {
-        unsigned long cs, eip, eflags;
+        unsigned long sel, eip, eflags;
         uint32_t mask = EFLG_VIP | EFLG_VIF | EFLG_VM;
         if ( !mode_ring0() )
             mask |= EFLG_IOPL;
@@ -2792,7 +2822,7 @@ x86_emulate(
         if ( (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &eip, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
-                              &cs, op_bytes, ctxt, ops)) ||
+                              &sel, op_bytes, ctxt, ops)) ||
              (rc = read_ulong(x86_seg_ss, sp_post_inc(op_bytes),
                               &eflags, op_bytes, ctxt, ops)) )
             goto done;
@@ -2802,7 +2832,8 @@ x86_emulate(
         _regs.eflags &= mask;
         _regs.eflags |= (uint32_t)(eflags & ~mask) | 0x02;
         _regs.eip = eip;
-        if ( (rc = load_seg(x86_seg_cs, cs, 1, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(x86_seg_cs, sel, 1, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, eip)) )
             goto done;
         break;
     }
@@ -3432,7 +3463,8 @@ x86_emulate(
         generate_exception_if(mode_64bit(), EXC_UD, -1);
         eip = insn_fetch_bytes(op_bytes);
         sel = insn_fetch_type(uint16_t);
-        if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
+        if ( (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+             (rc = commit_far_branch(&cs, eip)) )
             goto done;
         _regs.eip = eip;
         break;
@@ -3702,10 +3734,14 @@ x86_emulate(
             break;
         case 2: /* call (near) */
             dst.val = _regs.eip;
+            if ( (rc = ops->insn_fetch(x86_seg_cs, src.val, NULL, 0, ctxt)) )
+                goto done;
             _regs.eip = src.val;
             src.val = dst.val;
             goto push;
         case 4: /* jmp (near) */
+            if ( (rc = ops->insn_fetch(x86_seg_cs, src.val, NULL, 0, ctxt)) )
+                goto done;
             _regs.eip = src.val;
             dst.type = OP_NONE;
             break;
@@ -3724,14 +3760,17 @@ x86_emulate(
                 struct segment_register reg;
                 fail_if(ops->read_segment == NULL);
                 if ( (rc = ops->read_segment(x86_seg_cs, &reg, ctxt)) ||
-                     (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
+                     (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+                     (validate_far_branch(&cs, src.val),
+                      rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
                                       &reg.sel, op_bytes, ctxt)) ||
                      (rc = ops->write(x86_seg_ss, sp_pre_dec(op_bytes),
-                                      &_regs.eip, op_bytes, ctxt)) )
+                                      &_regs.eip, op_bytes, ctxt)) ||
+                     (rc = ops->write_segment(x86_seg_cs, &cs, ctxt)) )
                     goto done;
             }
-
-            if ( (rc = load_seg(x86_seg_cs, sel, 0, ctxt, ops)) != 0 )
+            else if ( (rc = load_seg(x86_seg_cs, sel, 0, &cs, ctxt, ops)) ||
+                      (rc = commit_far_branch(&cs, src.val)) )
                 goto done;
             _regs.eip = src.val;
 
@@ -3816,7 +3855,7 @@ x86_emulate(
         generate_exception_if(!in_protmode(ctxt, ops), EXC_UD, -1);
         generate_exception_if(!mode_ring0(), EXC_GP, 0);
         if ( (rc = load_seg((modrm_reg & 1) ? x86_seg_tr : x86_seg_ldtr,
-                            src.val, 0, ctxt, ops)) != 0 )
+                            src.val, 0, NULL, ctxt, ops)) != 0 )
             goto done;
         break;
 
@@ -4269,6 +4308,9 @@ x86_emulate(
             goto done;
 
         generate_exception_if(!(msr_content & 0xfffc), EXC_GP, 0);
+        generate_exception_if(user64 && (!is_canonical_address(_regs.edx) ||
+                                         !is_canonical_address(_regs.ecx)),
+                              EXC_GP, 0);
 
         cs.sel = (msr_content | 3) + /* SELECTOR_RPL_MASK */
                  (user64 ? 32 : 16);
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============0603464739162579371==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5n
ZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0
cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

--===============0603464739162579371==--

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBH-00070W-I2; Sun, 28 Feb 2016 23:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBF-00070G-Ni
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:17 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
 79/89-23864-4E883D65; Sun, 28 Feb 2016 23:55:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456703715!3290719!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43571 invoked from network); 28 Feb 2016 23:55:16 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBD-0000r0-8M
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBD-0001nm-60
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBD-0001nm-60@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:15 +0000
Subject: [Xen-changelog] [xen master] x86emul: simplify IRET logic
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE1OGJhNTMzMjNjYzBmY2RiODMzNzk4MTM5YTJmMjBhMTVkYWQ1ZTIKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmViIDI2
IDEyOjE1OjA5IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjE1OjA5IDIwMTYgKzAxMDAKCiAgICB4
ODZlbXVsOiBzaW1wbGlmeSBJUkVUIGxvZ2ljCiAgICAKICAgIFNpbmNlIHdlIG9ubHkgaGFuZGxl
IHJlYWwgbW9kZSwgd2UgbmVlZCB0byBjb25zaWRlciBuZWl0aGVyIG5vbi1yaW5nMAogICAgbm9y
IElPUEwuIEFsc28gZm9yIFBPUEYgdGhlIG1vZGVfaW9wbCgpIGNoZWNrIGNhbiByZWFsbHkgYmUg
aW5zaWRlIHRoZQogICAgbm90LXJpbmctMCBib2R5LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CiAgICBSZXZpZXdlZC1ieTogQW5kcmV3IENv
b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYveDg2X2Vt
dWxhdGUveDg2X2VtdWxhdGUuYyB8IDEzICsrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2
IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2
X2VtdWxhdGUuYwppbmRleCBiMTEzZGJlLi4xMTljODlmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxh
dGUveDg2X2VtdWxhdGUuYwpAQCAtMjQ5MCw5ICsyNDkwLDExIEBAIHg4Nl9lbXVsYXRlKAogICAg
IGNhc2UgMHg5ZDogLyogcG9wZiAqLyB7CiAgICAgICAgIHVpbnQzMl90IG1hc2sgPSBFRkxHX1ZJ
UCB8IEVGTEdfVklGIHwgRUZMR19WTTsKICAgICAgICAgaWYgKCAhbW9kZV9yaW5nMCgpICkKKyAg
ICAgICAgewogICAgICAgICAgICAgbWFzayB8PSBFRkxHX0lPUEw7Ci0gICAgICAgIGlmICggIW1v
ZGVfaW9wbCgpICkKLSAgICAgICAgICAgIG1hc2sgfD0gRUZMR19JRjsKKyAgICAgICAgICAgIGlm
ICggIW1vZGVfaW9wbCgpICkKKyAgICAgICAgICAgICAgICBtYXNrIHw9IEVGTEdfSUY7CisgICAg
ICAgIH0KICAgICAgICAgLyogNjQtYml0IG1vZGU6IFBPUCBkZWZhdWx0cyB0byBhIDY0LWJpdCBv
cGVyYW5kLiAqLwogICAgICAgICBpZiAoIG1vZGVfNjRiaXQoKSAmJiAob3BfYnl0ZXMgPT0gNCkg
KQogICAgICAgICAgICAgb3BfYnl0ZXMgPSA4OwpAQCAtMjgxNCwxMCArMjgxNiw3IEBAIHg4Nl9l
bXVsYXRlKAogICAgIGNhc2UgMHhjZjogLyogaXJldCAqLyB7CiAgICAgICAgIHVuc2lnbmVkIGxv
bmcgc2VsLCBlaXAsIGVmbGFnczsKICAgICAgICAgdWludDMyX3QgbWFzayA9IEVGTEdfVklQIHwg
RUZMR19WSUYgfCBFRkxHX1ZNOwotICAgICAgICBpZiAoICFtb2RlX3JpbmcwKCkgKQotICAgICAg
ICAgICAgbWFzayB8PSBFRkxHX0lPUEw7Ci0gICAgICAgIGlmICggIW1vZGVfaW9wbCgpICkKLSAg
ICAgICAgICAgIG1hc2sgfD0gRUZMR19JRjsKKwogICAgICAgICBmYWlsX2lmKCFpbl9yZWFsbW9k
ZShjdHh0LCBvcHMpKTsKICAgICAgICAgaWYgKCAocmMgPSByZWFkX3Vsb25nKHg4Nl9zZWdfc3Ms
IHNwX3Bvc3RfaW5jKG9wX2J5dGVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZl
aXAsIG9wX2J5dGVzLCBjdHh0LCBvcHMpKSB8fApAQCAtMjgzMCw3ICsyODI5LDcgQEAgeDg2X2Vt
dWxhdGUoCiAgICAgICAgICAgICBlZmxhZ3MgPSAodWludDE2X3QpZWZsYWdzIHwgKF9yZWdzLmVm
bGFncyAmIDB4ZmZmZjAwMDB1KTsKICAgICAgICAgZWZsYWdzICY9IDB4MjU3ZmQ1OwogICAgICAg
ICBfcmVncy5lZmxhZ3MgJj0gbWFzazsKLSAgICAgICAgX3JlZ3MuZWZsYWdzIHw9ICh1aW50MzJf
dCkoZWZsYWdzICYgfm1hc2spIHwgMHgwMjsKKyAgICAgICAgX3JlZ3MuZWZsYWdzIHw9IChlZmxh
Z3MgJiB+bWFzaykgfCAweDAyOwogICAgICAgICBfcmVncy5laXAgPSBlaXA7CiAgICAgICAgIGlm
ICggKHJjID0gbG9hZF9zZWcoeDg2X3NlZ19jcywgc2VsLCAxLCAmY3MsIGN0eHQsIG9wcykpIHx8
CiAgICAgICAgICAgICAgKHJjID0gY29tbWl0X2Zhcl9icmFuY2goJmNzLCBlaXApKSApCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:19 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBH-00070W-I2; Sun, 28 Feb 2016 23:55:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBF-00070G-Ni
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:17 +0000
Received: from [85.158.137.68] by server-6.bemta-3.messagelabs.com id
 79/89-23864-4E883D65; Sun, 28 Feb 2016 23:55:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1456703715!3290719!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 43571 invoked from network); 28 Feb 2016 23:55:16 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:16 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBD-0000r0-8M
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBD-0001nm-60
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:15 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBD-0001nm-60@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:15 +0000
Subject: [Xen-changelog] [xen master] x86emul: simplify IRET logic
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDE1OGJhNTMzMjNjYzBmY2RiODMzNzk4MTM5YTJmMjBhMTVkYWQ1ZTIKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmViIDI2
IDEyOjE1OjA5IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjE1OjA5IDIwMTYgKzAxMDAKCiAgICB4
ODZlbXVsOiBzaW1wbGlmeSBJUkVUIGxvZ2ljCiAgICAKICAgIFNpbmNlIHdlIG9ubHkgaGFuZGxl
IHJlYWwgbW9kZSwgd2UgbmVlZCB0byBjb25zaWRlciBuZWl0aGVyIG5vbi1yaW5nMAogICAgbm9y
IElPUEwuIEFsc28gZm9yIFBPUEYgdGhlIG1vZGVfaW9wbCgpIGNoZWNrIGNhbiByZWFsbHkgYmUg
aW5zaWRlIHRoZQogICAgbm90LXJpbmctMCBib2R5LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CiAgICBSZXZpZXdlZC1ieTogQW5kcmV3IENv
b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYveDg2X2Vt
dWxhdGUveDg2X2VtdWxhdGUuYyB8IDEzICsrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2
IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2
L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2
X2VtdWxhdGUuYwppbmRleCBiMTEzZGJlLi4xMTljODlmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxh
dGUveDg2X2VtdWxhdGUuYwpAQCAtMjQ5MCw5ICsyNDkwLDExIEBAIHg4Nl9lbXVsYXRlKAogICAg
IGNhc2UgMHg5ZDogLyogcG9wZiAqLyB7CiAgICAgICAgIHVpbnQzMl90IG1hc2sgPSBFRkxHX1ZJ
UCB8IEVGTEdfVklGIHwgRUZMR19WTTsKICAgICAgICAgaWYgKCAhbW9kZV9yaW5nMCgpICkKKyAg
ICAgICAgewogICAgICAgICAgICAgbWFzayB8PSBFRkxHX0lPUEw7Ci0gICAgICAgIGlmICggIW1v
ZGVfaW9wbCgpICkKLSAgICAgICAgICAgIG1hc2sgfD0gRUZMR19JRjsKKyAgICAgICAgICAgIGlm
ICggIW1vZGVfaW9wbCgpICkKKyAgICAgICAgICAgICAgICBtYXNrIHw9IEVGTEdfSUY7CisgICAg
ICAgIH0KICAgICAgICAgLyogNjQtYml0IG1vZGU6IFBPUCBkZWZhdWx0cyB0byBhIDY0LWJpdCBv
cGVyYW5kLiAqLwogICAgICAgICBpZiAoIG1vZGVfNjRiaXQoKSAmJiAob3BfYnl0ZXMgPT0gNCkg
KQogICAgICAgICAgICAgb3BfYnl0ZXMgPSA4OwpAQCAtMjgxNCwxMCArMjgxNiw3IEBAIHg4Nl9l
bXVsYXRlKAogICAgIGNhc2UgMHhjZjogLyogaXJldCAqLyB7CiAgICAgICAgIHVuc2lnbmVkIGxv
bmcgc2VsLCBlaXAsIGVmbGFnczsKICAgICAgICAgdWludDMyX3QgbWFzayA9IEVGTEdfVklQIHwg
RUZMR19WSUYgfCBFRkxHX1ZNOwotICAgICAgICBpZiAoICFtb2RlX3JpbmcwKCkgKQotICAgICAg
ICAgICAgbWFzayB8PSBFRkxHX0lPUEw7Ci0gICAgICAgIGlmICggIW1vZGVfaW9wbCgpICkKLSAg
ICAgICAgICAgIG1hc2sgfD0gRUZMR19JRjsKKwogICAgICAgICBmYWlsX2lmKCFpbl9yZWFsbW9k
ZShjdHh0LCBvcHMpKTsKICAgICAgICAgaWYgKCAocmMgPSByZWFkX3Vsb25nKHg4Nl9zZWdfc3Ms
IHNwX3Bvc3RfaW5jKG9wX2J5dGVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZl
aXAsIG9wX2J5dGVzLCBjdHh0LCBvcHMpKSB8fApAQCAtMjgzMCw3ICsyODI5LDcgQEAgeDg2X2Vt
dWxhdGUoCiAgICAgICAgICAgICBlZmxhZ3MgPSAodWludDE2X3QpZWZsYWdzIHwgKF9yZWdzLmVm
bGFncyAmIDB4ZmZmZjAwMDB1KTsKICAgICAgICAgZWZsYWdzICY9IDB4MjU3ZmQ1OwogICAgICAg
ICBfcmVncy5lZmxhZ3MgJj0gbWFzazsKLSAgICAgICAgX3JlZ3MuZWZsYWdzIHw9ICh1aW50MzJf
dCkoZWZsYWdzICYgfm1hc2spIHwgMHgwMjsKKyAgICAgICAgX3JlZ3MuZWZsYWdzIHw9IChlZmxh
Z3MgJiB+bWFzaykgfCAweDAyOwogICAgICAgICBfcmVncy5laXAgPSBlaXA7CiAgICAgICAgIGlm
ICggKHJjID0gbG9hZF9zZWcoeDg2X3NlZ19jcywgc2VsLCAxLCAmY3MsIGN0eHQsIG9wcykpIHx8
CiAgICAgICAgICAgICAgKHJjID0gY29tbWl0X2Zhcl9icmFuY2goJmNzLCBlaXApKSApCi0tCmdl
bmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFu
Z2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz
dHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBT-00072V-K9; Sun, 28 Feb 2016 23:55:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBR-000725-Bs
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:29 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
 B5/92-02863-0F883D65; Sun, 28 Feb 2016 23:55:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703725!27263446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55452 invoked from network); 28 Feb 2016 23:55:26 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBN-0000rF-Pi
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBN-0001om-Jy
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBN-0001om-Jy@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:25 +0000
Subject: [Xen-changelog] [xen master] vVMX: use latched VMCS machine address
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDgyNWM2ZGRkZjU5OTNhYjZiODQ1OTAwMjZjZDdiNTQ1NGE3ZDVlOTQKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmViIDI2
IDEyOjE1OjM2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjE1OjM2IDIwMTYgKzAxMDAKCiAgICB2
Vk1YOiB1c2UgbGF0Y2hlZCBWTUNTIG1hY2hpbmUgYWRkcmVzcwogICAgCiAgICBJbnN0ZWFkIG9m
IGNhbGxpbmcgZG9tYWluX3BhZ2VfbWFwX3RvX21mbigpIG92ZXIgYW5kIG92ZXIsIGxhdGNoIHRo
ZQogICAgZ3Vlc3QgVk1DUyBtYWNoaW5lIGFkZHJlc3MgdW5jb25kaXRpb25hbGx5IChpLmUuIGlu
ZGVwZW5kZW50IG9mIHdoZXRoZXIKICAgIFZNQ1Mgc2hhZG93aW5nIGlzIHN1cHBvcnRlZCBieSB0
aGUgaGFyZHdhcmUpLgogICAgCiAgICBTaW5jZSB0aGlzIHJlcXVpcmVzIGFsdGVyaW5nIHRoZSBw
YXJhbWV0ZXJzIG9mIF9fW2dzXWV0X3ZtY3N7LF9yZWFsfSgpCiAgICAoYW5kIGhlbmNlIGFsbCB0
aGVpciBjYWxsZXJzKSBhbnl3YXksIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIGFsc28gZHJvcAog
ICAgdGhlIGJvZ3VzIGRvdWJsZSB1bmRlcnNjb3JlcyBmcm9tIHRoZWlyIG5hbWVzIChhbmQgZnJv
bQogICAgX19bZ3NdZXRfdm1jc192aXJ0dWFsKCkgYXMgd2VsbCkuCiAgICAKICAgIFNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KICAgIFRlc3RlZC1ieTogTGlh
bmcgWiBMaSA8bGlhbmcuei5saUBpbnRlbC5jb20+CiAgICBBY2tlZC1ieTogS2V2aW4gVGlhbiA8
a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jICAg
ICAgICB8ICAgNCArLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICAgICAgICB8ICAyMSAr
Ky0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICAgfCAgIDYgKy0KIHhlbi9hcmNo
L3g4Ni9odm0vdm14L3Z2bXguYyAgICAgICAgfCAyODggKysrKysrKysrKysrKysrKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCB8ICAxMCAr
LQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3Z2bXguaCB8ICAyNiArKy0tCiA2IGZpbGVz
IGNoYW5nZWQsIDE1MyBpbnNlcnRpb25zKCspLCAyMDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEveGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvaW50
ci5jCmluZGV4IDU2YzQwYjEuLjhmY2EwOGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v
dm14L2ludHIuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMKQEAgLTE5MSwxMyAr
MTkxLDEzIEBAIHN0YXRpYyBpbnQgbnZteF9pbnRyX2ludGVyY2VwdChzdHJ1Y3QgdmNwdSAqdiwg
c3RydWN0IGh2bV9pbnRhY2sgaW50YWNrKQogICAgICAgICBpZiAoIGludGFjay5zb3VyY2UgPT0g
aHZtX2ludHNyY19waWMgfHwKICAgICAgICAgICAgICAgICAgaW50YWNrLnNvdXJjZSA9PSBodm1f
aW50c3JjX2xhcGljICkKICAgICAgICAgewotICAgICAgICAgICAgY3RybCA9IF9fZ2V0X3Z2bWNz
KHZjcHVfbmVzdGVkaHZtKHYpLm52X3Z2bWN4LCBQSU5fQkFTRURfVk1fRVhFQ19DT05UUk9MKTsK
KyAgICAgICAgICAgIGN0cmwgPSBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VYRUNfQ09OVFJP
TCk7CiAgICAgICAgICAgICBpZiAoICEoY3RybCAmIFBJTl9CQVNFRF9FWFRfSU5UUl9NQVNLKSAp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAgICAgICAgIHZteF9pbmplY3RfZXh0
aW50KGludGFjay52ZWN0b3IsIGludGFjay5zb3VyY2UpOwogCi0gICAgICAgICAgICBjdHJsID0g
X19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3gsIFZNX0VYSVRfQ09OVFJPTFMp
OworICAgICAgICAgICAgY3RybCA9IGdldF92dm1jcyh2LCBWTV9FWElUX0NPTlRST0xTKTsKICAg
ICAgICAgICAgIGlmICggY3RybCAmIFZNX0VYSVRfQUNLX0lOVFJfT05fRVhJVCApCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgLyogZm9yIG5vdywgZHVwbGljYXRlIHRoZSBhY2sgcGF0
aCBpbiB2bXhfaW50cl9hc3Npc3QgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14
L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYwppbmRleCA1YmMzYzc0Li5lNjky
NjIwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2Fy
Y2gveDg2L2h2bS92bXgvdm1jcy5jCkBAIC05MzUsMzcgKzkzNSwzNiBAQCB2b2lkIHZteF92bWNz
X3N3aXRjaChwYWRkcl90IGZyb20sIHBhZGRyX3QgdG8pCiAgICAgc3Bpbl91bmxvY2soJnZteC0+
dm1jc19sb2NrKTsKIH0KIAotdm9pZCB2aXJ0dWFsX3ZtY3NfZW50ZXIodm9pZCAqdnZtY3MpCit2
b2lkIHZpcnR1YWxfdm1jc19lbnRlcihjb25zdCBzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBfX3Zt
cHRybGQocGZuX3RvX3BhZGRyKGRvbWFpbl9wYWdlX21hcF90b19tZm4odnZtY3MpKSk7CisgICAg
X192bXB0cmxkKHYtPmFyY2guaHZtX3ZteC52bWNzX3NoYWRvd19tYWRkcik7CiB9CiAKLXZvaWQg
dmlydHVhbF92bWNzX2V4aXQodm9pZCAqdnZtY3MpCit2b2lkIHZpcnR1YWxfdm1jc19leGl0KGNv
bnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHBhZGRyX3QgY3VyID0gdGhpc19jcHUoY3VycmVu
dF92bWNzKTsKIAotICAgIF9fdm1wY2xlYXIocGZuX3RvX3BhZGRyKGRvbWFpbl9wYWdlX21hcF90
b19tZm4odnZtY3MpKSk7CisgICAgX192bXBjbGVhcih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFk
b3dfbWFkZHIpOwogICAgIGlmICggY3VyICkKICAgICAgICAgX192bXB0cmxkKGN1cik7Ci0KIH0K
IAotdTY0IHZpcnR1YWxfdm1jc192bXJlYWQodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5n
KQordTY0IHZpcnR1YWxfdm1jc192bXJlYWQoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUzMiB2bWNz
X2VuY29kaW5nKQogewogICAgIHU2NCByZXM7CiAKLSAgICB2aXJ0dWFsX3ZtY3NfZW50ZXIodnZt
Y3MpOworICAgIHZpcnR1YWxfdm1jc19lbnRlcih2KTsKICAgICBfX3ZtcmVhZCh2bWNzX2VuY29k
aW5nLCAmcmVzKTsKLSAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2dm1jcyk7CisgICAgdmlydHVhbF92
bWNzX2V4aXQodik7CiAKICAgICByZXR1cm4gcmVzOwogfQogCi12b2lkIHZpcnR1YWxfdm1jc192
bXdyaXRlKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZywgdTY0IHZhbCkKK3ZvaWQgdmly
dHVhbF92bWNzX3Ztd3JpdGUoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUzMiB2bWNzX2VuY29kaW5n
LCB1NjQgdmFsKQogewotICAgIHZpcnR1YWxfdm1jc19lbnRlcih2dm1jcyk7CisgICAgdmlydHVh
bF92bWNzX2VudGVyKHYpOwogICAgIF9fdm13cml0ZSh2bWNzX2VuY29kaW5nLCB2YWwpOwotICAg
IHZpcnR1YWxfdm1jc19leGl0KHZ2bWNzKTsKKyAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2KTsKIH0K
IAogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gv
eDg2L2h2bS92bXgvdm14LmMKaW5kZXggMmIyNjZlNy4uOTZhZDIxMCAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK
QEAgLTE0NzcsOCArMTQ3Nyw3IEBAIHZvaWQgdm14X2luamVjdF9leHRpbnQoaW50IHRyYXAsIHVp
bnQ4X3Qgc291cmNlKQogICAgIHUzMiAgICBwaW5fYmFzZWRfY250cmw7CiAKICAgICBpZiAoIG5l
c3RlZGh2bV92Y3B1X2luX2d1ZXN0bW9kZSh2KSApIHsKLSAgICAgICAgcGluX2Jhc2VkX2NudHJs
ID0gX19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3gsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBJTl9CQVNFRF9WTV9FWEVDX0NPTlRST0wpOworICAg
ICAgICBwaW5fYmFzZWRfY250cmwgPSBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VYRUNfQ09O
VFJPTCk7CiAgICAgICAgIGlmICggcGluX2Jhc2VkX2NudHJsICYgUElOX0JBU0VEX0VYVF9JTlRS
X01BU0sgKSB7CiAgICAgICAgICAgICBudm14X2VucXVldWVfbjJfZXhjZXB0aW9ucyAodiwgCiAg
ICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFTSyB8CkBAIC0xNDk4LDggKzE0OTcsNyBA
QCB2b2lkIHZteF9pbmplY3Rfbm1pKHZvaWQpCiAgICAgdTMyICAgIHBpbl9iYXNlZF9jbnRybDsK
IAogICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2RlKHYpICkgewotICAgICAgICBw
aW5fYmFzZWRfY250cmwgPSBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElOX0JBU0VEX1ZNX0VYRUNf
Q09OVFJPTCk7CisgICAgICAgIHBpbl9iYXNlZF9jbnRybCA9IGdldF92dm1jcyh2LCBQSU5fQkFT
RURfVk1fRVhFQ19DT05UUk9MKTsKICAgICAgICAgaWYgKCBwaW5fYmFzZWRfY250cmwgJiBQSU5f
QkFTRURfTk1JX0VYSVRJTkcgKSB7CiAgICAgICAgICAgICBudm14X2VucXVldWVfbjJfZXhjZXB0
aW9ucyAodiwgCiAgICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFTSyB8CmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92
dm14LmMKaW5kZXggMjcxZWM3MC4uYWM0Y2RhMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2
bS92bXgvdnZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwpAQCAtMTc1LDEx
ICsxNzUsNyBAQCBpbnQgbnZteF92Y3B1X3Jlc2V0KHN0cnVjdCB2Y3B1ICp2KQogCiB1aW50NjRf
dCBudm14X3ZjcHVfZXB0cF9iYXNlKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHVpbnQ2NF90IGVw
dHBfYmFzZTsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0o
dik7Ci0KLSAgICBlcHRwX2Jhc2UgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVQVF9Q
T0lOVEVSKTsKLSAgICByZXR1cm4gZXB0cF9iYXNlICYgUEFHRV9NQVNLOworICAgIHJldHVybiBn
ZXRfdnZtY3ModiwgRVBUX1BPSU5URVIpICYgUEFHRV9NQVNLOwogfQogCiBib29sX3QgbnZteF9l
cHRfZW5hYmxlZChzdHJ1Y3QgdmNwdSAqdikKQEAgLTIzNiw3ICsyMzIsNyBAQCBzdGF0aWMgaW50
IHZ2bWNzX29mZnNldCh1MzIgd2lkdGgsIHUzMiB0eXBlLCB1MzIgaW5kZXgpCiAgICAgcmV0dXJu
IG9mZnNldDsKIH0KIAotdTY0IF9fZ2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiB2
bWNzX2VuY29kaW5nKQordTY0IGdldF92dm1jc192aXJ0dWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1j
c19lbmNvZGluZykKIHsKICAgICB1bmlvbiB2bWNzX2VuY29kaW5nIGVuYzsKICAgICB1NjQgKmNv
bnRlbnQgPSAodTY0ICopIHZ2bWNzOwpAQCAtMjY2LDEyICsyNjIsMTIgQEAgdTY0IF9fZ2V0X3Z2
bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nKQogICAgIHJldHVybiBy
ZXM7CiB9CiAKLXU2NCBfX2dldF92dm1jc19yZWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNv
ZGluZykKK3U2NCBnZXRfdnZtY3NfcmVhbChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdTMyIGVuY29k
aW5nKQogewotICAgIHJldHVybiB2aXJ0dWFsX3ZtY3Nfdm1yZWFkKHZ2bWNzLCB2bWNzX2VuY29k
aW5nKTsKKyAgICByZXR1cm4gdmlydHVhbF92bWNzX3ZtcmVhZCh2LCBlbmNvZGluZyk7CiB9CiAK
LXZvaWQgX19zZXRfdnZtY3NfdmlydHVhbCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2Rpbmcs
IHU2NCB2YWwpCit2b2lkIHNldF92dm1jc192aXJ0dWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19l
bmNvZGluZywgdTY0IHZhbCkKIHsKICAgICB1bmlvbiB2bWNzX2VuY29kaW5nIGVuYzsKICAgICB1
NjQgKmNvbnRlbnQgPSAodTY0ICopIHZ2bWNzOwpAQCAtMzA3LDkgKzMwMyw5IEBAIHZvaWQgX19z
ZXRfdnZtY3NfdmlydHVhbCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcsIHU2NCB2YWwp
CiAgICAgY29udGVudFtvZmZzZXRdID0gcmVzOwogfQogCi12b2lkIF9fc2V0X3Z2bWNzX3JlYWwo
dm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nLCB1NjQgdmFsKQordm9pZCBzZXRfdnZtY3Nf
cmVhbChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdTMyIGVuY29kaW5nLCB1NjQgdmFsKQogewotICAg
IHZpcnR1YWxfdm1jc192bXdyaXRlKHZ2bWNzLCB2bWNzX2VuY29kaW5nLCB2YWwpOworICAgIHZp
cnR1YWxfdm1jc192bXdyaXRlKHYsIGVuY29kaW5nLCB2YWwpOwogfQogCiBzdGF0aWMgdW5zaWdu
ZWQgbG9uZyByZWdfcmVhZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKQEAgLTMzMSwyNSAr
MzI3LDIwIEBAIHN0YXRpYyB2b2lkIHJlZ193cml0ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywKIAogc3RhdGljIGlubGluZSB1MzIgX19uMl9waW5fZXhlY19jb250cm9sKHN0cnVjdCB2Y3B1
ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2
KTsKLQotICAgIHJldHVybiBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFBJTl9CQVNFRF9W
TV9FWEVDX0NPTlRST0wpOworICAgIHJldHVybiBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VY
RUNfQ09OVFJPTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIF9fbjJfZXhlY19jb250cm9sKHN0
cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25l
c3RlZGh2bSh2KTsKLQotICAgIHJldHVybiBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENQ
VV9CQVNFRF9WTV9FWEVDX0NPTlRST0wpOworICAgIHJldHVybiBnZXRfdnZtY3ModiwgQ1BVX0JB
U0VEX1ZNX0VYRUNfQ09OVFJPTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIF9fbjJfc2Vjb25k
YXJ5X2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNw
dSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgdTY0IHNlY29uZF9jdHJsID0gMDsK
IAogICAgIGlmICggX19uMl9leGVjX2NvbnRyb2wodikgJiBDUFVfQkFTRURfQUNUSVZBVEVfU0VD
T05EQVJZX0NPTlRST0xTICkKLSAgICAgICAgc2Vjb25kX2N0cmwgPSBfX2dldF92dm1jcyhudmNw
dS0+bnZfdnZtY3gsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOworICAgICAgICBzZWNvbmRf
Y3RybCA9IGdldF92dm1jcyh2LCBTRUNPTkRBUllfVk1fRVhFQ19DT05UUk9MKTsKIAogICAgIHJl
dHVybiBzZWNvbmRfY3RybDsKIH0KQEAgLTUwMiwxOCArNDkzLDE3IEBAIHN0YXRpYyB2b2lkIHZt
cmV0dXJuKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBlbnVtIHZteF9vcHNfcmVzdWx0IG9w
c19yZXMpCiBib29sX3QgbnZteF9pbnRlcmNlcHRzX2V4Y2VwdGlvbihzdHJ1Y3QgdmNwdSAqdiwg
dW5zaWduZWQgaW50IHRyYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZXJyb3JfY29kZSkKIHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0
ZWRodm0odik7CiAgICAgdTMyIGV4Y2VwdGlvbl9iaXRtYXAsIHBmZWNfbWF0Y2g9MCwgcGZlY19t
YXNrPTA7CiAgICAgaW50IHI7CiAKICAgICBBU1NFUlQgKCB0cmFwIDwgMzIgKTsKIAotICAgIGV4
Y2VwdGlvbl9iaXRtYXAgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVYQ0VQVElPTl9C
SVRNQVApOworICAgIGV4Y2VwdGlvbl9iaXRtYXAgPSBnZXRfdnZtY3ModiwgRVhDRVBUSU9OX0JJ
VE1BUCk7CiAgICAgciA9IGV4Y2VwdGlvbl9iaXRtYXAgJiAoMSA8PCB0cmFwKSA/IDE6IDA7CiAK
ICAgICBpZiAoIHRyYXAgPT0gVFJBUF9wYWdlX2ZhdWx0ICkgewotICAgICAgICBwZmVjX21hdGNo
ID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBQQUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFU
Q0gpOwotICAgICAgICBwZmVjX21hc2sgID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBQ
QUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFTSyk7CisgICAgICAgIHBmZWNfbWF0Y2ggPSBnZXRfdnZt
Y3ModiwgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BVENIKTsKKyAgICAgICAgcGZlY19tYXNrICA9
IGdldF92dm1jcyh2LCBQQUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFTSyk7CiAgICAgICAgIGlmICgg
KGVycm9yX2NvZGUgJiBwZmVjX21hc2spICE9IHBmZWNfbWF0Y2ggKQogICAgICAgICAgICAgciA9
ICFyOwogICAgIH0KQEAgLTUyOCw5ICs1MTgsNyBAQCBzdGF0aWMgaW5saW5lIHUzMiBfX3NoYWRv
d19jb250cm9sKHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGZpZWxkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dTMyIGhvc3RfdmFsdWUpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0gJnZjcHVf
bmVzdGVkaHZtKHYpOwotCi0gICAgcmV0dXJuICh1MzIpIF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92
dm1jeCwgZmllbGQpIHwgaG9zdF92YWx1ZTsKKyAgICByZXR1cm4gZ2V0X3Z2bWNzKHYsIGZpZWxk
KSB8IGhvc3RfdmFsdWU7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9zaGFkb3dfY29udHJvbChzdHJ1
Y3QgdmNwdSAqdiwKQEAgLTU5NywxMyArNTg1LDEyIEBAIHZvaWQgbnZteF91cGRhdGVfc2Vjb25k
YXJ5X2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGhvc3RfY250cmwpCiB7CiAgICAgdTMyIHNo
YWRvd19jbnRybDsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRo
dm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAqbnZteCA9ICZ2Y3B1XzJfbnZteCh2KTsKICAg
ICB1MzIgYXBpY3ZfYml0ID0gU0VDT05EQVJZX0VYRUNfQVBJQ19SRUdJU1RFUl9WSVJUIHwKICAg
ICAgICAgICAgICAgICAgICAgU0VDT05EQVJZX0VYRUNfVklSVFVBTF9JTlRSX0RFTElWRVJZOwog
CiAgICAgaG9zdF9jbnRybCAmPSB+YXBpY3ZfYml0OwotICAgIHNoYWRvd19jbnRybCA9IF9fZ2V0
X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgU0VDT05EQVJZX1ZNX0VYRUNfQ09OVFJPTCk7CisgICAg
c2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOwog
CiAgICAgLyogTm8gdkFQSUMtdiBzdXBwb3J0LCBzbyBpdCBzaG91bGRuJ3QgYmUgc2V0IGluIHZt
Y3MxMi4gKi8KICAgICBBU1NFUlQoIShzaGFkb3dfY250cmwgJiBhcGljdl9iaXQpKTsKQEAgLTYx
NiwxMCArNjAzLDkgQEAgdm9pZCBudm14X3VwZGF0ZV9zZWNvbmRhcnlfZXhlY19jb250cm9sKHN0
cnVjdCB2Y3B1ICp2LAogc3RhdGljIHZvaWQgbnZteF91cGRhdGVfcGluX2NvbnRyb2woc3RydWN0
IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHsKICAgICB1MzIgc2hhZG93X2Nu
dHJsOwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
IAogICAgIGhvc3RfY250cmwgJj0gflBJTl9CQVNFRF9QT1NURURfSU5URVJSVVBUOwotICAgIHNo
YWRvd19jbnRybCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgUElOX0JBU0VEX1ZNX0VY
RUNfQ09OVFJPTCk7CisgICAgc2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFBJTl9CQVNFRF9W
TV9FWEVDX0NPTlRST0wpOwogCiAgICAgLyogTm8gdkFQSUMtdiBzdXBwb3J0LCBzbyBpdCBzaG91
bGRuJ3QgYmUgc2V0IGluIHZtY3MxMi4gKi8KICAgICBBU1NFUlQoIShzaGFkb3dfY250cmwgJiBQ
SU5fQkFTRURfUE9TVEVEX0lOVEVSUlVQVCkpOwpAQCAtNjMxLDkgKzYxNyw4IEBAIHN0YXRpYyB2
b2lkIG52bXhfdXBkYXRlX3Bpbl9jb250cm9sKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25n
IGhvc3RfY250cmwpCiBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9leGl0X2NvbnRyb2woc3RydWN0
IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHsKICAgICB1MzIgc2hhZG93X2Nu
dHJsOwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
IAotICAgIHNoYWRvd19jbnRybCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgVk1fRVhJ
VF9DT05UUk9MUyk7CisgICAgc2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFZNX0VYSVRfQ09O
VFJPTFMpOwogICAgIHNoYWRvd19jbnRybCAmPSB+KFZNX0VYSVRfU0FWRV9ERUJVR19DTlRSTFMg
CiAgICAgICAgICAgICAgICAgICAgICAgfCBWTV9FWElUX0xPQURfSE9TVF9QQVQKICAgICAgICAg
ICAgICAgICAgICAgICB8IFZNX0VYSVRfTE9BRF9IT1NUX0VGRVIKQEAgLTY0NSw5ICs2MzAsOCBA
QCBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9leGl0X2NvbnRyb2woc3RydWN0IHZjcHUgKnYsIHVu
c2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHN0YXRpYyB2b2lkIG52bXhfdXBkYXRlX2VudHJ5X2Nv
bnRyb2woc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgdTMyIHNoYWRvd19jbnRybDsKLSAgICBzdHJ1
Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAKLSAgICBzaGFkb3df
Y250cmwgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VOVFJZX0NPTlRST0xTKTsK
KyAgICBzaGFkb3dfY250cmwgPSBnZXRfdnZtY3ModiwgVk1fRU5UUllfQ09OVFJPTFMpOwogICAg
IHNoYWRvd19jbnRybCAmPSB+KFZNX0VOVFJZX0xPQURfR1VFU1RfUEFUCiAgICAgICAgICAgICAg
ICAgICAgICAgfCBWTV9FTlRSWV9MT0FEX0dVRVNUX0VGRVIKICAgICAgICAgICAgICAgICAgICAg
ICB8IFZNX0VOVFJZX0xPQURfUEVSRl9HTE9CQUxfQ1RSTCk7CkBAIC02NjEsNyArNjQ1LDYgQEAg
dm9pZCBudm14X3VwZGF0ZV9leGNlcHRpb25fYml0bWFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25l
ZCBsb25nIHZhbHVlKQogCiBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9hcGljX2FjY2Vzc19hZGRy
ZXNzKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2
Y3B1X25lc3RlZGh2bSh2KTsKICAgICB1MzIgY3RybDsKIAogICAgIGN0cmwgPSBfX24yX3NlY29u
ZGFyeV9leGVjX2NvbnRyb2wodik7CkBAIC02NzEsNyArNjU0LDcgQEAgc3RhdGljIHZvaWQgbnZt
eF91cGRhdGVfYXBpY19hY2Nlc3NfYWRkcmVzcyhzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgdW5z
aWduZWQgbG9uZyBhcGljX2dwZm47CiAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKmFwaWNfcGc7
CiAKLSAgICAgICAgYXBpY19ncGZuID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBBUElD
X0FDQ0VTU19BRERSKSA+PiBQQUdFX1NISUZUOworICAgICAgICBhcGljX2dwZm4gPSBnZXRfdnZt
Y3ModiwgQVBJQ19BQ0NFU1NfQUREUikgPj4gUEFHRV9TSElGVDsKICAgICAgICAgYXBpY19wZyA9
IGdldF9wYWdlX2Zyb21fZ2ZuKHYtPmRvbWFpbiwgYXBpY19ncGZuLCAmcDJtdCwgUDJNX0FMTE9D
KTsKICAgICAgICAgQVNTRVJUKGFwaWNfcGcgJiYgIXAybV9pc19wYWdpbmcocDJtdCkpOwogICAg
ICAgICBfX3Ztd3JpdGUoQVBJQ19BQ0NFU1NfQUREUiwgcGFnZV90b19tYWRkcihhcGljX3BnKSk7
CkBAIC02ODMsNyArNjY2LDYgQEAgc3RhdGljIHZvaWQgbnZteF91cGRhdGVfYXBpY19hY2Nlc3Nf
YWRkcmVzcyhzdHJ1Y3QgdmNwdSAqdikKIAogc3RhdGljIHZvaWQgbnZteF91cGRhdGVfdmlydHVh
bF9hcGljX2FkZHJlc3Moc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUg
Km52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogICAgIHUzMiBjdHJsOwogCiAgICAgY3RybCA9
IF9fbjJfZXhlY19jb250cm9sKHYpOwpAQCAtNjkzLDcgKzY3NSw3IEBAIHN0YXRpYyB2b2lkIG52
bXhfdXBkYXRlX3ZpcnR1YWxfYXBpY19hZGRyZXNzKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICB1
bnNpZ25lZCBsb25nIHZhcGljX2dwZm47CiAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnZhcGlj
X3BnOwogCi0gICAgICAgIHZhcGljX2dwZm4gPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gs
IFZJUlRVQUxfQVBJQ19QQUdFX0FERFIpID4+IFBBR0VfU0hJRlQ7CisgICAgICAgIHZhcGljX2dw
Zm4gPSBnZXRfdnZtY3ModiwgVklSVFVBTF9BUElDX1BBR0VfQUREUikgPj4gUEFHRV9TSElGVDsK
ICAgICAgICAgdmFwaWNfcGcgPSBnZXRfcGFnZV9mcm9tX2dmbih2LT5kb21haW4sIHZhcGljX2dw
Zm4sICZwMm10LCBQMk1fQUxMT0MpOwogICAgICAgICBBU1NFUlQodmFwaWNfcGcgJiYgIXAybV9p
c19wYWdpbmcocDJtdCkpOwogICAgICAgICBfX3Ztd3JpdGUoVklSVFVBTF9BUElDX1BBR0VfQURE
UiwgcGFnZV90b19tYWRkcih2YXBpY19wZykpOwpAQCAtNzA1LDIzICs2ODcsMjAgQEAgc3RhdGlj
IHZvaWQgbnZteF91cGRhdGVfdmlydHVhbF9hcGljX2FkZHJlc3Moc3RydWN0IHZjcHUgKnYpCiAK
IHN0YXRpYyB2b2lkIG52bXhfdXBkYXRlX3Rwcl90aHJlc2hvbGQoc3RydWN0IHZjcHUgKnYpCiB7
Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogICAg
IHUzMiBjdHJsID0gX19uMl9leGVjX2NvbnRyb2wodik7CisKICAgICBpZiAoIGN0cmwgJiBDUFVf
QkFTRURfVFBSX1NIQURPVyApCi0gICAgICAgIF9fdm13cml0ZShUUFJfVEhSRVNIT0xELCBfX2dl
dF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFRQUl9USFJFU0hPTEQpKTsKKyAgICAgICAgX192bXdy
aXRlKFRQUl9USFJFU0hPTEQsIGdldF92dm1jcyh2LCBUUFJfVEhSRVNIT0xEKSk7CiAgICAgZWxz
ZQogICAgICAgICBfX3Ztd3JpdGUoVFBSX1RIUkVTSE9MRCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lk
IG52bXhfdXBkYXRlX3BmZWMoc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZj
cHUgKm52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHZvaWQgKnZ2bWNzID0gbnZjcHUt
Pm52X3Z2bWN4OwotCiAgICAgX192bXdyaXRlKFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVNLLAot
ICAgICAgICBfX2dldF92dm1jcyh2dm1jcywgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BU0spKTsK
KyAgICAgICAgICAgICAgZ2V0X3Z2bWNzKHYsIFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVNLKSk7
CiAgICAgX192bXdyaXRlKFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVRDSCwKLSAgICAgICAgX19n
ZXRfdnZtY3ModnZtY3MsIFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVRDSCkpOworICAgICAgICAg
ICAgICBnZXRfdnZtY3ModiwgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BVENIKSk7CiB9CiAKIHN0
YXRpYyB2b2lkIF9fY2xlYXJfY3VycmVudF92dm1jcyhzdHJ1Y3QgdmNwdSAqdikKQEAgLTczOSw3
ICs3MTgsNyBAQCBzdGF0aWMgYm9vbF90IF9fbXVzdF9jaGVjayBfbWFwX21zcl9iaXRtYXAoc3Ry
dWN0IHZjcHUgKnYpCiAKICAgICBpZiAoIG52bXgtPm1zcmJpdG1hcCApCiAgICAgICAgIGh2bV91
bm1hcF9ndWVzdF9mcmFtZShudm14LT5tc3JiaXRtYXAsIDEpOwotICAgIGdwYSA9IF9fZ2V0X3Z2
bWNzKHZjcHVfbmVzdGVkaHZtKHYpLm52X3Z2bWN4LCBNU1JfQklUTUFQKTsKKyAgICBncGEgPSBn
ZXRfdnZtY3ModiwgTVNSX0JJVE1BUCk7CiAgICAgbnZteC0+bXNyYml0bWFwID0gaHZtX21hcF9n
dWVzdF9mcmFtZV9ybyhncGEgPj4gUEFHRV9TSElGVCwgMSk7CiAKICAgICByZXR1cm4gbnZteC0+
bXNyYml0bWFwICE9IE5VTEw7CkBAIC03NTQsNyArNzMzLDcgQEAgc3RhdGljIGJvb2xfdCBfX211
c3RfY2hlY2sgX21hcF9pb19iaXRtYXAoc3RydWN0IHZjcHUgKnYsIHU2NCB2bWNzX3JlZykKICAg
ICBpbmRleCA9IHZtY3NfcmVnID09IElPX0JJVE1BUF9BID8gMCA6IDE7CiAgICAgaWYgKG52bXgt
PmlvYml0bWFwW2luZGV4XSkKICAgICAgICAgaHZtX3VubWFwX2d1ZXN0X2ZyYW1lKG52bXgtPmlv
Yml0bWFwW2luZGV4XSwgMSk7Ci0gICAgZ3BhID0gX19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0o
dikubnZfdnZtY3gsIHZtY3NfcmVnKTsKKyAgICBncGEgPSBnZXRfdnZtY3Modiwgdm1jc19yZWcp
OwogICAgIG52bXgtPmlvYml0bWFwW2luZGV4XSA9IGh2bV9tYXBfZ3Vlc3RfZnJhbWVfcm8oZ3Bh
ID4+IFBBR0VfU0hJRlQsIDEpOwogCiAgICAgcmV0dXJuIG52bXgtPmlvYml0bWFwW2luZGV4XSAh
PSBOVUxMOwpAQCAtNzc3LDYgKzc1Niw3IEBAIHN0YXRpYyB2b2lkIG52bXhfcHVyZ2VfdnZtY3Mo
c3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGh2bV91bm1hcF9ndWVzdF9mcmFtZShudmNwdS0+bnZf
dnZtY3gsIDEpOwogICAgIG52Y3B1LT5udl92dm1jeCA9IE5VTEw7CiAgICAgbnZjcHUtPm52X3Z2
bWN4YWRkciA9IFZNQ1hfRUFERFI7CisgICAgdi0+YXJjaC5odm1fdm14LnZtY3Nfc2hhZG93X21h
ZGRyID0gMDsKICAgICBmb3IgKGk9MDsgaTwyOyBpKyspIHsKICAgICAgICAgaWYgKCBudm14LT5p
b2JpdG1hcFtpXSApIHsKICAgICAgICAgICAgIGh2bV91bm1hcF9ndWVzdF9mcmFtZShudm14LT5p
b2JpdG1hcFtpXSwgMSk7CkBAIC03OTIsMTEgKzc3MiwxMCBAQCBzdGF0aWMgdm9pZCBudm14X3B1
cmdlX3Z2bWNzKHN0cnVjdCB2Y3B1ICp2KQogdTY0IG52bXhfZ2V0X3RzY19vZmZzZXQoc3RydWN0
IHZjcHUgKnYpCiB7CiAgICAgdTY0IG9mZnNldCA9IDA7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUg
Km52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogCi0gICAgaWYgKCBfX2dldF92dm1jcyhudmNw
dS0+bnZfdnZtY3gsIENQVV9CQVNFRF9WTV9FWEVDX0NPTlRST0wpICYKKyAgICBpZiAoIGdldF92
dm1jcyh2LCBDUFVfQkFTRURfVk1fRVhFQ19DT05UUk9MKSAmCiAgICAgICAgICBDUFVfQkFTRURf
VVNFX1RTQ19PRkZTRVRJTkcgKQotICAgICAgICBvZmZzZXQgPSBfX2dldF92dm1jcyhudmNwdS0+
bnZfdnZtY3gsIFRTQ19PRkZTRVQpOworICAgICAgICBvZmZzZXQgPSBnZXRfdnZtY3ModiwgVFND
X09GRlNFVCk7CiAKICAgICByZXR1cm4gb2Zmc2V0OwogfQpAQCAtOTExLDE5ICs4OTAsMTQgQEAg
c3RhdGljIHN0cnVjdCB2bWNzX2hvc3RfdG9fZ3Vlc3QgewogICAgIHtIT1NUX1NZU0VOVEVSX0VJ
UCwgR1VFU1RfU1lTRU5URVJfRUlQfSwKIH07CiAKLXN0YXRpYyB2b2lkIHZ2bWNzX3RvX3NoYWRv
dyh2b2lkICp2dm1jcywgdW5zaWduZWQgaW50IGZpZWxkKQorc3RhdGljIHZvaWQgdnZtY3NfdG9f
c2hhZG93KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgZmllbGQpCiB7Ci0gICAg
dTY0IHZhbHVlOwotCi0gICAgdmFsdWUgPSBfX2dldF92dm1jcyh2dm1jcywgZmllbGQpOwotICAg
IF9fdm13cml0ZShmaWVsZCwgdmFsdWUpOworICAgIF9fdm13cml0ZShmaWVsZCwgZ2V0X3Z2bWNz
KHYsIGZpZWxkKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHZ2bWNzX3RvX3NoYWRvd19idWxrKHN0cnVj
dCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHUxNiAqZmllbGQpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0g
JnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHZvaWQgKnZ2bWNzID0gbnZjcHUtPm52X3Z2bWN4Owog
ICAgIHU2NCAqdmFsdWUgPSB0aGlzX2NwdSh2dm1jc19idWYpOwogICAgIHVuc2lnbmVkIGludCBp
OwogCkBAIC05MzgsMTAgKzkxMiwxMCBAQCBzdGF0aWMgdm9pZCB2dm1jc190b19zaGFkb3dfYnVs
ayhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IG4sCiAgICAgICAgIGdvdG8gZmFsbGJhY2s7
CiAgICAgfQogCi0gICAgdmlydHVhbF92bWNzX2VudGVyKHZ2bWNzKTsKKyAgICB2aXJ0dWFsX3Zt
Y3NfZW50ZXIodik7CiAgICAgZm9yICggaSA9IDA7IGkgPCBuOyBpKysgKQogICAgICAgICBfX3Zt
cmVhZChmaWVsZFtpXSwgJnZhbHVlW2ldKTsKLSAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2dm1jcyk7
CisgICAgdmlydHVhbF92bWNzX2V4aXQodik7CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkr
KyApCiAgICAgICAgIF9fdm13cml0ZShmaWVsZFtpXSwgdmFsdWVbaV0pOwpAQCAtOTUwLDIyICs5
MjQsMjAgQEAgc3RhdGljIHZvaWQgdnZtY3NfdG9fc2hhZG93X2J1bGsoc3RydWN0IHZjcHUgKnYs
IHVuc2lnbmVkIGludCBuLAogCiBmYWxsYmFjazoKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkr
KyApCi0gICAgICAgIHZ2bWNzX3RvX3NoYWRvdyh2dm1jcywgZmllbGRbaV0pOworICAgICAgICB2
dm1jc190b19zaGFkb3codiwgZmllbGRbaV0pOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2hh
ZG93X3RvX3Z2bWNzKHZvaWQgKnZ2bWNzLCB1bnNpZ25lZCBpbnQgZmllbGQpCitzdGF0aWMgaW5s
aW5lIHZvaWQgc2hhZG93X3RvX3Z2bWNzKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp
bnQgZmllbGQpCiB7CiAgICAgdW5zaWduZWQgbG9uZyB2YWx1ZTsKIAogICAgIGlmICggX192bXJl
YWRfc2FmZShmaWVsZCwgJnZhbHVlKSApCi0gICAgICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBmaWVs
ZCwgdmFsdWUpOworICAgICAgICBzZXRfdnZtY3ModiwgZmllbGQsIHZhbHVlKTsKIH0KIAogc3Rh
dGljIHZvaWQgc2hhZG93X3RvX3Z2bWNzX2J1bGsoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGlu
dCBuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdTE2ICpmaWVsZCkK
IHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7Ci0g
ICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZfdnZtY3g7CiAgICAgdTY0ICp2YWx1ZSA9IHRoaXNf
Y3B1KHZ2bWNzX2J1Zik7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKQEAgLTk4MywxNiArOTU1LDE2
IEBAIHN0YXRpYyB2b2lkIHNoYWRvd190b192dm1jc19idWxrKHN0cnVjdCB2Y3B1ICp2LCB1bnNp
Z25lZCBpbnQgbiwKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkrKyApCiAgICAgICAgIF9fdm1y
ZWFkKGZpZWxkW2ldLCAmdmFsdWVbaV0pOwogCi0gICAgdmlydHVhbF92bWNzX2VudGVyKHZ2bWNz
KTsKKyAgICB2aXJ0dWFsX3ZtY3NfZW50ZXIodik7CiAgICAgZm9yICggaSA9IDA7IGkgPCBuOyBp
KysgKQogICAgICAgICBfX3Ztd3JpdGUoZmllbGRbaV0sIHZhbHVlW2ldKTsKLSAgICB2aXJ0dWFs
X3ZtY3NfZXhpdCh2dm1jcyk7CisgICAgdmlydHVhbF92bWNzX2V4aXQodik7CiAKICAgICByZXR1
cm47CiAKIGZhbGxiYWNrOgogICAgIGZvciAoIGkgPSAwOyBpIDwgbjsgaSsrICkKLSAgICAgICAg
c2hhZG93X3RvX3Z2bWNzKHZ2bWNzLCBmaWVsZFtpXSk7CisgICAgICAgIHNoYWRvd190b192dm1j
cyh2LCBmaWVsZFtpXSk7CiB9CiAKIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93X2NvbnRyb2woc3Ry
dWN0IHZjcHUgKnYpCkBAIC0xMDE3LDcgKzk4OSw2IEBAIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93
X2NvbnRyb2woc3RydWN0IHZjcHUgKnYpCiBzdGF0aWMgdm9pZCBsb2FkX3NoYWRvd19ndWVzdF9z
dGF0ZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAm
dmNwdV9uZXN0ZWRodm0odik7Ci0gICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZfdnZtY3g7CiAg
ICAgdTMyIGNvbnRyb2w7CiAgICAgdTY0IGNyX2doX21hc2ssIGNyX3JlYWRfc2hhZG93OwogCkBA
IC0xMDMxLDE4ICsxMDAyLDE4IEBAIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93X2d1ZXN0X3N0YXRl
KHN0cnVjdCB2Y3B1ICp2KQogICAgIHZ2bWNzX3RvX3NoYWRvd19idWxrKHYsIEFSUkFZX1NJWkUo
dm1jc19nc3RhdGVfZmllbGQpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZtY3NfZ3N0YXRl
X2ZpZWxkKTsKIAotICAgIG52Y3B1LT5ndWVzdF9jclswXSA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCBD
UjBfUkVBRF9TSEFET1cpOwotICAgIG52Y3B1LT5ndWVzdF9jcls0XSA9IF9fZ2V0X3Z2bWNzKHZ2
bWNzLCBDUjRfUkVBRF9TSEFET1cpOwotICAgIGh2bV9zZXRfY3IwKF9fZ2V0X3Z2bWNzKHZ2bWNz
LCBHVUVTVF9DUjApLCAxKTsKLSAgICBodm1fc2V0X2NyNChfX2dldF92dm1jcyh2dm1jcywgR1VF
U1RfQ1I0KSwgMSk7Ci0gICAgaHZtX3NldF9jcjMoX19nZXRfdnZtY3ModnZtY3MsIEdVRVNUX0NS
MyksIDEpOworICAgIG52Y3B1LT5ndWVzdF9jclswXSA9IGdldF92dm1jcyh2LCBDUjBfUkVBRF9T
SEFET1cpOworICAgIG52Y3B1LT5ndWVzdF9jcls0XSA9IGdldF92dm1jcyh2LCBDUjRfUkVBRF9T
SEFET1cpOworICAgIGh2bV9zZXRfY3IwKGdldF92dm1jcyh2LCBHVUVTVF9DUjApLCAxKTsKKyAg
ICBodm1fc2V0X2NyNChnZXRfdnZtY3ModiwgR1VFU1RfQ1I0KSwgMSk7CisgICAgaHZtX3NldF9j
cjMoZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMyksIDEpOwogCi0gICAgY29udHJvbCA9IF9fZ2V0X3Z2
bWNzKHZ2bWNzLCBWTV9FTlRSWV9DT05UUk9MUyk7CisgICAgY29udHJvbCA9IGdldF92dm1jcyh2
LCBWTV9FTlRSWV9DT05UUk9MUyk7CiAgICAgaWYgKCBjb250cm9sICYgVk1fRU5UUllfTE9BRF9H
VUVTVF9QQVQgKQotICAgICAgICBodm1fc2V0X2d1ZXN0X3BhdCh2LCBfX2dldF92dm1jcyh2dm1j
cywgR1VFU1RfUEFUKSk7CisgICAgICAgIGh2bV9zZXRfZ3Vlc3RfcGF0KHYsIGdldF92dm1jcyh2
LCBHVUVTVF9QQVQpKTsKICAgICBpZiAoIGNvbnRyb2wgJiBWTV9FTlRSWV9MT0FEX1BFUkZfR0xP
QkFMX0NUUkwgKQogICAgICAgICBodm1fbXNyX3dyaXRlX2ludGVyY2VwdChNU1JfQ09SRV9QRVJG
X0dMT0JBTF9DVFJMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2dldF92dm1j
cyh2dm1jcywgR1VFU1RfUEVSRl9HTE9CQUxfQ1RSTCksIDApOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnZXRfdnZtY3ModiwgR1VFU1RfUEVSRl9HTE9CQUxfQ1RSTCksIDApOwog
CiAgICAgaHZtX2Z1bmNzLnNldF90c2Nfb2Zmc2V0KHYsIHYtPmFyY2guaHZtX3ZjcHUuY2FjaGVf
dHNjX29mZnNldCwgMCk7CiAKQEAgLTEwNTMsMTQgKzEwMjQsMTQgQEAgc3RhdGljIHZvaWQgbG9h
ZF9zaGFkb3dfZ3Vlc3Rfc3RhdGUoc3RydWN0IHZjcHUgKnYpCiAgICAgICogZ3Vlc3QgaG9zdCBt
YXNrIHRvIDB4ZmZmZmZmZmYgaW4gc2hhZG93IFZNQ1MgKGZvbGxvdyB0aGUgaG9zdCBMMSBWTUNT
KSwKICAgICAgKiB0aGVuIGNhbGN1bGF0ZSB0aGUgY29ycmVzcG9uZGluZyByZWFkIHNoYWRvdyBz
ZXBhcmF0ZWx5IGZvciBDUjAgYW5kIENSNC4KICAgICAgKi8KLSAgICBjcl9naF9tYXNrID0gX19n
ZXRfdnZtY3ModnZtY3MsIENSMF9HVUVTVF9IT1NUX01BU0spOwotICAgIGNyX3JlYWRfc2hhZG93
ID0gKF9fZ2V0X3Z2bWNzKHZ2bWNzLCBHVUVTVF9DUjApICYgfmNyX2doX21hc2spIHwKLSAgICAg
ICAgICAgICAgICAgICAgIChfX2dldF92dm1jcyh2dm1jcywgQ1IwX1JFQURfU0hBRE9XKSAmIGNy
X2doX21hc2spOworICAgIGNyX2doX21hc2sgPSBnZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1Rf
TUFTSyk7CisgICAgY3JfcmVhZF9zaGFkb3cgPSAoZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCkgJiB+
Y3JfZ2hfbWFzaykgfAorICAgICAgICAgICAgICAgICAgICAgKGdldF92dm1jcyh2LCBDUjBfUkVB
RF9TSEFET1cpICYgY3JfZ2hfbWFzayk7CiAgICAgX192bXdyaXRlKENSMF9SRUFEX1NIQURPVywg
Y3JfcmVhZF9zaGFkb3cpOwogCi0gICAgY3JfZ2hfbWFzayA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCBD
UjRfR1VFU1RfSE9TVF9NQVNLKTsKLSAgICBjcl9yZWFkX3NoYWRvdyA9IChfX2dldF92dm1jcyh2
dm1jcywgR1VFU1RfQ1I0KSAmIH5jcl9naF9tYXNrKSB8Ci0gICAgICAgICAgICAgICAgICAgICAo
X19nZXRfdnZtY3ModnZtY3MsIENSNF9SRUFEX1NIQURPVykgJiBjcl9naF9tYXNrKTsKKyAgICBj
cl9naF9tYXNrID0gZ2V0X3Z2bWNzKHYsIENSNF9HVUVTVF9IT1NUX01BU0spOworICAgIGNyX3Jl
YWRfc2hhZG93ID0gKGdldF92dm1jcyh2LCBHVUVTVF9DUjQpICYgfmNyX2doX21hc2spIHwKKyAg
ICAgICAgICAgICAgICAgICAgIChnZXRfdnZtY3ModiwgQ1I0X1JFQURfU0hBRE9XKSAmIGNyX2do
X21hc2spOwogICAgIF9fdm13cml0ZShDUjRfUkVBRF9TSEFET1csIGNyX3JlYWRfc2hhZG93KTsK
IAogICAgIC8qIFRPRE86IENSMyB0YXJnZXQgY29udHJvbCAqLwpAQCAtMTA4NCwxMSArMTA1NSwx
MSBAQCBzdGF0aWMgdWludDY0X3QgZ2V0X2hvc3RfZXB0cChzdHJ1Y3QgdmNwdSAqdikKICAgICBy
ZXR1cm4gZXB0X2dldF9lcHRwKGVwdF9kYXRhKTsKIH0KIAotc3RhdGljIGJvb2xfdCBudm14X3Zw
aWRfZW5hYmxlZChzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUpCitzdGF0aWMgYm9vbF90IG52bXhf
dnBpZF9lbmFibGVkKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVpbnQzMl90IHNlY29u
ZF9jbnRsOwogCi0gICAgc2Vjb25kX2NudGwgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gs
IFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOworICAgIHNlY29uZF9jbnRsID0gZ2V0X3Z2bWNz
KHYsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOwogICAgIGlmICggc2Vjb25kX2NudGwgJiBT
RUNPTkRBUllfRVhFQ19FTkFCTEVfVlBJRCApCiAgICAgICAgIHJldHVybiAxOwogICAgIHJldHVy
biAwOwpAQCAtMTA5NiwxMiArMTA2NywxMCBAQCBzdGF0aWMgYm9vbF90IG52bXhfdnBpZF9lbmFi
bGVkKHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSkKIAogc3RhdGljIHZvaWQgbnZteF9zZXRfdm1j
c19wb2ludGVyKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3Qgdm1jc19zdHJ1Y3QgKnZ2bWNzKQogewot
ICAgIHVuc2lnbmVkIGxvbmcgdnZtY3NfbWZuID0gZG9tYWluX3BhZ2VfbWFwX3RvX21mbih2dm1j
cyk7Ci0gICAgcGFkZHJfdCB2dm1jc19tYWRkciA9IHZ2bWNzX21mbiA8PCBQQUdFX1NISUZUOwor
ICAgIHBhZGRyX3QgdnZtY3NfbWFkZHIgPSB2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFk
ZHI7CiAKICAgICBfX3ZtcGNsZWFyKHZ2bWNzX21hZGRyKTsKICAgICB2dm1jcy0+dm1jc19yZXZp
c2lvbl9pZCB8PSBWTUNTX1JJRF9UWVBFX01BU0s7Ci0gICAgdi0+YXJjaC5odm1fdm14LnZtY3Nf
c2hhZG93X21hZGRyID0gdnZtY3NfbWFkZHI7CiAgICAgX192bXdyaXRlKFZNQ1NfTElOS19QT0lO
VEVSLCB2dm1jc19tYWRkcik7CiAgICAgX192bXdyaXRlKFZNUkVBRF9CSVRNQVAsIHBhZ2VfdG9f
bWFkZHIodi0+YXJjaC5odm1fdm14LnZtcmVhZF9iaXRtYXApKTsKICAgICBfX3Ztd3JpdGUoVk1X
UklURV9CSVRNQVAsIHBhZ2VfdG9fbWFkZHIodi0+YXJjaC5odm1fdm14LnZtd3JpdGVfYml0bWFw
KSk7CkBAIC0xMTA5LDEyICsxMDc4LDEwIEBAIHN0YXRpYyB2b2lkIG52bXhfc2V0X3ZtY3NfcG9p
bnRlcihzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHZtY3Nfc3RydWN0ICp2dm1jcykKIAogc3RhdGlj
IHZvaWQgbnZteF9jbGVhcl92bWNzX3BvaW50ZXIoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCB2bWNz
X3N0cnVjdCAqdnZtY3MpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyB2dm1jc19tZm4gPSBkb21haW5f
cGFnZV9tYXBfdG9fbWZuKHZ2bWNzKTsKLSAgICBwYWRkcl90IHZ2bWNzX21hZGRyID0gdnZtY3Nf
bWZuIDw8IFBBR0VfU0hJRlQ7CisgICAgcGFkZHJfdCB2dm1jc19tYWRkciA9IHYtPmFyY2guaHZt
X3ZteC52bWNzX3NoYWRvd19tYWRkcjsKIAogICAgIF9fdm1wY2xlYXIodnZtY3NfbWFkZHIpOwog
ICAgIHZ2bWNzLT52bWNzX3JldmlzaW9uX2lkICY9IH5WTUNTX1JJRF9UWVBFX01BU0s7Ci0gICAg
di0+YXJjaC5odm1fdm14LnZtY3Nfc2hhZG93X21hZGRyID0gMDsKICAgICBfX3Ztd3JpdGUoVk1D
U19MSU5LX1BPSU5URVIsIH4wdWwpOwogICAgIF9fdm13cml0ZShWTVJFQURfQklUTUFQLCAwKTsK
ICAgICBfX3Ztd3JpdGUoVk1XUklURV9CSVRNQVAsIDApOwpAQCAtMTEyNCw3ICsxMDkxLDYgQEAg
c3RhdGljIHZvaWQgdmlydHVhbF92bWVudHJ5KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog
ewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAq
bnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7Ci0gICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZf
dnZtY3g7CiAgICAgdW5zaWduZWQgbG9uZyBsbV9sMSwgbG1fbDI7CiAKICAgICB2bXhfdm1jc19z
d2l0Y2godi0+YXJjaC5odm1fdm14LnZtY3NfcGEsIG52Y3B1LT5udl9uMnZtY3hfcGEpOwpAQCAt
MTE0Myw4ICsxMTA5LDcgQEAgc3RhdGljIHZvaWQgdmlydHVhbF92bWVudHJ5KHN0cnVjdCBjcHVf
dXNlcl9yZWdzICpyZWdzKQogICAgICAqIEwxIGV4aXRfY29udHJvbHMKICAgICAgKi8KICAgICBs
bV9sMSA9ICEhaHZtX2xvbmdfbW9kZV9lbmFibGVkKHYpOwotICAgIGxtX2wyID0gISEoX19nZXRf
dnZtY3ModnZtY3MsIFZNX0VOVFJZX0NPTlRST0xTKSAmCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBWTV9FTlRSWV9JQTMyRV9NT0RFKTsKKyAgICBsbV9sMiA9ICEhKGdldF92dm1jcyh2LCBW
TV9FTlRSWV9DT05UUk9MUykgJiBWTV9FTlRSWV9JQTMyRV9NT0RFKTsKIAogICAgIGlmICggbG1f
bDIgKQogICAgICAgICB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2VmZXIgfD0gRUZFUl9MTUEgfCBF
RkVSX0xNRTsKQEAgLTExNjEsOSArMTEyNiw5IEBAIHN0YXRpYyB2b2lkIHZpcnR1YWxfdm1lbnRy
eShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICEodi0+YXJjaC5odm1fdmNw
dS5ndWVzdF9lZmVyICYgRUZFUl9MTUEpICkKICAgICAgICAgdnZtY3NfdG9fc2hhZG93X2J1bGso
diwgQVJSQVlfU0laRShncGRwdGVfZmllbGRzKSwgZ3BkcHRlX2ZpZWxkcyk7CiAKLSAgICByZWdz
LT5laXAgPSBfX2dldF92dm1jcyh2dm1jcywgR1VFU1RfUklQKTsKLSAgICByZWdzLT5lc3AgPSBf
X2dldF92dm1jcyh2dm1jcywgR1VFU1RfUlNQKTsKLSAgICByZWdzLT5lZmxhZ3MgPSBfX2dldF92
dm1jcyh2dm1jcywgR1VFU1RfUkZMQUdTKTsKKyAgICByZWdzLT5laXAgPSBnZXRfdnZtY3Modiwg
R1VFU1RfUklQKTsKKyAgICByZWdzLT5lc3AgPSBnZXRfdnZtY3ModiwgR1VFU1RfUlNQKTsKKyAg
ICByZWdzLT5lZmxhZ3MgPSBnZXRfdnZtY3ModiwgR1VFU1RfUkZMQUdTKTsKIAogICAgIC8qIHVw
ZGF0aW5nIGhvc3QgY3IwIHRvIHN5bmMgVFMgYml0ICovCiAgICAgX192bXdyaXRlKEhPU1RfQ1Iw
LCB2LT5hcmNoLmh2bV92bXguaG9zdF9jcjApOwpAQCAtMTE3NSwxMCArMTE0MCwxMCBAQCBzdGF0
aWMgdm9pZCB2aXJ0dWFsX3ZtZW50cnkoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAg
ICAgIF9fdm13cml0ZShFUFRfUE9JTlRFUiwgZ2V0X2hvc3RfZXB0cCh2KSk7CiAKICAgICAvKiBu
ZXN0ZWQgVlBJRCBzdXBwb3J0ISAqLwotICAgIGlmICggY3B1X2hhc192bXhfdnBpZCAmJiBudm14
X3ZwaWRfZW5hYmxlZChudmNwdSkgKQorICAgIGlmICggY3B1X2hhc192bXhfdnBpZCAmJiBudm14
X3ZwaWRfZW5hYmxlZCh2KSApCiAgICAgewogICAgICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14
ID0gJnZjcHVfMl9udm14KHYpOwotICAgICAgICB1aW50MzJfdCBuZXdfdnBpZCA9ICBfX2dldF92
dm1jcyh2dm1jcywgVklSVFVBTF9QUk9DRVNTT1JfSUQpOworICAgICAgICB1aW50MzJfdCBuZXdf
dnBpZCA9IGdldF92dm1jcyh2LCBWSVJUVUFMX1BST0NFU1NPUl9JRCk7CiAKICAgICAgICAgaWYg
KCBudm14LT5ndWVzdF92cGlkICE9IG5ld192cGlkICkKICAgICAgICAgewpAQCAtMTE5MSwzNCAr
MTE1NiwyOSBAQCBzdGF0aWMgdm9pZCB2aXJ0dWFsX3ZtZW50cnkoc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MpCiAKIHN0YXRpYyB2b2lkIHN5bmNfdnZtY3NfZ3Vlc3Rfc3RhdGUoc3RydWN0IHZj
cHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewotICAgIHN0cnVjdCBuZXN0ZWR2
Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKLSAgICB2b2lkICp2dm1jcyA9IG52Y3B1
LT5udl92dm1jeDsKLQogICAgIC8qIGNvcHkgc2hhZG93IHZtY3MuZ3N0YXRlIGJhY2sgdG8gdnZt
Y3MuZ3N0YXRlICovCiAgICAgc2hhZG93X3RvX3Z2bWNzX2J1bGsodiwgQVJSQVlfU0laRSh2bWNz
X2dzdGF0ZV9maWVsZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdm1jc19nc3RhdGVfZmll
bGQpOwogICAgIC8qIFJJUCwgUlNQIGFyZSBpbiB1c2VyIHJlZ3MgKi8KLSAgICBfX3NldF92dm1j
cyh2dm1jcywgR1VFU1RfUklQLCByZWdzLT5laXApOwotICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBH
VUVTVF9SU1AsIHJlZ3MtPmVzcCk7CisgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX1JJUCwgcmVncy0+
ZWlwKTsKKyAgICBzZXRfdnZtY3ModiwgR1VFU1RfUlNQLCByZWdzLT5lc3ApOwogCiAgICAgLyog
Q1IzIHN5bmMgaWYgZXhlYyBkb2Vzbid0IHdhbnQgY3IzIGxvYWQgZXhpdGluZzogaS5lLiBuZXN0
ZWQgRVBUICovCiAgICAgaWYgKCAhKF9fbjJfZXhlY19jb250cm9sKHYpICYgQ1BVX0JBU0VEX0NS
M19MT0FEX0VYSVRJTkcpICkKLSAgICAgICAgc2hhZG93X3RvX3Z2bWNzKHZ2bWNzLCBHVUVTVF9D
UjMpOworICAgICAgICBzaGFkb3dfdG9fdnZtY3ModiwgR1VFU1RfQ1IzKTsKIH0KIAogc3RhdGlj
IHZvaWQgc3luY192dm1jc19ybyhzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBzdHJ1Y3QgbmVzdGVk
dmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAq
bnZteCA9ICZ2Y3B1XzJfbnZteCh2KTsKLSAgICB2b2lkICp2dm1jcyA9IG52Y3B1LT5udl92dm1j
eDsKIAogICAgIHNoYWRvd190b192dm1jc19idWxrKHYsIEFSUkFZX1NJWkUodm1jc19yb19maWVs
ZCksIHZtY3Nfcm9fZmllbGQpOwogCiAgICAgLyogQWRqdXN0IGV4aXRfcmVhc29uL2V4aXRfcXVh
bGlmY2lhdGlvbiBmb3IgdmlvbGF0aW9uIGNhc2UgKi8KLSAgICBpZiAoIF9fZ2V0X3Z2bWNzKHZ2
bWNzLCBWTV9FWElUX1JFQVNPTikgPT0gRVhJVF9SRUFTT05fRVBUX1ZJT0xBVElPTiApCisgICAg
aWYgKCBnZXRfdnZtY3ModiwgVk1fRVhJVF9SRUFTT04pID09IEVYSVRfUkVBU09OX0VQVF9WSU9M
QVRJT04gKQogICAgIHsKLSAgICAgICAgX19zZXRfdnZtY3ModnZtY3MsIEVYSVRfUVVBTElGSUNB
VElPTiwgbnZteC0+ZXB0LmV4aXRfcXVhbCk7Ci0gICAgICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBW
TV9FWElUX1JFQVNPTiwgbnZteC0+ZXB0LmV4aXRfcmVhc29uKTsKKyAgICAgICAgc2V0X3Z2bWNz
KHYsIEVYSVRfUVVBTElGSUNBVElPTiwgbnZteC0+ZXB0LmV4aXRfcXVhbCk7CisgICAgICAgIHNl
dF92dm1jcyh2LCBWTV9FWElUX1JFQVNPTiwgbnZteC0+ZXB0LmV4aXRfcmVhc29uKTsKICAgICB9
CiB9CiAKQEAgLTEyMjYsMzQgKzExODYsMzIgQEAgc3RhdGljIHZvaWQgbG9hZF92dm1jc19ob3N0
X3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIGludCBpOwogICAgIHU2NCByOwotICAgIHZv
aWQgKnZ2bWNzID0gdmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3g7CiAgICAgdTMyIGNvbnRyb2w7
CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUodm1jc19oMmdfZmllbGQpOyBpKysg
KQogICAgIHsKLSAgICAgICAgciA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCB2bWNzX2gyZ19maWVsZFtp
XS5ob3N0X2ZpZWxkKTsKKyAgICAgICAgciA9IGdldF92dm1jcyh2LCB2bWNzX2gyZ19maWVsZFtp
XS5ob3N0X2ZpZWxkKTsKICAgICAgICAgX192bXdyaXRlKHZtY3NfaDJnX2ZpZWxkW2ldLmd1ZXN0
X2ZpZWxkLCByKTsKICAgICB9CiAKLSAgICBodm1fc2V0X2NyMChfX2dldF92dm1jcyh2dm1jcywg
SE9TVF9DUjApLCAxKTsKLSAgICBodm1fc2V0X2NyNChfX2dldF92dm1jcyh2dm1jcywgSE9TVF9D
UjQpLCAxKTsKLSAgICBodm1fc2V0X2NyMyhfX2dldF92dm1jcyh2dm1jcywgSE9TVF9DUjMpLCAx
KTsKKyAgICBodm1fc2V0X2NyMChnZXRfdnZtY3ModiwgSE9TVF9DUjApLCAxKTsKKyAgICBodm1f
c2V0X2NyNChnZXRfdnZtY3ModiwgSE9TVF9DUjQpLCAxKTsKKyAgICBodm1fc2V0X2NyMyhnZXRf
dnZtY3ModiwgSE9TVF9DUjMpLCAxKTsKIAotICAgIGNvbnRyb2wgPSBfX2dldF92dm1jcyh2dm1j
cywgVk1fRVhJVF9DT05UUk9MUyk7CisgICAgY29udHJvbCA9IGdldF92dm1jcyh2LCBWTV9FWElU
X0NPTlRST0xTKTsKICAgICBpZiAoIGNvbnRyb2wgJiBWTV9FWElUX0xPQURfSE9TVF9QQVQgKQot
ICAgICAgICBodm1fc2V0X2d1ZXN0X3BhdCh2LCBfX2dldF92dm1jcyh2dm1jcywgSE9TVF9QQVQp
KTsKKyAgICAgICAgaHZtX3NldF9ndWVzdF9wYXQodiwgZ2V0X3Z2bWNzKHYsIEhPU1RfUEFUKSk7
CiAgICAgaWYgKCBjb250cm9sICYgVk1fRVhJVF9MT0FEX1BFUkZfR0xPQkFMX0NUUkwgKQogICAg
ICAgICBodm1fbXNyX3dyaXRlX2ludGVyY2VwdChNU1JfQ09SRV9QRVJGX0dMT0JBTF9DVFJMLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2dldF92dm1jcyh2dm1jcywgSE9TVF9Q
RVJGX0dMT0JBTF9DVFJMKSwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdl
dF92dm1jcyh2LCBIT1NUX1BFUkZfR0xPQkFMX0NUUkwpLCAxKTsKIAogICAgIGh2bV9mdW5jcy5z
ZXRfdHNjX29mZnNldCh2LCB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RzY19vZmZzZXQsIDApOwog
Ci0gICAgX19zZXRfdnZtY3ModnZtY3MsIFZNX0VOVFJZX0lOVFJfSU5GTywgMCk7CisgICAgc2V0
X3Z2bWNzKHYsIFZNX0VOVFJZX0lOVFJfSU5GTywgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHN5bmNf
ZXhjZXB0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1
ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14
ID0gJnZjcHVfMl9udm14KHYpOwogCiAgICAgaWYgKCAhKG52bXgtPmludHIuaW50cl9pbmZvICYg
SU5UUl9JTkZPX1ZBTElEX01BU0spICkKQEAgLTEyNjMsMTAgKzEyMjEsOSBAQCBzdGF0aWMgdm9p
ZCBzeW5jX2V4Y2VwdGlvbl9zdGF0ZShzdHJ1Y3QgdmNwdSAqdikKICAgICB7CiAgICAgY2FzZSBY
ODZfRVZFTlRUWVBFX0VYVF9JTlRSOgogICAgICAgICAvKiByZW5hbWUgZXhpdF9yZWFzb24gdG8g
RVhURVJOQUxfSU5URVJSVVBUICovCi0gICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1j
eCwgVk1fRVhJVF9SRUFTT04sCi0gICAgICAgICAgICAgICAgICAgIEVYSVRfUkVBU09OX0VYVEVS
TkFMX0lOVEVSUlVQVCk7Ci0gICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgRVhJ
VF9RVUFMSUZJQ0FUSU9OLCAwKTsKLSAgICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4
LCBWTV9FWElUX0lOVFJfSU5GTywKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfUkVBU09O
LCBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJVUFQpOworICAgICAgICBzZXRfdnZtY3Modiwg
RVhJVF9RVUFMSUZJQ0FUSU9OLCAwKTsKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfSU5U
Ul9JTkZPLAogICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmludHJfaW5mbyk7CiAgICAg
ICAgIGJyZWFrOwogCkBAIC0xMjc0LDE3ICsxMjMxLDEzIEBAIHN0YXRpYyB2b2lkIHN5bmNfZXhj
ZXB0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogICAgIGNhc2UgWDg2X0VWRU5UVFlQRV9TV19J
TlRFUlJVUFQ6CiAgICAgY2FzZSBYODZfRVZFTlRUWVBFX1NXX0VYQ0VQVElPTjoKICAgICAgICAg
LyogdGhyb3cgdG8gTDEgKi8KLSAgICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBW
TV9FWElUX0lOVFJfSU5GTywKLSAgICAgICAgICAgICAgICAgICAgbnZteC0+aW50ci5pbnRyX2lu
Zm8pOwotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfSU5UUl9F
UlJPUl9DT0RFLAotICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmVycm9yX2NvZGUpOwor
ICAgICAgICBzZXRfdnZtY3ModiwgVk1fRVhJVF9JTlRSX0lORk8sIG52bXgtPmludHIuaW50cl9p
bmZvKTsKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfSU5UUl9FUlJPUl9DT0RFLCBudm14
LT5pbnRyLmVycm9yX2NvZGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFg4Nl9FVkVOVFRZ
UEVfTk1JOgotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfUkVB
U09OLAotICAgICAgICAgICAgICAgICAgICBFWElUX1JFQVNPTl9FWENFUFRJT05fTk1JKTsKLSAg
ICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBFWElUX1FVQUxJRklDQVRJT04sIDAp
OwotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfSU5UUl9JTkZP
LAotICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmludHJfaW5mbyk7CisgICAgICAgIHNl
dF92dm1jcyh2LCBWTV9FWElUX1JFQVNPTiwgRVhJVF9SRUFTT05fRVhDRVBUSU9OX05NSSk7Cisg
ICAgICAgIHNldF92dm1jcyh2LCBFWElUX1FVQUxJRklDQVRJT04sIDApOworICAgICAgICBzZXRf
dnZtY3ModiwgVk1fRVhJVF9JTlRSX0lORk8sIG52bXgtPmludHIuaW50cl9pbmZvKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIkV4
Y2VwdGlvbiBzdGF0ZSAlbHggbm90IGhhbmRsZWRcbiIsCkBAIC0xMjk2LDkgKzEyNDksOCBAQCBz
dGF0aWMgdm9pZCBzeW5jX2V4Y2VwdGlvbl9zdGF0ZShzdHJ1Y3QgdmNwdSAqdikKIHN0YXRpYyB2
b2lkIG52bXhfdXBkYXRlX2FwaWN2KHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVjdCBuZXN0
ZWR2bXggKm52bXggPSAmdmNwdV8yX252bXgodik7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52
Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHVuc2lnbmVkIGxvbmcgcmVhc29uID0gX19n
ZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX1JFQVNPTik7Ci0gICAgdWludDMyX3Qg
aW50cl9pbmZvID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX0lOVFJfSU5G
Tyk7CisgICAgdW5zaWduZWQgbG9uZyByZWFzb24gPSBnZXRfdnZtY3ModiwgVk1fRVhJVF9SRUFT
T04pOworICAgIHVpbnQzMl90IGludHJfaW5mbyA9IGdldF92dm1jcyh2LCBWTV9FWElUX0lOVFJf
SU5GTyk7CiAKICAgICBpZiAoIHJlYXNvbiA9PSBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJV
UFQgJiYKICAgICAgICAgIG52bXgtPmludHIuc291cmNlID09IGh2bV9pbnRzcmNfbGFwaWMgJiYK
QEAgLTEzNDQsOCArMTI5Niw3IEBAIHN0YXRpYyB2b2lkIHZpcnR1YWxfdm1leGl0KHN0cnVjdCBj
cHVfdXNlcl9yZWdzICpyZWdzKQogICAgIG52Y3B1LT5udl92bXN3aXRjaF9pbl9wcm9ncmVzcyA9
IDE7CiAKICAgICBsbV9sMiA9ICEhaHZtX2xvbmdfbW9kZV9lbmFibGVkKHYpOwotICAgIGxtX2wx
ID0gISEoX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX0NPTlRST0xTKSAmCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBWTV9FWElUX0lBMzJFX01PREUpOworICAgIGxtX2wx
ID0gISEoZ2V0X3Z2bWNzKHYsIFZNX0VYSVRfQ09OVFJPTFMpICYgVk1fRVhJVF9JQTMyRV9NT0RF
KTsKIAogICAgIGlmICggbG1fbDEgKQogICAgICAgICB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2Vm
ZXIgfD0gRUZFUl9MTUEgfCBFRkVSX0xNRTsKQEAgLTEzNjEsOCArMTMxMiw4IEBAIHN0YXRpYyB2
b2lkIHZpcnR1YWxfdm1leGl0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGlmICgg
bG1fbDEgIT0gbG1fbDIgKQogICAgICAgICBwYWdpbmdfdXBkYXRlX3BhZ2luZ19tb2Rlcyh2KTsK
IAotICAgIHJlZ3MtPmVpcCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgSE9TVF9SSVAp
OwotICAgIHJlZ3MtPmVzcCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgSE9TVF9SU1Ap
OworICAgIHJlZ3MtPmVpcCA9IGdldF92dm1jcyh2LCBIT1NUX1JJUCk7CisgICAgcmVncy0+ZXNw
ID0gZ2V0X3Z2bWNzKHYsIEhPU1RfUlNQKTsKICAgICAvKiBWTSBleGl0IGNsZWFycyBhbGwgYml0
cyBleGNlcHQgYml0IDEgKi8KICAgICByZWdzLT5lZmxhZ3MgPSAweDI7CiAKQEAgLTE1MzksNyAr
MTQ5MCw2IEBAIGludCBudm14X2hhbmRsZV92bXJlc3VtZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncykKIHsKICAgICBib29sX3QgbGF1bmNoZWQ7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJy
ZW50OwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
ICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14ID0gJnZjcHVfMl9udm14KHYpOwogICAgIGludCBy
YyA9IHZteF9pbnN0X2NoZWNrX3ByaXZpbGVnZShyZWdzLCAwKTsKIApAQCAtMTU1Myw3ICsxNTAz
LDcgQEAgaW50IG52bXhfaGFuZGxlX3ZtcmVzdW1lKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
KQogICAgIH0KIAogICAgIGxhdW5jaGVkID0gdnZtY3NfbGF1bmNoZWQoJm52bXgtPmxhdW5jaGVk
X2xpc3QsCi0gICAgICAgICAgICAgICAgICAgZG9tYWluX3BhZ2VfbWFwX3RvX21mbihudmNwdS0+
bnZfdnZtY3gpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9ET1dOKHYtPmFy
Y2guaHZtX3ZteC52bWNzX3NoYWRvd19tYWRkcikpOwogICAgIGlmICggIWxhdW5jaGVkICkgewog
ICAgICAgIHZtcmV0dXJuIChyZWdzLCBWTUZBSUxfVkFMSUQpOwogICAgICAgIHJldHVybiBYODZF
TVVMX09LQVk7CkBAIC0xNTY1LDcgKzE1MTUsNiBAQCBpbnQgbnZteF9oYW5kbGVfdm1sYXVuY2go
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgYm9vbF90IGxhdW5jaGVkOwogICAg
IHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUg
PSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAqbnZteCA9ICZ2Y3B1
XzJfbnZteCh2KTsKICAgICBpbnQgcmMgPSB2bXhfaW5zdF9jaGVja19wcml2aWxlZ2UocmVncywg
MCk7CiAKQEAgLTE1NzksNyArMTUyOCw3IEBAIGludCBudm14X2hhbmRsZV92bWxhdW5jaChzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICB9CiAKICAgICBsYXVuY2hlZCA9IHZ2bWNzX2xh
dW5jaGVkKCZudm14LT5sYXVuY2hlZF9saXN0LAotICAgICAgICAgICAgICAgICAgIGRvbWFpbl9w
YWdlX21hcF90b19tZm4obnZjcHUtPm52X3Z2bWN4KSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQRk5fRE9XTih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIpKTsKICAg
ICBpZiAoIGxhdW5jaGVkICkgewogICAgICAgIHZtcmV0dXJuIChyZWdzLCBWTUZBSUxfVkFMSUQp
OwogICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CkBAIC0xNTg5LDcgKzE1MzgsNyBAQCBpbnQg
bnZteF9oYW5kbGVfdm1sYXVuY2goc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
IGlmICggcmMgPT0gWDg2RU1VTF9PS0FZICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBz
ZXRfdnZtY3NfbGF1bmNoZWQoJm52bXgtPmxhdW5jaGVkX2xpc3QsCi0gICAgICAgICAgICAgICAg
ICAgIGRvbWFpbl9wYWdlX21hcF90b19tZm4obnZjcHUtPm52X3Z2bWN4KSkgPCAwICkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9ET1dOKHYtPmFyY2guaHZtX3ZteC52
bWNzX3NoYWRvd19tYWRkcikpIDwgMCApCiAgICAgICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxf
VU5IQU5ETEVBQkxFOwogICAgICAgICB9CiAgICAgfQpAQCAtMTYyOCw2ICsxNTc3LDggQEAgaW50
IG52bXhfaGFuZGxlX3ZtcHRybGQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgbnZjcHUtPm52X3Z2bWN4ID0gdnZtY3g7CiAgICAgICAg
ICAgICAgICAgbnZjcHUtPm52X3Z2bWN4YWRkciA9IGdwYTsKKyAgICAgICAgICAgICAgICB2LT5h
cmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIgPQorICAgICAgICAgICAgICAgICAgICBwZm5f
dG9fcGFkZHIoZG9tYWluX3BhZ2VfbWFwX3RvX21mbih2dm1jeCkpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewpAQCAtMTY5Nyw3ICsxNjQ4LDcgQEAgaW50
IG52bXhfaGFuZGxlX3ZtY2xlYXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
IGlmICggY3B1X2hhc192bXhfdm1jc19zaGFkb3dpbmcgKQogICAgICAgICAgICAgbnZteF9jbGVh
cl92bWNzX3BvaW50ZXIodiwgbnZjcHUtPm52X3Z2bWN4KTsKICAgICAgICAgY2xlYXJfdnZtY3Nf
bGF1bmNoZWQoJm52bXgtPmxhdW5jaGVkX2xpc3QsCi0gICAgICAgICAgICBkb21haW5fcGFnZV9t
YXBfdG9fbWZuKG52Y3B1LT5udl92dm1jeCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQRk5fRE9XTih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIpKTsKICAgICAgICAg
bnZteF9wdXJnZV92dm1jcyh2KTsKICAgICB9CiAgICAgZWxzZSAKQEAgLTE3MjYsNyArMTY3Nyw2
IEBAIGludCBudm14X2hhbmRsZV92bXJlYWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7
CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OwogICAgIHN0cnVjdCB2bXhfaW5zdF9kZWNv
ZGVkIGRlY29kZTsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRo
dm0odik7CiAgICAgdTY0IHZhbHVlID0gMDsKICAgICBpbnQgcmM7CiAKQEAgLTE3MzQsNyArMTY4
NCw3IEBAIGludCBudm14X2hhbmRsZV92bXJlYWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
CiAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICByZXR1cm4gcmM7CiAKLSAg
ICB2YWx1ZSA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgcmVnX3JlYWQocmVncywgZGVj
b2RlLnJlZzIpKTsKKyAgICB2YWx1ZSA9IGdldF92dm1jcyh2LCByZWdfcmVhZChyZWdzLCBkZWNv
ZGUucmVnMikpOwogCiAgICAgc3dpdGNoICggZGVjb2RlLnR5cGUgKSB7CiAgICAgY2FzZSBWTVhf
SU5TVF9NRU1SRUdfVFlQRV9NRU1PUlk6CkBAIC0xNzU1LDcgKzE3MDUsNiBAQCBpbnQgbnZteF9o
YW5kbGVfdm13cml0ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBzdHJ1Y3Qg
dmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IHZteF9pbnN0X2RlY29kZWQgZGVjb2RlOwot
ICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKICAgICB1
bnNpZ25lZCBsb25nIG9wZXJhbmQ7IAogICAgIHU2NCB2bWNzX2VuY29kaW5nOwogICAgIGJvb2xf
dCBva2F5ID0gMTsKQEAgLTE3NjUsNyArMTcxNCw3IEBAIGludCBudm14X2hhbmRsZV92bXdyaXRl
KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICByZXR1cm4gWDg2RU1VTF9FWENF
UFRJT047CiAKICAgICB2bWNzX2VuY29kaW5nID0gcmVnX3JlYWQocmVncywgZGVjb2RlLnJlZzIp
OwotICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgdm1jc19lbmNvZGluZywgb3BlcmFu
ZCk7CisgICAgc2V0X3Z2bWNzKHYsIHZtY3NfZW5jb2RpbmcsIG9wZXJhbmQpOwogCiAgICAgc3dp
dGNoICggdm1jc19lbmNvZGluZyAmIH5WTUNTX0hJR0goMCkgKQogICAgIHsKQEAgLTIxOTksNyAr
MjE0OCw3IEBAIGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCAoaW50cl9pbmZvICYgdmFsaWRf
bWFzaykgPT0gdmFsaWRfbWFzayApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGV4ZWNfYml0bWFw
ID1fX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVYQ0VQVElPTl9CSVRNQVApOworICAgICAg
ICAgICAgZXhlY19iaXRtYXAgPSBnZXRfdnZtY3ModiwgRVhDRVBUSU9OX0JJVE1BUCk7CiAKICAg
ICAgICAgICAgIGlmICggZXhlY19iaXRtYXAgJiAoMSA8PCB2ZWN0b3IpICkKICAgICAgICAgICAg
ICAgICBudmNwdS0+bnZfdm1leGl0X3BlbmRpbmcgPSAxOwpAQCAtMjMxOSw4ICsyMjY4LDcgQEAg
aW50IG52bXhfbjJfdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAg
ICAgICAgICAgICAgKiBzcGVjaWFsIGhhbmRsZXIgaXMgbmVlZGVkIGlmIEwxIGRvZXNuJ3QgaW50
ZXJjZXB0IHJkdHNjLAogICAgICAgICAgICAgICogYXZvaWRpbmcgY2hhbmdpbmcgZ3Vlc3RfdHNj
IGFuZCBtZXNzaW5nIHVwIHRpbWVrZWVwaW5nIGluIEwxCiAgICAgICAgICAgICAgKi8KLSAgICAg
ICAgICAgIHRzYyA9IGh2bV9nZXRfZ3Vlc3RfdHNjKHYpOwotICAgICAgICAgICAgdHNjICs9IF9f
Z2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgVFNDX09GRlNFVCk7CisgICAgICAgICAgICB0c2Mg
PSBodm1fZ2V0X2d1ZXN0X3RzYyh2KSArIGdldF92dm1jcyh2LCBUU0NfT0ZGU0VUKTsKICAgICAg
ICAgICAgIHJlZ3MtPmVheCA9ICh1aW50MzJfdCl0c2M7CiAgICAgICAgICAgICByZWdzLT5lZHgg
PSAodWludDMyX3QpKHRzYyA+PiAzMik7CiAgICAgICAgICAgICB1cGRhdGVfZ3Vlc3RfZWlwKCk7
CkBAIC0yNDA5LDcgKzIzNTcsNyBAQCBpbnQgbnZteF9uMl92bWV4aXRfaGFuZGxlcihzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgICAgICB2YWwgPSAqcmVnOwogICAgICAg
ICAgICAgICAgIGlmICggY3IgPT0gMCApCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICB1NjQgY3IwX2doX21hc2sgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENS
MF9HVUVTVF9IT1NUX01BU0spOworICAgICAgICAgICAgICAgICAgICB1NjQgY3IwX2doX21hc2sg
PSBnZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1RfTUFTSyk7CiAKICAgICAgICAgICAgICAgICAg
ICAgX192bXJlYWQoQ1IwX1JFQURfU0hBRE9XLCAmb2xkX3ZhbCk7CiAgICAgICAgICAgICAgICAg
ICAgIGNoYW5nZWRfYml0cyA9IG9sZF92YWwgXiB2YWw7CkBAIC0yNDE3LDE0ICsyMzY1LDE1IEBA
IGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgbnZjcHUtPm52X3ZtZXhpdF9wZW5kaW5nID0gMTsKICAg
ICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4
LCBHVUVTVF9DUjApOwotICAgICAgICAgICAgICAgICAgICAgICAgX19zZXRfdnZtY3MobnZjcHUt
Pm52X3Z2bWN4LCBHVUVTVF9DUjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoZ3Vlc3RfY3IwICYgY3IwX2doX21hc2spIHwgKHZhbCAmIH5jcjBfZ2hfbWFzaykpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2NyMCA9IGdldF92dm1jcyh2LCBHVUVTVF9D
UjApOworCisgICAgICAgICAgICAgICAgICAgICAgICBzZXRfdnZtY3ModiwgR1VFU1RfQ1IwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChndWVzdF9jcjAgJiBjcjBfZ2hfbWFz
aykgfCAodmFsICYgfmNyMF9naF9tYXNrKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIGNyID09IDQgKQogICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdTY0IGNyNF9naF9tYXNrID0gX19nZXRf
dnZtY3MobnZjcHUtPm52X3Z2bWN4LCBDUjRfR1VFU1RfSE9TVF9NQVNLKTsKKyAgICAgICAgICAg
ICAgICAgICAgdTY0IGNyNF9naF9tYXNrID0gZ2V0X3Z2bWNzKHYsIENSNF9HVUVTVF9IT1NUX01B
U0spOwogCiAgICAgICAgICAgICAgICAgICAgIF9fdm1yZWFkKENSNF9SRUFEX1NIQURPVywgJm9s
ZF92YWwpOwogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkX2JpdHMgPSBvbGRfdmFsIF4gdmFs
OwpAQCAtMjQzMiw5ICsyMzgxLDEwIEBAIGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgbnZjcHUtPm52
X3ZtZXhpdF9wZW5kaW5nID0gMTsKICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3I0ID0gX19n
ZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjQpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3Vlc3RfY3I0ICYgY3I0X2doX21hc2spIHwgKHZh
bCAmIH5jcjRfZ2hfbWFzaykpOworICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2Ny
NCA9IGdldF92dm1jcyh2LCBHVUVTVF9DUjQpOworCisgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRfdnZtY3ModiwgR1VFU1RfQ1I0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChndWVzdF9jcjQgJiBjcjRfZ2hfbWFzaykgfCAodmFsICYgfmNyNF9naF9tYXNrKSk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxz
ZQpAQCAtMjQ0MywyMCArMjM5MywyMSBAQCBpbnQgbnZteF9uMl92bWV4aXRfaGFuZGxlcihzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2Ug
Vk1YX0NPTlRST0xfUkVHX0FDQ0VTU19UWVBFX0NMVFM6CiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgdTY0IGNyMF9naF9tYXNrID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBD
UjBfR1VFU1RfSE9TVF9NQVNLKTsKKyAgICAgICAgICAgICAgICB1NjQgY3IwX2doX21hc2sgPSBn
ZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1RfTUFTSyk7CiAKICAgICAgICAgICAgICAgICBpZiAo
IGNyMF9naF9tYXNrICYgWDg2X0NSMF9UUyApCiAgICAgICAgICAgICAgICAgICAgIG52Y3B1LT5u
dl92bWV4aXRfcGVuZGluZyA9IDE7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2NyMCA9IF9fZ2V0X3Z2bWNzKG52
Y3B1LT5udl92dm1jeCwgR1VFU1RfQ1IwKTsKLSAgICAgICAgICAgICAgICAgICAgX19zZXRfdnZt
Y3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjAsIChndWVzdF9jcjAgJiB+WDg2X0NSMF9UUykp
OworICAgICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gZ2V0X3Z2bWNzKHYsIEdVRVNU
X0NSMCk7CisKKyAgICAgICAgICAgICAgICAgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCwgKGd1
ZXN0X2NyMCAmIH5YODZfQ1IwX1RTKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSBWTVhfQ09OVFJPTF9S
RUdfQUNDRVNTX1RZUEVfTE1TVzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB1NjQg
Y3IwX2doX21hc2sgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENSMF9HVUVTVF9IT1NU
X01BU0spOworICAgICAgICAgICAgICAgIHU2NCBjcjBfZ2hfbWFzayA9IGdldF92dm1jcyh2LCBD
UjBfR1VFU1RfSE9TVF9NQVNLKTsKIAogICAgICAgICAgICAgICAgIF9fdm1yZWFkKENSMF9SRUFE
X1NIQURPVywgJm9sZF92YWwpOwogICAgICAgICAgICAgICAgIG9sZF92YWwgJj0gWDg2X0NSMF9Q
RXxYODZfQ1IwX01QfFg4Nl9DUjBfRU18WDg2X0NSMF9UUzsKQEAgLTI0NjcsOCArMjQxOCw5IEBA
IGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAog
ICAgICAgICAgICAgICAgICAgICBudmNwdS0+bnZfdm1leGl0X3BlbmRpbmcgPSAxOwogICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHU2
NCBndWVzdF9jcjAgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEdVRVNUX0NSMCk7Ci0g
ICAgICAgICAgICAgICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgR1VFU1RfQ1Iw
LCAoZ3Vlc3RfY3IwICYgY3IwX2doX21hc2spIHwgKHZhbCAmIH5jcjBfZ2hfbWFzaykpOworICAg
ICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCk7
CisKKyAgICAgICAgICAgICAgICAgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCwgKGd1ZXN0X2Ny
MCAmIGNyMF9naF9tYXNrKSB8ICh2YWwgJiB+Y3IwX2doX21hc2spKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0yNTIwLDcgKzI0
NzIsNyBAQCB2b2lkIG52bXhfc2V0X2NyX3JlYWRfc2hhZG93KHN0cnVjdCB2Y3B1ICp2LCB1bnNp
Z25lZCBpbnQgY3IpCiAgICAgaWYgKCAhbmVzdGVkaHZtX3Ztc3dpdGNoX2luX3Byb2dyZXNzKHYp
ICkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmlydHVhbF9jcl9tYXNrID0gCi0gICAg
ICAgICAgICBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwgbWFza19maWVs
ZCk7CisgICAgICAgICAgICBnZXRfdnZtY3ModiwgbWFza19maWVsZCk7CiAKICAgICAgICAgLyoK
ICAgICAgICAgICogV2UgZ2V0IGhlcmUgd2hlbiBMMiBjaGFuZ2VkIGNyIGluIGEgd2F5IHRoYXQg
ZGlkIG5vdCBjaGFuZ2UKQEAgLTI1MzIsNyArMjQ4NCw3IEBAIHZvaWQgbnZteF9zZXRfY3JfcmVh
ZF9zaGFkb3coc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBjcikKICAgICAgICAgICovCiAg
ICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbY3JdICY9IH52aXJ0dWFsX2NyX21hc2s7
CiAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbY3JdIHw9IHZpcnR1YWxfY3JfbWFz
ayAmCi0gICAgICAgICAgICBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwg
Y3JfZmllbGQpOworICAgICAgICAgICAgZ2V0X3Z2bWNzKHYsIGNyX2ZpZWxkKTsKICAgICB9CiAK
ICAgICAvKiBudmNwdS5ndWVzdF9jciBpcyB3aGF0IEwyIHdyaXRlIHRvIGNyIGFjdHVhbGx5LiAq
LwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKaW5kZXggYTVlN2FlZS4uMmJiNTUwNiAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oCkBAIC0xMDUsNyArMTA1LDcgQEAgc3RydWN0IGFy
Y2hfdm14X3N0cnVjdCB7CiAgICAgLyogUGh5c2ljYWwgYWRkcmVzcyBvZiBWTUNTLiAqLwogICAg
IHBhZGRyX3QgICAgICAgICAgICAgIHZtY3NfcGE7CiAgICAgLyogVk1DUyBzaGFkb3cgbWFjaGlu
ZSBhZGRyZXNzLiAqLwotICAgIHBhZGRyX3QgICAgICAgICAgICAgdm1jc19zaGFkb3dfbWFkZHI7
CisgICAgcGFkZHJfdCAgICAgICAgICAgICAgdm1jc19zaGFkb3dfbWFkZHI7CiAKICAgICAvKiBQ
cm90ZWN0cyByZW1vdGUgdXNhZ2Ugb2YgVk1DUyAoVk1QVFJMRC9WTUNMRUFSKS4gKi8KICAgICBz
cGlubG9ja190ICAgICAgICAgICB2bWNzX2xvY2s7CkBAIC01MDgsMTAgKzUwOCwxMCBAQCB2b2lk
IHZteF92bWNzX3N3aXRjaChwYWRkcl90IGZyb20sIHBhZGRyX3QgdG8pOwogdm9pZCB2bXhfc2V0
X2VvaV9leGl0X2JpdG1hcChzdHJ1Y3QgdmNwdSAqdiwgdTggdmVjdG9yKTsKIHZvaWQgdm14X2Ns
ZWFyX2VvaV9leGl0X2JpdG1hcChzdHJ1Y3QgdmNwdSAqdiwgdTggdmVjdG9yKTsKIGludCB2bXhf
Y2hlY2tfbXNyX2JpdG1hcCh1bnNpZ25lZCBsb25nICptc3JfYml0bWFwLCB1MzIgbXNyLCBpbnQg
YWNjZXNzX3R5cGUpOwotdm9pZCB2aXJ0dWFsX3ZtY3NfZW50ZXIodm9pZCAqdnZtY3MpOwotdm9p
ZCB2aXJ0dWFsX3ZtY3NfZXhpdCh2b2lkICp2dm1jcyk7Ci11NjQgdmlydHVhbF92bWNzX3ZtcmVh
ZCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcpOwotdm9pZCB2aXJ0dWFsX3ZtY3Nfdm13
cml0ZSh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcsIHU2NCB2YWwpOwordm9pZCB2aXJ0
dWFsX3ZtY3NfZW50ZXIoY29uc3Qgc3RydWN0IHZjcHUgKik7Cit2b2lkIHZpcnR1YWxfdm1jc19l
eGl0KGNvbnN0IHN0cnVjdCB2Y3B1ICopOwordTY0IHZpcnR1YWxfdm1jc192bXJlYWQoY29uc3Qg
c3RydWN0IHZjcHUgKiwgdTMyIGVuY29kaW5nKTsKK3ZvaWQgdmlydHVhbF92bWNzX3Ztd3JpdGUo
Y29uc3Qgc3RydWN0IHZjcHUgKiwgdTMyIGVuY29kaW5nLCB1NjQgdmFsKTsKIAogc3RhdGljIGlu
bGluZSBpbnQgdm14X2FkZF9ndWVzdF9tc3IodTMyIG1zcikKIHsKZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL3ZteC92dm14LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92
bXgvdnZteC5oCmluZGV4IDYwZmRjMjEuLmFjYThiNGIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvaHZtL3ZteC92dm14LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14
L3Z2bXguaApAQCAtMTgxLDE4ICsxODEsMjAgQEAgZW51bSB2dm1jc19lbmNvZGluZ190eXBlIHsK
ICAgICBWVk1DU19UWVBFX0hTVEFURSwKIH07CiAKLXU2NCBfX2dldF92dm1jc192aXJ0dWFsKHZv
aWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZyk7Ci11NjQgX19nZXRfdnZtY3NfcmVhbCh2b2lk
ICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcpOwotdm9pZCBfX3NldF92dm1jc192aXJ0dWFsKHZv
aWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZywgdTY0IHZhbCk7Ci12b2lkIF9fc2V0X3Z2bWNz
X3JlYWwodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nLCB1NjQgdmFsKTsKLQotI2RlZmlu
ZSBfX2dldF92dm1jcyhfdnZtY3MsIF92bWNzX2VuY29kaW5nKSBcCi0gIChjcHVfaGFzX3ZteF92
bWNzX3NoYWRvd2luZyA/IF9fZ2V0X3Z2bWNzX3JlYWwoX3Z2bWNzLCBfdm1jc19lbmNvZGluZykg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX2dldF92dm1jc192aXJ0dWFsKF92
dm1jcywgX3ZtY3NfZW5jb2RpbmcpKQotCi0jZGVmaW5lIF9fc2V0X3Z2bWNzKF92dm1jcywgX3Zt
Y3NfZW5jb2RpbmcsIF92YWwpIFwKLSAgKGNwdV9oYXNfdm14X3ZtY3Nfc2hhZG93aW5nID8gX19z
ZXRfdnZtY3NfcmVhbChfdnZtY3MsIF92bWNzX2VuY29kaW5nLCBfdmFsKSBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6IF9fc2V0X3Z2bWNzX3ZpcnR1YWwoX3Z2bWNzLCBfdm1jc19l
bmNvZGluZywgX3ZhbCkpCit1NjQgZ2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiBl
bmNvZGluZyk7Cit1NjQgZ2V0X3Z2bWNzX3JlYWwoY29uc3Qgc3RydWN0IHZjcHUgKiwgdTMyIGVu
Y29kaW5nKTsKK3ZvaWQgc2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiBlbmNvZGlu
ZywgdTY0IHZhbCk7Cit2b2lkIHNldF92dm1jc19yZWFsKGNvbnN0IHN0cnVjdCB2Y3B1ICosIHUz
MiBlbmNvZGluZywgdTY0IHZhbCk7CisKKyNkZWZpbmUgZ2V0X3Z2bWNzKHZjcHUsIGVuY29kaW5n
KSBcCisgIChjcHVfaGFzX3ZteF92bWNzX3NoYWRvd2luZyA/IFwKKyAgIGdldF92dm1jc19yZWFs
KHZjcHUsIGVuY29kaW5nKSA6IFwKKyAgIGdldF92dm1jc192aXJ0dWFsKHZjcHVfbmVzdGVkaHZt
KHZjcHUpLm52X3Z2bWN4LCBlbmNvZGluZykpCisKKyNkZWZpbmUgc2V0X3Z2bWNzKHZjcHUsIGVu
Y29kaW5nLCB2YWwpIFwKKyAgKGNwdV9oYXNfdm14X3ZtY3Nfc2hhZG93aW5nID8gXAorICAgc2V0
X3Z2bWNzX3JlYWwodmNwdSwgZW5jb2RpbmcsIHZhbCkgOiBcCisgICBzZXRfdnZtY3NfdmlydHVh
bCh2Y3B1X25lc3RlZGh2bSh2Y3B1KS5udl92dm1jeCwgZW5jb2RpbmcsIHZhbCkpCiAKIHVpbnQ2
NF90IGdldF9zaGFkb3dfZXB0cChzdHJ1Y3QgdmNwdSAqdik7CiAKLS0KZ2VuZXJhdGVkIGJ5IGdp
dC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5n
IGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2Uu
Y29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:31 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBT-00072V-K9; Sun, 28 Feb 2016 23:55:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBR-000725-Bs
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:29 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
 B5/92-02863-0F883D65; Sun, 28 Feb 2016 23:55:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703725!27263446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 55452 invoked from network); 28 Feb 2016 23:55:26 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:26 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBN-0000rF-Pi
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBN-0001om-Jy
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:25 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBN-0001om-Jy@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:25 +0000
Subject: [Xen-changelog] [xen master] vVMX: use latched VMCS machine address
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDgyNWM2ZGRkZjU5OTNhYjZiODQ1OTAwMjZjZDdiNTQ1NGE3ZDVlOTQKQXV0aG9yOiAg
ICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmViIDI2
IDEyOjE1OjM2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjE1OjM2IDIwMTYgKzAxMDAKCiAgICB2
Vk1YOiB1c2UgbGF0Y2hlZCBWTUNTIG1hY2hpbmUgYWRkcmVzcwogICAgCiAgICBJbnN0ZWFkIG9m
IGNhbGxpbmcgZG9tYWluX3BhZ2VfbWFwX3RvX21mbigpIG92ZXIgYW5kIG92ZXIsIGxhdGNoIHRo
ZQogICAgZ3Vlc3QgVk1DUyBtYWNoaW5lIGFkZHJlc3MgdW5jb25kaXRpb25hbGx5IChpLmUuIGlu
ZGVwZW5kZW50IG9mIHdoZXRoZXIKICAgIFZNQ1Mgc2hhZG93aW5nIGlzIHN1cHBvcnRlZCBieSB0
aGUgaGFyZHdhcmUpLgogICAgCiAgICBTaW5jZSB0aGlzIHJlcXVpcmVzIGFsdGVyaW5nIHRoZSBw
YXJhbWV0ZXJzIG9mIF9fW2dzXWV0X3ZtY3N7LF9yZWFsfSgpCiAgICAoYW5kIGhlbmNlIGFsbCB0
aGVpciBjYWxsZXJzKSBhbnl3YXksIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIGFsc28gZHJvcAog
ICAgdGhlIGJvZ3VzIGRvdWJsZSB1bmRlcnNjb3JlcyBmcm9tIHRoZWlyIG5hbWVzIChhbmQgZnJv
bQogICAgX19bZ3NdZXRfdm1jc192aXJ0dWFsKCkgYXMgd2VsbCkuCiAgICAKICAgIFNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KICAgIFRlc3RlZC1ieTogTGlh
bmcgWiBMaSA8bGlhbmcuei5saUBpbnRlbC5jb20+CiAgICBBY2tlZC1ieTogS2V2aW4gVGlhbiA8
a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jICAg
ICAgICB8ICAgNCArLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICAgICAgICB8ICAyMSAr
Ky0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICAgfCAgIDYgKy0KIHhlbi9hcmNo
L3g4Ni9odm0vdm14L3Z2bXguYyAgICAgICAgfCAyODggKysrKysrKysrKysrKysrKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCB8ICAxMCAr
LQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3Z2bXguaCB8ICAyNiArKy0tCiA2IGZpbGVz
IGNoYW5nZWQsIDE1MyBpbnNlcnRpb25zKCspLCAyMDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEveGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvaW50
ci5jCmluZGV4IDU2YzQwYjEuLjhmY2EwOGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v
dm14L2ludHIuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMKQEAgLTE5MSwxMyAr
MTkxLDEzIEBAIHN0YXRpYyBpbnQgbnZteF9pbnRyX2ludGVyY2VwdChzdHJ1Y3QgdmNwdSAqdiwg
c3RydWN0IGh2bV9pbnRhY2sgaW50YWNrKQogICAgICAgICBpZiAoIGludGFjay5zb3VyY2UgPT0g
aHZtX2ludHNyY19waWMgfHwKICAgICAgICAgICAgICAgICAgaW50YWNrLnNvdXJjZSA9PSBodm1f
aW50c3JjX2xhcGljICkKICAgICAgICAgewotICAgICAgICAgICAgY3RybCA9IF9fZ2V0X3Z2bWNz
KHZjcHVfbmVzdGVkaHZtKHYpLm52X3Z2bWN4LCBQSU5fQkFTRURfVk1fRVhFQ19DT05UUk9MKTsK
KyAgICAgICAgICAgIGN0cmwgPSBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VYRUNfQ09OVFJP
TCk7CiAgICAgICAgICAgICBpZiAoICEoY3RybCAmIFBJTl9CQVNFRF9FWFRfSU5UUl9NQVNLKSAp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAgICAgICAgIHZteF9pbmplY3RfZXh0
aW50KGludGFjay52ZWN0b3IsIGludGFjay5zb3VyY2UpOwogCi0gICAgICAgICAgICBjdHJsID0g
X19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3gsIFZNX0VYSVRfQ09OVFJPTFMp
OworICAgICAgICAgICAgY3RybCA9IGdldF92dm1jcyh2LCBWTV9FWElUX0NPTlRST0xTKTsKICAg
ICAgICAgICAgIGlmICggY3RybCAmIFZNX0VYSVRfQUNLX0lOVFJfT05fRVhJVCApCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgLyogZm9yIG5vdywgZHVwbGljYXRlIHRoZSBhY2sgcGF0
aCBpbiB2bXhfaW50cl9hc3Npc3QgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14
L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYwppbmRleCA1YmMzYzc0Li5lNjky
NjIwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2Fy
Y2gveDg2L2h2bS92bXgvdm1jcy5jCkBAIC05MzUsMzcgKzkzNSwzNiBAQCB2b2lkIHZteF92bWNz
X3N3aXRjaChwYWRkcl90IGZyb20sIHBhZGRyX3QgdG8pCiAgICAgc3Bpbl91bmxvY2soJnZteC0+
dm1jc19sb2NrKTsKIH0KIAotdm9pZCB2aXJ0dWFsX3ZtY3NfZW50ZXIodm9pZCAqdnZtY3MpCit2
b2lkIHZpcnR1YWxfdm1jc19lbnRlcihjb25zdCBzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBfX3Zt
cHRybGQocGZuX3RvX3BhZGRyKGRvbWFpbl9wYWdlX21hcF90b19tZm4odnZtY3MpKSk7CisgICAg
X192bXB0cmxkKHYtPmFyY2guaHZtX3ZteC52bWNzX3NoYWRvd19tYWRkcik7CiB9CiAKLXZvaWQg
dmlydHVhbF92bWNzX2V4aXQodm9pZCAqdnZtY3MpCit2b2lkIHZpcnR1YWxfdm1jc19leGl0KGNv
bnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHBhZGRyX3QgY3VyID0gdGhpc19jcHUoY3VycmVu
dF92bWNzKTsKIAotICAgIF9fdm1wY2xlYXIocGZuX3RvX3BhZGRyKGRvbWFpbl9wYWdlX21hcF90
b19tZm4odnZtY3MpKSk7CisgICAgX192bXBjbGVhcih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFk
b3dfbWFkZHIpOwogICAgIGlmICggY3VyICkKICAgICAgICAgX192bXB0cmxkKGN1cik7Ci0KIH0K
IAotdTY0IHZpcnR1YWxfdm1jc192bXJlYWQodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5n
KQordTY0IHZpcnR1YWxfdm1jc192bXJlYWQoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUzMiB2bWNz
X2VuY29kaW5nKQogewogICAgIHU2NCByZXM7CiAKLSAgICB2aXJ0dWFsX3ZtY3NfZW50ZXIodnZt
Y3MpOworICAgIHZpcnR1YWxfdm1jc19lbnRlcih2KTsKICAgICBfX3ZtcmVhZCh2bWNzX2VuY29k
aW5nLCAmcmVzKTsKLSAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2dm1jcyk7CisgICAgdmlydHVhbF92
bWNzX2V4aXQodik7CiAKICAgICByZXR1cm4gcmVzOwogfQogCi12b2lkIHZpcnR1YWxfdm1jc192
bXdyaXRlKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZywgdTY0IHZhbCkKK3ZvaWQgdmly
dHVhbF92bWNzX3Ztd3JpdGUoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUzMiB2bWNzX2VuY29kaW5n
LCB1NjQgdmFsKQogewotICAgIHZpcnR1YWxfdm1jc19lbnRlcih2dm1jcyk7CisgICAgdmlydHVh
bF92bWNzX2VudGVyKHYpOwogICAgIF9fdm13cml0ZSh2bWNzX2VuY29kaW5nLCB2YWwpOwotICAg
IHZpcnR1YWxfdm1jc19leGl0KHZ2bWNzKTsKKyAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2KTsKIH0K
IAogLyoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gv
eDg2L2h2bS92bXgvdm14LmMKaW5kZXggMmIyNjZlNy4uOTZhZDIxMCAxMDA2NDQKLS0tIGEveGVu
L2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK
QEAgLTE0NzcsOCArMTQ3Nyw3IEBAIHZvaWQgdm14X2luamVjdF9leHRpbnQoaW50IHRyYXAsIHVp
bnQ4X3Qgc291cmNlKQogICAgIHUzMiAgICBwaW5fYmFzZWRfY250cmw7CiAKICAgICBpZiAoIG5l
c3RlZGh2bV92Y3B1X2luX2d1ZXN0bW9kZSh2KSApIHsKLSAgICAgICAgcGluX2Jhc2VkX2NudHJs
ID0gX19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3gsIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBJTl9CQVNFRF9WTV9FWEVDX0NPTlRST0wpOworICAg
ICAgICBwaW5fYmFzZWRfY250cmwgPSBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VYRUNfQ09O
VFJPTCk7CiAgICAgICAgIGlmICggcGluX2Jhc2VkX2NudHJsICYgUElOX0JBU0VEX0VYVF9JTlRS
X01BU0sgKSB7CiAgICAgICAgICAgICBudm14X2VucXVldWVfbjJfZXhjZXB0aW9ucyAodiwgCiAg
ICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFTSyB8CkBAIC0xNDk4LDggKzE0OTcsNyBA
QCB2b2lkIHZteF9pbmplY3Rfbm1pKHZvaWQpCiAgICAgdTMyICAgIHBpbl9iYXNlZF9jbnRybDsK
IAogICAgIGlmICggbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2RlKHYpICkgewotICAgICAgICBw
aW5fYmFzZWRfY250cmwgPSBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUElOX0JBU0VEX1ZNX0VYRUNf
Q09OVFJPTCk7CisgICAgICAgIHBpbl9iYXNlZF9jbnRybCA9IGdldF92dm1jcyh2LCBQSU5fQkFT
RURfVk1fRVhFQ19DT05UUk9MKTsKICAgICAgICAgaWYgKCBwaW5fYmFzZWRfY250cmwgJiBQSU5f
QkFTRURfTk1JX0VYSVRJTkcgKSB7CiAgICAgICAgICAgICBudm14X2VucXVldWVfbjJfZXhjZXB0
aW9ucyAodiwgCiAgICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFTSyB8CmRpZmYgLS1n
aXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92
dm14LmMKaW5kZXggMjcxZWM3MC4uYWM0Y2RhMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2
bS92bXgvdnZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwpAQCAtMTc1LDEx
ICsxNzUsNyBAQCBpbnQgbnZteF92Y3B1X3Jlc2V0KHN0cnVjdCB2Y3B1ICp2KQogCiB1aW50NjRf
dCBudm14X3ZjcHVfZXB0cF9iYXNlKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHVpbnQ2NF90IGVw
dHBfYmFzZTsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0o
dik7Ci0KLSAgICBlcHRwX2Jhc2UgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVQVF9Q
T0lOVEVSKTsKLSAgICByZXR1cm4gZXB0cF9iYXNlICYgUEFHRV9NQVNLOworICAgIHJldHVybiBn
ZXRfdnZtY3ModiwgRVBUX1BPSU5URVIpICYgUEFHRV9NQVNLOwogfQogCiBib29sX3QgbnZteF9l
cHRfZW5hYmxlZChzdHJ1Y3QgdmNwdSAqdikKQEAgLTIzNiw3ICsyMzIsNyBAQCBzdGF0aWMgaW50
IHZ2bWNzX29mZnNldCh1MzIgd2lkdGgsIHUzMiB0eXBlLCB1MzIgaW5kZXgpCiAgICAgcmV0dXJu
IG9mZnNldDsKIH0KIAotdTY0IF9fZ2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiB2
bWNzX2VuY29kaW5nKQordTY0IGdldF92dm1jc192aXJ0dWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1j
c19lbmNvZGluZykKIHsKICAgICB1bmlvbiB2bWNzX2VuY29kaW5nIGVuYzsKICAgICB1NjQgKmNv
bnRlbnQgPSAodTY0ICopIHZ2bWNzOwpAQCAtMjY2LDEyICsyNjIsMTIgQEAgdTY0IF9fZ2V0X3Z2
bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nKQogICAgIHJldHVybiBy
ZXM7CiB9CiAKLXU2NCBfX2dldF92dm1jc19yZWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNv
ZGluZykKK3U2NCBnZXRfdnZtY3NfcmVhbChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdTMyIGVuY29k
aW5nKQogewotICAgIHJldHVybiB2aXJ0dWFsX3ZtY3Nfdm1yZWFkKHZ2bWNzLCB2bWNzX2VuY29k
aW5nKTsKKyAgICByZXR1cm4gdmlydHVhbF92bWNzX3ZtcmVhZCh2LCBlbmNvZGluZyk7CiB9CiAK
LXZvaWQgX19zZXRfdnZtY3NfdmlydHVhbCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2Rpbmcs
IHU2NCB2YWwpCit2b2lkIHNldF92dm1jc192aXJ0dWFsKHZvaWQgKnZ2bWNzLCB1MzIgdm1jc19l
bmNvZGluZywgdTY0IHZhbCkKIHsKICAgICB1bmlvbiB2bWNzX2VuY29kaW5nIGVuYzsKICAgICB1
NjQgKmNvbnRlbnQgPSAodTY0ICopIHZ2bWNzOwpAQCAtMzA3LDkgKzMwMyw5IEBAIHZvaWQgX19z
ZXRfdnZtY3NfdmlydHVhbCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcsIHU2NCB2YWwp
CiAgICAgY29udGVudFtvZmZzZXRdID0gcmVzOwogfQogCi12b2lkIF9fc2V0X3Z2bWNzX3JlYWwo
dm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nLCB1NjQgdmFsKQordm9pZCBzZXRfdnZtY3Nf
cmVhbChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdTMyIGVuY29kaW5nLCB1NjQgdmFsKQogewotICAg
IHZpcnR1YWxfdm1jc192bXdyaXRlKHZ2bWNzLCB2bWNzX2VuY29kaW5nLCB2YWwpOworICAgIHZp
cnR1YWxfdm1jc192bXdyaXRlKHYsIGVuY29kaW5nLCB2YWwpOwogfQogCiBzdGF0aWMgdW5zaWdu
ZWQgbG9uZyByZWdfcmVhZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKQEAgLTMzMSwyNSAr
MzI3LDIwIEBAIHN0YXRpYyB2b2lkIHJlZ193cml0ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn
cywKIAogc3RhdGljIGlubGluZSB1MzIgX19uMl9waW5fZXhlY19jb250cm9sKHN0cnVjdCB2Y3B1
ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2
KTsKLQotICAgIHJldHVybiBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFBJTl9CQVNFRF9W
TV9FWEVDX0NPTlRST0wpOworICAgIHJldHVybiBnZXRfdnZtY3ModiwgUElOX0JBU0VEX1ZNX0VY
RUNfQ09OVFJPTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIF9fbjJfZXhlY19jb250cm9sKHN0
cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25l
c3RlZGh2bSh2KTsKLQotICAgIHJldHVybiBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENQ
VV9CQVNFRF9WTV9FWEVDX0NPTlRST0wpOworICAgIHJldHVybiBnZXRfdnZtY3ModiwgQ1BVX0JB
U0VEX1ZNX0VYRUNfQ09OVFJPTCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIF9fbjJfc2Vjb25k
YXJ5X2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNw
dSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgdTY0IHNlY29uZF9jdHJsID0gMDsK
IAogICAgIGlmICggX19uMl9leGVjX2NvbnRyb2wodikgJiBDUFVfQkFTRURfQUNUSVZBVEVfU0VD
T05EQVJZX0NPTlRST0xTICkKLSAgICAgICAgc2Vjb25kX2N0cmwgPSBfX2dldF92dm1jcyhudmNw
dS0+bnZfdnZtY3gsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOworICAgICAgICBzZWNvbmRf
Y3RybCA9IGdldF92dm1jcyh2LCBTRUNPTkRBUllfVk1fRVhFQ19DT05UUk9MKTsKIAogICAgIHJl
dHVybiBzZWNvbmRfY3RybDsKIH0KQEAgLTUwMiwxOCArNDkzLDE3IEBAIHN0YXRpYyB2b2lkIHZt
cmV0dXJuKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBlbnVtIHZteF9vcHNfcmVzdWx0IG9w
c19yZXMpCiBib29sX3QgbnZteF9pbnRlcmNlcHRzX2V4Y2VwdGlvbihzdHJ1Y3QgdmNwdSAqdiwg
dW5zaWduZWQgaW50IHRyYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
ZXJyb3JfY29kZSkKIHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0
ZWRodm0odik7CiAgICAgdTMyIGV4Y2VwdGlvbl9iaXRtYXAsIHBmZWNfbWF0Y2g9MCwgcGZlY19t
YXNrPTA7CiAgICAgaW50IHI7CiAKICAgICBBU1NFUlQgKCB0cmFwIDwgMzIgKTsKIAotICAgIGV4
Y2VwdGlvbl9iaXRtYXAgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVYQ0VQVElPTl9C
SVRNQVApOworICAgIGV4Y2VwdGlvbl9iaXRtYXAgPSBnZXRfdnZtY3ModiwgRVhDRVBUSU9OX0JJ
VE1BUCk7CiAgICAgciA9IGV4Y2VwdGlvbl9iaXRtYXAgJiAoMSA8PCB0cmFwKSA/IDE6IDA7CiAK
ICAgICBpZiAoIHRyYXAgPT0gVFJBUF9wYWdlX2ZhdWx0ICkgewotICAgICAgICBwZmVjX21hdGNo
ID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBQQUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFU
Q0gpOwotICAgICAgICBwZmVjX21hc2sgID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBQ
QUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFTSyk7CisgICAgICAgIHBmZWNfbWF0Y2ggPSBnZXRfdnZt
Y3ModiwgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BVENIKTsKKyAgICAgICAgcGZlY19tYXNrICA9
IGdldF92dm1jcyh2LCBQQUdFX0ZBVUxUX0VSUk9SX0NPREVfTUFTSyk7CiAgICAgICAgIGlmICgg
KGVycm9yX2NvZGUgJiBwZmVjX21hc2spICE9IHBmZWNfbWF0Y2ggKQogICAgICAgICAgICAgciA9
ICFyOwogICAgIH0KQEAgLTUyOCw5ICs1MTgsNyBAQCBzdGF0aWMgaW5saW5lIHUzMiBfX3NoYWRv
d19jb250cm9sKHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaW50IGZpZWxkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dTMyIGhvc3RfdmFsdWUpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0gJnZjcHVf
bmVzdGVkaHZtKHYpOwotCi0gICAgcmV0dXJuICh1MzIpIF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92
dm1jeCwgZmllbGQpIHwgaG9zdF92YWx1ZTsKKyAgICByZXR1cm4gZ2V0X3Z2bWNzKHYsIGZpZWxk
KSB8IGhvc3RfdmFsdWU7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9zaGFkb3dfY29udHJvbChzdHJ1
Y3QgdmNwdSAqdiwKQEAgLTU5NywxMyArNTg1LDEyIEBAIHZvaWQgbnZteF91cGRhdGVfc2Vjb25k
YXJ5X2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGhvc3RfY250cmwpCiB7CiAgICAgdTMyIHNo
YWRvd19jbnRybDsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRo
dm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAqbnZteCA9ICZ2Y3B1XzJfbnZteCh2KTsKICAg
ICB1MzIgYXBpY3ZfYml0ID0gU0VDT05EQVJZX0VYRUNfQVBJQ19SRUdJU1RFUl9WSVJUIHwKICAg
ICAgICAgICAgICAgICAgICAgU0VDT05EQVJZX0VYRUNfVklSVFVBTF9JTlRSX0RFTElWRVJZOwog
CiAgICAgaG9zdF9jbnRybCAmPSB+YXBpY3ZfYml0OwotICAgIHNoYWRvd19jbnRybCA9IF9fZ2V0
X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgU0VDT05EQVJZX1ZNX0VYRUNfQ09OVFJPTCk7CisgICAg
c2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOwog
CiAgICAgLyogTm8gdkFQSUMtdiBzdXBwb3J0LCBzbyBpdCBzaG91bGRuJ3QgYmUgc2V0IGluIHZt
Y3MxMi4gKi8KICAgICBBU1NFUlQoIShzaGFkb3dfY250cmwgJiBhcGljdl9iaXQpKTsKQEAgLTYx
NiwxMCArNjAzLDkgQEAgdm9pZCBudm14X3VwZGF0ZV9zZWNvbmRhcnlfZXhlY19jb250cm9sKHN0
cnVjdCB2Y3B1ICp2LAogc3RhdGljIHZvaWQgbnZteF91cGRhdGVfcGluX2NvbnRyb2woc3RydWN0
IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHsKICAgICB1MzIgc2hhZG93X2Nu
dHJsOwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
IAogICAgIGhvc3RfY250cmwgJj0gflBJTl9CQVNFRF9QT1NURURfSU5URVJSVVBUOwotICAgIHNo
YWRvd19jbnRybCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgUElOX0JBU0VEX1ZNX0VY
RUNfQ09OVFJPTCk7CisgICAgc2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFBJTl9CQVNFRF9W
TV9FWEVDX0NPTlRST0wpOwogCiAgICAgLyogTm8gdkFQSUMtdiBzdXBwb3J0LCBzbyBpdCBzaG91
bGRuJ3QgYmUgc2V0IGluIHZtY3MxMi4gKi8KICAgICBBU1NFUlQoIShzaGFkb3dfY250cmwgJiBQ
SU5fQkFTRURfUE9TVEVEX0lOVEVSUlVQVCkpOwpAQCAtNjMxLDkgKzYxNyw4IEBAIHN0YXRpYyB2
b2lkIG52bXhfdXBkYXRlX3Bpbl9jb250cm9sKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBsb25n
IGhvc3RfY250cmwpCiBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9leGl0X2NvbnRyb2woc3RydWN0
IHZjcHUgKnYsIHVuc2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHsKICAgICB1MzIgc2hhZG93X2Nu
dHJsOwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
IAotICAgIHNoYWRvd19jbnRybCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgVk1fRVhJ
VF9DT05UUk9MUyk7CisgICAgc2hhZG93X2NudHJsID0gZ2V0X3Z2bWNzKHYsIFZNX0VYSVRfQ09O
VFJPTFMpOwogICAgIHNoYWRvd19jbnRybCAmPSB+KFZNX0VYSVRfU0FWRV9ERUJVR19DTlRSTFMg
CiAgICAgICAgICAgICAgICAgICAgICAgfCBWTV9FWElUX0xPQURfSE9TVF9QQVQKICAgICAgICAg
ICAgICAgICAgICAgICB8IFZNX0VYSVRfTE9BRF9IT1NUX0VGRVIKQEAgLTY0NSw5ICs2MzAsOCBA
QCBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9leGl0X2NvbnRyb2woc3RydWN0IHZjcHUgKnYsIHVu
c2lnbmVkIGxvbmcgaG9zdF9jbnRybCkKIHN0YXRpYyB2b2lkIG52bXhfdXBkYXRlX2VudHJ5X2Nv
bnRyb2woc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgdTMyIHNoYWRvd19jbnRybDsKLSAgICBzdHJ1
Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAKLSAgICBzaGFkb3df
Y250cmwgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VOVFJZX0NPTlRST0xTKTsK
KyAgICBzaGFkb3dfY250cmwgPSBnZXRfdnZtY3ModiwgVk1fRU5UUllfQ09OVFJPTFMpOwogICAg
IHNoYWRvd19jbnRybCAmPSB+KFZNX0VOVFJZX0xPQURfR1VFU1RfUEFUCiAgICAgICAgICAgICAg
ICAgICAgICAgfCBWTV9FTlRSWV9MT0FEX0dVRVNUX0VGRVIKICAgICAgICAgICAgICAgICAgICAg
ICB8IFZNX0VOVFJZX0xPQURfUEVSRl9HTE9CQUxfQ1RSTCk7CkBAIC02NjEsNyArNjQ1LDYgQEAg
dm9pZCBudm14X3VwZGF0ZV9leGNlcHRpb25fYml0bWFwKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25l
ZCBsb25nIHZhbHVlKQogCiBzdGF0aWMgdm9pZCBudm14X3VwZGF0ZV9hcGljX2FjY2Vzc19hZGRy
ZXNzKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2
Y3B1X25lc3RlZGh2bSh2KTsKICAgICB1MzIgY3RybDsKIAogICAgIGN0cmwgPSBfX24yX3NlY29u
ZGFyeV9leGVjX2NvbnRyb2wodik7CkBAIC02NzEsNyArNjU0LDcgQEAgc3RhdGljIHZvaWQgbnZt
eF91cGRhdGVfYXBpY19hY2Nlc3NfYWRkcmVzcyhzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgdW5z
aWduZWQgbG9uZyBhcGljX2dwZm47CiAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKmFwaWNfcGc7
CiAKLSAgICAgICAgYXBpY19ncGZuID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBBUElD
X0FDQ0VTU19BRERSKSA+PiBQQUdFX1NISUZUOworICAgICAgICBhcGljX2dwZm4gPSBnZXRfdnZt
Y3ModiwgQVBJQ19BQ0NFU1NfQUREUikgPj4gUEFHRV9TSElGVDsKICAgICAgICAgYXBpY19wZyA9
IGdldF9wYWdlX2Zyb21fZ2ZuKHYtPmRvbWFpbiwgYXBpY19ncGZuLCAmcDJtdCwgUDJNX0FMTE9D
KTsKICAgICAgICAgQVNTRVJUKGFwaWNfcGcgJiYgIXAybV9pc19wYWdpbmcocDJtdCkpOwogICAg
ICAgICBfX3Ztd3JpdGUoQVBJQ19BQ0NFU1NfQUREUiwgcGFnZV90b19tYWRkcihhcGljX3BnKSk7
CkBAIC02ODMsNyArNjY2LDYgQEAgc3RhdGljIHZvaWQgbnZteF91cGRhdGVfYXBpY19hY2Nlc3Nf
YWRkcmVzcyhzdHJ1Y3QgdmNwdSAqdikKIAogc3RhdGljIHZvaWQgbnZteF91cGRhdGVfdmlydHVh
bF9hcGljX2FkZHJlc3Moc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUg
Km52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogICAgIHUzMiBjdHJsOwogCiAgICAgY3RybCA9
IF9fbjJfZXhlY19jb250cm9sKHYpOwpAQCAtNjkzLDcgKzY3NSw3IEBAIHN0YXRpYyB2b2lkIG52
bXhfdXBkYXRlX3ZpcnR1YWxfYXBpY19hZGRyZXNzKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICB1
bnNpZ25lZCBsb25nIHZhcGljX2dwZm47CiAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnZhcGlj
X3BnOwogCi0gICAgICAgIHZhcGljX2dwZm4gPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gs
IFZJUlRVQUxfQVBJQ19QQUdFX0FERFIpID4+IFBBR0VfU0hJRlQ7CisgICAgICAgIHZhcGljX2dw
Zm4gPSBnZXRfdnZtY3ModiwgVklSVFVBTF9BUElDX1BBR0VfQUREUikgPj4gUEFHRV9TSElGVDsK
ICAgICAgICAgdmFwaWNfcGcgPSBnZXRfcGFnZV9mcm9tX2dmbih2LT5kb21haW4sIHZhcGljX2dw
Zm4sICZwMm10LCBQMk1fQUxMT0MpOwogICAgICAgICBBU1NFUlQodmFwaWNfcGcgJiYgIXAybV9p
c19wYWdpbmcocDJtdCkpOwogICAgICAgICBfX3Ztd3JpdGUoVklSVFVBTF9BUElDX1BBR0VfQURE
UiwgcGFnZV90b19tYWRkcih2YXBpY19wZykpOwpAQCAtNzA1LDIzICs2ODcsMjAgQEAgc3RhdGlj
IHZvaWQgbnZteF91cGRhdGVfdmlydHVhbF9hcGljX2FkZHJlc3Moc3RydWN0IHZjcHUgKnYpCiAK
IHN0YXRpYyB2b2lkIG52bXhfdXBkYXRlX3Rwcl90aHJlc2hvbGQoc3RydWN0IHZjcHUgKnYpCiB7
Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogICAg
IHUzMiBjdHJsID0gX19uMl9leGVjX2NvbnRyb2wodik7CisKICAgICBpZiAoIGN0cmwgJiBDUFVf
QkFTRURfVFBSX1NIQURPVyApCi0gICAgICAgIF9fdm13cml0ZShUUFJfVEhSRVNIT0xELCBfX2dl
dF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFRQUl9USFJFU0hPTEQpKTsKKyAgICAgICAgX192bXdy
aXRlKFRQUl9USFJFU0hPTEQsIGdldF92dm1jcyh2LCBUUFJfVEhSRVNIT0xEKSk7CiAgICAgZWxz
ZQogICAgICAgICBfX3Ztd3JpdGUoVFBSX1RIUkVTSE9MRCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lk
IG52bXhfdXBkYXRlX3BmZWMoc3RydWN0IHZjcHUgKnYpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZj
cHUgKm52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHZvaWQgKnZ2bWNzID0gbnZjcHUt
Pm52X3Z2bWN4OwotCiAgICAgX192bXdyaXRlKFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVNLLAot
ICAgICAgICBfX2dldF92dm1jcyh2dm1jcywgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BU0spKTsK
KyAgICAgICAgICAgICAgZ2V0X3Z2bWNzKHYsIFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVNLKSk7
CiAgICAgX192bXdyaXRlKFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVRDSCwKLSAgICAgICAgX19n
ZXRfdnZtY3ModnZtY3MsIFBBR0VfRkFVTFRfRVJST1JfQ09ERV9NQVRDSCkpOworICAgICAgICAg
ICAgICBnZXRfdnZtY3ModiwgUEFHRV9GQVVMVF9FUlJPUl9DT0RFX01BVENIKSk7CiB9CiAKIHN0
YXRpYyB2b2lkIF9fY2xlYXJfY3VycmVudF92dm1jcyhzdHJ1Y3QgdmNwdSAqdikKQEAgLTczOSw3
ICs3MTgsNyBAQCBzdGF0aWMgYm9vbF90IF9fbXVzdF9jaGVjayBfbWFwX21zcl9iaXRtYXAoc3Ry
dWN0IHZjcHUgKnYpCiAKICAgICBpZiAoIG52bXgtPm1zcmJpdG1hcCApCiAgICAgICAgIGh2bV91
bm1hcF9ndWVzdF9mcmFtZShudm14LT5tc3JiaXRtYXAsIDEpOwotICAgIGdwYSA9IF9fZ2V0X3Z2
bWNzKHZjcHVfbmVzdGVkaHZtKHYpLm52X3Z2bWN4LCBNU1JfQklUTUFQKTsKKyAgICBncGEgPSBn
ZXRfdnZtY3ModiwgTVNSX0JJVE1BUCk7CiAgICAgbnZteC0+bXNyYml0bWFwID0gaHZtX21hcF9n
dWVzdF9mcmFtZV9ybyhncGEgPj4gUEFHRV9TSElGVCwgMSk7CiAKICAgICByZXR1cm4gbnZteC0+
bXNyYml0bWFwICE9IE5VTEw7CkBAIC03NTQsNyArNzMzLDcgQEAgc3RhdGljIGJvb2xfdCBfX211
c3RfY2hlY2sgX21hcF9pb19iaXRtYXAoc3RydWN0IHZjcHUgKnYsIHU2NCB2bWNzX3JlZykKICAg
ICBpbmRleCA9IHZtY3NfcmVnID09IElPX0JJVE1BUF9BID8gMCA6IDE7CiAgICAgaWYgKG52bXgt
PmlvYml0bWFwW2luZGV4XSkKICAgICAgICAgaHZtX3VubWFwX2d1ZXN0X2ZyYW1lKG52bXgtPmlv
Yml0bWFwW2luZGV4XSwgMSk7Ci0gICAgZ3BhID0gX19nZXRfdnZtY3ModmNwdV9uZXN0ZWRodm0o
dikubnZfdnZtY3gsIHZtY3NfcmVnKTsKKyAgICBncGEgPSBnZXRfdnZtY3Modiwgdm1jc19yZWcp
OwogICAgIG52bXgtPmlvYml0bWFwW2luZGV4XSA9IGh2bV9tYXBfZ3Vlc3RfZnJhbWVfcm8oZ3Bh
ID4+IFBBR0VfU0hJRlQsIDEpOwogCiAgICAgcmV0dXJuIG52bXgtPmlvYml0bWFwW2luZGV4XSAh
PSBOVUxMOwpAQCAtNzc3LDYgKzc1Niw3IEBAIHN0YXRpYyB2b2lkIG52bXhfcHVyZ2VfdnZtY3Mo
c3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGh2bV91bm1hcF9ndWVzdF9mcmFtZShudmNwdS0+bnZf
dnZtY3gsIDEpOwogICAgIG52Y3B1LT5udl92dm1jeCA9IE5VTEw7CiAgICAgbnZjcHUtPm52X3Z2
bWN4YWRkciA9IFZNQ1hfRUFERFI7CisgICAgdi0+YXJjaC5odm1fdm14LnZtY3Nfc2hhZG93X21h
ZGRyID0gMDsKICAgICBmb3IgKGk9MDsgaTwyOyBpKyspIHsKICAgICAgICAgaWYgKCBudm14LT5p
b2JpdG1hcFtpXSApIHsKICAgICAgICAgICAgIGh2bV91bm1hcF9ndWVzdF9mcmFtZShudm14LT5p
b2JpdG1hcFtpXSwgMSk7CkBAIC03OTIsMTEgKzc3MiwxMCBAQCBzdGF0aWMgdm9pZCBudm14X3B1
cmdlX3Z2bWNzKHN0cnVjdCB2Y3B1ICp2KQogdTY0IG52bXhfZ2V0X3RzY19vZmZzZXQoc3RydWN0
IHZjcHUgKnYpCiB7CiAgICAgdTY0IG9mZnNldCA9IDA7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUg
Km52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwogCi0gICAgaWYgKCBfX2dldF92dm1jcyhudmNw
dS0+bnZfdnZtY3gsIENQVV9CQVNFRF9WTV9FWEVDX0NPTlRST0wpICYKKyAgICBpZiAoIGdldF92
dm1jcyh2LCBDUFVfQkFTRURfVk1fRVhFQ19DT05UUk9MKSAmCiAgICAgICAgICBDUFVfQkFTRURf
VVNFX1RTQ19PRkZTRVRJTkcgKQotICAgICAgICBvZmZzZXQgPSBfX2dldF92dm1jcyhudmNwdS0+
bnZfdnZtY3gsIFRTQ19PRkZTRVQpOworICAgICAgICBvZmZzZXQgPSBnZXRfdnZtY3ModiwgVFND
X09GRlNFVCk7CiAKICAgICByZXR1cm4gb2Zmc2V0OwogfQpAQCAtOTExLDE5ICs4OTAsMTQgQEAg
c3RhdGljIHN0cnVjdCB2bWNzX2hvc3RfdG9fZ3Vlc3QgewogICAgIHtIT1NUX1NZU0VOVEVSX0VJ
UCwgR1VFU1RfU1lTRU5URVJfRUlQfSwKIH07CiAKLXN0YXRpYyB2b2lkIHZ2bWNzX3RvX3NoYWRv
dyh2b2lkICp2dm1jcywgdW5zaWduZWQgaW50IGZpZWxkKQorc3RhdGljIHZvaWQgdnZtY3NfdG9f
c2hhZG93KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgZmllbGQpCiB7Ci0gICAg
dTY0IHZhbHVlOwotCi0gICAgdmFsdWUgPSBfX2dldF92dm1jcyh2dm1jcywgZmllbGQpOwotICAg
IF9fdm13cml0ZShmaWVsZCwgdmFsdWUpOworICAgIF9fdm13cml0ZShmaWVsZCwgZ2V0X3Z2bWNz
KHYsIGZpZWxkKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHZ2bWNzX3RvX3NoYWRvd19idWxrKHN0cnVj
dCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IHUxNiAqZmllbGQpCiB7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52Y3B1ID0g
JnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHZvaWQgKnZ2bWNzID0gbnZjcHUtPm52X3Z2bWN4Owog
ICAgIHU2NCAqdmFsdWUgPSB0aGlzX2NwdSh2dm1jc19idWYpOwogICAgIHVuc2lnbmVkIGludCBp
OwogCkBAIC05MzgsMTAgKzkxMiwxMCBAQCBzdGF0aWMgdm9pZCB2dm1jc190b19zaGFkb3dfYnVs
ayhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IG4sCiAgICAgICAgIGdvdG8gZmFsbGJhY2s7
CiAgICAgfQogCi0gICAgdmlydHVhbF92bWNzX2VudGVyKHZ2bWNzKTsKKyAgICB2aXJ0dWFsX3Zt
Y3NfZW50ZXIodik7CiAgICAgZm9yICggaSA9IDA7IGkgPCBuOyBpKysgKQogICAgICAgICBfX3Zt
cmVhZChmaWVsZFtpXSwgJnZhbHVlW2ldKTsKLSAgICB2aXJ0dWFsX3ZtY3NfZXhpdCh2dm1jcyk7
CisgICAgdmlydHVhbF92bWNzX2V4aXQodik7CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkr
KyApCiAgICAgICAgIF9fdm13cml0ZShmaWVsZFtpXSwgdmFsdWVbaV0pOwpAQCAtOTUwLDIyICs5
MjQsMjAgQEAgc3RhdGljIHZvaWQgdnZtY3NfdG9fc2hhZG93X2J1bGsoc3RydWN0IHZjcHUgKnYs
IHVuc2lnbmVkIGludCBuLAogCiBmYWxsYmFjazoKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkr
KyApCi0gICAgICAgIHZ2bWNzX3RvX3NoYWRvdyh2dm1jcywgZmllbGRbaV0pOworICAgICAgICB2
dm1jc190b19zaGFkb3codiwgZmllbGRbaV0pOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2hh
ZG93X3RvX3Z2bWNzKHZvaWQgKnZ2bWNzLCB1bnNpZ25lZCBpbnQgZmllbGQpCitzdGF0aWMgaW5s
aW5lIHZvaWQgc2hhZG93X3RvX3Z2bWNzKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp
bnQgZmllbGQpCiB7CiAgICAgdW5zaWduZWQgbG9uZyB2YWx1ZTsKIAogICAgIGlmICggX192bXJl
YWRfc2FmZShmaWVsZCwgJnZhbHVlKSApCi0gICAgICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBmaWVs
ZCwgdmFsdWUpOworICAgICAgICBzZXRfdnZtY3ModiwgZmllbGQsIHZhbHVlKTsKIH0KIAogc3Rh
dGljIHZvaWQgc2hhZG93X3RvX3Z2bWNzX2J1bGsoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGlu
dCBuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdTE2ICpmaWVsZCkK
IHsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7Ci0g
ICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZfdnZtY3g7CiAgICAgdTY0ICp2YWx1ZSA9IHRoaXNf
Y3B1KHZ2bWNzX2J1Zik7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKQEAgLTk4MywxNiArOTU1LDE2
IEBAIHN0YXRpYyB2b2lkIHNoYWRvd190b192dm1jc19idWxrKHN0cnVjdCB2Y3B1ICp2LCB1bnNp
Z25lZCBpbnQgbiwKICAgICBmb3IgKCBpID0gMDsgaSA8IG47IGkrKyApCiAgICAgICAgIF9fdm1y
ZWFkKGZpZWxkW2ldLCAmdmFsdWVbaV0pOwogCi0gICAgdmlydHVhbF92bWNzX2VudGVyKHZ2bWNz
KTsKKyAgICB2aXJ0dWFsX3ZtY3NfZW50ZXIodik7CiAgICAgZm9yICggaSA9IDA7IGkgPCBuOyBp
KysgKQogICAgICAgICBfX3Ztd3JpdGUoZmllbGRbaV0sIHZhbHVlW2ldKTsKLSAgICB2aXJ0dWFs
X3ZtY3NfZXhpdCh2dm1jcyk7CisgICAgdmlydHVhbF92bWNzX2V4aXQodik7CiAKICAgICByZXR1
cm47CiAKIGZhbGxiYWNrOgogICAgIGZvciAoIGkgPSAwOyBpIDwgbjsgaSsrICkKLSAgICAgICAg
c2hhZG93X3RvX3Z2bWNzKHZ2bWNzLCBmaWVsZFtpXSk7CisgICAgICAgIHNoYWRvd190b192dm1j
cyh2LCBmaWVsZFtpXSk7CiB9CiAKIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93X2NvbnRyb2woc3Ry
dWN0IHZjcHUgKnYpCkBAIC0xMDE3LDcgKzk4OSw2IEBAIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93
X2NvbnRyb2woc3RydWN0IHZjcHUgKnYpCiBzdGF0aWMgdm9pZCBsb2FkX3NoYWRvd19ndWVzdF9z
dGF0ZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAm
dmNwdV9uZXN0ZWRodm0odik7Ci0gICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZfdnZtY3g7CiAg
ICAgdTMyIGNvbnRyb2w7CiAgICAgdTY0IGNyX2doX21hc2ssIGNyX3JlYWRfc2hhZG93OwogCkBA
IC0xMDMxLDE4ICsxMDAyLDE4IEBAIHN0YXRpYyB2b2lkIGxvYWRfc2hhZG93X2d1ZXN0X3N0YXRl
KHN0cnVjdCB2Y3B1ICp2KQogICAgIHZ2bWNzX3RvX3NoYWRvd19idWxrKHYsIEFSUkFZX1NJWkUo
dm1jc19nc3RhdGVfZmllbGQpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZtY3NfZ3N0YXRl
X2ZpZWxkKTsKIAotICAgIG52Y3B1LT5ndWVzdF9jclswXSA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCBD
UjBfUkVBRF9TSEFET1cpOwotICAgIG52Y3B1LT5ndWVzdF9jcls0XSA9IF9fZ2V0X3Z2bWNzKHZ2
bWNzLCBDUjRfUkVBRF9TSEFET1cpOwotICAgIGh2bV9zZXRfY3IwKF9fZ2V0X3Z2bWNzKHZ2bWNz
LCBHVUVTVF9DUjApLCAxKTsKLSAgICBodm1fc2V0X2NyNChfX2dldF92dm1jcyh2dm1jcywgR1VF
U1RfQ1I0KSwgMSk7Ci0gICAgaHZtX3NldF9jcjMoX19nZXRfdnZtY3ModnZtY3MsIEdVRVNUX0NS
MyksIDEpOworICAgIG52Y3B1LT5ndWVzdF9jclswXSA9IGdldF92dm1jcyh2LCBDUjBfUkVBRF9T
SEFET1cpOworICAgIG52Y3B1LT5ndWVzdF9jcls0XSA9IGdldF92dm1jcyh2LCBDUjRfUkVBRF9T
SEFET1cpOworICAgIGh2bV9zZXRfY3IwKGdldF92dm1jcyh2LCBHVUVTVF9DUjApLCAxKTsKKyAg
ICBodm1fc2V0X2NyNChnZXRfdnZtY3ModiwgR1VFU1RfQ1I0KSwgMSk7CisgICAgaHZtX3NldF9j
cjMoZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMyksIDEpOwogCi0gICAgY29udHJvbCA9IF9fZ2V0X3Z2
bWNzKHZ2bWNzLCBWTV9FTlRSWV9DT05UUk9MUyk7CisgICAgY29udHJvbCA9IGdldF92dm1jcyh2
LCBWTV9FTlRSWV9DT05UUk9MUyk7CiAgICAgaWYgKCBjb250cm9sICYgVk1fRU5UUllfTE9BRF9H
VUVTVF9QQVQgKQotICAgICAgICBodm1fc2V0X2d1ZXN0X3BhdCh2LCBfX2dldF92dm1jcyh2dm1j
cywgR1VFU1RfUEFUKSk7CisgICAgICAgIGh2bV9zZXRfZ3Vlc3RfcGF0KHYsIGdldF92dm1jcyh2
LCBHVUVTVF9QQVQpKTsKICAgICBpZiAoIGNvbnRyb2wgJiBWTV9FTlRSWV9MT0FEX1BFUkZfR0xP
QkFMX0NUUkwgKQogICAgICAgICBodm1fbXNyX3dyaXRlX2ludGVyY2VwdChNU1JfQ09SRV9QRVJG
X0dMT0JBTF9DVFJMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2dldF92dm1j
cyh2dm1jcywgR1VFU1RfUEVSRl9HTE9CQUxfQ1RSTCksIDApOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnZXRfdnZtY3ModiwgR1VFU1RfUEVSRl9HTE9CQUxfQ1RSTCksIDApOwog
CiAgICAgaHZtX2Z1bmNzLnNldF90c2Nfb2Zmc2V0KHYsIHYtPmFyY2guaHZtX3ZjcHUuY2FjaGVf
dHNjX29mZnNldCwgMCk7CiAKQEAgLTEwNTMsMTQgKzEwMjQsMTQgQEAgc3RhdGljIHZvaWQgbG9h
ZF9zaGFkb3dfZ3Vlc3Rfc3RhdGUoc3RydWN0IHZjcHUgKnYpCiAgICAgICogZ3Vlc3QgaG9zdCBt
YXNrIHRvIDB4ZmZmZmZmZmYgaW4gc2hhZG93IFZNQ1MgKGZvbGxvdyB0aGUgaG9zdCBMMSBWTUNT
KSwKICAgICAgKiB0aGVuIGNhbGN1bGF0ZSB0aGUgY29ycmVzcG9uZGluZyByZWFkIHNoYWRvdyBz
ZXBhcmF0ZWx5IGZvciBDUjAgYW5kIENSNC4KICAgICAgKi8KLSAgICBjcl9naF9tYXNrID0gX19n
ZXRfdnZtY3ModnZtY3MsIENSMF9HVUVTVF9IT1NUX01BU0spOwotICAgIGNyX3JlYWRfc2hhZG93
ID0gKF9fZ2V0X3Z2bWNzKHZ2bWNzLCBHVUVTVF9DUjApICYgfmNyX2doX21hc2spIHwKLSAgICAg
ICAgICAgICAgICAgICAgIChfX2dldF92dm1jcyh2dm1jcywgQ1IwX1JFQURfU0hBRE9XKSAmIGNy
X2doX21hc2spOworICAgIGNyX2doX21hc2sgPSBnZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1Rf
TUFTSyk7CisgICAgY3JfcmVhZF9zaGFkb3cgPSAoZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCkgJiB+
Y3JfZ2hfbWFzaykgfAorICAgICAgICAgICAgICAgICAgICAgKGdldF92dm1jcyh2LCBDUjBfUkVB
RF9TSEFET1cpICYgY3JfZ2hfbWFzayk7CiAgICAgX192bXdyaXRlKENSMF9SRUFEX1NIQURPVywg
Y3JfcmVhZF9zaGFkb3cpOwogCi0gICAgY3JfZ2hfbWFzayA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCBD
UjRfR1VFU1RfSE9TVF9NQVNLKTsKLSAgICBjcl9yZWFkX3NoYWRvdyA9IChfX2dldF92dm1jcyh2
dm1jcywgR1VFU1RfQ1I0KSAmIH5jcl9naF9tYXNrKSB8Ci0gICAgICAgICAgICAgICAgICAgICAo
X19nZXRfdnZtY3ModnZtY3MsIENSNF9SRUFEX1NIQURPVykgJiBjcl9naF9tYXNrKTsKKyAgICBj
cl9naF9tYXNrID0gZ2V0X3Z2bWNzKHYsIENSNF9HVUVTVF9IT1NUX01BU0spOworICAgIGNyX3Jl
YWRfc2hhZG93ID0gKGdldF92dm1jcyh2LCBHVUVTVF9DUjQpICYgfmNyX2doX21hc2spIHwKKyAg
ICAgICAgICAgICAgICAgICAgIChnZXRfdnZtY3ModiwgQ1I0X1JFQURfU0hBRE9XKSAmIGNyX2do
X21hc2spOwogICAgIF9fdm13cml0ZShDUjRfUkVBRF9TSEFET1csIGNyX3JlYWRfc2hhZG93KTsK
IAogICAgIC8qIFRPRE86IENSMyB0YXJnZXQgY29udHJvbCAqLwpAQCAtMTA4NCwxMSArMTA1NSwx
MSBAQCBzdGF0aWMgdWludDY0X3QgZ2V0X2hvc3RfZXB0cChzdHJ1Y3QgdmNwdSAqdikKICAgICBy
ZXR1cm4gZXB0X2dldF9lcHRwKGVwdF9kYXRhKTsKIH0KIAotc3RhdGljIGJvb2xfdCBudm14X3Zw
aWRfZW5hYmxlZChzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUpCitzdGF0aWMgYm9vbF90IG52bXhf
dnBpZF9lbmFibGVkKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVpbnQzMl90IHNlY29u
ZF9jbnRsOwogCi0gICAgc2Vjb25kX2NudGwgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gs
IFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOworICAgIHNlY29uZF9jbnRsID0gZ2V0X3Z2bWNz
KHYsIFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpOwogICAgIGlmICggc2Vjb25kX2NudGwgJiBT
RUNPTkRBUllfRVhFQ19FTkFCTEVfVlBJRCApCiAgICAgICAgIHJldHVybiAxOwogICAgIHJldHVy
biAwOwpAQCAtMTA5NiwxMiArMTA2NywxMCBAQCBzdGF0aWMgYm9vbF90IG52bXhfdnBpZF9lbmFi
bGVkKHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSkKIAogc3RhdGljIHZvaWQgbnZteF9zZXRfdm1j
c19wb2ludGVyKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3Qgdm1jc19zdHJ1Y3QgKnZ2bWNzKQogewot
ICAgIHVuc2lnbmVkIGxvbmcgdnZtY3NfbWZuID0gZG9tYWluX3BhZ2VfbWFwX3RvX21mbih2dm1j
cyk7Ci0gICAgcGFkZHJfdCB2dm1jc19tYWRkciA9IHZ2bWNzX21mbiA8PCBQQUdFX1NISUZUOwor
ICAgIHBhZGRyX3QgdnZtY3NfbWFkZHIgPSB2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFk
ZHI7CiAKICAgICBfX3ZtcGNsZWFyKHZ2bWNzX21hZGRyKTsKICAgICB2dm1jcy0+dm1jc19yZXZp
c2lvbl9pZCB8PSBWTUNTX1JJRF9UWVBFX01BU0s7Ci0gICAgdi0+YXJjaC5odm1fdm14LnZtY3Nf
c2hhZG93X21hZGRyID0gdnZtY3NfbWFkZHI7CiAgICAgX192bXdyaXRlKFZNQ1NfTElOS19QT0lO
VEVSLCB2dm1jc19tYWRkcik7CiAgICAgX192bXdyaXRlKFZNUkVBRF9CSVRNQVAsIHBhZ2VfdG9f
bWFkZHIodi0+YXJjaC5odm1fdm14LnZtcmVhZF9iaXRtYXApKTsKICAgICBfX3Ztd3JpdGUoVk1X
UklURV9CSVRNQVAsIHBhZ2VfdG9fbWFkZHIodi0+YXJjaC5odm1fdm14LnZtd3JpdGVfYml0bWFw
KSk7CkBAIC0xMTA5LDEyICsxMDc4LDEwIEBAIHN0YXRpYyB2b2lkIG52bXhfc2V0X3ZtY3NfcG9p
bnRlcihzdHJ1Y3QgdmNwdSAqdiwgc3RydWN0IHZtY3Nfc3RydWN0ICp2dm1jcykKIAogc3RhdGlj
IHZvaWQgbnZteF9jbGVhcl92bWNzX3BvaW50ZXIoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCB2bWNz
X3N0cnVjdCAqdnZtY3MpCiB7Ci0gICAgdW5zaWduZWQgbG9uZyB2dm1jc19tZm4gPSBkb21haW5f
cGFnZV9tYXBfdG9fbWZuKHZ2bWNzKTsKLSAgICBwYWRkcl90IHZ2bWNzX21hZGRyID0gdnZtY3Nf
bWZuIDw8IFBBR0VfU0hJRlQ7CisgICAgcGFkZHJfdCB2dm1jc19tYWRkciA9IHYtPmFyY2guaHZt
X3ZteC52bWNzX3NoYWRvd19tYWRkcjsKIAogICAgIF9fdm1wY2xlYXIodnZtY3NfbWFkZHIpOwog
ICAgIHZ2bWNzLT52bWNzX3JldmlzaW9uX2lkICY9IH5WTUNTX1JJRF9UWVBFX01BU0s7Ci0gICAg
di0+YXJjaC5odm1fdm14LnZtY3Nfc2hhZG93X21hZGRyID0gMDsKICAgICBfX3Ztd3JpdGUoVk1D
U19MSU5LX1BPSU5URVIsIH4wdWwpOwogICAgIF9fdm13cml0ZShWTVJFQURfQklUTUFQLCAwKTsK
ICAgICBfX3Ztd3JpdGUoVk1XUklURV9CSVRNQVAsIDApOwpAQCAtMTEyNCw3ICsxMDkxLDYgQEAg
c3RhdGljIHZvaWQgdmlydHVhbF92bWVudHJ5KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog
ewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAq
bnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7Ci0gICAgdm9pZCAqdnZtY3MgPSBudmNwdS0+bnZf
dnZtY3g7CiAgICAgdW5zaWduZWQgbG9uZyBsbV9sMSwgbG1fbDI7CiAKICAgICB2bXhfdm1jc19z
d2l0Y2godi0+YXJjaC5odm1fdm14LnZtY3NfcGEsIG52Y3B1LT5udl9uMnZtY3hfcGEpOwpAQCAt
MTE0Myw4ICsxMTA5LDcgQEAgc3RhdGljIHZvaWQgdmlydHVhbF92bWVudHJ5KHN0cnVjdCBjcHVf
dXNlcl9yZWdzICpyZWdzKQogICAgICAqIEwxIGV4aXRfY29udHJvbHMKICAgICAgKi8KICAgICBs
bV9sMSA9ICEhaHZtX2xvbmdfbW9kZV9lbmFibGVkKHYpOwotICAgIGxtX2wyID0gISEoX19nZXRf
dnZtY3ModnZtY3MsIFZNX0VOVFJZX0NPTlRST0xTKSAmCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICBWTV9FTlRSWV9JQTMyRV9NT0RFKTsKKyAgICBsbV9sMiA9ICEhKGdldF92dm1jcyh2LCBW
TV9FTlRSWV9DT05UUk9MUykgJiBWTV9FTlRSWV9JQTMyRV9NT0RFKTsKIAogICAgIGlmICggbG1f
bDIgKQogICAgICAgICB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2VmZXIgfD0gRUZFUl9MTUEgfCBF
RkVSX0xNRTsKQEAgLTExNjEsOSArMTEyNiw5IEBAIHN0YXRpYyB2b2lkIHZpcnR1YWxfdm1lbnRy
eShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICEodi0+YXJjaC5odm1fdmNw
dS5ndWVzdF9lZmVyICYgRUZFUl9MTUEpICkKICAgICAgICAgdnZtY3NfdG9fc2hhZG93X2J1bGso
diwgQVJSQVlfU0laRShncGRwdGVfZmllbGRzKSwgZ3BkcHRlX2ZpZWxkcyk7CiAKLSAgICByZWdz
LT5laXAgPSBfX2dldF92dm1jcyh2dm1jcywgR1VFU1RfUklQKTsKLSAgICByZWdzLT5lc3AgPSBf
X2dldF92dm1jcyh2dm1jcywgR1VFU1RfUlNQKTsKLSAgICByZWdzLT5lZmxhZ3MgPSBfX2dldF92
dm1jcyh2dm1jcywgR1VFU1RfUkZMQUdTKTsKKyAgICByZWdzLT5laXAgPSBnZXRfdnZtY3Modiwg
R1VFU1RfUklQKTsKKyAgICByZWdzLT5lc3AgPSBnZXRfdnZtY3ModiwgR1VFU1RfUlNQKTsKKyAg
ICByZWdzLT5lZmxhZ3MgPSBnZXRfdnZtY3ModiwgR1VFU1RfUkZMQUdTKTsKIAogICAgIC8qIHVw
ZGF0aW5nIGhvc3QgY3IwIHRvIHN5bmMgVFMgYml0ICovCiAgICAgX192bXdyaXRlKEhPU1RfQ1Iw
LCB2LT5hcmNoLmh2bV92bXguaG9zdF9jcjApOwpAQCAtMTE3NSwxMCArMTE0MCwxMCBAQCBzdGF0
aWMgdm9pZCB2aXJ0dWFsX3ZtZW50cnkoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAg
ICAgIF9fdm13cml0ZShFUFRfUE9JTlRFUiwgZ2V0X2hvc3RfZXB0cCh2KSk7CiAKICAgICAvKiBu
ZXN0ZWQgVlBJRCBzdXBwb3J0ISAqLwotICAgIGlmICggY3B1X2hhc192bXhfdnBpZCAmJiBudm14
X3ZwaWRfZW5hYmxlZChudmNwdSkgKQorICAgIGlmICggY3B1X2hhc192bXhfdnBpZCAmJiBudm14
X3ZwaWRfZW5hYmxlZCh2KSApCiAgICAgewogICAgICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14
ID0gJnZjcHVfMl9udm14KHYpOwotICAgICAgICB1aW50MzJfdCBuZXdfdnBpZCA9ICBfX2dldF92
dm1jcyh2dm1jcywgVklSVFVBTF9QUk9DRVNTT1JfSUQpOworICAgICAgICB1aW50MzJfdCBuZXdf
dnBpZCA9IGdldF92dm1jcyh2LCBWSVJUVUFMX1BST0NFU1NPUl9JRCk7CiAKICAgICAgICAgaWYg
KCBudm14LT5ndWVzdF92cGlkICE9IG5ld192cGlkICkKICAgICAgICAgewpAQCAtMTE5MSwzNCAr
MTE1NiwyOSBAQCBzdGF0aWMgdm9pZCB2aXJ0dWFsX3ZtZW50cnkoc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MpCiAKIHN0YXRpYyB2b2lkIHN5bmNfdnZtY3NfZ3Vlc3Rfc3RhdGUoc3RydWN0IHZj
cHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewotICAgIHN0cnVjdCBuZXN0ZWR2
Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKLSAgICB2b2lkICp2dm1jcyA9IG52Y3B1
LT5udl92dm1jeDsKLQogICAgIC8qIGNvcHkgc2hhZG93IHZtY3MuZ3N0YXRlIGJhY2sgdG8gdnZt
Y3MuZ3N0YXRlICovCiAgICAgc2hhZG93X3RvX3Z2bWNzX2J1bGsodiwgQVJSQVlfU0laRSh2bWNz
X2dzdGF0ZV9maWVsZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdm1jc19nc3RhdGVfZmll
bGQpOwogICAgIC8qIFJJUCwgUlNQIGFyZSBpbiB1c2VyIHJlZ3MgKi8KLSAgICBfX3NldF92dm1j
cyh2dm1jcywgR1VFU1RfUklQLCByZWdzLT5laXApOwotICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBH
VUVTVF9SU1AsIHJlZ3MtPmVzcCk7CisgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX1JJUCwgcmVncy0+
ZWlwKTsKKyAgICBzZXRfdnZtY3ModiwgR1VFU1RfUlNQLCByZWdzLT5lc3ApOwogCiAgICAgLyog
Q1IzIHN5bmMgaWYgZXhlYyBkb2Vzbid0IHdhbnQgY3IzIGxvYWQgZXhpdGluZzogaS5lLiBuZXN0
ZWQgRVBUICovCiAgICAgaWYgKCAhKF9fbjJfZXhlY19jb250cm9sKHYpICYgQ1BVX0JBU0VEX0NS
M19MT0FEX0VYSVRJTkcpICkKLSAgICAgICAgc2hhZG93X3RvX3Z2bWNzKHZ2bWNzLCBHVUVTVF9D
UjMpOworICAgICAgICBzaGFkb3dfdG9fdnZtY3ModiwgR1VFU1RfQ1IzKTsKIH0KIAogc3RhdGlj
IHZvaWQgc3luY192dm1jc19ybyhzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBzdHJ1Y3QgbmVzdGVk
dmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAq
bnZteCA9ICZ2Y3B1XzJfbnZteCh2KTsKLSAgICB2b2lkICp2dm1jcyA9IG52Y3B1LT5udl92dm1j
eDsKIAogICAgIHNoYWRvd190b192dm1jc19idWxrKHYsIEFSUkFZX1NJWkUodm1jc19yb19maWVs
ZCksIHZtY3Nfcm9fZmllbGQpOwogCiAgICAgLyogQWRqdXN0IGV4aXRfcmVhc29uL2V4aXRfcXVh
bGlmY2lhdGlvbiBmb3IgdmlvbGF0aW9uIGNhc2UgKi8KLSAgICBpZiAoIF9fZ2V0X3Z2bWNzKHZ2
bWNzLCBWTV9FWElUX1JFQVNPTikgPT0gRVhJVF9SRUFTT05fRVBUX1ZJT0xBVElPTiApCisgICAg
aWYgKCBnZXRfdnZtY3ModiwgVk1fRVhJVF9SRUFTT04pID09IEVYSVRfUkVBU09OX0VQVF9WSU9M
QVRJT04gKQogICAgIHsKLSAgICAgICAgX19zZXRfdnZtY3ModnZtY3MsIEVYSVRfUVVBTElGSUNB
VElPTiwgbnZteC0+ZXB0LmV4aXRfcXVhbCk7Ci0gICAgICAgIF9fc2V0X3Z2bWNzKHZ2bWNzLCBW
TV9FWElUX1JFQVNPTiwgbnZteC0+ZXB0LmV4aXRfcmVhc29uKTsKKyAgICAgICAgc2V0X3Z2bWNz
KHYsIEVYSVRfUVVBTElGSUNBVElPTiwgbnZteC0+ZXB0LmV4aXRfcXVhbCk7CisgICAgICAgIHNl
dF92dm1jcyh2LCBWTV9FWElUX1JFQVNPTiwgbnZteC0+ZXB0LmV4aXRfcmVhc29uKTsKICAgICB9
CiB9CiAKQEAgLTEyMjYsMzQgKzExODYsMzIgQEAgc3RhdGljIHZvaWQgbG9hZF92dm1jc19ob3N0
X3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIGludCBpOwogICAgIHU2NCByOwotICAgIHZv
aWQgKnZ2bWNzID0gdmNwdV9uZXN0ZWRodm0odikubnZfdnZtY3g7CiAgICAgdTMyIGNvbnRyb2w7
CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUodm1jc19oMmdfZmllbGQpOyBpKysg
KQogICAgIHsKLSAgICAgICAgciA9IF9fZ2V0X3Z2bWNzKHZ2bWNzLCB2bWNzX2gyZ19maWVsZFtp
XS5ob3N0X2ZpZWxkKTsKKyAgICAgICAgciA9IGdldF92dm1jcyh2LCB2bWNzX2gyZ19maWVsZFtp
XS5ob3N0X2ZpZWxkKTsKICAgICAgICAgX192bXdyaXRlKHZtY3NfaDJnX2ZpZWxkW2ldLmd1ZXN0
X2ZpZWxkLCByKTsKICAgICB9CiAKLSAgICBodm1fc2V0X2NyMChfX2dldF92dm1jcyh2dm1jcywg
SE9TVF9DUjApLCAxKTsKLSAgICBodm1fc2V0X2NyNChfX2dldF92dm1jcyh2dm1jcywgSE9TVF9D
UjQpLCAxKTsKLSAgICBodm1fc2V0X2NyMyhfX2dldF92dm1jcyh2dm1jcywgSE9TVF9DUjMpLCAx
KTsKKyAgICBodm1fc2V0X2NyMChnZXRfdnZtY3ModiwgSE9TVF9DUjApLCAxKTsKKyAgICBodm1f
c2V0X2NyNChnZXRfdnZtY3ModiwgSE9TVF9DUjQpLCAxKTsKKyAgICBodm1fc2V0X2NyMyhnZXRf
dnZtY3ModiwgSE9TVF9DUjMpLCAxKTsKIAotICAgIGNvbnRyb2wgPSBfX2dldF92dm1jcyh2dm1j
cywgVk1fRVhJVF9DT05UUk9MUyk7CisgICAgY29udHJvbCA9IGdldF92dm1jcyh2LCBWTV9FWElU
X0NPTlRST0xTKTsKICAgICBpZiAoIGNvbnRyb2wgJiBWTV9FWElUX0xPQURfSE9TVF9QQVQgKQot
ICAgICAgICBodm1fc2V0X2d1ZXN0X3BhdCh2LCBfX2dldF92dm1jcyh2dm1jcywgSE9TVF9QQVQp
KTsKKyAgICAgICAgaHZtX3NldF9ndWVzdF9wYXQodiwgZ2V0X3Z2bWNzKHYsIEhPU1RfUEFUKSk7
CiAgICAgaWYgKCBjb250cm9sICYgVk1fRVhJVF9MT0FEX1BFUkZfR0xPQkFMX0NUUkwgKQogICAg
ICAgICBodm1fbXNyX3dyaXRlX2ludGVyY2VwdChNU1JfQ09SRV9QRVJGX0dMT0JBTF9DVFJMLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2dldF92dm1jcyh2dm1jcywgSE9TVF9Q
RVJGX0dMT0JBTF9DVFJMKSwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdl
dF92dm1jcyh2LCBIT1NUX1BFUkZfR0xPQkFMX0NUUkwpLCAxKTsKIAogICAgIGh2bV9mdW5jcy5z
ZXRfdHNjX29mZnNldCh2LCB2LT5hcmNoLmh2bV92Y3B1LmNhY2hlX3RzY19vZmZzZXQsIDApOwog
Ci0gICAgX19zZXRfdnZtY3ModnZtY3MsIFZNX0VOVFJZX0lOVFJfSU5GTywgMCk7CisgICAgc2V0
X3Z2bWNzKHYsIFZNX0VOVFJZX0lOVFJfSU5GTywgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHN5bmNf
ZXhjZXB0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogewotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1
ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14
ID0gJnZjcHVfMl9udm14KHYpOwogCiAgICAgaWYgKCAhKG52bXgtPmludHIuaW50cl9pbmZvICYg
SU5UUl9JTkZPX1ZBTElEX01BU0spICkKQEAgLTEyNjMsMTAgKzEyMjEsOSBAQCBzdGF0aWMgdm9p
ZCBzeW5jX2V4Y2VwdGlvbl9zdGF0ZShzdHJ1Y3QgdmNwdSAqdikKICAgICB7CiAgICAgY2FzZSBY
ODZfRVZFTlRUWVBFX0VYVF9JTlRSOgogICAgICAgICAvKiByZW5hbWUgZXhpdF9yZWFzb24gdG8g
RVhURVJOQUxfSU5URVJSVVBUICovCi0gICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1j
eCwgVk1fRVhJVF9SRUFTT04sCi0gICAgICAgICAgICAgICAgICAgIEVYSVRfUkVBU09OX0VYVEVS
TkFMX0lOVEVSUlVQVCk7Ci0gICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgRVhJ
VF9RVUFMSUZJQ0FUSU9OLCAwKTsKLSAgICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4
LCBWTV9FWElUX0lOVFJfSU5GTywKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfUkVBU09O
LCBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJVUFQpOworICAgICAgICBzZXRfdnZtY3Modiwg
RVhJVF9RVUFMSUZJQ0FUSU9OLCAwKTsKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfSU5U
Ul9JTkZPLAogICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmludHJfaW5mbyk7CiAgICAg
ICAgIGJyZWFrOwogCkBAIC0xMjc0LDE3ICsxMjMxLDEzIEBAIHN0YXRpYyB2b2lkIHN5bmNfZXhj
ZXB0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQogICAgIGNhc2UgWDg2X0VWRU5UVFlQRV9TV19J
TlRFUlJVUFQ6CiAgICAgY2FzZSBYODZfRVZFTlRUWVBFX1NXX0VYQ0VQVElPTjoKICAgICAgICAg
LyogdGhyb3cgdG8gTDEgKi8KLSAgICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBW
TV9FWElUX0lOVFJfSU5GTywKLSAgICAgICAgICAgICAgICAgICAgbnZteC0+aW50ci5pbnRyX2lu
Zm8pOwotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfSU5UUl9F
UlJPUl9DT0RFLAotICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmVycm9yX2NvZGUpOwor
ICAgICAgICBzZXRfdnZtY3ModiwgVk1fRVhJVF9JTlRSX0lORk8sIG52bXgtPmludHIuaW50cl9p
bmZvKTsKKyAgICAgICAgc2V0X3Z2bWNzKHYsIFZNX0VYSVRfSU5UUl9FUlJPUl9DT0RFLCBudm14
LT5pbnRyLmVycm9yX2NvZGUpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFg4Nl9FVkVOVFRZ
UEVfTk1JOgotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfUkVB
U09OLAotICAgICAgICAgICAgICAgICAgICBFWElUX1JFQVNPTl9FWENFUFRJT05fTk1JKTsKLSAg
ICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBFWElUX1FVQUxJRklDQVRJT04sIDAp
OwotICAgICAgICBfX3NldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIFZNX0VYSVRfSU5UUl9JTkZP
LAotICAgICAgICAgICAgICAgICAgICBudm14LT5pbnRyLmludHJfaW5mbyk7CisgICAgICAgIHNl
dF92dm1jcyh2LCBWTV9FWElUX1JFQVNPTiwgRVhJVF9SRUFTT05fRVhDRVBUSU9OX05NSSk7Cisg
ICAgICAgIHNldF92dm1jcyh2LCBFWElUX1FVQUxJRklDQVRJT04sIDApOworICAgICAgICBzZXRf
dnZtY3ModiwgVk1fRVhJVF9JTlRSX0lORk8sIG52bXgtPmludHIuaW50cl9pbmZvKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIkV4
Y2VwdGlvbiBzdGF0ZSAlbHggbm90IGhhbmRsZWRcbiIsCkBAIC0xMjk2LDkgKzEyNDksOCBAQCBz
dGF0aWMgdm9pZCBzeW5jX2V4Y2VwdGlvbl9zdGF0ZShzdHJ1Y3QgdmNwdSAqdikKIHN0YXRpYyB2
b2lkIG52bXhfdXBkYXRlX2FwaWN2KHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHN0cnVjdCBuZXN0
ZWR2bXggKm52bXggPSAmdmNwdV8yX252bXgodik7Ci0gICAgc3RydWN0IG5lc3RlZHZjcHUgKm52
Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHVuc2lnbmVkIGxvbmcgcmVhc29uID0gX19n
ZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX1JFQVNPTik7Ci0gICAgdWludDMyX3Qg
aW50cl9pbmZvID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX0lOVFJfSU5G
Tyk7CisgICAgdW5zaWduZWQgbG9uZyByZWFzb24gPSBnZXRfdnZtY3ModiwgVk1fRVhJVF9SRUFT
T04pOworICAgIHVpbnQzMl90IGludHJfaW5mbyA9IGdldF92dm1jcyh2LCBWTV9FWElUX0lOVFJf
SU5GTyk7CiAKICAgICBpZiAoIHJlYXNvbiA9PSBFWElUX1JFQVNPTl9FWFRFUk5BTF9JTlRFUlJV
UFQgJiYKICAgICAgICAgIG52bXgtPmludHIuc291cmNlID09IGh2bV9pbnRzcmNfbGFwaWMgJiYK
QEAgLTEzNDQsOCArMTI5Niw3IEBAIHN0YXRpYyB2b2lkIHZpcnR1YWxfdm1leGl0KHN0cnVjdCBj
cHVfdXNlcl9yZWdzICpyZWdzKQogICAgIG52Y3B1LT5udl92bXN3aXRjaF9pbl9wcm9ncmVzcyA9
IDE7CiAKICAgICBsbV9sMiA9ICEhaHZtX2xvbmdfbW9kZV9lbmFibGVkKHYpOwotICAgIGxtX2wx
ID0gISEoX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBWTV9FWElUX0NPTlRST0xTKSAmCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBWTV9FWElUX0lBMzJFX01PREUpOworICAgIGxtX2wx
ID0gISEoZ2V0X3Z2bWNzKHYsIFZNX0VYSVRfQ09OVFJPTFMpICYgVk1fRVhJVF9JQTMyRV9NT0RF
KTsKIAogICAgIGlmICggbG1fbDEgKQogICAgICAgICB2LT5hcmNoLmh2bV92Y3B1Lmd1ZXN0X2Vm
ZXIgfD0gRUZFUl9MTUEgfCBFRkVSX0xNRTsKQEAgLTEzNjEsOCArMTMxMiw4IEBAIHN0YXRpYyB2
b2lkIHZpcnR1YWxfdm1leGl0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGlmICgg
bG1fbDEgIT0gbG1fbDIgKQogICAgICAgICBwYWdpbmdfdXBkYXRlX3BhZ2luZ19tb2Rlcyh2KTsK
IAotICAgIHJlZ3MtPmVpcCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgSE9TVF9SSVAp
OwotICAgIHJlZ3MtPmVzcCA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgSE9TVF9SU1Ap
OworICAgIHJlZ3MtPmVpcCA9IGdldF92dm1jcyh2LCBIT1NUX1JJUCk7CisgICAgcmVncy0+ZXNw
ID0gZ2V0X3Z2bWNzKHYsIEhPU1RfUlNQKTsKICAgICAvKiBWTSBleGl0IGNsZWFycyBhbGwgYml0
cyBleGNlcHQgYml0IDEgKi8KICAgICByZWdzLT5lZmxhZ3MgPSAweDI7CiAKQEAgLTE1MzksNyAr
MTQ5MCw2IEBAIGludCBudm14X2hhbmRsZV92bXJlc3VtZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncykKIHsKICAgICBib29sX3QgbGF1bmNoZWQ7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJy
ZW50OwotICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsK
ICAgICBzdHJ1Y3QgbmVzdGVkdm14ICpudm14ID0gJnZjcHVfMl9udm14KHYpOwogICAgIGludCBy
YyA9IHZteF9pbnN0X2NoZWNrX3ByaXZpbGVnZShyZWdzLCAwKTsKIApAQCAtMTU1Myw3ICsxNTAz
LDcgQEAgaW50IG52bXhfaGFuZGxlX3ZtcmVzdW1lKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz
KQogICAgIH0KIAogICAgIGxhdW5jaGVkID0gdnZtY3NfbGF1bmNoZWQoJm52bXgtPmxhdW5jaGVk
X2xpc3QsCi0gICAgICAgICAgICAgICAgICAgZG9tYWluX3BhZ2VfbWFwX3RvX21mbihudmNwdS0+
bnZfdnZtY3gpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9ET1dOKHYtPmFy
Y2guaHZtX3ZteC52bWNzX3NoYWRvd19tYWRkcikpOwogICAgIGlmICggIWxhdW5jaGVkICkgewog
ICAgICAgIHZtcmV0dXJuIChyZWdzLCBWTUZBSUxfVkFMSUQpOwogICAgICAgIHJldHVybiBYODZF
TVVMX09LQVk7CkBAIC0xNTY1LDcgKzE1MTUsNiBAQCBpbnQgbnZteF9oYW5kbGVfdm1sYXVuY2go
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgYm9vbF90IGxhdW5jaGVkOwogICAg
IHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUg
PSAmdmNwdV9uZXN0ZWRodm0odik7CiAgICAgc3RydWN0IG5lc3RlZHZteCAqbnZteCA9ICZ2Y3B1
XzJfbnZteCh2KTsKICAgICBpbnQgcmMgPSB2bXhfaW5zdF9jaGVja19wcml2aWxlZ2UocmVncywg
MCk7CiAKQEAgLTE1NzksNyArMTUyOCw3IEBAIGludCBudm14X2hhbmRsZV92bWxhdW5jaChzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICB9CiAKICAgICBsYXVuY2hlZCA9IHZ2bWNzX2xh
dW5jaGVkKCZudm14LT5sYXVuY2hlZF9saXN0LAotICAgICAgICAgICAgICAgICAgIGRvbWFpbl9w
YWdlX21hcF90b19tZm4obnZjcHUtPm52X3Z2bWN4KSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQRk5fRE9XTih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIpKTsKICAg
ICBpZiAoIGxhdW5jaGVkICkgewogICAgICAgIHZtcmV0dXJuIChyZWdzLCBWTUZBSUxfVkFMSUQp
OwogICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CkBAIC0xNTg5LDcgKzE1MzgsNyBAQCBpbnQg
bnZteF9oYW5kbGVfdm1sYXVuY2goc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
IGlmICggcmMgPT0gWDg2RU1VTF9PS0FZICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBz
ZXRfdnZtY3NfbGF1bmNoZWQoJm52bXgtPmxhdW5jaGVkX2xpc3QsCi0gICAgICAgICAgICAgICAg
ICAgIGRvbWFpbl9wYWdlX21hcF90b19tZm4obnZjcHUtPm52X3Z2bWN4KSkgPCAwICkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBGTl9ET1dOKHYtPmFyY2guaHZtX3ZteC52
bWNzX3NoYWRvd19tYWRkcikpIDwgMCApCiAgICAgICAgICAgICAgICAgcmV0dXJuIFg4NkVNVUxf
VU5IQU5ETEVBQkxFOwogICAgICAgICB9CiAgICAgfQpAQCAtMTYyOCw2ICsxNTc3LDggQEAgaW50
IG52bXhfaGFuZGxlX3ZtcHRybGQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgbnZjcHUtPm52X3Z2bWN4ID0gdnZtY3g7CiAgICAgICAg
ICAgICAgICAgbnZjcHUtPm52X3Z2bWN4YWRkciA9IGdwYTsKKyAgICAgICAgICAgICAgICB2LT5h
cmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIgPQorICAgICAgICAgICAgICAgICAgICBwZm5f
dG9fcGFkZHIoZG9tYWluX3BhZ2VfbWFwX3RvX21mbih2dm1jeCkpOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewpAQCAtMTY5Nyw3ICsxNjQ4LDcgQEAgaW50
IG52bXhfaGFuZGxlX3ZtY2xlYXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAg
IGlmICggY3B1X2hhc192bXhfdm1jc19zaGFkb3dpbmcgKQogICAgICAgICAgICAgbnZteF9jbGVh
cl92bWNzX3BvaW50ZXIodiwgbnZjcHUtPm52X3Z2bWN4KTsKICAgICAgICAgY2xlYXJfdnZtY3Nf
bGF1bmNoZWQoJm52bXgtPmxhdW5jaGVkX2xpc3QsCi0gICAgICAgICAgICBkb21haW5fcGFnZV9t
YXBfdG9fbWZuKG52Y3B1LT5udl92dm1jeCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQRk5fRE9XTih2LT5hcmNoLmh2bV92bXgudm1jc19zaGFkb3dfbWFkZHIpKTsKICAgICAgICAg
bnZteF9wdXJnZV92dm1jcyh2KTsKICAgICB9CiAgICAgZWxzZSAKQEAgLTE3MjYsNyArMTY3Nyw2
IEBAIGludCBudm14X2hhbmRsZV92bXJlYWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7
CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OwogICAgIHN0cnVjdCB2bXhfaW5zdF9kZWNv
ZGVkIGRlY29kZTsKLSAgICBzdHJ1Y3QgbmVzdGVkdmNwdSAqbnZjcHUgPSAmdmNwdV9uZXN0ZWRo
dm0odik7CiAgICAgdTY0IHZhbHVlID0gMDsKICAgICBpbnQgcmM7CiAKQEAgLTE3MzQsNyArMTY4
NCw3IEBAIGludCBudm14X2hhbmRsZV92bXJlYWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
CiAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICByZXR1cm4gcmM7CiAKLSAg
ICB2YWx1ZSA9IF9fZ2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgcmVnX3JlYWQocmVncywgZGVj
b2RlLnJlZzIpKTsKKyAgICB2YWx1ZSA9IGdldF92dm1jcyh2LCByZWdfcmVhZChyZWdzLCBkZWNv
ZGUucmVnMikpOwogCiAgICAgc3dpdGNoICggZGVjb2RlLnR5cGUgKSB7CiAgICAgY2FzZSBWTVhf
SU5TVF9NRU1SRUdfVFlQRV9NRU1PUlk6CkBAIC0xNzU1LDcgKzE3MDUsNiBAQCBpbnQgbnZteF9o
YW5kbGVfdm13cml0ZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBzdHJ1Y3Qg
dmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IHZteF9pbnN0X2RlY29kZWQgZGVjb2RlOwot
ICAgIHN0cnVjdCBuZXN0ZWR2Y3B1ICpudmNwdSA9ICZ2Y3B1X25lc3RlZGh2bSh2KTsKICAgICB1
bnNpZ25lZCBsb25nIG9wZXJhbmQ7IAogICAgIHU2NCB2bWNzX2VuY29kaW5nOwogICAgIGJvb2xf
dCBva2F5ID0gMTsKQEAgLTE3NjUsNyArMTcxNCw3IEBAIGludCBudm14X2hhbmRsZV92bXdyaXRl
KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICByZXR1cm4gWDg2RU1VTF9FWENF
UFRJT047CiAKICAgICB2bWNzX2VuY29kaW5nID0gcmVnX3JlYWQocmVncywgZGVjb2RlLnJlZzIp
OwotICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgdm1jc19lbmNvZGluZywgb3BlcmFu
ZCk7CisgICAgc2V0X3Z2bWNzKHYsIHZtY3NfZW5jb2RpbmcsIG9wZXJhbmQpOwogCiAgICAgc3dp
dGNoICggdm1jc19lbmNvZGluZyAmIH5WTUNTX0hJR0goMCkgKQogICAgIHsKQEAgLTIxOTksNyAr
MjE0OCw3IEBAIGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLAogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCAoaW50cl9pbmZvICYgdmFsaWRf
bWFzaykgPT0gdmFsaWRfbWFzayApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGV4ZWNfYml0bWFw
ID1fX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEVYQ0VQVElPTl9CSVRNQVApOworICAgICAg
ICAgICAgZXhlY19iaXRtYXAgPSBnZXRfdnZtY3ModiwgRVhDRVBUSU9OX0JJVE1BUCk7CiAKICAg
ICAgICAgICAgIGlmICggZXhlY19iaXRtYXAgJiAoMSA8PCB2ZWN0b3IpICkKICAgICAgICAgICAg
ICAgICBudmNwdS0+bnZfdm1leGl0X3BlbmRpbmcgPSAxOwpAQCAtMjMxOSw4ICsyMjY4LDcgQEAg
aW50IG52bXhfbjJfdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAg
ICAgICAgICAgICAgKiBzcGVjaWFsIGhhbmRsZXIgaXMgbmVlZGVkIGlmIEwxIGRvZXNuJ3QgaW50
ZXJjZXB0IHJkdHNjLAogICAgICAgICAgICAgICogYXZvaWRpbmcgY2hhbmdpbmcgZ3Vlc3RfdHNj
IGFuZCBtZXNzaW5nIHVwIHRpbWVrZWVwaW5nIGluIEwxCiAgICAgICAgICAgICAgKi8KLSAgICAg
ICAgICAgIHRzYyA9IGh2bV9nZXRfZ3Vlc3RfdHNjKHYpOwotICAgICAgICAgICAgdHNjICs9IF9f
Z2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgVFNDX09GRlNFVCk7CisgICAgICAgICAgICB0c2Mg
PSBodm1fZ2V0X2d1ZXN0X3RzYyh2KSArIGdldF92dm1jcyh2LCBUU0NfT0ZGU0VUKTsKICAgICAg
ICAgICAgIHJlZ3MtPmVheCA9ICh1aW50MzJfdCl0c2M7CiAgICAgICAgICAgICByZWdzLT5lZHgg
PSAodWludDMyX3QpKHRzYyA+PiAzMik7CiAgICAgICAgICAgICB1cGRhdGVfZ3Vlc3RfZWlwKCk7
CkBAIC0yNDA5LDcgKzIzNTcsNyBAQCBpbnQgbnZteF9uMl92bWV4aXRfaGFuZGxlcihzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgICAgICB2YWwgPSAqcmVnOwogICAgICAg
ICAgICAgICAgIGlmICggY3IgPT0gMCApCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICB1NjQgY3IwX2doX21hc2sgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENS
MF9HVUVTVF9IT1NUX01BU0spOworICAgICAgICAgICAgICAgICAgICB1NjQgY3IwX2doX21hc2sg
PSBnZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1RfTUFTSyk7CiAKICAgICAgICAgICAgICAgICAg
ICAgX192bXJlYWQoQ1IwX1JFQURfU0hBRE9XLCAmb2xkX3ZhbCk7CiAgICAgICAgICAgICAgICAg
ICAgIGNoYW5nZWRfYml0cyA9IG9sZF92YWwgXiB2YWw7CkBAIC0yNDE3LDE0ICsyMzY1LDE1IEBA
IGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgbnZjcHUtPm52X3ZtZXhpdF9wZW5kaW5nID0gMTsKICAg
ICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4
LCBHVUVTVF9DUjApOwotICAgICAgICAgICAgICAgICAgICAgICAgX19zZXRfdnZtY3MobnZjcHUt
Pm52X3Z2bWN4LCBHVUVTVF9DUjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoZ3Vlc3RfY3IwICYgY3IwX2doX21hc2spIHwgKHZhbCAmIH5jcjBfZ2hfbWFzaykpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2NyMCA9IGdldF92dm1jcyh2LCBHVUVTVF9D
UjApOworCisgICAgICAgICAgICAgICAgICAgICAgICBzZXRfdnZtY3ModiwgR1VFU1RfQ1IwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChndWVzdF9jcjAgJiBjcjBfZ2hfbWFz
aykgfCAodmFsICYgfmNyMF9naF9tYXNrKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIGNyID09IDQgKQogICAgICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdTY0IGNyNF9naF9tYXNrID0gX19nZXRf
dnZtY3MobnZjcHUtPm52X3Z2bWN4LCBDUjRfR1VFU1RfSE9TVF9NQVNLKTsKKyAgICAgICAgICAg
ICAgICAgICAgdTY0IGNyNF9naF9tYXNrID0gZ2V0X3Z2bWNzKHYsIENSNF9HVUVTVF9IT1NUX01B
U0spOwogCiAgICAgICAgICAgICAgICAgICAgIF9fdm1yZWFkKENSNF9SRUFEX1NIQURPVywgJm9s
ZF92YWwpOwogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkX2JpdHMgPSBvbGRfdmFsIF4gdmFs
OwpAQCAtMjQzMiw5ICsyMzgxLDEwIEBAIGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVj
dCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgbnZjcHUtPm52
X3ZtZXhpdF9wZW5kaW5nID0gMTsKICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3I0ID0gX19n
ZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjQpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgX19zZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3Vlc3RfY3I0ICYgY3I0X2doX21hc2spIHwgKHZh
bCAmIH5jcjRfZ2hfbWFzaykpOworICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2Ny
NCA9IGdldF92dm1jcyh2LCBHVUVTVF9DUjQpOworCisgICAgICAgICAgICAgICAgICAgICAgICBz
ZXRfdnZtY3ModiwgR1VFU1RfQ1I0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChndWVzdF9jcjQgJiBjcjRfZ2hfbWFzaykgfCAodmFsICYgfmNyNF9naF9tYXNrKSk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxz
ZQpAQCAtMjQ0MywyMCArMjM5MywyMSBAQCBpbnQgbnZteF9uMl92bWV4aXRfaGFuZGxlcihzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2Ug
Vk1YX0NPTlRST0xfUkVHX0FDQ0VTU19UWVBFX0NMVFM6CiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgdTY0IGNyMF9naF9tYXNrID0gX19nZXRfdnZtY3MobnZjcHUtPm52X3Z2bWN4LCBD
UjBfR1VFU1RfSE9TVF9NQVNLKTsKKyAgICAgICAgICAgICAgICB1NjQgY3IwX2doX21hc2sgPSBn
ZXRfdnZtY3ModiwgQ1IwX0dVRVNUX0hPU1RfTUFTSyk7CiAKICAgICAgICAgICAgICAgICBpZiAo
IGNyMF9naF9tYXNrICYgWDg2X0NSMF9UUyApCiAgICAgICAgICAgICAgICAgICAgIG52Y3B1LT5u
dl92bWV4aXRfcGVuZGluZyA9IDE7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgdTY0IGd1ZXN0X2NyMCA9IF9fZ2V0X3Z2bWNzKG52
Y3B1LT5udl92dm1jeCwgR1VFU1RfQ1IwKTsKLSAgICAgICAgICAgICAgICAgICAgX19zZXRfdnZt
Y3MobnZjcHUtPm52X3Z2bWN4LCBHVUVTVF9DUjAsIChndWVzdF9jcjAgJiB+WDg2X0NSMF9UUykp
OworICAgICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gZ2V0X3Z2bWNzKHYsIEdVRVNU
X0NSMCk7CisKKyAgICAgICAgICAgICAgICAgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCwgKGd1
ZXN0X2NyMCAmIH5YODZfQ1IwX1RTKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSBWTVhfQ09OVFJPTF9S
RUdfQUNDRVNTX1RZUEVfTE1TVzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB1NjQg
Y3IwX2doX21hc2sgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIENSMF9HVUVTVF9IT1NU
X01BU0spOworICAgICAgICAgICAgICAgIHU2NCBjcjBfZ2hfbWFzayA9IGdldF92dm1jcyh2LCBD
UjBfR1VFU1RfSE9TVF9NQVNLKTsKIAogICAgICAgICAgICAgICAgIF9fdm1yZWFkKENSMF9SRUFE
X1NIQURPVywgJm9sZF92YWwpOwogICAgICAgICAgICAgICAgIG9sZF92YWwgJj0gWDg2X0NSMF9Q
RXxYODZfQ1IwX01QfFg4Nl9DUjBfRU18WDg2X0NSMF9UUzsKQEAgLTI0NjcsOCArMjQxOCw5IEBA
IGludCBudm14X24yX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAog
ICAgICAgICAgICAgICAgICAgICBudmNwdS0+bnZfdm1leGl0X3BlbmRpbmcgPSAxOwogICAgICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHU2
NCBndWVzdF9jcjAgPSBfX2dldF92dm1jcyhudmNwdS0+bnZfdnZtY3gsIEdVRVNUX0NSMCk7Ci0g
ICAgICAgICAgICAgICAgICAgIF9fc2V0X3Z2bWNzKG52Y3B1LT5udl92dm1jeCwgR1VFU1RfQ1Iw
LCAoZ3Vlc3RfY3IwICYgY3IwX2doX21hc2spIHwgKHZhbCAmIH5jcjBfZ2hfbWFzaykpOworICAg
ICAgICAgICAgICAgICAgICB1NjQgZ3Vlc3RfY3IwID0gZ2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCk7
CisKKyAgICAgICAgICAgICAgICAgICAgc2V0X3Z2bWNzKHYsIEdVRVNUX0NSMCwgKGd1ZXN0X2Ny
MCAmIGNyMF9naF9tYXNrKSB8ICh2YWwgJiB+Y3IwX2doX21hc2spKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CkBAIC0yNTIwLDcgKzI0
NzIsNyBAQCB2b2lkIG52bXhfc2V0X2NyX3JlYWRfc2hhZG93KHN0cnVjdCB2Y3B1ICp2LCB1bnNp
Z25lZCBpbnQgY3IpCiAgICAgaWYgKCAhbmVzdGVkaHZtX3Ztc3dpdGNoX2luX3Byb2dyZXNzKHYp
ICkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmlydHVhbF9jcl9tYXNrID0gCi0gICAg
ICAgICAgICBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwgbWFza19maWVs
ZCk7CisgICAgICAgICAgICBnZXRfdnZtY3ModiwgbWFza19maWVsZCk7CiAKICAgICAgICAgLyoK
ICAgICAgICAgICogV2UgZ2V0IGhlcmUgd2hlbiBMMiBjaGFuZ2VkIGNyIGluIGEgd2F5IHRoYXQg
ZGlkIG5vdCBjaGFuZ2UKQEAgLTI1MzIsNyArMjQ4NCw3IEBAIHZvaWQgbnZteF9zZXRfY3JfcmVh
ZF9zaGFkb3coc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBjcikKICAgICAgICAgICovCiAg
ICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbY3JdICY9IH52aXJ0dWFsX2NyX21hc2s7
CiAgICAgICAgIHYtPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbY3JdIHw9IHZpcnR1YWxfY3JfbWFz
ayAmCi0gICAgICAgICAgICBfX2dldF92dm1jcyh2Y3B1X25lc3RlZGh2bSh2KS5udl92dm1jeCwg
Y3JfZmllbGQpOworICAgICAgICAgICAgZ2V0X3Z2bWNzKHYsIGNyX2ZpZWxkKTsKICAgICB9CiAK
ICAgICAvKiBudmNwdS5ndWVzdF9jciBpcyB3aGF0IEwyIHdyaXRlIHRvIGNyIGFjdHVhbGx5LiAq
LwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCBiL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKaW5kZXggYTVlN2FlZS4uMmJiNTUwNiAxMDA2
NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaAorKysgYi94ZW4vaW5j
bHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oCkBAIC0xMDUsNyArMTA1LDcgQEAgc3RydWN0IGFy
Y2hfdm14X3N0cnVjdCB7CiAgICAgLyogUGh5c2ljYWwgYWRkcmVzcyBvZiBWTUNTLiAqLwogICAg
IHBhZGRyX3QgICAgICAgICAgICAgIHZtY3NfcGE7CiAgICAgLyogVk1DUyBzaGFkb3cgbWFjaGlu
ZSBhZGRyZXNzLiAqLwotICAgIHBhZGRyX3QgICAgICAgICAgICAgdm1jc19zaGFkb3dfbWFkZHI7
CisgICAgcGFkZHJfdCAgICAgICAgICAgICAgdm1jc19zaGFkb3dfbWFkZHI7CiAKICAgICAvKiBQ
cm90ZWN0cyByZW1vdGUgdXNhZ2Ugb2YgVk1DUyAoVk1QVFJMRC9WTUNMRUFSKS4gKi8KICAgICBz
cGlubG9ja190ICAgICAgICAgICB2bWNzX2xvY2s7CkBAIC01MDgsMTAgKzUwOCwxMCBAQCB2b2lk
IHZteF92bWNzX3N3aXRjaChwYWRkcl90IGZyb20sIHBhZGRyX3QgdG8pOwogdm9pZCB2bXhfc2V0
X2VvaV9leGl0X2JpdG1hcChzdHJ1Y3QgdmNwdSAqdiwgdTggdmVjdG9yKTsKIHZvaWQgdm14X2Ns
ZWFyX2VvaV9leGl0X2JpdG1hcChzdHJ1Y3QgdmNwdSAqdiwgdTggdmVjdG9yKTsKIGludCB2bXhf
Y2hlY2tfbXNyX2JpdG1hcCh1bnNpZ25lZCBsb25nICptc3JfYml0bWFwLCB1MzIgbXNyLCBpbnQg
YWNjZXNzX3R5cGUpOwotdm9pZCB2aXJ0dWFsX3ZtY3NfZW50ZXIodm9pZCAqdnZtY3MpOwotdm9p
ZCB2aXJ0dWFsX3ZtY3NfZXhpdCh2b2lkICp2dm1jcyk7Ci11NjQgdmlydHVhbF92bWNzX3ZtcmVh
ZCh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcpOwotdm9pZCB2aXJ0dWFsX3ZtY3Nfdm13
cml0ZSh2b2lkICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcsIHU2NCB2YWwpOwordm9pZCB2aXJ0
dWFsX3ZtY3NfZW50ZXIoY29uc3Qgc3RydWN0IHZjcHUgKik7Cit2b2lkIHZpcnR1YWxfdm1jc19l
eGl0KGNvbnN0IHN0cnVjdCB2Y3B1ICopOwordTY0IHZpcnR1YWxfdm1jc192bXJlYWQoY29uc3Qg
c3RydWN0IHZjcHUgKiwgdTMyIGVuY29kaW5nKTsKK3ZvaWQgdmlydHVhbF92bWNzX3Ztd3JpdGUo
Y29uc3Qgc3RydWN0IHZjcHUgKiwgdTMyIGVuY29kaW5nLCB1NjQgdmFsKTsKIAogc3RhdGljIGlu
bGluZSBpbnQgdm14X2FkZF9ndWVzdF9tc3IodTMyIG1zcikKIHsKZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL2FzbS14ODYvaHZtL3ZteC92dm14LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92
bXgvdnZteC5oCmluZGV4IDYwZmRjMjEuLmFjYThiNGIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl
L2FzbS14ODYvaHZtL3ZteC92dm14LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14
L3Z2bXguaApAQCAtMTgxLDE4ICsxODEsMjAgQEAgZW51bSB2dm1jc19lbmNvZGluZ190eXBlIHsK
ICAgICBWVk1DU19UWVBFX0hTVEFURSwKIH07CiAKLXU2NCBfX2dldF92dm1jc192aXJ0dWFsKHZv
aWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZyk7Ci11NjQgX19nZXRfdnZtY3NfcmVhbCh2b2lk
ICp2dm1jcywgdTMyIHZtY3NfZW5jb2RpbmcpOwotdm9pZCBfX3NldF92dm1jc192aXJ0dWFsKHZv
aWQgKnZ2bWNzLCB1MzIgdm1jc19lbmNvZGluZywgdTY0IHZhbCk7Ci12b2lkIF9fc2V0X3Z2bWNz
X3JlYWwodm9pZCAqdnZtY3MsIHUzMiB2bWNzX2VuY29kaW5nLCB1NjQgdmFsKTsKLQotI2RlZmlu
ZSBfX2dldF92dm1jcyhfdnZtY3MsIF92bWNzX2VuY29kaW5nKSBcCi0gIChjcHVfaGFzX3ZteF92
bWNzX3NoYWRvd2luZyA/IF9fZ2V0X3Z2bWNzX3JlYWwoX3Z2bWNzLCBfdm1jc19lbmNvZGluZykg
XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX2dldF92dm1jc192aXJ0dWFsKF92
dm1jcywgX3ZtY3NfZW5jb2RpbmcpKQotCi0jZGVmaW5lIF9fc2V0X3Z2bWNzKF92dm1jcywgX3Zt
Y3NfZW5jb2RpbmcsIF92YWwpIFwKLSAgKGNwdV9oYXNfdm14X3ZtY3Nfc2hhZG93aW5nID8gX19z
ZXRfdnZtY3NfcmVhbChfdnZtY3MsIF92bWNzX2VuY29kaW5nLCBfdmFsKSBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6IF9fc2V0X3Z2bWNzX3ZpcnR1YWwoX3Z2bWNzLCBfdm1jc19l
bmNvZGluZywgX3ZhbCkpCit1NjQgZ2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiBl
bmNvZGluZyk7Cit1NjQgZ2V0X3Z2bWNzX3JlYWwoY29uc3Qgc3RydWN0IHZjcHUgKiwgdTMyIGVu
Y29kaW5nKTsKK3ZvaWQgc2V0X3Z2bWNzX3ZpcnR1YWwodm9pZCAqdnZtY3MsIHUzMiBlbmNvZGlu
ZywgdTY0IHZhbCk7Cit2b2lkIHNldF92dm1jc19yZWFsKGNvbnN0IHN0cnVjdCB2Y3B1ICosIHUz
MiBlbmNvZGluZywgdTY0IHZhbCk7CisKKyNkZWZpbmUgZ2V0X3Z2bWNzKHZjcHUsIGVuY29kaW5n
KSBcCisgIChjcHVfaGFzX3ZteF92bWNzX3NoYWRvd2luZyA/IFwKKyAgIGdldF92dm1jc19yZWFs
KHZjcHUsIGVuY29kaW5nKSA6IFwKKyAgIGdldF92dm1jc192aXJ0dWFsKHZjcHVfbmVzdGVkaHZt
KHZjcHUpLm52X3Z2bWN4LCBlbmNvZGluZykpCisKKyNkZWZpbmUgc2V0X3Z2bWNzKHZjcHUsIGVu
Y29kaW5nLCB2YWwpIFwKKyAgKGNwdV9oYXNfdm14X3ZtY3Nfc2hhZG93aW5nID8gXAorICAgc2V0
X3Z2bWNzX3JlYWwodmNwdSwgZW5jb2RpbmcsIHZhbCkgOiBcCisgICBzZXRfdnZtY3NfdmlydHVh
bCh2Y3B1X25lc3RlZGh2bSh2Y3B1KS5udl92dm1jeCwgZW5jb2RpbmcsIHZhbCkpCiAKIHVpbnQ2
NF90IGdldF9zaGFkb3dfZXB0cChzdHJ1Y3QgdmNwdSAqdik7CiAKLS0KZ2VuZXJhdGVkIGJ5IGdp
dC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5n
IGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2Uu
Y29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBb-00074E-PN; Sun, 28 Feb 2016 23:55:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBa-00073y-S8
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:38 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
 5E/F9-04025-AF883D65; Sun, 28 Feb 2016 23:55:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703736!25562802!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12850 invoked from network); 28 Feb 2016 23:55:37 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBY-0000rV-72
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBY-0001pK-2w
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBY-0001pK-2w@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:36 +0000
Subject: [Xen-changelog] [xen master] x86/fpu: add a per-domain field to set
	the width of FIP/FDP
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDg3OWI0NGIwNDFmMjZkZTM1ZTRiNTI3YmYwZjNjMzYxZWI1MmJkODIKQXV0aG9yOiAg
ICAgRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjoxNjoxMyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjoyOToyMSAyMDE2ICswMTAw
CgogICAgeDg2L2ZwdTogYWRkIGEgcGVyLWRvbWFpbiBmaWVsZCB0byBzZXQgdGhlIHdpZHRoIG9m
IEZJUC9GRFAKICAgIAogICAgVGhlIHg4NiBhcmNoaXRlY3R1cmUgYWxsb3dzIGVpdGhlcjogYSkg
dGhlIDY0LWJpdCBGSVAvRkRQIHJlZ2lzdGVycyB0bwogICAgYmUgcmVzdG9yZWQgKGNsZWFyaW5n
IEZDUyBhbmQgRkRTKTsgb3IgYikgdGhlIDMyLWJpdCBGSVAvRkRQIGFuZAogICAgRkNTL0ZEUyBy
ZWdpc3RlcnMgdG8gYmUgcmVzdG9yZWQgKGNsZWFyaW5nIHRoZSB1cHBlciAzMi1iaXRzKS4KICAg
IAogICAgQWRkIGEgcGVyLWRvbWFpbiBmaWVsZCB0byBpbmRpY2F0ZSB3aGljaCBvZiB0aGVzZSBv
cHRpb25zIGEgZ3Vlc3QKICAgIG5lZWRzLiAgVGhlIG9wdGlvbnMgYXJlOiA4LCA0IG9yIDAuICBX
aGVyZSAwIGluZGljYXRlcyB0aGF0IHRoZQogICAgaHlwZXJ2aXNvciBzaG91bGQgYXV0b21hdGlj
YWxseSBndWVzcyB0aGUgRklQIHdpZHRoIGJ5IGNoZWNraW5nIHRoZQogICAgdmFsdWUgb2YgRklQ
L0ZEUCB3aGVuIHNhdmluZyB0aGUgc3RhdGUgKHRoaXMgaXMgdGhlIGV4aXN0aW5nCiAgICBiZWhh
dmlvdXIpLgogICAgCiAgICBUaGUgRklQIHdpZHRoIGlzIGluaXRpYWxseSBhdXRvbWF0aWMgYnV0
IGlzIHNldCBleHBsaWNpdGx5IGluIHRoZQogICAgZm9sbG93aW5nIGNhc2VzOgogICAgCiAgICAt
IDMyLWJpdCBQViBndWVzdDogNAogICAgLSBOZXdlciBDUFVzIHRoYXQgZG8gbm90IHNhdmUgRkNT
L0ZEUzogOAogICAgCiAgICBUaGUgeDg3X2ZpcF93aWR0aCBmaWVsZCBpcyBwbGFjZWQgaW50byBh
biBleGlzdGluZyAxIGJ5dGUgaG9sZSBpbgogICAgc3RydWN0IGFyY2hfZG9tYWluLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29tPgog
ICAgCiAgICBGaXggYnVpbGQuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgIHwgMTAg
KysrKysrKysrKwogeGVuL2FyY2gveDg2L2kzODcuYyAgICAgICAgICB8IDE5ICsrKysrKysrKysr
Ky0tLS0tLS0KIHhlbi9hcmNoL3g4Ni94c3RhdGUuYyAgICAgICAgfCA0MSArKysrKysrKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u
aCB8IDE1ICsrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCsp
LCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94
ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggOWQ0M2Y3Yi4uYTZkNzIxYiAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtMzQz
LDYgKzM0Myw4IEBAIGludCBzd2l0Y2hfbmF0aXZlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAg
ICAgICBodm1fc2V0X21vZGUodiwgOCk7CiAgICAgfQogCisgICAgZC0+YXJjaC54ODdfZmlwX3dp
ZHRoID0gY3B1X2hhc19mcHVfc2VsID8gMCA6IDg7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAt
Mzc3LDYgKzM3OSw4IEBAIGludCBzd2l0Y2hfY29tcGF0KHN0cnVjdCBkb21haW4gKmQpCiAKICAg
ICBkb21haW5fc2V0X2FsbG9jX2JpdHNpemUoZCk7CiAKKyAgICBkLT5hcmNoLng4N19maXBfd2lk
dGggPSA0OworCiAgICAgcmV0dXJuIDA7CiAKICB1bmRvX2FuZF9mYWlsOgpAQCAtNjUzLDYgKzY1
NywxMiBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk
IGludCBkb21jcl9mbGFncywKICAgICAvKiBQVi9QVkggZ3Vlc3RzIGdldCBhbiBlbXVsYXRlZCBQ
SVQgdG9vIGZvciB2aWRlbyBCSU9TZXMgdG8gdXNlLiAqLwogICAgIHBpdF9pbml0KGQsIGNwdV9r
aHopOwogCisgICAgLyoKKyAgICAgKiBJZiB0aGUgRlBVIGRvZXMgbm90IHNhdmUgRkNTL0ZEUyB0
aGVuIHdlIGNhbiBhbHdheXMKKyAgICAgKiBzYXZlL3Jlc3RvcmUgdGhlIDY0LWJpdCBGSVAvRkRQ
IGFuZCBpZ25vcmUgdGhlIHNlbGVjdG9ycy4KKyAgICAgKi8KKyAgICBkLT5hcmNoLng4N19maXBf
d2lkdGggPSBjcHVfaGFzX2ZwdV9zZWwgPyAwIDogODsKKwogICAgIHJldHVybiAwOwogCiAgZmFp
bDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pMzg3LmMgYi94ZW4vYXJjaC94ODYvaTM4Ny5j
CmluZGV4IDY3MDE2YzkuLmMyOWQwZmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pMzg3LmMK
KysrIGIveGVuL2FyY2gveDg2L2kzODcuYwpAQCAtMTQ0LDkgKzE0NCw5IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBmcHVfeHNhdmUoc3RydWN0IHZjcHUgKnYpCiBzdGF0aWMgaW5saW5lIHZvaWQgZnB1
X2Z4c2F2ZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICB0eXBlb2Yodi0+YXJjaC54c2F2ZV9hcmVh
LT5mcHVfc3NlKSAqZnB1X2N0eHQgPSB2LT5hcmNoLmZwdV9jdHh0OwotICAgIGludCB3b3JkX3Np
emUgPSBjcHVfaGFzX2ZwdV9zZWwgPyA4IDogMDsKKyAgICB1bnNpZ25lZCBpbnQgZmlwX3dpZHRo
ID0gdi0+ZG9tYWluLT5hcmNoLng4N19maXBfd2lkdGg7CiAKLSAgICBpZiAoICFpc19wdl8zMmJp
dF92Y3B1KHYpICkKKyAgICBpZiAoIGZpcF93aWR0aCAhPSA0ICkKICAgICB7CiAgICAgICAgIC8q
CiAgICAgICAgICAqIFRoZSBvbmx5IHdheSB0byBmb3JjZSBmeHNhdmVxIG9uIGEgd2lkZSByYW5n
ZSBvZiBnYXMgdmVyc2lvbnMuCkBAIC0xNjQsNyArMTY0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBmcHVfZnhzYXZlKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICAgICAgIGJvb3RfY3B1X2RhdGEu
eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCApCiAgICAgICAgICAgICByZXR1cm47CiAKLSAg
ICAgICAgaWYgKCB3b3JkX3NpemUgPiAwICYmCisgICAgICAgIC8qCisgICAgICAgICAqIElmIHRo
ZSBGSVAvRkRQWzYzOjMyXSBhcmUgYm90aCB6ZXJvLCBpdCBpcyBzYWZlIHRvIHVzZSB0aGUKKyAg
ICAgICAgICogMzItYml0IHJlc3RvcmUgdG8gYWxzbyByZXN0b3JlIHRoZSBzZWxlY3RvcnMuCisg
ICAgICAgICAqLworICAgICAgICBpZiAoICFmaXBfd2lkdGggJiYKICAgICAgICAgICAgICAhKChm
cHVfY3R4dC0+ZmlwLmFkZHIgfCBmcHVfY3R4dC0+ZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAg
IHsKICAgICAgICAgICAgIHN0cnVjdCBpeDg3X2VudiBmcHVfZW52OwpAQCAtMTcyLDE3ICsxNzYs
MTggQEAgc3RhdGljIGlubGluZSB2b2lkIGZwdV9meHNhdmUoc3RydWN0IHZjcHUgKnYpCiAgICAg
ICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5zdGVudiAlMCIgOiAiPW0iIChmcHVfZW52KSApOwog
ICAgICAgICAgICAgZnB1X2N0eHQtPmZpcC5zZWwgPSBmcHVfZW52LmZjczsKICAgICAgICAgICAg
IGZwdV9jdHh0LT5mZHAuc2VsID0gZnB1X2Vudi5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUg
PSA0OworICAgICAgICAgICAgZmlwX3dpZHRoID0gNDsKICAgICAgICAgfQorICAgICAgICBlbHNl
CisgICAgICAgICAgICBmaXBfd2lkdGggPSA4OwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAg
ICAgICBhc20gdm9sYXRpbGUgKCAiZnhzYXZlICUwIiA6ICI9bSIgKCpmcHVfY3R4dCkgKTsKLSAg
ICAgICAgd29yZF9zaXplID0gNDsKKyAgICAgICAgZmlwX3dpZHRoID0gNDsKICAgICB9CiAKLSAg
ICBpZiAoIHdvcmRfc2l6ZSA+PSAwICkKLSAgICAgICAgZnB1X2N0eHQtPnhbRlBVX1dPUkRfU0la
RV9PRkZTRVRdID0gd29yZF9zaXplOworICAgIGZwdV9jdHh0LT54W0ZQVV9XT1JEX1NJWkVfT0ZG
U0VUXSA9IGZpcF93aWR0aDsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRlLmMgYi94ZW4vYXJjaC94ODYveHN0YXRl
LmMKaW5kZXggZmI1MzhlOC4uODMxNmJkOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hzdGF0
ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQg
eHNhdmUoc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90IG1hc2spCiAgICAgc3RydWN0IHhzYXZlX3N0
cnVjdCAqcHRyID0gdi0+YXJjaC54c2F2ZV9hcmVhOwogICAgIHVpbnQzMl90IGhtYXNrID0gbWFz
ayA+PiAzMjsKICAgICB1aW50MzJfdCBsbWFzayA9IG1hc2s7Ci0gICAgaW50IHdvcmRfc2l6ZSA9
IG1hc2sgJiBYU1RBVEVfRlAgPyAoY3B1X2hhc19mcHVfc2VsID8gOCA6IDApIDogLTE7CisgICAg
dW5zaWduZWQgaW50IGZpcF93aWR0aCA9IHYtPmRvbWFpbi0+YXJjaC54ODdfZmlwX3dpZHRoOwog
I2RlZmluZSBYU0FWRShwZngpIFwKICAgICAgICAgYWx0ZXJuYXRpdmVfaW9fMygiLmJ5dGUgIiBw
ZnggIjB4MGYsMHhhZSwweDI3XG4iLCAvKiB4c2F2ZSAqLyBcCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi5ieXRlICIgcGZ4ICIweDBmLDB4YWUsMHgzN1xuIiwgLyogeHNhdmVvcHQgKi8gXApA
QCAtMjYxLDcgKzI2MSwxNSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBt
YXNrKQogICAgICAgICAgICAgICAgICAgICAgICAgICI9bSIgKCpwdHIpLCBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgImEiIChsbWFzayksICJkIiAoaG1hc2spLCAiRCIgKHB0cikpCiAKLSAg
ICBpZiAoIHdvcmRfc2l6ZSA8PSAwIHx8ICFpc19wdl8zMmJpdF92Y3B1KHYpICkKKyAgICBpZiAo
IGZpcF93aWR0aCA9PSA4IHx8ICEobWFzayAmIFhTVEFURV9GUCkgKQorICAgIHsKKyAgICAgICAg
WFNBVkUoIjB4NDgsIik7CisgICAgfQorICAgIGVsc2UgaWYgKCBmaXBfd2lkdGggPT0gNCApCisg
ICAgeworICAgICAgICBYU0FWRSgiIik7CisgICAgfQorICAgIGVsc2UKICAgICB7CiAgICAgICAg
IHR5cGVvZihwdHItPmZwdV9zc2UuZmlwLnNlbCkgZmNzID0gcHRyLT5mcHVfc3NlLmZpcC5zZWw7
CiAgICAgICAgIHR5cGVvZihwdHItPmZwdV9zc2UuZmRwLnNlbCkgZmRzID0gcHRyLT5mcHVfc3Nl
LmZkcC5zZWw7CkBAIC0yNzQsOSArMjgyLDggQEAgdm9pZCB4c2F2ZShzdHJ1Y3QgdmNwdSAqdiwg
dWludDY0X3QgbWFzaykKICAgICAgICAgICAgICAqIHdlIGhlbmNlIG5lZWQgdG8gcHV0IHRoZSBz
YXZlIGltYWdlIGJhY2sgaW50byB0aGUgc3RhdGUgdGhhdAogICAgICAgICAgICAgICogaXQgd2Fz
IGluIHJpZ2h0IGFmdGVyIHRoZSBwcmV2aW91cyBYU0FWRU9QVC4KICAgICAgICAgICAgICAqLwot
ICAgICAgICAgICAgaWYgKCB3b3JkX3NpemUgPiAwICYmCi0gICAgICAgICAgICAgICAgIChwdHIt
PmZwdV9zc2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPT0gNCB8fAotICAgICAgICAgICAgICAg
ICAgcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDIpICkKKyAgICAgICAg
ICAgIGlmICggcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDQgfHwKKyAg
ICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDIg
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5maXAuc2VsID0g
MDsKICAgICAgICAgICAgICAgICBwdHItPmZwdV9zc2UuZmRwLnNlbCA9IDA7CkBAIC0yODUsNyAr
MjkyLDcgQEAgdm9pZCB4c2F2ZShzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgbWFzaykKIAogICAg
ICAgICBYU0FWRSgiMHg0OCwiKTsKIAotICAgICAgICBpZiAoICEobWFzayAmIHB0ci0+eHNhdmVf
aGRyLnhzdGF0ZV9idiAmIFhTVEFURV9GUCkgfHwKKyAgICAgICAgaWYgKCAhKHB0ci0+eHNhdmVf
aGRyLnhzdGF0ZV9idiAmIFhTVEFURV9GUCkgfHwKICAgICAgICAgICAgICAvKgogICAgICAgICAg
ICAgICAqIEFNRCBDUFVzIGRvbid0IHNhdmUvcmVzdG9yZSBGRFAvRklQL0ZPUCB1bmxlc3MgYW4g
ZXhjZXB0aW9uCiAgICAgICAgICAgICAgICogaXMgcGVuZGluZy4KQEAgLTI5Myw3ICszMDAsNyBA
QCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQogICAgICAgICAgICAg
ICghKHB0ci0+ZnB1X3NzZS5mc3cgJiAweDAwODApICYmCiAgICAgICAgICAgICAgIGJvb3RfY3B1
X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkgKQogICAgICAgICB7Ci0gICAgICAg
ICAgICBpZiAoIChjcHVfaGFzX3hzYXZlb3B0IHx8IGNwdV9oYXNfeHNhdmVzKSAmJiB3b3JkX3Np
emUgPiAwICkKKyAgICAgICAgICAgIGlmICggY3B1X2hhc194c2F2ZW9wdCB8fCBjcHVfaGFzX3hz
YXZlcyApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZpcC5z
ZWwgPSBmY3M7CiAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZkcC5zZWwgPSBmZHM7CkBA
IC0zMDEsMjUgKzMwOCwyNSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBt
YXNrKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCB3b3Jk
X3NpemUgPiAwICYmCi0gICAgICAgICAgICAgISgocHRyLT5mcHVfc3NlLmZpcC5hZGRyIHwgcHRy
LT5mcHVfc3NlLmZkcC5hZGRyKSA+PiAzMikgKQorICAgICAgICAvKgorICAgICAgICAgKiBJZiB0
aGUgRklQL0ZEUFs2MzozMl0gYXJlIGJvdGggemVybywgaXQgaXMgc2FmZSB0byB1c2UgdGhlCisg
ICAgICAgICAqIDMyLWJpdCByZXN0b3JlIHRvIGFsc28gcmVzdG9yZSB0aGUgc2VsZWN0b3JzLgor
ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhKChwdHItPmZwdV9zc2UuZmlwLmFkZHIgfCBwdHIt
PmZwdV9zc2UuZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0cnVj
dCBpeDg3X2VudiBmcHVfZW52OwogCiAgICAgICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5zdGVu
diAlMCIgOiAiPW0iIChmcHVfZW52KSApOwogICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZpcC5z
ZWwgPSBmcHVfZW52LmZjczsKICAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5mZHAuc2VsID0gZnB1
X2Vudi5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUgPSA0OworICAgICAgICAgICAgZmlwX3dp
ZHRoID0gNDsKICAgICAgICAgfQotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBYU0FW
RSgiIik7Ci0gICAgICAgIHdvcmRfc2l6ZSA9IDQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGZpcF93aWR0aCA9IDg7CiAgICAgfQogI3VuZGVmIFhTQVZFCi0gICAgaWYgKCB3b3JkX3NpemUg
Pj0gMCApCi0gICAgICAgIHB0ci0+ZnB1X3NzZS54W0ZQVV9XT1JEX1NJWkVfT0ZGU0VUXSA9IHdv
cmRfc2l6ZTsKKyAgICBpZiAoIG1hc2sgJiBYU1RBVEVfRlAgKQorICAgICAgICBwdHItPmZwdV9z
c2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPSBmaXBfd2lkdGg7CiB9CiAKIHZvaWQgeHJzdG9y
KHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggNGZh
ZDYzOC4uNzEzNTcwOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zMzksNiArMzM5LDIxIEBAIHN0
cnVjdCBhcmNoX2RvbWFpbgogICAgIHU4IHg4Nl92ZW5kb3I7ICAgICAgICAgICAvKiBDUFUgdmVu
ZG9yICovCiAgICAgdTggeDg2X21vZGVsOyAgICAgICAgICAgIC8qIENQVSBtb2RlbCAqLwogCisg
ICAgLyoKKyAgICAgKiBUaGUgd2lkdGggb2YgdGhlIEZJUC9GRFAgcmVnaXN0ZXIgaW4gdGhlIEZQ
VSB0aGF0IG5lZWRzIHRvIGJlCisgICAgICogc2F2ZWQvcmVzdG9yZWQgZHVyaW5nIGEgY29udGV4
dCBzd2l0Y2guICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlCisgICAgICogdGhlIEZQVSBjYW4gZWl0
aGVyOiBhKSByZXN0b3JlIHRoZSA2NC1iaXQgRklQL0ZEUCBhbmQgY2xlYXIgRkNTCisgICAgICog
YW5kIEZEUzsgb3IgYikgcmVzdG9yZSB0aGUgMzItYml0IEZJUC9GRFAgKGNsZWFyaW5nIHRoZSB1
cHBlcgorICAgICAqIDMyLWJpdHMgb2YgRklQL0ZEUCkgYW5kIHJlc3RvcmUgRkNTL0ZEUy4KKyAg
ICAgKgorICAgICAqIFdoaWNoIG9uZSBpcyBuZWVkZWQgZGVwZW5kcyBvbiB0aGUgZ3Vlc3QuCisg
ICAgICoKKyAgICAgKiBUaGlzIGNhbiBiZSBlaXRoZXI6IDgsIDQgb3IgMC4gIDAgbWVhbnMgYXV0
by1kZXRlY3QgdGhlIHNpemUKKyAgICAgKiBiYXNlZCBvbiB0aGUgd2lkdGggb2YgRklQL0ZEUCB2
YWx1ZXMgdGhhdCBhcmUgd3JpdHRlbiBieSB0aGUKKyAgICAgKiBndWVzdC4KKyAgICAgKi8KKyAg
ICB1aW50OF90IHg4N19maXBfd2lkdGg7CisKICAgICBjcHVpZF9pbnB1dF90ICpjcHVpZHM7CiAK
ICAgICBzdHJ1Y3QgUElUU3RhdGUgdnBpdDsKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBm
b3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNo
YW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFu
Z2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:39 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBb-00074E-PN; Sun, 28 Feb 2016 23:55:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBa-00073y-S8
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:38 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
 5E/F9-04025-AF883D65; Sun, 28 Feb 2016 23:55:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703736!25562802!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12850 invoked from network); 28 Feb 2016 23:55:37 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:37 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBY-0000rV-72
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBY-0001pK-2w
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:36 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBY-0001pK-2w@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:36 +0000
Subject: [Xen-changelog] [xen master] x86/fpu: add a per-domain field to set
	the width of FIP/FDP
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDg3OWI0NGIwNDFmMjZkZTM1ZTRiNTI3YmYwZjNjMzYxZWI1MmJkODIKQXV0aG9yOiAg
ICAgRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjoxNjoxMyAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjoyOToyMSAyMDE2ICswMTAw
CgogICAgeDg2L2ZwdTogYWRkIGEgcGVyLWRvbWFpbiBmaWVsZCB0byBzZXQgdGhlIHdpZHRoIG9m
IEZJUC9GRFAKICAgIAogICAgVGhlIHg4NiBhcmNoaXRlY3R1cmUgYWxsb3dzIGVpdGhlcjogYSkg
dGhlIDY0LWJpdCBGSVAvRkRQIHJlZ2lzdGVycyB0bwogICAgYmUgcmVzdG9yZWQgKGNsZWFyaW5n
IEZDUyBhbmQgRkRTKTsgb3IgYikgdGhlIDMyLWJpdCBGSVAvRkRQIGFuZAogICAgRkNTL0ZEUyBy
ZWdpc3RlcnMgdG8gYmUgcmVzdG9yZWQgKGNsZWFyaW5nIHRoZSB1cHBlciAzMi1iaXRzKS4KICAg
IAogICAgQWRkIGEgcGVyLWRvbWFpbiBmaWVsZCB0byBpbmRpY2F0ZSB3aGljaCBvZiB0aGVzZSBv
cHRpb25zIGEgZ3Vlc3QKICAgIG5lZWRzLiAgVGhlIG9wdGlvbnMgYXJlOiA4LCA0IG9yIDAuICBX
aGVyZSAwIGluZGljYXRlcyB0aGF0IHRoZQogICAgaHlwZXJ2aXNvciBzaG91bGQgYXV0b21hdGlj
YWxseSBndWVzcyB0aGUgRklQIHdpZHRoIGJ5IGNoZWNraW5nIHRoZQogICAgdmFsdWUgb2YgRklQ
L0ZEUCB3aGVuIHNhdmluZyB0aGUgc3RhdGUgKHRoaXMgaXMgdGhlIGV4aXN0aW5nCiAgICBiZWhh
dmlvdXIpLgogICAgCiAgICBUaGUgRklQIHdpZHRoIGlzIGluaXRpYWxseSBhdXRvbWF0aWMgYnV0
IGlzIHNldCBleHBsaWNpdGx5IGluIHRoZQogICAgZm9sbG93aW5nIGNhc2VzOgogICAgCiAgICAt
IDMyLWJpdCBQViBndWVzdDogNAogICAgLSBOZXdlciBDUFVzIHRoYXQgZG8gbm90IHNhdmUgRkNT
L0ZEUzogOAogICAgCiAgICBUaGUgeDg3X2ZpcF93aWR0aCBmaWVsZCBpcyBwbGFjZWQgaW50byBh
biBleGlzdGluZyAxIGJ5dGUgaG9sZSBpbgogICAgc3RydWN0IGFyY2hfZG9tYWluLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBWcmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29tPgog
ICAgCiAgICBGaXggYnVpbGQuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgIHwgMTAg
KysrKysrKysrKwogeGVuL2FyY2gveDg2L2kzODcuYyAgICAgICAgICB8IDE5ICsrKysrKysrKysr
Ky0tLS0tLS0KIHhlbi9hcmNoL3g4Ni94c3RhdGUuYyAgICAgICAgfCA0MSArKysrKysrKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u
aCB8IDE1ICsrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCsp
LCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94
ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggOWQ0M2Y3Yi4uYTZkNzIxYiAxMDA2NDQKLS0tIGEv
eGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtMzQz
LDYgKzM0Myw4IEBAIGludCBzd2l0Y2hfbmF0aXZlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAg
ICAgICBodm1fc2V0X21vZGUodiwgOCk7CiAgICAgfQogCisgICAgZC0+YXJjaC54ODdfZmlwX3dp
ZHRoID0gY3B1X2hhc19mcHVfc2VsID8gMCA6IDg7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAt
Mzc3LDYgKzM3OSw4IEBAIGludCBzd2l0Y2hfY29tcGF0KHN0cnVjdCBkb21haW4gKmQpCiAKICAg
ICBkb21haW5fc2V0X2FsbG9jX2JpdHNpemUoZCk7CiAKKyAgICBkLT5hcmNoLng4N19maXBfd2lk
dGggPSA0OworCiAgICAgcmV0dXJuIDA7CiAKICB1bmRvX2FuZF9mYWlsOgpAQCAtNjUzLDYgKzY1
NywxMiBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk
IGludCBkb21jcl9mbGFncywKICAgICAvKiBQVi9QVkggZ3Vlc3RzIGdldCBhbiBlbXVsYXRlZCBQ
SVQgdG9vIGZvciB2aWRlbyBCSU9TZXMgdG8gdXNlLiAqLwogICAgIHBpdF9pbml0KGQsIGNwdV9r
aHopOwogCisgICAgLyoKKyAgICAgKiBJZiB0aGUgRlBVIGRvZXMgbm90IHNhdmUgRkNTL0ZEUyB0
aGVuIHdlIGNhbiBhbHdheXMKKyAgICAgKiBzYXZlL3Jlc3RvcmUgdGhlIDY0LWJpdCBGSVAvRkRQ
IGFuZCBpZ25vcmUgdGhlIHNlbGVjdG9ycy4KKyAgICAgKi8KKyAgICBkLT5hcmNoLng4N19maXBf
d2lkdGggPSBjcHVfaGFzX2ZwdV9zZWwgPyAwIDogODsKKwogICAgIHJldHVybiAwOwogCiAgZmFp
bDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pMzg3LmMgYi94ZW4vYXJjaC94ODYvaTM4Ny5j
CmluZGV4IDY3MDE2YzkuLmMyOWQwZmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pMzg3LmMK
KysrIGIveGVuL2FyY2gveDg2L2kzODcuYwpAQCAtMTQ0LDkgKzE0NCw5IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBmcHVfeHNhdmUoc3RydWN0IHZjcHUgKnYpCiBzdGF0aWMgaW5saW5lIHZvaWQgZnB1
X2Z4c2F2ZShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICB0eXBlb2Yodi0+YXJjaC54c2F2ZV9hcmVh
LT5mcHVfc3NlKSAqZnB1X2N0eHQgPSB2LT5hcmNoLmZwdV9jdHh0OwotICAgIGludCB3b3JkX3Np
emUgPSBjcHVfaGFzX2ZwdV9zZWwgPyA4IDogMDsKKyAgICB1bnNpZ25lZCBpbnQgZmlwX3dpZHRo
ID0gdi0+ZG9tYWluLT5hcmNoLng4N19maXBfd2lkdGg7CiAKLSAgICBpZiAoICFpc19wdl8zMmJp
dF92Y3B1KHYpICkKKyAgICBpZiAoIGZpcF93aWR0aCAhPSA0ICkKICAgICB7CiAgICAgICAgIC8q
CiAgICAgICAgICAqIFRoZSBvbmx5IHdheSB0byBmb3JjZSBmeHNhdmVxIG9uIGEgd2lkZSByYW5n
ZSBvZiBnYXMgdmVyc2lvbnMuCkBAIC0xNjQsNyArMTY0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9p
ZCBmcHVfZnhzYXZlKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICAgICAgIGJvb3RfY3B1X2RhdGEu
eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCApCiAgICAgICAgICAgICByZXR1cm47CiAKLSAg
ICAgICAgaWYgKCB3b3JkX3NpemUgPiAwICYmCisgICAgICAgIC8qCisgICAgICAgICAqIElmIHRo
ZSBGSVAvRkRQWzYzOjMyXSBhcmUgYm90aCB6ZXJvLCBpdCBpcyBzYWZlIHRvIHVzZSB0aGUKKyAg
ICAgICAgICogMzItYml0IHJlc3RvcmUgdG8gYWxzbyByZXN0b3JlIHRoZSBzZWxlY3RvcnMuCisg
ICAgICAgICAqLworICAgICAgICBpZiAoICFmaXBfd2lkdGggJiYKICAgICAgICAgICAgICAhKChm
cHVfY3R4dC0+ZmlwLmFkZHIgfCBmcHVfY3R4dC0+ZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAg
IHsKICAgICAgICAgICAgIHN0cnVjdCBpeDg3X2VudiBmcHVfZW52OwpAQCAtMTcyLDE3ICsxNzYs
MTggQEAgc3RhdGljIGlubGluZSB2b2lkIGZwdV9meHNhdmUoc3RydWN0IHZjcHUgKnYpCiAgICAg
ICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5zdGVudiAlMCIgOiAiPW0iIChmcHVfZW52KSApOwog
ICAgICAgICAgICAgZnB1X2N0eHQtPmZpcC5zZWwgPSBmcHVfZW52LmZjczsKICAgICAgICAgICAg
IGZwdV9jdHh0LT5mZHAuc2VsID0gZnB1X2Vudi5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUg
PSA0OworICAgICAgICAgICAgZmlwX3dpZHRoID0gNDsKICAgICAgICAgfQorICAgICAgICBlbHNl
CisgICAgICAgICAgICBmaXBfd2lkdGggPSA4OwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAg
ICAgICBhc20gdm9sYXRpbGUgKCAiZnhzYXZlICUwIiA6ICI9bSIgKCpmcHVfY3R4dCkgKTsKLSAg
ICAgICAgd29yZF9zaXplID0gNDsKKyAgICAgICAgZmlwX3dpZHRoID0gNDsKICAgICB9CiAKLSAg
ICBpZiAoIHdvcmRfc2l6ZSA+PSAwICkKLSAgICAgICAgZnB1X2N0eHQtPnhbRlBVX1dPUkRfU0la
RV9PRkZTRVRdID0gd29yZF9zaXplOworICAgIGZwdV9jdHh0LT54W0ZQVV9XT1JEX1NJWkVfT0ZG
U0VUXSA9IGZpcF93aWR0aDsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRlLmMgYi94ZW4vYXJjaC94ODYveHN0YXRl
LmMKaW5kZXggZmI1MzhlOC4uODMxNmJkOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hzdGF0
ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQg
eHNhdmUoc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90IG1hc2spCiAgICAgc3RydWN0IHhzYXZlX3N0
cnVjdCAqcHRyID0gdi0+YXJjaC54c2F2ZV9hcmVhOwogICAgIHVpbnQzMl90IGhtYXNrID0gbWFz
ayA+PiAzMjsKICAgICB1aW50MzJfdCBsbWFzayA9IG1hc2s7Ci0gICAgaW50IHdvcmRfc2l6ZSA9
IG1hc2sgJiBYU1RBVEVfRlAgPyAoY3B1X2hhc19mcHVfc2VsID8gOCA6IDApIDogLTE7CisgICAg
dW5zaWduZWQgaW50IGZpcF93aWR0aCA9IHYtPmRvbWFpbi0+YXJjaC54ODdfZmlwX3dpZHRoOwog
I2RlZmluZSBYU0FWRShwZngpIFwKICAgICAgICAgYWx0ZXJuYXRpdmVfaW9fMygiLmJ5dGUgIiBw
ZnggIjB4MGYsMHhhZSwweDI3XG4iLCAvKiB4c2F2ZSAqLyBcCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIi5ieXRlICIgcGZ4ICIweDBmLDB4YWUsMHgzN1xuIiwgLyogeHNhdmVvcHQgKi8gXApA
QCAtMjYxLDcgKzI2MSwxNSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBt
YXNrKQogICAgICAgICAgICAgICAgICAgICAgICAgICI9bSIgKCpwdHIpLCBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgImEiIChsbWFzayksICJkIiAoaG1hc2spLCAiRCIgKHB0cikpCiAKLSAg
ICBpZiAoIHdvcmRfc2l6ZSA8PSAwIHx8ICFpc19wdl8zMmJpdF92Y3B1KHYpICkKKyAgICBpZiAo
IGZpcF93aWR0aCA9PSA4IHx8ICEobWFzayAmIFhTVEFURV9GUCkgKQorICAgIHsKKyAgICAgICAg
WFNBVkUoIjB4NDgsIik7CisgICAgfQorICAgIGVsc2UgaWYgKCBmaXBfd2lkdGggPT0gNCApCisg
ICAgeworICAgICAgICBYU0FWRSgiIik7CisgICAgfQorICAgIGVsc2UKICAgICB7CiAgICAgICAg
IHR5cGVvZihwdHItPmZwdV9zc2UuZmlwLnNlbCkgZmNzID0gcHRyLT5mcHVfc3NlLmZpcC5zZWw7
CiAgICAgICAgIHR5cGVvZihwdHItPmZwdV9zc2UuZmRwLnNlbCkgZmRzID0gcHRyLT5mcHVfc3Nl
LmZkcC5zZWw7CkBAIC0yNzQsOSArMjgyLDggQEAgdm9pZCB4c2F2ZShzdHJ1Y3QgdmNwdSAqdiwg
dWludDY0X3QgbWFzaykKICAgICAgICAgICAgICAqIHdlIGhlbmNlIG5lZWQgdG8gcHV0IHRoZSBz
YXZlIGltYWdlIGJhY2sgaW50byB0aGUgc3RhdGUgdGhhdAogICAgICAgICAgICAgICogaXQgd2Fz
IGluIHJpZ2h0IGFmdGVyIHRoZSBwcmV2aW91cyBYU0FWRU9QVC4KICAgICAgICAgICAgICAqLwot
ICAgICAgICAgICAgaWYgKCB3b3JkX3NpemUgPiAwICYmCi0gICAgICAgICAgICAgICAgIChwdHIt
PmZwdV9zc2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPT0gNCB8fAotICAgICAgICAgICAgICAg
ICAgcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDIpICkKKyAgICAgICAg
ICAgIGlmICggcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDQgfHwKKyAg
ICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDIg
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5maXAuc2VsID0g
MDsKICAgICAgICAgICAgICAgICBwdHItPmZwdV9zc2UuZmRwLnNlbCA9IDA7CkBAIC0yODUsNyAr
MjkyLDcgQEAgdm9pZCB4c2F2ZShzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgbWFzaykKIAogICAg
ICAgICBYU0FWRSgiMHg0OCwiKTsKIAotICAgICAgICBpZiAoICEobWFzayAmIHB0ci0+eHNhdmVf
aGRyLnhzdGF0ZV9idiAmIFhTVEFURV9GUCkgfHwKKyAgICAgICAgaWYgKCAhKHB0ci0+eHNhdmVf
aGRyLnhzdGF0ZV9idiAmIFhTVEFURV9GUCkgfHwKICAgICAgICAgICAgICAvKgogICAgICAgICAg
ICAgICAqIEFNRCBDUFVzIGRvbid0IHNhdmUvcmVzdG9yZSBGRFAvRklQL0ZPUCB1bmxlc3MgYW4g
ZXhjZXB0aW9uCiAgICAgICAgICAgICAgICogaXMgcGVuZGluZy4KQEAgLTI5Myw3ICszMDAsNyBA
QCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQogICAgICAgICAgICAg
ICghKHB0ci0+ZnB1X3NzZS5mc3cgJiAweDAwODApICYmCiAgICAgICAgICAgICAgIGJvb3RfY3B1
X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCkgKQogICAgICAgICB7Ci0gICAgICAg
ICAgICBpZiAoIChjcHVfaGFzX3hzYXZlb3B0IHx8IGNwdV9oYXNfeHNhdmVzKSAmJiB3b3JkX3Np
emUgPiAwICkKKyAgICAgICAgICAgIGlmICggY3B1X2hhc194c2F2ZW9wdCB8fCBjcHVfaGFzX3hz
YXZlcyApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZpcC5z
ZWwgPSBmY3M7CiAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZkcC5zZWwgPSBmZHM7CkBA
IC0zMDEsMjUgKzMwOCwyNSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBt
YXNrKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCB3b3Jk
X3NpemUgPiAwICYmCi0gICAgICAgICAgICAgISgocHRyLT5mcHVfc3NlLmZpcC5hZGRyIHwgcHRy
LT5mcHVfc3NlLmZkcC5hZGRyKSA+PiAzMikgKQorICAgICAgICAvKgorICAgICAgICAgKiBJZiB0
aGUgRklQL0ZEUFs2MzozMl0gYXJlIGJvdGggemVybywgaXQgaXMgc2FmZSB0byB1c2UgdGhlCisg
ICAgICAgICAqIDMyLWJpdCByZXN0b3JlIHRvIGFsc28gcmVzdG9yZSB0aGUgc2VsZWN0b3JzLgor
ICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhKChwdHItPmZwdV9zc2UuZmlwLmFkZHIgfCBwdHIt
PmZwdV9zc2UuZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0cnVj
dCBpeDg3X2VudiBmcHVfZW52OwogCiAgICAgICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5zdGVu
diAlMCIgOiAiPW0iIChmcHVfZW52KSApOwogICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZpcC5z
ZWwgPSBmcHVfZW52LmZjczsKICAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5mZHAuc2VsID0gZnB1
X2Vudi5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUgPSA0OworICAgICAgICAgICAgZmlwX3dp
ZHRoID0gNDsKICAgICAgICAgfQotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBYU0FW
RSgiIik7Ci0gICAgICAgIHdvcmRfc2l6ZSA9IDQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGZpcF93aWR0aCA9IDg7CiAgICAgfQogI3VuZGVmIFhTQVZFCi0gICAgaWYgKCB3b3JkX3NpemUg
Pj0gMCApCi0gICAgICAgIHB0ci0+ZnB1X3NzZS54W0ZQVV9XT1JEX1NJWkVfT0ZGU0VUXSA9IHdv
cmRfc2l6ZTsKKyAgICBpZiAoIG1hc2sgJiBYU1RBVEVfRlAgKQorICAgICAgICBwdHItPmZwdV9z
c2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPSBmaXBfd2lkdGg7CiB9CiAKIHZvaWQgeHJzdG9y
KHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggNGZh
ZDYzOC4uNzEzNTcwOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAor
KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zMzksNiArMzM5LDIxIEBAIHN0
cnVjdCBhcmNoX2RvbWFpbgogICAgIHU4IHg4Nl92ZW5kb3I7ICAgICAgICAgICAvKiBDUFUgdmVu
ZG9yICovCiAgICAgdTggeDg2X21vZGVsOyAgICAgICAgICAgIC8qIENQVSBtb2RlbCAqLwogCisg
ICAgLyoKKyAgICAgKiBUaGUgd2lkdGggb2YgdGhlIEZJUC9GRFAgcmVnaXN0ZXIgaW4gdGhlIEZQ
VSB0aGF0IG5lZWRzIHRvIGJlCisgICAgICogc2F2ZWQvcmVzdG9yZWQgZHVyaW5nIGEgY29udGV4
dCBzd2l0Y2guICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlCisgICAgICogdGhlIEZQVSBjYW4gZWl0
aGVyOiBhKSByZXN0b3JlIHRoZSA2NC1iaXQgRklQL0ZEUCBhbmQgY2xlYXIgRkNTCisgICAgICog
YW5kIEZEUzsgb3IgYikgcmVzdG9yZSB0aGUgMzItYml0IEZJUC9GRFAgKGNsZWFyaW5nIHRoZSB1
cHBlcgorICAgICAqIDMyLWJpdHMgb2YgRklQL0ZEUCkgYW5kIHJlc3RvcmUgRkNTL0ZEUy4KKyAg
ICAgKgorICAgICAqIFdoaWNoIG9uZSBpcyBuZWVkZWQgZGVwZW5kcyBvbiB0aGUgZ3Vlc3QuCisg
ICAgICoKKyAgICAgKiBUaGlzIGNhbiBiZSBlaXRoZXI6IDgsIDQgb3IgMC4gIDAgbWVhbnMgYXV0
by1kZXRlY3QgdGhlIHNpemUKKyAgICAgKiBiYXNlZCBvbiB0aGUgd2lkdGggb2YgRklQL0ZEUCB2
YWx1ZXMgdGhhdCBhcmUgd3JpdHRlbiBieSB0aGUKKyAgICAgKiBndWVzdC4KKyAgICAgKi8KKyAg
ICB1aW50OF90IHg4N19maXBfd2lkdGg7CisKICAgICBjcHVpZF9pbnB1dF90ICpjcHVpZHM7CiAK
ICAgICBzdHJ1Y3QgUElUU3RhdGUgdnBpdDsKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBm
b3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNo
YW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFu
Z2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBl-000761-RX; Sun, 28 Feb 2016 23:55:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBl-00075m-5k
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:49 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
 36/C4-02983-40983D65; Sun, 28 Feb 2016 23:55:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456703746!9456866!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57824 invoked from network); 28 Feb 2016 23:55:47 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBi-0000sO-MC
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBi-0001pr-Ik
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBi-0001pr-Ik@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:46 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add HVM_PARAM_X87_FIP_WIDTH
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDVkNzY4ZmIxZjNmN2IwMTFlN2I2ZTc1OTA5YzdmNDg0MTczMGRlNjAKQXV0aG9yOiAg
ICAgRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjozMDoxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMDoxMSAyMDE2ICswMTAw
CgogICAgeDg2L2h2bTogYWRkIEhWTV9QQVJBTV9YODdfRklQX1dJRFRICiAgICAKICAgIFRoZSBI
Vk0gcGFyYW1ldGVyIEhWTV9QQVJBTV9YODdfRklQX1dJRFRIIHRvIGFsbG93IHRvb2xzIGFuZCB0
aGUgZ3Vlc3QKICAgIHRvIGFkanVzdCB0aGUgd2lkdGggb2YgdGhlIEZJUC9GRFAgcmVnaXN0ZXJz
IHRvIGJlIHNhdmVkL3Jlc3RvcmVkIGJ5CiAgICB0aGUgaHlwZXJ2aXNvci4gIFRoaXMgaXMgaW4g
Y2FzZSB0aGUgaHlwZXJ2aXNvciBodWVyaXN0aWNzIGRvIG5vdCBkbwogICAgdGhlIHJpZ2h0IHRo
aW5nLgogICAgCiAgICBBZGQgdGhpcyBwYXJhbWV0ZXIgdG8gdGhlIHNldCBzYXZlZCBkdXJpbmcg
ZG9tYWluIHNhdmUvbWlncmF0ZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgVnJhYmVs
IDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5s
aXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGMveGNfc3Jfc2F2ZV94ODZfaHZtLmMgfCAg
MSArCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysK
IHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmggIHwgMjQgKysrKysrKysrKysrKysrKysr
KysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19zcl9zYXZlX3g4Nl9odm0uYyBiL3Rvb2xzL2xp
YnhjL3hjX3NyX3NhdmVfeDg2X2h2bS5jCmluZGV4IGUzNDdiM2IuLmJhNTBhNDMgMTAwNjQ0Ci0t
LSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmVfeDg2X2h2bS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hj
X3NyX3NhdmVfeDg2X2h2bS5jCkBAIC03Niw2ICs3Niw3IEBAIHN0YXRpYyBpbnQgd3JpdGVfaHZt
X3BhcmFtcyhzdHJ1Y3QgeGNfc3JfY29udGV4dCAqY3R4KQogICAgICAgICBIVk1fUEFSQU1fVk1f
R0VORVJBVElPTl9JRF9BRERSLAogICAgICAgICBIVk1fUEFSQU1fSU9SRVFfU0VSVkVSX1BGTiwK
ICAgICAgICAgSFZNX1BBUkFNX05SX0lPUkVRX1NFUlZFUl9QQUdFUywKKyAgICAgICAgSFZNX1BB
UkFNX1g4N19GSVBfV0lEVEgsCiAgICAgfTsKIAogICAgIHhjX2ludGVyZmFjZSAqeGNoID0gY3R4
LT54Y2g7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2
L2h2bS9odm0uYwppbmRleCA1ZWE0YjViLi5iNTg2NWY5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTYwMjUsNiArNjAy
NSw3IEBAIHN0YXRpYyBpbnQgaHZtX2FsbG93X3NldF9wYXJhbShzdHJ1Y3QgZG9tYWluICpkLAog
ICAgIGNhc2UgSFZNX1BBUkFNX1ZNX0dFTkVSQVRJT05fSURfQUREUjoKICAgICBjYXNlIEhWTV9Q
QVJBTV9TVE9SRV9FVlRDSE46CiAgICAgY2FzZSBIVk1fUEFSQU1fQ09OU09MRV9FVlRDSE46Cisg
ICAgY2FzZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSDoKICAgICAgICAgYnJlYWs7CiAgICAgLyoK
ICAgICAgKiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgbXVzdCBub3QgYmUgc2V0IGJ5IHRoZSBn
dWVzdApAQCAtNjIyMCw2ICs2MjIxLDE0IEBAIHN0YXRpYyBpbnQgaHZtb3Bfc2V0X3BhcmFtKAog
CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIEhWTV9QQVJBTV9YODdfRklQX1dJRFRI
OgorICAgICAgICBpZiAoIGEudmFsdWUgIT0gMCAmJiBhLnZhbHVlICE9IDQgJiYgYS52YWx1ZSAh
PSA4ICkKKyAgICAgICAgeworICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZC0+YXJjaC54ODdfZmlwX3dpZHRoID0gYS52YWx1
ZTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgaWYgKCByYyAhPSAwICkKQEAgLTYyNTYs
NiArNjI2NSw3IEBAIHN0YXRpYyBpbnQgaHZtX2FsbG93X2dldF9wYXJhbShzdHJ1Y3QgZG9tYWlu
ICpkLAogICAgIGNhc2UgSFZNX1BBUkFNX0NPTlNPTEVfUEZOOgogICAgIGNhc2UgSFZNX1BBUkFN
X0NPTlNPTEVfRVZUQ0hOOgogICAgIGNhc2UgSFZNX1BBUkFNX0FMVFAyTToKKyAgICBjYXNlIEhW
TV9QQVJBTV9YODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsKICAgICAvKgogICAgICAqIFRo
ZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBtdXN0IG5vdCBiZSByZWFkIGJ5IHRoZSBndWVzdApAQCAt
NjMwNSw2ICs2MzE1LDkgQEAgc3RhdGljIGludCBodm1vcF9nZXRfcGFyYW0oCiAgICAgY2FzZSBI
Vk1fUEFSQU1fQUNQSV9TX1NUQVRFOgogICAgICAgICBhLnZhbHVlID0gZC0+YXJjaC5odm1fZG9t
YWluLmlzX3MzX3N1c3BlbmRlZCA/IDMgOiAwOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEhW
TV9QQVJBTV9YODdfRklQX1dJRFRIOgorICAgICAgICBhLnZhbHVlID0gZC0+YXJjaC54ODdfZmlw
X3dpZHRoOworICAgICAgICBicmVhazsKICAgICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QRk46CiAg
ICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOOgogICAgIGNhc2UgSFZNX1BBUkFNX0JVRklP
UkVRX0VWVENITjoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgg
Yi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCmluZGV4IDgxZjk0NTEuLjczZDQ3MTgg
MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKKysrIGIveGVuL2lu
Y2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaApAQCAtMjEwLDYgKzIxMCwyOCBAQAogLyogQm9vbGVh
bjogRW5hYmxlIGFsdHAybSAqLwogI2RlZmluZSBIVk1fUEFSQU1fQUxUUDJNICAgICAgIDM1CiAK
LSNkZWZpbmUgSFZNX05SX1BBUkFNUyAgICAgICAgICAzNgorLyoKKyAqIFNpemUgb2YgdGhlIHg4
NyBGUFUgRklQL0ZEUCByZWdpc3RlcnMgdGhhdCB0aGUgaHlwZXJ2aXNvciBuZWVkcyB0bworICog
c2F2ZS9yZXN0b3JlLiAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEgaGFyZHdhcmUgbGltaXRh
dGlvbiB0aGF0CisgKiBkb2VzIG5vdCBhbGxvdyB0aGUgZnVsbCBGSVAvRkRQIGFuZCBGQ1MvRkRT
IHRvIGJlIHJlc3RvcmVkLgorICoKKyAqIFZhbGlkIHZhbHVlcyBhcmU6CisgKgorICogODogc2F2
ZS9yZXN0b3JlIDY0LWJpdCBGSVAvRkRQIGFuZCBjbGVhciBGQ1MvRkRTIChkZWZhdWx0IGlmIENQ
VQorICogICAgaGFzIEZQQ1NEUyBmZWF0dXJlKS4KKyAqCisgKiA0OiBzYXZlL3Jlc3RvcmUgMzIt
Yml0IEZJUC9GRFAsIEZDUy9GRFMsIGFuZCBjbGVhciB1cHBlciAzMi1iaXRzIG9mCisgKiAgICBG
SVAvRkRQLgorICoKKyAqIDA6IGFsbG93IGh5cGVydmlzb3IgdG8gY2hvb3NlIGJhc2VkIG9uIHRo
ZSB2YWx1ZSBvZiBGSVAvRkRQCisgKiAgICAoZGVmYXVsdCBpZiBDUFUgZG9lcyBub3QgaGF2ZSBG
UENTRFMpLgorICoKKyAqIElmIEZQQ1NEUyAoYml0IDEzIGluIENQVUlEIGxlYWYgMHg3LCBzdWJs
ZWFmIDB4MCkgaXMgc2V0LCB0aGUgQ1BVCisgKiBuZXZlciBzYXZlcyBGQ1MvRkRTIGFuZCB0aGlz
IHBhcmFtZXRlciBzaG91bGQgYmUgbGVmdCBhdCB0aGUKKyAqIGRlZmF1bHQgb2YgOC4KKyAqLwor
I2RlZmluZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSCAzNgorCisjZGVmaW5lIEhWTV9OUl9QQVJB
TVMgMzcKIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19IVk1fUEFSQU1TX0hfXyAqLwotLQpnZW5l
cmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdl
bG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz
LnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:55:49 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBl-000761-RX; Sun, 28 Feb 2016 23:55:49 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBl-00075m-5k
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:49 +0000
Received: from [85.158.139.211] by server-13.bemta-5.messagelabs.com id
 36/C4-02983-40983D65; Sun, 28 Feb 2016 23:55:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1456703746!9456866!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57824 invoked from network); 28 Feb 2016 23:55:47 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:47 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBi-0000sO-MC
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBi-0001pr-Ik
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:46 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBi-0001pr-Ik@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:46 +0000
Subject: [Xen-changelog] [xen master] x86/hvm: add HVM_PARAM_X87_FIP_WIDTH
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDVkNzY4ZmIxZjNmN2IwMTFlN2I2ZTc1OTA5YzdmNDg0MTczMGRlNjAKQXV0aG9yOiAg
ICAgRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjozMDoxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMDoxMSAyMDE2ICswMTAw
CgogICAgeDg2L2h2bTogYWRkIEhWTV9QQVJBTV9YODdfRklQX1dJRFRICiAgICAKICAgIFRoZSBI
Vk0gcGFyYW1ldGVyIEhWTV9QQVJBTV9YODdfRklQX1dJRFRIIHRvIGFsbG93IHRvb2xzIGFuZCB0
aGUgZ3Vlc3QKICAgIHRvIGFkanVzdCB0aGUgd2lkdGggb2YgdGhlIEZJUC9GRFAgcmVnaXN0ZXJz
IHRvIGJlIHNhdmVkL3Jlc3RvcmVkIGJ5CiAgICB0aGUgaHlwZXJ2aXNvci4gIFRoaXMgaXMgaW4g
Y2FzZSB0aGUgaHlwZXJ2aXNvciBodWVyaXN0aWNzIGRvIG5vdCBkbwogICAgdGhlIHJpZ2h0IHRo
aW5nLgogICAgCiAgICBBZGQgdGhpcyBwYXJhbWV0ZXIgdG8gdGhlIHNldCBzYXZlZCBkdXJpbmcg
ZG9tYWluIHNhdmUvbWlncmF0ZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgVnJhYmVs
IDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5s
aXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGMveGNfc3Jfc2F2ZV94ODZfaHZtLmMgfCAg
MSArCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysK
IHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmggIHwgMjQgKysrKysrKysrKysrKysrKysr
KysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK
CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19zcl9zYXZlX3g4Nl9odm0uYyBiL3Rvb2xzL2xp
YnhjL3hjX3NyX3NhdmVfeDg2X2h2bS5jCmluZGV4IGUzNDdiM2IuLmJhNTBhNDMgMTAwNjQ0Ci0t
LSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmVfeDg2X2h2bS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hj
X3NyX3NhdmVfeDg2X2h2bS5jCkBAIC03Niw2ICs3Niw3IEBAIHN0YXRpYyBpbnQgd3JpdGVfaHZt
X3BhcmFtcyhzdHJ1Y3QgeGNfc3JfY29udGV4dCAqY3R4KQogICAgICAgICBIVk1fUEFSQU1fVk1f
R0VORVJBVElPTl9JRF9BRERSLAogICAgICAgICBIVk1fUEFSQU1fSU9SRVFfU0VSVkVSX1BGTiwK
ICAgICAgICAgSFZNX1BBUkFNX05SX0lPUkVRX1NFUlZFUl9QQUdFUywKKyAgICAgICAgSFZNX1BB
UkFNX1g4N19GSVBfV0lEVEgsCiAgICAgfTsKIAogICAgIHhjX2ludGVyZmFjZSAqeGNoID0gY3R4
LT54Y2g7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2
L2h2bS9odm0uYwppbmRleCA1ZWE0YjViLi5iNTg2NWY5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94
ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTYwMjUsNiArNjAy
NSw3IEBAIHN0YXRpYyBpbnQgaHZtX2FsbG93X3NldF9wYXJhbShzdHJ1Y3QgZG9tYWluICpkLAog
ICAgIGNhc2UgSFZNX1BBUkFNX1ZNX0dFTkVSQVRJT05fSURfQUREUjoKICAgICBjYXNlIEhWTV9Q
QVJBTV9TVE9SRV9FVlRDSE46CiAgICAgY2FzZSBIVk1fUEFSQU1fQ09OU09MRV9FVlRDSE46Cisg
ICAgY2FzZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSDoKICAgICAgICAgYnJlYWs7CiAgICAgLyoK
ICAgICAgKiBUaGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgbXVzdCBub3QgYmUgc2V0IGJ5IHRoZSBn
dWVzdApAQCAtNjIyMCw2ICs2MjIxLDE0IEBAIHN0YXRpYyBpbnQgaHZtb3Bfc2V0X3BhcmFtKAog
CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIEhWTV9QQVJBTV9YODdfRklQX1dJRFRI
OgorICAgICAgICBpZiAoIGEudmFsdWUgIT0gMCAmJiBhLnZhbHVlICE9IDQgJiYgYS52YWx1ZSAh
PSA4ICkKKyAgICAgICAgeworICAgICAgICAgICAgcmMgPSAtRUlOVkFMOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZC0+YXJjaC54ODdfZmlwX3dpZHRoID0gYS52YWx1
ZTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgaWYgKCByYyAhPSAwICkKQEAgLTYyNTYs
NiArNjI2NSw3IEBAIHN0YXRpYyBpbnQgaHZtX2FsbG93X2dldF9wYXJhbShzdHJ1Y3QgZG9tYWlu
ICpkLAogICAgIGNhc2UgSFZNX1BBUkFNX0NPTlNPTEVfUEZOOgogICAgIGNhc2UgSFZNX1BBUkFN
X0NPTlNPTEVfRVZUQ0hOOgogICAgIGNhc2UgSFZNX1BBUkFNX0FMVFAyTToKKyAgICBjYXNlIEhW
TV9QQVJBTV9YODdfRklQX1dJRFRIOgogICAgICAgICBicmVhazsKICAgICAvKgogICAgICAqIFRo
ZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBtdXN0IG5vdCBiZSByZWFkIGJ5IHRoZSBndWVzdApAQCAt
NjMwNSw2ICs2MzE1LDkgQEAgc3RhdGljIGludCBodm1vcF9nZXRfcGFyYW0oCiAgICAgY2FzZSBI
Vk1fUEFSQU1fQUNQSV9TX1NUQVRFOgogICAgICAgICBhLnZhbHVlID0gZC0+YXJjaC5odm1fZG9t
YWluLmlzX3MzX3N1c3BlbmRlZCA/IDMgOiAwOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEhW
TV9QQVJBTV9YODdfRklQX1dJRFRIOgorICAgICAgICBhLnZhbHVlID0gZC0+YXJjaC54ODdfZmlw
X3dpZHRoOworICAgICAgICBicmVhazsKICAgICBjYXNlIEhWTV9QQVJBTV9JT1JFUV9QRk46CiAg
ICAgY2FzZSBIVk1fUEFSQU1fQlVGSU9SRVFfUEZOOgogICAgIGNhc2UgSFZNX1BBUkFNX0JVRklP
UkVRX0VWVENITjoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgg
Yi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCmluZGV4IDgxZjk0NTEuLjczZDQ3MTgg
MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKKysrIGIveGVuL2lu
Y2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaApAQCAtMjEwLDYgKzIxMCwyOCBAQAogLyogQm9vbGVh
bjogRW5hYmxlIGFsdHAybSAqLwogI2RlZmluZSBIVk1fUEFSQU1fQUxUUDJNICAgICAgIDM1CiAK
LSNkZWZpbmUgSFZNX05SX1BBUkFNUyAgICAgICAgICAzNgorLyoKKyAqIFNpemUgb2YgdGhlIHg4
NyBGUFUgRklQL0ZEUCByZWdpc3RlcnMgdGhhdCB0aGUgaHlwZXJ2aXNvciBuZWVkcyB0bworICog
c2F2ZS9yZXN0b3JlLiAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEgaGFyZHdhcmUgbGltaXRh
dGlvbiB0aGF0CisgKiBkb2VzIG5vdCBhbGxvdyB0aGUgZnVsbCBGSVAvRkRQIGFuZCBGQ1MvRkRT
IHRvIGJlIHJlc3RvcmVkLgorICoKKyAqIFZhbGlkIHZhbHVlcyBhcmU6CisgKgorICogODogc2F2
ZS9yZXN0b3JlIDY0LWJpdCBGSVAvRkRQIGFuZCBjbGVhciBGQ1MvRkRTIChkZWZhdWx0IGlmIENQ
VQorICogICAgaGFzIEZQQ1NEUyBmZWF0dXJlKS4KKyAqCisgKiA0OiBzYXZlL3Jlc3RvcmUgMzIt
Yml0IEZJUC9GRFAsIEZDUy9GRFMsIGFuZCBjbGVhciB1cHBlciAzMi1iaXRzIG9mCisgKiAgICBG
SVAvRkRQLgorICoKKyAqIDA6IGFsbG93IGh5cGVydmlzb3IgdG8gY2hvb3NlIGJhc2VkIG9uIHRo
ZSB2YWx1ZSBvZiBGSVAvRkRQCisgKiAgICAoZGVmYXVsdCBpZiBDUFUgZG9lcyBub3QgaGF2ZSBG
UENTRFMpLgorICoKKyAqIElmIEZQQ1NEUyAoYml0IDEzIGluIENQVUlEIGxlYWYgMHg3LCBzdWJs
ZWFmIDB4MCkgaXMgc2V0LCB0aGUgQ1BVCisgKiBuZXZlciBzYXZlcyBGQ1MvRkRTIGFuZCB0aGlz
IHBhcmFtZXRlciBzaG91bGQgYmUgbGVmdCBhdCB0aGUKKyAqIGRlZmF1bHQgb2YgOC4KKyAqLwor
I2RlZmluZSBIVk1fUEFSQU1fWDg3X0ZJUF9XSURUSCAzNgorCisjZGVmaW5lIEhWTV9OUl9QQVJB
TVMgMzcKIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19IVk1fUEFSQU1TX0hfXyAqLwotLQpnZW5l
cmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdl
bG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz
LnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBv-00078U-TY; Sun, 28 Feb 2016 23:55:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBv-00078A-7c
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:59 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 D2/2F-02984-E0983D65; Sun, 28 Feb 2016 23:55:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703757!27263479!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56726 invoked from network); 28 Feb 2016 23:55:57 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBs-0000sY-UB
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBs-0001qt-Sd
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBs-0001qt-Sd@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:56 +0000
Subject: [Xen-changelog] [xen master] docs: update README to include Clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGRmNWRlZDlhNzY4ODkzZWJmMGU0NzlkNmU0ZjUxZDVkNGYzMWEwNWUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
RnJpIEZlYiAyNiAxMjozMDo1NSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMDo1NSAyMDE2ICsw
MTAwCgogICAgZG9jczogdXBkYXRlIFJFQURNRSB0byBpbmNsdWRlIENsYW5nCiAgICAKICAgIFhl
biBub3cgYnVpbGRzIG9uIHg4NiB3aXRoIENsYW5nIDMuNSBhbmQgMy44LiAgVXBkYXRlIFJFQURN
RSB0byByZWZsZWN0IHRoaXMuCiAgICAKICAgIE1hcmsgQ2xhbmcgYXMgbm8gbG9uZ2VyIGEgcGVy
bWl0dGVkIGZhaWx1cmUgaW4gVHJhdmlzLCB0byBwcmV2ZW50IGZ1dHVyZQogICAgcmVncmVzc2lv
bnMgc2xpcHBpbmcgYmFjayBpbi4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBEb3VnIEdvbGRz
dGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+Ci0tLQogLnRyYXZpcy55bWwgfCAgMiAtLQogUkVBRE1F
ICAgICAgfCAxNSArKysrKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25z
KCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55
bWwKaW5kZXggMTg5ZDU2OC4uYjg0ZDM4ZiAxMDA2NDQKLS0tIGEvLnRyYXZpcy55bWwKKysrIGIv
LnRyYXZpcy55bWwKQEAgLTIsOCArMiw2IEBAIGxhbmd1YWdlOiBjCiBkaXN0OiB0cnVzdHkKIHN1
ZG86IHJlcXVpcmVkCiBtYXRyaXg6Ci0gICAgYWxsb3dfZmFpbHVyZXM6Ci0gICAgICAgIC0gY29t
cGlsZXI6IGNsYW5nCiAgICAgaW5jbHVkZToKICAgICAgICAgLSBjb21waWxlcjogZ2NjCiAgICAg
ICAgICAgZW52OiBYRU5fVEFSR0VUX0FSQ0g9eDg2XzY0CmRpZmYgLS1naXQgYS9SRUFETUUgYi9S
RUFETUUKaW5kZXggZGQzNmVjOC4uZmUyZTdjNiAxMDA2NDQKLS0tIGEvUkVBRE1FCisrKyBiL1JF
QURNRQpAQCAtMzUsMTMgKzM1LDE2IEBAIFNlY29uZCwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBy
ZXJlcXVpc2l0ZXMgZm9yIGJ1aWxkaW5nIGEgWGVuIHNvdXJjZQogcmVsZWFzZS4gTWFrZSBzdXJl
IHlvdSBoYXZlIGFsbCB0aGUgZm9sbG93aW5nIGluc3RhbGxlZCwgZWl0aGVyIGJ5CiB2aXNpdGlu
ZyB0aGUgcHJvamVjdCB3ZWJwYWdlIG9yIGluc3RhbGxpbmcgYSBwcmUtYnVpbHQgcGFja2FnZQog
cHJvdmlkZWQgYnkgeW91ciBPUyBkaXN0cmlidXRvcjoKLSAgICAqIEdDQwotICAgICAgLSBGb3Ig
eDg2IDQuMS4yXzIwMDcwMTE1IG9yIGxhdGVyCi0gICAgICAtIEZvciBBUk0gNC44IG9yIGxhdGVy
CiAgICAgKiBHTlUgTWFrZSB2My44MCBvciBsYXRlcgotICAgICogR05VIEJpbnV0aWxzOgotICAg
ICAgLSBGb3IgeDg2IDIuMTYuOTEuMC41IG9yIGxhdGVyCi0gICAgICAtIEZvciBBUk0gMi4yNCBv
ciBsYXRlcgorICAgICogQyBjb21waWxlciBhbmQgbGlua2VyOgorICAgICAgLSBGb3IgeDg2Ogor
ICAgICAgICAtIEdDQyA0LjEuMl8yMDA3MDExNSBvciBsYXRlcgorICAgICAgICAtIEdOVSBCaW51
dGlscyAyLjE2LjkxLjAuNSBvciBsYXRlcgorICAgICAgICBvcgorICAgICAgICAtIENsYW5nL0xM
Vk0gMy41IG9yIGxhdGVyCisgICAgICAtIEZvciBBUk06CisgICAgICAgIC0gR0NDIDQuOCBvciBs
YXRlcgorICAgICAgICAtIEdOVSBCaW51dGlscyAyLjI0IG9yIGxhdGVyCiAgICAgKiBEZXZlbG9w
bWVudCBpbnN0YWxsIG9mIHpsaWIgKGUuZy4sIHpsaWItZGV2KQogICAgICogRGV2ZWxvcG1lbnQg
aW5zdGFsbCBvZiBQeXRob24gdjIuMyBvciBsYXRlciAoZS5nLiwgcHl0aG9uLWRldikKICAgICAq
IERldmVsb3BtZW50IGluc3RhbGwgb2YgY3Vyc2VzIChlLmcuLCBsaWJuY3Vyc2VzLWRldikKLS0K
Z2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3Rl
cgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNo
YW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s
aXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:00 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBBv-00078U-TY; Sun, 28 Feb 2016 23:55:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBv-00078A-7c
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:59 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 D2/2F-02984-E0983D65; Sun, 28 Feb 2016 23:55:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703757!27263479!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 56726 invoked from network); 28 Feb 2016 23:55:57 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:55:57 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBs-0000sY-UB
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBBs-0001qt-Sd
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:55:56 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBBs-0001qt-Sd@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:55:56 +0000
Subject: [Xen-changelog] [xen master] docs: update README to include Clang
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGRmNWRlZDlhNzY4ODkzZWJmMGU0NzlkNmU0ZjUxZDVkNGYzMWEwNWUKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
RnJpIEZlYiAyNiAxMjozMDo1NSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMDo1NSAyMDE2ICsw
MTAwCgogICAgZG9jczogdXBkYXRlIFJFQURNRSB0byBpbmNsdWRlIENsYW5nCiAgICAKICAgIFhl
biBub3cgYnVpbGRzIG9uIHg4NiB3aXRoIENsYW5nIDMuNSBhbmQgMy44LiAgVXBkYXRlIFJFQURN
RSB0byByZWZsZWN0IHRoaXMuCiAgICAKICAgIE1hcmsgQ2xhbmcgYXMgbm8gbG9uZ2VyIGEgcGVy
bWl0dGVkIGZhaWx1cmUgaW4gVHJhdmlzLCB0byBwcmV2ZW50IGZ1dHVyZQogICAgcmVncmVzc2lv
bnMgc2xpcHBpbmcgYmFjayBpbi4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBEb3VnIEdvbGRz
dGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+Ci0tLQogLnRyYXZpcy55bWwgfCAgMiAtLQogUkVBRE1F
ICAgICAgfCAxNSArKysrKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25z
KCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55
bWwKaW5kZXggMTg5ZDU2OC4uYjg0ZDM4ZiAxMDA2NDQKLS0tIGEvLnRyYXZpcy55bWwKKysrIGIv
LnRyYXZpcy55bWwKQEAgLTIsOCArMiw2IEBAIGxhbmd1YWdlOiBjCiBkaXN0OiB0cnVzdHkKIHN1
ZG86IHJlcXVpcmVkCiBtYXRyaXg6Ci0gICAgYWxsb3dfZmFpbHVyZXM6Ci0gICAgICAgIC0gY29t
cGlsZXI6IGNsYW5nCiAgICAgaW5jbHVkZToKICAgICAgICAgLSBjb21waWxlcjogZ2NjCiAgICAg
ICAgICAgZW52OiBYRU5fVEFSR0VUX0FSQ0g9eDg2XzY0CmRpZmYgLS1naXQgYS9SRUFETUUgYi9S
RUFETUUKaW5kZXggZGQzNmVjOC4uZmUyZTdjNiAxMDA2NDQKLS0tIGEvUkVBRE1FCisrKyBiL1JF
QURNRQpAQCAtMzUsMTMgKzM1LDE2IEBAIFNlY29uZCwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBy
ZXJlcXVpc2l0ZXMgZm9yIGJ1aWxkaW5nIGEgWGVuIHNvdXJjZQogcmVsZWFzZS4gTWFrZSBzdXJl
IHlvdSBoYXZlIGFsbCB0aGUgZm9sbG93aW5nIGluc3RhbGxlZCwgZWl0aGVyIGJ5CiB2aXNpdGlu
ZyB0aGUgcHJvamVjdCB3ZWJwYWdlIG9yIGluc3RhbGxpbmcgYSBwcmUtYnVpbHQgcGFja2FnZQog
cHJvdmlkZWQgYnkgeW91ciBPUyBkaXN0cmlidXRvcjoKLSAgICAqIEdDQwotICAgICAgLSBGb3Ig
eDg2IDQuMS4yXzIwMDcwMTE1IG9yIGxhdGVyCi0gICAgICAtIEZvciBBUk0gNC44IG9yIGxhdGVy
CiAgICAgKiBHTlUgTWFrZSB2My44MCBvciBsYXRlcgotICAgICogR05VIEJpbnV0aWxzOgotICAg
ICAgLSBGb3IgeDg2IDIuMTYuOTEuMC41IG9yIGxhdGVyCi0gICAgICAtIEZvciBBUk0gMi4yNCBv
ciBsYXRlcgorICAgICogQyBjb21waWxlciBhbmQgbGlua2VyOgorICAgICAgLSBGb3IgeDg2Ogor
ICAgICAgICAtIEdDQyA0LjEuMl8yMDA3MDExNSBvciBsYXRlcgorICAgICAgICAtIEdOVSBCaW51
dGlscyAyLjE2LjkxLjAuNSBvciBsYXRlcgorICAgICAgICBvcgorICAgICAgICAtIENsYW5nL0xM
Vk0gMy41IG9yIGxhdGVyCisgICAgICAtIEZvciBBUk06CisgICAgICAgIC0gR0NDIDQuOCBvciBs
YXRlcgorICAgICAgICAtIEdOVSBCaW51dGlscyAyLjI0IG9yIGxhdGVyCiAgICAgKiBEZXZlbG9w
bWVudCBpbnN0YWxsIG9mIHpsaWIgKGUuZy4sIHpsaWItZGV2KQogICAgICogRGV2ZWxvcG1lbnQg
aW5zdGFsbCBvZiBQeXRob24gdjIuMyBvciBsYXRlciAoZS5nLiwgcHl0aG9uLWRldikKICAgICAq
IERldmVsb3BtZW50IGluc3RhbGwgb2YgY3Vyc2VzIChlLmcuLCBsaWJuY3Vyc2VzLWRldikKLS0K
Z2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3Rl
cgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNo
YW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s
aXN0cy54ZW5zb3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBC7-0007B3-1L; Sun, 28 Feb 2016 23:56:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC5-0007Am-KR
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:09 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
 E9/3C-02994-81983D65; Sun, 28 Feb 2016 23:56:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456703767!25558308!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37761 invoked from network); 28 Feb 2016 23:56:08 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC3-0000tP-8W
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC3-0001rc-5v
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBC3-0001rc-5v@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:07 +0000
Subject: [Xen-changelog] [xen master] printk: introduce separator modifiers
	for the %ph custom format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNkMjY2NzRkMDg4YWIwZDBmMTk3YmJmYWZhYmEzNzY3ZDE5NTk4NmIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
RnJpIEZlYiAyNiAxMjozMToxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMToxMSAyMDE2ICsw
MTAwCgogICAgcHJpbnRrOiBpbnRyb2R1Y2Ugc2VwYXJhdG9yIG1vZGlmaWVycyBmb3IgdGhlICVw
aCBjdXN0b20gZm9ybWF0CiAgICAKICAgIFRoZSBwcmludGsgZm9ybWF0cyAlKnBoe0MsRCxOfSBh
cmUgY2hvc2VuIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGVpciBMaW51eAogICAgY291bnRlcnBh
cnRzLgogICAgCiAgICBTYW1wbGU6CiAgICAKICAgICAgKFhFTikgYnVmOiAwMCAwMSAwMyAwNyA3
OCA2NSA2ZSAwMAogICAgICAoWEVOKSBidWY6IDAwOjAxOjAzOjA3Ojc4OjY1OjZlOjAwCiAgICAg
IChYRU4pIGJ1ZjogMDAtMDEtMDMtMDctNzgtNjUtNmUtMDAKICAgICAgKFhFTikgYnVmOiAwMDAx
MDMwNzc4NjU2ZTAwCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIGRvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQgfCAgOSArKysr
KysrLS0KIHhlbi9jb21tb24vdnNwcmludGYuYyAgICAgICAgfCAzMiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA1IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQgYi9k
b2NzL21pc2MvcHJpbnRrLWZvcm1hdHMudHh0CmluZGV4IGRlZTBmM2UuLjUyNTEwOGYgMTAwNjQ0
Ci0tLSBhL2RvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQKKysrIGIvZG9jcy9taXNjL3ByaW50
ay1mb3JtYXRzLnR4dApAQCAtNSw4ICs1LDEzIEBAIHBvaW50ZXJzIGFyZSBmaW5lLiAgTnVtYmVy
cyBzaG91bGQgbWFrZSB1c2Ugb2YgdGhlIF9wKCkgbWFjcm8uCiAKIFJhdyBidWZmZXIgYXMgaGV4
IHN0cmluZzoKIAotICAgICAgICUqcGggICAgVXAgdG8gNjQgY2hhcmFjdGVycywgcHJpbnRlZCBh
cyAiMDAgMDEgMDIgLi4uIGZmIi4gIEJ1ZmZlciBsZW5ndGgKLSAgICAgICAgICAgICAgIGV4cGVj
dGVkIHZpYSB0aGUgZmllbGRfd2lkdGggcGFyYW10ZXIuIGkuZS4gcHJpbnRrKCIlKnBoIiwgOCwg
YnVmZmVyKTsKKyAgICAgICAlKnBoICAgIDAwIDAxIDAyICAuLi4gIDNmCisgICAgICAgJSpwaEMg
ICAwMDowMTowMjogLi4uIDozZgorICAgICAgICUqcGhEICAgMDAtMDEtMDItIC4uLiAtM2YKKyAg
ICAgICAlKnBoTiAgIDAwMDEwMiAuLi4gM2YKKworICAgICAgIFVwIHRvIDY0IGNoYXJhY3RlcnMu
ICBCdWZmZXIgbGVuZ3RoIGV4cGVjdGVkIHZpYSB0aGUgZmllbGRfd2lkdGgKKyAgICAgICBwYXJh
bXRlci4gaS5lLiBwcmludGsoIiUqcGgiLCA4LCBidWZmZXIpOwogCiBTeW1ib2wvRnVuY3Rpb24g
cG9pbnRlcnM6CiAKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdnNwcmludGYuYyBiL3hlbi9jb21t
b24vdnNwcmludGYuYwppbmRleCA1MWI1ZTRlLi4xOGQyNjM0IDEwMDY0NAotLS0gYS94ZW4vY29t
bW9uL3ZzcHJpbnRmLmMKKysrIGIveGVuL2NvbW1vbi92c3ByaW50Zi5jCkBAIC0yNzUsNiArMjc1
LDcgQEAgc3RhdGljIGNoYXIgKnBvaW50ZXIoY2hhciAqc3RyLCBjaGFyICplbmQsIGNvbnN0IGNo
YXIgKipmbXRfcHRyLAogICAgIGNhc2UgJ2gnOiAvKiBSYXcgYnVmZmVyIGFzIGhleCBzdHJpbmcu
ICovCiAgICAgewogICAgICAgICBjb25zdCB1aW50OF90ICpoZXhfYnVmZmVyID0gYXJnOworICAg
ICAgICBjaGFyIHNlcCA9ICcgJzsgLyogU2VwYXJhdG9yIGNoYXJhY3Rlci4gKi8KICAgICAgICAg
dW5zaWduZWQgaW50IGk7CiAKICAgICAgICAgLyogQ29uc3VtZWQgJ2gnIGZyb20gdGhlIGZvcm1h
dCBzdHJpbmcuICovCkBAIC0yODYsNiArMjg3LDI4IEBAIHN0YXRpYyBjaGFyICpwb2ludGVyKGNo
YXIgKnN0ciwgY2hhciAqZW5kLCBjb25zdCBjaGFyICoqZm10X3B0ciwKICAgICAgICAgaWYgKCBm
aWVsZF93aWR0aCA+IDY0ICkKICAgICAgICAgICAgIGZpZWxkX3dpZHRoID0gNjQ7CiAKKyAgICAg
ICAgLyoKKyAgICAgICAgICogUGVlayBhaGVhZCBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBzZWUg
aWYgYSByZWNvZ25pc2VkIHNlcGFyYXRvcgorICAgICAgICAgKiBtb2RpZmllciBpcyBwcmVzZW50
LgorICAgICAgICAgKi8KKyAgICAgICAgc3dpdGNoICggZm10WzJdICkKKyAgICAgICAgeworICAg
ICAgICBjYXNlICdDJzogLyogQ29sb25zLiAqLworICAgICAgICAgICAgKysqZm10X3B0cjsKKyAg
ICAgICAgICAgIHNlcCA9ICc6JzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Ug
J0QnOiAvKiBEYXNoZXMuICovCisgICAgICAgICAgICArKypmbXRfcHRyOworICAgICAgICAgICAg
c2VwID0gJy0nOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAnTic6IC8qIE5v
IHNlcGFyYXRvci4gKi8KKyAgICAgICAgICAgICsrKmZtdF9wdHI7CisgICAgICAgICAgICBzZXAg
PSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKCBpID0g
MDsgOyApCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qIEVhY2ggYnl0ZTogMiBjaGFycywgMC1w
YWRkZWQsIGJhc2UgMTYsIG5vIGhleCBwcmVmaXguICovCkBAIC0yOTQsOSArMzE3LDEyIEBAIHN0
YXRpYyBjaGFyICpwb2ludGVyKGNoYXIgKnN0ciwgY2hhciAqZW5kLCBjb25zdCBjaGFyICoqZm10
X3B0ciwKICAgICAgICAgICAgIGlmICggKytpID09IGZpZWxkX3dpZHRoICkKICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RyOwogCi0gICAgICAgICAgICBpZiAoIHN0ciA8IGVuZCApCi0gICAgICAg
ICAgICAgICAgKnN0ciA9ICcgJzsKLSAgICAgICAgICAgICsrc3RyOworICAgICAgICAgICAgaWYg
KCBzZXAgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICggc3RyIDwgZW5kICkK
KyAgICAgICAgICAgICAgICAgICAgKnN0ciA9IHNlcDsKKyAgICAgICAgICAgICAgICArK3N0cjsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBh
dGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlz
dApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20v
eGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:11 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBC7-0007B3-1L; Sun, 28 Feb 2016 23:56:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC5-0007Am-KR
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:09 +0000
Received: from [85.158.139.211] by server-12.bemta-5.messagelabs.com id
 E9/3C-02994-81983D65; Sun, 28 Feb 2016 23:56:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1456703767!25558308!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 37761 invoked from network); 28 Feb 2016 23:56:08 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:08 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC3-0000tP-8W
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBC3-0001rc-5v
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:07 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBC3-0001rc-5v@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:07 +0000
Subject: [Xen-changelog] [xen master] printk: introduce separator modifiers
	for the %ph custom format
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNkMjY2NzRkMDg4YWIwZDBmMTk3YmJmYWZhYmEzNzY3ZDE5NTk4NmIKQXV0aG9yOiAg
ICAgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQXV0aG9yRGF0ZTog
RnJpIEZlYiAyNiAxMjozMToxMSAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxq
YmV1bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozMToxMSAyMDE2ICsw
MTAwCgogICAgcHJpbnRrOiBpbnRyb2R1Y2Ugc2VwYXJhdG9yIG1vZGlmaWVycyBmb3IgdGhlICVw
aCBjdXN0b20gZm9ybWF0CiAgICAKICAgIFRoZSBwcmludGsgZm9ybWF0cyAlKnBoe0MsRCxOfSBh
cmUgY2hvc2VuIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGVpciBMaW51eAogICAgY291bnRlcnBh
cnRzLgogICAgCiAgICBTYW1wbGU6CiAgICAKICAgICAgKFhFTikgYnVmOiAwMCAwMSAwMyAwNyA3
OCA2NSA2ZSAwMAogICAgICAoWEVOKSBidWY6IDAwOjAxOjAzOjA3Ojc4OjY1OjZlOjAwCiAgICAg
IChYRU4pIGJ1ZjogMDAtMDEtMDMtMDctNzgtNjUtNmUtMDAKICAgICAgKFhFTikgYnVmOiAwMDAx
MDMwNzc4NjU2ZTAwCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJl
dy5jb29wZXIzQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPgotLS0KIGRvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQgfCAgOSArKysr
KysrLS0KIHhlbi9jb21tb24vdnNwcmludGYuYyAgICAgICAgfCAzMiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA1IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQgYi9k
b2NzL21pc2MvcHJpbnRrLWZvcm1hdHMudHh0CmluZGV4IGRlZTBmM2UuLjUyNTEwOGYgMTAwNjQ0
Ci0tLSBhL2RvY3MvbWlzYy9wcmludGstZm9ybWF0cy50eHQKKysrIGIvZG9jcy9taXNjL3ByaW50
ay1mb3JtYXRzLnR4dApAQCAtNSw4ICs1LDEzIEBAIHBvaW50ZXJzIGFyZSBmaW5lLiAgTnVtYmVy
cyBzaG91bGQgbWFrZSB1c2Ugb2YgdGhlIF9wKCkgbWFjcm8uCiAKIFJhdyBidWZmZXIgYXMgaGV4
IHN0cmluZzoKIAotICAgICAgICUqcGggICAgVXAgdG8gNjQgY2hhcmFjdGVycywgcHJpbnRlZCBh
cyAiMDAgMDEgMDIgLi4uIGZmIi4gIEJ1ZmZlciBsZW5ndGgKLSAgICAgICAgICAgICAgIGV4cGVj
dGVkIHZpYSB0aGUgZmllbGRfd2lkdGggcGFyYW10ZXIuIGkuZS4gcHJpbnRrKCIlKnBoIiwgOCwg
YnVmZmVyKTsKKyAgICAgICAlKnBoICAgIDAwIDAxIDAyICAuLi4gIDNmCisgICAgICAgJSpwaEMg
ICAwMDowMTowMjogLi4uIDozZgorICAgICAgICUqcGhEICAgMDAtMDEtMDItIC4uLiAtM2YKKyAg
ICAgICAlKnBoTiAgIDAwMDEwMiAuLi4gM2YKKworICAgICAgIFVwIHRvIDY0IGNoYXJhY3RlcnMu
ICBCdWZmZXIgbGVuZ3RoIGV4cGVjdGVkIHZpYSB0aGUgZmllbGRfd2lkdGgKKyAgICAgICBwYXJh
bXRlci4gaS5lLiBwcmludGsoIiUqcGgiLCA4LCBidWZmZXIpOwogCiBTeW1ib2wvRnVuY3Rpb24g
cG9pbnRlcnM6CiAKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdnNwcmludGYuYyBiL3hlbi9jb21t
b24vdnNwcmludGYuYwppbmRleCA1MWI1ZTRlLi4xOGQyNjM0IDEwMDY0NAotLS0gYS94ZW4vY29t
bW9uL3ZzcHJpbnRmLmMKKysrIGIveGVuL2NvbW1vbi92c3ByaW50Zi5jCkBAIC0yNzUsNiArMjc1
LDcgQEAgc3RhdGljIGNoYXIgKnBvaW50ZXIoY2hhciAqc3RyLCBjaGFyICplbmQsIGNvbnN0IGNo
YXIgKipmbXRfcHRyLAogICAgIGNhc2UgJ2gnOiAvKiBSYXcgYnVmZmVyIGFzIGhleCBzdHJpbmcu
ICovCiAgICAgewogICAgICAgICBjb25zdCB1aW50OF90ICpoZXhfYnVmZmVyID0gYXJnOworICAg
ICAgICBjaGFyIHNlcCA9ICcgJzsgLyogU2VwYXJhdG9yIGNoYXJhY3Rlci4gKi8KICAgICAgICAg
dW5zaWduZWQgaW50IGk7CiAKICAgICAgICAgLyogQ29uc3VtZWQgJ2gnIGZyb20gdGhlIGZvcm1h
dCBzdHJpbmcuICovCkBAIC0yODYsNiArMjg3LDI4IEBAIHN0YXRpYyBjaGFyICpwb2ludGVyKGNo
YXIgKnN0ciwgY2hhciAqZW5kLCBjb25zdCBjaGFyICoqZm10X3B0ciwKICAgICAgICAgaWYgKCBm
aWVsZF93aWR0aCA+IDY0ICkKICAgICAgICAgICAgIGZpZWxkX3dpZHRoID0gNjQ7CiAKKyAgICAg
ICAgLyoKKyAgICAgICAgICogUGVlayBhaGVhZCBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBzZWUg
aWYgYSByZWNvZ25pc2VkIHNlcGFyYXRvcgorICAgICAgICAgKiBtb2RpZmllciBpcyBwcmVzZW50
LgorICAgICAgICAgKi8KKyAgICAgICAgc3dpdGNoICggZm10WzJdICkKKyAgICAgICAgeworICAg
ICAgICBjYXNlICdDJzogLyogQ29sb25zLiAqLworICAgICAgICAgICAgKysqZm10X3B0cjsKKyAg
ICAgICAgICAgIHNlcCA9ICc6JzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Ug
J0QnOiAvKiBEYXNoZXMuICovCisgICAgICAgICAgICArKypmbXRfcHRyOworICAgICAgICAgICAg
c2VwID0gJy0nOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAnTic6IC8qIE5v
IHNlcGFyYXRvci4gKi8KKyAgICAgICAgICAgICsrKmZtdF9wdHI7CisgICAgICAgICAgICBzZXAg
PSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKCBpID0g
MDsgOyApCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qIEVhY2ggYnl0ZTogMiBjaGFycywgMC1w
YWRkZWQsIGJhc2UgMTYsIG5vIGhleCBwcmVmaXguICovCkBAIC0yOTQsOSArMzE3LDEyIEBAIHN0
YXRpYyBjaGFyICpwb2ludGVyKGNoYXIgKnN0ciwgY2hhciAqZW5kLCBjb25zdCBjaGFyICoqZm10
X3B0ciwKICAgICAgICAgICAgIGlmICggKytpID09IGZpZWxkX3dpZHRoICkKICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RyOwogCi0gICAgICAgICAgICBpZiAoIHN0ciA8IGVuZCApCi0gICAgICAg
ICAgICAgICAgKnN0ciA9ICcgJzsKLSAgICAgICAgICAgICsrc3RyOworICAgICAgICAgICAgaWYg
KCBzZXAgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICggc3RyIDwgZW5kICkK
KyAgICAgICAgICAgICAgICAgICAgKnN0ciA9IHNlcDsKKyAgICAgICAgICAgICAgICArK3N0cjsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBh
dGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlz
dApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20v
eGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCH-0007Db-3E; Sun, 28 Feb 2016 23:56:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCG-0007DK-9J
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:20 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
 1C/05-02874-32983D65; Sun, 28 Feb 2016 23:56:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456703777!25372833!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20636 invoked from network); 28 Feb 2016 23:56:18 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCD-0000tZ-M2
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCD-0001t7-Hk
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCD-0001t7-Hk@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:17 +0000
Subject: [Xen-changelog] [xen master] build: consolidate CONFIG_HAS_ACPI and
	CONFIG_ACPI
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGZiMWU4NTNjNTM1ODBjNGQ5YmUzNTE5ZTU1MjE0MTgwNWI3NWIxOWMKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjMxOjQ3IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjMxOjQ3IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29uc29saWRhdGUgQ09ORklHX0hBU19BQ1BJIGFuZCBDT05GSUdfQUNQSQogICAg
CiAgICBObyByZWFsIGFkdmFudGFnZSB0byBrZWVwaW5nIHRoZXNlIHNlcGFyYXRlLiBUaGUgdXNl
IGNhc2Ugb2YgdGhpcyBmcm9tCiAgICBMaW51eCBpcyB3aGVuIHRoZSBwbGF0Zm9ybSBvciB0YXJn
ZXQgYm9hcmQgaGFzIHN1cHBvcnQgZm9yIHNvbWV0aGluZyBidXQKICAgIHRoZSB1c2VyIHdhbnRz
IHRvIGJlIGdpdmVuIHRoZSBvcHRpb24gdG8gZGlzYWJsZSBpdC4KICAgIAogICAgU2lnbmVkLW9m
Zi1ieTogRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvS2NvbmZp
ZyAgICAgICAgIHwgMiArLQogeGVuL2NvbW1vbi9zeXNjdGwuYyAgICAgICAgICB8IDIgKy0KIHhl
bi9kcml2ZXJzL01ha2VmaWxlICAgICAgICAgfCAyICstCiB4ZW4vZHJpdmVycy9hY3BpL0tjb25m
aWcgICAgIHwgNCArKy0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIHwgMSAtCiA1IGZp
bGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvS2NvbmZpZyBiL3hlbi9hcmNoL3g4Ni9LY29uZmlnCmluZGV4IDNhOTBm
NDcuLjYzZjRiMTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL3g4Ni9LY29uZmlnCkBAIC0zLDkgKzMsOSBAQCBjb25maWcgWDg2XzY0CiAKIGNvbmZpZyBY
ODYKIAlkZWZfYm9vbCB5CisJc2VsZWN0IEFDUEkKIAlzZWxlY3QgQUNQSV9MRUdBQ1lfVEFCTEVT
X0xPT0tVUAogCXNlbGVjdCBDT01QQVQKLQlzZWxlY3QgSEFTX0FDUEkKIAlzZWxlY3QgSEFTX0NQ
VUZSRVEKIAlzZWxlY3QgSEFTX0VIQ0kKIAlzZWxlY3QgSEFTX0dEQlNYCmRpZmYgLS1naXQgYS94
ZW4vY29tbW9uL3N5c2N0bC5jIGIveGVuL2NvbW1vbi9zeXNjdGwuYwppbmRleCAxNjI0MDI0Li41
ODE2MmY1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3N5c2N0bC5jCisrKyBiL3hlbi9jb21tb24v
c3lzY3RsLmMKQEAgLTE3MSw3ICsxNzEsNyBAQCBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1RfSEFO
RExFX1BBUkFNKHhlbl9zeXNjdGxfdCkgdV9zeXNjdGwpCiAgICAgICAgIG9wLT51LmF2YWlsaGVh
cC5hdmFpbF9ieXRlcyA8PD0gUEFHRV9TSElGVDsKICAgICAgICAgYnJlYWs7CiAKLSNpZiBkZWZp
bmVkIChDT05GSUdfSEFTX0FDUEkpICYmIGRlZmluZWQgKENPTkZJR19IQVNfQ1BVRlJFUSkKKyNp
ZiBkZWZpbmVkIChDT05GSUdfQUNQSSkgJiYgZGVmaW5lZCAoQ09ORklHX0hBU19DUFVGUkVRKQog
ICAgIGNhc2UgWEVOX1NZU0NUTF9nZXRfcG1zdGF0OgogICAgICAgICByZXQgPSBkb19nZXRfcG1f
aW5mbygmb3AtPnUuZ2V0X3Btc3RhdCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVu
L2RyaXZlcnMvTWFrZWZpbGUgYi94ZW4vZHJpdmVycy9NYWtlZmlsZQppbmRleCA3YmJiNjU0Li42
MjcwZTgzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVy
cy9NYWtlZmlsZQpAQCAtMiw1ICsyLDUgQEAgc3ViZGlyLXkgKz0gY2hhcgogc3ViZGlyLSQoQ09O
RklHX0hBU19DUFVGUkVRKSArPSBjcHVmcmVxCiBzdWJkaXItJChDT05GSUdfSEFTX1BDSSkgKz0g
cGNpCiBzdWJkaXItJChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSArPSBwYXNzdGhyb3VnaAotc3Vi
ZGlyLSQoQ09ORklHX0hBU19BQ1BJKSArPSBhY3BpCitzdWJkaXItJChDT05GSUdfQUNQSSkgKz0g
YWNwaQogc3ViZGlyLSQoQ09ORklHX0hBU19WSURFTykgKz0gdmlkZW8KZGlmZiAtLWdpdCBhL3hl
bi9kcml2ZXJzL2FjcGkvS2NvbmZpZyBiL3hlbi9kcml2ZXJzL2FjcGkvS2NvbmZpZwppbmRleCA4
MmQ3M2NhLi4xZWRjY2E3IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9hY3BpL0tjb25maWcKKysr
IGIveGVuL2RyaXZlcnMvYWNwaS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogCi0jIFNlbGVjdCBI
QVNfQUNQSSBpZiBBQ1BJIGlzIHN1cHBvcnRlZAotY29uZmlnIEhBU19BQ1BJCisjIFNlbGVjdCBB
Q1BJIGlmIEFDUEkgaXMgc3VwcG9ydGVkCitjb25maWcgQUNQSQogCWJvb2wKIAogY29uZmlnIEFD
UElfTEVHQUNZX1RBQkxFU19MT09LVVAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IGM5ZjA4YzIuLmU5
MDc3NDEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMzcsNyArMzcsNiBAQAogLyogSW50ZWwgUDQg
Y3VycmVudGx5IGhhcyBsYXJnZXN0IGNhY2hlIGxpbmUgKEwyIGxpbmUgc2l6ZSBpcyAxMjggYnl0
ZXMpLiAqLwogI2RlZmluZSBDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUIDcKIAotI2RlZmluZSBD
T05GSUdfQUNQSSAxCiAjZGVmaW5lIENPTkZJR19BQ1BJX0JPT1QgMQogI2RlZmluZSBDT05GSUdf
QUNQSV9TTEVFUCAxCiAjZGVmaW5lIENPTkZJR19BQ1BJX05VTUEgMQotLQpnZW5lcmF0ZWQgYnkg
Z2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxp
bmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJj
ZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:21 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCH-0007Db-3E; Sun, 28 Feb 2016 23:56:21 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCG-0007DK-9J
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:20 +0000
Received: from [193.109.254.147] by server-13.bemta-14.messagelabs.com id
 1C/05-02874-32983D65; Sun, 28 Feb 2016 23:56:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456703777!25372833!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20636 invoked from network); 28 Feb 2016 23:56:18 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:18 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCD-0000tZ-M2
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCD-0001t7-Hk
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:17 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCD-0001t7-Hk@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:17 +0000
Subject: [Xen-changelog] [xen master] build: consolidate CONFIG_HAS_ACPI and
	CONFIG_ACPI
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGZiMWU4NTNjNTM1ODBjNGQ5YmUzNTE5ZTU1MjE0MTgwNWI3NWIxOWMKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjMxOjQ3IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjMxOjQ3IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29uc29saWRhdGUgQ09ORklHX0hBU19BQ1BJIGFuZCBDT05GSUdfQUNQSQogICAg
CiAgICBObyByZWFsIGFkdmFudGFnZSB0byBrZWVwaW5nIHRoZXNlIHNlcGFyYXRlLiBUaGUgdXNl
IGNhc2Ugb2YgdGhpcyBmcm9tCiAgICBMaW51eCBpcyB3aGVuIHRoZSBwbGF0Zm9ybSBvciB0YXJn
ZXQgYm9hcmQgaGFzIHN1cHBvcnQgZm9yIHNvbWV0aGluZyBidXQKICAgIHRoZSB1c2VyIHdhbnRz
IHRvIGJlIGdpdmVuIHRoZSBvcHRpb24gdG8gZGlzYWJsZSBpdC4KICAgIAogICAgU2lnbmVkLW9m
Zi1ieTogRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvS2NvbmZp
ZyAgICAgICAgIHwgMiArLQogeGVuL2NvbW1vbi9zeXNjdGwuYyAgICAgICAgICB8IDIgKy0KIHhl
bi9kcml2ZXJzL01ha2VmaWxlICAgICAgICAgfCAyICstCiB4ZW4vZHJpdmVycy9hY3BpL0tjb25m
aWcgICAgIHwgNCArKy0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIHwgMSAtCiA1IGZp
bGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS94ZW4vYXJjaC94ODYvS2NvbmZpZyBiL3hlbi9hcmNoL3g4Ni9LY29uZmlnCmluZGV4IDNhOTBm
NDcuLjYzZjRiMTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9LY29uZmlnCisrKyBiL3hlbi9h
cmNoL3g4Ni9LY29uZmlnCkBAIC0zLDkgKzMsOSBAQCBjb25maWcgWDg2XzY0CiAKIGNvbmZpZyBY
ODYKIAlkZWZfYm9vbCB5CisJc2VsZWN0IEFDUEkKIAlzZWxlY3QgQUNQSV9MRUdBQ1lfVEFCTEVT
X0xPT0tVUAogCXNlbGVjdCBDT01QQVQKLQlzZWxlY3QgSEFTX0FDUEkKIAlzZWxlY3QgSEFTX0NQ
VUZSRVEKIAlzZWxlY3QgSEFTX0VIQ0kKIAlzZWxlY3QgSEFTX0dEQlNYCmRpZmYgLS1naXQgYS94
ZW4vY29tbW9uL3N5c2N0bC5jIGIveGVuL2NvbW1vbi9zeXNjdGwuYwppbmRleCAxNjI0MDI0Li41
ODE2MmY1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3N5c2N0bC5jCisrKyBiL3hlbi9jb21tb24v
c3lzY3RsLmMKQEAgLTE3MSw3ICsxNzEsNyBAQCBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1RfSEFO
RExFX1BBUkFNKHhlbl9zeXNjdGxfdCkgdV9zeXNjdGwpCiAgICAgICAgIG9wLT51LmF2YWlsaGVh
cC5hdmFpbF9ieXRlcyA8PD0gUEFHRV9TSElGVDsKICAgICAgICAgYnJlYWs7CiAKLSNpZiBkZWZp
bmVkIChDT05GSUdfSEFTX0FDUEkpICYmIGRlZmluZWQgKENPTkZJR19IQVNfQ1BVRlJFUSkKKyNp
ZiBkZWZpbmVkIChDT05GSUdfQUNQSSkgJiYgZGVmaW5lZCAoQ09ORklHX0hBU19DUFVGUkVRKQog
ICAgIGNhc2UgWEVOX1NZU0NUTF9nZXRfcG1zdGF0OgogICAgICAgICByZXQgPSBkb19nZXRfcG1f
aW5mbygmb3AtPnUuZ2V0X3Btc3RhdCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVu
L2RyaXZlcnMvTWFrZWZpbGUgYi94ZW4vZHJpdmVycy9NYWtlZmlsZQppbmRleCA3YmJiNjU0Li42
MjcwZTgzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVy
cy9NYWtlZmlsZQpAQCAtMiw1ICsyLDUgQEAgc3ViZGlyLXkgKz0gY2hhcgogc3ViZGlyLSQoQ09O
RklHX0hBU19DUFVGUkVRKSArPSBjcHVmcmVxCiBzdWJkaXItJChDT05GSUdfSEFTX1BDSSkgKz0g
cGNpCiBzdWJkaXItJChDT05GSUdfSEFTX1BBU1NUSFJPVUdIKSArPSBwYXNzdGhyb3VnaAotc3Vi
ZGlyLSQoQ09ORklHX0hBU19BQ1BJKSArPSBhY3BpCitzdWJkaXItJChDT05GSUdfQUNQSSkgKz0g
YWNwaQogc3ViZGlyLSQoQ09ORklHX0hBU19WSURFTykgKz0gdmlkZW8KZGlmZiAtLWdpdCBhL3hl
bi9kcml2ZXJzL2FjcGkvS2NvbmZpZyBiL3hlbi9kcml2ZXJzL2FjcGkvS2NvbmZpZwppbmRleCA4
MmQ3M2NhLi4xZWRjY2E3IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9hY3BpL0tjb25maWcKKysr
IGIveGVuL2RyaXZlcnMvYWNwaS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogCi0jIFNlbGVjdCBI
QVNfQUNQSSBpZiBBQ1BJIGlzIHN1cHBvcnRlZAotY29uZmlnIEhBU19BQ1BJCisjIFNlbGVjdCBB
Q1BJIGlmIEFDUEkgaXMgc3VwcG9ydGVkCitjb25maWcgQUNQSQogCWJvb2wKIAogY29uZmlnIEFD
UElfTEVHQUNZX1RBQkxFU19MT09LVVAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
Y29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IGM5ZjA4YzIuLmU5
MDc3NDEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIveGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMzcsNyArMzcsNiBAQAogLyogSW50ZWwgUDQg
Y3VycmVudGx5IGhhcyBsYXJnZXN0IGNhY2hlIGxpbmUgKEwyIGxpbmUgc2l6ZSBpcyAxMjggYnl0
ZXMpLiAqLwogI2RlZmluZSBDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUIDcKIAotI2RlZmluZSBD
T05GSUdfQUNQSSAxCiAjZGVmaW5lIENPTkZJR19BQ1BJX0JPT1QgMQogI2RlZmluZSBDT05GSUdf
QUNQSV9TTEVFUCAxCiAjZGVmaW5lIENPTkZJR19BQ1BJX05VTUEgMQotLQpnZW5lcmF0ZWQgYnkg
Z2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxp
bmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJj
ZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCS-0007Fw-6V; Sun, 28 Feb 2016 23:56:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCQ-0007Fd-LS
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:30 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 88/2B-03109-D2983D65; Sun, 28 Feb 2016 23:56:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456703788!25585521!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31356 invoked from network); 28 Feb 2016 23:56:29 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCO-0000tl-2W
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCO-0001tt-0C
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCO-0001tt-0C@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:28 +0000
Subject: [Xen-changelog] [xen master] build: convert HAS_NUMA to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDFhZmVhOGQzYTliOTQ3OTEyZTZiZTU4N2I0NjJhMTU5ZmM3Y2Q1ZDIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjMzOjE0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjMzOjE0IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29udmVydCBIQVNfTlVNQSB0byBLY29uZmlnCiAgICAKICAgIENvbnZlcnQgSEFT
X05VTUEgdG8gS2NvbmZpZyBhcyBDT05GSUdfTlVNQSBhbmQgbGV0IENPTkZJR19OVU1BIGJlCiAg
ICBkZWZpbmVkIGJ5IEtjb25maWcuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IERvdWcgR29sZHN0
ZWluIDxjYXJkb2VAY2FyZG9lLmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L0tjb25maWcgICAgICAgICB8IDEgKwog
eGVuL2FyY2gveDg2L1J1bGVzLm1rICAgICAgICB8IDEgLQogeGVuL2RyaXZlcnMvYWNwaS9LY29u
ZmlnICAgICB8IDMgKysrCiB4ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlICAgIHwgMiArLQogeGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCB8IDEgLQogNSBmaWxlcyBjaGFuZ2VkLCA1IGluc2Vy
dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L0tjb25m
aWcgYi94ZW4vYXJjaC94ODYvS2NvbmZpZwppbmRleCA2M2Y0YjE5Li42MGQ1ZmI4IDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYvS2NvbmZpZworKysgYi94ZW4vYXJjaC94ODYvS2NvbmZpZwpAQCAt
MTksNiArMTksNyBAQCBjb25maWcgWDg2CiAJc2VsZWN0IEhBU19QQ0kKIAlzZWxlY3QgSEFTX1BE
WAogCXNlbGVjdCBIQVNfVkdBCisJc2VsZWN0IE5VTUEKIAogY29uZmlnIEFSQ0hfREVGQ09ORklH
CiAJc3RyaW5nCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvUnVsZXMubWsgYi94ZW4vYXJjaC94
ODYvUnVsZXMubWsKaW5kZXggMTQ1MTllMy4uYzFmZmY2NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L1J1bGVzLm1rCisrKyBiL3hlbi9hcmNoL3g4Ni9SdWxlcy5tawpAQCAtMSw3ICsxLDYgQEAK
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgeDg2LXNwZWNpZmlj
IGRlZmluaXRpb25zCiAKLUhBU19OVU1BIDo9IHkKIEhBU19DT1JFX1BBUktJTkcgOj0geQogCiBD
RkxBR1MgKz0gLUkkKEJBU0VESVIpL2luY2x1ZGUgCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9h
Y3BpL0tjb25maWcgYi94ZW4vZHJpdmVycy9hY3BpL0tjb25maWcKaW5kZXggMWVkY2NhNy4uMTA3
NGRiZiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9LY29uZmlnCisrKyBiL3hlbi9kcml2
ZXJzL2FjcGkvS2NvbmZpZwpAQCAtNSwzICs1LDYgQEAgY29uZmlnIEFDUEkKIAogY29uZmlnIEFD
UElfTEVHQUNZX1RBQkxFU19MT09LVVAKIAlib29sCisKK2NvbmZpZyBOVU1BCisJYm9vbApkaWZm
IC0tZ2l0IGEveGVuL2RyaXZlcnMvYWNwaS9NYWtlZmlsZSBiL3hlbi9kcml2ZXJzL2FjcGkvTWFr
ZWZpbGUKaW5kZXggZmI2ZGZjMy4uNDQ0YjExZCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvYWNw
aS9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlCkBAIC0zLDcgKzMsNyBA
QCBzdWJkaXIteSArPSB1dGlsaXRpZXMKIHN1YmRpci0kKENPTkZJR19YODYpICs9IGFwZWkKIAog
b2JqLWJpbi15ICs9IHRhYmxlcy5pbml0Lm8KLW9iai0kKEhBU19OVU1BKSArPSBudW1hLm8KK29i
ai0kKENPTkZJR19OVU1BKSArPSBudW1hLm8KIG9iai15ICs9IG9zbC5vCiBvYmotJChDT05GSUdf
SEFTX0NQVUZSRVEpICs9IHBtc3RhdC5vCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IGU5MDc3NDEu
LjA4YWRkZmIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMjUsNyArMjUsNiBAQAogI2RlZmluZSBD
T05GSUdfSFBFVF9USU1FUiAxCiAjZGVmaW5lIENPTkZJR19YODZfTUNFX1RIRVJNQUwgMQogI2Rl
ZmluZSBDT05GSUdfSEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVEX0FDQ0VTUyAxCi0jZGVmaW5lIENP
TkZJR19OVU1BIDEKICNkZWZpbmUgQ09ORklHX0RJU0NPTlRJR01FTSAxCiAjZGVmaW5lIENPTkZJ
R19OVU1BX0VNVSAxCiAjZGVmaW5lIENPTkZJR19ET01BSU5fUEFHRSAxCi0tCmdlbmVyYXRlZCBi
eSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFp
bGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291
cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:32 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCS-0007Fw-6V; Sun, 28 Feb 2016 23:56:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCQ-0007Fd-LS
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:30 +0000
Received: from [85.158.137.68] by server-17.bemta-3.messagelabs.com id
 88/2B-03109-D2983D65; Sun, 28 Feb 2016 23:56:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1456703788!25585521!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31356 invoked from network); 28 Feb 2016 23:56:29 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:29 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCO-0000tl-2W
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCO-0001tt-0C
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:28 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCO-0001tt-0C@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:28 +0000
Subject: [Xen-changelog] [xen master] build: convert HAS_NUMA to Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDFhZmVhOGQzYTliOTQ3OTEyZTZiZTU4N2I0NjJhMTU5ZmM3Y2Q1ZDIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjMzOjE0IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjMzOjE0IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29udmVydCBIQVNfTlVNQSB0byBLY29uZmlnCiAgICAKICAgIENvbnZlcnQgSEFT
X05VTUEgdG8gS2NvbmZpZyBhcyBDT05GSUdfTlVNQSBhbmQgbGV0IENPTkZJR19OVU1BIGJlCiAg
ICBkZWZpbmVkIGJ5IEtjb25maWcuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IERvdWcgR29sZHN0
ZWluIDxjYXJkb2VAY2FyZG9lLmNvbT4KICAgIFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L0tjb25maWcgICAgICAgICB8IDEgKwog
eGVuL2FyY2gveDg2L1J1bGVzLm1rICAgICAgICB8IDEgLQogeGVuL2RyaXZlcnMvYWNwaS9LY29u
ZmlnICAgICB8IDMgKysrCiB4ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlICAgIHwgMiArLQogeGVu
L2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCB8IDEgLQogNSBmaWxlcyBjaGFuZ2VkLCA1IGluc2Vy
dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L0tjb25m
aWcgYi94ZW4vYXJjaC94ODYvS2NvbmZpZwppbmRleCA2M2Y0YjE5Li42MGQ1ZmI4IDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYvS2NvbmZpZworKysgYi94ZW4vYXJjaC94ODYvS2NvbmZpZwpAQCAt
MTksNiArMTksNyBAQCBjb25maWcgWDg2CiAJc2VsZWN0IEhBU19QQ0kKIAlzZWxlY3QgSEFTX1BE
WAogCXNlbGVjdCBIQVNfVkdBCisJc2VsZWN0IE5VTUEKIAogY29uZmlnIEFSQ0hfREVGQ09ORklH
CiAJc3RyaW5nCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvUnVsZXMubWsgYi94ZW4vYXJjaC94
ODYvUnVsZXMubWsKaW5kZXggMTQ1MTllMy4uYzFmZmY2NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L1J1bGVzLm1rCisrKyBiL3hlbi9hcmNoL3g4Ni9SdWxlcy5tawpAQCAtMSw3ICsxLDYgQEAK
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgeDg2LXNwZWNpZmlj
IGRlZmluaXRpb25zCiAKLUhBU19OVU1BIDo9IHkKIEhBU19DT1JFX1BBUktJTkcgOj0geQogCiBD
RkxBR1MgKz0gLUkkKEJBU0VESVIpL2luY2x1ZGUgCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9h
Y3BpL0tjb25maWcgYi94ZW4vZHJpdmVycy9hY3BpL0tjb25maWcKaW5kZXggMWVkY2NhNy4uMTA3
NGRiZiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9LY29uZmlnCisrKyBiL3hlbi9kcml2
ZXJzL2FjcGkvS2NvbmZpZwpAQCAtNSwzICs1LDYgQEAgY29uZmlnIEFDUEkKIAogY29uZmlnIEFD
UElfTEVHQUNZX1RBQkxFU19MT09LVVAKIAlib29sCisKK2NvbmZpZyBOVU1BCisJYm9vbApkaWZm
IC0tZ2l0IGEveGVuL2RyaXZlcnMvYWNwaS9NYWtlZmlsZSBiL3hlbi9kcml2ZXJzL2FjcGkvTWFr
ZWZpbGUKaW5kZXggZmI2ZGZjMy4uNDQ0YjExZCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvYWNw
aS9NYWtlZmlsZQorKysgYi94ZW4vZHJpdmVycy9hY3BpL01ha2VmaWxlCkBAIC0zLDcgKzMsNyBA
QCBzdWJkaXIteSArPSB1dGlsaXRpZXMKIHN1YmRpci0kKENPTkZJR19YODYpICs9IGFwZWkKIAog
b2JqLWJpbi15ICs9IHRhYmxlcy5pbml0Lm8KLW9iai0kKEhBU19OVU1BKSArPSBudW1hLm8KK29i
ai0kKENPTkZJR19OVU1BKSArPSBudW1hLm8KIG9iai15ICs9IG9zbC5vCiBvYmotJChDT05GSUdf
SEFTX0NQVUZSRVEpICs9IHBtc3RhdC5vCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14
ODYvY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IGU5MDc3NDEu
LjA4YWRkZmIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIv
eGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMjUsNyArMjUsNiBAQAogI2RlZmluZSBD
T05GSUdfSFBFVF9USU1FUiAxCiAjZGVmaW5lIENPTkZJR19YODZfTUNFX1RIRVJNQUwgMQogI2Rl
ZmluZSBDT05GSUdfSEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVEX0FDQ0VTUyAxCi0jZGVmaW5lIENP
TkZJR19OVU1BIDEKICNkZWZpbmUgQ09ORklHX0RJU0NPTlRJR01FTSAxCiAjZGVmaW5lIENPTkZJ
R19OVU1BX0VNVSAxCiAjZGVmaW5lIENPTkZJR19ET01BSU5fUEFHRSAxCi0tCmdlbmVyYXRlZCBi
eSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFp
bGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291
cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCc-0007Hy-8e; Sun, 28 Feb 2016 23:56:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCb-0007Hk-5e
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:41 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
 BF/B6-02987-83983D65; Sun, 28 Feb 2016 23:56:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1456703798!25295748!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44127 invoked from network); 28 Feb 2016 23:56:39 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCY-0000u1-GK
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCY-0001uT-CA
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCY-0001uT-CA@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:38 +0000
Subject: [Xen-changelog] [xen master] build: convert HAS_CORE_PARKING to
	Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc2MzA3NmNmNWQyOWI0MWM5ODE3MWFjMjQ4OWUxNzI2Zjk1NjY3YWUKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM1OjQ2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM1OjQ2IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29udmVydCBIQVNfQ09SRV9QQVJLSU5HIHRvIEtjb25maWcKICAgIAogICAgQ29u
dmVydCBIQVNfQ09SRV9QQVJLSU5HIHRvIEtjb25maWcgYXMgQ09ORklHX0NPUkVfUEFSS0lORy4g
V2hpbGUKICAgIHJlbW92aW5nIEhBU19DT1JFX1BBUktJTkcsIHJlbW92ZWQgYSB0cmFpbGluZyB3
aGl0ZXNwYWNlIG9uIGEgbmVhciBieQogICAgbGluZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTog
RG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvS2NvbmZpZyAgfCAx
ICsKIHhlbi9hcmNoL3g4Ni9SdWxlcy5tayB8IDQgKy0tLQogeGVuL2NvbW1vbi9LY29uZmlnICAg
IHwgMyArKysKIHhlbi9jb21tb24vTWFrZWZpbGUgICB8IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwg
NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4
Ni9LY29uZmlnIGIveGVuL2FyY2gveDg2L0tjb25maWcKaW5kZXggNjBkNWZiOC4uY2EyMzNiNyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L0tjb25maWcKKysrIGIveGVuL2FyY2gveDg2L0tjb25m
aWcKQEAgLTYsNiArNiw3IEBAIGNvbmZpZyBYODYKIAlzZWxlY3QgQUNQSQogCXNlbGVjdCBBQ1BJ
X0xFR0FDWV9UQUJMRVNfTE9PS1VQCiAJc2VsZWN0IENPTVBBVAorCXNlbGVjdCBDT1JFX1BBUktJ
TkcKIAlzZWxlY3QgSEFTX0NQVUZSRVEKIAlzZWxlY3QgSEFTX0VIQ0kKIAlzZWxlY3QgSEFTX0dE
QlNYCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvUnVsZXMubWsgYi94ZW4vYXJjaC94ODYvUnVs
ZXMubWsKaW5kZXggYzFmZmY2Ni4uMzEzOTg4NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L1J1
bGVzLm1rCisrKyBiL3hlbi9hcmNoL3g4Ni9SdWxlcy5tawpAQCAtMSw5ICsxLDcgQEAKICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgeDg2LXNwZWNpZmljIGRlZmlu
aXRpb25zCiAKLUhBU19DT1JFX1BBUktJTkcgOj0geQotCi1DRkxBR1MgKz0gLUkkKEJBU0VESVIp
L2luY2x1ZGUgCitDRkxBR1MgKz0gLUkkKEJBU0VESVIpL2luY2x1ZGUKIENGTEFHUyArPSAtSSQo
QkFTRURJUikvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYwogQ0ZMQUdTICs9IC1JJChCQVNF
RElSKS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0CiBDRkxBR1MgKz0gJy1EX19PQkpFQ1Rf
TEFCRUxfXz0kKHN1YnN0IC8sJCQsJChzdWJzdCAtLF8sJChzdWJzdCAkKEJBU0VESVIpLywsJChD
VVJESVIpKS8kQCkpJwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9LY29uZmlnIGIveGVuL2NvbW1v
bi9LY29uZmlnCmluZGV4IDQ5ZGU3OTAuLjhmYmM0NmQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24v
S2NvbmZpZworKysgYi94ZW4vY29tbW9uL0tjb25maWcKQEAgLTgsNiArOCw5IEBAIGNvbmZpZyBD
T01QQVQKIAkgIEhWTSBhbmQgUFYgZ3Vlc3RzLiBIVk1Mb2FkZXIgbWFrZXMgMzItYml0IGh5cGVy
Y2FsbHMgaXJyZXNwZWN0aXZlCiAJICBvZiB0aGUgZGVzdGluYXRpb24gcnVubW9kZSBvZiB0aGUg
Z3Vlc3QuCiAKK2NvbmZpZyBDT1JFX1BBUktJTkcKKwlib29sCisKIGNvbmZpZyBGTEFTSwogCWJv
b2wgIkZMdXggQWR2YW5jZWQgU2VjdXJpdHkgS2VybmVsIHN1cHBvcnQiCiAJZGVmYXVsdCB5CmRp
ZmYgLS1naXQgYS94ZW4vY29tbW9uL01ha2VmaWxlIGIveGVuL2NvbW1vbi9NYWtlZmlsZQppbmRl
eCA1N2Y0ZWQ3Li44MjYyNWE1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL01ha2VmaWxlCisrKyBi
L3hlbi9jb21tb24vTWFrZWZpbGUKQEAgLTEsNSArMSw1IEBACiBvYmoteSArPSBiaXRtYXAubwot
b2JqLSQoSEFTX0NPUkVfUEFSS0lORykgKz0gY29yZV9wYXJraW5nLm8KK29iai0kKENPTkZJR19D
T1JFX1BBUktJTkcpICs9IGNvcmVfcGFya2luZy5vCiBvYmoteSArPSBjcHUubwogb2JqLXkgKz0g
Y3B1cG9vbC5vCiBvYmotJChDT05GSUdfSEFTX0RFVklDRV9UUkVFKSArPSBkZXZpY2VfdHJlZS5v
Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNt
YXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl
bi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRw
Oi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:42 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCc-0007Hy-8e; Sun, 28 Feb 2016 23:56:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCb-0007Hk-5e
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:41 +0000
Received: from [85.158.139.211] by server-11.bemta-5.messagelabs.com id
 BF/B6-02987-83983D65; Sun, 28 Feb 2016 23:56:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1456703798!25295748!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44127 invoked from network); 28 Feb 2016 23:56:39 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:39 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCY-0000u1-GK
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:38 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCY-0001uT-CA
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:38 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCY-0001uT-CA@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:38 +0000
Subject: [Xen-changelog] [xen master] build: convert HAS_CORE_PARKING to
	Kconfig
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc2MzA3NmNmNWQyOWI0MWM5ODE3MWFjMjQ4OWUxNzI2Zjk1NjY3YWUKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM1OjQ2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM1OjQ2IDIwMTYgKzAxMDAKCiAg
ICBidWlsZDogY29udmVydCBIQVNfQ09SRV9QQVJLSU5HIHRvIEtjb25maWcKICAgIAogICAgQ29u
dmVydCBIQVNfQ09SRV9QQVJLSU5HIHRvIEtjb25maWcgYXMgQ09ORklHX0NPUkVfUEFSS0lORy4g
V2hpbGUKICAgIHJlbW92aW5nIEhBU19DT1JFX1BBUktJTkcsIHJlbW92ZWQgYSB0cmFpbGluZyB3
aGl0ZXNwYWNlIG9uIGEgbmVhciBieQogICAgbGluZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTog
RG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgUmV2aWV3ZWQtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvS2NvbmZpZyAgfCAx
ICsKIHhlbi9hcmNoL3g4Ni9SdWxlcy5tayB8IDQgKy0tLQogeGVuL2NvbW1vbi9LY29uZmlnICAg
IHwgMyArKysKIHhlbi9jb21tb24vTWFrZWZpbGUgICB8IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwg
NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4
Ni9LY29uZmlnIGIveGVuL2FyY2gveDg2L0tjb25maWcKaW5kZXggNjBkNWZiOC4uY2EyMzNiNyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L0tjb25maWcKKysrIGIveGVuL2FyY2gveDg2L0tjb25m
aWcKQEAgLTYsNiArNiw3IEBAIGNvbmZpZyBYODYKIAlzZWxlY3QgQUNQSQogCXNlbGVjdCBBQ1BJ
X0xFR0FDWV9UQUJMRVNfTE9PS1VQCiAJc2VsZWN0IENPTVBBVAorCXNlbGVjdCBDT1JFX1BBUktJ
TkcKIAlzZWxlY3QgSEFTX0NQVUZSRVEKIAlzZWxlY3QgSEFTX0VIQ0kKIAlzZWxlY3QgSEFTX0dE
QlNYCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvUnVsZXMubWsgYi94ZW4vYXJjaC94ODYvUnVs
ZXMubWsKaW5kZXggYzFmZmY2Ni4uMzEzOTg4NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L1J1
bGVzLm1rCisrKyBiL3hlbi9hcmNoL3g4Ni9SdWxlcy5tawpAQCAtMSw5ICsxLDcgQEAKICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgeDg2LXNwZWNpZmljIGRlZmlu
aXRpb25zCiAKLUhBU19DT1JFX1BBUktJTkcgOj0geQotCi1DRkxBR1MgKz0gLUkkKEJBU0VESVIp
L2luY2x1ZGUgCitDRkxBR1MgKz0gLUkkKEJBU0VESVIpL2luY2x1ZGUKIENGTEFHUyArPSAtSSQo
QkFTRURJUikvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYwogQ0ZMQUdTICs9IC1JJChCQVNF
RElSKS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0CiBDRkxBR1MgKz0gJy1EX19PQkpFQ1Rf
TEFCRUxfXz0kKHN1YnN0IC8sJCQsJChzdWJzdCAtLF8sJChzdWJzdCAkKEJBU0VESVIpLywsJChD
VVJESVIpKS8kQCkpJwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9LY29uZmlnIGIveGVuL2NvbW1v
bi9LY29uZmlnCmluZGV4IDQ5ZGU3OTAuLjhmYmM0NmQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24v
S2NvbmZpZworKysgYi94ZW4vY29tbW9uL0tjb25maWcKQEAgLTgsNiArOCw5IEBAIGNvbmZpZyBD
T01QQVQKIAkgIEhWTSBhbmQgUFYgZ3Vlc3RzLiBIVk1Mb2FkZXIgbWFrZXMgMzItYml0IGh5cGVy
Y2FsbHMgaXJyZXNwZWN0aXZlCiAJICBvZiB0aGUgZGVzdGluYXRpb24gcnVubW9kZSBvZiB0aGUg
Z3Vlc3QuCiAKK2NvbmZpZyBDT1JFX1BBUktJTkcKKwlib29sCisKIGNvbmZpZyBGTEFTSwogCWJv
b2wgIkZMdXggQWR2YW5jZWQgU2VjdXJpdHkgS2VybmVsIHN1cHBvcnQiCiAJZGVmYXVsdCB5CmRp
ZmYgLS1naXQgYS94ZW4vY29tbW9uL01ha2VmaWxlIGIveGVuL2NvbW1vbi9NYWtlZmlsZQppbmRl
eCA1N2Y0ZWQ3Li44MjYyNWE1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL01ha2VmaWxlCisrKyBi
L3hlbi9jb21tb24vTWFrZWZpbGUKQEAgLTEsNSArMSw1IEBACiBvYmoteSArPSBiaXRtYXAubwot
b2JqLSQoSEFTX0NPUkVfUEFSS0lORykgKz0gY29yZV9wYXJraW5nLm8KK29iai0kKENPTkZJR19D
T1JFX1BBUktJTkcpICs9IGNvcmVfcGFya2luZy5vCiBvYmoteSArPSBjcHUubwogb2JqLXkgKz0g
Y3B1cG9vbC5vCiBvYmotJChDT05GSUdfSEFTX0RFVklDRV9UUkVFKSArPSBkZXZpY2VfdHJlZS5v
Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNt
YXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl
bi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRw
Oi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCm-0007Jr-AS; Sun, 28 Feb 2016 23:56:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCl-0007Ja-8H
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
 78/AB-02989-24983D65; Sun, 28 Feb 2016 23:56:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703809!27263556!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59456 invoked from network); 28 Feb 2016 23:56:49 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCi-0000uh-Rh
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCi-0001ux-PL
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCi-0001ux-PL@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:48 +0000
Subject: [Xen-changelog] [xen master] ACPI / table: Print GIC information
	when MADT is parsed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDg5YjVhYTliZjc0ZWJkNGZjZWMwNmJlMDUwMjRlMTI3MzYxOTAzYTYKQXV0aG9yOiAg
ICAgSGFuanVuIEd1byA8aGFuanVuLmd1b0BsaW5hcm8ub3JnPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM2OjQ2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM2OjQ2IDIwMTYgKzAxMDAKCiAg
ICBBQ1BJIC8gdGFibGU6IFByaW50IEdJQyBpbmZvcm1hdGlvbiB3aGVuIE1BRFQgaXMgcGFyc2Vk
CiAgICAKICAgIFdoZW4gTUFEVCBpcyBwYXJzZWQsIHByaW50IEdJQyBpbmZvcm1hdGlvbiBhcyBk
ZWJ1ZyBtZXNzYWdlOgogICAgCiAgICBBQ1BJOiBHSUNDIChhY3BpX2lkWzB4MDAwMF0gYWRkcmVz
c1swMDAwMDAwMGUxMTJmMDAwXSBNUElEUlsweDBdIGVuYWJsZWQpCiAgICBBQ1BJOiBHSUNDIChh
Y3BpX2lkWzB4MDAwMV0gYWRkcmVzc1swMDAwMDAwMGUxMTJmMDAwXSBNUElEUlsweDFdIGVuYWJs
ZWQpCiAgICAuLi4KICAgIEFDUEk6IEdJQ0MgKGFjcGlfaWRbMHgwMjAxXSBhZGRyZXNzWzAwMDAw
MDAwZTExMmYwMDBdIE1QSURSWzB4MjAxXSBlbmFibGVkKQogICAgCiAgICBUaGlzIGRlYnVnIGlu
Zm9ybWF0aW9uIHdpbGwgYmUgdmVyeSBoZWxwZnVsIHRvIGJyaW5nIHVwIGVhcmx5IHN5c3RlbXMg
dG8KICAgIHNlZSBpZiBhY3BpX2lkIGFuZCBNUElEUiBhcmUgbWF0Y2hlZCBvciBub3QgYXMgc3Bl
YyBkZWZpbmVkLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBIYW5qdW4gR3VvIDxoYW5qdW4uZ3Vv
QGxpbmFyby5vcmc+CiAgICBbTGludXggY29tbWl0IDRjMWM4ZDdhN2ViYzhiOTA5NDkzYTE0YjIx
YjIzM2U1Mzc3YjY5YWFdCiAgICBbVXNlIGNvbnRhaW5lcl9vZiBpbnN0ZWFkIG9mIGNhc3QgYW5k
IFBSSXg2NCBpbnN0ZWFkIG9mICVsbHhdCiAgICBTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8g
PHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgogICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9hY3BpL3RhYmxlcy5jIHwgMjYgKysrKysr
KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvYWNwaS90YWJsZXMuYyBiL3hlbi9kcml2ZXJzL2FjcGkv
dGFibGVzLmMKaW5kZXggNGU1OTBkZS4uNTZmYTcxYiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMv
YWNwaS90YWJsZXMuYworKysgYi94ZW4vZHJpdmVycy9hY3BpL3RhYmxlcy5jCkBAIC0xODksNiAr
MTg5LDMyIEBAIHZvaWQgX19pbml0IGFjcGlfdGFibGVfcHJpbnRfbWFkdF9lbnRyeShzdHJ1Y3Qg
YWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlcikKIAkJfQogCQlicmVhazsKIAorCWNhc2UgQUNQ
SV9NQURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQ6CisJCXsKKwkJCXN0cnVjdCBhY3BpX21hZHRf
Z2VuZXJpY19pbnRlcnJ1cHQgKnAgPQorCQkJCWNvbnRhaW5lcl9vZihoZWFkZXIsIHN0cnVjdCBh
Y3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQsIGhlYWRlcik7CisKKwkJCXByaW50ayhLRVJOX0RF
QlVHIFBSRUZJWAorCQkJICAgICAgICJHSUNDIChhY3BpX2lkWzB4JTA0eF0gYWRkcmVzc1sweCUi
UFJJeDY0Il0gTVBJRFJbMHglIlBSSXg2NCJdICVzKVxuIiwKKwkJCSAgICAgICBwLT51aWQsIHAt
PmJhc2VfYWRkcmVzcywKKwkJCSAgICAgICBwLT5hcm1fbXBpZHIsCisJCQkgICAgICAgKHAtPmZs
YWdzICYgQUNQSV9NQURUX0VOQUJMRUQpID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7CisKKwkJ
fQorCQlicmVhazsKKworCWNhc2UgQUNQSV9NQURUX1RZUEVfR0VORVJJQ19ESVNUUklCVVRPUjoK
KwkJeworCQkJc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2Rpc3RyaWJ1dG9yICpwID0KKwkJCQlj
b250YWluZXJfb2YoaGVhZGVyLCBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfZGlzdHJpYnV0b3Is
IGhlYWRlcik7CisKKwkJCXByaW50ayhLRVJOX0RFQlVHIFBSRUZJWAorCQkJICAgICAgICJHSUMg
RGlzdHJpYnV0b3IgKGdpY19pZFsweCUwNHhdIGFkZHJlc3NbMHglIlBSSXg2NCJdIGdzaV9iYXNl
WyVkXSlcbiIsCisJCQkgICAgICAgcC0+Z2ljX2lkLCBwLT5iYXNlX2FkZHJlc3MsCisJCQkgICAg
ICAgcC0+Z2xvYmFsX2lycV9iYXNlKTsKKwkJfQorCQlicmVhazsKKwogCWRlZmF1bHQ6CiAJCXBy
aW50ayhLRVJOX1dBUk5JTkcgUFJFRklYCiAJCSAgICAgICAiRm91bmQgdW5zdXBwb3J0ZWQgTUFE
VCBlbnRyeSAodHlwZSA9ICUjeClcbiIsCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:56:52 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:56:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCm-0007Jr-AS; Sun, 28 Feb 2016 23:56:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCl-0007Ja-8H
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:51 +0000
Received: from [193.109.254.147] by server-11.bemta-14.messagelabs.com id
 78/AB-02989-24983D65; Sun, 28 Feb 2016 23:56:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1456703809!27263556!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59456 invoked from network); 28 Feb 2016 23:56:49 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-12.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:56:49 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCi-0000uh-Rh
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCi-0001ux-PL
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:48 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCi-0001ux-PL@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:48 +0000
Subject: [Xen-changelog] [xen master] ACPI / table: Print GIC information
	when MADT is parsed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDg5YjVhYTliZjc0ZWJkNGZjZWMwNmJlMDUwMjRlMTI3MzYxOTAzYTYKQXV0aG9yOiAg
ICAgSGFuanVuIEd1byA8aGFuanVuLmd1b0BsaW5hcm8ub3JnPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM2OjQ2IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM2OjQ2IDIwMTYgKzAxMDAKCiAg
ICBBQ1BJIC8gdGFibGU6IFByaW50IEdJQyBpbmZvcm1hdGlvbiB3aGVuIE1BRFQgaXMgcGFyc2Vk
CiAgICAKICAgIFdoZW4gTUFEVCBpcyBwYXJzZWQsIHByaW50IEdJQyBpbmZvcm1hdGlvbiBhcyBk
ZWJ1ZyBtZXNzYWdlOgogICAgCiAgICBBQ1BJOiBHSUNDIChhY3BpX2lkWzB4MDAwMF0gYWRkcmVz
c1swMDAwMDAwMGUxMTJmMDAwXSBNUElEUlsweDBdIGVuYWJsZWQpCiAgICBBQ1BJOiBHSUNDIChh
Y3BpX2lkWzB4MDAwMV0gYWRkcmVzc1swMDAwMDAwMGUxMTJmMDAwXSBNUElEUlsweDFdIGVuYWJs
ZWQpCiAgICAuLi4KICAgIEFDUEk6IEdJQ0MgKGFjcGlfaWRbMHgwMjAxXSBhZGRyZXNzWzAwMDAw
MDAwZTExMmYwMDBdIE1QSURSWzB4MjAxXSBlbmFibGVkKQogICAgCiAgICBUaGlzIGRlYnVnIGlu
Zm9ybWF0aW9uIHdpbGwgYmUgdmVyeSBoZWxwZnVsIHRvIGJyaW5nIHVwIGVhcmx5IHN5c3RlbXMg
dG8KICAgIHNlZSBpZiBhY3BpX2lkIGFuZCBNUElEUiBhcmUgbWF0Y2hlZCBvciBub3QgYXMgc3Bl
YyBkZWZpbmVkLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBIYW5qdW4gR3VvIDxoYW5qdW4uZ3Vv
QGxpbmFyby5vcmc+CiAgICBbTGludXggY29tbWl0IDRjMWM4ZDdhN2ViYzhiOTA5NDkzYTE0YjIx
YjIzM2U1Mzc3YjY5YWFdCiAgICBbVXNlIGNvbnRhaW5lcl9vZiBpbnN0ZWFkIG9mIGNhc3QgYW5k
IFBSSXg2NCBpbnN0ZWFkIG9mICVsbHhdCiAgICBTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8g
PHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgogICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9hY3BpL3RhYmxlcy5jIHwgMjYgKysrKysr
KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvYWNwaS90YWJsZXMuYyBiL3hlbi9kcml2ZXJzL2FjcGkv
dGFibGVzLmMKaW5kZXggNGU1OTBkZS4uNTZmYTcxYiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMv
YWNwaS90YWJsZXMuYworKysgYi94ZW4vZHJpdmVycy9hY3BpL3RhYmxlcy5jCkBAIC0xODksNiAr
MTg5LDMyIEBAIHZvaWQgX19pbml0IGFjcGlfdGFibGVfcHJpbnRfbWFkdF9lbnRyeShzdHJ1Y3Qg
YWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlcikKIAkJfQogCQlicmVhazsKIAorCWNhc2UgQUNQ
SV9NQURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQ6CisJCXsKKwkJCXN0cnVjdCBhY3BpX21hZHRf
Z2VuZXJpY19pbnRlcnJ1cHQgKnAgPQorCQkJCWNvbnRhaW5lcl9vZihoZWFkZXIsIHN0cnVjdCBh
Y3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQsIGhlYWRlcik7CisKKwkJCXByaW50ayhLRVJOX0RF
QlVHIFBSRUZJWAorCQkJICAgICAgICJHSUNDIChhY3BpX2lkWzB4JTA0eF0gYWRkcmVzc1sweCUi
UFJJeDY0Il0gTVBJRFJbMHglIlBSSXg2NCJdICVzKVxuIiwKKwkJCSAgICAgICBwLT51aWQsIHAt
PmJhc2VfYWRkcmVzcywKKwkJCSAgICAgICBwLT5hcm1fbXBpZHIsCisJCQkgICAgICAgKHAtPmZs
YWdzICYgQUNQSV9NQURUX0VOQUJMRUQpID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7CisKKwkJ
fQorCQlicmVhazsKKworCWNhc2UgQUNQSV9NQURUX1RZUEVfR0VORVJJQ19ESVNUUklCVVRPUjoK
KwkJeworCQkJc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2Rpc3RyaWJ1dG9yICpwID0KKwkJCQlj
b250YWluZXJfb2YoaGVhZGVyLCBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfZGlzdHJpYnV0b3Is
IGhlYWRlcik7CisKKwkJCXByaW50ayhLRVJOX0RFQlVHIFBSRUZJWAorCQkJICAgICAgICJHSUMg
RGlzdHJpYnV0b3IgKGdpY19pZFsweCUwNHhdIGFkZHJlc3NbMHglIlBSSXg2NCJdIGdzaV9iYXNl
WyVkXSlcbiIsCisJCQkgICAgICAgcC0+Z2ljX2lkLCBwLT5iYXNlX2FkZHJlc3MsCisJCQkgICAg
ICAgcC0+Z2xvYmFsX2lycV9iYXNlKTsKKwkJfQorCQlicmVhazsKKwogCWRlZmF1bHQ6CiAJCXBy
aW50ayhLRVJOX1dBUk5JTkcgUFJFRklYCiAJCSAgICAgICAiRm91bmQgdW5zdXBwb3J0ZWQgTUFE
VCBlbnRyeSAodHlwZSA9ICUjeClcbiIsCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCx-0007MI-CW; Sun, 28 Feb 2016 23:57:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCv-0007Lw-Si
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:01 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
 D6/99-03303-D4983D65; Sun, 28 Feb 2016 23:57:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456703819!25527490!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36022 invoked from network); 28 Feb 2016 23:57:00 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-3.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCt-0000ur-6r
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCt-0001vU-4b
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCt-0001vU-4b@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:59 +0000
Subject: [Xen-changelog] [xen master] ACPICA / Headers: Add support for CSRT
	and DBG2 ACPI tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQ1ZTg3MzJiY2FkODViNDE2NmZiYTZlNTQ3MjQ3NDBhOWU5NzM2OTEKQXV0aG9yOiAg
ICAgQm9iIE1vb3JlIDxyb2JlcnQubW9vcmVAaW50ZWwuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM3OjE4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM3OjE4IDIwMTYgKzAxMDAKCiAg
ICBBQ1BJQ0EgLyBIZWFkZXJzOiBBZGQgc3VwcG9ydCBmb3IgQ1NSVCBhbmQgREJHMiBBQ1BJIHRh
YmxlcwogICAgCiAgICBUaGVzZSB0YWJsZXMgYXJlIGRlZmluZWQgb3V0c2lkZSBvZiB0aGUgQUNQ
SSBzcGVjaWZpY2F0aW9uLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBCb2IgTW9vcmUgPHJvYmVy
dC5tb29yZUBpbnRlbC5jb20+CiAgICBbTGludXggY29tbWl0IDRlMmY5YzI3OGFkODQxOTY5OTFm
Y2Y2ZjY2NDZhM2UxNTk2N2ZlOTBdCiAgICBbb25seSBwb3J0IHRoZSBEQkcyIGNoYW5nZXNdCiAg
ICBTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgog
ICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vaW5j
bHVkZS9hY3BpL2FjdGJsMi5oIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUvYWNwaS9hY3RibDIuaCBiL3hlbi9pbmNsdWRlL2FjcGkvYWN0Ymwy
LmgKaW5kZXggODdiYzZiMy4uMWFkNjdmOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYWNwaS9h
Y3RibDIuaAorKysgYi94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMi5oCkBAIC02Myw2ICs2Myw3IEBA
CiAgKi8KICNkZWZpbmUgQUNQSV9TSUdfQVNGICAgICAgICAgICAgIkFTRiEiCS8qIEFsZXJ0IFN0
YW5kYXJkIEZvcm1hdCB0YWJsZSAqLwogI2RlZmluZSBBQ1BJX1NJR19CT09UICAgICAgICAgICAi
Qk9PVCIJLyogU2ltcGxlIEJvb3QgRmxhZyBUYWJsZSAqLworI2RlZmluZSBBQ1BJX1NJR19EQkcy
ICAgICAgICAgICAiREJHMiIJLyogRGVidWcgUG9ydCB0YWJsZSB0eXBlIDIgKi8KICNkZWZpbmUg
QUNQSV9TSUdfREJHUCAgICAgICAgICAgIkRCR1AiCS8qIERlYnVnIFBvcnQgdGFibGUgKi8KICNk
ZWZpbmUgQUNQSV9TSUdfRE1BUiAgICAgICAgICAgIkRNQVIiCS8qIERNQSBSZW1hcHBpbmcgdGFi
bGUgKi8KICNkZWZpbmUgQUNQSV9TSUdfSFBFVCAgICAgICAgICAgIkhQRVQiCS8qIEhpZ2ggUHJl
Y2lzaW9uIEV2ZW50IFRpbWVyIHRhYmxlICovCkBAIC0yMzIsNiArMjMzLDYyIEBAIHN0cnVjdCBh
Y3BpX3RhYmxlX2Jvb3QgewogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKKyAqIERCRzIg
LSBEZWJ1ZyBQb3J0IFRhYmxlIDIKKyAqICAgICAgICBWZXJzaW9uIDAgKEJvdGggbWFpbiB0YWJs
ZSBhbmQgc3VidGFibGVzKQorICoKKyAqIENvbmZvcm1zIHRvICJNaWNyb3NvZnQgRGVidWcgUG9y
dCBUYWJsZSAyIChEQkcyKSIsIE1heSAyMiAyMDEyLgorICoKKyAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCisKK3N0cnVjdCBhY3BpX3RhYmxlX2RiZzIgeworCXN0cnVjdCBhY3BpX3RhYmxlX2hlYWRl
ciBoZWFkZXI7CS8qIENvbW1vbiBBQ1BJIHRhYmxlIGhlYWRlciAqLworCXUzMiBpbmZvX29mZnNl
dDsKKwl1MzIgaW5mb19jb3VudDsKK307CisKKy8qIERlYnVnIERldmljZSBJbmZvcm1hdGlvbiBT
dWJ0YWJsZSAqLworCitzdHJ1Y3QgYWNwaV9kYmcyX2RldmljZSB7CisJdTggcmV2aXNpb247CisJ
dTE2IGxlbmd0aDsKKwl1OCByZWdpc3Rlcl9jb3VudDsJLyogTnVtYmVyIG9mIGJhc2VfYWRkcmVz
cyByZWdpc3RlcnMgKi8KKwl1MTYgbmFtZXBhdGhfbGVuZ3RoOworCXUxNiBuYW1lcGF0aF9vZmZz
ZXQ7CisJdTE2IG9lbV9kYXRhX2xlbmd0aDsKKwl1MTYgb2VtX2RhdGFfb2Zmc2V0OworCXUxNiBw
b3J0X3R5cGU7CisJdTE2IHBvcnRfc3VidHlwZTsKKwl1MTYgcmVzZXJ2ZWQ7CisJdTE2IGJhc2Vf
YWRkcmVzc19vZmZzZXQ7CisJdTE2IGFkZHJlc3Nfc2l6ZV9vZmZzZXQ7CisJLyoKKwkgKiBEYXRh
IHRoYXQgZm9sbG93czoKKwkgKiAgICBiYXNlX2FkZHJlc3MgKHJlcXVpcmVkKSAtIEVhY2ggaW4g
MTItYnl0ZSBHZW5lcmljIEFkZHJlc3MgU3RydWN0dXJlIGZvcm1hdC4KKwkgKiAgICBhZGRyZXNz
X3NpemUgKHJlcXVpcmVkKSAtIEFycmF5IG9mIHUzMiBzaXplcyBjb3JyZXNwb25kaW5nIHRvIGVh
Y2ggYmFzZV9hZGRyZXNzIHJlZ2lzdGVyLgorCSAqICAgIE5hbWVwYXRoICAgIChyZXF1aXJlZCkg
LSBOdWxsIHRlcm1pbmF0ZWQgc3RyaW5nLiBTaW5nbGUgZG90IGlmIG5vdCBzdXBwb3J0ZWQuCisJ
ICogICAgb2VtX2RhdGEgICAgKG9wdGlvbmFsKSAtIExlbmd0aCBpcyBvZW1fZGF0YV9sZW5ndGgu
CisJICovCit9OworCisvKiBUeXBlcyBmb3IgcG9ydF90eXBlIGZpZWxkIGFib3ZlICovCisKKyNk
ZWZpbmUgQUNQSV9EQkcyX1NFUklBTF9QT1JUICAgICAgIDB4ODAwMAorI2RlZmluZSBBQ1BJX0RC
RzJfMTM5NF9QT1JUICAgICAgICAgMHg4MDAxCisjZGVmaW5lIEFDUElfREJHMl9VU0JfUE9SVCAg
ICAgICAgICAweDgwMDIKKyNkZWZpbmUgQUNQSV9EQkcyX05FVF9QT1JUICAgICAgICAgIDB4ODAw
MworCisvKiBTdWJ0eXBlcyBmb3IgcG9ydF9zdWJ0eXBlIGZpZWxkIGFib3ZlICovCisKKyNkZWZp
bmUgQUNQSV9EQkcyXzE2NTUwX0NPTVBBVElCTEUgIDB4MDAwMAorI2RlZmluZSBBQ1BJX0RCRzJf
MTY1NTBfU1VCU0VUICAgICAgMHgwMDAxCisKKyNkZWZpbmUgQUNQSV9EQkcyXzEzOTRfU1RBTkRB
UkQgICAgIDB4MDAwMAorCisjZGVmaW5lIEFDUElfREJHMl9VU0JfWEhDSSAgICAgICAgICAweDAw
MDAKKyNkZWZpbmUgQUNQSV9EQkcyX1VTQl9FSENJICAgICAgICAgIDB4MDAwMQorCisvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorICoKICAqIERCR1AgLSBEZWJ1ZyBQb3J0IHRhYmxlCiAgKiAgICAg
ICAgVmVyc2lvbiAxCiAgKgotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94
ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxp
c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:03 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBCx-0007MI-CW; Sun, 28 Feb 2016 23:57:03 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCv-0007Lw-Si
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:01 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
 D6/99-03303-D4983D65; Sun, 28 Feb 2016 23:57:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1456703819!25527490!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 36022 invoked from network); 28 Feb 2016 23:57:00 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-3.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:00 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCt-0000ur-6r
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBCt-0001vU-4b
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:56:59 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBCt-0001vU-4b@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:56:59 +0000
Subject: [Xen-changelog] [xen master] ACPICA / Headers: Add support for CSRT
	and DBG2 ACPI tables
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQ1ZTg3MzJiY2FkODViNDE2NmZiYTZlNTQ3MjQ3NDBhOWU5NzM2OTEKQXV0aG9yOiAg
ICAgQm9iIE1vb3JlIDxyb2JlcnQubW9vcmVAaW50ZWwuY29tPgpBdXRob3JEYXRlOiBGcmkgRmVi
IDI2IDEyOjM3OjE4IDIwMTYgKzAxMDAKQ29tbWl0OiAgICAgSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDEyOjM3OjE4IDIwMTYgKzAxMDAKCiAg
ICBBQ1BJQ0EgLyBIZWFkZXJzOiBBZGQgc3VwcG9ydCBmb3IgQ1NSVCBhbmQgREJHMiBBQ1BJIHRh
YmxlcwogICAgCiAgICBUaGVzZSB0YWJsZXMgYXJlIGRlZmluZWQgb3V0c2lkZSBvZiB0aGUgQUNQ
SSBzcGVjaWZpY2F0aW9uLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBCb2IgTW9vcmUgPHJvYmVy
dC5tb29yZUBpbnRlbC5jb20+CiAgICBbTGludXggY29tbWl0IDRlMmY5YzI3OGFkODQxOTY5OTFm
Y2Y2ZjY2NDZhM2UxNTk2N2ZlOTBdCiAgICBbb25seSBwb3J0IHRoZSBEQkcyIGNoYW5nZXNdCiAg
ICBTaWduZWQtb2ZmLWJ5OiBTaGFubm9uIFpoYW8gPHNoYW5ub24uemhhb0BsaW5hcm8ub3JnPgog
ICAgQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4vaW5j
bHVkZS9hY3BpL2FjdGJsMi5oIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUvYWNwaS9hY3RibDIuaCBiL3hlbi9pbmNsdWRlL2FjcGkvYWN0Ymwy
LmgKaW5kZXggODdiYzZiMy4uMWFkNjdmOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYWNwaS9h
Y3RibDIuaAorKysgYi94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMi5oCkBAIC02Myw2ICs2Myw3IEBA
CiAgKi8KICNkZWZpbmUgQUNQSV9TSUdfQVNGICAgICAgICAgICAgIkFTRiEiCS8qIEFsZXJ0IFN0
YW5kYXJkIEZvcm1hdCB0YWJsZSAqLwogI2RlZmluZSBBQ1BJX1NJR19CT09UICAgICAgICAgICAi
Qk9PVCIJLyogU2ltcGxlIEJvb3QgRmxhZyBUYWJsZSAqLworI2RlZmluZSBBQ1BJX1NJR19EQkcy
ICAgICAgICAgICAiREJHMiIJLyogRGVidWcgUG9ydCB0YWJsZSB0eXBlIDIgKi8KICNkZWZpbmUg
QUNQSV9TSUdfREJHUCAgICAgICAgICAgIkRCR1AiCS8qIERlYnVnIFBvcnQgdGFibGUgKi8KICNk
ZWZpbmUgQUNQSV9TSUdfRE1BUiAgICAgICAgICAgIkRNQVIiCS8qIERNQSBSZW1hcHBpbmcgdGFi
bGUgKi8KICNkZWZpbmUgQUNQSV9TSUdfSFBFVCAgICAgICAgICAgIkhQRVQiCS8qIEhpZ2ggUHJl
Y2lzaW9uIEV2ZW50IFRpbWVyIHRhYmxlICovCkBAIC0yMzIsNiArMjMzLDYyIEBAIHN0cnVjdCBh
Y3BpX3RhYmxlX2Jvb3QgewogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICoKKyAqIERCRzIg
LSBEZWJ1ZyBQb3J0IFRhYmxlIDIKKyAqICAgICAgICBWZXJzaW9uIDAgKEJvdGggbWFpbiB0YWJs
ZSBhbmQgc3VidGFibGVzKQorICoKKyAqIENvbmZvcm1zIHRvICJNaWNyb3NvZnQgRGVidWcgUG9y
dCBUYWJsZSAyIChEQkcyKSIsIE1heSAyMiAyMDEyLgorICoKKyAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCisKK3N0cnVjdCBhY3BpX3RhYmxlX2RiZzIgeworCXN0cnVjdCBhY3BpX3RhYmxlX2hlYWRl
ciBoZWFkZXI7CS8qIENvbW1vbiBBQ1BJIHRhYmxlIGhlYWRlciAqLworCXUzMiBpbmZvX29mZnNl
dDsKKwl1MzIgaW5mb19jb3VudDsKK307CisKKy8qIERlYnVnIERldmljZSBJbmZvcm1hdGlvbiBT
dWJ0YWJsZSAqLworCitzdHJ1Y3QgYWNwaV9kYmcyX2RldmljZSB7CisJdTggcmV2aXNpb247CisJ
dTE2IGxlbmd0aDsKKwl1OCByZWdpc3Rlcl9jb3VudDsJLyogTnVtYmVyIG9mIGJhc2VfYWRkcmVz
cyByZWdpc3RlcnMgKi8KKwl1MTYgbmFtZXBhdGhfbGVuZ3RoOworCXUxNiBuYW1lcGF0aF9vZmZz
ZXQ7CisJdTE2IG9lbV9kYXRhX2xlbmd0aDsKKwl1MTYgb2VtX2RhdGFfb2Zmc2V0OworCXUxNiBw
b3J0X3R5cGU7CisJdTE2IHBvcnRfc3VidHlwZTsKKwl1MTYgcmVzZXJ2ZWQ7CisJdTE2IGJhc2Vf
YWRkcmVzc19vZmZzZXQ7CisJdTE2IGFkZHJlc3Nfc2l6ZV9vZmZzZXQ7CisJLyoKKwkgKiBEYXRh
IHRoYXQgZm9sbG93czoKKwkgKiAgICBiYXNlX2FkZHJlc3MgKHJlcXVpcmVkKSAtIEVhY2ggaW4g
MTItYnl0ZSBHZW5lcmljIEFkZHJlc3MgU3RydWN0dXJlIGZvcm1hdC4KKwkgKiAgICBhZGRyZXNz
X3NpemUgKHJlcXVpcmVkKSAtIEFycmF5IG9mIHUzMiBzaXplcyBjb3JyZXNwb25kaW5nIHRvIGVh
Y2ggYmFzZV9hZGRyZXNzIHJlZ2lzdGVyLgorCSAqICAgIE5hbWVwYXRoICAgIChyZXF1aXJlZCkg
LSBOdWxsIHRlcm1pbmF0ZWQgc3RyaW5nLiBTaW5nbGUgZG90IGlmIG5vdCBzdXBwb3J0ZWQuCisJ
ICogICAgb2VtX2RhdGEgICAgKG9wdGlvbmFsKSAtIExlbmd0aCBpcyBvZW1fZGF0YV9sZW5ndGgu
CisJICovCit9OworCisvKiBUeXBlcyBmb3IgcG9ydF90eXBlIGZpZWxkIGFib3ZlICovCisKKyNk
ZWZpbmUgQUNQSV9EQkcyX1NFUklBTF9QT1JUICAgICAgIDB4ODAwMAorI2RlZmluZSBBQ1BJX0RC
RzJfMTM5NF9QT1JUICAgICAgICAgMHg4MDAxCisjZGVmaW5lIEFDUElfREJHMl9VU0JfUE9SVCAg
ICAgICAgICAweDgwMDIKKyNkZWZpbmUgQUNQSV9EQkcyX05FVF9QT1JUICAgICAgICAgIDB4ODAw
MworCisvKiBTdWJ0eXBlcyBmb3IgcG9ydF9zdWJ0eXBlIGZpZWxkIGFib3ZlICovCisKKyNkZWZp
bmUgQUNQSV9EQkcyXzE2NTUwX0NPTVBBVElCTEUgIDB4MDAwMAorI2RlZmluZSBBQ1BJX0RCRzJf
MTY1NTBfU1VCU0VUICAgICAgMHgwMDAxCisKKyNkZWZpbmUgQUNQSV9EQkcyXzEzOTRfU1RBTkRB
UkQgICAgIDB4MDAwMAorCisjZGVmaW5lIEFDUElfREJHMl9VU0JfWEhDSSAgICAgICAgICAweDAw
MDAKKyNkZWZpbmUgQUNQSV9EQkcyX1VTQl9FSENJICAgICAgICAgIDB4MDAwMQorCisvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorICoKICAqIERCR1AgLSBEZWJ1ZyBQb3J0IHRhYmxlCiAgKiAgICAg
ICAgVmVyc2lvbiAxCiAgKgotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94
ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxp
c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBD7-0007Og-EV; Sun, 28 Feb 2016 23:57:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD6-0007OV-51
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:12 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 ED/47-03449-75983D65; Sun, 28 Feb 2016 23:57:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703829!25562909!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17892 invoked from network); 28 Feb 2016 23:57:10 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD3-0000vp-Md
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD3-0001wC-J0
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBD3-0001wC-J0@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:09 +0000
Subject: [Xen-changelog] [xen master] arm/acpi: Initialize serial port from
	ACPI SPCR table
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDI3NTNlMDdmNWU4NDQwY2Q1NzUxMzY5ZjVhMDM3YTc4MjRlNWEyOWUKQXV0aG9yOiAg
ICAgU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjozNzo1MCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozOToyOSAyMDE2ICswMTAw
CgogICAgYXJtL2FjcGk6IEluaXRpYWxpemUgc2VyaWFsIHBvcnQgZnJvbSBBQ1BJIFNQQ1IgdGFi
bGUKICAgIAogICAgUGFyc2UgQUNQSSBTUENSIChTZXJpYWwgUG9ydCBDb25zb2xlIFJlZGlyZWN0
aW9uIHRhYmxlKSB0YWJsZSBhbmQKICAgIGluaXRpYWxpemUgdGhlIHNlcmlhbCBwb3J0IHBsMDEx
LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBQYXJ0aCBEaXhpdCA8cGFydGguZGl4aXRAbGluYXJv
Lm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFy
by5vcmc+CiAgICBSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJl
bGxpbmlAZXUuY2l0cml4LmNvbT4KICAgIAogICAgRml4IGJ1aWxkLgogICAgCiAgICBBY2tlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9kcml2ZXJzL2NoYXIv
cGwwMTEuYyAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVu
L2luY2x1ZGUvYWNwaS9hY3RibDIuaCB8ICA1ICsrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDQzIGlu
c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3BsMDExLmMgYi94ZW4v
ZHJpdmVycy9jaGFyL3BsMDExLmMKaW5kZXggN2UxNjI5NC4uZmEyMmVkZiAxMDA2NDQKLS0tIGEv
eGVuL2RyaXZlcnMvY2hhci9wbDAxMS5jCisrKyBiL3hlbi9kcml2ZXJzL2NoYXIvcGwwMTEuYwpA
QCAtMzA4LDYgKzMwOCw0NCBAQCBEVF9ERVZJQ0VfU1RBUlQocGwwMTEsICJQTDAxMSBVQVJUIiwg
REVWSUNFX1NFUklBTCkKICAgICAgICAgLmluaXQgPSBwbDAxMV9kdF91YXJ0X2luaXQsCiBEVF9E
RVZJQ0VfRU5ECiAKKyNpZmRlZiBDT05GSUdfQUNQSQorI2luY2x1ZGUgPHhlbi9hY3BpLmg+CisK
K3N0YXRpYyBpbnQgX19pbml0IHBsMDExX2FjcGlfdWFydF9pbml0KGNvbnN0IHZvaWQgKmRhdGEp
Cit7CisgICAgYWNwaV9zdGF0dXMgc3RhdHVzOworICAgIHN0cnVjdCBhY3BpX3RhYmxlX3NwY3Ig
KnNwY3IgPSBOVUxMOworICAgIGludCByZXM7CisKKyAgICBzdGF0dXMgPSBhY3BpX2dldF90YWJs
ZShBQ1BJX1NJR19TUENSLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3Qg
YWNwaV90YWJsZV9oZWFkZXIgKiopJnNwY3IpOworCisgICAgaWYgKCBBQ1BJX0ZBSUxVUkUoc3Rh
dHVzKSApCisgICAgeworICAgICAgICBwcmludGsoInBsMDExOiBGYWlsZWQgdG8gZ2V0IFNQQ1Ig
dGFibGVcbiIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICAvKiB0cmln
Z2VyL3BvbGFyaXR5IGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgaW4gc3BjciAqLworICAg
IGlycV9zZXRfdHlwZShzcGNyLT5pbnRlcnJ1cHQsIElSUV9UWVBFX0VER0VfQk9USCk7CisKKyAg
ICByZXMgPSBwbDAxMV91YXJ0X2luaXQoc3Bjci0+aW50ZXJydXB0LCBzcGNyLT5zZXJpYWxfcG9y
dC5hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX1NJWkUpOworICAgIGlm
ICggcmVzIDwgMCApCisgICAgeworICAgICAgICBwcmludGsoInBsMDExOiBVbmFibGUgdG8gaW5p
dGlhbGl6ZVxuIik7CisgICAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgcmV0dXJuIDA7
Cit9CisKK0FDUElfREVWSUNFX1NUQVJUKGFwbDAxMSwgIlBMMDExIFVBUlQiLCBERVZJQ0VfU0VS
SUFMKQorICAgICAgICAuY2xhc3NfdHlwZSA9IEFDUElfREJHMl9QTDAxMSwKKyAgICAgICAgLmlu
aXQgPSBwbDAxMV9hY3BpX3VhcnRfaW5pdCwKK0FDUElfREVWSUNFX0VORAorI2VuZGlmCisKIC8q
CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk
ZS9hY3BpL2FjdGJsMi5oIGIveGVuL2luY2x1ZGUvYWNwaS9hY3RibDIuaAppbmRleCAxYWQ2N2Y4
Li40MzQxYTMwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMi5oCisrKyBiL3hl
bi9pbmNsdWRlL2FjcGkvYWN0YmwyLmgKQEAgLTI4MSw2ICsyODEsMTEgQEAgc3RydWN0IGFjcGlf
ZGJnMl9kZXZpY2UgewogCiAjZGVmaW5lIEFDUElfREJHMl8xNjU1MF9DT01QQVRJQkxFICAweDAw
MDAKICNkZWZpbmUgQUNQSV9EQkcyXzE2NTUwX1NVQlNFVCAgICAgIDB4MDAwMQorI2RlZmluZSBB
Q1BJX0RCRzJfUEwwMTEgICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIEFDUElfREJHMl9TQlNB
XzMyICAgICAgICAgICAweDAwMGQKKyNkZWZpbmUgQUNQSV9EQkcyX1NCU0EgICAgICAgICAgICAg
IDB4MDAwZQorI2RlZmluZSBBQ1BJX0RCRzJfRENDICAgICAgICAgICAgICAgMHgwMDBmCisjZGVm
aW5lIEFDUElfREJHMl9CQ00yODM1ICAgICAgICAgICAweDAwMTAKIAogI2RlZmluZSBBQ1BJX0RC
RzJfMTM5NF9TVEFOREFSRCAgICAgMHgwMDAwCiAKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJv
dCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVu
LWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1j
aGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:13 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBD7-0007Og-EV; Sun, 28 Feb 2016 23:57:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD6-0007OV-51
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:12 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 ED/47-03449-75983D65; Sun, 28 Feb 2016 23:57:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703829!25562909!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17892 invoked from network); 28 Feb 2016 23:57:10 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:10 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD3-0000vp-Md
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBD3-0001wC-J0
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:09 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBD3-0001wC-J0@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:09 +0000
Subject: [Xen-changelog] [xen master] arm/acpi: Initialize serial port from
	ACPI SPCR table
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDI3NTNlMDdmNWU4NDQwY2Q1NzUxMzY5ZjVhMDM3YTc4MjRlNWEyOWUKQXV0aG9yOiAg
ICAgU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KQXV0aG9yRGF0ZTogRnJp
IEZlYiAyNiAxMjozNzo1MCAyMDE2ICswMTAwCkNvbW1pdDogICAgIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KQ29tbWl0RGF0ZTogRnJpIEZlYiAyNiAxMjozOToyOSAyMDE2ICswMTAw
CgogICAgYXJtL2FjcGk6IEluaXRpYWxpemUgc2VyaWFsIHBvcnQgZnJvbSBBQ1BJIFNQQ1IgdGFi
bGUKICAgIAogICAgUGFyc2UgQUNQSSBTUENSIChTZXJpYWwgUG9ydCBDb25zb2xlIFJlZGlyZWN0
aW9uIHRhYmxlKSB0YWJsZSBhbmQKICAgIGluaXRpYWxpemUgdGhlIHNlcmlhbCBwb3J0IHBsMDEx
LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBQYXJ0aCBEaXhpdCA8cGFydGguZGl4aXRAbGluYXJv
Lm9yZz4KICAgIFNpZ25lZC1vZmYtYnk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFy
by5vcmc+CiAgICBSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJl
bGxpbmlAZXUuY2l0cml4LmNvbT4KICAgIAogICAgRml4IGJ1aWxkLgogICAgCiAgICBBY2tlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9kcml2ZXJzL2NoYXIv
cGwwMTEuYyAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVu
L2luY2x1ZGUvYWNwaS9hY3RibDIuaCB8ICA1ICsrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDQzIGlu
c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL3BsMDExLmMgYi94ZW4v
ZHJpdmVycy9jaGFyL3BsMDExLmMKaW5kZXggN2UxNjI5NC4uZmEyMmVkZiAxMDA2NDQKLS0tIGEv
eGVuL2RyaXZlcnMvY2hhci9wbDAxMS5jCisrKyBiL3hlbi9kcml2ZXJzL2NoYXIvcGwwMTEuYwpA
QCAtMzA4LDYgKzMwOCw0NCBAQCBEVF9ERVZJQ0VfU1RBUlQocGwwMTEsICJQTDAxMSBVQVJUIiwg
REVWSUNFX1NFUklBTCkKICAgICAgICAgLmluaXQgPSBwbDAxMV9kdF91YXJ0X2luaXQsCiBEVF9E
RVZJQ0VfRU5ECiAKKyNpZmRlZiBDT05GSUdfQUNQSQorI2luY2x1ZGUgPHhlbi9hY3BpLmg+CisK
K3N0YXRpYyBpbnQgX19pbml0IHBsMDExX2FjcGlfdWFydF9pbml0KGNvbnN0IHZvaWQgKmRhdGEp
Cit7CisgICAgYWNwaV9zdGF0dXMgc3RhdHVzOworICAgIHN0cnVjdCBhY3BpX3RhYmxlX3NwY3Ig
KnNwY3IgPSBOVUxMOworICAgIGludCByZXM7CisKKyAgICBzdGF0dXMgPSBhY3BpX2dldF90YWJs
ZShBQ1BJX1NJR19TUENSLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3Qg
YWNwaV90YWJsZV9oZWFkZXIgKiopJnNwY3IpOworCisgICAgaWYgKCBBQ1BJX0ZBSUxVUkUoc3Rh
dHVzKSApCisgICAgeworICAgICAgICBwcmludGsoInBsMDExOiBGYWlsZWQgdG8gZ2V0IFNQQ1Ig
dGFibGVcbiIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICAvKiB0cmln
Z2VyL3BvbGFyaXR5IGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgaW4gc3BjciAqLworICAg
IGlycV9zZXRfdHlwZShzcGNyLT5pbnRlcnJ1cHQsIElSUV9UWVBFX0VER0VfQk9USCk7CisKKyAg
ICByZXMgPSBwbDAxMV91YXJ0X2luaXQoc3Bjci0+aW50ZXJydXB0LCBzcGNyLT5zZXJpYWxfcG9y
dC5hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX1NJWkUpOworICAgIGlm
ICggcmVzIDwgMCApCisgICAgeworICAgICAgICBwcmludGsoInBsMDExOiBVbmFibGUgdG8gaW5p
dGlhbGl6ZVxuIik7CisgICAgICAgIHJldHVybiByZXM7CisgICAgfQorCisgICAgcmV0dXJuIDA7
Cit9CisKK0FDUElfREVWSUNFX1NUQVJUKGFwbDAxMSwgIlBMMDExIFVBUlQiLCBERVZJQ0VfU0VS
SUFMKQorICAgICAgICAuY2xhc3NfdHlwZSA9IEFDUElfREJHMl9QTDAxMSwKKyAgICAgICAgLmlu
aXQgPSBwbDAxMV9hY3BpX3VhcnRfaW5pdCwKK0FDUElfREVWSUNFX0VORAorI2VuZGlmCisKIC8q
CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk
ZS9hY3BpL2FjdGJsMi5oIGIveGVuL2luY2x1ZGUvYWNwaS9hY3RibDIuaAppbmRleCAxYWQ2N2Y4
Li40MzQxYTMwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMi5oCisrKyBiL3hl
bi9pbmNsdWRlL2FjcGkvYWN0YmwyLmgKQEAgLTI4MSw2ICsyODEsMTEgQEAgc3RydWN0IGFjcGlf
ZGJnMl9kZXZpY2UgewogCiAjZGVmaW5lIEFDUElfREJHMl8xNjU1MF9DT01QQVRJQkxFICAweDAw
MDAKICNkZWZpbmUgQUNQSV9EQkcyXzE2NTUwX1NVQlNFVCAgICAgIDB4MDAwMQorI2RlZmluZSBB
Q1BJX0RCRzJfUEwwMTEgICAgICAgICAgICAgMHgwMDAzCisjZGVmaW5lIEFDUElfREJHMl9TQlNB
XzMyICAgICAgICAgICAweDAwMGQKKyNkZWZpbmUgQUNQSV9EQkcyX1NCU0EgICAgICAgICAgICAg
IDB4MDAwZQorI2RlZmluZSBBQ1BJX0RCRzJfRENDICAgICAgICAgICAgICAgMHgwMDBmCisjZGVm
aW5lIEFDUElfREJHMl9CQ00yODM1ICAgICAgICAgICAweDAwMTAKIAogI2RlZmluZSBBQ1BJX0RC
RzJfMTM5NF9TVEFOREFSRCAgICAgMHgwMDAwCiAKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRjaGJv
dCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QKWGVu
LWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hlbi1j
aGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDI-0007QQ-GS; Sun, 28 Feb 2016 23:57:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDG-0007QA-Q6
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:22 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
 1E/92-04050-26983D65; Sun, 28 Feb 2016 23:57:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456703840!15962668!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44273 invoked from network); 28 Feb 2016 23:57:21 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDE-0000vz-5g
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDE-0001xC-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDE-0001xC-3I@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:20 +0000
Subject: [Xen-changelog] [xen master] libxl/remus: init checkpoint callback
	in Remus setup callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDViODRmYjlhYmYyYjY4OTJkYTEwZGVlYzRiNTQ5NjZkODJjNGMxMWMKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogVHVlIEZl
YiAxNiAxMTo0MToxNiAyMDE2ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IGxpYnhsL3JlbXVzOiBpbml0IGNoZWNrcG9pbnQgY2FsbGJhY2sgaW4gUmVtdXMgc2V0dXAgY2Fs
bGJhY2sKICAgIAogICAgSW5pdCBzdHJlYW0ge3JlYWQvd3JpdGV9IHN0YXRlIGNoZWNrcG9pbnRf
Y2FsbGJhY2ssIHN1c3BlbmQvcmVzdW1lL2NoZWNrcG9pbnQKICAgIGNhbGxiYWNrIGluIFJlbXVz
IHNldHVwIGNhbGxiYWNrLgogICAgVGhlcmUncyBubyBmdW5jdGlvbmFsIGNoYW5nZSwgaXQncyBq
dXN0IHJlZmFjdG9yaW5nIHNvIHRoYXQgd2UgY2FuIG1vdmUKICAgIGFsbCByZW11cyBjb2RlIGlu
dG8gb25lIGZpbGUuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5
YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3
ZW5jeUBjbi5mdWppdHN1LmNvbT4KICAgIENDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy
M0BjaXRyaXguY29tPgogICAgQ0M6IElhbiBDYW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5j
b20+CiAgICBDQzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CiAgICBD
QzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBLb25yYWQg
Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2Vp
IExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAg
ICAgIHwgIDggKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgfCAxOCArKysr
KysrKysrKysrKy0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgfCAxOCArKysrKy0t
LS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgNyArKysrKysrCiA0
IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4IDJk
MThiOGQuLjM4MDI5Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtODk5LDYgKzg5OSw4IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19y
ZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwogICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
CiAgICAgY29uc3QgbGlieGxfZG9tYWluX3JlbXVzX2luZm8gKmNvbnN0IGluZm8gPSBkc3MtPnJl
bXVzOworICAgIGxpYnhsX19zcm1fc2F2ZV9hdXRvZ2VuX2NhbGxiYWNrcyAqY29uc3QgY2FsbGJh
Y2tzID0KKyAgICAgICAgJmRzcy0+c3dzLnNocy5jYWxsYmFja3Muc2F2ZS5hOwogCiAgICAgU1RB
VEVfQU9fR0MoZHNzLT5hbyk7CiAKQEAgLTkxNyw2ICs5MTksMTIgQEAgc3RhdGljIHZvaWQgbGli
eGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKICAgICByZHMtPmRvbWlkID0gZHNzLT5k
b21pZDsKICAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKIAorICAgIGRzcy0+
c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVu
OworCisgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3JlbXVzX2RvbWFpbl9zdXNwZW5k
X2NhbGxiYWNrOworICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3Jlc3VtZV9jYWxsYmFjazsKKyAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVt
dXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKKwogICAgIGxpYnhsX19yZW11c19k
ZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXgg
ZGU1ZDI3Zi4uNzI5M2QwYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMK
KysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTczMCw2ICs3MzAsMTcgQEAgc3Rh
dGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fZG9uZSgKICAgICBsaWJ4bF9feGNfZG9t
YWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmc3RyZWFtLT5zaHMsIHJj
KTsKIH0KIAorc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rv
bWFpbl9jcmVhdGVfc3RhdGUgKmRjcykKK3sKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICov
CisgICAgbGlieGxfX3NybV9yZXN0b3JlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFj
a3MgPQorICAgICAgICAmZGNzLT5zcnMuc2hzLmNhbGxiYWNrcy5yZXN0b3JlLmE7CisKKyAgICBj
YWxsYmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2tw
b2ludF9jYWxsYmFjazsKKyAgICBkY3MtPnNycy5jaGVja3BvaW50X2NhbGxiYWNrID0gcmVtdXNf
Y2hlY2twb2ludF9zdHJlYW1fZG9uZTsKK30KKwogLyotLS0tLSBtYWluIGRvbWFpbiBjcmVhdGlv
biAtLS0tLSovCiAKIC8qIFdlIGhhdmUgYSBsaW5lYXIgY29udHJvbCBmbG93OyBvbmx5IG9uZSBl
dmVudCBjYWxsYmFjayBpcwpAQCAtMTAxNCw4ICsxMDI1LDcgQEAgc3RhdGljIHZvaWQgZG9tY3Jl
YXRlX2Jvb3Rsb2FkZXJfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxfZG9tYWluX2Nv
bmZpZyAqY29uc3QgZF9jb25maWcgPSBkY3MtPmd1ZXN0X2NvbmZpZzsKICAgICBjb25zdCBpbnQg
cmVzdG9yZV9mZCA9IGRjcy0+cmVzdG9yZV9mZDsKICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0
YXRlICpjb25zdCBzdGF0ZSA9ICZkY3MtPmJ1aWxkX3N0YXRlOwotICAgIGxpYnhsX19zcm1fcmVz
dG9yZV9hdXRvZ2VuX2NhbGxiYWNrcyAqY29uc3QgY2FsbGJhY2tzID0KLSAgICAgICAgJmRjcy0+
c3JzLnNocy5jYWxsYmFja3MucmVzdG9yZS5hOworICAgIGNvbnN0IGludCBjaGVja3BvaW50ZWRf
c3RyZWFtID0gZGNzLT5yZXN0b3JlX3BhcmFtcy5jaGVja3BvaW50ZWRfc3RyZWFtOwogCiAgICAg
aWYgKHJjKSB7CiAgICAgICAgIGRvbWNyZWF0ZV9yZWJ1aWxkX2RvbmUoZWdjLCBkY3MsIHJjKTsK
QEAgLTEwNDMsNyArMTA1Myw2IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9ib290bG9hZGVyX2Rv
bmUobGlieGxfX2VnYyAqZWdjLAogICAgIH0KIAogICAgIC8qIFJlc3RvcmUgKi8KLSAgICBjYWxs
YmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2twb2lu
dF9jYWxsYmFjazsKIAogICAgIHJjID0gbGlieGxfX2J1aWxkX3ByZShnYywgZG9taWQsIGRfY29u
ZmlnLCBzdGF0ZSk7CiAgICAgaWYgKHJjKQpAQCAtMTA1NCw5ICsxMDYzLDEwIEBAIHN0YXRpYyB2
b2lkIGRvbWNyZWF0ZV9ib290bG9hZGVyX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRjcy0+
c3JzLmZkID0gcmVzdG9yZV9mZDsKICAgICBkY3MtPnNycy5sZWdhY3kgPSAoZGNzLT5yZXN0b3Jl
X3BhcmFtcy5zdHJlYW1fdmVyc2lvbiA9PSAxKTsKICAgICBkY3MtPnNycy5jb21wbGV0aW9uX2Nh
bGxiYWNrID0gZG9tY3JlYXRlX3N0cmVhbV9kb25lOwotICAgIGRjcy0+c3JzLmNoZWNrcG9pbnRf
Y2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lOwogCiAgICAgaWYgKHJlc3Rv
cmVfZmQgPj0gMCkgeworICAgICAgICBpZiAoY2hlY2twb2ludGVkX3N0cmVhbSkKKyAgICAgICAg
ICAgIGxpYnhsX19yZW11c19yZXN0b3JlX3NldHVwKGVnYywgZGNzKTsKICAgICAgICAgbGlieGxf
X3N0cmVhbV9yZWFkX3N0YXJ0KGVnYywgJmRjcy0+c3JzKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGli
eGxfZG9tLmMKaW5kZXggMjI2OTk5OC4uNzgzNWQ0ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
bGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTE0ODksNyArMTQ4
OSw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2Mg
KmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmMpOwogCi1zdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKK3ZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9zdXNwZW5kX2Nh
bGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMg
PSBkYXRhOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwpAQCAtMTUzMiw3ICsxNTMy
LDcgQEAgb3V0OgogICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJh
Y2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGxpYnhs
X19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEpCit2b2lkIGxpYnhsX19y
ZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3Nh
dmVfaGVscGVyX3N0YXRlICpzaHMgPSBkYXRhOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+
ZWdjOwpAQCAtMTU2OSw4ICsxNTY5LDYgQEAgb3V0OgogCiAvKi0tLS0tIHJlbXVzIGFzeW5jaHJv
bm91cyBjaGVja3BvaW50IGNhbGxiYWNrIC0tLS0tKi8KIAotc3RhdGljIHZvaWQgcmVtdXNfY2hl
Y2twb2ludF9zdHJlYW1fd3JpdHRlbigKLSAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19zdHJl
YW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNf
Y29tbWl0X2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwpAQCAtMTU3OCw3ICsxNTc2LDcgQEAgc3RhdGlj
IHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3Rp
bWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0
aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByYyk7CiAKLXN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9jaGVja3Bv
aW50X2NhbGxiYWNrKHZvaWQgKmRhdGEpCit2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9j
aGVja3BvaW50X2NhbGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3NhdmVfaGVscGVy
X3N0YXRlICpzaHMgPSBkYXRhOwogICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
ID0gc2hzLT5jYWxsZXJfc3RhdGU7CkBAIC0xNTg4LDcgKzE1ODYsNyBAQCBzdGF0aWMgdm9pZCBs
aWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQog
ICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhcnRfY2hlY2twb2ludChlZ2MsICZkc3MtPnN3cyk7
CiB9CiAKLXN0YXRpYyB2b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCit2b2lk
IHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCiAgICAgbGlieGxfX2VnYyAqZWdjLCBs
aWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzd3MsIGludCByYykKIHsKICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihzd3MsICpkc3MsIHN3cyk7CkBA
IC0xNzU2LDEzICsxNzU0LDcgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAgICAgICAgfQogICAgIH0K
IAotICAgIG1lbXNldChjYWxsYmFja3MsIDAsIHNpemVvZigqY2FsbGJhY2tzKSk7Ci0gICAgaWYg
KHJfaW5mbyAhPSBOVUxMKSB7Ci0gICAgICAgIGNhbGxiYWNrcy0+c3VzcGVuZCA9IGxpYnhsX19y
ZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjazsKLSAgICAgICAgY2FsbGJhY2tzLT5wb3N0Y29w
eSA9IGxpYnhsX19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrOwotICAgICAgICBjYWxsYmFj
a3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxs
YmFjazsKLSAgICAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxsYmFjayA9IHJlbXVzX2NoZWNr
cG9pbnRfc3RyZWFtX3dyaXR0ZW47Ci0gICAgfSBlbHNlCisgICAgaWYgKHJfaW5mbyA9PSBOVUxM
KQogICAgICAgICBjYWxsYmFja3MtPnN1c3BlbmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2s7CiAKICAgICBjYWxsYmFja3MtPnN3aXRjaF9xZW11X2xvZ2RpcnR5ID0gbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eTsKZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
CmluZGV4IDY1MGE5NTguLjI5Yzg3YTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2lu
dGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzUwOCw2ICsz
NTA4LDEzIEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmQobGlieGxfX2VnYyAq
ZWdjLAogLyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBndWVzdCBkdXJpbmcgbWlncmF0
aW9uICovCiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrKHZvaWQg
KmRhdGEpOwogCisvKiBSZW11cyBjYWxsYmFja3MgZm9yIHNhdmUgKi8KK19oaWRkZW4gdm9pZCBy
ZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuKAorICAgIGxpYnhsX19lZ2MgKmVnYywgbGli
eGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOworX2hpZGRlbiB2b2lkIGxpYnhs
X19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKK19oaWRkZW4gdm9p
ZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKK19oaWRk
ZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lk
ICpkYXRhKTsKKwogCiAvKgogICogQ29udmVuaWVuY2UgbWFjcm9zLgotLQpnZW5lcmF0ZWQgYnkg
Z2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxp
bmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJj
ZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:24 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDI-0007QQ-GS; Sun, 28 Feb 2016 23:57:24 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDG-0007QA-Q6
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:22 +0000
Received: from [85.158.137.68] by server-8.bemta-3.messagelabs.com id
 1E/92-04050-26983D65; Sun, 28 Feb 2016 23:57:22 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1456703840!15962668!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 44273 invoked from network); 28 Feb 2016 23:57:21 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-4.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:21 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDE-0000vz-5g
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDE-0001xC-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:20 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDE-0001xC-3I@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:20 +0000
Subject: [Xen-changelog] [xen master] libxl/remus: init checkpoint callback
	in Remus setup callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDViODRmYjlhYmYyYjY4OTJkYTEwZGVlYzRiNTQ5NjZkODJjNGMxMWMKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogVHVlIEZl
YiAxNiAxMTo0MToxNiAyMDE2ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IGxpYnhsL3JlbXVzOiBpbml0IGNoZWNrcG9pbnQgY2FsbGJhY2sgaW4gUmVtdXMgc2V0dXAgY2Fs
bGJhY2sKICAgIAogICAgSW5pdCBzdHJlYW0ge3JlYWQvd3JpdGV9IHN0YXRlIGNoZWNrcG9pbnRf
Y2FsbGJhY2ssIHN1c3BlbmQvcmVzdW1lL2NoZWNrcG9pbnQKICAgIGNhbGxiYWNrIGluIFJlbXVz
IHNldHVwIGNhbGxiYWNrLgogICAgVGhlcmUncyBubyBmdW5jdGlvbmFsIGNoYW5nZSwgaXQncyBq
dXN0IHJlZmFjdG9yaW5nIHNvIHRoYXQgd2UgY2FuIG1vdmUKICAgIGFsbCByZW11cyBjb2RlIGlu
dG8gb25lIGZpbGUuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5
YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3
ZW5jeUBjbi5mdWppdHN1LmNvbT4KICAgIENDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy
M0BjaXRyaXguY29tPgogICAgQ0M6IElhbiBDYW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5j
b20+CiAgICBDQzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CiAgICBD
QzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KICAgIFJldmlld2VkLWJ5OiBLb25yYWQg
Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2Vp
IExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAg
ICAgIHwgIDggKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgfCAxOCArKysr
KysrKysrKysrKy0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgfCAxOCArKysrKy0t
LS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgNyArKysrKysrCiA0
IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4IDJk
MThiOGQuLjM4MDI5Y2QgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIvdG9v
bHMvbGlieGwvbGlieGwuYwpAQCAtODk5LDYgKzg5OSw4IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19y
ZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwogICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
CiAgICAgY29uc3QgbGlieGxfZG9tYWluX3JlbXVzX2luZm8gKmNvbnN0IGluZm8gPSBkc3MtPnJl
bXVzOworICAgIGxpYnhsX19zcm1fc2F2ZV9hdXRvZ2VuX2NhbGxiYWNrcyAqY29uc3QgY2FsbGJh
Y2tzID0KKyAgICAgICAgJmRzcy0+c3dzLnNocy5jYWxsYmFja3Muc2F2ZS5hOwogCiAgICAgU1RB
VEVfQU9fR0MoZHNzLT5hbyk7CiAKQEAgLTkxNyw2ICs5MTksMTIgQEAgc3RhdGljIHZvaWQgbGli
eGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKICAgICByZHMtPmRvbWlkID0gZHNzLT5k
b21pZDsKICAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKIAorICAgIGRzcy0+
c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVu
OworCisgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3JlbXVzX2RvbWFpbl9zdXNwZW5k
X2NhbGxiYWNrOworICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3Jlc3VtZV9jYWxsYmFjazsKKyAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVt
dXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKKwogICAgIGxpYnhsX19yZW11c19k
ZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXgg
ZGU1ZDI3Zi4uNzI5M2QwYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMK
KysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTczMCw2ICs3MzAsMTcgQEAgc3Rh
dGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fZG9uZSgKICAgICBsaWJ4bF9feGNfZG9t
YWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmc3RyZWFtLT5zaHMsIHJj
KTsKIH0KIAorc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rv
bWFpbl9jcmVhdGVfc3RhdGUgKmRjcykKK3sKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICov
CisgICAgbGlieGxfX3NybV9yZXN0b3JlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFj
a3MgPQorICAgICAgICAmZGNzLT5zcnMuc2hzLmNhbGxiYWNrcy5yZXN0b3JlLmE7CisKKyAgICBj
YWxsYmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2tw
b2ludF9jYWxsYmFjazsKKyAgICBkY3MtPnNycy5jaGVja3BvaW50X2NhbGxiYWNrID0gcmVtdXNf
Y2hlY2twb2ludF9zdHJlYW1fZG9uZTsKK30KKwogLyotLS0tLSBtYWluIGRvbWFpbiBjcmVhdGlv
biAtLS0tLSovCiAKIC8qIFdlIGhhdmUgYSBsaW5lYXIgY29udHJvbCBmbG93OyBvbmx5IG9uZSBl
dmVudCBjYWxsYmFjayBpcwpAQCAtMTAxNCw4ICsxMDI1LDcgQEAgc3RhdGljIHZvaWQgZG9tY3Jl
YXRlX2Jvb3Rsb2FkZXJfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxfZG9tYWluX2Nv
bmZpZyAqY29uc3QgZF9jb25maWcgPSBkY3MtPmd1ZXN0X2NvbmZpZzsKICAgICBjb25zdCBpbnQg
cmVzdG9yZV9mZCA9IGRjcy0+cmVzdG9yZV9mZDsKICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0
YXRlICpjb25zdCBzdGF0ZSA9ICZkY3MtPmJ1aWxkX3N0YXRlOwotICAgIGxpYnhsX19zcm1fcmVz
dG9yZV9hdXRvZ2VuX2NhbGxiYWNrcyAqY29uc3QgY2FsbGJhY2tzID0KLSAgICAgICAgJmRjcy0+
c3JzLnNocy5jYWxsYmFja3MucmVzdG9yZS5hOworICAgIGNvbnN0IGludCBjaGVja3BvaW50ZWRf
c3RyZWFtID0gZGNzLT5yZXN0b3JlX3BhcmFtcy5jaGVja3BvaW50ZWRfc3RyZWFtOwogCiAgICAg
aWYgKHJjKSB7CiAgICAgICAgIGRvbWNyZWF0ZV9yZWJ1aWxkX2RvbmUoZWdjLCBkY3MsIHJjKTsK
QEAgLTEwNDMsNyArMTA1Myw2IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9ib290bG9hZGVyX2Rv
bmUobGlieGxfX2VnYyAqZWdjLAogICAgIH0KIAogICAgIC8qIFJlc3RvcmUgKi8KLSAgICBjYWxs
YmFja3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2twb2lu
dF9jYWxsYmFjazsKIAogICAgIHJjID0gbGlieGxfX2J1aWxkX3ByZShnYywgZG9taWQsIGRfY29u
ZmlnLCBzdGF0ZSk7CiAgICAgaWYgKHJjKQpAQCAtMTA1NCw5ICsxMDYzLDEwIEBAIHN0YXRpYyB2
b2lkIGRvbWNyZWF0ZV9ib290bG9hZGVyX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRjcy0+
c3JzLmZkID0gcmVzdG9yZV9mZDsKICAgICBkY3MtPnNycy5sZWdhY3kgPSAoZGNzLT5yZXN0b3Jl
X3BhcmFtcy5zdHJlYW1fdmVyc2lvbiA9PSAxKTsKICAgICBkY3MtPnNycy5jb21wbGV0aW9uX2Nh
bGxiYWNrID0gZG9tY3JlYXRlX3N0cmVhbV9kb25lOwotICAgIGRjcy0+c3JzLmNoZWNrcG9pbnRf
Y2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lOwogCiAgICAgaWYgKHJlc3Rv
cmVfZmQgPj0gMCkgeworICAgICAgICBpZiAoY2hlY2twb2ludGVkX3N0cmVhbSkKKyAgICAgICAg
ICAgIGxpYnhsX19yZW11c19yZXN0b3JlX3NldHVwKGVnYywgZGNzKTsKICAgICAgICAgbGlieGxf
X3N0cmVhbV9yZWFkX3N0YXJ0KGVnYywgJmRjcy0+c3JzKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGli
eGxfZG9tLmMKaW5kZXggMjI2OTk5OC4uNzgzNWQ0ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
bGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTE0ODksNyArMTQ4
OSw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2Mg
KmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmMpOwogCi1zdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKK3ZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9zdXNwZW5kX2Nh
bGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMg
PSBkYXRhOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwpAQCAtMTUzMiw3ICsxNTMy
LDcgQEAgb3V0OgogICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJh
Y2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGxpYnhs
X19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEpCit2b2lkIGxpYnhsX19y
ZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3Nh
dmVfaGVscGVyX3N0YXRlICpzaHMgPSBkYXRhOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+
ZWdjOwpAQCAtMTU2OSw4ICsxNTY5LDYgQEAgb3V0OgogCiAvKi0tLS0tIHJlbXVzIGFzeW5jaHJv
bm91cyBjaGVja3BvaW50IGNhbGxiYWNrIC0tLS0tKi8KIAotc3RhdGljIHZvaWQgcmVtdXNfY2hl
Y2twb2ludF9zdHJlYW1fd3JpdHRlbigKLSAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19zdHJl
YW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNf
Y29tbWl0X2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwpAQCAtMTU3OCw3ICsxNTc2LDcgQEAgc3RhdGlj
IHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3Rp
bWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0
aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludCByYyk7CiAKLXN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9jaGVja3Bv
aW50X2NhbGxiYWNrKHZvaWQgKmRhdGEpCit2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9j
aGVja3BvaW50X2NhbGxiYWNrKHZvaWQgKmRhdGEpCiB7CiAgICAgbGlieGxfX3NhdmVfaGVscGVy
X3N0YXRlICpzaHMgPSBkYXRhOwogICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
ID0gc2hzLT5jYWxsZXJfc3RhdGU7CkBAIC0xNTg4LDcgKzE1ODYsNyBAQCBzdGF0aWMgdm9pZCBs
aWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQog
ICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhcnRfY2hlY2twb2ludChlZ2MsICZkc3MtPnN3cyk7
CiB9CiAKLXN0YXRpYyB2b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCit2b2lk
IHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCiAgICAgbGlieGxfX2VnYyAqZWdjLCBs
aWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzd3MsIGludCByYykKIHsKICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihzd3MsICpkc3MsIHN3cyk7CkBA
IC0xNzU2LDEzICsxNzU0LDcgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAgICAgICAgfQogICAgIH0K
IAotICAgIG1lbXNldChjYWxsYmFja3MsIDAsIHNpemVvZigqY2FsbGJhY2tzKSk7Ci0gICAgaWYg
KHJfaW5mbyAhPSBOVUxMKSB7Ci0gICAgICAgIGNhbGxiYWNrcy0+c3VzcGVuZCA9IGxpYnhsX19y
ZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjazsKLSAgICAgICAgY2FsbGJhY2tzLT5wb3N0Y29w
eSA9IGxpYnhsX19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrOwotICAgICAgICBjYWxsYmFj
a3MtPmNoZWNrcG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxs
YmFjazsKLSAgICAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxsYmFjayA9IHJlbXVzX2NoZWNr
cG9pbnRfc3RyZWFtX3dyaXR0ZW47Ci0gICAgfSBlbHNlCisgICAgaWYgKHJfaW5mbyA9PSBOVUxM
KQogICAgICAgICBjYWxsYmFja3MtPnN1c3BlbmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2s7CiAKICAgICBjYWxsYmFja3MtPnN3aXRjaF9xZW11X2xvZ2RpcnR5ID0gbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eTsKZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
CmluZGV4IDY1MGE5NTguLjI5Yzg3YTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2lu
dGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzUwOCw2ICsz
NTA4LDEzIEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmQobGlieGxfX2VnYyAq
ZWdjLAogLyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBndWVzdCBkdXJpbmcgbWlncmF0
aW9uICovCiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrKHZvaWQg
KmRhdGEpOwogCisvKiBSZW11cyBjYWxsYmFja3MgZm9yIHNhdmUgKi8KK19oaWRkZW4gdm9pZCBy
ZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuKAorICAgIGxpYnhsX19lZ2MgKmVnYywgbGli
eGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOworX2hpZGRlbiB2b2lkIGxpYnhs
X19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKK19oaWRkZW4gdm9p
ZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKK19oaWRk
ZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lk
ICpkYXRhKTsKKwogCiAvKgogICogQ29udmVuaWVuY2UgbWFjcm9zLgotLQpnZW5lcmF0ZWQgYnkg
Z2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxp
bmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJj
ZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDT-0007Sc-KB; Sun, 28 Feb 2016 23:57:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDR-0007SN-Pm
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:34 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
 65/EC-02994-F5983D65; Sun, 28 Feb 2016 23:57:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1456703850!25583446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34614 invoked from network); 28 Feb 2016 23:57:31 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDO-0000wF-Fg
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDO-0001xw-DJ
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDO-0001xw-DJ@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:30 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move remus code into
	libxl_remus.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDEyMDA4YmI1YjBlYmJjMDFmN2YxMDNhZDZkNDBmZTdhY2ZmZmEyN2IKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHJlbXVzIGNvZGUgaW50byBsaWJ4bF9yZW11cy5jCiAgICAKICAg
IEFmdGVyIHByZXZpb3VzIHJlZmFjdG9yaW5nLCB3ZSBhcmUgbm93IGFibGUgdG8gbW92ZSBhbGwg
cmVtdXMgY29kZQogICAgaW50byBhIHNlcGFyYXRlIGZpbGUgbGlieGxfcmVtdXMuYy4KICAgIAog
ICAgRXhwb3J0IGZvbGxvd2luZyBmdW5jdGlvbnMgZm9yIGludGVybmFsIHVzZToKICAgIC0gc2V0
dXAvdGVhcmRvd24gUmVtdXM6CiAgICAgICogbGlieGxfX3JlbXVzX3NldHVwCiAgICAgICogbGli
eGxfX3JlbXVzX3RlYXJkb3duCiAgICAgICogbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAKICAg
IAogICAgU2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3Rh
Y2suY24+CiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3Uu
Y29tPgogICAgQ0M6IElhbiBDYW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5jb20+CiAgICBD
QzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTpJ
YW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6IEtv
bnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5
OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL01ha2VmaWxl
ICAgICAgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAgNzUgLS0t
LS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgIHwgIDMyIC0tLS0KIHRvb2xzL2xp
YnhsL2xpYnhsX2RvbS5jICAgICAgfCAyMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgMTQgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzLmMgICAgfCAzNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogNiBmaWxlcyBjaGFuZ2VkLCAzNzEgaW5zZXJ0aW9ucygrKSwgMzM3IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUK
aW5kZXggNjIwNzIwZS4uN2Q2NGVjYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvTWFrZWZpbGUK
KysrIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUKQEAgLTY0LDcgKzY0LDcgQEAgZWxzZQogTElCWExf
T0JKUy15ICs9IGxpYnhsX25vX2NvbnZlcnRfY2FsbG91dC5vCiBlbmRpZgogCi1MSUJYTF9PQkpT
LXkgKz0gbGlieGxfcmVtdXNfZGV2aWNlLm8gbGlieGxfcmVtdXNfZGlza19kcmJkLm8KK0xJQlhM
X09CSlMteSArPSBsaWJ4bF9yZW11cy5vIGxpYnhsX3JlbXVzX2RldmljZS5vIGxpYnhsX3JlbXVz
X2Rpc2tfZHJiZC5vCiAKIExJQlhMX09CSlMtJChDT05GSUdfWDg2KSArPSBsaWJ4bF9jcHVpZC5v
IGxpYnhsX3g4Ni5vIGxpYnhsX3Bzci5vCiBMSUJYTF9PQkpTLSQoQ09ORklHX0FSTSkgKz0gbGli
eGxfbm9jcHVpZC5vIGxpYnhsX2FybS5vIGxpYnhsX2xpYmZkdF9jb21wYXQubwpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggMzgwMjlj
ZC4uZDZjZTdkYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9s
aWJ4bC9saWJ4bC5jCkBAIC04MzEsMTIgKzgzMSw2IEBAIG91dDoKICAgICByZXR1cm4gcHRyOwog
fQogCi1zdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzKTsKLXN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRz
LCBpbnQgcmMpOwotc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZmFpbGVkKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSAqcmRzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgcmVtdXNfZmFpbG92ZXJfY2IobGlieGxf
X2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MsIGludCByYyk7CiAKQEAgLTg5Myw3NSArODg3LDYgQEAgaW50IGxp
YnhsX2RvbWFpbl9yZW11c19zdGFydChsaWJ4bF9jdHggKmN0eCwgbGlieGxfZG9tYWluX3JlbXVz
X2luZm8gKmluZm8sCiAgICAgcmV0dXJuIEFPX0NSRUFURV9GQUlMKHJjKTsKIH0KIAotc3RhdGlj
IHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKLXsKLSAg
ICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3Rh
dGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKLSAgICBjb25zdCBsaWJ4bF9kb21haW5fcmVtdXNf
aW5mbyAqY29uc3QgaW5mbyA9IGRzcy0+cmVtdXM7Ci0gICAgbGlieGxfX3NybV9zYXZlX2F1dG9n
ZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZHNzLT5zd3Muc2hzLmNh
bGxiYWNrcy5zYXZlLmE7Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChs
aWJ4bF9kZWZib29sX3ZhbChpbmZvLT5uZXRidWYpKSB7Ci0gICAgICAgIGlmICghbGlieGxfX25l
dGJ1ZmZlcl9lbmFibGVkKGdjKSkgewotICAgICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IE5v
IHN1cHBvcnQgZm9yIG5ldHdvcmsgYnVmZmVyaW5nIik7Ci0gICAgICAgICAgICBnb3RvIG91dDsK
LSAgICAgICAgfQotICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8IExJQlhM
X19ERVZJQ0VfS0lORF9WSUYpOwotICAgIH0KLQotICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChp
bmZvLT5kaXNrYnVmKSkKLSAgICAgICAgcmRzLT5kZXZpY2Vfa2luZF9mbGFncyB8PSAoMSA8PCBM
SUJYTF9fREVWSUNFX0tJTkRfVkJEKTsKLQotICAgIHJkcy0+YW8gPSBhbzsKLSAgICByZHMtPmRv
bWlkID0gZHNzLT5kb21pZDsKLSAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsK
LQotICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0
cmVhbV93cml0dGVuOwotCi0gICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3JlbXVzX2Rv
bWFpbl9zdXNwZW5kX2NhbGxiYWNrOwotICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBsaWJ4bF9f
cmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjazsKLSAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQg
PSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKLQotICAgIGxp
YnhsX19yZW11c19kZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKLSAgICByZXR1cm47Ci0KLW91dDoK
LSAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCBFUlJPUl9GQUlMKTsKLX0KLQotc3RhdGljIHZv
aWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykKLXsKLSAg
ICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpk
c3MsIHJkcyk7Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7Ci0KLSAgICBpZiAoIXJjKSB7Ci0g
ICAgICAgIGxpYnhsX19kb21haW5fc2F2ZShlZ2MsIGRzcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHNldHVwIGRldmljZSBmb3Ig
Z3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLAotICAgICAgICBkc3MtPmRvbWlkLCByYyk7Ci0g
ICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX3NldHVwX2ZhaWxlZDsKLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc190ZWFyZG93bihlZ2MsIHJkcyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX3NldHVw
X2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKQotewotICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsK
LSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChyYykKLSAgICAgICAgTE9HKEVS
Uk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2UgYWZ0ZXIgc2V0dXAgZmFpbGVk
IgotICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLCBkc3MtPmRv
bWlkLCByYyk7Ci0KLSAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7Ci19Ci0KIHN0YXRp
YyB2b2lkIHJlbXVzX2ZhaWxvdmVyX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMp
CiB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX2NyZWF0ZS5jCmluZGV4IDcyOTNkMGIuLmU0MjFkMzYgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBA
IC03MDksMzggKzcwOSw2IEBAIHN0YXRpYyBpbnQgc3RvcmVfbGlieGxfZW50cnkobGlieGxfX2dj
ICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
ZGV2aWNlX21vZGVsX3ZlcnNpb25fdG9fc3RyaW5nKGJfaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNp
b24pKTsKIH0KIAotLyotLS0tLSByZW11cyBhc3luY2hyb25vdXMgY2hlY2twb2ludCBjYWxsYmFj
ayAtLS0tLSovCi0KLXN0YXRpYyB2b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX2RvbmUoCi0g
ICAgbGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fc3RyZWFtX3JlYWRfc3RhdGUgKnNycywgaW50IHJj
KTsKLQotc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN0b3JlX2NoZWNrcG9pbnRf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKLXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNo
cyA9IGRhdGE7Ci0gICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcyA9IHNocy0+Y2Fs
bGVyX3N0YXRlOwotICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwotICAgIFNUQVRFX0FP
X0dDKGRjcy0+YW8pOwotCi0gICAgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXJ0X2NoZWNrcG9pbnQo
ZWdjLCAmZGNzLT5zcnMpOwotfQotCi1zdGF0aWMgdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVh
bV9kb25lKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXRlICpz
dHJlYW0sIGludCByYykKLXsKLSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j
X2NhbGxiYWNrX2RvbmUoZWdjLCAmc3RyZWFtLT5zaHMsIHJjKTsKLX0KLQotc3RhdGljIHZvaWQg
bGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRj
cykKLXsKLSAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgbGlieGxfX3NybV9yZXN0
b3JlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZGNzLT5z
cnMuc2hzLmNhbGxiYWNrcy5yZXN0b3JlLmE7Ci0KLSAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQg
PSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2twb2ludF9jYWxsYmFjazsKLSAgICBk
Y3MtPnNycy5jaGVja3BvaW50X2NhbGxiYWNrID0gcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fZG9u
ZTsKLX0KLQogLyotLS0tLSBtYWluIGRvbWFpbiBjcmVhdGlvbiAtLS0tLSovCiAKIC8qIFdlIGhh
dmUgYSBsaW5lYXIgY29udHJvbCBmbG93OyBvbmx5IG9uZSBldmVudCBjYWxsYmFjayBpcwpkaWZm
IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20u
YwppbmRleCA3ODM1ZDRkLi5kNzRmMWE0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9k
b20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMTQ3OSwxOTYgKzE0NzksNiBA
QCBpbnQgbGlieGxfX3NhdmVfZW11bGF0b3JfeGVuc3RvcmVfZGF0YShsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfc3RhdGUgKmRzcywKICAgICByZXR1cm4gcmM7CiB9CiAKLS8qLS0tLS0gcmVtdXMgY2Fs
bGJhY2tzIC0tLS0tKi8KLXN0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNr
X2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCBvayk7Ci1zdGF0aWMg
dm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJjKTsKLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmMpOwotCi12b2lkIGxpYnhsX19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFj
ayh2b2lkICpkYXRhKQotewotICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0
YTsKLSAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOwotCi0gICAgZHNzLT5jYWxsYmFj
a19jb21tb25fZG9uZSA9IHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25l
OwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZChlZ2MsIGRzcyk7Ci19Ci0KLXN0YXRpYyB2b2lk
IHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MsIGludCByYykKLXsKLSAgICBpZiAocmMpCi0gICAgICAgIGdvdG8gb3V0Owot
Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsK
LSAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYjsKLSAgICBs
aWJ4bF9fcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZChlZ2MsIHJkcyk7Ci0gICAgcmV0dXJuOwot
Ci1vdXQ6Ci0gICAgZHNzLT5yYyA9IHJjOwotICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3Rv
cmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2IobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotCi0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91
dDsKLQotICAgIHJjID0gMDsKLQotb3V0OgotICAgIGlmIChyYykKLSAgICAgICAgZHNzLT5yYyA9
IHJjOwotICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9u
ZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7Ci19Ci0KLXZvaWQgbGlieGxfX3JlbXVzX2RvbWFp
bl9yZXN1bWVfY2FsbGJhY2sodm9pZCAqZGF0YSkKLXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJf
c3RhdGUgKnNocyA9IGRhdGE7Ci0gICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLSAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl
ICpjb25zdCByZHMgPSAmZHNzLT5yZHM7Ci0gICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2Rldmlj
ZXNfcHJlcmVzdW1lX2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3ByZXJlc3VtZShlZ2Ms
IHJkcyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhs
X19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotICAgIFNUQVRFX0FPX0dDKGRzcy0+
YW8pOwotCi0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91dDsKLQotICAgIC8qIFJlc3VtZXMg
dGhlIGRvbWFpbiBhbmQgdGhlIGRldmljZSBtb2RlbCAqLwotICAgIHJjID0gbGlieGxfX2RvbWFp
bl9yZXN1bWUoZ2MsIGRzcy0+ZG9taWQsIC8qIEZhc3QgU3VzcGVuZCAqLzEpOwotICAgIGlmIChy
YykKLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICByYyA9IDA7Ci0KLW91dDoKLSAgICBpZiAocmMp
Ci0gICAgICAgIGRzcy0+cmMgPSByYzsKLSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3Jl
X2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOwotfQotCi0vKi0t
LS0tIHJlbXVzIGFzeW5jaHJvbm91cyBjaGVja3BvaW50IGNhbGxiYWNrIC0tLS0tKi8KLQotc3Rh
dGljIHZvaWQgcmVtdXNfZGV2aWNlc19jb21taXRfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUg
KnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci1zdGF0
aWMgdm9pZCByZW11c19uZXh0X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZf
dGltZSAqZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJjKTsKLQotdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9j
YWxsYmFjayh2b2lkICpkYXRhKQotewotICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hz
ID0gZGF0YTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2Fs
bGVyX3N0YXRlOwotICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwotICAgIFNUQVRFX0FP
X0dDKGRzcy0+YW8pOwotCi0gICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGFydF9jaGVja3BvaW50
KGVnYywgJmRzcy0+c3dzKTsKLX0KLQotdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0
dGVuKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dz
LCBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0Yoc3dzLCAqZHNzLCBzd3MpOwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChyYykgewotICAgICAgICBM
T0coRVJST1IsICJGYWlsZWQgdG8gc2F2ZSBkZXZpY2UgbW9kZWwuIFRlcm1pbmF0aW5nIFJlbXVz
Li4iKTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi0gICAgcmRzLT5jYWxsYmFjayA9IHJl
bXVzX2RldmljZXNfY29tbWl0X2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX2NvbW1pdChl
Z2MsIHJkcyk7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICBsaWJ4bF9feGNfZG9tYWluX3Nh
dmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAwKTsKLX0K
LQotc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19jb21taXRfY2IobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykK
LXsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChy
YykgewotICAgICAgICBMT0coRVJST1IsICJGYWlsZWQgdG8gZG8gZGV2aWNlIGNvbW1pdCBvcC4i
Ci0gICAgICAgICAgICAiIFRlcm1pbmF0aW5nIFJlbXVzLi4iKTsKLSAgICAgICAgZ290byBvdXQ7
Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBBdCB0aGlzIHBvaW50LCB3ZSBoYXZlIHN1Y2Nlc3Nm
dWxseSBjaGVja3BvaW50ZWQgdGhlIGd1ZXN0IGFuZAotICAgICAqIGNvbW1pdHRlZCBpdCBhdCB0
aGUgYmFja3VwLiBXZSdsbCBjb21lIGJhY2sgYWZ0ZXIgdGhlIGNoZWNrcG9pbnQKLSAgICAgKiBp
bnRlcnZhbCB0byBjaGVja3BvaW50IHRoZSBndWVzdCBhZ2Fpbi4gVW50aWwgdGhlbiwgbGV0IHRo
ZSBndWVzdAotICAgICAqIGNvbnRpbnVlIGV4ZWN1dGlvbi4KLSAgICAgKi8KLQotICAgIC8qIFNl
dCBjaGVja3BvaW50IGludGVydmFsIHRpbWVvdXQgKi8KLSAgICByYyA9IGxpYnhsX19ldl90aW1l
X3JlZ2lzdGVyX3JlbChhbywgJmRzcy0+Y2hlY2twb2ludF90aW1lb3V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlbXVzX25leHRfY2hlY2twb2ludCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmludGVydmFsKTsKLQotICAgIGlmIChy
YykKLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICBsaWJ4bF9f
eGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Mu
c2hzLCAwKTsKLX0KLQotc3RhdGljIHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYykKLXsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OVEFJTkVSX09G
KGV2LCAqZHNzLCBjaGVja3BvaW50X3RpbWVvdXQpOwotCi0gICAgU1RBVEVfQU9fR0MoZHNzLT5h
byk7Ci0KLSAgICBpZiAocmMgPT0gRVJST1JfVElNRURPVVQpIC8qIEFzIGludGVuZGVkICovCi0g
ICAgICAgIHJjID0gMDsKLQotICAgIC8qCi0gICAgICogVGltZSB0byBjaGVja3BvaW50IHRoZSBn
dWVzdCBhZ2Fpbi4gV2UgcmV0dXJuIDEgdG8gbGlieGMKLSAgICAgKiAoeGNfZG9tYWluX3NhdmUu
YykuIGluIG9yZGVyIHRvIGNvbnRpbnVlIGV4ZWN1dGluZyB0aGUgaW5maW5pdGUgbG9vcAotICAg
ICAqIChzdXNwZW5kLCBjaGVja3BvaW50LCByZXN1bWUpIGluIHhjX2RvbWFpbl9zYXZlKCkuCi0g
ICAgICovCi0KLSAgICBpZiAocmMpCi0gICAgICAgIGRzcy0+cmMgPSByYzsKLQotICAgIGxpYnhs
X194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3
cy5zaHMsICFyYyk7Ci19Ci0KIC8qLS0tLS0gbWFpbiBjb2RlIGZvciBzYXZpbmcsIGluIG9yZGVy
IG9mIGV4ZWN1dGlvbiAtLS0tLSovCiAKIHZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpCkBAIC0xNzc3LDEzICsx
NTg3LDYgQEAgc3RhdGljIHZvaWQgc3RyZWFtX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRv
bWFpbl9zYXZlX2RvbmUoZWdjLCBzd3MtPmRzcywgcmMpOwogfQogCi1zdGF0aWMgdm9pZCBsaWJ4
bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci1zdGF0aWMgdm9pZCByZW11c190ZWFy
ZG93bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwotCiBzdGF0aWMgdm9pZCBkb21haW5f
c2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKIHsKQEAgLTE4MTIsMzIg
KzE2MTUsNiBAQCBzdGF0aWMgdm9pZCBkb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywK
ICAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGxpYnhs
X19yZW11c190ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQotewotICAgIEVHQ19HQzsKLQotICAgIExP
RyhXQVJOLCAiUmVtdXM6IERvbWFpbiBzdXNwZW5kIHRlcm1pbmF0ZWQgd2l0aCByYyAlZCwiCi0g
ICAgICAgICIgdGVhcmRvd24gUmVtdXMgZGV2aWNlcy4uLiIsIHJjKTsKLSAgICBkc3MtPnJkcy5j
YWxsYmFjayA9IHJlbXVzX3RlYXJkb3duX2RvbmU7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNf
dGVhcmRvd24oZWdjLCAmZHNzLT5yZHMpOwotfQotCi1zdGF0aWMgdm9pZCByZW11c190ZWFyZG93
bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOwotCi0gICAgaWYgKHJjKQotICAgICAgICBMT0coRVJST1IsICJSZW11
czogZmFpbGVkIHRvIHRlYXJkb3duIGRldmljZSBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwiCi0g
ICAgICAgICAgICAiIHJjICVkIiwgZHNzLT5kb21pZCwgcmMpOwotCi0gICAgZHNzLT5jYWxsYmFj
ayhlZ2MsIGRzcywgcmMpOwotfQotCiAvKj09PT09PT09PT09PT09PT09PT09IE1pc2NlbGxhbmVv
dXMgPT09PT09PT09PT09PT09PT09PT0qLwogCiBjaGFyICpsaWJ4bF9fdXVpZDJzdHJpbmcobGli
eGxfX2djICpnYywgY29uc3QgbGlieGxfdXVpZCB1dWlkKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg
MjljODdhMi4uZDliOWUyYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zNTA4LDEyICszNTA4LDE0
IEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmQobGlieGxfX2VnYyAqZWdjLAog
LyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBndWVzdCBkdXJpbmcgbWlncmF0aW9uICov
CiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrKHZvaWQgKmRhdGEp
OwogCi0vKiBSZW11cyBjYWxsYmFja3MgZm9yIHNhdmUgKi8KLV9oaWRkZW4gdm9pZCByZW11c19j
aGVja3BvaW50X3N0cmVhbV93cml0dGVuKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0
cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOwotX2hpZGRlbiB2b2lkIGxpYnhsX19yZW11
c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKLV9oaWRkZW4gdm9pZCBsaWJ4
bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKLV9oaWRkZW4gdm9p
ZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRh
KTsKKy8qIFJlbXVzIHNldHVwIGFuZCB0ZWFyZG93biAqLworX2hpZGRlbiB2b2lkIGxpYnhsX19y
ZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKK19oaWRkZW4gdm9pZCBsaWJ4
bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9f
cmVtdXNfcmVzdG9yZV9zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcyk7CiAK
IAogLyoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgYi90b29scy9saWJ4
bC9saWJ4bF9yZW11cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2NzI1
MGQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCkBAIC0wLDAg
KzEsMzYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5ICAgICAgQ2l0cml4IEx0ZC4KKyAq
IEF1dGhvciBWaW5jZW50IEhhbnF1ZXogPHZpbmNlbnQuaGFucXVlekBldS5jaXRyaXguY29tPgor
ICogICAgICAgIFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgorICoK
KyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNwZWNpYWwKKyAqIGV4
Y2VwdGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0UuCisgKgorICogVGhp
cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAv
KiBtdXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNpbmNsdWRlICJsaWJ4
bF9pbnRlcm5hbC5oIgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlbXVzIHNldHVwIGFuZCB0
ZWFyZG93biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCByZW11c19zZXR1
cF9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKTsKK3N0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKTsKK3N0YXRpYyB2
b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCisgICAgbGlieGxfX2VnYyAqZWdj
LCBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzd3MsIGludCByYyk7CitzdGF0aWMgdm9pZCBs
aWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CitzdGF0aWMg
dm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKK3N0
YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9jaGVja3BvaW50X2NhbGxiYWNrKHZv
aWQgKmRhdGEpOworCit2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykK
K3sKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisgICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKKyAgICBjb25zdCBsaWJ4bF9kb21haW5f
cmVtdXNfaW5mbyAqY29uc3QgaW5mbyA9IGRzcy0+cmVtdXM7CisgICAgbGlieGxfX3NybV9zYXZl
X2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQorICAgICAgICAmZHNzLT5zd3Mu
c2hzLmNhbGxiYWNrcy5zYXZlLmE7CisKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAg
IGlmIChsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT5uZXRidWYpKSB7CisgICAgICAgIGlmICghbGli
eGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgeworICAgICAgICAgICAgTE9HKEVSUk9SLCAiUmVt
dXM6IE5vIHN1cHBvcnQgZm9yIG5ldHdvcmsgYnVmZmVyaW5nIik7CisgICAgICAgICAgICBnb3Rv
IG91dDsKKyAgICAgICAgfQorICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8
IExJQlhMX19ERVZJQ0VfS0lORF9WSUYpOworICAgIH0KKworICAgIGlmIChsaWJ4bF9kZWZib29s
X3ZhbChpbmZvLT5kaXNrYnVmKSkKKyAgICAgICAgcmRzLT5kZXZpY2Vfa2luZF9mbGFncyB8PSAo
MSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVkJEKTsKKworICAgIHJkcy0+YW8gPSBhbzsKKyAgICBy
ZHMtPmRvbWlkID0gZHNzLT5kb21pZDsKKyAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBf
ZG9uZTsKKworICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3Bv
aW50X3N0cmVhbV93cml0dGVuOworCisgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3Jl
bXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrOworICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBs
aWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjazsKKyAgICBjYWxsYmFja3MtPmNoZWNr
cG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKKwor
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKKyAgICByZXR1cm47CisK
K291dDoKKyAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCBFUlJPUl9GQUlMKTsKK30KKworc3Rh
dGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
K3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisKKyAgICBpZiAoIXJj
KSB7CisgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZShlZ2MsIGRzcyk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHNldHVwIGRldmlj
ZSBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLAorICAgICAgICBkc3MtPmRvbWlkLCBy
Yyk7CisgICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX3NldHVwX2ZhaWxlZDsKKyAgICBsaWJ4bF9f
cmVtdXNfZGV2aWNlc190ZWFyZG93bihlZ2MsIHJkcyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKQoreworICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywg
cmRzKTsKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAgIGlmIChyYykKKyAgICAgICAg
TE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2UgYWZ0ZXIgc2V0dXAg
ZmFpbGVkIgorICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLCBk
c3MtPmRvbWlkLCByYyk7CisKKyAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7Cit9CisK
K3N0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwordm9pZCBsaWJ4bF9f
cmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpCit7CisgICAgRUdDX0dDOworCisgICAgTE9HKFdBUk4sICJSZW11czog
RG9tYWluIHN1c3BlbmQgdGVybWluYXRlZCB3aXRoIHJjICVkLCIKKyAgICAgICAgIiB0ZWFyZG93
biBSZW11cyBkZXZpY2VzLi4uIiwgcmMpOworICAgIGRzcy0+cmRzLmNhbGxiYWNrID0gcmVtdXNf
dGVhcmRvd25fZG9uZTsKKyAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc190ZWFyZG93bihlZ2MsICZk
c3MtPnJkcyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMp
Cit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0Yo
cmRzLCAqZHNzLCByZHMpOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgaWYgKHJj
KQorICAgICAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHRlYXJkb3duIGRldmljZSBm
b3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwiCisgICAgICAgICAgICAiIHJjICVkIiwgZHNzLT5kb21p
ZCwgcmMpOworCisgICAgZHNzLT5jYWxsYmFjayhlZ2MsIGRzcywgcmMpOworfQorCisvKi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gcmVtdXMgY2FsbGJhY2tzIChzYXZlKSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2Nv
bW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCBvayk7CitzdGF0aWMgdm9p
ZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3Rh
dGUgKnJkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJj
KTsKK3N0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19k
ZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2sodm9pZCAqZGF0YSkKK3sKKyAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9
IGRhdGE7CisgICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7CisgICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKKworICAgIGRzcy0+Y2Fs
bGJhY2tfY29tbW9uX2RvbmUgPSByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25f
ZG9uZTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmQoZWdjLCBkc3MpOworfQorCitzdGF0aWMg
dm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpCit7CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91
dDsKKworICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5y
ZHM7CisgICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2I7Cisg
ICAgbGlieGxfX3JlbXVzX2RldmljZXNfcG9zdHN1c3BlbmQoZWdjLCByZHMpOworICAgIHJldHVy
bjsKKworb3V0OgorICAgIGRzcy0+cmMgPSByYzsKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVy
ZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQor
CitzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjKQoreworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0g
Q09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKworICAgIGlmIChyYykKKyAgICAgICAgZ290
byBvdXQ7CisKKyAgICByYyA9IDA7CisKK291dDoKKyAgICBpZiAocmMpCisgICAgICAgIGRzcy0+
cmMgPSByYzsKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNr
X2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQorCitzdGF0aWMgdm9pZCBsaWJ4bF9f
cmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKQoreworICAgIGxpYnhsX19z
YXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKKyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMt
PmVnYzsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgbGlieGxfX3JlbXVzX2Rl
dmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKKyAgICByZHMtPmNhbGxiYWNrID0g
cmVtdXNfZGV2aWNlc19wcmVyZXN1bWVfY2I7CisgICAgbGlieGxfX3JlbXVzX2RldmljZXNfcHJl
cmVzdW1lKGVnYywgcmRzKTsKK30KKworc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wcmVyZXN1
bWVfY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYykKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgU1RBVEVf
QU9fR0MoZHNzLT5hbyk7CisKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0OworCisgICAg
LyogUmVzdW1lcyB0aGUgZG9tYWluIGFuZCB0aGUgZGV2aWNlIG1vZGVsICovCisgICAgcmMgPSBs
aWJ4bF9fZG9tYWluX3Jlc3VtZShnYywgZHNzLT5kb21pZCwgLyogRmFzdCBTdXNwZW5kICovMSk7
CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHJjID0gMDsKKworb3V0Ogor
ICAgIGlmIChyYykKKyAgICAgICAgZHNzLT5yYyA9IHJjOworICAgIGxpYnhsX194Y19kb21haW5f
c2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7
Cit9CisKKy8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3VzIGNoZWNrcG9pbnQgY2FsbGJhY2sgLS0t
LS0qLworCitzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICpl
Z2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJjKTsKK3N0YXRpYyB2b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2Ms
IGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQoreworICAgIGxpYnhsX19zYXZl
X2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3Rh
dGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+
ZWdjOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgbGlieGxfX3N0cmVhbV93cml0
ZV9zdGFydF9jaGVja3BvaW50KGVnYywgJmRzcy0+c3dzKTsKK30KKworc3RhdGljIHZvaWQgcmVt
dXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKKyAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKQoreworICAgIGxpYnhsX19kb21haW5f
c3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKKworICAg
IC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0
ZSAqY29uc3QgcmRzID0gJmRzcy0+cmRzOworCisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisK
KyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiRmFpbGVkIHRvIHNhdmUgZGV2aWNl
IG1vZGVsLiBUZXJtaW5hdGluZyBSZW11cy4uIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0K
KworICAgIHJkcy0+Y2FsbGJhY2sgPSByZW11c19kZXZpY2VzX2NvbW1pdF9jYjsKKyAgICBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19jb21taXQoZWdjLCByZHMpOworCisgICAgcmV0dXJuOworCitvdXQ6
CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19jYWxsYmFja19kb25lKGVn
YywgJmRzcy0+c3dzLnNocywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfY29t
bWl0X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworCisgICAgU1RBVEVfQU9f
R0MoZHNzLT5hbyk7CisKKyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiRmFpbGVk
IHRvIGRvIGRldmljZSBjb21taXQgb3AuIgorICAgICAgICAgICAgIiBUZXJtaW5hdGluZyBSZW11
cy4uIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIC8qCisgICAgICogQXQgdGhp
cyBwb2ludCwgd2UgaGF2ZSBzdWNjZXNzZnVsbHkgY2hlY2twb2ludGVkIHRoZSBndWVzdCBhbmQK
KyAgICAgKiBjb21taXR0ZWQgaXQgYXQgdGhlIGJhY2t1cC4gV2UnbGwgY29tZSBiYWNrIGFmdGVy
IHRoZSBjaGVja3BvaW50CisgICAgICogaW50ZXJ2YWwgdG8gY2hlY2twb2ludCB0aGUgZ3Vlc3Qg
YWdhaW4uIFVudGlsIHRoZW4sIGxldCB0aGUgZ3Vlc3QKKyAgICAgKiBjb250aW51ZSBleGVjdXRp
b24uCisgICAgICovCisKKyAgICAvKiBTZXQgY2hlY2twb2ludCBpbnRlcnZhbCB0aW1lb3V0ICov
CisgICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZkc3MtPmNoZWNrcG9p
bnRfdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW11c19u
ZXh0X2NoZWNrcG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNz
LT5pbnRlcnZhbCk7CisKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgcmV0
dXJuOworCitvdXQ6CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19jYWxs
YmFja19kb25lKGVnYywgJmRzcy0+c3dzLnNocywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVz
X25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVx
dWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7
CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENPTlRBSU5FUl9PRihldiwgKmRzcywgY2hlY2twb2ludF90aW1lb3V0KTsK
KworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgaWYgKHJjID09IEVSUk9SX1RJTUVE
T1VUKSAvKiBBcyBpbnRlbmRlZCAqLworICAgICAgICByYyA9IDA7CisKKyAgICAvKgorICAgICAq
IFRpbWUgdG8gY2hlY2twb2ludCB0aGUgZ3Vlc3QgYWdhaW4uIFdlIHJldHVybiAxIHRvIGxpYnhj
CisgICAgICogKHhjX2RvbWFpbl9zYXZlLmMpLiBpbiBvcmRlciB0byBjb250aW51ZSBleGVjdXRp
bmcgdGhlIGluZmluaXRlIGxvb3AKKyAgICAgKiAoc3VzcGVuZCwgY2hlY2twb2ludCwgcmVzdW1l
KSBpbiB4Y19kb21haW5fc2F2ZSgpLgorICAgICAqLworCisgICAgaWYgKHJjKQorICAgICAgICBk
c3MtPnJjID0gcmM7CisKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2Nh
bGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQorCisvKi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gcmVtdXMgY2FsbGJhY2tzIChyZXN0b3JlKSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSovCisKKy8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3VzIGNoZWNrcG9pbnQgY2FsbGJhY2sg
LS0tLS0qLworCitzdGF0aWMgdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lKAorICAg
IGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXRlICpzcnMsIGludCByYyk7
CisKK3N0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdG9yZV9jaGVja3BvaW50X2Nh
bGxiYWNrKHZvaWQgKmRhdGEpCit7CisgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMg
PSBkYXRhOworICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBzaHMtPmNhbGxl
cl9zdGF0ZTsKKyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKKyAgICBTVEFURV9BT19H
QyhkY3MtPmFvKTsKKworICAgIGxpYnhsX19zdHJlYW1fcmVhZF9zdGFydF9jaGVja3BvaW50KGVn
YywgJmRjcy0+c3JzKTsKK30KKworc3RhdGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1f
ZG9uZSgKKyAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19zdHJlYW1fcmVhZF9zdGF0ZSAqc3Ry
ZWFtLCBpbnQgcmMpCit7CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19j
YWxsYmFja19kb25lKGVnYywgJnN0cmVhbS0+c2hzLCByYyk7Cit9CisKK3ZvaWQgbGlieGxfX3Jl
bXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzKQoreworICAgIC8qIENv
bnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fc3JtX3Jlc3RvcmVfYXV0b2dlbl9jYWxs
YmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CisgICAgICAgICZkY3MtPnNycy5zaHMuY2FsbGJhY2tz
LnJlc3RvcmUuYTsKKworICAgIGNhbGxiYWNrcy0+Y2hlY2twb2ludCA9IGxpYnhsX19yZW11c19k
b21haW5fcmVzdG9yZV9jaGVja3BvaW50X2NhbGxiYWNrOworICAgIGRjcy0+c3JzLmNoZWNrcG9p
bnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lOworfQorCisvKgorICog
TG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGlu
ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:35 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDT-0007Sc-KB; Sun, 28 Feb 2016 23:57:35 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDR-0007SN-Pm
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:34 +0000
Received: from [85.158.137.68] by server-16.bemta-3.messagelabs.com id
 65/EC-02994-F5983D65; Sun, 28 Feb 2016 23:57:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1456703850!25583446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 34614 invoked from network); 28 Feb 2016 23:57:31 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:31 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDO-0000wF-Fg
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:30 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDO-0001xw-DJ
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:30 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDO-0001xw-DJ@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:30 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move remus code into
	libxl_remus.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDEyMDA4YmI1YjBlYmJjMDFmN2YxMDNhZDZkNDBmZTdhY2ZmZmEyN2IKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHJlbXVzIGNvZGUgaW50byBsaWJ4bF9yZW11cy5jCiAgICAKICAg
IEFmdGVyIHByZXZpb3VzIHJlZmFjdG9yaW5nLCB3ZSBhcmUgbm93IGFibGUgdG8gbW92ZSBhbGwg
cmVtdXMgY29kZQogICAgaW50byBhIHNlcGFyYXRlIGZpbGUgbGlieGxfcmVtdXMuYy4KICAgIAog
ICAgRXhwb3J0IGZvbGxvd2luZyBmdW5jdGlvbnMgZm9yIGludGVybmFsIHVzZToKICAgIC0gc2V0
dXAvdGVhcmRvd24gUmVtdXM6CiAgICAgICogbGlieGxfX3JlbXVzX3NldHVwCiAgICAgICogbGli
eGxfX3JlbXVzX3RlYXJkb3duCiAgICAgICogbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAKICAg
IAogICAgU2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3Rh
Y2suY24+CiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3Uu
Y29tPgogICAgQ0M6IElhbiBDYW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5jb20+CiAgICBD
QzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTpJ
YW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6IEtv
bnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5
OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL01ha2VmaWxl
ICAgICAgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgfCAgNzUgLS0t
LS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgIHwgIDMyIC0tLS0KIHRvb2xzL2xp
YnhsL2xpYnhsX2RvbS5jICAgICAgfCAyMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgMTQgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzLmMgICAgfCAzNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogNiBmaWxlcyBjaGFuZ2VkLCAzNzEgaW5zZXJ0aW9ucygrKSwgMzM3IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUK
aW5kZXggNjIwNzIwZS4uN2Q2NGVjYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvTWFrZWZpbGUK
KysrIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUKQEAgLTY0LDcgKzY0LDcgQEAgZWxzZQogTElCWExf
T0JKUy15ICs9IGxpYnhsX25vX2NvbnZlcnRfY2FsbG91dC5vCiBlbmRpZgogCi1MSUJYTF9PQkpT
LXkgKz0gbGlieGxfcmVtdXNfZGV2aWNlLm8gbGlieGxfcmVtdXNfZGlza19kcmJkLm8KK0xJQlhM
X09CSlMteSArPSBsaWJ4bF9yZW11cy5vIGxpYnhsX3JlbXVzX2RldmljZS5vIGxpYnhsX3JlbXVz
X2Rpc2tfZHJiZC5vCiAKIExJQlhMX09CSlMtJChDT05GSUdfWDg2KSArPSBsaWJ4bF9jcHVpZC5v
IGxpYnhsX3g4Ni5vIGxpYnhsX3Bzci5vCiBMSUJYTF9PQkpTLSQoQ09ORklHX0FSTSkgKz0gbGli
eGxfbm9jcHVpZC5vIGxpYnhsX2FybS5vIGxpYnhsX2xpYmZkdF9jb21wYXQubwpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggMzgwMjlj
ZC4uZDZjZTdkYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29scy9s
aWJ4bC9saWJ4bC5jCkBAIC04MzEsMTIgKzgzMSw2IEBAIG91dDoKICAgICByZXR1cm4gcHRyOwog
fQogCi1zdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzKTsKLXN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRz
LCBpbnQgcmMpOwotc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZmFpbGVkKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSAqcmRzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgcmVtdXNfZmFpbG92ZXJfY2IobGlieGxf
X2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MsIGludCByYyk7CiAKQEAgLTg5Myw3NSArODg3LDYgQEAgaW50IGxp
YnhsX2RvbWFpbl9yZW11c19zdGFydChsaWJ4bF9jdHggKmN0eCwgbGlieGxfZG9tYWluX3JlbXVz
X2luZm8gKmluZm8sCiAgICAgcmV0dXJuIEFPX0NSRUFURV9GQUlMKHJjKTsKIH0KIAotc3RhdGlj
IHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKLXsKLSAg
ICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3Rh
dGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKLSAgICBjb25zdCBsaWJ4bF9kb21haW5fcmVtdXNf
aW5mbyAqY29uc3QgaW5mbyA9IGRzcy0+cmVtdXM7Ci0gICAgbGlieGxfX3NybV9zYXZlX2F1dG9n
ZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZHNzLT5zd3Muc2hzLmNh
bGxiYWNrcy5zYXZlLmE7Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChs
aWJ4bF9kZWZib29sX3ZhbChpbmZvLT5uZXRidWYpKSB7Ci0gICAgICAgIGlmICghbGlieGxfX25l
dGJ1ZmZlcl9lbmFibGVkKGdjKSkgewotICAgICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IE5v
IHN1cHBvcnQgZm9yIG5ldHdvcmsgYnVmZmVyaW5nIik7Ci0gICAgICAgICAgICBnb3RvIG91dDsK
LSAgICAgICAgfQotICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8IExJQlhM
X19ERVZJQ0VfS0lORF9WSUYpOwotICAgIH0KLQotICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChp
bmZvLT5kaXNrYnVmKSkKLSAgICAgICAgcmRzLT5kZXZpY2Vfa2luZF9mbGFncyB8PSAoMSA8PCBM
SUJYTF9fREVWSUNFX0tJTkRfVkJEKTsKLQotICAgIHJkcy0+YW8gPSBhbzsKLSAgICByZHMtPmRv
bWlkID0gZHNzLT5kb21pZDsKLSAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsK
LQotICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0
cmVhbV93cml0dGVuOwotCi0gICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3JlbXVzX2Rv
bWFpbl9zdXNwZW5kX2NhbGxiYWNrOwotICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBsaWJ4bF9f
cmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjazsKLSAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQg
PSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKLQotICAgIGxp
YnhsX19yZW11c19kZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKLSAgICByZXR1cm47Ci0KLW91dDoK
LSAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCBFUlJPUl9GQUlMKTsKLX0KLQotc3RhdGljIHZv
aWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykKLXsKLSAg
ICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpk
c3MsIHJkcyk7Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7Ci0KLSAgICBpZiAoIXJjKSB7Ci0g
ICAgICAgIGxpYnhsX19kb21haW5fc2F2ZShlZ2MsIGRzcyk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHNldHVwIGRldmljZSBmb3Ig
Z3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLAotICAgICAgICBkc3MtPmRvbWlkLCByYyk7Ci0g
ICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX3NldHVwX2ZhaWxlZDsKLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc190ZWFyZG93bihlZ2MsIHJkcyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX3NldHVw
X2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKQotewotICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsK
LSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChyYykKLSAgICAgICAgTE9HKEVS
Uk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2UgYWZ0ZXIgc2V0dXAgZmFpbGVk
IgotICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLCBkc3MtPmRv
bWlkLCByYyk7Ci0KLSAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7Ci19Ci0KIHN0YXRp
YyB2b2lkIHJlbXVzX2ZhaWxvdmVyX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMp
CiB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX2NyZWF0ZS5jCmluZGV4IDcyOTNkMGIuLmU0MjFkMzYgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBA
IC03MDksMzggKzcwOSw2IEBAIHN0YXRpYyBpbnQgc3RvcmVfbGlieGxfZW50cnkobGlieGxfX2dj
ICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
ZGV2aWNlX21vZGVsX3ZlcnNpb25fdG9fc3RyaW5nKGJfaW5mby0+ZGV2aWNlX21vZGVsX3ZlcnNp
b24pKTsKIH0KIAotLyotLS0tLSByZW11cyBhc3luY2hyb25vdXMgY2hlY2twb2ludCBjYWxsYmFj
ayAtLS0tLSovCi0KLXN0YXRpYyB2b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX2RvbmUoCi0g
ICAgbGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fc3RyZWFtX3JlYWRfc3RhdGUgKnNycywgaW50IHJj
KTsKLQotc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN0b3JlX2NoZWNrcG9pbnRf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKLXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNo
cyA9IGRhdGE7Ci0gICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcyA9IHNocy0+Y2Fs
bGVyX3N0YXRlOwotICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwotICAgIFNUQVRFX0FP
X0dDKGRjcy0+YW8pOwotCi0gICAgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXJ0X2NoZWNrcG9pbnQo
ZWdjLCAmZGNzLT5zcnMpOwotfQotCi1zdGF0aWMgdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVh
bV9kb25lKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXRlICpz
dHJlYW0sIGludCByYykKLXsKLSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j
X2NhbGxiYWNrX2RvbmUoZWdjLCAmc3RyZWFtLT5zaHMsIHJjKTsKLX0KLQotc3RhdGljIHZvaWQg
bGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRj
cykKLXsKLSAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgbGlieGxfX3NybV9yZXN0
b3JlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZGNzLT5z
cnMuc2hzLmNhbGxiYWNrcy5yZXN0b3JlLmE7Ci0KLSAgICBjYWxsYmFja3MtPmNoZWNrcG9pbnQg
PSBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3RvcmVfY2hlY2twb2ludF9jYWxsYmFjazsKLSAgICBk
Y3MtPnNycy5jaGVja3BvaW50X2NhbGxiYWNrID0gcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fZG9u
ZTsKLX0KLQogLyotLS0tLSBtYWluIGRvbWFpbiBjcmVhdGlvbiAtLS0tLSovCiAKIC8qIFdlIGhh
dmUgYSBsaW5lYXIgY29udHJvbCBmbG93OyBvbmx5IG9uZSBldmVudCBjYWxsYmFjayBpcwpkaWZm
IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb20u
YwppbmRleCA3ODM1ZDRkLi5kNzRmMWE0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9k
b20uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb20uYwpAQCAtMTQ3OSwxOTYgKzE0NzksNiBA
QCBpbnQgbGlieGxfX3NhdmVfZW11bGF0b3JfeGVuc3RvcmVfZGF0YShsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfc3RhdGUgKmRzcywKICAgICByZXR1cm4gcmM7CiB9CiAKLS8qLS0tLS0gcmVtdXMgY2Fs
bGJhY2tzIC0tLS0tKi8KLXN0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNr
X2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCBvayk7Ci1zdGF0aWMg
dm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJjKTsKLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgcmMpOwotCi12b2lkIGxpYnhsX19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFj
ayh2b2lkICpkYXRhKQotewotICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0
YTsKLSAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOwotCi0gICAgZHNzLT5jYWxsYmFj
a19jb21tb25fZG9uZSA9IHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25l
OwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZChlZ2MsIGRzcyk7Ci19Ci0KLXN0YXRpYyB2b2lk
IHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MsIGludCByYykKLXsKLSAgICBpZiAocmMpCi0gICAgICAgIGdvdG8gb3V0Owot
Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsK
LSAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYjsKLSAgICBs
aWJ4bF9fcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZChlZ2MsIHJkcyk7Ci0gICAgcmV0dXJuOwot
Ci1vdXQ6Ci0gICAgZHNzLT5yYyA9IHJjOwotICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3Rv
cmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2IobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotCi0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91
dDsKLQotICAgIHJjID0gMDsKLQotb3V0OgotICAgIGlmIChyYykKLSAgICAgICAgZHNzLT5yYyA9
IHJjOwotICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9u
ZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7Ci19Ci0KLXZvaWQgbGlieGxfX3JlbXVzX2RvbWFp
bl9yZXN1bWVfY2FsbGJhY2sodm9pZCAqZGF0YSkKLXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJf
c3RhdGUgKnNocyA9IGRhdGE7Ci0gICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLSAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl
ICpjb25zdCByZHMgPSAmZHNzLT5yZHM7Ci0gICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2Rldmlj
ZXNfcHJlcmVzdW1lX2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3ByZXJlc3VtZShlZ2Ms
IHJkcyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhs
X19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotICAgIFNUQVRFX0FPX0dDKGRzcy0+
YW8pOwotCi0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91dDsKLQotICAgIC8qIFJlc3VtZXMg
dGhlIGRvbWFpbiBhbmQgdGhlIGRldmljZSBtb2RlbCAqLwotICAgIHJjID0gbGlieGxfX2RvbWFp
bl9yZXN1bWUoZ2MsIGRzcy0+ZG9taWQsIC8qIEZhc3QgU3VzcGVuZCAqLzEpOwotICAgIGlmIChy
YykKLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICByYyA9IDA7Ci0KLW91dDoKLSAgICBpZiAocmMp
Ci0gICAgICAgIGRzcy0+cmMgPSByYzsKLSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3Jl
X2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOwotfQotCi0vKi0t
LS0tIHJlbXVzIGFzeW5jaHJvbm91cyBjaGVja3BvaW50IGNhbGxiYWNrIC0tLS0tKi8KLQotc3Rh
dGljIHZvaWQgcmVtdXNfZGV2aWNlc19jb21taXRfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUg
KnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci1zdGF0
aWMgdm9pZCByZW11c19uZXh0X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZf
dGltZSAqZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0
IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50IHJjKTsKLQotdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9j
YWxsYmFjayh2b2lkICpkYXRhKQotewotICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hz
ID0gZGF0YTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2Fs
bGVyX3N0YXRlOwotICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdjOwotICAgIFNUQVRFX0FP
X0dDKGRzcy0+YW8pOwotCi0gICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGFydF9jaGVja3BvaW50
KGVnYywgJmRzcy0+c3dzKTsKLX0KLQotdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0
dGVuKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dz
LCBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0Yoc3dzLCAqZHNzLCBzd3MpOwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChyYykgewotICAgICAgICBM
T0coRVJST1IsICJGYWlsZWQgdG8gc2F2ZSBkZXZpY2UgbW9kZWwuIFRlcm1pbmF0aW5nIFJlbXVz
Li4iKTsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi0gICAgcmRzLT5jYWxsYmFjayA9IHJl
bXVzX2RldmljZXNfY29tbWl0X2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX2NvbW1pdChl
Z2MsIHJkcyk7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICBsaWJ4bF9feGNfZG9tYWluX3Nh
dmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAwKTsKLX0K
LQotc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19jb21taXRfY2IobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykK
LXsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7Ci0KLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAgIGlmIChy
YykgewotICAgICAgICBMT0coRVJST1IsICJGYWlsZWQgdG8gZG8gZGV2aWNlIGNvbW1pdCBvcC4i
Ci0gICAgICAgICAgICAiIFRlcm1pbmF0aW5nIFJlbXVzLi4iKTsKLSAgICAgICAgZ290byBvdXQ7
Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBBdCB0aGlzIHBvaW50LCB3ZSBoYXZlIHN1Y2Nlc3Nm
dWxseSBjaGVja3BvaW50ZWQgdGhlIGd1ZXN0IGFuZAotICAgICAqIGNvbW1pdHRlZCBpdCBhdCB0
aGUgYmFja3VwLiBXZSdsbCBjb21lIGJhY2sgYWZ0ZXIgdGhlIGNoZWNrcG9pbnQKLSAgICAgKiBp
bnRlcnZhbCB0byBjaGVja3BvaW50IHRoZSBndWVzdCBhZ2Fpbi4gVW50aWwgdGhlbiwgbGV0IHRo
ZSBndWVzdAotICAgICAqIGNvbnRpbnVlIGV4ZWN1dGlvbi4KLSAgICAgKi8KLQotICAgIC8qIFNl
dCBjaGVja3BvaW50IGludGVydmFsIHRpbWVvdXQgKi8KLSAgICByYyA9IGxpYnhsX19ldl90aW1l
X3JlZ2lzdGVyX3JlbChhbywgJmRzcy0+Y2hlY2twb2ludF90aW1lb3V0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlbXVzX25leHRfY2hlY2twb2ludCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmludGVydmFsKTsKLQotICAgIGlmIChy
YykKLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICBsaWJ4bF9f
eGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Mu
c2hzLCAwKTsKLX0KLQotc3RhdGljIHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYykKLXsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OVEFJTkVSX09G
KGV2LCAqZHNzLCBjaGVja3BvaW50X3RpbWVvdXQpOwotCi0gICAgU1RBVEVfQU9fR0MoZHNzLT5h
byk7Ci0KLSAgICBpZiAocmMgPT0gRVJST1JfVElNRURPVVQpIC8qIEFzIGludGVuZGVkICovCi0g
ICAgICAgIHJjID0gMDsKLQotICAgIC8qCi0gICAgICogVGltZSB0byBjaGVja3BvaW50IHRoZSBn
dWVzdCBhZ2Fpbi4gV2UgcmV0dXJuIDEgdG8gbGlieGMKLSAgICAgKiAoeGNfZG9tYWluX3NhdmUu
YykuIGluIG9yZGVyIHRvIGNvbnRpbnVlIGV4ZWN1dGluZyB0aGUgaW5maW5pdGUgbG9vcAotICAg
ICAqIChzdXNwZW5kLCBjaGVja3BvaW50LCByZXN1bWUpIGluIHhjX2RvbWFpbl9zYXZlKCkuCi0g
ICAgICovCi0KLSAgICBpZiAocmMpCi0gICAgICAgIGRzcy0+cmMgPSByYzsKLQotICAgIGxpYnhs
X194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3
cy5zaHMsICFyYyk7Ci19Ci0KIC8qLS0tLS0gbWFpbiBjb2RlIGZvciBzYXZpbmcsIGluIG9yZGVy
IG9mIGV4ZWN1dGlvbiAtLS0tLSovCiAKIHZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpCkBAIC0xNzc3LDEzICsx
NTg3LDYgQEAgc3RhdGljIHZvaWQgc3RyZWFtX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRv
bWFpbl9zYXZlX2RvbmUoZWdjLCBzd3MtPmRzcywgcmMpOwogfQogCi1zdGF0aWMgdm9pZCBsaWJ4
bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci1zdGF0aWMgdm9pZCByZW11c190ZWFy
ZG93bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwotCiBzdGF0aWMgdm9pZCBkb21haW5f
c2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKIHsKQEAgLTE4MTIsMzIg
KzE2MTUsNiBAQCBzdGF0aWMgdm9pZCBkb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywK
ICAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGxpYnhs
X19yZW11c190ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQotewotICAgIEVHQ19HQzsKLQotICAgIExP
RyhXQVJOLCAiUmVtdXM6IERvbWFpbiBzdXNwZW5kIHRlcm1pbmF0ZWQgd2l0aCByYyAlZCwiCi0g
ICAgICAgICIgdGVhcmRvd24gUmVtdXMgZGV2aWNlcy4uLiIsIHJjKTsKLSAgICBkc3MtPnJkcy5j
YWxsYmFjayA9IHJlbXVzX3RlYXJkb3duX2RvbmU7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNf
dGVhcmRvd24oZWdjLCAmZHNzLT5yZHMpOwotfQotCi1zdGF0aWMgdm9pZCByZW11c190ZWFyZG93
bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwotICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOwotCi0gICAgaWYgKHJjKQotICAgICAgICBMT0coRVJST1IsICJSZW11
czogZmFpbGVkIHRvIHRlYXJkb3duIGRldmljZSBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwiCi0g
ICAgICAgICAgICAiIHJjICVkIiwgZHNzLT5kb21pZCwgcmMpOwotCi0gICAgZHNzLT5jYWxsYmFj
ayhlZ2MsIGRzcywgcmMpOwotfQotCiAvKj09PT09PT09PT09PT09PT09PT09IE1pc2NlbGxhbmVv
dXMgPT09PT09PT09PT09PT09PT09PT0qLwogCiBjaGFyICpsaWJ4bF9fdXVpZDJzdHJpbmcobGli
eGxfX2djICpnYywgY29uc3QgbGlieGxfdXVpZCB1dWlkKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg
MjljODdhMi4uZDliOWUyYSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zNTA4LDEyICszNTA4LDE0
IEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmQobGlieGxfX2VnYyAqZWdjLAog
LyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBndWVzdCBkdXJpbmcgbWlncmF0aW9uICov
CiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrKHZvaWQgKmRhdGEp
OwogCi0vKiBSZW11cyBjYWxsYmFja3MgZm9yIHNhdmUgKi8KLV9oaWRkZW4gdm9pZCByZW11c19j
aGVja3BvaW50X3N0cmVhbV93cml0dGVuKAotICAgIGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0
cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOwotX2hpZGRlbiB2b2lkIGxpYnhsX19yZW11
c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKLV9oaWRkZW4gdm9pZCBsaWJ4
bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKLV9oaWRkZW4gdm9p
ZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRh
KTsKKy8qIFJlbXVzIHNldHVwIGFuZCB0ZWFyZG93biAqLworX2hpZGRlbiB2b2lkIGxpYnhsX19y
ZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKK19oaWRkZW4gdm9pZCBsaWJ4
bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9f
cmVtdXNfcmVzdG9yZV9zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcyk7CiAK
IAogLyoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgYi90b29scy9saWJ4
bC9saWJ4bF9yZW11cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2NzI1
MGQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCkBAIC0wLDAg
KzEsMzYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5ICAgICAgQ2l0cml4IEx0ZC4KKyAq
IEF1dGhvciBWaW5jZW50IEhhbnF1ZXogPHZpbmNlbnQuaGFucXVlekBldS5jaXRyaXguY29tPgor
ICogICAgICAgIFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgorICoK
KyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNwZWNpYWwKKyAqIGV4
Y2VwdGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0UuCisgKgorICogVGhp
cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAv
KiBtdXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNpbmNsdWRlICJsaWJ4
bF9pbnRlcm5hbC5oIgorCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlbXVzIHNldHVwIGFuZCB0
ZWFyZG93biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9pZCByZW11c19zZXR1
cF9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKTsKK3N0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKTsKK3N0YXRpYyB2
b2lkIHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW4oCisgICAgbGlieGxfX2VnYyAqZWdj
LCBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzd3MsIGludCByYyk7CitzdGF0aWMgdm9pZCBs
aWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CitzdGF0aWMg
dm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKTsKK3N0
YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fc2F2ZV9jaGVja3BvaW50X2NhbGxiYWNrKHZv
aWQgKmRhdGEpOworCit2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCisg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykK
K3sKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisgICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKKyAgICBjb25zdCBsaWJ4bF9kb21haW5f
cmVtdXNfaW5mbyAqY29uc3QgaW5mbyA9IGRzcy0+cmVtdXM7CisgICAgbGlieGxfX3NybV9zYXZl
X2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQorICAgICAgICAmZHNzLT5zd3Mu
c2hzLmNhbGxiYWNrcy5zYXZlLmE7CisKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAg
IGlmIChsaWJ4bF9kZWZib29sX3ZhbChpbmZvLT5uZXRidWYpKSB7CisgICAgICAgIGlmICghbGli
eGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgeworICAgICAgICAgICAgTE9HKEVSUk9SLCAiUmVt
dXM6IE5vIHN1cHBvcnQgZm9yIG5ldHdvcmsgYnVmZmVyaW5nIik7CisgICAgICAgICAgICBnb3Rv
IG91dDsKKyAgICAgICAgfQorICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8
IExJQlhMX19ERVZJQ0VfS0lORF9WSUYpOworICAgIH0KKworICAgIGlmIChsaWJ4bF9kZWZib29s
X3ZhbChpbmZvLT5kaXNrYnVmKSkKKyAgICAgICAgcmRzLT5kZXZpY2Vfa2luZF9mbGFncyB8PSAo
MSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVkJEKTsKKworICAgIHJkcy0+YW8gPSBhbzsKKyAgICBy
ZHMtPmRvbWlkID0gZHNzLT5kb21pZDsKKyAgICByZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBf
ZG9uZTsKKworICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3Bv
aW50X3N0cmVhbV93cml0dGVuOworCisgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0gbGlieGxfX3Jl
bXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrOworICAgIGNhbGxiYWNrcy0+cG9zdGNvcHkgPSBs
aWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjazsKKyAgICBjYWxsYmFja3MtPmNoZWNr
cG9pbnQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjazsKKwor
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3NldHVwKGVnYywgcmRzKTsKKyAgICByZXR1cm47CisK
K291dDoKKyAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCBFUlJPUl9GQUlMKTsKK30KKworc3Rh
dGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
K3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisKKyAgICBpZiAoIXJj
KSB7CisgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZShlZ2MsIGRzcyk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHNldHVwIGRldmlj
ZSBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLAorICAgICAgICBkc3MtPmRvbWlkLCBy
Yyk7CisgICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX3NldHVwX2ZhaWxlZDsKKyAgICBsaWJ4bF9f
cmVtdXNfZGV2aWNlc190ZWFyZG93bihlZ2MsIHJkcyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywgaW50IHJjKQoreworICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywg
cmRzKTsKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAgIGlmIChyYykKKyAgICAgICAg
TE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2UgYWZ0ZXIgc2V0dXAg
ZmFpbGVkIgorICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwgcmMgJWQiLCBk
c3MtPmRvbWlkLCByYyk7CisKKyAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7Cit9CisK
K3N0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOwordm9pZCBsaWJ4bF9f
cmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpCit7CisgICAgRUdDX0dDOworCisgICAgTE9HKFdBUk4sICJSZW11czog
RG9tYWluIHN1c3BlbmQgdGVybWluYXRlZCB3aXRoIHJjICVkLCIKKyAgICAgICAgIiB0ZWFyZG93
biBSZW11cyBkZXZpY2VzLi4uIiwgcmMpOworICAgIGRzcy0+cmRzLmNhbGxiYWNrID0gcmVtdXNf
dGVhcmRvd25fZG9uZTsKKyAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc190ZWFyZG93bihlZ2MsICZk
c3MtPnJkcyk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMp
Cit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0Yo
cmRzLCAqZHNzLCByZHMpOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgaWYgKHJj
KQorICAgICAgICBMT0coRVJST1IsICJSZW11czogZmFpbGVkIHRvIHRlYXJkb3duIGRldmljZSBm
b3IgZ3Vlc3Qgd2l0aCBkb21pZCAldSwiCisgICAgICAgICAgICAiIHJjICVkIiwgZHNzLT5kb21p
ZCwgcmMpOworCisgICAgZHNzLT5jYWxsYmFjayhlZ2MsIGRzcywgcmMpOworfQorCisvKi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gcmVtdXMgY2FsbGJhY2tzIChzYXZlKSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSovCisKK3N0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2Nv
bW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCBvayk7CitzdGF0aWMgdm9p
ZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3Rh
dGUgKnJkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJj
KTsKK3N0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19k
ZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2sodm9pZCAqZGF0YSkKK3sKKyAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9
IGRhdGE7CisgICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7CisgICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKKworICAgIGRzcy0+Y2Fs
bGJhY2tfY29tbW9uX2RvbmUgPSByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25f
ZG9uZTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmQoZWdjLCBkc3MpOworfQorCitzdGF0aWMg
dm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpCit7CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91
dDsKKworICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5y
ZHM7CisgICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2I7Cisg
ICAgbGlieGxfX3JlbXVzX2RldmljZXNfcG9zdHN1c3BlbmQoZWdjLCByZHMpOworICAgIHJldHVy
bjsKKworb3V0OgorICAgIGRzcy0+cmMgPSByYzsKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVy
ZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQor
CitzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjKQoreworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0g
Q09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKworICAgIGlmIChyYykKKyAgICAgICAgZ290
byBvdXQ7CisKKyAgICByYyA9IDA7CisKK291dDoKKyAgICBpZiAocmMpCisgICAgICAgIGRzcy0+
cmMgPSByYzsKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNr
X2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQorCitzdGF0aWMgdm9pZCBsaWJ4bF9f
cmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKQoreworICAgIGxpYnhsX19z
YXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKKyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMt
PmVnYzsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgbGlieGxfX3JlbXVzX2Rl
dmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKKyAgICByZHMtPmNhbGxiYWNrID0g
cmVtdXNfZGV2aWNlc19wcmVyZXN1bWVfY2I7CisgICAgbGlieGxfX3JlbXVzX2RldmljZXNfcHJl
cmVzdW1lKGVnYywgcmRzKTsKK30KKworc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wcmVyZXN1
bWVfY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYykKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgU1RBVEVf
QU9fR0MoZHNzLT5hbyk7CisKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0OworCisgICAg
LyogUmVzdW1lcyB0aGUgZG9tYWluIGFuZCB0aGUgZGV2aWNlIG1vZGVsICovCisgICAgcmMgPSBs
aWJ4bF9fZG9tYWluX3Jlc3VtZShnYywgZHNzLT5kb21pZCwgLyogRmFzdCBTdXNwZW5kICovMSk7
CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHJjID0gMDsKKworb3V0Ogor
ICAgIGlmIChyYykKKyAgICAgICAgZHNzLT5yYyA9IHJjOworICAgIGxpYnhsX194Y19kb21haW5f
c2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsICFyYyk7
Cit9CisKKy8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3VzIGNoZWNrcG9pbnQgY2FsbGJhY2sgLS0t
LS0qLworCitzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICpl
Z2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
IHJjKTsKK3N0YXRpYyB2b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2Ms
IGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQoreworICAgIGxpYnhsX19zYXZl
X2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3Rh
dGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+
ZWdjOworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgbGlieGxfX3N0cmVhbV93cml0
ZV9zdGFydF9jaGVja3BvaW50KGVnYywgJmRzcy0+c3dzKTsKK30KKworc3RhdGljIHZvaWQgcmVt
dXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKKyAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKQoreworICAgIGxpYnhsX19kb21haW5f
c3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKKworICAg
IC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0
ZSAqY29uc3QgcmRzID0gJmRzcy0+cmRzOworCisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisK
KyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiRmFpbGVkIHRvIHNhdmUgZGV2aWNl
IG1vZGVsLiBUZXJtaW5hdGluZyBSZW11cy4uIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0K
KworICAgIHJkcy0+Y2FsbGJhY2sgPSByZW11c19kZXZpY2VzX2NvbW1pdF9jYjsKKyAgICBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19jb21taXQoZWdjLCByZHMpOworCisgICAgcmV0dXJuOworCitvdXQ6
CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19jYWxsYmFja19kb25lKGVn
YywgJmRzcy0+c3dzLnNocywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfY29t
bWl0X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworCisgICAgU1RBVEVfQU9f
R0MoZHNzLT5hbyk7CisKKyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiRmFpbGVk
IHRvIGRvIGRldmljZSBjb21taXQgb3AuIgorICAgICAgICAgICAgIiBUZXJtaW5hdGluZyBSZW11
cy4uIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIC8qCisgICAgICogQXQgdGhp
cyBwb2ludCwgd2UgaGF2ZSBzdWNjZXNzZnVsbHkgY2hlY2twb2ludGVkIHRoZSBndWVzdCBhbmQK
KyAgICAgKiBjb21taXR0ZWQgaXQgYXQgdGhlIGJhY2t1cC4gV2UnbGwgY29tZSBiYWNrIGFmdGVy
IHRoZSBjaGVja3BvaW50CisgICAgICogaW50ZXJ2YWwgdG8gY2hlY2twb2ludCB0aGUgZ3Vlc3Qg
YWdhaW4uIFVudGlsIHRoZW4sIGxldCB0aGUgZ3Vlc3QKKyAgICAgKiBjb250aW51ZSBleGVjdXRp
b24uCisgICAgICovCisKKyAgICAvKiBTZXQgY2hlY2twb2ludCBpbnRlcnZhbCB0aW1lb3V0ICov
CisgICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZkc3MtPmNoZWNrcG9p
bnRfdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW11c19u
ZXh0X2NoZWNrcG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNz
LT5pbnRlcnZhbCk7CisKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgcmV0
dXJuOworCitvdXQ6CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19jYWxs
YmFja19kb25lKGVnYywgJmRzcy0+c3dzLnNocywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbXVz
X25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVx
dWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7
CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENPTlRBSU5FUl9PRihldiwgKmRzcywgY2hlY2twb2ludF90aW1lb3V0KTsK
KworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworCisgICAgaWYgKHJjID09IEVSUk9SX1RJTUVE
T1VUKSAvKiBBcyBpbnRlbmRlZCAqLworICAgICAgICByYyA9IDA7CisKKyAgICAvKgorICAgICAq
IFRpbWUgdG8gY2hlY2twb2ludCB0aGUgZ3Vlc3QgYWdhaW4uIFdlIHJldHVybiAxIHRvIGxpYnhj
CisgICAgICogKHhjX2RvbWFpbl9zYXZlLmMpLiBpbiBvcmRlciB0byBjb250aW51ZSBleGVjdXRp
bmcgdGhlIGluZmluaXRlIGxvb3AKKyAgICAgKiAoc3VzcGVuZCwgY2hlY2twb2ludCwgcmVzdW1l
KSBpbiB4Y19kb21haW5fc2F2ZSgpLgorICAgICAqLworCisgICAgaWYgKHJjKQorICAgICAgICBk
c3MtPnJjID0gcmM7CisKKyAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2Nh
bGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOworfQorCisvKi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gcmVtdXMgY2FsbGJhY2tzIChyZXN0b3JlKSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSovCisKKy8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3VzIGNoZWNrcG9pbnQgY2FsbGJhY2sg
LS0tLS0qLworCitzdGF0aWMgdm9pZCByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lKAorICAg
IGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3N0cmVhbV9yZWFkX3N0YXRlICpzcnMsIGludCByYyk7
CisKK3N0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdG9yZV9jaGVja3BvaW50X2Nh
bGxiYWNrKHZvaWQgKmRhdGEpCit7CisgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMg
PSBkYXRhOworICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBzaHMtPmNhbGxl
cl9zdGF0ZTsKKyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKKyAgICBTVEFURV9BT19H
QyhkY3MtPmFvKTsKKworICAgIGxpYnhsX19zdHJlYW1fcmVhZF9zdGFydF9jaGVja3BvaW50KGVn
YywgJmRjcy0+c3JzKTsKK30KKworc3RhdGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1f
ZG9uZSgKKyAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19zdHJlYW1fcmVhZF9zdGF0ZSAqc3Ry
ZWFtLCBpbnQgcmMpCit7CisgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19j
YWxsYmFja19kb25lKGVnYywgJnN0cmVhbS0+c2hzLCByYyk7Cit9CisKK3ZvaWQgbGlieGxfX3Jl
bXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzKQoreworICAgIC8qIENv
bnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fc3JtX3Jlc3RvcmVfYXV0b2dlbl9jYWxs
YmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CisgICAgICAgICZkY3MtPnNycy5zaHMuY2FsbGJhY2tz
LnJlc3RvcmUuYTsKKworICAgIGNhbGxiYWNrcy0+Y2hlY2twb2ludCA9IGxpYnhsX19yZW11c19k
b21haW5fcmVzdG9yZV9jaGVja3BvaW50X2NhbGxiYWNrOworICAgIGRjcy0+c3JzLmNoZWNrcG9p
bnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV9kb25lOworfQorCisvKgorICog
TG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGlu
ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDd-0007Ua-NI; Sun, 28 Feb 2016 23:57:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDc-0007U1-0P
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:44 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
 2A/FA-04025-77983D65; Sun, 28 Feb 2016 23:57:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703861!25562933!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19108 invoked from network); 28 Feb 2016 23:57:41 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDY-0000wU-R2
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDY-0001yT-O3
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDY-0001yT-O3@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:40 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move save/restore code
	into libxl_dom_save.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFlNmFhODYwYjc4MzlhNWFjNjMxYjdlZDFmYmFhNTAwZjQ2OTU2NTkKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHNhdmUvcmVzdG9yZSBjb2RlIGludG8gbGlieGxfZG9tX3NhdmUu
YwogICAgCiAgICBUaGlzIGlzIHB1cmVseSBjb2RlIG1vdGlvbi4KICAgIAogICAgU2lnbmVkLW9m
Zi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+CiAgICBTaWdu
ZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAgQ0M6IElh
biBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgogICAgQWNrZWQtYnk6IElhbiBD
YW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogS29ucmFk
IFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgogICAgQWNrZWQtYnk6IFdl
aSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvTWFrZWZpbGUgICAg
ICAgICB8ICAgMiArLQogdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgICAgICB8IDUwOSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21f
c2F2ZS5jIHwgNTM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IDMgZmlsZXMgY2hhbmdlZCwgNTM5IGluc2VydGlvbnMoKyksIDUxMCBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS90b29scy9saWJ4bC9NYWtlZmlsZSBiL3Rvb2xzL2xpYnhsL01ha2VmaWxlCmlu
ZGV4IDdkNjRlY2MuLjI2M2VhMGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlCisr
KyBiL3Rvb2xzL2xpYnhsL01ha2VmaWxlCkBAIC0xMDUsNyArMTA1LDcgQEAgTElCWExfT0JKUyA9
IGZsZXhhcnJheS5vIGxpYnhsLm8gbGlieGxfY3JlYXRlLm8gbGlieGxfZG0ubyBsaWJ4bF9wY2ku
byBcCiAJCQlsaWJ4bF9zdHJlYW1fcmVhZC5vIGxpYnhsX3N0cmVhbV93cml0ZS5vIFwKIAkJCWxp
YnhsX3NhdmVfY2FsbG91dC5vIF9saWJ4bF9zYXZlX21zZ3NfY2FsbG91dC5vIFwKIAkJCWxpYnhs
X3FtcC5vIGxpYnhsX2V2ZW50Lm8gbGlieGxfZm9yay5vIFwKLQkJCWxpYnhsX2RvbV9zdXNwZW5k
Lm8gJChMSUJYTF9PQkpTLXkpCisJCQlsaWJ4bF9kb21fc3VzcGVuZC5vIGxpYnhsX2RvbV9zYXZl
Lm8gJChMSUJYTF9PQkpTLXkpCiBMSUJYTF9PQkpTICs9IGxpYnhsX2dlbmlkLm8KIExJQlhMX09C
SlMgKz0gX2xpYnhsX3R5cGVzLm8gbGlieGxfZmxhc2subyBfbGlieGxfdHlwZXNfaW50ZXJuYWwu
bwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbS5jCmluZGV4IGQ3NGYxYTQuLjY2NGFkYWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs
L2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC0yNCw3ICsyNCw2
IEBACiAjaW5jbHVkZSA8eGVuL2h2bS9odm1faW5mb190YWJsZS5oPgogI2luY2x1ZGUgPHhlbi9o
dm0vaHZtX3hzX3N0cmluZ3MuaD4KICNpbmNsdWRlIDx4ZW4vaHZtL2U4MjAuaD4KLSNpbmNsdWRl
IDx4ZW4vZXJybm8uaD4KIAogbGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxp
YnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKQogewpAQCAtMTEwNyw1MTQgKzExMDYsNiBAQCBp
bnQgbGlieGxfX3FlbXVfdHJhZGl0aW9uYWxfY21kKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRv
bWlkLAogICAgIHJldHVybiBsaWJ4bF9feHNfcHJpbnRmKGdjLCBYQlRfTlVMTCwgcGF0aCwgIiVz
IiwgY21kKTsKIH0KIAotLyoKLSAqIEluc3BlY3QgdGhlIGJ1ZmZlciBiZXR3ZWVuIHN0YXJ0IGFu
ZCBlbmQsIGFuZCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZQotICogY2hhcmFjdGVyIGZvbGxvd2lu
ZyB0aGUgTlVMIHRlcm1pbmF0b3Igb2Ygc3RhcnQsIG9yIE5VTEwgaWYgc3RhcnQgaXMgbm90Ci0g
KiB0ZXJtaW5hdGVkIGJlZm9yZSBlbmQuCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICpuZXh0X3N0
cmluZyhjb25zdCBjaGFyICpzdGFydCwgY29uc3QgY2hhciAqZW5kKQotewotICAgIGlmIChzdGFy
dCA+PSBlbmQpIHJldHVybiBOVUxMOwotCi0gICAgc2l6ZV90IHRvdGFsX2xlbiA9IGVuZCAtIHN0
YXJ0OwotICAgIHNpemVfdCBsZW4gPSBzdHJubGVuKHN0YXJ0LCB0b3RhbF9sZW4pOwotCi0gICAg
aWYgKGxlbiA9PSB0b3RhbF9sZW4pCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVsc2UKLSAg
ICAgICAgcmV0dXJuIHN0YXJ0ICsgbGVuICsgMTsKLX0KLQotaW50IGxpYnhsX19yZXN0b3JlX2Vt
dWxhdG9yX3hlbnN0b3JlX2RhdGEobGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnB0ciwg
dWludDMyX3Qgc2l6ZSkKLXsKLSAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKLSAgICBjb25zdCBj
aGFyICpuZXh0ID0gcHRyLCAqZW5kID0gcHRyICsgc2l6ZSwgKmtleSwgKnZhbDsKLSAgICBpbnQg
cmM7Ci0KLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRjcy0+Z3Vlc3RfZG9taWQ7Ci0gICAg
Y29uc3QgdWludDMyX3QgZG1fZG9taWQgPSBsaWJ4bF9nZXRfc3R1YmRvbV9pZChDVFgsIGRvbWlk
KTsKLSAgICBjb25zdCBjaGFyICp4c19yb290ID0gbGlieGxfX2RldmljZV9tb2RlbF94c19wYXRo
KGdjLCBkbV9kb21pZCwgZG9taWQsICIiKTsKLQotICAgIHdoaWxlIChuZXh0IDwgZW5kKSB7Ci0g
ICAgICAgIGtleSA9IG5leHQ7Ci0gICAgICAgIG5leHQgPSBuZXh0X3N0cmluZyhuZXh0LCBlbmQp
OwotCi0gICAgICAgIC8qIFNhbml0aXNlICdrZXknLiAqLwotICAgICAgICBpZiAoIW5leHQpIHsK
LSAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgIktl
eSBpbiB4ZW5zdG9yZSBkYXRhIG5vdCBOVUwgdGVybWluYXRlZCIpOwotICAgICAgICAgICAgZ290
byBvdXQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGtleVswXSA9PSAnXDAnKSB7Ci0gICAgICAg
ICAgICByYyA9IEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICBMT0coRVJST1IsICJlbXB0eSBrZXkg
Zm91bmQgaW4geGVuc3RvcmUgZGF0YSIpOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKGtleVswXSA9PSAnLycpIHsKLSAgICAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgIktleSBpbiB4ZW5zdG9yZSBkYXRhIG5vdCBy
ZWxhdGl2ZSIpOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLQotICAgICAgICB2
YWwgPSBuZXh0OwotICAgICAgICBuZXh0ID0gbmV4dF9zdHJpbmcobmV4dCwgZW5kKTsKLQotICAg
ICAgICAvKiBTYW5pdGlzZSAndmFsJy4gKi8KLSAgICAgICAgaWYgKCFuZXh0KSB7Ci0gICAgICAg
ICAgICByYyA9IEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICBMT0coRVJST1IsICJWYWwgaW4geGVu
c3RvcmUgZGF0YSBub3QgTlVMIHRlcm1pbmF0ZWQiKTsKLSAgICAgICAgICAgIGdvdG8gb3V0Owot
ICAgICAgICB9Ci0KLSAgICAgICAgbGlieGxfX3hzX3ByaW50ZihnYywgWEJUX05VTEwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8lcyIsIHhzX3Jvb3QsIGtleSksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiwgdmFsKTsKLSAgICB9Ci0KLSAgICByYyA9IDA7
Ci0KLSBvdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCi0vKj09PT09PT09PT09PT09PT09PT09IERv
bWFpbiBzdXNwZW5kIChzYXZlKSA9PT09PT09PT09PT09PT09PT09PSovCi0KLXN0YXRpYyB2b2lk
IHN0cmVhbV9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKLXN0YXRpYyB2b2lkIGRvbWFp
bl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywgaW50IHJjKTsKLQotLyotLS0tLSBj
b21wbGljYXRlZCBjYWxsYmFjaywgY2FsbGVkIGJ5IHhjX2RvbWFpbl9zYXZlIC0tLS0tKi8KLQot
LyoKLSAqIFdlIGltcGxlbWVudCB0aGUgb3RoZXIgZW5kIG9mIHByb3RvY29sIGZvciBjb250cm9s
bGluZyBxZW11LWRtJ3MKLSAqIGxvZ2RpcnR5LiAgVGhlcmUgaXMgbm8gZG9jdW1lbnRhdGlvbiBm
b3IgdGhpcyBwcm90b2NvbCwgYnV0IG91cgotICogY291bnRlcnBhcnR5J3MgaW1wbGVtZW50YXRp
b24gaXMgaW4KLSAqIHFlbXUteGVuLXRyYWRpdGlvbmFsLmdpdDp4ZW5zdG9yZS5jIGluIHRoZSBm
dW5jdGlvbgotICogeGVuc3RvcmVfcHJvY2Vzc19sb2dkaXJ0eV9ldmVudAotICovCi0KLXN0YXRp
YyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2
X3RpbWUgKmV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpOwotc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0Y2gobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZlbnRfcGF0aCk7Ci1z
dGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRz
cywgaW50IHJjKTsKLQotc3RhdGljIHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlf
c3dpdGNoICpsZHMpCi17Ci0gICAgbGRzLT5jbWRfcGF0aCA9IDA7Ci0gICAgbGlieGxfX2V2X3hz
d2F0Y2hfaW5pdCgmbGRzLT53YXRjaCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmbGRzLT50
aW1lb3V0KTsKLX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVu
X3RyYWRpdGlvbmFsX2xvZ2RpcnR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlu
dCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKLXsKLSAgICBsaWJ4bF9fZWdjICplZ2Mg
PSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+
Y2FsbGVyX3N0YXRlOwotICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxv
Z2RpcnR5OwotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCByYzsKLSAgICB4c190
cmFuc2FjdGlvbl90IHQgPSAwOwotICAgIGNvbnN0IGNoYXIgKmdvdDsKLQotICAgIGlmICghbGRz
LT5jbWRfcGF0aCkgewotICAgICAgICB1aW50MzJfdCBkbV9kb21pZCA9IGxpYnhsX2dldF9zdHVi
ZG9tX2lkKENUWCwgZG9taWQpOwotICAgICAgICBsZHMtPmNtZF9wYXRoID0gbGlieGxfX2Rldmlj
ZV9tb2RlbF94c19wYXRoKGdjLCBkbV9kb21pZCwgZG9taWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9sb2dkaXJ0eS9jbWQiKTsKLSAgICAg
ICAgbGRzLT5yZXRfcGF0aCA9IGxpYnhsX19kZXZpY2VfbW9kZWxfeHNfcGF0aChnYywgZG1fZG9t
aWQsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIvbG9nZGlydHkvcmV0Iik7Ci0gICAgfQotICAgIGxkcy0+Y21kID0gZW5hYmxlID8g
ImVuYWJsZSIgOiAiZGlzYWJsZSI7Ci0KLSAgICByYyA9IGxpYnhsX19ldl94c3dhdGNoX3JlZ2lz
dGVyKGdjLCAmbGRzLT53YXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dp
dGNoX2xvZ2RpcnR5X3hzd2F0Y2gsIGxkcy0+cmV0X3BhdGgpOwotICAgIGlmIChyYykgZ290byBv
dXQ7Ci0KLSAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3JlbChhbywgJmxkcy0+dGlt
ZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoX2xvZ2RpcnR5X3Rp
bWVvdXQsIDEwKjEwMDApOwotICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICBmb3IgKDs7KSB7
Ci0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX3N0YXJ0KGdjLCAmdCk7Ci0gICAg
ICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVj
a2VkKGdjLCB0LCBsZHMtPmNtZF9wYXRoLCAmZ290KTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91
dDsKLQotICAgICAgICBpZiAoZ290KSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpnb3RfcmV0
OwotICAgICAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCB0LCBsZHMtPnJl
dF9wYXRoLCAmZ290X3JldCk7Ci0gICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAg
ICAgICAgICBpZiAoIWdvdF9yZXQgfHwgc3RyY21wKGdvdCwgZ290X3JldCkpIHsKLSAgICAgICAg
ICAgICAgICBMT0coRVJST1IsImNvbnRyb2xsaW5nIGxvZ2RpcnR5OiBxZW11IHdhcyBhbHJlYWR5
IHNlbnQiCi0gICAgICAgICAgICAgICAgICAgICIgY29tbWFuZCBgJXMnICh4ZW5zdG9yZSBwYXRo
IGAlcycpIGJ1dCByZXN1bHQgaXMgYCVzJyIsCi0gICAgICAgICAgICAgICAgICAgIGdvdCwgbGRz
LT5jbWRfcGF0aCwgZ290X3JldCA/IGdvdF9yZXQgOiAiPG5vbmU+Iik7Ci0gICAgICAgICAgICAg
ICAgcmMgPSBFUlJPUl9GQUlMOwotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmMgPSBsaWJ4bF9feHNfcm1fY2hlY2tlZChnYywgdCwgbGRzLT5j
bWRfcGF0aCk7Ci0gICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotICAgICAgICB9Ci0KLSAg
ICAgICAgcmMgPSBsaWJ4bF9feHNfcm1fY2hlY2tlZChnYywgdCwgbGRzLT5yZXRfcGF0aCk7Ci0g
ICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVf
Y2hlY2tlZChnYywgdCwgbGRzLT5jbWRfcGF0aCwgbGRzLT5jbWQpOwotICAgICAgICBpZiAocmMp
IGdvdG8gb3V0OwotCi0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX2NvbW1pdChn
YywgJnQpOwotICAgICAgICBpZiAoIXJjKSBicmVhazsKLSAgICAgICAgaWYgKHJjPDApIGdvdG8g
b3V0OwotICAgIH0KLQotICAgIC8qIE9LLCB3YWl0IGZvciBzb21lIGNhbGxiYWNrICovCi0gICAg
cmV0dXJuOwotCi0gb3V0OgotICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoIGZhaWxlZCAo
cmM9JWQpLCBhYmFuZG9uaW5nIHN1c3BlbmQiLHJjKTsKLSAgICBsaWJ4bF9feHNfdHJhbnNhY3Rp
b25fYWJvcnQoZ2MsICZ0KTsKLSAgICBzd2l0Y2hfbG9nZGlydHlfZG9uZShlZ2MsZHNzLHJjKTsK
LX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX2xvZ2RpcnR5
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCBkb21pZCwgdW5zaWduZWQgZW5h
YmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJf
c3RhdGUgKnNocykKLXsKLSAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOwotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCByYzsKLQotICAgIHJjID0gbGlieGxfX3FtcF9z
ZXRfZ2xvYmFsX2RpcnR5X2xvZyhnYywgZG9taWQsIGVuYWJsZSk7Ci0gICAgaWYgKCFyYykgewot
ICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUo
ZWdjLCBzaHMsIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIExPRyhFUlJPUiwibG9nZGlydHkg
c3dpdGNoIGZhaWxlZCAocmM9JWQpLCBhYmFuZG9uaW5nIHN1c3BlbmQiLHJjKTsKLSAgICAgICAg
ZHNzLT5yYyA9IHJjOwotICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j
X2NhbGxiYWNrX2RvbmUoZWdjLCBzaHMsIC0xKTsKLSAgICB9Ci19Ci0KLXZvaWQgbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChpbnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwgdm9pZCAqdXNlcikK
LXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IHVzZXI7Ci0gICAgbGlieGxf
X2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAg
IHN3aXRjaCAobGlieGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkg
ewotICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9O
QUw6Ci0gICAgICAgIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9s
b2dkaXJ0eShkb21pZCwgZW5hYmxlLCBzaHMpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExJ
QlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgotICAgICAgICBkb21haW5fc3VzcGVu
ZF9zd2l0Y2hfcWVtdV94ZW5fbG9nZGlydHkoZG9taWQsIGVuYWJsZSwgc2hzKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FOgotICAgICAg
ICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCBz
aHMsIDApOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBMT0coRVJST1Is
ImxvZ2RpcnR5IHN3aXRjaCBmYWlsZWQiCi0gICAgICAgICAgICAiLCBubyB2YWxpZCBkZXZpY2Ug
bW9kZWwgdmVyc2lvbiBmb3VuZCwgYWJhbmRvbmluZyBzdXNwZW5kIik7Ci0gICAgICAgIGRzcy0+
cmMgPSBFUlJPUl9GQUlMOwotICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2Fz
eW5jX2NhbGxiYWNrX2RvbmUoZWdjLCBzaHMsIC0xKTsKLSAgICB9Ci19Ci1zdGF0aWMgdm9pZCBz
d2l0Y2hfbG9nZGlydHlfdGltZW91dChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpl
diwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1l
dmFsICpyZXF1ZXN0ZWRfYWJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJjKQotewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKGV2LCAqZHNzLCBsb2dkaXJ0eS50aW1lb3V0KTsKLSAgICBTVEFURV9BT19HQyhkc3Mt
PmFvKTsKLSAgICBMT0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogd2FpdCBmb3IgZGV2aWNlIG1v
ZGVsIHRpbWVkIG91dCIpOwotICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MsRVJST1Jf
RkFJTCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV94c3dhdGNoKGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2ggKndhdGNoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpCi17
Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPQotICAgICAgICBDT05UQUlO
RVJfT0Yod2F0Y2gsICpkc3MsIGxvZ2RpcnR5LndhdGNoKTsKLSAgICBsaWJ4bF9fbG9nZGlydHlf
c3dpdGNoICpsZHMgPSAmZHNzLT5sb2dkaXJ0eTsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsK
LSAgICBjb25zdCBjaGFyICpnb3Q7Ci0gICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKLSAgICBp
bnQgcmM7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0
aW9uX3N0YXJ0KGdjLCAmdCk7Ci0gICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAg
cmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCB0LCBsZHMtPnJldF9wYXRoLCAmZ290KTsK
LSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICBpZiAoIWdvdCkgewotICAgICAg
ICAgICAgcmMgPSArMTsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0KLSAgICAg
ICAgaWYgKHN0cmNtcChnb3QsIGxkcy0+Y21kKSkgewotICAgICAgICAgICAgTE9HKEVSUk9SLCJs
b2dkaXJ0eSBzd2l0Y2g6IHNlbnQgY29tbWFuZCBgJXMnIGJ1dCBnb3QgcmVwbHkgYCVzJyIKLSAg
ICAgICAgICAgICAgICAiICh4ZW5zdG9yZSBwYXRocyBgJXMnIC8gYCVzJykiLCBsZHMtPmNtZCwg
Z290LAotICAgICAgICAgICAgICAgIGxkcy0+Y21kX3BhdGgsIGxkcy0+cmV0X3BhdGgpOwotICAg
ICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAg
IH0KLQotICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPmNtZF9w
YXRoKTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICByYyA9IGxpYnhsX194
c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPnJldF9wYXRoKTsKLSAgICAgICAgaWYgKHJjKSBnb3Rv
IG91dDsKLQotICAgICAgICByYyA9IGxpYnhsX194c190cmFuc2FjdGlvbl9jb21taXQoZ2MsICZ0
KTsKLSAgICAgICAgaWYgKCFyYykgYnJlYWs7Ci0gICAgICAgIGlmIChyYzwwKSBnb3RvIG91dDsK
LSAgICB9Ci0KLSBvdXQ6Ci0gICAgLyogcmMgPCAwOiBlcnJvcgotICAgICAqIHJjID09IDA6IG9r
LCB3ZSBhcmUgZG9uZQotICAgICAqIHJjID09ICsxOiBuZWVkIHRvIGtlZXAgd2FpdGluZwotICAg
ICAqLwotICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOwotCi0gICAgaWYg
KHJjIDw9IDApIHsKLSAgICAgICAgaWYgKHJjIDwgMCkKLSAgICAgICAgICAgIExPRyhFUlJPUiwi
bG9nZGlydHkgc3dpdGNoOiBmYWlsZWQgKHJjPSVkKSIscmMpOwotICAgICAgICBzd2l0Y2hfbG9n
ZGlydHlfZG9uZShlZ2MsZHNzLHJjKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIHN3aXRjaF9s
b2dkaXJ0eV9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJjKQotewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwot
ICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OwotCi0gICAg
bGlieGxfX2V2X3hzd2F0Y2hfZGVyZWdpc3RlcihnYywgJmxkcy0+d2F0Y2gpOwotICAgIGxpYnhs
X19ldl90aW1lX2RlcmVnaXN0ZXIoZ2MsICZsZHMtPnRpbWVvdXQpOwotCi0gICAgaW50IGJyb2tl
OwotICAgIGlmIChyYykgewotICAgICAgICBicm9rZSA9IC0xOwotICAgICAgICBkc3MtPnJjID0g
cmM7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYnJva2UgPSAwOwotICAgIH0KLSAgICBsaWJ4bF9f
eGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Mu
c2hzLCBicm9rZSk7Ci19Ci0KLS8qLS0tLS0gY2FsbGJhY2tzLCBjYWxsZWQgYnkgeGNfZG9tYWlu
X3NhdmUgLS0tLS0qLwotCi0vKgotICogRXhwYW5kIHRoZSBidWZmZXIgJ2J1Zicgb2YgbGVuZ3Ro
ICdsZW4nLCB0byBhcHBlbmQgJ3N0cicgaW5jbHVkaW5nIGl0cyBOVUwKLSAqIHRlcm1pbmF0b3Iu
Ci0gKi8KLXN0YXRpYyB2b2lkIGFwcGVuZF9zdHJpbmcobGlieGxfX2djICpnYywgY2hhciAqKmJ1
ZiwgdWludDMyX3QgKmxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq
c3RyKQotewotICAgIHNpemVfdCBleHRyYWxlbiA9IHN0cmxlbihzdHIpICsgMTsKLSAgICBjaGFy
ICpuZXcgPSBsaWJ4bF9fcmVhbGxvYyhnYywgKmJ1ZiwgKmxlbiArIGV4dHJhbGVuKTsKLQotICAg
ICpidWYgPSBuZXc7Ci0gICAgbWVtY3B5KG5ldyArICpsZW4sIHN0ciwgZXh0cmFsZW4pOwotICAg
ICpsZW4gKz0gZXh0cmFsZW47Ci19Ci0KLWludCBsaWJ4bF9fc2F2ZV9lbXVsYXRvcl94ZW5zdG9y
ZV9kYXRhKGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmNhbGxlZV9idWYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY2FsbGVlX2xlbikKLXsKLSAgICBT
VEFURV9BT19HQyhkc3MtPmFvKTsKLSAgICBjb25zdCBjaGFyICp4c19yb290OwotICAgIGNoYXIg
KiplbnRyaWVzLCAqYnVmID0gTlVMTDsKLSAgICB1bnNpZ25lZCBpbnQgbnJfZW50cmllcywgaSwg
aiwgbGVuID0gMDsKLSAgICBpbnQgcmM7Ci0KLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRz
cy0+ZG9taWQ7Ci0gICAgY29uc3QgdWludDMyX3QgZG1fZG9taWQgPSBsaWJ4bF9nZXRfc3R1YmRv
bV9pZChDVFgsIGRvbWlkKTsKLQotICAgIHhzX3Jvb3QgPSBsaWJ4bF9fZGV2aWNlX21vZGVsX3hz
X3BhdGgoZ2MsIGRtX2RvbWlkLCBkb21pZCwgIiIpOwotCi0gICAgZW50cmllcyA9IGxpYnhsX194
c19kaXJlY3RvcnkoZ2MsIDAsIEdDU1BSSU5URigiJXMvcGh5c21hcCIsIHhzX3Jvb3QpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZucl9lbnRyaWVzKTsKLSAgICBpZiAoIWVu
dHJpZXMgfHwgbnJfZW50cmllcyA9PSAwKSB7IHJjID0gMDsgZ290byBvdXQ7IH0KLQotICAgIGZv
ciAoaSA9IDA7IGkgPCBucl9lbnRyaWVzOyArK2kpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGNo
YXIgKmNvbnN0IHBoeXNtYXBfc3Via2V5c1tdID0gewotICAgICAgICAgICAgInN0YXJ0X2FkZHIi
LCAic2l6ZSIsICJuYW1lIgotICAgICAgICB9OwotCi0gICAgICAgIGZvciAoaiA9IDA7IGogPCBB
UlJBWV9TSVpFKHBoeXNtYXBfc3Via2V5cyk7ICsraikgewotICAgICAgICAgICAgY29uc3QgY2hh
ciAqa2V5ID0gR0NTUFJJTlRGKCJwaHlzbWFwLyVzLyVzIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbnRyaWVzW2ldLCBwaHlzbWFwX3N1YmtleXNbal0pOwotCi0g
ICAgICAgICAgICBjb25zdCBjaGFyICp2YWwgPQotICAgICAgICAgICAgICAgIGxpYnhsX194c19y
ZWFkKGdjLCBYQlRfTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklO
VEYoIiVzLyVzIiwgeHNfcm9vdCwga2V5KSk7Ci0KLSAgICAgICAgICAgIGlmICghdmFsKSB7IHJj
ID0gRVJST1JfRkFJTDsgZ290byBvdXQ7IH0KLQotICAgICAgICAgICAgYXBwZW5kX3N0cmluZyhn
YywgJmJ1ZiwgJmxlbiwga2V5KTsKLSAgICAgICAgICAgIGFwcGVuZF9zdHJpbmcoZ2MsICZidWYs
ICZsZW4sIHZhbCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByYyA9IDA7Ci0KLSBvdXQ6Ci0g
ICAgaWYgKCFyYykgewotICAgICAgICAqY2FsbGVlX2J1ZiA9IGJ1ZjsKLSAgICAgICAgKmNhbGxl
ZV9sZW4gPSBsZW47Ci0gICAgfQotCi0gICAgcmV0dXJuIHJjOwotfQotCi0vKi0tLS0tIG1haW4g
Y29kZSBmb3Igc2F2aW5nLCBpbiBvcmRlciBvZiBleGVjdXRpb24gLS0tLS0qLwotCi12b2lkIGxp
YnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc3VzcGVuZF9z
dGF0ZSAqZHNzKQotewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCBwb3J0Owot
ICAgIGludCByYywgcmV0OwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAgIGNv
bnN0IHVpbnQzMl90IGRvbWlkID0gZHNzLT5kb21pZDsKLSAgICBjb25zdCBsaWJ4bF9kb21haW5f
dHlwZSB0eXBlID0gZHNzLT50eXBlOwotICAgIGNvbnN0IGludCBsaXZlID0gZHNzLT5saXZlOwot
ICAgIGNvbnN0IGludCBkZWJ1ZyA9IGRzcy0+ZGVidWc7Ci0gICAgY29uc3QgbGlieGxfZG9tYWlu
X3JlbXVzX2luZm8gKmNvbnN0IHJfaW5mbyA9IGRzcy0+cmVtdXM7Ci0gICAgbGlieGxfX3NybV9z
YXZlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZHNzLT5z
d3Muc2hzLmNhbGxiYWNrcy5zYXZlLmE7Ci0gICAgdW5zaWduZWQgaW50IG5yX3Zub2RlcyA9IDAs
IG5yX3ZtZW1yYW5nZXMgPSAwLCBucl92Y3B1cyA9IDA7Ci0KLSAgICBkc3MtPnJjID0gMDsKLSAg
ICBsb2dkaXJ0eV9pbml0KCZkc3MtPmxvZ2RpcnR5KTsKLSAgICBsaWJ4bF9feHN3YWl0X2luaXQo
JmRzcy0+cHZjb250cm9sKTsKLSAgICBsaWJ4bF9fZXZfZXZ0Y2huX2luaXQoJmRzcy0+Z3Vlc3Rf
ZXZ0Y2huKTsKLSAgICBsaWJ4bF9fZXZfeHN3YXRjaF9pbml0KCZkc3MtPmd1ZXN0X3dhdGNoKTsK
LSAgICBsaWJ4bF9fZXZfdGltZV9pbml0KCZkc3MtPmd1ZXN0X3RpbWVvdXQpOwotCi0gICAgc3dp
dGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9IVk06IHsKLSAgICAgICAg
ZHNzLT5odm0gPSAxOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBMSUJYTF9ET01B
SU5fVFlQRV9QVjoKLSAgICAgICAgZHNzLT5odm0gPSAwOwotICAgICAgICBicmVhazsKLSAgICBk
ZWZhdWx0OgotICAgICAgICBhYm9ydCgpOwotICAgIH0KLQotICAgIGRzcy0+eGNmbGFncyA9IChs
aXZlID8gWENGTEFHU19MSVZFIDogMCkKLSAgICAgICAgICB8IChkZWJ1ZyA/IFhDRkxBR1NfREVC
VUcgOiAwKQotICAgICAgICAgIHwgKGRzcy0+aHZtID8gWENGTEFHU19IVk0gOiAwKTsKLQotICAg
IC8qIERpc2FsbG93IHNhdmluZyBhIGd1ZXN0IHdpdGggdk5VTUEgY29uZmlndXJlZCBiZWNhdXNl
IG1pZ3JhdGlvbgotICAgICAqIHN0cmVhbSBkb2VzIG5vdCBwcmVzZXJ2ZSBub2RlIGluZm9ybWF0
aW9uLgotICAgICAqCi0gICAgICogUmVqZWN0IGFueSBkb21haW4gd2hpY2ggaGFzIHZudW1hIGVu
YWJsZWQsIGV2ZW4gaWYgdGhlCi0gICAgICogY29uZmlndXJhdGlvbiBpcyBlbXB0eS4gT25seSBk
b21haW5zIHdoaWNoIGhhdmUgbm8gdm51bWEKLSAgICAgKiBjb25maWd1cmF0aW9uIGF0IGFsbCBh
cmUgc3VwcG9ydGVkLgotICAgICAqLwotICAgIHJldCA9IHhjX2RvbWFpbl9nZXR2bnVtYShDVFgt
PnhjaCwgZG9taWQsICZucl92bm9kZXMsICZucl92bWVtcmFuZ2VzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmbnJfdmNwdXMsIE5VTEwsIE5VTEwsIE5VTEwpOwotICAgIGlmIChyZXQg
IT0gLTEgfHwgZXJybm8gIT0gWEVOX0VPUE5PVFNVUFApIHsKLSAgICAgICAgTE9HKEVSUk9SLCAi
Q2Fubm90IHNhdmUgYSBndWVzdCB3aXRoIHZOVU1BIGNvbmZpZ3VyZWQiKTsKLSAgICAgICAgcmMg
PSBFUlJPUl9GQUlMOwotICAgICAgICBnb3RvIG91dDsKLSAgICB9Ci0KLSAgICBkc3MtPmd1ZXN0
X2V2dGNobi5wb3J0ID0gLTE7Ci0gICAgZHNzLT5ndWVzdF9ldnRjaG5fbG9ja2ZkID0gLTE7Ci0g
ICAgZHNzLT5ndWVzdF9yZXNwb25kZWQgPSAwOwotICAgIGRzcy0+ZG1fc2F2ZWZpbGUgPSBsaWJ4
bF9fZGV2aWNlX21vZGVsX3NhdmVmaWxlKGdjLCBkb21pZCk7Ci0KLSAgICBpZiAocl9pbmZvICE9
IE5VTEwpIHsKLSAgICAgICAgZHNzLT5pbnRlcnZhbCA9IHJfaW5mby0+aW50ZXJ2YWw7Ci0gICAg
ICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRFRDsKLSAgICAgICAgaWYgKGxp
YnhsX2RlZmJvb2xfdmFsKHJfaW5mby0+Y29tcHJlc3Npb24pKQotICAgICAgICAgICAgZHNzLT54
Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVTUzsKLSAgICB9Ci0KLSAgICBwb3J0
ID0geHNfc3VzcGVuZF9ldnRjaG5fcG9ydChkc3MtPmRvbWlkKTsKLQotICAgIGlmIChwb3J0ID49
IDApIHsKLSAgICAgICAgcmMgPSBsaWJ4bF9fY3R4X2V2dGNobl9pbml0KGdjKTsKLSAgICAgICAg
aWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICBkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID0KLSAg
ICAgICAgICAgIHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRfZXhjbHVzaXZlKENUWC0+eGNoLCBDVFgt
PnhjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmRvbWlkLCBwb3J0
LCAmZHNzLT5ndWVzdF9ldnRjaG5fbG9ja2ZkKTsKLQotICAgICAgICBpZiAoZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCA8IDApIHsKLSAgICAgICAgICAgIExPRyhXQVJOLCAiU3VzcGVuZCBldmVudCBj
aGFubmVsIGluaXRpYWxpemF0aW9uIGZhaWxlZCIpOwotICAgICAgICAgICAgcmMgPSBFUlJPUl9G
QUlMOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAo
cl9pbmZvID09IE5VTEwpCi0gICAgICAgIGNhbGxiYWNrcy0+c3VzcGVuZCA9IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9jYWxsYmFjazsKLQotICAgIGNhbGxiYWNrcy0+c3dpdGNoX3FlbXVfbG9nZGly
dHkgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5Owot
Ci0gICAgZHNzLT5zd3MuYW8gID0gZHNzLT5hbzsKLSAgICBkc3MtPnN3cy5kc3MgPSBkc3M7Ci0g
ICAgZHNzLT5zd3MuZmQgID0gZHNzLT5mZDsKLSAgICBkc3MtPnN3cy5jb21wbGV0aW9uX2NhbGxi
YWNrID0gc3RyZWFtX2RvbmU7Ci0KLSAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXJ0KGVnYywg
JmRzcy0+c3dzKTsKLSAgICByZXR1cm47Ci0KLSBvdXQ6Ci0gICAgZG9tYWluX3NhdmVfZG9uZShl
Z2MsIGRzcywgcmMpOwotfQotCi1zdGF0aWMgdm9pZCBzdHJlYW1fZG9uZShsaWJ4bF9fZWdjICpl
Z2MsCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpz
d3MsIGludCByYykKLXsKLSAgICBkb21haW5fc2F2ZV9kb25lKGVnYywgc3dzLT5kc3MsIHJjKTsK
LX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
LCBpbnQgcmMpCi17Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7Ci0KLSAgICAvKiBDb252ZW5p
ZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOwot
Ci0gICAgbGlieGxfX2V2X2V2dGNobl9jYW5jZWwoZ2MsICZkc3MtPmd1ZXN0X2V2dGNobik7Ci0K
LSAgICBpZiAoZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCA+IDApCi0gICAgICAgIHhjX3N1c3BlbmRf
ZXZ0Y2huX3JlbGVhc2UoQ1RYLT54Y2gsIENUWC0+eGNlLCBkb21pZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQsICZkc3MtPmd1ZXN0X2V2dGNobl9s
b2NrZmQpOwotCi0gICAgaWYgKGRzcy0+cmVtdXMpIHsKLSAgICAgICAgLyoKLSAgICAgICAgICog
V2l0aCBSZW11cywgaWYgd2UgcmVhY2ggdGhpcyBwb2ludCwgaXQgbWVhbnMgZWl0aGVyCi0gICAg
ICAgICAqIGJhY2t1cCBkaWVkIG9yIHNvbWUgbmV0d29yayBlcnJvciBvY2N1cnJlZCBwcmV2ZW50
aW5nIHVzCi0gICAgICAgICAqIGZyb20gc2VuZGluZyBjaGVja3BvaW50cy4gVGVhcmRvd24gdGhl
IG5ldHdvcmsgYnVmZmVycyBhbmQKLSAgICAgICAgICogcmVsZWFzZSBuZXRsaW5rIHJlc291cmNl
cy4gIFRoaXMgaXMgYW4gYXN5bmMgb3AuCi0gICAgICAgICAqLwotICAgICAgICBsaWJ4bF9fcmVt
dXNfdGVhcmRvd24oZWdjLCBkc3MsIHJjKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGRzcy0+Y2FsbGJhY2soZWdjLCBkc3MsIHJjKTsKLX0KLQogLyo9PT09PT09PT09PT09PT09PT09
PSBNaXNjZWxsYW5lb3VzID09PT09PT09PT09PT09PT09PT09Ki8KIAogY2hhciAqbGlieGxfX3V1
aWQyc3RyaW5nKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX3V1aWQgdXVpZCkKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb21f
c2F2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYTM0MDQKLS0tIC9k
ZXYvbnVsbAorKysgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCkBAIC0wLDAgKzEsNTM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5ICAgICAgQ2l0cml4IEx0ZC4KKyAqIEF1dGhv
ciBWaW5jZW50IEhhbnF1ZXogPHZpbmNlbnQuaGFucXVlekBldS5jaXRyaXguY29tPgorICoKKyAq
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNwZWNpYWwKKyAqIGV4Y2Vw
dGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0UuCisgKgorICogVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAvKiBt
dXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNpbmNsdWRlICJsaWJ4bF9p
bnRlcm5hbC5oIgorCisjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CisKKy8qPT09PT09PT09PT09PT09
PT09PT09PT09PSBEb21haW4gc2F2ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKwor
c3RhdGljIHZvaWQgc3RyZWFtX2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOworc3RhdGlj
IHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOwor
CisvKi0tLS0tIGNvbXBsaWNhdGVkIGNhbGxiYWNrLCBjYWxsZWQgYnkgeGNfZG9tYWluX3NhdmUg
LS0tLS0qLworCisvKgorICogV2UgaW1wbGVtZW50IHRoZSBvdGhlciBlbmQgb2YgcHJvdG9jb2wg
Zm9yIGNvbnRyb2xsaW5nIHFlbXUtZG0ncworICogbG9nZGlydHkuICBUaGVyZSBpcyBubyBkb2N1
bWVudGF0aW9uIGZvciB0aGlzIHByb3RvY29sLCBidXQgb3VyCisgKiBjb3VudGVycGFydHkncyBp
bXBsZW1lbnRhdGlvbiBpcyBpbgorICogcWVtdS14ZW4tdHJhZGl0aW9uYWwuZ2l0OnhlbnN0b3Jl
LmMgaW4gdGhlIGZ1bmN0aW9uCisgKiB4ZW5zdG9yZV9wcm9jZXNzX2xvZ2RpcnR5X2V2ZW50Cisg
Ki8KKworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGlieGxfX2VnYyAqZWdj
LCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYyk7CitzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlf
eHN3YXRjaChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl94c3dhdGNoKiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp3YXRjaF9wYXRoLCBjb25zdCBjaGFyICpldmVu
dF9wYXRoKTsKK3N0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsb2dkaXJ0eV9pbml0KGxpYnhs
X19sb2dkaXJ0eV9zd2l0Y2ggKmxkcykKK3sKKyAgICBsZHMtPmNtZF9wYXRoID0gMDsKKyAgICBs
aWJ4bF9fZXZfeHN3YXRjaF9pbml0KCZsZHMtPndhdGNoKTsKKyAgICBsaWJ4bF9fZXZfdGltZV9p
bml0KCZsZHMtPnRpbWVvdXQpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0
Y2hfcWVtdV94ZW5fdHJhZGl0aW9uYWxfbG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzKQoreworICAgIGxpYnhs
X19lZ2MgKmVnYyA9IHNocy0+ZWdjOworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7CisgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRz
ID0gJmRzcy0+bG9nZGlydHk7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAgaW50IHJj
OworICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9IDA7CisgICAgY29uc3QgY2hhciAqZ290OworCisg
ICAgaWYgKCFsZHMtPmNtZF9wYXRoKSB7CisgICAgICAgIHVpbnQzMl90IGRtX2RvbWlkID0gbGli
eGxfZ2V0X3N0dWJkb21faWQoQ1RYLCBkb21pZCk7CisgICAgICAgIGxkcy0+Y21kX3BhdGggPSBs
aWJ4bF9fZGV2aWNlX21vZGVsX3hzX3BhdGgoZ2MsIGRtX2RvbWlkLCBkb21pZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xvZ2RpcnR5L2Nt
ZCIpOworICAgICAgICBsZHMtPnJldF9wYXRoID0gbGlieGxfX2RldmljZV9tb2RlbF94c19wYXRo
KGdjLCBkbV9kb21pZCwgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi9sb2dkaXJ0eS9yZXQiKTsKKyAgICB9CisgICAgbGRzLT5jbWQg
PSBlbmFibGUgPyAiZW5hYmxlIiA6ICJkaXNhYmxlIjsKKworICAgIHJjID0gbGlieGxfX2V2X3hz
d2F0Y2hfcmVnaXN0ZXIoZ2MsICZsZHMtPndhdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2hfbG9nZGlydHlfeHN3YXRjaCwgbGRzLT5yZXRfcGF0aCk7CisgICAgaWYg
KHJjKSBnb3RvIG91dDsKKworICAgIHJjID0gbGlieGxfX2V2X3RpbWVfcmVnaXN0ZXJfcmVsKGFv
LCAmbGRzLT50aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hf
bG9nZGlydHlfdGltZW91dCwgMTAqMTAwMCk7CisgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAg
IGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fc3RhcnQoZ2Ms
ICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAgICByYyA9IGxpYnhsX194
c19yZWFkX2NoZWNrZWQoZ2MsIHQsIGxkcy0+Y21kX3BhdGgsICZnb3QpOworICAgICAgICBpZiAo
cmMpIGdvdG8gb3V0OworCisgICAgICAgIGlmIChnb3QpIHsKKyAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmdvdF9yZXQ7CisgICAgICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2Ms
IHQsIGxkcy0+cmV0X3BhdGgsICZnb3RfcmV0KTsKKyAgICAgICAgICAgIGlmIChyYykgZ290byBv
dXQ7CisKKyAgICAgICAgICAgIGlmICghZ290X3JldCB8fCBzdHJjbXAoZ290LCBnb3RfcmV0KSkg
eworICAgICAgICAgICAgICAgIExPRyhFUlJPUiwiY29udHJvbGxpbmcgbG9nZGlydHk6IHFlbXUg
d2FzIGFscmVhZHkgc2VudCIKKyAgICAgICAgICAgICAgICAgICAgIiBjb21tYW5kIGAlcycgKHhl
bnN0b3JlIHBhdGggYCVzJykgYnV0IHJlc3VsdCBpcyBgJXMnIiwKKyAgICAgICAgICAgICAgICAg
ICAgZ290LCBsZHMtPmNtZF9wYXRoLCBnb3RfcmV0ID8gZ290X3JldCA6ICI8bm9uZT4iKTsKKyAg
ICAgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICAgICAgZ290byBvdXQ7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdj
LCB0LCBsZHMtPmNtZF9wYXRoKTsKKyAgICAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAg
ICAgIH0KKworICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPnJl
dF9wYXRoKTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAgICByYyA9IGxpYnhs
X194c193cml0ZV9jaGVja2VkKGdjLCB0LCBsZHMtPmNtZF9wYXRoLCBsZHMtPmNtZCk7CisgICAg
ICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rp
b25fY29tbWl0KGdjLCAmdCk7CisgICAgICAgIGlmICghcmMpIGJyZWFrOworICAgICAgICBpZiAo
cmM8MCkgZ290byBvdXQ7CisgICAgfQorCisgICAgLyogT0ssIHdhaXQgZm9yIHNvbWUgY2FsbGJh
Y2sgKi8KKyAgICByZXR1cm47CisKKyBvdXQ6CisgICAgTE9HKEVSUk9SLCJsb2dkaXJ0eSBzd2l0
Y2ggZmFpbGVkIChyYz0lZCksIGFiYW5kb25pbmcgc3VzcGVuZCIscmMpOworICAgIGxpYnhsX194
c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOworICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVn
Yyxkc3MscmMpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV94
ZW5fbG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50IGRvbWlkLCB1
bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19z
YXZlX2hlbHBlcl9zdGF0ZSAqc2hzKQoreworICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdj
OworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3Rh
dGU7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAgaW50IHJjOworCisgICAgcmMgPSBs
aWJ4bF9fcW1wX3NldF9nbG9iYWxfZGlydHlfbG9nKGdjLCBkb21pZCwgZW5hYmxlKTsKKyAgICBp
ZiAoIXJjKSB7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2Fs
bGJhY2tfZG9uZShlZ2MsIHNocywgMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgTE9HKEVSUk9S
LCJsb2dkaXJ0eSBzd2l0Y2ggZmFpbGVkIChyYz0lZCksIGFiYW5kb25pbmcgc3VzcGVuZCIscmMp
OworICAgICAgICBkc3MtPnJjID0gcmM7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJl
c3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsIHNocywgLTEpOworICAgIH0KK30KKwordm9p
ZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLCB2
b2lkICp1c2VyKQoreworICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gdXNlcjsK
KyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIFNUQVRFX0FPX0dDKGRzcy0+
YW8pOworCisgICAgc3dpdGNoIChsaWJ4bF9fZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyhn
YywgZG9taWQpKSB7CisgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hF
Tl9UUkFESVRJT05BTDoKKyAgICAgICAgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX3Ry
YWRpdGlvbmFsX2xvZ2RpcnR5KGRvbWlkLCBlbmFibGUsIHNocyk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU46CisgICAgICAgIGRv
bWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9sb2dkaXJ0eShkb21pZCwgZW5hYmxlLCBzaHMp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05P
TkU6CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tf
ZG9uZShlZ2MsIHNocywgMCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoIGZhaWxlZCIKKyAgICAgICAgICAgICIsIG5vIHZh
bGlkIGRldmljZSBtb2RlbCB2ZXJzaW9uIGZvdW5kLCBhYmFuZG9uaW5nIHN1c3BlbmQiKTsKKyAg
ICAgICAgZHNzLT5yYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2
ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsIHNocywgLTEpOworICAgIH0KK30KK3N0
YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxf
X2V2X3RpbWUgKmV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBDT05UQUlORVJfT0YoZXYsICpkc3MsIGxvZ2RpcnR5LnRpbWVvdXQpOworICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOworICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoOiB3YWl0IGZv
ciBkZXZpY2UgbW9kZWwgdGltZWQgb3V0Iik7CisgICAgc3dpdGNoX2xvZ2RpcnR5X2RvbmUoZWdj
LGRzcyxFUlJPUl9GQUlMKTsKK30KKworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0
Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCAqd2F0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZl
bnRfcGF0aCkKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9CisgICAg
ICAgIENPTlRBSU5FUl9PRih3YXRjaCwgKmRzcywgbG9nZGlydHkud2F0Y2gpOworICAgIGxpYnhs
X19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OworICAgIFNUQVRFX0FPX0dD
KGRzcy0+YW8pOworICAgIGNvbnN0IGNoYXIgKmdvdDsKKyAgICB4c190cmFuc2FjdGlvbl90IHQg
PSAwOworICAgIGludCByYzsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9f
eHNfdHJhbnNhY3Rpb25fc3RhcnQoZ2MsICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsK
KworICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIHQsIGxkcy0+cmV0X3Bh
dGgsICZnb3QpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGlmICghZ290
KSB7CisgICAgICAgICAgICByYyA9ICsxOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoc3RyY21wKGdvdCwgbGRzLT5jbWQpKSB7CisgICAgICAgICAgICBM
T0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogc2VudCBjb21tYW5kIGAlcycgYnV0IGdvdCByZXBs
eSBgJXMnIgorICAgICAgICAgICAgICAgICIgKHhlbnN0b3JlIHBhdGhzIGAlcycgLyBgJXMnKSIs
IGxkcy0+Y21kLCBnb3QsCisgICAgICAgICAgICAgICAgbGRzLT5jbWRfcGF0aCwgbGRzLT5yZXRf
cGF0aCk7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91
dDsKKyAgICAgICAgfQorCisgICAgICAgIHJjID0gbGlieGxfX3hzX3JtX2NoZWNrZWQoZ2MsIHQs
IGxkcy0+Y21kX3BhdGgpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIHJj
ID0gbGlieGxfX3hzX3JtX2NoZWNrZWQoZ2MsIHQsIGxkcy0+cmV0X3BhdGgpOworICAgICAgICBp
ZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Nv
bW1pdChnYywgJnQpOworICAgICAgICBpZiAoIXJjKSBicmVhazsKKyAgICAgICAgaWYgKHJjPDAp
IGdvdG8gb3V0OworICAgIH0KKworIG91dDoKKyAgICAvKiByYyA8IDA6IGVycm9yCisgICAgICog
cmMgPT0gMDogb2ssIHdlIGFyZSBkb25lCisgICAgICogcmMgPT0gKzE6IG5lZWQgdG8ga2VlcCB3
YWl0aW5nCisgICAgICovCisgICAgbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Fib3J0KGdjLCAmdCk7
CisKKyAgICBpZiAocmMgPD0gMCkgeworICAgICAgICBpZiAocmMgPCAwKQorICAgICAgICAgICAg
TE9HKEVSUk9SLCJsb2dkaXJ0eSBzd2l0Y2g6IGZhaWxlZCAocmM9JWQpIixyYyk7CisgICAgICAg
IHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MscmMpOworICAgIH0KK30KKworc3RhdGljIHZv
aWQgc3dpdGNoX2xvZ2RpcnR5X2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgU1RBVEVfQU9fR0Mo
ZHNzLT5hbyk7CisgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzID0gJmRzcy0+bG9nZGly
dHk7CisKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVyKGdjLCAmbGRzLT53YXRjaCk7
CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3RlcihnYywgJmxkcy0+dGltZW91dCk7CisKKyAg
ICBpbnQgYnJva2U7CisgICAgaWYgKHJjKSB7CisgICAgICAgIGJyb2tlID0gLTE7CisgICAgICAg
IGRzcy0+cmMgPSByYzsKKyAgICB9IGVsc2UgeworICAgICAgICBicm9rZSA9IDA7CisgICAgfQor
ICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2Ms
ICZkc3MtPnN3cy5zaHMsIGJyb2tlKTsKK30KKworLyotLS0tLSBjYWxsYmFja3MsIGNhbGxlZCBi
eSB4Y19kb21haW5fc2F2ZSAtLS0tLSovCisKKy8qCisgKiBFeHBhbmQgdGhlIGJ1ZmZlciAnYnVm
JyBvZiBsZW5ndGggJ2xlbicsIHRvIGFwcGVuZCAnc3RyJyBpbmNsdWRpbmcgaXRzIE5VTAorICog
dGVybWluYXRvci4KKyAqLworc3RhdGljIHZvaWQgYXBwZW5kX3N0cmluZyhsaWJ4bF9fZ2MgKmdj
LCBjaGFyICoqYnVmLCB1aW50MzJfdCAqbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBjaGFyICpzdHIpCit7CisgICAgc2l6ZV90IGV4dHJhbGVuID0gc3RybGVuKHN0cikgKyAx
OworICAgIGNoYXIgKm5ldyA9IGxpYnhsX19yZWFsbG9jKGdjLCAqYnVmLCAqbGVuICsgZXh0cmFs
ZW4pOworCisgICAgKmJ1ZiA9IG5ldzsKKyAgICBtZW1jcHkobmV3ICsgKmxlbiwgc3RyLCBleHRy
YWxlbik7CisgICAgKmxlbiArPSBleHRyYWxlbjsKK30KKworaW50IGxpYnhsX19zYXZlX2VtdWxh
dG9yX3hlbnN0b3JlX2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqY2FsbGVlX2J1ZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjYWxsZWVfbGVu
KQoreworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIGNvbnN0IGNoYXIgKnhzX3Jvb3Q7
CisgICAgY2hhciAqKmVudHJpZXMsICpidWYgPSBOVUxMOworICAgIHVuc2lnbmVkIGludCBucl9l
bnRyaWVzLCBpLCBqLCBsZW4gPSAwOworICAgIGludCByYzsKKworICAgIGNvbnN0IHVpbnQzMl90
IGRvbWlkID0gZHNzLT5kb21pZDsKKyAgICBjb25zdCB1aW50MzJfdCBkbV9kb21pZCA9IGxpYnhs
X2dldF9zdHViZG9tX2lkKENUWCwgZG9taWQpOworCisgICAgeHNfcm9vdCA9IGxpYnhsX19kZXZp
Y2VfbW9kZWxfeHNfcGF0aChnYywgZG1fZG9taWQsIGRvbWlkLCAiIik7CisKKyAgICBlbnRyaWVz
ID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgMCwgR0NTUFJJTlRGKCIlcy9waHlzbWFwIiwgeHNf
cm9vdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5yX2VudHJpZXMpOwor
ICAgIGlmICghZW50cmllcyB8fCBucl9lbnRyaWVzID09IDApIHsgcmMgPSAwOyBnb3RvIG91dDsg
fQorCisgICAgZm9yIChpID0gMDsgaSA8IG5yX2VudHJpZXM7ICsraSkgeworICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciAqY29uc3QgcGh5c21hcF9zdWJrZXlzW10gPSB7CisgICAgICAgICAgICAi
c3RhcnRfYWRkciIsICJzaXplIiwgIm5hbWUiCisgICAgICAgIH07CisKKyAgICAgICAgZm9yIChq
ID0gMDsgaiA8IEFSUkFZX1NJWkUocGh5c21hcF9zdWJrZXlzKTsgKytqKSB7CisgICAgICAgICAg
ICBjb25zdCBjaGFyICprZXkgPSBHQ1NQUklOVEYoInBoeXNtYXAvJXMvJXMiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJpZXNbaV0sIHBoeXNtYXBfc3Via2V5
c1tqXSk7CisKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZhbCA9CisgICAgICAgICAgICAgICAg
bGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdDU1BSSU5URigiJXMvJXMiLCB4c19yb290LCBrZXkpKTsKKworICAgICAgICAgICAgaWYg
KCF2YWwpIHsgcmMgPSBFUlJPUl9GQUlMOyBnb3RvIG91dDsgfQorCisgICAgICAgICAgICBhcHBl
bmRfc3RyaW5nKGdjLCAmYnVmLCAmbGVuLCBrZXkpOworICAgICAgICAgICAgYXBwZW5kX3N0cmlu
ZyhnYywgJmJ1ZiwgJmxlbiwgdmFsKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJjID0gMDsK
KworIG91dDoKKyAgICBpZiAoIXJjKSB7CisgICAgICAgICpjYWxsZWVfYnVmID0gYnVmOworICAg
ICAgICAqY2FsbGVlX2xlbiA9IGxlbjsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKKy8q
LS0tLS0gbWFpbiBjb2RlIGZvciBzYXZpbmcsIGluIG9yZGVyIG9mIGV4ZWN1dGlvbiAtLS0tLSov
CisKK3ZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MpCit7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAg
aW50IHBvcnQ7CisgICAgaW50IHJjLCByZXQ7CisKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2Vz
ICovCisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOworICAgIGNvbnN0IGxp
YnhsX2RvbWFpbl90eXBlIHR5cGUgPSBkc3MtPnR5cGU7CisgICAgY29uc3QgaW50IGxpdmUgPSBk
c3MtPmxpdmU7CisgICAgY29uc3QgaW50IGRlYnVnID0gZHNzLT5kZWJ1ZzsKKyAgICBjb25zdCBs
aWJ4bF9kb21haW5fcmVtdXNfaW5mbyAqY29uc3Qgcl9pbmZvID0gZHNzLT5yZW11czsKKyAgICBs
aWJ4bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxsYmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CisgICAg
ICAgICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tzLnNhdmUuYTsKKyAgICB1bnNpZ25lZCBpbnQgbnJf
dm5vZGVzID0gMCwgbnJfdm1lbXJhbmdlcyA9IDAsIG5yX3ZjcHVzID0gMDsKKworICAgIGRzcy0+
cmMgPSAwOworICAgIGxvZ2RpcnR5X2luaXQoJmRzcy0+bG9nZGlydHkpOworICAgIGxpYnhsX194
c3dhaXRfaW5pdCgmZHNzLT5wdmNvbnRyb2wpOworICAgIGxpYnhsX19ldl9ldnRjaG5faW5pdCgm
ZHNzLT5ndWVzdF9ldnRjaG4pOworICAgIGxpYnhsX19ldl94c3dhdGNoX2luaXQoJmRzcy0+Z3Vl
c3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1lX2luaXQoJmRzcy0+Z3Vlc3RfdGltZW91dCk7
CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hWTTog
eworICAgICAgICBkc3MtPmh2bSA9IDE7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX1BWOgorICAgICAgICBkc3MtPmh2bSA9IDA7CisgICAgICAgIGJy
ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGFib3J0KCk7CisgICAgfQorCisgICAgZHNzLT54
Y2ZsYWdzID0gKGxpdmUgPyBYQ0ZMQUdTX0xJVkUgOiAwKQorICAgICAgICAgIHwgKGRlYnVnID8g
WENGTEFHU19ERUJVRyA6IDApCisgICAgICAgICAgfCAoZHNzLT5odm0gPyBYQ0ZMQUdTX0hWTSA6
IDApOworCisgICAgLyogRGlzYWxsb3cgc2F2aW5nIGEgZ3Vlc3Qgd2l0aCB2TlVNQSBjb25maWd1
cmVkIGJlY2F1c2UgbWlncmF0aW9uCisgICAgICogc3RyZWFtIGRvZXMgbm90IHByZXNlcnZlIG5v
ZGUgaW5mb3JtYXRpb24uCisgICAgICoKKyAgICAgKiBSZWplY3QgYW55IGRvbWFpbiB3aGljaCBo
YXMgdm51bWEgZW5hYmxlZCwgZXZlbiBpZiB0aGUKKyAgICAgKiBjb25maWd1cmF0aW9uIGlzIGVt
cHR5LiBPbmx5IGRvbWFpbnMgd2hpY2ggaGF2ZSBubyB2bnVtYQorICAgICAqIGNvbmZpZ3VyYXRp
b24gYXQgYWxsIGFyZSBzdXBwb3J0ZWQuCisgICAgICovCisgICAgcmV0ID0geGNfZG9tYWluX2dl
dHZudW1hKENUWC0+eGNoLCBkb21pZCwgJm5yX3Zub2RlcywgJm5yX3ZtZW1yYW5nZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZucl92Y3B1cywgTlVMTCwgTlVMTCwgTlVMTCk7Cisg
ICAgaWYgKHJldCAhPSAtMSB8fCBlcnJubyAhPSBYRU5fRU9QTk9UU1VQUCkgeworICAgICAgICBM
T0coRVJST1IsICJDYW5ub3Qgc2F2ZSBhIGd1ZXN0IHdpdGggdk5VTUEgY29uZmlndXJlZCIpOwor
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAg
IGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQgPSAtMTsKKyAgICBkc3MtPmd1ZXN0X2V2dGNobl9sb2Nr
ZmQgPSAtMTsKKyAgICBkc3MtPmd1ZXN0X3Jlc3BvbmRlZCA9IDA7CisgICAgZHNzLT5kbV9zYXZl
ZmlsZSA9IGxpYnhsX19kZXZpY2VfbW9kZWxfc2F2ZWZpbGUoZ2MsIGRvbWlkKTsKKworICAgIGlm
IChyX2luZm8gIT0gTlVMTCkgeworICAgICAgICBkc3MtPmludGVydmFsID0gcl9pbmZvLT5pbnRl
cnZhbDsKKyAgICAgICAgZHNzLT54Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVEVEOworICAg
ICAgICBpZiAobGlieGxfZGVmYm9vbF92YWwocl9pbmZvLT5jb21wcmVzc2lvbikpCisgICAgICAg
ICAgICBkc3MtPnhjZmxhZ3MgfD0gWENGTEFHU19DSEVDS1BPSU5UX0NPTVBSRVNTOworICAgIH0K
KworICAgIHBvcnQgPSB4c19zdXNwZW5kX2V2dGNobl9wb3J0KGRzcy0+ZG9taWQpOworCisgICAg
aWYgKHBvcnQgPj0gMCkgeworICAgICAgICByYyA9IGxpYnhsX19jdHhfZXZ0Y2huX2luaXQoZ2Mp
OworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2hu
LnBvcnQgPQorICAgICAgICAgICAgeGNfc3VzcGVuZF9ldnRjaG5faW5pdF9leGNsdXNpdmUoQ1RY
LT54Y2gsIENUWC0+eGNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzcy0+
ZG9taWQsIHBvcnQsICZkc3MtPmd1ZXN0X2V2dGNobl9sb2NrZmQpOworCisgICAgICAgIGlmIChk
c3MtPmd1ZXN0X2V2dGNobi5wb3J0IDwgMCkgeworICAgICAgICAgICAgTE9HKFdBUk4sICJTdXNw
ZW5kIGV2ZW50IGNoYW5uZWwgaW5pdGlhbGl6YXRpb24gZmFpbGVkIik7CisgICAgICAgICAgICBy
YyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChyX2luZm8gPT0gTlVMTCkKKyAgICAgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0g
bGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrOworCisgICAgY2FsbGJhY2tzLT5zd2l0Y2hf
cWVtdV9sb2dkaXJ0eSA9IGxpYnhsX19kb21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVf
bG9nZGlydHk7CisKKyAgICBkc3MtPnN3cy5hbyAgPSBkc3MtPmFvOworICAgIGRzcy0+c3dzLmRz
cyA9IGRzczsKKyAgICBkc3MtPnN3cy5mZCAgPSBkc3MtPmZkOworICAgIGRzcy0+c3dzLmNvbXBs
ZXRpb25fY2FsbGJhY2sgPSBzdHJlYW1fZG9uZTsKKworICAgIGxpYnhsX19zdHJlYW1fd3JpdGVf
c3RhcnQoZWdjLCAmZHNzLT5zd3MpOworICAgIHJldHVybjsKKworIG91dDoKKyAgICBkb21haW5f
c2F2ZV9kb25lKGVnYywgZHNzLCByYyk7Cit9CisKK3N0YXRpYyB2b2lkIHN0cmVhbV9kb25lKGxp
YnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3Jp
dGVfc3RhdGUgKnN3cywgaW50IHJjKQoreworICAgIGRvbWFpbl9zYXZlX2RvbmUoZWdjLCBzd3Mt
PmRzcywgcmMpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2Mg
KmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MsIGludCByYykKK3sKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAg
IC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRz
cy0+ZG9taWQ7CisKKyAgICBsaWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcy0+Z3Vlc3Rf
ZXZ0Y2huKTsKKworICAgIGlmIChkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID4gMCkKKyAgICAgICAg
eGNfc3VzcGVuZF9ldnRjaG5fcmVsZWFzZShDVFgtPnhjaCwgQ1RYLT54Y2UsIGRvbWlkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCwgJmRzcy0+Z3Vl
c3RfZXZ0Y2huX2xvY2tmZCk7CisKKyAgICBpZiAoZHNzLT5yZW11cykgeworICAgICAgICAvKgor
ICAgICAgICAgKiBXaXRoIFJlbXVzLCBpZiB3ZSByZWFjaCB0aGlzIHBvaW50LCBpdCBtZWFucyBl
aXRoZXIKKyAgICAgICAgICogYmFja3VwIGRpZWQgb3Igc29tZSBuZXR3b3JrIGVycm9yIG9jY3Vy
cmVkIHByZXZlbnRpbmcgdXMKKyAgICAgICAgICogZnJvbSBzZW5kaW5nIGNoZWNrcG9pbnRzLiBU
ZWFyZG93biB0aGUgbmV0d29yayBidWZmZXJzIGFuZAorICAgICAgICAgKiByZWxlYXNlIG5ldGxp
bmsgcmVzb3VyY2VzLiAgVGhpcyBpcyBhbiBhc3luYyBvcC4KKyAgICAgICAgICovCisgICAgICAg
IGxpYnhsX19yZW11c190ZWFyZG93bihlZ2MsIGRzcywgcmMpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZHNzLT5jYWxsYmFjayhlZ2MsIGRzcywgcmMpOworfQorCisvKj09PT09PT09
PT09PT09PT09PT09PT09PT0gRG9tYWluIHJlc3RvcmUgPT09PT09PT09PT09PT09PT09PT09PT09
PT09PSovCisKKy8qCisgKiBJbnNwZWN0IHRoZSBidWZmZXIgYmV0d2VlbiBzdGFydCBhbmQgZW5k
LCBhbmQgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUKKyAqIGNoYXJhY3RlciBmb2xsb3dpbmcgdGhl
IE5VTCB0ZXJtaW5hdG9yIG9mIHN0YXJ0LCBvciBOVUxMIGlmIHN0YXJ0IGlzIG5vdAorICogdGVy
bWluYXRlZCBiZWZvcmUgZW5kLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqbmV4dF9zdHJpbmco
Y29uc3QgY2hhciAqc3RhcnQsIGNvbnN0IGNoYXIgKmVuZCkKK3sKKyAgICBpZiAoc3RhcnQgPj0g
ZW5kKSByZXR1cm4gTlVMTDsKKworICAgIHNpemVfdCB0b3RhbF9sZW4gPSBlbmQgLSBzdGFydDsK
KyAgICBzaXplX3QgbGVuID0gc3RybmxlbihzdGFydCwgdG90YWxfbGVuKTsKKworICAgIGlmIChs
ZW4gPT0gdG90YWxfbGVuKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBlbHNlCisgICAgICAg
IHJldHVybiBzdGFydCArIGxlbiArIDE7Cit9CisKK2ludCBsaWJ4bF9fcmVzdG9yZV9lbXVsYXRv
cl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwdHIsIHVpbnQz
Ml90IHNpemUpCit7CisgICAgU1RBVEVfQU9fR0MoZGNzLT5hbyk7CisgICAgY29uc3QgY2hhciAq
bmV4dCA9IHB0ciwgKmVuZCA9IHB0ciArIHNpemUsICprZXksICp2YWw7CisgICAgaW50IHJjOwor
CisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOworICAgIGNvbnN0
IHVpbnQzMl90IGRtX2RvbWlkID0gbGlieGxfZ2V0X3N0dWJkb21faWQoQ1RYLCBkb21pZCk7Cisg
ICAgY29uc3QgY2hhciAqeHNfcm9vdCA9IGxpYnhsX19kZXZpY2VfbW9kZWxfeHNfcGF0aChnYywg
ZG1fZG9taWQsIGRvbWlkLCAiIik7CisKKyAgICB3aGlsZSAobmV4dCA8IGVuZCkgeworICAgICAg
ICBrZXkgPSBuZXh0OworICAgICAgICBuZXh0ID0gbmV4dF9zdHJpbmcobmV4dCwgZW5kKTsKKwor
ICAgICAgICAvKiBTYW5pdGlzZSAna2V5Jy4gKi8KKyAgICAgICAgaWYgKCFuZXh0KSB7CisgICAg
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBMT0coRVJST1IsICJLZXkgaW4g
eGVuc3RvcmUgZGF0YSBub3QgTlVMIHRlcm1pbmF0ZWQiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0
OworICAgICAgICB9CisgICAgICAgIGlmIChrZXlbMF0gPT0gJ1wwJykgeworICAgICAgICAgICAg
cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgTE9HKEVSUk9SLCAiZW1wdHkga2V5IGZvdW5k
IGluIHhlbnN0b3JlIGRhdGEiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9Cisg
ICAgICAgIGlmIChrZXlbMF0gPT0gJy8nKSB7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7
CisgICAgICAgICAgICBMT0coRVJST1IsICJLZXkgaW4geGVuc3RvcmUgZGF0YSBub3QgcmVsYXRp
dmUiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgdmFsID0g
bmV4dDsKKyAgICAgICAgbmV4dCA9IG5leHRfc3RyaW5nKG5leHQsIGVuZCk7CisKKyAgICAgICAg
LyogU2FuaXRpc2UgJ3ZhbCcuICovCisgICAgICAgIGlmICghbmV4dCkgeworICAgICAgICAgICAg
cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgTE9HKEVSUk9SLCAiVmFsIGluIHhlbnN0b3Jl
IGRhdGEgbm90IE5VTCB0ZXJtaW5hdGVkIik7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAg
ICAgfQorCisgICAgICAgIGxpYnhsX194c19wcmludGYoZ2MsIFhCVF9OVUxMLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvJXMiLCB4c19yb290LCBrZXkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICIlcyIsIHZhbCk7CisgICAgfQorCisgICAgcmMgPSAwOworCisg
b3V0OgorICAgIHJldHVybiByYzsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1v
ZGU6IEMKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAq
IEVuZDoKKyAqLwotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0
L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhl
bi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:45 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDd-0007Ua-NI; Sun, 28 Feb 2016 23:57:45 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDc-0007U1-0P
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:44 +0000
Received: from [85.158.139.211] by server-4.bemta-5.messagelabs.com id
 2A/FA-04025-77983D65; Sun, 28 Feb 2016 23:57:43 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703861!25562933!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19108 invoked from network); 28 Feb 2016 23:57:41 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:41 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDY-0000wU-R2
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:40 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDY-0001yT-O3
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:40 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDY-0001yT-O3@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:40 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move save/restore code
	into libxl_dom_save.c
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFlNmFhODYwYjc4MzlhNWFjNjMxYjdlZDFmYmFhNTAwZjQ2OTU2NTkKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHNhdmUvcmVzdG9yZSBjb2RlIGludG8gbGlieGxfZG9tX3NhdmUu
YwogICAgCiAgICBUaGlzIGlzIHB1cmVseSBjb2RlIG1vdGlvbi4KICAgIAogICAgU2lnbmVkLW9m
Zi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+CiAgICBTaWdu
ZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAgQ0M6IElh
biBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgogICAgQWNrZWQtYnk6IElhbiBD
YW1wYmVsbCA8SWFuLkNhbXBiZWxsQGNpdHJpeC5jb20+CiAgICBSZXZpZXdlZC1ieTogS29ucmFk
IFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgogICAgQWNrZWQtYnk6IFdl
aSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvTWFrZWZpbGUgICAg
ICAgICB8ICAgMiArLQogdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgICAgICB8IDUwOSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21f
c2F2ZS5jIHwgNTM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IDMgZmlsZXMgY2hhbmdlZCwgNTM5IGluc2VydGlvbnMoKyksIDUxMCBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS90b29scy9saWJ4bC9NYWtlZmlsZSBiL3Rvb2xzL2xpYnhsL01ha2VmaWxlCmlu
ZGV4IDdkNjRlY2MuLjI2M2VhMGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlCisr
KyBiL3Rvb2xzL2xpYnhsL01ha2VmaWxlCkBAIC0xMDUsNyArMTA1LDcgQEAgTElCWExfT0JKUyA9
IGZsZXhhcnJheS5vIGxpYnhsLm8gbGlieGxfY3JlYXRlLm8gbGlieGxfZG0ubyBsaWJ4bF9wY2ku
byBcCiAJCQlsaWJ4bF9zdHJlYW1fcmVhZC5vIGxpYnhsX3N0cmVhbV93cml0ZS5vIFwKIAkJCWxp
YnhsX3NhdmVfY2FsbG91dC5vIF9saWJ4bF9zYXZlX21zZ3NfY2FsbG91dC5vIFwKIAkJCWxpYnhs
X3FtcC5vIGxpYnhsX2V2ZW50Lm8gbGlieGxfZm9yay5vIFwKLQkJCWxpYnhsX2RvbV9zdXNwZW5k
Lm8gJChMSUJYTF9PQkpTLXkpCisJCQlsaWJ4bF9kb21fc3VzcGVuZC5vIGxpYnhsX2RvbV9zYXZl
Lm8gJChMSUJYTF9PQkpTLXkpCiBMSUJYTF9PQkpTICs9IGxpYnhsX2dlbmlkLm8KIExJQlhMX09C
SlMgKz0gX2xpYnhsX3R5cGVzLm8gbGlieGxfZmxhc2subyBfbGlieGxfdHlwZXNfaW50ZXJuYWwu
bwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbS5jCmluZGV4IGQ3NGYxYTQuLjY2NGFkYWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs
L2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC0yNCw3ICsyNCw2
IEBACiAjaW5jbHVkZSA8eGVuL2h2bS9odm1faW5mb190YWJsZS5oPgogI2luY2x1ZGUgPHhlbi9o
dm0vaHZtX3hzX3N0cmluZ3MuaD4KICNpbmNsdWRlIDx4ZW4vaHZtL2U4MjAuaD4KLSNpbmNsdWRl
IDx4ZW4vZXJybm8uaD4KIAogbGlieGxfZG9tYWluX3R5cGUgbGlieGxfX2RvbWFpbl90eXBlKGxp
YnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKQogewpAQCAtMTEwNyw1MTQgKzExMDYsNiBAQCBp
bnQgbGlieGxfX3FlbXVfdHJhZGl0aW9uYWxfY21kKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRv
bWlkLAogICAgIHJldHVybiBsaWJ4bF9feHNfcHJpbnRmKGdjLCBYQlRfTlVMTCwgcGF0aCwgIiVz
IiwgY21kKTsKIH0KIAotLyoKLSAqIEluc3BlY3QgdGhlIGJ1ZmZlciBiZXR3ZWVuIHN0YXJ0IGFu
ZCBlbmQsIGFuZCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZQotICogY2hhcmFjdGVyIGZvbGxvd2lu
ZyB0aGUgTlVMIHRlcm1pbmF0b3Igb2Ygc3RhcnQsIG9yIE5VTEwgaWYgc3RhcnQgaXMgbm90Ci0g
KiB0ZXJtaW5hdGVkIGJlZm9yZSBlbmQuCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICpuZXh0X3N0
cmluZyhjb25zdCBjaGFyICpzdGFydCwgY29uc3QgY2hhciAqZW5kKQotewotICAgIGlmIChzdGFy
dCA+PSBlbmQpIHJldHVybiBOVUxMOwotCi0gICAgc2l6ZV90IHRvdGFsX2xlbiA9IGVuZCAtIHN0
YXJ0OwotICAgIHNpemVfdCBsZW4gPSBzdHJubGVuKHN0YXJ0LCB0b3RhbF9sZW4pOwotCi0gICAg
aWYgKGxlbiA9PSB0b3RhbF9sZW4pCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVsc2UKLSAg
ICAgICAgcmV0dXJuIHN0YXJ0ICsgbGVuICsgMTsKLX0KLQotaW50IGxpYnhsX19yZXN0b3JlX2Vt
dWxhdG9yX3hlbnN0b3JlX2RhdGEobGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnB0ciwg
dWludDMyX3Qgc2l6ZSkKLXsKLSAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKLSAgICBjb25zdCBj
aGFyICpuZXh0ID0gcHRyLCAqZW5kID0gcHRyICsgc2l6ZSwgKmtleSwgKnZhbDsKLSAgICBpbnQg
cmM7Ci0KLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRjcy0+Z3Vlc3RfZG9taWQ7Ci0gICAg
Y29uc3QgdWludDMyX3QgZG1fZG9taWQgPSBsaWJ4bF9nZXRfc3R1YmRvbV9pZChDVFgsIGRvbWlk
KTsKLSAgICBjb25zdCBjaGFyICp4c19yb290ID0gbGlieGxfX2RldmljZV9tb2RlbF94c19wYXRo
KGdjLCBkbV9kb21pZCwgZG9taWQsICIiKTsKLQotICAgIHdoaWxlIChuZXh0IDwgZW5kKSB7Ci0g
ICAgICAgIGtleSA9IG5leHQ7Ci0gICAgICAgIG5leHQgPSBuZXh0X3N0cmluZyhuZXh0LCBlbmQp
OwotCi0gICAgICAgIC8qIFNhbml0aXNlICdrZXknLiAqLwotICAgICAgICBpZiAoIW5leHQpIHsK
LSAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgIktl
eSBpbiB4ZW5zdG9yZSBkYXRhIG5vdCBOVUwgdGVybWluYXRlZCIpOwotICAgICAgICAgICAgZ290
byBvdXQ7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGtleVswXSA9PSAnXDAnKSB7Ci0gICAgICAg
ICAgICByYyA9IEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICBMT0coRVJST1IsICJlbXB0eSBrZXkg
Zm91bmQgaW4geGVuc3RvcmUgZGF0YSIpOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgKGtleVswXSA9PSAnLycpIHsKLSAgICAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKLSAgICAgICAgICAgIExPRyhFUlJPUiwgIktleSBpbiB4ZW5zdG9yZSBkYXRhIG5vdCBy
ZWxhdGl2ZSIpOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLQotICAgICAgICB2
YWwgPSBuZXh0OwotICAgICAgICBuZXh0ID0gbmV4dF9zdHJpbmcobmV4dCwgZW5kKTsKLQotICAg
ICAgICAvKiBTYW5pdGlzZSAndmFsJy4gKi8KLSAgICAgICAgaWYgKCFuZXh0KSB7Ci0gICAgICAg
ICAgICByYyA9IEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICBMT0coRVJST1IsICJWYWwgaW4geGVu
c3RvcmUgZGF0YSBub3QgTlVMIHRlcm1pbmF0ZWQiKTsKLSAgICAgICAgICAgIGdvdG8gb3V0Owot
ICAgICAgICB9Ci0KLSAgICAgICAgbGlieGxfX3hzX3ByaW50ZihnYywgWEJUX05VTEwsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8lcyIsIHhzX3Jvb3QsIGtleSksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiwgdmFsKTsKLSAgICB9Ci0KLSAgICByYyA9IDA7
Ci0KLSBvdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCi0vKj09PT09PT09PT09PT09PT09PT09IERv
bWFpbiBzdXNwZW5kIChzYXZlKSA9PT09PT09PT09PT09PT09PT09PSovCi0KLXN0YXRpYyB2b2lk
IHN0cmVhbV9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKLXN0YXRpYyB2b2lkIGRvbWFp
bl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywgaW50IHJjKTsKLQotLyotLS0tLSBj
b21wbGljYXRlZCBjYWxsYmFjaywgY2FsbGVkIGJ5IHhjX2RvbWFpbl9zYXZlIC0tLS0tKi8KLQot
LyoKLSAqIFdlIGltcGxlbWVudCB0aGUgb3RoZXIgZW5kIG9mIHByb3RvY29sIGZvciBjb250cm9s
bGluZyBxZW11LWRtJ3MKLSAqIGxvZ2RpcnR5LiAgVGhlcmUgaXMgbm8gZG9jdW1lbnRhdGlvbiBm
b3IgdGhpcyBwcm90b2NvbCwgYnV0IG91cgotICogY291bnRlcnBhcnR5J3MgaW1wbGVtZW50YXRp
b24gaXMgaW4KLSAqIHFlbXUteGVuLXRyYWRpdGlvbmFsLmdpdDp4ZW5zdG9yZS5jIGluIHRoZSBm
dW5jdGlvbgotICogeGVuc3RvcmVfcHJvY2Vzc19sb2dkaXJ0eV9ldmVudAotICovCi0KLXN0YXRp
YyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2
X3RpbWUgKmV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpOwotc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0Y2gobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZlbnRfcGF0aCk7Ci1z
dGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRz
cywgaW50IHJjKTsKLQotc3RhdGljIHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlf
c3dpdGNoICpsZHMpCi17Ci0gICAgbGRzLT5jbWRfcGF0aCA9IDA7Ci0gICAgbGlieGxfX2V2X3hz
d2F0Y2hfaW5pdCgmbGRzLT53YXRjaCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmbGRzLT50
aW1lb3V0KTsKLX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVu
X3RyYWRpdGlvbmFsX2xvZ2RpcnR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlu
dCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKLXsKLSAgICBsaWJ4bF9fZWdjICplZ2Mg
PSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+
Y2FsbGVyX3N0YXRlOwotICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxv
Z2RpcnR5OwotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCByYzsKLSAgICB4c190
cmFuc2FjdGlvbl90IHQgPSAwOwotICAgIGNvbnN0IGNoYXIgKmdvdDsKLQotICAgIGlmICghbGRz
LT5jbWRfcGF0aCkgewotICAgICAgICB1aW50MzJfdCBkbV9kb21pZCA9IGxpYnhsX2dldF9zdHVi
ZG9tX2lkKENUWCwgZG9taWQpOwotICAgICAgICBsZHMtPmNtZF9wYXRoID0gbGlieGxfX2Rldmlj
ZV9tb2RlbF94c19wYXRoKGdjLCBkbV9kb21pZCwgZG9taWQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9sb2dkaXJ0eS9jbWQiKTsKLSAgICAg
ICAgbGRzLT5yZXRfcGF0aCA9IGxpYnhsX19kZXZpY2VfbW9kZWxfeHNfcGF0aChnYywgZG1fZG9t
aWQsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICIvbG9nZGlydHkvcmV0Iik7Ci0gICAgfQotICAgIGxkcy0+Y21kID0gZW5hYmxlID8g
ImVuYWJsZSIgOiAiZGlzYWJsZSI7Ci0KLSAgICByYyA9IGxpYnhsX19ldl94c3dhdGNoX3JlZ2lz
dGVyKGdjLCAmbGRzLT53YXRjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dp
dGNoX2xvZ2RpcnR5X3hzd2F0Y2gsIGxkcy0+cmV0X3BhdGgpOwotICAgIGlmIChyYykgZ290byBv
dXQ7Ci0KLSAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3JlbChhbywgJmxkcy0+dGlt
ZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoX2xvZ2RpcnR5X3Rp
bWVvdXQsIDEwKjEwMDApOwotICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICBmb3IgKDs7KSB7
Ci0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX3N0YXJ0KGdjLCAmdCk7Ci0gICAg
ICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVj
a2VkKGdjLCB0LCBsZHMtPmNtZF9wYXRoLCAmZ290KTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91
dDsKLQotICAgICAgICBpZiAoZ290KSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpnb3RfcmV0
OwotICAgICAgICAgICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCB0LCBsZHMtPnJl
dF9wYXRoLCAmZ290X3JldCk7Ci0gICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAg
ICAgICAgICBpZiAoIWdvdF9yZXQgfHwgc3RyY21wKGdvdCwgZ290X3JldCkpIHsKLSAgICAgICAg
ICAgICAgICBMT0coRVJST1IsImNvbnRyb2xsaW5nIGxvZ2RpcnR5OiBxZW11IHdhcyBhbHJlYWR5
IHNlbnQiCi0gICAgICAgICAgICAgICAgICAgICIgY29tbWFuZCBgJXMnICh4ZW5zdG9yZSBwYXRo
IGAlcycpIGJ1dCByZXN1bHQgaXMgYCVzJyIsCi0gICAgICAgICAgICAgICAgICAgIGdvdCwgbGRz
LT5jbWRfcGF0aCwgZ290X3JldCA/IGdvdF9yZXQgOiAiPG5vbmU+Iik7Ci0gICAgICAgICAgICAg
ICAgcmMgPSBFUlJPUl9GQUlMOwotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmMgPSBsaWJ4bF9feHNfcm1fY2hlY2tlZChnYywgdCwgbGRzLT5j
bWRfcGF0aCk7Ci0gICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotICAgICAgICB9Ci0KLSAg
ICAgICAgcmMgPSBsaWJ4bF9feHNfcm1fY2hlY2tlZChnYywgdCwgbGRzLT5yZXRfcGF0aCk7Ci0g
ICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVf
Y2hlY2tlZChnYywgdCwgbGRzLT5jbWRfcGF0aCwgbGRzLT5jbWQpOwotICAgICAgICBpZiAocmMp
IGdvdG8gb3V0OwotCi0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX2NvbW1pdChn
YywgJnQpOwotICAgICAgICBpZiAoIXJjKSBicmVhazsKLSAgICAgICAgaWYgKHJjPDApIGdvdG8g
b3V0OwotICAgIH0KLQotICAgIC8qIE9LLCB3YWl0IGZvciBzb21lIGNhbGxiYWNrICovCi0gICAg
cmV0dXJuOwotCi0gb3V0OgotICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoIGZhaWxlZCAo
cmM9JWQpLCBhYmFuZG9uaW5nIHN1c3BlbmQiLHJjKTsKLSAgICBsaWJ4bF9feHNfdHJhbnNhY3Rp
b25fYWJvcnQoZ2MsICZ0KTsKLSAgICBzd2l0Y2hfbG9nZGlydHlfZG9uZShlZ2MsZHNzLHJjKTsK
LX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX2xvZ2RpcnR5
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCBkb21pZCwgdW5zaWduZWQgZW5h
YmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJf
c3RhdGUgKnNocykKLXsKLSAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOwotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCByYzsKLQotICAgIHJjID0gbGlieGxfX3FtcF9z
ZXRfZ2xvYmFsX2RpcnR5X2xvZyhnYywgZG9taWQsIGVuYWJsZSk7Ci0gICAgaWYgKCFyYykgewot
ICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUo
ZWdjLCBzaHMsIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIExPRyhFUlJPUiwibG9nZGlydHkg
c3dpdGNoIGZhaWxlZCAocmM9JWQpLCBhYmFuZG9uaW5nIHN1c3BlbmQiLHJjKTsKLSAgICAgICAg
ZHNzLT5yYyA9IHJjOwotICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j
X2NhbGxiYWNrX2RvbmUoZWdjLCBzaHMsIC0xKTsKLSAgICB9Ci19Ci0KLXZvaWQgbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChpbnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwgdm9pZCAqdXNlcikK
LXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IHVzZXI7Ci0gICAgbGlieGxf
X2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKLQotICAg
IHN3aXRjaCAobGlieGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkg
ewotICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9O
QUw6Ci0gICAgICAgIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9s
b2dkaXJ0eShkb21pZCwgZW5hYmxlLCBzaHMpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExJ
QlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgotICAgICAgICBkb21haW5fc3VzcGVu
ZF9zd2l0Y2hfcWVtdV94ZW5fbG9nZGlydHkoZG9taWQsIGVuYWJsZSwgc2hzKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FOgotICAgICAg
ICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCBz
aHMsIDApOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBMT0coRVJST1Is
ImxvZ2RpcnR5IHN3aXRjaCBmYWlsZWQiCi0gICAgICAgICAgICAiLCBubyB2YWxpZCBkZXZpY2Ug
bW9kZWwgdmVyc2lvbiBmb3VuZCwgYWJhbmRvbmluZyBzdXNwZW5kIik7Ci0gICAgICAgIGRzcy0+
cmMgPSBFUlJPUl9GQUlMOwotICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2Fz
eW5jX2NhbGxiYWNrX2RvbmUoZWdjLCBzaHMsIC0xKTsKLSAgICB9Ci19Ci1zdGF0aWMgdm9pZCBz
d2l0Y2hfbG9nZGlydHlfdGltZW91dChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpl
diwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCB0aW1l
dmFsICpyZXF1ZXN0ZWRfYWJzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJjKQotewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKGV2LCAqZHNzLCBsb2dkaXJ0eS50aW1lb3V0KTsKLSAgICBTVEFURV9BT19HQyhkc3Mt
PmFvKTsKLSAgICBMT0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogd2FpdCBmb3IgZGV2aWNlIG1v
ZGVsIHRpbWVkIG91dCIpOwotICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MsRVJST1Jf
RkFJTCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV94c3dhdGNoKGxpYnhsX19l
Z2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2ggKndhdGNoLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpCi17
Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MgPQotICAgICAgICBDT05UQUlO
RVJfT0Yod2F0Y2gsICpkc3MsIGxvZ2RpcnR5LndhdGNoKTsKLSAgICBsaWJ4bF9fbG9nZGlydHlf
c3dpdGNoICpsZHMgPSAmZHNzLT5sb2dkaXJ0eTsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsK
LSAgICBjb25zdCBjaGFyICpnb3Q7Ci0gICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKLSAgICBp
bnQgcmM7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0
aW9uX3N0YXJ0KGdjLCAmdCk7Ci0gICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAg
cmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCB0LCBsZHMtPnJldF9wYXRoLCAmZ290KTsK
LSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICBpZiAoIWdvdCkgewotICAgICAg
ICAgICAgcmMgPSArMTsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0KLSAgICAg
ICAgaWYgKHN0cmNtcChnb3QsIGxkcy0+Y21kKSkgewotICAgICAgICAgICAgTE9HKEVSUk9SLCJs
b2dkaXJ0eSBzd2l0Y2g6IHNlbnQgY29tbWFuZCBgJXMnIGJ1dCBnb3QgcmVwbHkgYCVzJyIKLSAg
ICAgICAgICAgICAgICAiICh4ZW5zdG9yZSBwYXRocyBgJXMnIC8gYCVzJykiLCBsZHMtPmNtZCwg
Z290LAotICAgICAgICAgICAgICAgIGxkcy0+Y21kX3BhdGgsIGxkcy0+cmV0X3BhdGgpOwotICAg
ICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAg
IH0KLQotICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPmNtZF9w
YXRoKTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICByYyA9IGxpYnhsX194
c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPnJldF9wYXRoKTsKLSAgICAgICAgaWYgKHJjKSBnb3Rv
IG91dDsKLQotICAgICAgICByYyA9IGxpYnhsX194c190cmFuc2FjdGlvbl9jb21taXQoZ2MsICZ0
KTsKLSAgICAgICAgaWYgKCFyYykgYnJlYWs7Ci0gICAgICAgIGlmIChyYzwwKSBnb3RvIG91dDsK
LSAgICB9Ci0KLSBvdXQ6Ci0gICAgLyogcmMgPCAwOiBlcnJvcgotICAgICAqIHJjID09IDA6IG9r
LCB3ZSBhcmUgZG9uZQotICAgICAqIHJjID09ICsxOiBuZWVkIHRvIGtlZXAgd2FpdGluZwotICAg
ICAqLwotICAgIGxpYnhsX194c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOwotCi0gICAgaWYg
KHJjIDw9IDApIHsKLSAgICAgICAgaWYgKHJjIDwgMCkKLSAgICAgICAgICAgIExPRyhFUlJPUiwi
bG9nZGlydHkgc3dpdGNoOiBmYWlsZWQgKHJjPSVkKSIscmMpOwotICAgICAgICBzd2l0Y2hfbG9n
ZGlydHlfZG9uZShlZ2MsZHNzLHJjKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIHN3aXRjaF9s
b2dkaXJ0eV9kb25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJjKQotewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwot
ICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OwotCi0gICAg
bGlieGxfX2V2X3hzd2F0Y2hfZGVyZWdpc3RlcihnYywgJmxkcy0+d2F0Y2gpOwotICAgIGxpYnhs
X19ldl90aW1lX2RlcmVnaXN0ZXIoZ2MsICZsZHMtPnRpbWVvdXQpOwotCi0gICAgaW50IGJyb2tl
OwotICAgIGlmIChyYykgewotICAgICAgICBicm9rZSA9IC0xOwotICAgICAgICBkc3MtPnJjID0g
cmM7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYnJva2UgPSAwOwotICAgIH0KLSAgICBsaWJ4bF9f
eGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Mu
c2hzLCBicm9rZSk7Ci19Ci0KLS8qLS0tLS0gY2FsbGJhY2tzLCBjYWxsZWQgYnkgeGNfZG9tYWlu
X3NhdmUgLS0tLS0qLwotCi0vKgotICogRXhwYW5kIHRoZSBidWZmZXIgJ2J1Zicgb2YgbGVuZ3Ro
ICdsZW4nLCB0byBhcHBlbmQgJ3N0cicgaW5jbHVkaW5nIGl0cyBOVUwKLSAqIHRlcm1pbmF0b3Iu
Ci0gKi8KLXN0YXRpYyB2b2lkIGFwcGVuZF9zdHJpbmcobGlieGxfX2djICpnYywgY2hhciAqKmJ1
ZiwgdWludDMyX3QgKmxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq
c3RyKQotewotICAgIHNpemVfdCBleHRyYWxlbiA9IHN0cmxlbihzdHIpICsgMTsKLSAgICBjaGFy
ICpuZXcgPSBsaWJ4bF9fcmVhbGxvYyhnYywgKmJ1ZiwgKmxlbiArIGV4dHJhbGVuKTsKLQotICAg
ICpidWYgPSBuZXc7Ci0gICAgbWVtY3B5KG5ldyArICpsZW4sIHN0ciwgZXh0cmFsZW4pOwotICAg
ICpsZW4gKz0gZXh0cmFsZW47Ci19Ci0KLWludCBsaWJ4bF9fc2F2ZV9lbXVsYXRvcl94ZW5zdG9y
ZV9kYXRhKGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmNhbGxlZV9idWYsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY2FsbGVlX2xlbikKLXsKLSAgICBT
VEFURV9BT19HQyhkc3MtPmFvKTsKLSAgICBjb25zdCBjaGFyICp4c19yb290OwotICAgIGNoYXIg
KiplbnRyaWVzLCAqYnVmID0gTlVMTDsKLSAgICB1bnNpZ25lZCBpbnQgbnJfZW50cmllcywgaSwg
aiwgbGVuID0gMDsKLSAgICBpbnQgcmM7Ci0KLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRz
cy0+ZG9taWQ7Ci0gICAgY29uc3QgdWludDMyX3QgZG1fZG9taWQgPSBsaWJ4bF9nZXRfc3R1YmRv
bV9pZChDVFgsIGRvbWlkKTsKLQotICAgIHhzX3Jvb3QgPSBsaWJ4bF9fZGV2aWNlX21vZGVsX3hz
X3BhdGgoZ2MsIGRtX2RvbWlkLCBkb21pZCwgIiIpOwotCi0gICAgZW50cmllcyA9IGxpYnhsX194
c19kaXJlY3RvcnkoZ2MsIDAsIEdDU1BSSU5URigiJXMvcGh5c21hcCIsIHhzX3Jvb3QpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZucl9lbnRyaWVzKTsKLSAgICBpZiAoIWVu
dHJpZXMgfHwgbnJfZW50cmllcyA9PSAwKSB7IHJjID0gMDsgZ290byBvdXQ7IH0KLQotICAgIGZv
ciAoaSA9IDA7IGkgPCBucl9lbnRyaWVzOyArK2kpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IGNo
YXIgKmNvbnN0IHBoeXNtYXBfc3Via2V5c1tdID0gewotICAgICAgICAgICAgInN0YXJ0X2FkZHIi
LCAic2l6ZSIsICJuYW1lIgotICAgICAgICB9OwotCi0gICAgICAgIGZvciAoaiA9IDA7IGogPCBB
UlJBWV9TSVpFKHBoeXNtYXBfc3Via2V5cyk7ICsraikgewotICAgICAgICAgICAgY29uc3QgY2hh
ciAqa2V5ID0gR0NTUFJJTlRGKCJwaHlzbWFwLyVzLyVzIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbnRyaWVzW2ldLCBwaHlzbWFwX3N1YmtleXNbal0pOwotCi0g
ICAgICAgICAgICBjb25zdCBjaGFyICp2YWwgPQotICAgICAgICAgICAgICAgIGxpYnhsX194c19y
ZWFkKGdjLCBYQlRfTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklO
VEYoIiVzLyVzIiwgeHNfcm9vdCwga2V5KSk7Ci0KLSAgICAgICAgICAgIGlmICghdmFsKSB7IHJj
ID0gRVJST1JfRkFJTDsgZ290byBvdXQ7IH0KLQotICAgICAgICAgICAgYXBwZW5kX3N0cmluZyhn
YywgJmJ1ZiwgJmxlbiwga2V5KTsKLSAgICAgICAgICAgIGFwcGVuZF9zdHJpbmcoZ2MsICZidWYs
ICZsZW4sIHZhbCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByYyA9IDA7Ci0KLSBvdXQ6Ci0g
ICAgaWYgKCFyYykgewotICAgICAgICAqY2FsbGVlX2J1ZiA9IGJ1ZjsKLSAgICAgICAgKmNhbGxl
ZV9sZW4gPSBsZW47Ci0gICAgfQotCi0gICAgcmV0dXJuIHJjOwotfQotCi0vKi0tLS0tIG1haW4g
Y29kZSBmb3Igc2F2aW5nLCBpbiBvcmRlciBvZiBleGVjdXRpb24gLS0tLS0qLwotCi12b2lkIGxp
YnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc3VzcGVuZF9z
dGF0ZSAqZHNzKQotewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGludCBwb3J0Owot
ICAgIGludCByYywgcmV0OwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAgIGNv
bnN0IHVpbnQzMl90IGRvbWlkID0gZHNzLT5kb21pZDsKLSAgICBjb25zdCBsaWJ4bF9kb21haW5f
dHlwZSB0eXBlID0gZHNzLT50eXBlOwotICAgIGNvbnN0IGludCBsaXZlID0gZHNzLT5saXZlOwot
ICAgIGNvbnN0IGludCBkZWJ1ZyA9IGRzcy0+ZGVidWc7Ci0gICAgY29uc3QgbGlieGxfZG9tYWlu
X3JlbXVzX2luZm8gKmNvbnN0IHJfaW5mbyA9IGRzcy0+cmVtdXM7Ci0gICAgbGlieGxfX3NybV9z
YXZlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQotICAgICAgICAmZHNzLT5z
d3Muc2hzLmNhbGxiYWNrcy5zYXZlLmE7Ci0gICAgdW5zaWduZWQgaW50IG5yX3Zub2RlcyA9IDAs
IG5yX3ZtZW1yYW5nZXMgPSAwLCBucl92Y3B1cyA9IDA7Ci0KLSAgICBkc3MtPnJjID0gMDsKLSAg
ICBsb2dkaXJ0eV9pbml0KCZkc3MtPmxvZ2RpcnR5KTsKLSAgICBsaWJ4bF9feHN3YWl0X2luaXQo
JmRzcy0+cHZjb250cm9sKTsKLSAgICBsaWJ4bF9fZXZfZXZ0Y2huX2luaXQoJmRzcy0+Z3Vlc3Rf
ZXZ0Y2huKTsKLSAgICBsaWJ4bF9fZXZfeHN3YXRjaF9pbml0KCZkc3MtPmd1ZXN0X3dhdGNoKTsK
LSAgICBsaWJ4bF9fZXZfdGltZV9pbml0KCZkc3MtPmd1ZXN0X3RpbWVvdXQpOwotCi0gICAgc3dp
dGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9IVk06IHsKLSAgICAgICAg
ZHNzLT5odm0gPSAxOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgY2FzZSBMSUJYTF9ET01B
SU5fVFlQRV9QVjoKLSAgICAgICAgZHNzLT5odm0gPSAwOwotICAgICAgICBicmVhazsKLSAgICBk
ZWZhdWx0OgotICAgICAgICBhYm9ydCgpOwotICAgIH0KLQotICAgIGRzcy0+eGNmbGFncyA9IChs
aXZlID8gWENGTEFHU19MSVZFIDogMCkKLSAgICAgICAgICB8IChkZWJ1ZyA/IFhDRkxBR1NfREVC
VUcgOiAwKQotICAgICAgICAgIHwgKGRzcy0+aHZtID8gWENGTEFHU19IVk0gOiAwKTsKLQotICAg
IC8qIERpc2FsbG93IHNhdmluZyBhIGd1ZXN0IHdpdGggdk5VTUEgY29uZmlndXJlZCBiZWNhdXNl
IG1pZ3JhdGlvbgotICAgICAqIHN0cmVhbSBkb2VzIG5vdCBwcmVzZXJ2ZSBub2RlIGluZm9ybWF0
aW9uLgotICAgICAqCi0gICAgICogUmVqZWN0IGFueSBkb21haW4gd2hpY2ggaGFzIHZudW1hIGVu
YWJsZWQsIGV2ZW4gaWYgdGhlCi0gICAgICogY29uZmlndXJhdGlvbiBpcyBlbXB0eS4gT25seSBk
b21haW5zIHdoaWNoIGhhdmUgbm8gdm51bWEKLSAgICAgKiBjb25maWd1cmF0aW9uIGF0IGFsbCBh
cmUgc3VwcG9ydGVkLgotICAgICAqLwotICAgIHJldCA9IHhjX2RvbWFpbl9nZXR2bnVtYShDVFgt
PnhjaCwgZG9taWQsICZucl92bm9kZXMsICZucl92bWVtcmFuZ2VzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmbnJfdmNwdXMsIE5VTEwsIE5VTEwsIE5VTEwpOwotICAgIGlmIChyZXQg
IT0gLTEgfHwgZXJybm8gIT0gWEVOX0VPUE5PVFNVUFApIHsKLSAgICAgICAgTE9HKEVSUk9SLCAi
Q2Fubm90IHNhdmUgYSBndWVzdCB3aXRoIHZOVU1BIGNvbmZpZ3VyZWQiKTsKLSAgICAgICAgcmMg
PSBFUlJPUl9GQUlMOwotICAgICAgICBnb3RvIG91dDsKLSAgICB9Ci0KLSAgICBkc3MtPmd1ZXN0
X2V2dGNobi5wb3J0ID0gLTE7Ci0gICAgZHNzLT5ndWVzdF9ldnRjaG5fbG9ja2ZkID0gLTE7Ci0g
ICAgZHNzLT5ndWVzdF9yZXNwb25kZWQgPSAwOwotICAgIGRzcy0+ZG1fc2F2ZWZpbGUgPSBsaWJ4
bF9fZGV2aWNlX21vZGVsX3NhdmVmaWxlKGdjLCBkb21pZCk7Ci0KLSAgICBpZiAocl9pbmZvICE9
IE5VTEwpIHsKLSAgICAgICAgZHNzLT5pbnRlcnZhbCA9IHJfaW5mby0+aW50ZXJ2YWw7Ci0gICAg
ICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRFRDsKLSAgICAgICAgaWYgKGxp
YnhsX2RlZmJvb2xfdmFsKHJfaW5mby0+Y29tcHJlc3Npb24pKQotICAgICAgICAgICAgZHNzLT54
Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVTUzsKLSAgICB9Ci0KLSAgICBwb3J0
ID0geHNfc3VzcGVuZF9ldnRjaG5fcG9ydChkc3MtPmRvbWlkKTsKLQotICAgIGlmIChwb3J0ID49
IDApIHsKLSAgICAgICAgcmMgPSBsaWJ4bF9fY3R4X2V2dGNobl9pbml0KGdjKTsKLSAgICAgICAg
aWYgKHJjKSBnb3RvIG91dDsKLQotICAgICAgICBkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID0KLSAg
ICAgICAgICAgIHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRfZXhjbHVzaXZlKENUWC0+eGNoLCBDVFgt
PnhjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmRvbWlkLCBwb3J0
LCAmZHNzLT5ndWVzdF9ldnRjaG5fbG9ja2ZkKTsKLQotICAgICAgICBpZiAoZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCA8IDApIHsKLSAgICAgICAgICAgIExPRyhXQVJOLCAiU3VzcGVuZCBldmVudCBj
aGFubmVsIGluaXRpYWxpemF0aW9uIGZhaWxlZCIpOwotICAgICAgICAgICAgcmMgPSBFUlJPUl9G
QUlMOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAo
cl9pbmZvID09IE5VTEwpCi0gICAgICAgIGNhbGxiYWNrcy0+c3VzcGVuZCA9IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9jYWxsYmFjazsKLQotICAgIGNhbGxiYWNrcy0+c3dpdGNoX3FlbXVfbG9nZGly
dHkgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5Owot
Ci0gICAgZHNzLT5zd3MuYW8gID0gZHNzLT5hbzsKLSAgICBkc3MtPnN3cy5kc3MgPSBkc3M7Ci0g
ICAgZHNzLT5zd3MuZmQgID0gZHNzLT5mZDsKLSAgICBkc3MtPnN3cy5jb21wbGV0aW9uX2NhbGxi
YWNrID0gc3RyZWFtX2RvbmU7Ci0KLSAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXJ0KGVnYywg
JmRzcy0+c3dzKTsKLSAgICByZXR1cm47Ci0KLSBvdXQ6Ci0gICAgZG9tYWluX3NhdmVfZG9uZShl
Z2MsIGRzcywgcmMpOwotfQotCi1zdGF0aWMgdm9pZCBzdHJlYW1fZG9uZShsaWJ4bF9fZWdjICpl
Z2MsCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpz
d3MsIGludCByYykKLXsKLSAgICBkb21haW5fc2F2ZV9kb25lKGVnYywgc3dzLT5kc3MsIHJjKTsK
LX0KLQotc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
LCBpbnQgcmMpCi17Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7Ci0KLSAgICAvKiBDb252ZW5p
ZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOwot
Ci0gICAgbGlieGxfX2V2X2V2dGNobl9jYW5jZWwoZ2MsICZkc3MtPmd1ZXN0X2V2dGNobik7Ci0K
LSAgICBpZiAoZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCA+IDApCi0gICAgICAgIHhjX3N1c3BlbmRf
ZXZ0Y2huX3JlbGVhc2UoQ1RYLT54Y2gsIENUWC0+eGNlLCBkb21pZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQsICZkc3MtPmd1ZXN0X2V2dGNobl9s
b2NrZmQpOwotCi0gICAgaWYgKGRzcy0+cmVtdXMpIHsKLSAgICAgICAgLyoKLSAgICAgICAgICog
V2l0aCBSZW11cywgaWYgd2UgcmVhY2ggdGhpcyBwb2ludCwgaXQgbWVhbnMgZWl0aGVyCi0gICAg
ICAgICAqIGJhY2t1cCBkaWVkIG9yIHNvbWUgbmV0d29yayBlcnJvciBvY2N1cnJlZCBwcmV2ZW50
aW5nIHVzCi0gICAgICAgICAqIGZyb20gc2VuZGluZyBjaGVja3BvaW50cy4gVGVhcmRvd24gdGhl
IG5ldHdvcmsgYnVmZmVycyBhbmQKLSAgICAgICAgICogcmVsZWFzZSBuZXRsaW5rIHJlc291cmNl
cy4gIFRoaXMgaXMgYW4gYXN5bmMgb3AuCi0gICAgICAgICAqLwotICAgICAgICBsaWJ4bF9fcmVt
dXNfdGVhcmRvd24oZWdjLCBkc3MsIHJjKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IGRzcy0+Y2FsbGJhY2soZWdjLCBkc3MsIHJjKTsKLX0KLQogLyo9PT09PT09PT09PT09PT09PT09
PSBNaXNjZWxsYW5lb3VzID09PT09PT09PT09PT09PT09PT09Ki8KIAogY2hhciAqbGlieGxfX3V1
aWQyc3RyaW5nKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX3V1aWQgdXVpZCkKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb21f
c2F2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYTM0MDQKLS0tIC9k
ZXYvbnVsbAorKysgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCkBAIC0wLDAgKzEsNTM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5ICAgICAgQ2l0cml4IEx0ZC4KKyAqIEF1dGhv
ciBWaW5jZW50IEhhbnF1ZXogPHZpbmNlbnQuaGFucXVlekBldS5jaXRyaXguY29tPgorICoKKyAq
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNwZWNpYWwKKyAqIGV4Y2Vw
dGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0UuCisgKgorICogVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAvKiBt
dXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNpbmNsdWRlICJsaWJ4bF9p
bnRlcm5hbC5oIgorCisjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CisKKy8qPT09PT09PT09PT09PT09
PT09PT09PT09PSBEb21haW4gc2F2ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KKwor
c3RhdGljIHZvaWQgc3RyZWFtX2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOworc3RhdGlj
IHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOwor
CisvKi0tLS0tIGNvbXBsaWNhdGVkIGNhbGxiYWNrLCBjYWxsZWQgYnkgeGNfZG9tYWluX3NhdmUg
LS0tLS0qLworCisvKgorICogV2UgaW1wbGVtZW50IHRoZSBvdGhlciBlbmQgb2YgcHJvdG9jb2wg
Zm9yIGNvbnRyb2xsaW5nIHFlbXUtZG0ncworICogbG9nZGlydHkuICBUaGVyZSBpcyBubyBkb2N1
bWVudGF0aW9uIGZvciB0aGlzIHByb3RvY29sLCBidXQgb3VyCisgKiBjb3VudGVycGFydHkncyBp
bXBsZW1lbnRhdGlvbiBpcyBpbgorICogcWVtdS14ZW4tdHJhZGl0aW9uYWwuZ2l0OnhlbnN0b3Jl
LmMgaW4gdGhlIGZ1bmN0aW9uCisgKiB4ZW5zdG9yZV9wcm9jZXNzX2xvZ2RpcnR5X2V2ZW50Cisg
Ki8KKworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGlieGxfX2VnYyAqZWdj
LCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYyk7CitzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlf
eHN3YXRjaChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl94c3dhdGNoKiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp3YXRjaF9wYXRoLCBjb25zdCBjaGFyICpldmVu
dF9wYXRoKTsKK3N0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGxpYnhsX19lZ2MgKmVn
YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworCitzdGF0aWMgdm9pZCBsb2dkaXJ0eV9pbml0KGxpYnhs
X19sb2dkaXJ0eV9zd2l0Y2ggKmxkcykKK3sKKyAgICBsZHMtPmNtZF9wYXRoID0gMDsKKyAgICBs
aWJ4bF9fZXZfeHN3YXRjaF9pbml0KCZsZHMtPndhdGNoKTsKKyAgICBsaWJ4bF9fZXZfdGltZV9p
bml0KCZsZHMtPnRpbWVvdXQpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0
Y2hfcWVtdV94ZW5fdHJhZGl0aW9uYWxfbG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzKQoreworICAgIGxpYnhs
X19lZ2MgKmVnYyA9IHNocy0+ZWdjOworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7CisgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRz
ID0gJmRzcy0+bG9nZGlydHk7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAgaW50IHJj
OworICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9IDA7CisgICAgY29uc3QgY2hhciAqZ290OworCisg
ICAgaWYgKCFsZHMtPmNtZF9wYXRoKSB7CisgICAgICAgIHVpbnQzMl90IGRtX2RvbWlkID0gbGli
eGxfZ2V0X3N0dWJkb21faWQoQ1RYLCBkb21pZCk7CisgICAgICAgIGxkcy0+Y21kX3BhdGggPSBs
aWJ4bF9fZGV2aWNlX21vZGVsX3hzX3BhdGgoZ2MsIGRtX2RvbWlkLCBkb21pZCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xvZ2RpcnR5L2Nt
ZCIpOworICAgICAgICBsZHMtPnJldF9wYXRoID0gbGlieGxfX2RldmljZV9tb2RlbF94c19wYXRo
KGdjLCBkbV9kb21pZCwgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIi9sb2dkaXJ0eS9yZXQiKTsKKyAgICB9CisgICAgbGRzLT5jbWQg
PSBlbmFibGUgPyAiZW5hYmxlIiA6ICJkaXNhYmxlIjsKKworICAgIHJjID0gbGlieGxfX2V2X3hz
d2F0Y2hfcmVnaXN0ZXIoZ2MsICZsZHMtPndhdGNoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2hfbG9nZGlydHlfeHN3YXRjaCwgbGRzLT5yZXRfcGF0aCk7CisgICAgaWYg
KHJjKSBnb3RvIG91dDsKKworICAgIHJjID0gbGlieGxfX2V2X3RpbWVfcmVnaXN0ZXJfcmVsKGFv
LCAmbGRzLT50aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hf
bG9nZGlydHlfdGltZW91dCwgMTAqMTAwMCk7CisgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAg
IGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fc3RhcnQoZ2Ms
ICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAgICByYyA9IGxpYnhsX194
c19yZWFkX2NoZWNrZWQoZ2MsIHQsIGxkcy0+Y21kX3BhdGgsICZnb3QpOworICAgICAgICBpZiAo
cmMpIGdvdG8gb3V0OworCisgICAgICAgIGlmIChnb3QpIHsKKyAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmdvdF9yZXQ7CisgICAgICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2Ms
IHQsIGxkcy0+cmV0X3BhdGgsICZnb3RfcmV0KTsKKyAgICAgICAgICAgIGlmIChyYykgZ290byBv
dXQ7CisKKyAgICAgICAgICAgIGlmICghZ290X3JldCB8fCBzdHJjbXAoZ290LCBnb3RfcmV0KSkg
eworICAgICAgICAgICAgICAgIExPRyhFUlJPUiwiY29udHJvbGxpbmcgbG9nZGlydHk6IHFlbXUg
d2FzIGFscmVhZHkgc2VudCIKKyAgICAgICAgICAgICAgICAgICAgIiBjb21tYW5kIGAlcycgKHhl
bnN0b3JlIHBhdGggYCVzJykgYnV0IHJlc3VsdCBpcyBgJXMnIiwKKyAgICAgICAgICAgICAgICAg
ICAgZ290LCBsZHMtPmNtZF9wYXRoLCBnb3RfcmV0ID8gZ290X3JldCA6ICI8bm9uZT4iKTsKKyAg
ICAgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICAgICAgZ290byBvdXQ7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdj
LCB0LCBsZHMtPmNtZF9wYXRoKTsKKyAgICAgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAg
ICAgIH0KKworICAgICAgICByYyA9IGxpYnhsX194c19ybV9jaGVja2VkKGdjLCB0LCBsZHMtPnJl
dF9wYXRoKTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgICAgICByYyA9IGxpYnhs
X194c193cml0ZV9jaGVja2VkKGdjLCB0LCBsZHMtPmNtZF9wYXRoLCBsZHMtPmNtZCk7CisgICAg
ICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfdHJhbnNhY3Rp
b25fY29tbWl0KGdjLCAmdCk7CisgICAgICAgIGlmICghcmMpIGJyZWFrOworICAgICAgICBpZiAo
cmM8MCkgZ290byBvdXQ7CisgICAgfQorCisgICAgLyogT0ssIHdhaXQgZm9yIHNvbWUgY2FsbGJh
Y2sgKi8KKyAgICByZXR1cm47CisKKyBvdXQ6CisgICAgTE9HKEVSUk9SLCJsb2dkaXJ0eSBzd2l0
Y2ggZmFpbGVkIChyYz0lZCksIGFiYW5kb25pbmcgc3VzcGVuZCIscmMpOworICAgIGxpYnhsX194
c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOworICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVn
Yyxkc3MscmMpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV94
ZW5fbG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50IGRvbWlkLCB1
bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19z
YXZlX2hlbHBlcl9zdGF0ZSAqc2hzKQoreworICAgIGxpYnhsX19lZ2MgKmVnYyA9IHNocy0+ZWdj
OworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3Rh
dGU7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAgaW50IHJjOworCisgICAgcmMgPSBs
aWJ4bF9fcW1wX3NldF9nbG9iYWxfZGlydHlfbG9nKGdjLCBkb21pZCwgZW5hYmxlKTsKKyAgICBp
ZiAoIXJjKSB7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2Fs
bGJhY2tfZG9uZShlZ2MsIHNocywgMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgTE9HKEVSUk9S
LCJsb2dkaXJ0eSBzd2l0Y2ggZmFpbGVkIChyYz0lZCksIGFiYW5kb25pbmcgc3VzcGVuZCIscmMp
OworICAgICAgICBkc3MtPnJjID0gcmM7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJl
c3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsIHNocywgLTEpOworICAgIH0KK30KKwordm9p
ZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLCB2
b2lkICp1c2VyKQoreworICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gdXNlcjsK
KyAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIFNUQVRFX0FPX0dDKGRzcy0+
YW8pOworCisgICAgc3dpdGNoIChsaWJ4bF9fZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyhn
YywgZG9taWQpKSB7CisgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hF
Tl9UUkFESVRJT05BTDoKKyAgICAgICAgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX3Ry
YWRpdGlvbmFsX2xvZ2RpcnR5KGRvbWlkLCBlbmFibGUsIHNocyk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU46CisgICAgICAgIGRv
bWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9sb2dkaXJ0eShkb21pZCwgZW5hYmxlLCBzaHMp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX05P
TkU6CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tf
ZG9uZShlZ2MsIHNocywgMCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoIGZhaWxlZCIKKyAgICAgICAgICAgICIsIG5vIHZh
bGlkIGRldmljZSBtb2RlbCB2ZXJzaW9uIGZvdW5kLCBhYmFuZG9uaW5nIHN1c3BlbmQiKTsKKyAg
ICAgICAgZHNzLT5yYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2
ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsIHNocywgLTEpOworICAgIH0KK30KK3N0
YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxf
X2V2X3RpbWUgKmV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3MgPSBDT05UQUlORVJfT0YoZXYsICpkc3MsIGxvZ2RpcnR5LnRpbWVvdXQpOworICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOworICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoOiB3YWl0IGZv
ciBkZXZpY2UgbW9kZWwgdGltZWQgb3V0Iik7CisgICAgc3dpdGNoX2xvZ2RpcnR5X2RvbmUoZWdj
LGRzcyxFUlJPUl9GQUlMKTsKK30KKworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0
Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCAqd2F0Y2gsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZl
bnRfcGF0aCkKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9CisgICAg
ICAgIENPTlRBSU5FUl9PRih3YXRjaCwgKmRzcywgbG9nZGlydHkud2F0Y2gpOworICAgIGxpYnhs
X19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OworICAgIFNUQVRFX0FPX0dD
KGRzcy0+YW8pOworICAgIGNvbnN0IGNoYXIgKmdvdDsKKyAgICB4c190cmFuc2FjdGlvbl90IHQg
PSAwOworICAgIGludCByYzsKKworICAgIGZvciAoOzspIHsKKyAgICAgICAgcmMgPSBsaWJ4bF9f
eHNfdHJhbnNhY3Rpb25fc3RhcnQoZ2MsICZ0KTsKKyAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsK
KworICAgICAgICByYyA9IGxpYnhsX194c19yZWFkX2NoZWNrZWQoZ2MsIHQsIGxkcy0+cmV0X3Bh
dGgsICZnb3QpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGlmICghZ290
KSB7CisgICAgICAgICAgICByYyA9ICsxOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoc3RyY21wKGdvdCwgbGRzLT5jbWQpKSB7CisgICAgICAgICAgICBM
T0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogc2VudCBjb21tYW5kIGAlcycgYnV0IGdvdCByZXBs
eSBgJXMnIgorICAgICAgICAgICAgICAgICIgKHhlbnN0b3JlIHBhdGhzIGAlcycgLyBgJXMnKSIs
IGxkcy0+Y21kLCBnb3QsCisgICAgICAgICAgICAgICAgbGRzLT5jbWRfcGF0aCwgbGRzLT5yZXRf
cGF0aCk7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91
dDsKKyAgICAgICAgfQorCisgICAgICAgIHJjID0gbGlieGxfX3hzX3JtX2NoZWNrZWQoZ2MsIHQs
IGxkcy0+Y21kX3BhdGgpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIHJj
ID0gbGlieGxfX3hzX3JtX2NoZWNrZWQoZ2MsIHQsIGxkcy0+cmV0X3BhdGgpOworICAgICAgICBp
ZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIHJjID0gbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Nv
bW1pdChnYywgJnQpOworICAgICAgICBpZiAoIXJjKSBicmVhazsKKyAgICAgICAgaWYgKHJjPDAp
IGdvdG8gb3V0OworICAgIH0KKworIG91dDoKKyAgICAvKiByYyA8IDA6IGVycm9yCisgICAgICog
cmMgPT0gMDogb2ssIHdlIGFyZSBkb25lCisgICAgICogcmMgPT0gKzE6IG5lZWQgdG8ga2VlcCB3
YWl0aW5nCisgICAgICovCisgICAgbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Fib3J0KGdjLCAmdCk7
CisKKyAgICBpZiAocmMgPD0gMCkgeworICAgICAgICBpZiAocmMgPCAwKQorICAgICAgICAgICAg
TE9HKEVSUk9SLCJsb2dkaXJ0eSBzd2l0Y2g6IGZhaWxlZCAocmM9JWQpIixyYyk7CisgICAgICAg
IHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MscmMpOworICAgIH0KK30KKworc3RhdGljIHZv
aWQgc3dpdGNoX2xvZ2RpcnR5X2RvbmUobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgU1RBVEVfQU9fR0Mo
ZHNzLT5hbyk7CisgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzID0gJmRzcy0+bG9nZGly
dHk7CisKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVyKGdjLCAmbGRzLT53YXRjaCk7
CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3RlcihnYywgJmxkcy0+dGltZW91dCk7CisKKyAg
ICBpbnQgYnJva2U7CisgICAgaWYgKHJjKSB7CisgICAgICAgIGJyb2tlID0gLTE7CisgICAgICAg
IGRzcy0+cmMgPSByYzsKKyAgICB9IGVsc2UgeworICAgICAgICBicm9rZSA9IDA7CisgICAgfQor
ICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2Ms
ICZkc3MtPnN3cy5zaHMsIGJyb2tlKTsKK30KKworLyotLS0tLSBjYWxsYmFja3MsIGNhbGxlZCBi
eSB4Y19kb21haW5fc2F2ZSAtLS0tLSovCisKKy8qCisgKiBFeHBhbmQgdGhlIGJ1ZmZlciAnYnVm
JyBvZiBsZW5ndGggJ2xlbicsIHRvIGFwcGVuZCAnc3RyJyBpbmNsdWRpbmcgaXRzIE5VTAorICog
dGVybWluYXRvci4KKyAqLworc3RhdGljIHZvaWQgYXBwZW5kX3N0cmluZyhsaWJ4bF9fZ2MgKmdj
LCBjaGFyICoqYnVmLCB1aW50MzJfdCAqbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBjaGFyICpzdHIpCit7CisgICAgc2l6ZV90IGV4dHJhbGVuID0gc3RybGVuKHN0cikgKyAx
OworICAgIGNoYXIgKm5ldyA9IGxpYnhsX19yZWFsbG9jKGdjLCAqYnVmLCAqbGVuICsgZXh0cmFs
ZW4pOworCisgICAgKmJ1ZiA9IG5ldzsKKyAgICBtZW1jcHkobmV3ICsgKmxlbiwgc3RyLCBleHRy
YWxlbik7CisgICAgKmxlbiArPSBleHRyYWxlbjsKK30KKworaW50IGxpYnhsX19zYXZlX2VtdWxh
dG9yX3hlbnN0b3JlX2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqY2FsbGVlX2J1ZiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpjYWxsZWVfbGVu
KQoreworICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIGNvbnN0IGNoYXIgKnhzX3Jvb3Q7
CisgICAgY2hhciAqKmVudHJpZXMsICpidWYgPSBOVUxMOworICAgIHVuc2lnbmVkIGludCBucl9l
bnRyaWVzLCBpLCBqLCBsZW4gPSAwOworICAgIGludCByYzsKKworICAgIGNvbnN0IHVpbnQzMl90
IGRvbWlkID0gZHNzLT5kb21pZDsKKyAgICBjb25zdCB1aW50MzJfdCBkbV9kb21pZCA9IGxpYnhs
X2dldF9zdHViZG9tX2lkKENUWCwgZG9taWQpOworCisgICAgeHNfcm9vdCA9IGxpYnhsX19kZXZp
Y2VfbW9kZWxfeHNfcGF0aChnYywgZG1fZG9taWQsIGRvbWlkLCAiIik7CisKKyAgICBlbnRyaWVz
ID0gbGlieGxfX3hzX2RpcmVjdG9yeShnYywgMCwgR0NTUFJJTlRGKCIlcy9waHlzbWFwIiwgeHNf
cm9vdCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5yX2VudHJpZXMpOwor
ICAgIGlmICghZW50cmllcyB8fCBucl9lbnRyaWVzID09IDApIHsgcmMgPSAwOyBnb3RvIG91dDsg
fQorCisgICAgZm9yIChpID0gMDsgaSA8IG5yX2VudHJpZXM7ICsraSkgeworICAgICAgICBzdGF0
aWMgY29uc3QgY2hhciAqY29uc3QgcGh5c21hcF9zdWJrZXlzW10gPSB7CisgICAgICAgICAgICAi
c3RhcnRfYWRkciIsICJzaXplIiwgIm5hbWUiCisgICAgICAgIH07CisKKyAgICAgICAgZm9yIChq
ID0gMDsgaiA8IEFSUkFZX1NJWkUocGh5c21hcF9zdWJrZXlzKTsgKytqKSB7CisgICAgICAgICAg
ICBjb25zdCBjaGFyICprZXkgPSBHQ1NQUklOVEYoInBoeXNtYXAvJXMvJXMiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJpZXNbaV0sIHBoeXNtYXBfc3Via2V5
c1tqXSk7CisKKyAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZhbCA9CisgICAgICAgICAgICAgICAg
bGlieGxfX3hzX3JlYWQoZ2MsIFhCVF9OVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdDU1BSSU5URigiJXMvJXMiLCB4c19yb290LCBrZXkpKTsKKworICAgICAgICAgICAgaWYg
KCF2YWwpIHsgcmMgPSBFUlJPUl9GQUlMOyBnb3RvIG91dDsgfQorCisgICAgICAgICAgICBhcHBl
bmRfc3RyaW5nKGdjLCAmYnVmLCAmbGVuLCBrZXkpOworICAgICAgICAgICAgYXBwZW5kX3N0cmlu
ZyhnYywgJmJ1ZiwgJmxlbiwgdmFsKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJjID0gMDsK
KworIG91dDoKKyAgICBpZiAoIXJjKSB7CisgICAgICAgICpjYWxsZWVfYnVmID0gYnVmOworICAg
ICAgICAqY2FsbGVlX2xlbiA9IGxlbjsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKKy8q
LS0tLS0gbWFpbiBjb2RlIGZvciBzYXZpbmcsIGluIG9yZGVyIG9mIGV4ZWN1dGlvbiAtLS0tLSov
CisKK3ZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MpCit7CisgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CisgICAg
aW50IHBvcnQ7CisgICAgaW50IHJjLCByZXQ7CisKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2Vz
ICovCisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOworICAgIGNvbnN0IGxp
YnhsX2RvbWFpbl90eXBlIHR5cGUgPSBkc3MtPnR5cGU7CisgICAgY29uc3QgaW50IGxpdmUgPSBk
c3MtPmxpdmU7CisgICAgY29uc3QgaW50IGRlYnVnID0gZHNzLT5kZWJ1ZzsKKyAgICBjb25zdCBs
aWJ4bF9kb21haW5fcmVtdXNfaW5mbyAqY29uc3Qgcl9pbmZvID0gZHNzLT5yZW11czsKKyAgICBs
aWJ4bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxsYmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CisgICAg
ICAgICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tzLnNhdmUuYTsKKyAgICB1bnNpZ25lZCBpbnQgbnJf
dm5vZGVzID0gMCwgbnJfdm1lbXJhbmdlcyA9IDAsIG5yX3ZjcHVzID0gMDsKKworICAgIGRzcy0+
cmMgPSAwOworICAgIGxvZ2RpcnR5X2luaXQoJmRzcy0+bG9nZGlydHkpOworICAgIGxpYnhsX194
c3dhaXRfaW5pdCgmZHNzLT5wdmNvbnRyb2wpOworICAgIGxpYnhsX19ldl9ldnRjaG5faW5pdCgm
ZHNzLT5ndWVzdF9ldnRjaG4pOworICAgIGxpYnhsX19ldl94c3dhdGNoX2luaXQoJmRzcy0+Z3Vl
c3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1lX2luaXQoJmRzcy0+Z3Vlc3RfdGltZW91dCk7
CisKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hWTTog
eworICAgICAgICBkc3MtPmh2bSA9IDE7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNl
IExJQlhMX0RPTUFJTl9UWVBFX1BWOgorICAgICAgICBkc3MtPmh2bSA9IDA7CisgICAgICAgIGJy
ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGFib3J0KCk7CisgICAgfQorCisgICAgZHNzLT54
Y2ZsYWdzID0gKGxpdmUgPyBYQ0ZMQUdTX0xJVkUgOiAwKQorICAgICAgICAgIHwgKGRlYnVnID8g
WENGTEFHU19ERUJVRyA6IDApCisgICAgICAgICAgfCAoZHNzLT5odm0gPyBYQ0ZMQUdTX0hWTSA6
IDApOworCisgICAgLyogRGlzYWxsb3cgc2F2aW5nIGEgZ3Vlc3Qgd2l0aCB2TlVNQSBjb25maWd1
cmVkIGJlY2F1c2UgbWlncmF0aW9uCisgICAgICogc3RyZWFtIGRvZXMgbm90IHByZXNlcnZlIG5v
ZGUgaW5mb3JtYXRpb24uCisgICAgICoKKyAgICAgKiBSZWplY3QgYW55IGRvbWFpbiB3aGljaCBo
YXMgdm51bWEgZW5hYmxlZCwgZXZlbiBpZiB0aGUKKyAgICAgKiBjb25maWd1cmF0aW9uIGlzIGVt
cHR5LiBPbmx5IGRvbWFpbnMgd2hpY2ggaGF2ZSBubyB2bnVtYQorICAgICAqIGNvbmZpZ3VyYXRp
b24gYXQgYWxsIGFyZSBzdXBwb3J0ZWQuCisgICAgICovCisgICAgcmV0ID0geGNfZG9tYWluX2dl
dHZudW1hKENUWC0+eGNoLCBkb21pZCwgJm5yX3Zub2RlcywgJm5yX3ZtZW1yYW5nZXMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZucl92Y3B1cywgTlVMTCwgTlVMTCwgTlVMTCk7Cisg
ICAgaWYgKHJldCAhPSAtMSB8fCBlcnJubyAhPSBYRU5fRU9QTk9UU1VQUCkgeworICAgICAgICBM
T0coRVJST1IsICJDYW5ub3Qgc2F2ZSBhIGd1ZXN0IHdpdGggdk5VTUEgY29uZmlndXJlZCIpOwor
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAg
IGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQgPSAtMTsKKyAgICBkc3MtPmd1ZXN0X2V2dGNobl9sb2Nr
ZmQgPSAtMTsKKyAgICBkc3MtPmd1ZXN0X3Jlc3BvbmRlZCA9IDA7CisgICAgZHNzLT5kbV9zYXZl
ZmlsZSA9IGxpYnhsX19kZXZpY2VfbW9kZWxfc2F2ZWZpbGUoZ2MsIGRvbWlkKTsKKworICAgIGlm
IChyX2luZm8gIT0gTlVMTCkgeworICAgICAgICBkc3MtPmludGVydmFsID0gcl9pbmZvLT5pbnRl
cnZhbDsKKyAgICAgICAgZHNzLT54Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVEVEOworICAg
ICAgICBpZiAobGlieGxfZGVmYm9vbF92YWwocl9pbmZvLT5jb21wcmVzc2lvbikpCisgICAgICAg
ICAgICBkc3MtPnhjZmxhZ3MgfD0gWENGTEFHU19DSEVDS1BPSU5UX0NPTVBSRVNTOworICAgIH0K
KworICAgIHBvcnQgPSB4c19zdXNwZW5kX2V2dGNobl9wb3J0KGRzcy0+ZG9taWQpOworCisgICAg
aWYgKHBvcnQgPj0gMCkgeworICAgICAgICByYyA9IGxpYnhsX19jdHhfZXZ0Y2huX2luaXQoZ2Mp
OworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2hu
LnBvcnQgPQorICAgICAgICAgICAgeGNfc3VzcGVuZF9ldnRjaG5faW5pdF9leGNsdXNpdmUoQ1RY
LT54Y2gsIENUWC0+eGNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzcy0+
ZG9taWQsIHBvcnQsICZkc3MtPmd1ZXN0X2V2dGNobl9sb2NrZmQpOworCisgICAgICAgIGlmIChk
c3MtPmd1ZXN0X2V2dGNobi5wb3J0IDwgMCkgeworICAgICAgICAgICAgTE9HKFdBUk4sICJTdXNw
ZW5kIGV2ZW50IGNoYW5uZWwgaW5pdGlhbGl6YXRpb24gZmFpbGVkIik7CisgICAgICAgICAgICBy
YyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChyX2luZm8gPT0gTlVMTCkKKyAgICAgICAgY2FsbGJhY2tzLT5zdXNwZW5kID0g
bGlieGxfX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrOworCisgICAgY2FsbGJhY2tzLT5zd2l0Y2hf
cWVtdV9sb2dkaXJ0eSA9IGxpYnhsX19kb21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVf
bG9nZGlydHk7CisKKyAgICBkc3MtPnN3cy5hbyAgPSBkc3MtPmFvOworICAgIGRzcy0+c3dzLmRz
cyA9IGRzczsKKyAgICBkc3MtPnN3cy5mZCAgPSBkc3MtPmZkOworICAgIGRzcy0+c3dzLmNvbXBs
ZXRpb25fY2FsbGJhY2sgPSBzdHJlYW1fZG9uZTsKKworICAgIGxpYnhsX19zdHJlYW1fd3JpdGVf
c3RhcnQoZWdjLCAmZHNzLT5zd3MpOworICAgIHJldHVybjsKKworIG91dDoKKyAgICBkb21haW5f
c2F2ZV9kb25lKGVnYywgZHNzLCByYyk7Cit9CisKK3N0YXRpYyB2b2lkIHN0cmVhbV9kb25lKGxp
YnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3Jp
dGVfc3RhdGUgKnN3cywgaW50IHJjKQoreworICAgIGRvbWFpbl9zYXZlX2RvbmUoZWdjLCBzd3Mt
PmRzcywgcmMpOworfQorCitzdGF0aWMgdm9pZCBkb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2Mg
KmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MsIGludCByYykKK3sKKyAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAg
IC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRz
cy0+ZG9taWQ7CisKKyAgICBsaWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcy0+Z3Vlc3Rf
ZXZ0Y2huKTsKKworICAgIGlmIChkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID4gMCkKKyAgICAgICAg
eGNfc3VzcGVuZF9ldnRjaG5fcmVsZWFzZShDVFgtPnhjaCwgQ1RYLT54Y2UsIGRvbWlkLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCwgJmRzcy0+Z3Vl
c3RfZXZ0Y2huX2xvY2tmZCk7CisKKyAgICBpZiAoZHNzLT5yZW11cykgeworICAgICAgICAvKgor
ICAgICAgICAgKiBXaXRoIFJlbXVzLCBpZiB3ZSByZWFjaCB0aGlzIHBvaW50LCBpdCBtZWFucyBl
aXRoZXIKKyAgICAgICAgICogYmFja3VwIGRpZWQgb3Igc29tZSBuZXR3b3JrIGVycm9yIG9jY3Vy
cmVkIHByZXZlbnRpbmcgdXMKKyAgICAgICAgICogZnJvbSBzZW5kaW5nIGNoZWNrcG9pbnRzLiBU
ZWFyZG93biB0aGUgbmV0d29yayBidWZmZXJzIGFuZAorICAgICAgICAgKiByZWxlYXNlIG5ldGxp
bmsgcmVzb3VyY2VzLiAgVGhpcyBpcyBhbiBhc3luYyBvcC4KKyAgICAgICAgICovCisgICAgICAg
IGxpYnhsX19yZW11c190ZWFyZG93bihlZ2MsIGRzcywgcmMpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgZHNzLT5jYWxsYmFjayhlZ2MsIGRzcywgcmMpOworfQorCisvKj09PT09PT09
PT09PT09PT09PT09PT09PT0gRG9tYWluIHJlc3RvcmUgPT09PT09PT09PT09PT09PT09PT09PT09
PT09PSovCisKKy8qCisgKiBJbnNwZWN0IHRoZSBidWZmZXIgYmV0d2VlbiBzdGFydCBhbmQgZW5k
LCBhbmQgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUKKyAqIGNoYXJhY3RlciBmb2xsb3dpbmcgdGhl
IE5VTCB0ZXJtaW5hdG9yIG9mIHN0YXJ0LCBvciBOVUxMIGlmIHN0YXJ0IGlzIG5vdAorICogdGVy
bWluYXRlZCBiZWZvcmUgZW5kLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqbmV4dF9zdHJpbmco
Y29uc3QgY2hhciAqc3RhcnQsIGNvbnN0IGNoYXIgKmVuZCkKK3sKKyAgICBpZiAoc3RhcnQgPj0g
ZW5kKSByZXR1cm4gTlVMTDsKKworICAgIHNpemVfdCB0b3RhbF9sZW4gPSBlbmQgLSBzdGFydDsK
KyAgICBzaXplX3QgbGVuID0gc3RybmxlbihzdGFydCwgdG90YWxfbGVuKTsKKworICAgIGlmIChs
ZW4gPT0gdG90YWxfbGVuKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBlbHNlCisgICAgICAg
IHJldHVybiBzdGFydCArIGxlbiArIDE7Cit9CisKK2ludCBsaWJ4bF9fcmVzdG9yZV9lbXVsYXRv
cl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwdHIsIHVpbnQz
Ml90IHNpemUpCit7CisgICAgU1RBVEVfQU9fR0MoZGNzLT5hbyk7CisgICAgY29uc3QgY2hhciAq
bmV4dCA9IHB0ciwgKmVuZCA9IHB0ciArIHNpemUsICprZXksICp2YWw7CisgICAgaW50IHJjOwor
CisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOworICAgIGNvbnN0
IHVpbnQzMl90IGRtX2RvbWlkID0gbGlieGxfZ2V0X3N0dWJkb21faWQoQ1RYLCBkb21pZCk7Cisg
ICAgY29uc3QgY2hhciAqeHNfcm9vdCA9IGxpYnhsX19kZXZpY2VfbW9kZWxfeHNfcGF0aChnYywg
ZG1fZG9taWQsIGRvbWlkLCAiIik7CisKKyAgICB3aGlsZSAobmV4dCA8IGVuZCkgeworICAgICAg
ICBrZXkgPSBuZXh0OworICAgICAgICBuZXh0ID0gbmV4dF9zdHJpbmcobmV4dCwgZW5kKTsKKwor
ICAgICAgICAvKiBTYW5pdGlzZSAna2V5Jy4gKi8KKyAgICAgICAgaWYgKCFuZXh0KSB7CisgICAg
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgICAgICBMT0coRVJST1IsICJLZXkgaW4g
eGVuc3RvcmUgZGF0YSBub3QgTlVMIHRlcm1pbmF0ZWQiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0
OworICAgICAgICB9CisgICAgICAgIGlmIChrZXlbMF0gPT0gJ1wwJykgeworICAgICAgICAgICAg
cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgTE9HKEVSUk9SLCAiZW1wdHkga2V5IGZvdW5k
IGluIHhlbnN0b3JlIGRhdGEiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9Cisg
ICAgICAgIGlmIChrZXlbMF0gPT0gJy8nKSB7CisgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7
CisgICAgICAgICAgICBMT0coRVJST1IsICJLZXkgaW4geGVuc3RvcmUgZGF0YSBub3QgcmVsYXRp
dmUiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgdmFsID0g
bmV4dDsKKyAgICAgICAgbmV4dCA9IG5leHRfc3RyaW5nKG5leHQsIGVuZCk7CisKKyAgICAgICAg
LyogU2FuaXRpc2UgJ3ZhbCcuICovCisgICAgICAgIGlmICghbmV4dCkgeworICAgICAgICAgICAg
cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgTE9HKEVSUk9SLCAiVmFsIGluIHhlbnN0b3Jl
IGRhdGEgbm90IE5VTCB0ZXJtaW5hdGVkIik7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAg
ICAgfQorCisgICAgICAgIGxpYnhsX194c19wcmludGYoZ2MsIFhCVF9OVUxMLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJXMvJXMiLCB4c19yb290LCBrZXkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICIlcyIsIHZhbCk7CisgICAgfQorCisgICAgcmMgPSAwOworCisg
b3V0OgorICAgIHJldHVybiByYzsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1v
ZGU6IEMKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAq
IEVuZDoKKyAqLwotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90IGZvciAvaG9tZS94ZW4vZ2l0
L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4tY2hhbmdlbG9nQGxpc3RzLnhl
bi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNoYW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDo-0007Wk-TU; Sun, 28 Feb 2016 23:57:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDm-0007WH-RH
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:55 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 45/A2-03814-28983D65; Sun, 28 Feb 2016 23:57:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1456703871!25572205!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57395 invoked from network); 28 Feb 2016 23:57:52 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-10.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDj-0000xN-5g
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDj-0001zK-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDj-0001zK-3I@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:51 +0000
Subject: [Xen-changelog] [xen master] libxl/save: Refactor
	libxl__domain_suspend_state
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQ1YzY5M2Q5YmIzZjc3MzQyYjY0MGQ2NzQ0ODU4YmY2ODA5NDczY2MKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNiAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IGxpYnhsL3NhdmU6IFJlZmFjdG9yIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZQogICAgCiAg
ICBDdXJyZW50bHkgc3RydWN0IGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSBjb250YWlucyAy
IHR5cGUgb2Ygc3RhdGVzLAogICAgb25lIGlzIHNhdmUgc3RhdGUsIGFub3RoZXIgaXMgc3VzcGVu
ZCBzdGF0ZS4gVGhpcyBwYXRjaCBzZXBhcmF0ZXMgdGhvc2UKICAgIHR3byBvdXQuCiAgICBUaGUg
bW90aXZhdGlvbiBvZiB0aGlzIGlzIHRoYXQgQ09MTyB3aWxsIG5lZWQgdG8gZG8gc3VzcGVuZC9y
ZXN1bWUKICAgIGNvbnRpbnVvdXNseSwgd2UgbmVlZCBhIG1vcmUgY29tbW9uIHN1c3BlbmQgc3Rh
dGUuCiAgICAKICAgIEFmdGVyIHRoaXMgY2hhbmdlLCBkc3Mgc3RhbmRzIGZvciBsaWJ4bF9fZG9t
YWluX3NhdmVfc3RhdGUsCiAgICBkc3BzIHN0YW5kcyBmb3IgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlLgogICAgCiAgICBBbHNvIGludHJvZHVjZSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfaW5p
dCB0byBpbml0aWFsaXNlIHRoZQogICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlLgogICAg
CiAgICBTaWduZWQtb2ZmLWJ5OiBZYW5nIEhvbmd5YW5nIDxob25neWFuZy55YW5nQGVhc3lzdGFj
ay5jbj4KICAgIFNpZ25lZC1vZmYtYnk6IFdlbiBDb25neWFuZyA8d2VuY3lAY24uZnVqaXRzdS5j
b20+CiAgICBDQzogSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAY2l0cml4LmNvbT4KICAgIEND
OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KICAgIENDOiBXZWkgTGl1
IDx3ZWkubGl1MkBjaXRyaXguY29tPgogICAgQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTpJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBj
aXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFk
LndpbGtAb3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu
Y29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgICAgIHwgIDEwICstCiB0b29s
cy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgICAgICB8ICAxMCArLQogdG9vbHMvbGlieGwvbGlieGxf
ZG9tX3NhdmUuYyAgICAgfCAgNjEgKysrKy0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21f
c3VzcGVuZC5jICB8IDIwNyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K
IHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgIHwgIDYxICsrKysrKystLS0tLQogdG9v
bHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhs
X3JlbXVzLmMgICAgICAgIHwgIDM3ICsrKy0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2Fs
bG91dC5jIHwgICAyICstCiB0b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyB8ICAxNiAr
LS0KIDkgZmlsZXMgY2hhbmdlZCwgMjI3IGluc2VydGlvbnMoKyksIDE3OSBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwpp
bmRleCBkNmNlN2RhLi5kYjU3MzJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5jCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTgzMiw3ICs4MzIsNyBAQCBvdXQ6CiB9CiAKIHN0
YXRpYyB2b2lkIHJlbXVzX2ZhaWxvdmVyX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQg
cmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3MsIGludCByYyk7CiAKIC8qIFRPRE86IEV4cGxpY2l0IENoZWNrcG9pbnQgYWNrbm93
bGVkZ2VtZW50cyB2aWEgcmVjdl9mZC4gKi8KIGludCBsaWJ4bF9kb21haW5fcmVtdXNfc3RhcnQo
bGlieGxfY3R4ICpjdHgsIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZvLApAQCAtODQwLDcg
Kzg0MCw3IEBAIGludCBsaWJ4bF9kb21haW5fcmVtdXNfc3RhcnQobGlieGxfY3R4ICpjdHgsIGxp
YnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQogewogICAgIEFPX0NSRUFURShjdHgs
IGRvbWlkLCBhb19ob3cpOwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzOwor
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzOwogICAgIGludCByYzsKIAogICAgIGxp
YnhsX2RvbWFpbl90eXBlIHR5cGUgPSBsaWJ4bF9fZG9tYWluX3R5cGUoZ2MsIGRvbWlkKTsKQEAg
LTg4OCw3ICs4ODgsNyBAQCBpbnQgbGlieGxfZG9tYWluX3JlbXVzX3N0YXJ0KGxpYnhsX2N0eCAq
Y3R4LCBsaWJ4bF9kb21haW5fcmVtdXNfaW5mbyAqaW5mbywKIH0KIAogc3RhdGljIHZvaWQgcmVt
dXNfZmFpbG92ZXJfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLCBpbnQg
cmMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAgICAgLyoKQEAgLTkwMCw3ICs5MDAs
NyBAQCBzdGF0aWMgdm9pZCByZW11c19mYWlsb3Zlcl9jYihsaWJ4bF9fZWdjICplZ2MsCiB9CiAK
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBp
bnQgcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcywgaW50IHJjKQogewogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogICAgIGlu
dCBmbHJjOwpAQCAtOTI1LDcgKzkyNSw3IEBAIGludCBsaWJ4bF9kb21haW5fc3VzcGVuZChsaWJ4
bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGludCBmZCwgaW50IGZsYWdzLAogICAgICAgICBn
b3RvIG91dF9lcnI7CiAgICAgfQogCi0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3M7CiAgICAgR0NORVcoZHNzKTsK
IAogICAgIGRzcy0+YW8gPSBhbzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0
ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggZTQyMWQzNi4uYWQxZDUwYyAx
MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfY3JlYXRlLmMKQEAgLTE1NTgsNyArMTU1OCw3IEBAIHR5cGVkZWYgc3RydWN0IHsKIHR5
cGVkZWYgc3RydWN0IHsKICAgICBsaWJ4bF9fYXBwX2RvbWFpbl9jcmVhdGVfc3RhdGUgY2RjczsK
ICAgICBsaWJ4bF9fZG9tYWluX2Rlc3Ryb3lfc3RhdGUgZGRzOwotICAgIGxpYnhsX19kb21haW5f
c3VzcGVuZF9zdGF0ZSBkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlIGRzczsKICAg
ICBjaGFyICp0b29sc3RhY2tfYnVmOwogICAgIHVpbnQzMl90IHRvb2xzdGFja19sZW47CiB9IGxp
YnhsX19kb21haW5fc29mdF9yZXNldF9zdGF0ZTsKQEAgLTE2NTMsNyArMTY1Myw3IEBAIHN0YXRp
YyBpbnQgZG9fZG9tYWluX3NvZnRfcmVzZXQobGlieGxfY3R4ICpjdHgsCiAgICAgbGlieGxfX2Fw
cF9kb21haW5fY3JlYXRlX3N0YXRlICpjZGNzOwogICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0
YXRlICpkY3M7CiAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGU7Ci0gICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3M7CiAgICAgY2hhciAqZG9tX3BhdGgsICp4c19zdG9yZV9tZm4sICp4c19jb25zb2xl
X21mbjsKICAgICB1aW50MzJfdCBkb21pZF9vdXQ7CiAgICAgaW50IHJjOwpAQCAtMTY5Nyw4ICsx
Njk3LDggQEAgc3RhdGljIGludCBkb19kb21haW5fc29mdF9yZXNldChsaWJ4bF9jdHggKmN0eCwK
IAogICAgIGRzcy0+YW8gPSBhbzsKICAgICBkc3MtPmRvbWlkID0gZG9taWRfc29mdF9yZXNldDsK
LSAgICBkc3MtPmRtX3NhdmVmaWxlID0gR0NTUFJJTlRGKExJQlhMX0RFVklDRV9NT0RFTF9TQVZF
X0ZJTEUiLiVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3NvZnRf
cmVzZXQpOworICAgIGRzcy0+ZHNwcy5kbV9zYXZlZmlsZSA9IEdDU1BSSU5URihMSUJYTF9ERVZJ
Q0VfTU9ERUxfU0FWRV9GSUxFIi4lZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWlkX3NvZnRfcmVzZXQpOwogCiAgICAgcmMgPSBsaWJ4bF9fc2F2ZV9lbXVsYXRv
cl94ZW5zdG9yZV9kYXRhKGRzcywgJnNycy0+dG9vbHN0YWNrX2J1ZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNycy0+dG9vbHN0YWNrX2xlbik7CkBAIC0x
NzA3LDcgKzE3MDcsNyBAQCBzdGF0aWMgaW50IGRvX2RvbWFpbl9zb2Z0X3Jlc2V0KGxpYnhsX2N0
eCAqY3R4LAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICByYyA9IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwoZ2MsIGRzcyk7CisgICAgcmMgPSBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfZGV2aWNlX21vZGVsKGdjLCAmZHNzLT5kc3BzKTsKICAgICBpZiAocmMpIHsKICAg
ICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIHN1c3BlbmQgZGV2aWNlIG1vZGVsLiIpOwogICAg
ICAgICBnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMg
Yi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCmluZGV4IGNjYTM0MDQuLmFlYWQwNDIgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfZG9tX3NhdmUuYwpAQCAtMjQsNyArMjQsNyBAQAogc3RhdGljIHZvaWQgc3RyZWFtX2Rv
bmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3N0cmVh
bV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJjKTsKIAogLyotLS0t
LSBjb21wbGljYXRlZCBjYWxsYmFjaywgY2FsbGVkIGJ5IHhjX2RvbWFpbl9zYXZlIC0tLS0tKi8K
IApAQCAtNDIsNyArNDIsNyBAQCBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlfdGltZW91dChs
aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKIHN0YXRpYyB2b2lkIHN3aXRjaF9s
b2dkaXJ0eV94c3dhdGNoKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2gqLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsIGNvbnN0IGNo
YXIgKmV2ZW50X3BhdGgpOwogc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X2RvbmUobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJjKTsKIAogc3RhdGlj
IHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpCiB7CkBAIC01
Niw3ICs1Niw3IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90
cmFkaXRpb25hbF9sb2dkaXJ0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKIHsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMt
PmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJf
c3RhdGU7CiAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzID0gJmRzcy0+bG9nZGlydHk7
CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAgICAgaW50IHJjOwpAQCAtMTI4LDcgKzEyOCw3
IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9sb2dkaXJ0eQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUg
KnNocykKIHsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19k
b21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7CiAgICAgU1RBVEVfQU9f
R0MoZHNzLT5hbyk7CiAgICAgaW50IHJjOwogCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5CiB7CiAgICAgbGli
eGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMgPSB1c2VyOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9
IHNocy0+ZWdjOwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gc2hzLT5j
YWxsZXJfc3RhdGU7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBzaHMtPmNh
bGxlcl9zdGF0ZTsKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIAogICAgIHN3aXRjaCAobGli
eGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkgewpAQCAtMTcxLDcg
KzE3MSw3IEBAIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoZXYsICpkc3MsIGxvZ2RpcnR5LnRpbWVvdXQp
OworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGV2LCAq
ZHNzLCBsb2dkaXJ0eS50aW1lb3V0KTsKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKICAgICBM
T0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogd2FpdCBmb3IgZGV2aWNlIG1vZGVsIHRpbWVkIG91
dCIpOwogICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MsRVJST1JfRkFJTCk7CkBAIC0x
ODAsNyArMTgwLDcgQEAgc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGlieGxf
X2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCiBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGly
dHlfeHN3YXRjaChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl94c3dhdGNoICp3YXRjaCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp3YXRjaF9wYXRoLCBjb25zdCBj
aGFyICpldmVudF9wYXRoKQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
ID0KKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9CiAgICAgICAgIENPTlRBSU5F
Ul9PRih3YXRjaCwgKmRzcywgbG9nZGlydHkud2F0Y2gpOwogICAgIGxpYnhsX19sb2dkaXJ0eV9z
d2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwpA
QCAtMjM0LDcgKzIzNCw3IEBAIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV94c3dhdGNoKGxp
YnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2ggKndhdGNoLAogfQogCiBzdGF0aWMgdm9p
ZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewogICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOwpAQCAtMjcwLDcgKzI3MCw3IEBAIHN0YXRpYyB2b2lkIGFwcGVuZF9z
dHJpbmcobGlieGxfX2djICpnYywgY2hhciAqKmJ1ZiwgdWludDMyX3QgKmxlbiwKICAgICAqbGVu
ICs9IGV4dHJhbGVuOwogfQogCi1pbnQgbGlieGxfX3NhdmVfZW11bGF0b3JfeGVuc3RvcmVfZGF0
YShsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKK2ludCBsaWJ4bF9fc2F2ZV9lbXVs
YXRvcl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmNhbGxlZV9idWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY2FsbGVlX2xlbikK
IHsKQEAgLTMyMiwxMCArMzIyLDkgQEAgaW50IGxpYnhsX19zYXZlX2VtdWxhdG9yX3hlbnN0b3Jl
X2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCiAKIC8qLS0tLS0gbWFpbiBj
b2RlIGZvciBzYXZpbmcsIGluIG9yZGVyIG9mIGV4ZWN1dGlvbiAtLS0tLSovCiAKLXZvaWQgbGli
eGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MpCit2b2lkIGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogewogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwot
ICAgIGludCBwb3J0OwogICAgIGludCByYywgcmV0OwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxp
YXNlcyAqLwpAQCAtMzM3LDEzICszMzYsMTQgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAgICBsaWJ4
bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxsYmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CiAgICAgICAg
ICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tzLnNhdmUuYTsKICAgICB1bnNpZ25lZCBpbnQgbnJfdm5v
ZGVzID0gMCwgbnJfdm1lbXJhbmdlcyA9IDAsIG5yX3ZjcHVzID0gMDsKKyAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcHMgPSAmZHNzLT5kc3BzOwogCiAgICAgZHNzLT5yYyA9IDA7
CiAgICAgbG9nZGlydHlfaW5pdCgmZHNzLT5sb2dkaXJ0eSk7Ci0gICAgbGlieGxfX3hzd2FpdF9p
bml0KCZkc3MtPnB2Y29udHJvbCk7Ci0gICAgbGlieGxfX2V2X2V2dGNobl9pbml0KCZkc3MtPmd1
ZXN0X2V2dGNobik7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2hfaW5pdCgmZHNzLT5ndWVzdF93YXRj
aCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmZHNzLT5ndWVzdF90aW1lb3V0KTsKKyAgICBk
c3BzLT5hbyA9IGFvOworICAgIGRzcHMtPmRvbWlkID0gZG9taWQ7CisgICAgcmMgPSBsaWJ4bF9f
ZG9tYWluX3N1c3BlbmRfaW5pdChlZ2MsIGRzcHMsIHR5cGUpOworICAgIGlmIChyYykgZ290byBv
dXQ7CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hW
TTogewpAQCAtMzc2LDExICszNzYsNiBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9f
ZWdjICplZ2MsIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQogICAgICAgICBnb3Rv
IG91dDsKICAgICB9CiAKLSAgICBkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID0gLTE7Ci0gICAgZHNz
LT5ndWVzdF9ldnRjaG5fbG9ja2ZkID0gLTE7Ci0gICAgZHNzLT5ndWVzdF9yZXNwb25kZWQgPSAw
OwotICAgIGRzcy0+ZG1fc2F2ZWZpbGUgPSBsaWJ4bF9fZGV2aWNlX21vZGVsX3NhdmVmaWxlKGdj
LCBkb21pZCk7Ci0KICAgICBpZiAocl9pbmZvICE9IE5VTEwpIHsKICAgICAgICAgZHNzLT5pbnRl
cnZhbCA9IHJfaW5mby0+aW50ZXJ2YWw7CiAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdT
X0NIRUNLUE9JTlRFRDsKQEAgLTM4OCwyMyArMzgzLDYgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3Nh
dmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAg
ICAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRfQ09NUFJFU1M7CiAg
ICAgfQogCi0gICAgcG9ydCA9IHhzX3N1c3BlbmRfZXZ0Y2huX3BvcnQoZHNzLT5kb21pZCk7Ci0K
LSAgICBpZiAocG9ydCA+PSAwKSB7Ci0gICAgICAgIHJjID0gbGlieGxfX2N0eF9ldnRjaG5faW5p
dChnYyk7Ci0gICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCA9Ci0gICAgICAgICAgICB4Y19zdXNwZW5kX2V2dGNobl9pbml0X2V4Y2x1c2l2
ZShDVFgtPnhjaCwgQ1RYLT54Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZHNzLT5kb21pZCwgcG9ydCwgJmRzcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7Ci0KLSAgICAgICAg
aWYgKGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQgPCAwKSB7Ci0gICAgICAgICAgICBMT0coV0FSTiwg
IlN1c3BlbmQgZXZlbnQgY2hhbm5lbCBpbml0aWFsaXphdGlvbiBmYWlsZWQiKTsKLSAgICAgICAg
ICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0g
ICAgfQotCiAgICAgaWYgKHJfaW5mbyA9PSBOVUxMKQogICAgICAgICBjYWxsYmFja3MtPnN1c3Bl
bmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CiAKQEAgLTQyOSwxOCArNDA3LDE5
IEBAIHN0YXRpYyB2b2lkIHN0cmVhbV9kb25lKGxpYnhsX19lZ2MgKmVnYywKIH0KIAogc3RhdGlj
IHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
LCBpbnQgcmMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAKICAgICAvKiBDb252ZW5p
ZW5jZSBhbGlhc2VzICovCiAgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOwor
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNwcyA9ICZkc3MtPmRzcHM7CiAKLSAg
ICBsaWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICBs
aWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcHMtPmd1ZXN0X2V2dGNobik7CiAKLSAgICBp
ZiAoZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCA+IDApCisgICAgaWYgKGRzcHMtPmd1ZXN0X2V2dGNo
bi5wb3J0ID4gMCkKICAgICAgICAgeGNfc3VzcGVuZF9ldnRjaG5fcmVsZWFzZShDVFgtPnhjaCwg
Q1RYLT54Y2UsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCwgJmRzcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBkc3BzLT5ndWVzdF9ldnRjaG4ucG9ydCwgJmRzcHMtPmd1ZXN0X2V2dGNobl9sb2Nr
ZmQpOwogCiAgICAgaWYgKGRzcy0+cmVtdXMpIHsKICAgICAgICAgLyoKZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnhsL2xpYnhsX2RvbV9zdXNwZW5kLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc3Vz
cGVuZC5jCmluZGV4IDE2ZjYwM2YuLmNjMGIyMTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zdXNwZW5kLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tX3N1c3BlbmQuYwpA
QCAtMTksMTQgKzE5LDYxIEBACiAKIC8qPT09PT09PT09PT09PT09PT09PT09PSBEb21haW4gc3Vz
cGVuZCA9PT09PT09PT09PT09PT09PT09PT09PSovCiAKK2ludCBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfaW5pdChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX2RvbWFpbl90eXBlIHR5cGUpCit7CisgICAgU1RBVEVfQU9fR0MoZHNw
cy0+YW8pOworICAgIGludCByYyA9IEVSUk9SX0ZBSUw7CisgICAgaW50IHBvcnQ7CisKKyAgICAv
KiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3Bz
LT5kb21pZDsKKworICAgIGxpYnhsX194c3dhaXRfaW5pdCgmZHNwcy0+cHZjb250cm9sKTsKKyAg
ICBsaWJ4bF9fZXZfZXZ0Y2huX2luaXQoJmRzcHMtPmd1ZXN0X2V2dGNobik7CisgICAgbGlieGxf
X2V2X3hzd2F0Y2hfaW5pdCgmZHNwcy0+Z3Vlc3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1l
X2luaXQoJmRzcHMtPmd1ZXN0X3RpbWVvdXQpOworCisgICAgaWYgKHR5cGUgPT0gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCkgZ290byBvdXQ7CisgICAgZHNwcy0+dHlwZSA9IHR5cGU7CisKKyAg
ICBkc3BzLT5ndWVzdF9ldnRjaG4ucG9ydCA9IC0xOworICAgIGRzcHMtPmd1ZXN0X2V2dGNobl9s
b2NrZmQgPSAtMTsKKyAgICBkc3BzLT5ndWVzdF9yZXNwb25kZWQgPSAwOworICAgIGRzcHMtPmRt
X3NhdmVmaWxlID0gbGlieGxfX2RldmljZV9tb2RlbF9zYXZlZmlsZShnYywgZG9taWQpOworCisg
ICAgcG9ydCA9IHhzX3N1c3BlbmRfZXZ0Y2huX3BvcnQoZG9taWQpOworCisgICAgaWYgKHBvcnQg
Pj0gMCkgeworICAgICAgICByYyA9IGxpYnhsX19jdHhfZXZ0Y2huX2luaXQoZ2MpOworICAgICAg
ICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGRzcHMtPmd1ZXN0X2V2dGNobi5wb3J0ID0K
KyAgICAgICAgICAgIHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRfZXhjbHVzaXZlKENUWC0+eGNoLCBD
VFgtPnhjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkLCBwb3J0
LCAmZHNwcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7CisKKyAgICAgICAgaWYgKGRzcHMtPmd1ZXN0
X2V2dGNobi5wb3J0IDwgMCkgeworICAgICAgICAgICAgTE9HKFdBUk4sICJTdXNwZW5kIGV2ZW50
IGNoYW5uZWwgaW5pdGlhbGl6YXRpb24gZmFpbGVkIik7CisgICAgICAgICAgICByYyA9IEVSUk9S
X0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJj
ID0gMDsKKworb3V0OgorICAgIHJldHVybiByYzsKK30KKwogLyotLS0tLSBjYWxsYmFja3MsIGNh
bGxlZCBieSB4Y19kb21haW5fc2F2ZSAtLS0tLSovCiAKIGludCBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfZGV2aWNlX21vZGVsKGxpYnhsX19nYyAqZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0
ZSAqZHNwcykKIHsKICAgICBpbnQgcmV0ID0gMDsKLSAgICB1aW50MzJfdCBjb25zdCBkb21pZCA9
IGRzcy0+ZG9taWQ7Ci0gICAgY29uc3QgY2hhciAqY29uc3QgZmlsZW5hbWUgPSBkc3MtPmRtX3Nh
dmVmaWxlOworICAgIHVpbnQzMl90IGNvbnN0IGRvbWlkID0gZHNwcy0+ZG9taWQ7CisgICAgY29u
c3QgY2hhciAqY29uc3QgZmlsZW5hbWUgPSBkc3BzLT5kbV9zYXZlZmlsZTsKIAogICAgIHN3aXRj
aCAobGlieGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkgewogICAg
IGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9OQUw6IHsK
QEAgLTUzLDkgKzEwMCw5IEBAIGludCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVs
KGxpYnhsX19nYyAqZ2MsCiB9CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl93
YWl0X2d1ZXN0KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNwcyk7CiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fZ3Vl
c3Rfc3VzcGVuZGVkKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcHMpOwogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fcHZjb250
cm9sX3N1c3BlbmRpbmcobGlieGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX3hzd2FpdF9zdGF0
ZSAqeHN3YSwgaW50IHJjLCBjb25zdCBjaGFyICpzdGF0ZSk7CkBAIC02NCwyNCArMTExLDI0IEBA
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X2V2dGNobihsaWJ4
bF9fZWdjICplZ2MsCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3dhdGNo
KGxpYnhsX19lZ2MgKmVnYywKICAgICAgIGxpYnhsX19ldl94c3dhdGNoICp4c3csIGNvbnN0IGNo
YXIgKndhdGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpOwogc3RhdGljIHZvaWQgc3Vz
cGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAgICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3BzKTsKIHN0YXRpYyB2b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vl
c3RfdGltZW91dChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICBsaWJ4bF9fZXZfdGltZSAqZXYsIGNv
bnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLCBpbnQgcmMpOwogCiBzdGF0aWMgdm9p
ZCBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNwcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByYyk7CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2Nv
bW1vbihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0
ZSAqZHNwcyk7CiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMsIGludCByYyk7
CiAKLS8qIGNhbGxzIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCisvKiBj
YWxscyBkc3BzLT5jYWxsYmFja19jb21tb25fZG9uZSB3aGVuIGRvbmUgKi8KIHZvaWQgbGlieGxf
X2RvbWFpbl9zdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihlZ2MsIGRzcyk7CisgICAgZG9tYWluX3N1c3BlbmRf
Y2FsbGJhY2tfY29tbW9uKGVnYywgZHNwcyk7CiB9CiAKIHN0YXRpYyBib29sIGRvbWFpbl9zdXNw
ZW5kX3B2Y29udHJvbF9hY2tlZChjb25zdCBjaGFyICpzdGF0ZSkgewpAQCAtOTAsMzcgKzEzNywz
NyBAQCBzdGF0aWMgYm9vbCBkb21haW5fc3VzcGVuZF9wdmNvbnRyb2xfYWNrZWQoY29uc3QgY2hh
ciAqc3RhdGUpIHsKICAgICByZXR1cm4gc3RyY21wKHN0YXRlLCJzdXNwZW5kIik7CiB9CiAKLS8q
IGNhbGxzIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCisvKiBjYWxscyBk
c3BzLT5jYWxsYmFja19jb21tb25fZG9uZSB3aGVuIGRvbmUgKi8KIHN0YXRpYyB2b2lkIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8p
OworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsKICAgICB1aW50NjRfdCBodm1fc19zdGF0ZSA9
IDAsIGh2bV9wdmRydiA9IDA7CiAgICAgaW50IHJldCwgcmM7CiAKICAgICAvKiBDb252ZW5pZW5j
ZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOworICAg
IGNvbnN0IHVpbnQzMl90IGRvbWlkID0gZHNwcy0+ZG9taWQ7CiAKLSAgICBpZiAoZHNzLT5odm0p
IHsKKyAgICBpZiAoZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKICAgICAg
ICAgeGNfaHZtX3BhcmFtX2dldChDVFgtPnhjaCwgZG9taWQsIEhWTV9QQVJBTV9DQUxMQkFDS19J
UlEsICZodm1fcHZkcnYpOwogICAgICAgICB4Y19odm1fcGFyYW1fZ2V0KENUWC0+eGNoLCBkb21p
ZCwgSFZNX1BBUkFNX0FDUElfU19TVEFURSwgJmh2bV9zX3N0YXRlKTsKICAgICB9CiAKLSAgICBp
ZiAoKGh2bV9zX3N0YXRlID09IDApICYmIChkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID49IDApKSB7
CisgICAgaWYgKChodm1fc19zdGF0ZSA9PSAwKSAmJiAoZHNwcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQg
Pj0gMCkpIHsKICAgICAgICAgTE9HKERFQlVHLCAiaXNzdWluZyAlcyBzdXNwZW5kIHJlcXVlc3Qg
dmlhIGV2ZW50IGNoYW5uZWwiLAotICAgICAgICAgICAgZHNzLT5odm0gPyAiUFZIVk0iIDogIlBW
Iik7Ci0gICAgICAgIHJldCA9IHhlbmV2dGNobl9ub3RpZnkoQ1RYLT54Y2UsIGRzcy0+Z3Vlc3Rf
ZXZ0Y2huLnBvcnQpOworICAgICAgICAgICAgZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQ
RV9IVk0gPyAiUFZIVk0iIDogIlBWIik7CisgICAgICAgIHJldCA9IHhlbmV2dGNobl9ub3RpZnko
Q1RYLT54Y2UsIGRzcHMtPmd1ZXN0X2V2dGNobi5wb3J0KTsKICAgICAgICAgaWYgKHJldCA8IDAp
IHsKICAgICAgICAgICAgIExPRyhFUlJPUiwgInhlbmV2dGNobl9ub3RpZnkgZmFpbGVkIHJldD0l
ZCIsIHJldCk7CiAgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgICAgICBnb3Rv
IGVycjsKICAgICAgICAgfQogCi0gICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2huLmNhbGxiYWNrID0g
ZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfZXZ0Y2huOwotICAgICAgICByYyA9IGxp
YnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICAgICAgZHNw
cy0+Z3Vlc3RfZXZ0Y2huLmNhbGxiYWNrID0gZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vl
c3RfZXZ0Y2huOworICAgICAgICByYyA9IGxpYnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcHMt
Pmd1ZXN0X2V2dGNobik7CiAgICAgICAgIGlmIChyYykgZ290byBlcnI7CiAKLSAgICAgICAgcmMg
PSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZkc3MtPmd1ZXN0X3RpbWVvdXQsCisg
ICAgICAgIHJjID0gbGlieGxfX2V2X3RpbWVfcmVnaXN0ZXJfcmVsKGFvLCAmZHNwcy0+Z3Vlc3Rf
dGltZW91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VzcGVu
ZF9jb21tb25fd2FpdF9ndWVzdF90aW1lb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA2MCoxMDAwKTsKICAgICAgICAgaWYgKHJjKSBnb3RvIGVycjsKQEAgLTEy
OCw3ICsxNzUsNyBAQCBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb24o
bGlieGxfX2VnYyAqZWdjLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGRzcy0+
aHZtICYmICghaHZtX3B2ZHJ2IHx8IGh2bV9zX3N0YXRlKSkgeworICAgIGlmIChkc3BzLT50eXBl
ID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSAmJiAoIWh2bV9wdmRydiB8fCBodm1fc19zdGF0ZSkp
IHsKICAgICAgICAgTE9HKERFQlVHLCAiQ2FsbGluZyB4Y19kb21haW5fc2h1dGRvd24gb24gSFZN
IGRvbWFpbiIpOwogICAgICAgICByZXQgPSB4Y19kb21haW5fc2h1dGRvd24oQ1RYLT54Y2gsIGRv
bWlkLCBTSFVURE9XTl9zdXNwZW5kKTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKQEAgLTEzNyw1
NSArMTg0LDU1IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAgICAg
ICAvKiBUaGUgZ3Vlc3QgZG9lcyBub3QgKG5lZWQgdG8pIHJlc3BvbmQgdG8gdGhpcyBzb3J0IG9m
IHJlcXVlc3QuICovCi0gICAgICAgIGRzcy0+Z3Vlc3RfcmVzcG9uZGVkID0gMTsKLSAgICAgICAg
ZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3QoZWdjLCBkc3MpOworICAgICAgICBkc3Bz
LT5ndWVzdF9yZXNwb25kZWQgPSAxOworICAgICAgICBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdChlZ2MsIGRzcHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgTE9HKERF
QlVHLCAiaXNzdWluZyAlcyBzdXNwZW5kIHJlcXVlc3QgdmlhIFhlbkJ1cyBjb250cm9sIG5vZGUi
LAotICAgICAgICBkc3MtPmh2bSA/ICJQVkhWTSIgOiAiUFYiKTsKKyAgICAgICAgZHNwcy0+dHlw
ZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0gPyAiUFZIVk0iIDogIlBWIik7CiAKICAgICBsaWJ4
bF9fZG9tYWluX3B2Y29udHJvbF93cml0ZShnYywgWEJUX05VTEwsIGRvbWlkLCAic3VzcGVuZCIp
OwogCi0gICAgZHNzLT5wdmNvbnRyb2wucGF0aCA9IGxpYnhsX19kb21haW5fcHZjb250cm9sX3hz
cGF0aChnYywgZG9taWQpOwotICAgIGlmICghZHNzLT5wdmNvbnRyb2wucGF0aCkgeyByYyA9IEVS
Uk9SX0ZBSUw7IGdvdG8gZXJyOyB9CisgICAgZHNwcy0+cHZjb250cm9sLnBhdGggPSBsaWJ4bF9f
ZG9tYWluX3B2Y29udHJvbF94c3BhdGgoZ2MsIGRvbWlkKTsKKyAgICBpZiAoIWRzcHMtPnB2Y29u
dHJvbC5wYXRoKSB7IHJjID0gRVJST1JfRkFJTDsgZ290byBlcnI7IH0KIAotICAgIGRzcy0+cHZj
b250cm9sLmFvID0gYW87Ci0gICAgZHNzLT5wdmNvbnRyb2wud2hhdCA9ICJndWVzdCBhY2tub3ds
ZWRnZW1lbnQgb2Ygc3VzcGVuZCByZXF1ZXN0IjsKLSAgICBkc3MtPnB2Y29udHJvbC50aW1lb3V0
X21zID0gNjAgKiAxMDAwOwotICAgIGRzcy0+cHZjb250cm9sLmNhbGxiYWNrID0gZG9tYWluX3N1
c3BlbmRfY29tbW9uX3B2Y29udHJvbF9zdXNwZW5kaW5nOwotICAgIGxpYnhsX194c3dhaXRfc3Rh
cnQoZ2MsICZkc3MtPnB2Y29udHJvbCk7CisgICAgZHNwcy0+cHZjb250cm9sLmFvID0gYW87Cisg
ICAgZHNwcy0+cHZjb250cm9sLndoYXQgPSAiZ3Vlc3QgYWNrbm93bGVkZ2VtZW50IG9mIHN1c3Bl
bmQgcmVxdWVzdCI7CisgICAgZHNwcy0+cHZjb250cm9sLnRpbWVvdXRfbXMgPSA2MCAqIDEwMDA7
CisgICAgZHNwcy0+cHZjb250cm9sLmNhbGxiYWNrID0gZG9tYWluX3N1c3BlbmRfY29tbW9uX3B2
Y29udHJvbF9zdXNwZW5kaW5nOworICAgIGxpYnhsX194c3dhaXRfc3RhcnQoZ2MsICZkc3BzLT5w
dmNvbnRyb2wpOwogICAgIHJldHVybjsKIAogIGVycjoKLSAgICBkb21haW5fc3VzcGVuZF9jb21t
b25fZG9uZShlZ2MsIGRzcywgcmMpOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVn
YywgZHNwcywgcmMpOwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdF9ldnRjaG4obGlieGxfX2VnYyAqZWdjLAogICAgICAgICBsaWJ4bF9fZXZfZXZ0Y2hu
ICpldmV2KQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKGV2ZXYsICpkc3MsIGd1ZXN0X2V2dGNobik7Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5h
byk7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gQ09OVEFJTkVSX09G
KGV2ZXYsICpkc3BzLCBndWVzdF9ldnRjaG4pOworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsK
ICAgICAvKiBJZiB3ZSBzaG91bGQgYmUgZG9uZSB3YWl0aW5nLCBzdXNwZW5kX2NvbW1vbl93YWl0
X2d1ZXN0X2NoZWNrCiAgICAgICogd2lsbCBlbmQgdXAgY2FsbGluZyBkb21haW5fc3VzcGVuZF9j
b21tb25fZ3Vlc3Rfc3VzcGVuZGVkIG9yCiAgICAgICogZG9tYWluX3N1c3BlbmRfY29tbW9uX2Rv
bmUsIGJvdGggb2Ygd2hpY2ggY2FuY2VsIHRoZSBldnRjaG4KICAgICAgKiB3YWl0IGFzIG5lZWRl
ZC4gIFNvIHJlLWVuYWJsZSBpdCBub3cuICovCi0gICAgbGlieGxfX2V2X2V2dGNobl93YWl0KGdj
LCAmZHNzLT5ndWVzdF9ldnRjaG4pOwotICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hl
Y2soZWdjLCBkc3MpOworICAgIGxpYnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcHMtPmd1ZXN0
X2V2dGNobik7CisgICAgc3VzcGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhlZ2MsIGRzcHMp
OwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fcHZjb250cm9sX3N1c3Bl
bmRpbmcobGlieGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX3hzd2FpdF9zdGF0ZSAqeHN3YSwg
aW50IHJjLCBjb25zdCBjaGFyICpzdGF0ZSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRih4c3dhLCAqZHNzLCBwdmNvbnRyb2wpOwotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNw
cyA9IENPTlRBSU5FUl9PRih4c3dhLCAqZHNwcywgcHZjb250cm9sKTsKKyAgICBTVEFURV9BT19H
Qyhkc3BzLT5hbyk7CiAgICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKIAogICAgIGlmICghcmMg
JiYgIWRvbWFpbl9zdXNwZW5kX3B2Y29udHJvbF9hY2tlZChzdGF0ZSkpCiAgICAgICAgIC8qIGtl
ZXAgd2FpdGluZyAqLwogICAgICAgICByZXR1cm47CiAKLSAgICBsaWJ4bF9feHN3YWl0X3N0b3Ao
Z2MsICZkc3MtPnB2Y29udHJvbCk7CisgICAgbGlieGxfX3hzd2FpdF9zdG9wKGdjLCAmZHNwcy0+
cHZjb250cm9sKTsKIAogICAgIGlmIChyYyA9PSBFUlJPUl9USU1FRE9VVCkgewogICAgICAgICAv
KgpAQCAtMjI4LDU2ICsyNzUsNTYgQEAgc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfY29tbW9u
X3B2Y29udHJvbF9zdXNwZW5kaW5nKGxpYnhsX19lZ2MgKmVnYywKICAgICBMT0coREVCVUcsICJn
dWVzdCBhY2tub3dsZWRnZWQgc3VzcGVuZCByZXF1ZXN0Iik7CiAKICAgICBsaWJ4bF9feHNfdHJh
bnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKLSAgICBkc3MtPmd1ZXN0X3Jlc3BvbmRlZCA9IDE7Ci0g
ICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3QoZWdjLGRzcyk7CisgICAgZHNwcy0+
Z3Vlc3RfcmVzcG9uZGVkID0gMTsKKyAgICBkb21haW5fc3VzcGVuZF9jb21tb25fd2FpdF9ndWVz
dChlZ2MsZHNwcyk7CiAgICAgcmV0dXJuOwogCiAgZXJyOgogICAgIGxpYnhsX194c190cmFuc2Fj
dGlvbl9hYm9ydChnYywgJnQpOwotICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywg
ZHNzLCByYyk7CisgICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3BzLCByYyk7
CiAgICAgcmV0dXJuOwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNwcykKIHsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKyAgICBTVEFURV9B
T19HQyhkc3BzLT5hbyk7CiAgICAgaW50IHJjOwogCiAgICAgTE9HKERFQlVHLCAid2FpdCBmb3Ig
dGhlIGd1ZXN0IHRvIHN1c3BlbmQiKTsKIAotICAgIHJjID0gbGlieGxfX2V2X3hzd2F0Y2hfcmVn
aXN0ZXIoZ2MsICZkc3MtPmd1ZXN0X3dhdGNoLAorICAgIHJjID0gbGlieGxfX2V2X3hzd2F0Y2hf
cmVnaXN0ZXIoZ2MsICZkc3BzLT5ndWVzdF93YXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3Rfd2F0Y2gsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiQHJlbGVhc2VEb21haW4iKTsKICAgICBpZiAocmMp
IGdvdG8gZXJyOwogCi0gICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZk
c3MtPmd1ZXN0X3RpbWVvdXQsCisgICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwo
YW8sICZkc3BzLT5ndWVzdF90aW1lb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfdGltZW91dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA2MCoxMDAwKTsKICAgICBpZiAocmMpIGdvdG8gZXJyOwog
ICAgIHJldHVybjsKIAogIGVycjoKLSAgICBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShlZ2Ms
IGRzcywgcmMpOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNwcywgcmMp
OwogfQogCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3dhdGNoKGxpYnhs
X19lZ2MgKmVnYywKICAgICAgIGxpYnhsX19ldl94c3dhdGNoICp4c3csIGNvbnN0IGNoYXIgKndh
dGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoeHN3LCAqZHNzLCBndWVzdF93YXRjaCk7
Ci0gICAgc3VzcGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhlZ2MsIGRzcyk7CisgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gQ09OVEFJTkVSX09GKHhzdywgKmRzcHMs
IGd1ZXN0X3dhdGNoKTsKKyAgICBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X2NoZWNrKGVnYywg
ZHNwcyk7CiB9CiAKIHN0YXRpYyB2b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hlY2so
bGlieGxfX2VnYyAqZWdjLAotICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRz
cykKKyAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsKICAgICB4Y19k
b21haW5pbmZvX3QgaW5mbzsKICAgICBpbnQgcmV0OwogICAgIGludCBzaHV0ZG93bl9yZWFzb247
CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9t
aWQgPSBkc3MtPmRvbWlkOworICAgIGNvbnN0IHVpbnQzMl90IGRvbWlkID0gZHNwcy0+ZG9taWQ7
CiAKICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoQ1RYLT54Y2gsIGRvbWlkLCAxLCAm
aW5mbyk7CiAgICAgaWYgKHJldCA8IDApIHsKQEAgLTMwNCw3MSArMzUxLDczIEBAIHN0YXRpYyB2
b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hlY2sobGlieGxfX2VnYyAqZWdjLAogICAg
IH0KIAogICAgIExPRyhERUJVRywgImd1ZXN0IGhhcyBzdXNwZW5kZWQiKTsKLSAgICBkb21haW5f
c3VzcGVuZF9jb21tb25fZ3Vlc3Rfc3VzcGVuZGVkKGVnYywgZHNzKTsKKyAgICBkb21haW5fc3Vz
cGVuZF9jb21tb25fZ3Vlc3Rfc3VzcGVuZGVkKGVnYywgZHNwcyk7CiAgICAgcmV0dXJuOwogCiAg
ZXJyOgotICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNzLCBFUlJPUl9GQUlM
KTsKKyAgICBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShlZ2MsIGRzcHMsIEVSUk9SX0ZBSUwp
OwogfQogCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3RpbWVvdXQobGli
eGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX2V2X3RpbWUgKmV2LCBjb25zdCBzdHJ1Y3QgdGlt
ZXZhbCAqcmVxdWVzdGVkX2FicywgaW50IHJjKQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGV2LCAqZHNzLCBndWVzdF90aW1lb3V0KTsKLSAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcHMgPSBDT05UQUlORVJfT0YoZXYsICpkc3BzLCBndWVzdF90aW1lb3V0KTsKKyAgICBTVEFU
RV9BT19HQyhkc3BzLT5hbyk7CiAgICAgaWYgKHJjID09IEVSUk9SX1RJTUVET1VUKSB7CiAgICAg
ICAgIExPRyhFUlJPUiwgImd1ZXN0IGRpZCBub3Qgc3VzcGVuZCwgdGltZWQgb3V0Iik7CiAgICAg
ICAgIHJjID0gRVJST1JfR1VFU1RfVElNRURPVVQ7CiAgICAgfQotICAgIGRvbWFpbl9zdXNwZW5k
X2NvbW1vbl9kb25lKGVnYywgZHNzLCByYyk7CisgICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2Rv
bmUoZWdjLCBkc3BzLCByYyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1v
bl9ndWVzdF9zdXNwZW5kZWQobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNUQVRF
X0FPX0dDKGRzcHMtPmFvKTsKICAgICBpbnQgcmM7CiAKLSAgICBsaWJ4bF9fZXZfZXZ0Y2huX2Nh
bmNlbChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKLSAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJl
Z2lzdGVyKGdjLCAmZHNzLT5ndWVzdF93YXRjaCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfZGVyZWdp
c3RlcihnYywgJmRzcy0+Z3Vlc3RfdGltZW91dCk7CisgICAgbGlieGxfX2V2X2V2dGNobl9jYW5j
ZWwoZ2MsICZkc3BzLT5ndWVzdF9ldnRjaG4pOworICAgIGxpYnhsX19ldl94c3dhdGNoX2RlcmVn
aXN0ZXIoZ2MsICZkc3BzLT5ndWVzdF93YXRjaCk7CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdp
c3RlcihnYywgJmRzcHMtPmd1ZXN0X3RpbWVvdXQpOwogCi0gICAgaWYgKGRzcy0+aHZtKSB7Ci0g
ICAgICAgIHJjID0gbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChnYywgZHNzKTsK
KyAgICBpZiAoZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKKyAgICAgICAg
cmMgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVsKGdjLCBkc3BzKTsKICAgICAg
ICAgaWYgKHJjKSB7CiAgICAgICAgICAgICBMT0coRVJST1IsICJsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfZGV2aWNlX21vZGVsIGZhaWxlZCByZXQ9JWQiLCByYyk7Ci0gICAgICAgICAgICBkb21haW5f
c3VzcGVuZF9jb21tb25fZG9uZShlZ2MsIGRzcywgcmMpOworICAgICAgICAgICAgZG9tYWluX3N1
c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3BzLCByYyk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9Ci0gICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3Ms
IDApOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNwcywgMCk7CiB9CiAK
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJjKQogewogICAgIEVHQ19HQzsKLSAgICBhc3NlcnQoIWxp
YnhsX194c3dhaXRfaW51c2UoJmRzcy0+cHZjb250cm9sKSk7Ci0gICAgbGlieGxfX2V2X2V2dGNo
bl9jYW5jZWwoZ2MsICZkc3MtPmd1ZXN0X2V2dGNobik7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2hf
ZGVyZWdpc3RlcihnYywgJmRzcy0+Z3Vlc3Rfd2F0Y2gpOwotICAgIGxpYnhsX19ldl90aW1lX2Rl
cmVnaXN0ZXIoZ2MsICZkc3MtPmd1ZXN0X3RpbWVvdXQpOwotICAgIGRzcy0+Y2FsbGJhY2tfY29t
bW9uX2RvbmUoZWdjLCBkc3MsIHJjKTsKKyAgICBhc3NlcnQoIWxpYnhsX194c3dhaXRfaW51c2Uo
JmRzcHMtPnB2Y29udHJvbCkpOworICAgIGxpYnhsX19ldl9ldnRjaG5fY2FuY2VsKGdjLCAmZHNw
cy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVyKGdjLCAm
ZHNwcy0+Z3Vlc3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1lX2RlcmVnaXN0ZXIoZ2MsICZk
c3BzLT5ndWVzdF90aW1lb3V0KTsKKyAgICBkc3BzLT5jYWxsYmFja19jb21tb25fZG9uZShlZ2Ms
IGRzcHMsIHJjKTsKIH0KIAogdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2sodm9p
ZCAqZGF0YSkKIHsKICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IGRhdGE7CiAg
ICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNwcyA9ICZkc3MtPmRzcHM7CiAKLSAgICBkc3MtPmNhbGxiYWNrX2NvbW1vbl9k
b25lID0gZG9tYWluX3N1c3BlbmRfY2FsbGJhY2tfY29tbW9uX2RvbmU7Ci0gICAgZG9tYWluX3N1
c3BlbmRfY2FsbGJhY2tfY29tbW9uKGVnYywgZHNzKTsKKyAgICBkc3BzLT5jYWxsYmFja19jb21t
b25fZG9uZSA9IGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lOworICAgIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihlZ2MsIGRzcHMpOwogfQogCiBzdGF0aWMgdm9pZCBk
b21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzLCBpbnQgcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNwcywgaW50IHJjKQogeworICAgIGxpYnhsX19kb21haW5fc2F2
ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGRzcHMsICpkc3MsIGRzcHMpOwogICAgIGRzcy0+
cmMgPSByYzsKICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNr
X2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOwogfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg
ZDliOWUyYS4uODJjMzYxMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zMDExLDExICszMDExLDEy
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBsaWJ4bF9fY29udmVyc2lvbl9oZWxwZXJfaW51c2UKICAq
LwogCiB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX3N0YXRlOwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZTsKIAotdHlwZWRlZiB2b2lkIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9jYihsaWJ4bF9fZWdjKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlKiwgaW50IHJjKTsKK3R5cGVkZWYg
dm9pZCBsaWJ4bF9fZG9tYWluX3NhdmVfY2IobGlieGxfX2VnYyosCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSosIGludCByYyk7CiB0
eXBlZGVmIHZvaWQgbGlieGxfX3NhdmVfZGV2aWNlX21vZGVsX2NiKGxpYnhsX19lZ2MqLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUqLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUqLCBpbnQgcmMpOwogCiAvKiBTdGF0ZSBmb3Ig
d3JpdGluZyBhIGxpYnhsIG1pZ3JhdGlvbiB2MiBzdHJlYW0gKi8KIHR5cGVkZWYgc3RydWN0IGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZTsKQEAgLTMw
MjQsNyArMzAyNSw3IEBAIHR5cGVkZWYgdm9pZCAoKnN3c19yZWNvcmRfZG9uZV9jYikobGlieGxf
X2VnYyAqZWdjLAogc3RydWN0IGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgewogICAgIC8qIGZp
bGxlZCBieSB0aGUgdXNlciAqLwogICAgIGxpYnhsX19hbyAqYW87Ci0gICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3M7
CiAgICAgaW50IGZkOwogICAgIHZvaWQgKCpjb21wbGV0aW9uX2NhbGxiYWNrKShsaWJ4bF9fZWdj
ICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3Jp
dGVfc3RhdGUgKnN3cywKQEAgLTMwNzgsOSArMzA3OSwzMyBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4
bF9fbG9nZGlydHlfc3dpdGNoIHsKIH0gbGlieGxfX2xvZ2RpcnR5X3N3aXRjaDsKIAogc3RydWN0
IGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSB7CisgICAgLyogc2V0IGJ5IGNhbGxlciBvZiBs
aWJ4bF9fZG9tYWluX3N1c3BlbmRfaW5pdCAqLworICAgIGxpYnhsX19hbyAqYW87CisgICAgdWlu
dDMyX3QgZG9taWQ7CisKKyAgICAvKiBwcml2YXRlICovCisgICAgbGlieGxfZG9tYWluX3R5cGUg
dHlwZTsKKworICAgIGxpYnhsX19ldl9ldnRjaG4gZ3Vlc3RfZXZ0Y2huOworICAgIGludCBndWVz
dF9ldnRjaG5fbG9ja2ZkOworICAgIGludCBndWVzdF9yZXNwb25kZWQ7CisKKyAgICBsaWJ4bF9f
eHN3YWl0X3N0YXRlIHB2Y29udHJvbDsKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaCBndWVzdF93YXRj
aDsKKyAgICBsaWJ4bF9fZXZfdGltZSBndWVzdF90aW1lb3V0OworCisgICAgY29uc3QgY2hhciAq
ZG1fc2F2ZWZpbGU7CisgICAgdm9pZCAoKmNhbGxiYWNrX2NvbW1vbl9kb25lKShsaWJ4bF9fZWdj
KiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfc3RhdGUqLCBpbnQgb2spOworfTsKK2ludCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
aW5pdChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX2RvbWFpbl90eXBlIHR5cGUpOworCitzdHJ1Y3QgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlIHsKICAgICAvKiBzZXQgYnkgY2FsbGVyIG9mIGxpYnhsX19kb21haW5fc2F2ZSAq
LwogICAgIGxpYnhsX19hbyAqYW87Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NiICpjYWxs
YmFjazsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfY2IgKmNhbGxiYWNrOwogCiAgICAgdWludDMy
X3QgZG9taWQ7CiAgICAgaW50IGZkOwpAQCAtMzA5MSwyMiArMzExNiwxNCBAQCBzdHJ1Y3QgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlIHsKICAgICBjb25zdCBsaWJ4bF9kb21haW5fcmVtdXNf
aW5mbyAqcmVtdXM7CiAgICAgLyogcHJpdmF0ZSAqLwogICAgIGludCByYzsKLSAgICBsaWJ4bF9f
ZXZfZXZ0Y2huIGd1ZXN0X2V2dGNobjsKLSAgICBpbnQgZ3Vlc3RfZXZ0Y2huX2xvY2tmZDsKICAg
ICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwotICAgIGludCBndWVzdF9yZXNwb25kZWQ7Ci0g
ICAgbGlieGxfX3hzd2FpdF9zdGF0ZSBwdmNvbnRyb2w7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2gg
Z3Vlc3Rfd2F0Y2g7Ci0gICAgbGlieGxfX2V2X3RpbWUgZ3Vlc3RfdGltZW91dDsKLSAgICBjb25z
dCBjaGFyICpkbV9zYXZlZmlsZTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgZHNw
czsKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSByZHM7CiAgICAgbGlieGxfX2V2X3Rp
bWUgY2hlY2twb2ludF90aW1lb3V0OyAvKiB1c2VkIGZvciBSZW11cyBjaGVja3BvaW50ICovCiAg
ICAgaW50IGludGVydmFsOyAvKiBjaGVja3BvaW50IGludGVydmFsIChmb3IgUmVtdXMpICovCiAg
ICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSBzd3M7CiAgICAgbGlieGxfX2xvZ2RpcnR5X3N3
aXRjaCBsb2dkaXJ0eTsKLSAgICB2b2lkICgqY2FsbGJhY2tfY29tbW9uX2RvbmUpKGxpYnhsX19l
Z2MqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSosIGludCBvayk7CiB9OwogCiAKQEAgLTM0NDcsMTIgKzM0NjQsMTIg
QEAgc3RydWN0IGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlIHsKIAogLyogY2FsbHMgZHNzLT5j
YWxsYmFjayB3aGVuIGRvbmUgKi8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGli
eGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKTsKIAogCiAvKiBjYWxscyBsaWJ4bF9feGNf
ZG9tYWluX3N1c3BlbmRfZG9uZSB3aGVuIGRvbmUgKi8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9feGNf
ZG9tYWluX3NhdmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAq
c2hzKTsKIC8qIElmIHJjPT0wIHRoZW4gcmV0dmFsIGlzIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB4
Y19kb21haW5fc2F2ZQogICogYW5kIGVycm5vdmFsIGlzIHRoZSBlcnJubyB2YWx1ZSBpdCBwcm92
aWRlZC4KQEAgLTM0NzAsNyArMzQ4Nyw3IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVz
dG9yZV9hc3luY19jYWxsYmFja19kb25lKGxpYnhsX19lZ2MgKmVnYywKIAogX2hpZGRlbiB2b2lk
IGxpYnhsX19kb21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGlydHkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50IGRvbWlkLCB1bnNpZ25lZCBpbnQgZW5hYmxl
LCB2b2lkICpkYXRhKTsKLV9oaWRkZW4gaW50IGxpYnhsX19zYXZlX2VtdWxhdG9yX3hlbnN0b3Jl
X2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCitfaGlkZGVuIGludCBsaWJ4
bF9fc2F2ZV9lbXVsYXRvcl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAq
ZHNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFy
ICoqYnVmLCB1aW50MzJfdCAqbGVuKTsKIF9oaWRkZW4gaW50IGxpYnhsX19yZXN0b3JlX2VtdWxh
dG9yX3hlbnN0b3JlX2RhdGEKICAgICAobGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcywg
Y29uc3QgY2hhciAqcHRyLCB1aW50MzJfdCBzaXplKTsKQEAgLTM0OTgsMjEgKzM1MTUsMjEgQEAg
c3RhdGljIGlubGluZSBib29sIGxpYnhsX19zYXZlX2hlbHBlcl9pbnVzZShjb25zdCBsaWJ4bF9f
c2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKIAogLyogRWFjaCB0aW1lIHRoZSBkbSBuZWVkcyB0byBi
ZSBzYXZlZCwgd2UgbXVzdCBjYWxsIHN1c3BlbmQgYW5kIHRoZW4gc2F2ZSAqLwogX2hpZGRlbiBp
bnQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChsaWJ4bF9fZ2MgKmdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMpOwogCiBfaGlkZGVuIGNvbnN0
IGNoYXIgKmxpYnhsX19kZXZpY2VfbW9kZWxfc2F2ZWZpbGUobGlieGxfX2djICpnYywgdWludDMy
X3QgZG9taWQpOwogCi0vKiBjYWxscyBkc3MtPmNhbGxiYWNrX2NvbW1vbl9kb25lIHdoZW4gZG9u
ZSAqLworLyogY2FsbHMgZHNwcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCiBf
aGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfc3RhdGUgKmRzcHMpOwogLyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBn
dWVzdCBkdXJpbmcgbWlncmF0aW9uICovCiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX2NhbGxiYWNrKHZvaWQgKmRhdGEpOwogCiAvKiBSZW11cyBzZXR1cCBhbmQgdGVhcmRvd24g
Ki8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2
ZV9zdGF0ZSAqZHNzKTsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfdGVhcmRvd24obGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByYyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVf
c2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MpOwpkaWZmIC0tZ2l0IGEvdG9v
bHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIu
YwppbmRleCAxMDdlODY3Li5jMjQ1YTRlIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9u
ZXRidWZmZXIuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwpAQCAtNDEsNyAr
NDEsNyBAQCBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpCiBpbnQg
aW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQogewogICAg
IGludCByYywgcmV0OwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09O
VEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUg
KmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CiAKICAgICBTVEFURV9BT19HQyhy
ZHMtPmFvKTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYyBiL3Rvb2xz
L2xpYnhsL2xpYnhsX3JlbXVzLmMKaW5kZXggNTY3MjUwZC4uMzQwZDA3NiAxMDA2NDQKLS0tIGEv
dG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5j
CkBAIC0zMSw3ICszMSw3IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdW1l
X2NhbGxiYWNrKHZvaWQgKmRhdGEpOwogc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9z
YXZlX2NoZWNrcG9pbnRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CiAKIHZvaWQgbGlieGxfX3JlbXVz
X3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQorICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2RvbWFpbl9zYXZlX3N0YXRlICpkc3MpCiB7CiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwogICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
CkBAIC03Miw3ICs3Miw3IEBAIG91dDoKIHN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGli
eGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqcmRzLCBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19k
b21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKICAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIAogICAgIGlmICghcmMpIHsKQEAgLTg5LDcgKzg5LDcg
QEAgc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiBzdGF0aWMg
dm9pZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
IHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCiAg
ICAgaWYgKHJjKQpAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3du
X2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpOwogdm9pZCBsaWJ4bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAq
ZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKICAgICBF
R0NfR0M7CkBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIHZvaWQgcmVtdXNfdGVhcmRvd25fZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENP
TlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRl
ICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogICAgIFNUQVRFX0FPX0dDKGRz
cy0+YW8pOwogCiAgICAgaWYgKHJjKQpAQCAtMTMxLDcgKzEzMSw3IEBAIHN0YXRpYyB2b2lkIHJl
bXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAogLyotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIHJlbXVzIGNhbGxiYWNrcyAoc2F2ZSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBz
dGF0aWMgdm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4
bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgb2spOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMsIGludCBvayk7CiBzdGF0
aWMgdm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfc3RhdGUgKnJkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJjKTsKQEAgLTE0MywxNSArMTQzLDE4IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19k
b21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKQogewogICAgIGxpYnhsX19zYXZlX2hl
bHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsK
LSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRl
OworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7
CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gJmRzcy0+ZHNwczsKIAot
ICAgIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgPSByZW11c19kb21haW5fc3VzcGVuZF9jYWxs
YmFja19jb21tb25fZG9uZTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmQoZWdjLCBkc3MpOwor
ICAgIGRzcHMtPmNhbGxiYWNrX2NvbW1vbl9kb25lID0gcmVtdXNfZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2tfY29tbW9uX2RvbmU7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kKGVnYywgZHNwcyk7
CiB9CiAKIHN0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9k
b25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLCBpbnQgcmMp
CiB7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoZHNw
cywgKmRzcywgZHNwcyk7CisKICAgICBpZiAocmMpCiAgICAgICAgIGdvdG8gb3V0OwogCkBAIC0x
NjksNyArMTcyLDcgQEAgc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYihs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogCiAg
ICAgaWYgKHJjKQogICAgICAgICBnb3RvIG91dDsKQEAgLTE4Niw3ICsxODksNyBAQCBzdGF0aWMg
dm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKQogewog
ICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKICAgICBsaWJ4bF9fZWdj
ICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9
IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0g
c2hzLT5jYWxsZXJfc3RhdGU7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAKICAgICBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRzID0gJmRzcy0+cmRzOwpAQCAtMTk4LDcg
KzIwMSw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19l
Z2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19y
ZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3Mg
PSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9z
dGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKICAgICBTVEFURV9BT19H
Qyhkc3MtPmFvKTsKIAogICAgIGlmIChyYykKQEAgLTIyOSw3ICsyMzIsNyBAQCBzdGF0aWMgdm9p
ZCByZW11c19uZXh0X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAq
ZXYsCiBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxs
YmFjayh2b2lkICpkYXRhKQogewogICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0g
ZGF0YTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJf
c3RhdGU7CiAgICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7CiAgICAgU1RBVEVfQU9fR0Mo
ZHNzLT5hbyk7CiAKQEAgLTIzOSw3ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNf
ZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQogc3RhdGljIHZvaWQg
cmVtdXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKICAgICBsaWJ4bF9fZWdjICplZ2MsIGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKQogewotICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKKyAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihzd3MsICpkc3Ms
IHN3cyk7CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCiAgICAgbGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKQEAgLTI2NCw3ICsyNjcsNyBA
QCBzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSAqcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQog
ewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJk
cywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRB
SU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApA
QCAtMjk5LDcgKzMwMiw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4
bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MgPQorICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05UQUlORVJfT0YoZXYsICpkc3MsIGNoZWNr
cG9pbnRfdGltZW91dCk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2
ZV9jYWxsb3V0LmMKaW5kZXggNDViOTcyNy4uOTRiNmI2NyAxMDA2NDQKLS0tIGEvdG9vbHMvbGli
eGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxs
b3V0LmMKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBsaWJ4bF9feGNfZG9tYWluX3Jlc3RvcmUobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzLAogICAgICAgICAg
ICAgICAgYXJnbnVtcywgQVJSQVlfU0laRShhcmdudW1zKSk7CiB9CiAKLXZvaWQgbGlieGxfX3hj
X2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MsCit2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX3N0cmVhbV93cml0ZS5jCmluZGV4IDIxYjRiNTEuLjkwNTMxNDYgMTAwNjQ0Ci0t
LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3N0cmVhbV93cml0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX3N0cmVhbV93cml0ZS5jCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBsaWJ4bF9fc3RyZWFt
X3dyaXRlX3N0YXJ0KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzdHJlYW0pCiB7CiAgICAgbGlieGxfX2Rh
dGFjb3BpZXJfc3RhdGUgKmRjID0gJnN0cmVhbS0+ZGM7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBzdHJlYW0tPmRzczsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3Rh
dGUgKmRzcyA9IHN0cmVhbS0+ZHNzOwogICAgIFNUQVRFX0FPX0dDKHN0cmVhbS0+YW8pOwogICAg
IHN0cnVjdCBsaWJ4bF9fc3JfaGRyIGhkcjsKICAgICBpbnQgcmMgPSAwOwpAQCAtMzI0LDcgKzMy
NCw3IEBAIHN0YXRpYyB2b2lkIGxpYnhjX2hlYWRlcl9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHZv
aWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkc3Nf
dm9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjLCBpbnQgcmV0dmFs
LCBpbnQgZXJybm92YWwpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3Mg
PSBkc3Nfdm9pZDsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IGRzc192b2lk
OwogICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSA9ICZkc3MtPnN3czsKICAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApAQCAtMzMzLDEwICszMzMsMTAgQEAgdm9pZCBsaWJ4
bF9feGNfZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsIHZvaWQgKmRzc192b2lkLAog
CiAgICAgaWYgKHJldHZhbCkgewogICAgICAgICBMT0dFVihFUlJPUiwgZXJybm92YWwsICJzYXZp
bmcgZG9tYWluOiAlcyIsCi0gICAgICAgICAgICAgIGRzcy0+Z3Vlc3RfcmVzcG9uZGVkID8KKyAg
ICAgICAgICAgICAgZHNzLT5kc3BzLmd1ZXN0X3Jlc3BvbmRlZCA/CiAgICAgICAgICAgICAgICJk
b21haW4gcmVzcG9uZGVkIHRvIHN1c3BlbmQgcmVxdWVzdCIgOgogICAgICAgICAgICAgICAiZG9t
YWluIGRpZCBub3QgcmVzcG9uZCB0byBzdXNwZW5kIHJlcXVlc3QiKTsKLSAgICAgICAgaWYgKCFk
c3MtPmd1ZXN0X3Jlc3BvbmRlZCkKKyAgICAgICAgaWYgKCFkc3MtPmRzcHMuZ3Vlc3RfcmVzcG9u
ZGVkKQogICAgICAgICAgICAgcmMgPSBFUlJPUl9HVUVTVF9USU1FRE9VVDsKICAgICAgICAgZWxz
ZSBpZiAoZHNzLT5yYykKICAgICAgICAgICAgIHJjID0gZHNzLT5yYzsKQEAgLTM3MSw3ICszNzEs
NyBAQCB2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywgdm9p
ZCAqZHNzX3ZvaWQsCiBzdGF0aWMgdm9pZCB3cml0ZV9lbXVsYXRvcl94ZW5zdG9yZV9yZWNvcmQo
bGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVhbS0+ZHNzOworICAgIGxpYnhsX19kb21haW5f
c2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7CiAgICAgU1RBVEVfQU9fR0Moc3RyZWFtLT5h
byk7CiAgICAgc3RydWN0IGxpYnhsX19zcl9yZWNfaGRyIHJlYzsKICAgICBpbnQgcmM7CkBAIC00
MTAsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfZW11bGF0b3JfeGVuc3RvcmVfcmVjb3Jk
KGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIGVtdWxhdG9yX3hlbnN0b3JlX3JlY29yZF9k
b25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9f
ZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVhbS0+ZHNzOworICAgIGxpYnhsX19kb21h
aW5fc2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7CiAKICAgICBpZiAoZHNzLT50eXBlID09
IExJQlhMX0RPTUFJTl9UWVBFX0hWTSkKICAgICAgICAgd3JpdGVfZW11bGF0b3JfY29udGV4dF9y
ZWNvcmQoZWdjLCBzdHJlYW0pOwpAQCAtNDI1LDcgKzQyNSw3IEBAIHN0YXRpYyB2b2lkIGVtdWxh
dG9yX3hlbnN0b3JlX3JlY29yZF9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIHdy
aXRlX2VtdWxhdG9yX2NvbnRleHRfcmVjb3JkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUg
KnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVh
bS0+ZHNzOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7
CiAgICAgbGlieGxfX2RhdGFjb3BpZXJfc3RhdGUgKmRjID0gJnN0cmVhbS0+ZW11X2RjOwogICAg
IFNUQVRFX0FPX0dDKHN0cmVhbS0+YW8pOwogICAgIHN0cnVjdCBsaWJ4bF9fc3JfcmVjX2hkciAq
cmVjID0gJnN0cmVhbS0+ZW11X3JlY19oZHI7CkBAIC00NDAsNyArNDQwLDcgQEAgc3RhdGljIHZv
aWQgd3JpdGVfZW11bGF0b3JfY29udGV4dF9yZWNvcmQobGlieGxfX2VnYyAqZWdjLAogICAgIH0K
IAogICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBjb25zdCBjaGFyICpjb25zdCBm
aWxlbmFtZSA9IGRzcy0+ZG1fc2F2ZWZpbGU7CisgICAgY29uc3QgY2hhciAqY29uc3QgZmlsZW5h
bWUgPSBkc3MtPmRzcHMuZG1fc2F2ZWZpbGU7CiAKICAgICBsaWJ4bF9fY2FyZWZkX2JlZ2luKCk7
CiAgICAgaW50IHJlYWRmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZKTsKLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:57:56 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDo-0007Wk-TU; Sun, 28 Feb 2016 23:57:56 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDm-0007WH-RH
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:55 +0000
Received: from [85.158.137.68] by server-9.bemta-3.messagelabs.com id
 45/A2-03814-28983D65; Sun, 28 Feb 2016 23:57:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-31.messagelabs.com!1456703871!25572205!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 57395 invoked from network); 28 Feb 2016 23:57:52 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-10.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:57:52 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDj-0000xN-5g
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDj-0001zK-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:57:51 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDj-0001zK-3I@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:57:51 +0000
Subject: [Xen-changelog] [xen master] libxl/save: Refactor
	libxl__domain_suspend_state
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGQ1YzY5M2Q5YmIzZjc3MzQyYjY0MGQ2NzQ0ODU4YmY2ODA5NDczY2MKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTozNiAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTQ6Mjc6MTIgMjAxNiArMDAwMAoKICAg
IGxpYnhsL3NhdmU6IFJlZmFjdG9yIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZQogICAgCiAg
ICBDdXJyZW50bHkgc3RydWN0IGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSBjb250YWlucyAy
IHR5cGUgb2Ygc3RhdGVzLAogICAgb25lIGlzIHNhdmUgc3RhdGUsIGFub3RoZXIgaXMgc3VzcGVu
ZCBzdGF0ZS4gVGhpcyBwYXRjaCBzZXBhcmF0ZXMgdGhvc2UKICAgIHR3byBvdXQuCiAgICBUaGUg
bW90aXZhdGlvbiBvZiB0aGlzIGlzIHRoYXQgQ09MTyB3aWxsIG5lZWQgdG8gZG8gc3VzcGVuZC9y
ZXN1bWUKICAgIGNvbnRpbnVvdXNseSwgd2UgbmVlZCBhIG1vcmUgY29tbW9uIHN1c3BlbmQgc3Rh
dGUuCiAgICAKICAgIEFmdGVyIHRoaXMgY2hhbmdlLCBkc3Mgc3RhbmRzIGZvciBsaWJ4bF9fZG9t
YWluX3NhdmVfc3RhdGUsCiAgICBkc3BzIHN0YW5kcyBmb3IgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlLgogICAgCiAgICBBbHNvIGludHJvZHVjZSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfaW5p
dCB0byBpbml0aWFsaXNlIHRoZQogICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlLgogICAg
CiAgICBTaWduZWQtb2ZmLWJ5OiBZYW5nIEhvbmd5YW5nIDxob25neWFuZy55YW5nQGVhc3lzdGFj
ay5jbj4KICAgIFNpZ25lZC1vZmYtYnk6IFdlbiBDb25neWFuZyA8d2VuY3lAY24uZnVqaXRzdS5j
b20+CiAgICBDQzogSWFuIENhbXBiZWxsIDxJYW4uQ2FtcGJlbGxAY2l0cml4LmNvbT4KICAgIEND
OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KICAgIENDOiBXZWkgTGl1
IDx3ZWkubGl1MkBjaXRyaXguY29tPgogICAgQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+CiAgICBBY2tlZC1ieTpJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBj
aXRyaXguY29tPgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFk
LndpbGtAb3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu
Y29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAgICAgIHwgIDEwICstCiB0b29s
cy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgICAgICB8ICAxMCArLQogdG9vbHMvbGlieGwvbGlieGxf
ZG9tX3NhdmUuYyAgICAgfCAgNjEgKysrKy0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb21f
c3VzcGVuZC5jICB8IDIwNyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0K
IHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgIHwgIDYxICsrKysrKystLS0tLQogdG9v
bHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgICAgfCAgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhs
X3JlbXVzLmMgICAgICAgIHwgIDM3ICsrKy0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2Fs
bG91dC5jIHwgICAyICstCiB0b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyB8ICAxNiAr
LS0KIDkgZmlsZXMgY2hhbmdlZCwgMjI3IGluc2VydGlvbnMoKyksIDE3OSBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGlieGwvbGlieGwuYwpp
bmRleCBkNmNlN2RhLi5kYjU3MzJjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bC5jCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTgzMiw3ICs4MzIsNyBAQCBvdXQ6CiB9CiAKIHN0
YXRpYyB2b2lkIHJlbXVzX2ZhaWxvdmVyX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQg
cmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3MsIGludCByYyk7CiAKIC8qIFRPRE86IEV4cGxpY2l0IENoZWNrcG9pbnQgYWNrbm93
bGVkZ2VtZW50cyB2aWEgcmVjdl9mZC4gKi8KIGludCBsaWJ4bF9kb21haW5fcmVtdXNfc3RhcnQo
bGlieGxfY3R4ICpjdHgsIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZvLApAQCAtODQwLDcg
Kzg0MCw3IEBAIGludCBsaWJ4bF9kb21haW5fcmVtdXNfc3RhcnQobGlieGxfY3R4ICpjdHgsIGxp
YnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQogewogICAgIEFPX0NSRUFURShjdHgs
IGRvbWlkLCBhb19ob3cpOwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzOwor
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzOwogICAgIGludCByYzsKIAogICAgIGxp
YnhsX2RvbWFpbl90eXBlIHR5cGUgPSBsaWJ4bF9fZG9tYWluX3R5cGUoZ2MsIGRvbWlkKTsKQEAg
LTg4OCw3ICs4ODgsNyBAQCBpbnQgbGlieGxfZG9tYWluX3JlbXVzX3N0YXJ0KGxpYnhsX2N0eCAq
Y3R4LCBsaWJ4bF9kb21haW5fcmVtdXNfaW5mbyAqaW5mbywKIH0KIAogc3RhdGljIHZvaWQgcmVt
dXNfZmFpbG92ZXJfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLCBpbnQg
cmMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAgICAgLyoKQEAgLTkwMCw3ICs5MDAs
NyBAQCBzdGF0aWMgdm9pZCByZW11c19mYWlsb3Zlcl9jYihsaWJ4bF9fZWdjICplZ2MsCiB9CiAK
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBp
bnQgcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcywgaW50IHJjKQogewogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogICAgIGlu
dCBmbHJjOwpAQCAtOTI1LDcgKzkyNSw3IEBAIGludCBsaWJ4bF9kb21haW5fc3VzcGVuZChsaWJ4
bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGludCBmZCwgaW50IGZsYWdzLAogICAgICAgICBn
b3RvIG91dF9lcnI7CiAgICAgfQogCi0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3M7CiAgICAgR0NORVcoZHNzKTsK
IAogICAgIGRzcy0+YW8gPSBhbzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0
ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggZTQyMWQzNi4uYWQxZDUwYyAx
MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfY3JlYXRlLmMKQEAgLTE1NTgsNyArMTU1OCw3IEBAIHR5cGVkZWYgc3RydWN0IHsKIHR5
cGVkZWYgc3RydWN0IHsKICAgICBsaWJ4bF9fYXBwX2RvbWFpbl9jcmVhdGVfc3RhdGUgY2RjczsK
ICAgICBsaWJ4bF9fZG9tYWluX2Rlc3Ryb3lfc3RhdGUgZGRzOwotICAgIGxpYnhsX19kb21haW5f
c3VzcGVuZF9zdGF0ZSBkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlIGRzczsKICAg
ICBjaGFyICp0b29sc3RhY2tfYnVmOwogICAgIHVpbnQzMl90IHRvb2xzdGFja19sZW47CiB9IGxp
YnhsX19kb21haW5fc29mdF9yZXNldF9zdGF0ZTsKQEAgLTE2NTMsNyArMTY1Myw3IEBAIHN0YXRp
YyBpbnQgZG9fZG9tYWluX3NvZnRfcmVzZXQobGlieGxfY3R4ICpjdHgsCiAgICAgbGlieGxfX2Fw
cF9kb21haW5fY3JlYXRlX3N0YXRlICpjZGNzOwogICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0
YXRlICpkY3M7CiAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGU7Ci0gICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3M7CiAgICAgY2hhciAqZG9tX3BhdGgsICp4c19zdG9yZV9tZm4sICp4c19jb25zb2xl
X21mbjsKICAgICB1aW50MzJfdCBkb21pZF9vdXQ7CiAgICAgaW50IHJjOwpAQCAtMTY5Nyw4ICsx
Njk3LDggQEAgc3RhdGljIGludCBkb19kb21haW5fc29mdF9yZXNldChsaWJ4bF9jdHggKmN0eCwK
IAogICAgIGRzcy0+YW8gPSBhbzsKICAgICBkc3MtPmRvbWlkID0gZG9taWRfc29mdF9yZXNldDsK
LSAgICBkc3MtPmRtX3NhdmVmaWxlID0gR0NTUFJJTlRGKExJQlhMX0RFVklDRV9NT0RFTF9TQVZF
X0ZJTEUiLiVkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3NvZnRf
cmVzZXQpOworICAgIGRzcy0+ZHNwcy5kbV9zYXZlZmlsZSA9IEdDU1BSSU5URihMSUJYTF9ERVZJ
Q0VfTU9ERUxfU0FWRV9GSUxFIi4lZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRvbWlkX3NvZnRfcmVzZXQpOwogCiAgICAgcmMgPSBsaWJ4bF9fc2F2ZV9lbXVsYXRv
cl94ZW5zdG9yZV9kYXRhKGRzcywgJnNycy0+dG9vbHN0YWNrX2J1ZiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNycy0+dG9vbHN0YWNrX2xlbik7CkBAIC0x
NzA3LDcgKzE3MDcsNyBAQCBzdGF0aWMgaW50IGRvX2RvbWFpbl9zb2Z0X3Jlc2V0KGxpYnhsX2N0
eCAqY3R4LAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKLSAgICByYyA9IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9kZXZpY2VfbW9kZWwoZ2MsIGRzcyk7CisgICAgcmMgPSBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfZGV2aWNlX21vZGVsKGdjLCAmZHNzLT5kc3BzKTsKICAgICBpZiAocmMpIHsKICAg
ICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIHN1c3BlbmQgZGV2aWNlIG1vZGVsLiIpOwogICAg
ICAgICBnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMg
Yi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCmluZGV4IGNjYTM0MDQuLmFlYWQwNDIgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKKysrIGIvdG9vbHMvbGlieGwv
bGlieGxfZG9tX3NhdmUuYwpAQCAtMjQsNyArMjQsNyBAQAogc3RhdGljIHZvaWQgc3RyZWFtX2Rv
bmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3N0cmVh
bV93cml0ZV9zdGF0ZSAqc3dzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJjKTsKIAogLyotLS0t
LSBjb21wbGljYXRlZCBjYWxsYmFjaywgY2FsbGVkIGJ5IHhjX2RvbWFpbl9zYXZlIC0tLS0tKi8K
IApAQCAtNDIsNyArNDIsNyBAQCBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlfdGltZW91dChs
aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKIHN0YXRpYyB2b2lkIHN3aXRjaF9s
b2dkaXJ0eV94c3dhdGNoKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2gqLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsIGNvbnN0IGNo
YXIgKmV2ZW50X3BhdGgpOwogc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X2RvbmUobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJjKTsKIAogc3RhdGlj
IHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpCiB7CkBAIC01
Niw3ICs1Niw3IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90
cmFkaXRpb25hbF9sb2dkaXJ0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKIHsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMt
PmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJf
c3RhdGU7CiAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzID0gJmRzcy0+bG9nZGlydHk7
CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAgICAgaW50IHJjOwpAQCAtMTI4LDcgKzEyOCw3
IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9sb2dkaXJ0eQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUg
KnNocykKIHsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19k
b21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7CiAgICAgU1RBVEVfQU9f
R0MoZHNzLT5hbyk7CiAgICAgaW50IHJjOwogCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5CiB7CiAgICAgbGli
eGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMgPSB1c2VyOwogICAgIGxpYnhsX19lZ2MgKmVnYyA9
IHNocy0+ZWdjOwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gc2hzLT5j
YWxsZXJfc3RhdGU7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBzaHMtPmNh
bGxlcl9zdGF0ZTsKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIAogICAgIHN3aXRjaCAobGli
eGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkgewpAQCAtMTcxLDcg
KzE3MSw3IEBAIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoZXYsICpkc3MsIGxvZ2RpcnR5LnRpbWVvdXQp
OworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGV2LCAq
ZHNzLCBsb2dkaXJ0eS50aW1lb3V0KTsKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKICAgICBM
T0coRVJST1IsImxvZ2RpcnR5IHN3aXRjaDogd2FpdCBmb3IgZGV2aWNlIG1vZGVsIHRpbWVkIG91
dCIpOwogICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGVnYyxkc3MsRVJST1JfRkFJTCk7CkBAIC0x
ODAsNyArMTgwLDcgQEAgc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGlieGxf
X2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCiBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGly
dHlfeHN3YXRjaChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl94c3dhdGNoICp3YXRjaCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp3YXRjaF9wYXRoLCBjb25zdCBj
aGFyICpldmVudF9wYXRoKQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNz
ID0KKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9CiAgICAgICAgIENPTlRBSU5F
Ul9PRih3YXRjaCwgKmRzcywgbG9nZGlydHkud2F0Y2gpOwogICAgIGxpYnhsX19sb2dkaXJ0eV9z
d2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwpA
QCAtMjM0LDcgKzIzNCw3IEBAIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV94c3dhdGNoKGxp
YnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2ggKndhdGNoLAogfQogCiBzdGF0aWMgdm9p
ZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewogICAgIFNUQVRF
X0FPX0dDKGRzcy0+YW8pOwpAQCAtMjcwLDcgKzI3MCw3IEBAIHN0YXRpYyB2b2lkIGFwcGVuZF9z
dHJpbmcobGlieGxfX2djICpnYywgY2hhciAqKmJ1ZiwgdWludDMyX3QgKmxlbiwKICAgICAqbGVu
ICs9IGV4dHJhbGVuOwogfQogCi1pbnQgbGlieGxfX3NhdmVfZW11bGF0b3JfeGVuc3RvcmVfZGF0
YShsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKK2ludCBsaWJ4bF9fc2F2ZV9lbXVs
YXRvcl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKmNhbGxlZV9idWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY2FsbGVlX2xlbikK
IHsKQEAgLTMyMiwxMCArMzIyLDkgQEAgaW50IGxpYnhsX19zYXZlX2VtdWxhdG9yX3hlbnN0b3Jl
X2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCiAKIC8qLS0tLS0gbWFpbiBj
b2RlIGZvciBzYXZpbmcsIGluIG9yZGVyIG9mIGV4ZWN1dGlvbiAtLS0tLSovCiAKLXZvaWQgbGli
eGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MpCit2b2lkIGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogewogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwot
ICAgIGludCBwb3J0OwogICAgIGludCByYywgcmV0OwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxp
YXNlcyAqLwpAQCAtMzM3LDEzICszMzYsMTQgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAgICBsaWJ4
bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxsYmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CiAgICAgICAg
ICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tzLnNhdmUuYTsKICAgICB1bnNpZ25lZCBpbnQgbnJfdm5v
ZGVzID0gMCwgbnJfdm1lbXJhbmdlcyA9IDAsIG5yX3ZjcHVzID0gMDsKKyAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcHMgPSAmZHNzLT5kc3BzOwogCiAgICAgZHNzLT5yYyA9IDA7
CiAgICAgbG9nZGlydHlfaW5pdCgmZHNzLT5sb2dkaXJ0eSk7Ci0gICAgbGlieGxfX3hzd2FpdF9p
bml0KCZkc3MtPnB2Y29udHJvbCk7Ci0gICAgbGlieGxfX2V2X2V2dGNobl9pbml0KCZkc3MtPmd1
ZXN0X2V2dGNobik7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2hfaW5pdCgmZHNzLT5ndWVzdF93YXRj
aCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmZHNzLT5ndWVzdF90aW1lb3V0KTsKKyAgICBk
c3BzLT5hbyA9IGFvOworICAgIGRzcHMtPmRvbWlkID0gZG9taWQ7CisgICAgcmMgPSBsaWJ4bF9f
ZG9tYWluX3N1c3BlbmRfaW5pdChlZ2MsIGRzcHMsIHR5cGUpOworICAgIGlmIChyYykgZ290byBv
dXQ7CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExJQlhMX0RPTUFJTl9UWVBFX0hW
TTogewpAQCAtMzc2LDExICszNzYsNiBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9f
ZWdjICplZ2MsIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQogICAgICAgICBnb3Rv
IG91dDsKICAgICB9CiAKLSAgICBkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID0gLTE7Ci0gICAgZHNz
LT5ndWVzdF9ldnRjaG5fbG9ja2ZkID0gLTE7Ci0gICAgZHNzLT5ndWVzdF9yZXNwb25kZWQgPSAw
OwotICAgIGRzcy0+ZG1fc2F2ZWZpbGUgPSBsaWJ4bF9fZGV2aWNlX21vZGVsX3NhdmVmaWxlKGdj
LCBkb21pZCk7Ci0KICAgICBpZiAocl9pbmZvICE9IE5VTEwpIHsKICAgICAgICAgZHNzLT5pbnRl
cnZhbCA9IHJfaW5mby0+aW50ZXJ2YWw7CiAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdT
X0NIRUNLUE9JTlRFRDsKQEAgLTM4OCwyMyArMzgzLDYgQEAgdm9pZCBsaWJ4bF9fZG9tYWluX3Nh
dmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKICAg
ICAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRfQ09NUFJFU1M7CiAg
ICAgfQogCi0gICAgcG9ydCA9IHhzX3N1c3BlbmRfZXZ0Y2huX3BvcnQoZHNzLT5kb21pZCk7Ci0K
LSAgICBpZiAocG9ydCA+PSAwKSB7Ci0gICAgICAgIHJjID0gbGlieGxfX2N0eF9ldnRjaG5faW5p
dChnYyk7Ci0gICAgICAgIGlmIChyYykgZ290byBvdXQ7Ci0KLSAgICAgICAgZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCA9Ci0gICAgICAgICAgICB4Y19zdXNwZW5kX2V2dGNobl9pbml0X2V4Y2x1c2l2
ZShDVFgtPnhjaCwgQ1RYLT54Y2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZHNzLT5kb21pZCwgcG9ydCwgJmRzcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7Ci0KLSAgICAgICAg
aWYgKGRzcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQgPCAwKSB7Ci0gICAgICAgICAgICBMT0coV0FSTiwg
IlN1c3BlbmQgZXZlbnQgY2hhbm5lbCBpbml0aWFsaXphdGlvbiBmYWlsZWQiKTsKLSAgICAgICAg
ICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0g
ICAgfQotCiAgICAgaWYgKHJfaW5mbyA9PSBOVUxMKQogICAgICAgICBjYWxsYmFja3MtPnN1c3Bl
bmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CiAKQEAgLTQyOSwxOCArNDA3LDE5
IEBAIHN0YXRpYyB2b2lkIHN0cmVhbV9kb25lKGxpYnhsX19lZ2MgKmVnYywKIH0KIAogc3RhdGlj
IHZvaWQgZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
LCBpbnQgcmMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAKICAgICAvKiBDb252ZW5p
ZW5jZSBhbGlhc2VzICovCiAgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOwor
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNwcyA9ICZkc3MtPmRzcHM7CiAKLSAg
ICBsaWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICBs
aWJ4bF9fZXZfZXZ0Y2huX2NhbmNlbChnYywgJmRzcHMtPmd1ZXN0X2V2dGNobik7CiAKLSAgICBp
ZiAoZHNzLT5ndWVzdF9ldnRjaG4ucG9ydCA+IDApCisgICAgaWYgKGRzcHMtPmd1ZXN0X2V2dGNo
bi5wb3J0ID4gMCkKICAgICAgICAgeGNfc3VzcGVuZF9ldnRjaG5fcmVsZWFzZShDVFgtPnhjaCwg
Q1RYLT54Y2UsIGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNzLT5ndWVzdF9l
dnRjaG4ucG9ydCwgJmRzcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBkc3BzLT5ndWVzdF9ldnRjaG4ucG9ydCwgJmRzcHMtPmd1ZXN0X2V2dGNobl9sb2Nr
ZmQpOwogCiAgICAgaWYgKGRzcy0+cmVtdXMpIHsKICAgICAgICAgLyoKZGlmZiAtLWdpdCBhL3Rv
b2xzL2xpYnhsL2xpYnhsX2RvbV9zdXNwZW5kLmMgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc3Vz
cGVuZC5jCmluZGV4IDE2ZjYwM2YuLmNjMGIyMTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zdXNwZW5kLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tX3N1c3BlbmQuYwpA
QCAtMTksMTQgKzE5LDYxIEBACiAKIC8qPT09PT09PT09PT09PT09PT09PT09PSBEb21haW4gc3Vz
cGVuZCA9PT09PT09PT09PT09PT09PT09PT09PSovCiAKK2ludCBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfaW5pdChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX2RvbWFpbl90eXBlIHR5cGUpCit7CisgICAgU1RBVEVfQU9fR0MoZHNw
cy0+YW8pOworICAgIGludCByYyA9IEVSUk9SX0ZBSUw7CisgICAgaW50IHBvcnQ7CisKKyAgICAv
KiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisgICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3Bz
LT5kb21pZDsKKworICAgIGxpYnhsX194c3dhaXRfaW5pdCgmZHNwcy0+cHZjb250cm9sKTsKKyAg
ICBsaWJ4bF9fZXZfZXZ0Y2huX2luaXQoJmRzcHMtPmd1ZXN0X2V2dGNobik7CisgICAgbGlieGxf
X2V2X3hzd2F0Y2hfaW5pdCgmZHNwcy0+Z3Vlc3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1l
X2luaXQoJmRzcHMtPmd1ZXN0X3RpbWVvdXQpOworCisgICAgaWYgKHR5cGUgPT0gTElCWExfRE9N
QUlOX1RZUEVfSU5WQUxJRCkgZ290byBvdXQ7CisgICAgZHNwcy0+dHlwZSA9IHR5cGU7CisKKyAg
ICBkc3BzLT5ndWVzdF9ldnRjaG4ucG9ydCA9IC0xOworICAgIGRzcHMtPmd1ZXN0X2V2dGNobl9s
b2NrZmQgPSAtMTsKKyAgICBkc3BzLT5ndWVzdF9yZXNwb25kZWQgPSAwOworICAgIGRzcHMtPmRt
X3NhdmVmaWxlID0gbGlieGxfX2RldmljZV9tb2RlbF9zYXZlZmlsZShnYywgZG9taWQpOworCisg
ICAgcG9ydCA9IHhzX3N1c3BlbmRfZXZ0Y2huX3BvcnQoZG9taWQpOworCisgICAgaWYgKHBvcnQg
Pj0gMCkgeworICAgICAgICByYyA9IGxpYnhsX19jdHhfZXZ0Y2huX2luaXQoZ2MpOworICAgICAg
ICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgICAgIGRzcHMtPmd1ZXN0X2V2dGNobi5wb3J0ID0K
KyAgICAgICAgICAgIHhjX3N1c3BlbmRfZXZ0Y2huX2luaXRfZXhjbHVzaXZlKENUWC0+eGNoLCBD
VFgtPnhjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkLCBwb3J0
LCAmZHNwcy0+Z3Vlc3RfZXZ0Y2huX2xvY2tmZCk7CisKKyAgICAgICAgaWYgKGRzcHMtPmd1ZXN0
X2V2dGNobi5wb3J0IDwgMCkgeworICAgICAgICAgICAgTE9HKFdBUk4sICJTdXNwZW5kIGV2ZW50
IGNoYW5uZWwgaW5pdGlhbGl6YXRpb24gZmFpbGVkIik7CisgICAgICAgICAgICByYyA9IEVSUk9S
X0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJj
ID0gMDsKKworb3V0OgorICAgIHJldHVybiByYzsKK30KKwogLyotLS0tLSBjYWxsYmFja3MsIGNh
bGxlZCBieSB4Y19kb21haW5fc2F2ZSAtLS0tLSovCiAKIGludCBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfZGV2aWNlX21vZGVsKGxpYnhsX19nYyAqZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0
ZSAqZHNwcykKIHsKICAgICBpbnQgcmV0ID0gMDsKLSAgICB1aW50MzJfdCBjb25zdCBkb21pZCA9
IGRzcy0+ZG9taWQ7Ci0gICAgY29uc3QgY2hhciAqY29uc3QgZmlsZW5hbWUgPSBkc3MtPmRtX3Nh
dmVmaWxlOworICAgIHVpbnQzMl90IGNvbnN0IGRvbWlkID0gZHNwcy0+ZG9taWQ7CisgICAgY29u
c3QgY2hhciAqY29uc3QgZmlsZW5hbWUgPSBkc3BzLT5kbV9zYXZlZmlsZTsKIAogICAgIHN3aXRj
aCAobGlieGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcoZ2MsIGRvbWlkKSkgewogICAg
IGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9OQUw6IHsK
QEAgLTUzLDkgKzEwMCw5IEBAIGludCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVs
KGxpYnhsX19nYyAqZ2MsCiB9CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl93
YWl0X2d1ZXN0KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNwcyk7CiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fZ3Vl
c3Rfc3VzcGVuZGVkKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcHMpOwogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fcHZjb250
cm9sX3N1c3BlbmRpbmcobGlieGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX3hzd2FpdF9zdGF0
ZSAqeHN3YSwgaW50IHJjLCBjb25zdCBjaGFyICpzdGF0ZSk7CkBAIC02NCwyNCArMTExLDI0IEBA
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X2V2dGNobihsaWJ4
bF9fZWdjICplZ2MsCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3dhdGNo
KGxpYnhsX19lZ2MgKmVnYywKICAgICAgIGxpYnhsX19ldl94c3dhdGNoICp4c3csIGNvbnN0IGNo
YXIgKndhdGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpOwogc3RhdGljIHZvaWQgc3Vz
cGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAgICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3BzKTsKIHN0YXRpYyB2b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vl
c3RfdGltZW91dChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICBsaWJ4bF9fZXZfdGltZSAqZXYsIGNv
bnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLCBpbnQgcmMpOwogCiBzdGF0aWMgdm9p
ZCBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNwcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCByYyk7CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2Nv
bW1vbihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0
ZSAqZHNwcyk7CiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMsIGludCByYyk7
CiAKLS8qIGNhbGxzIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCisvKiBj
YWxscyBkc3BzLT5jYWxsYmFja19jb21tb25fZG9uZSB3aGVuIGRvbmUgKi8KIHZvaWQgbGlieGxf
X2RvbWFpbl9zdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihlZ2MsIGRzcyk7CisgICAgZG9tYWluX3N1c3BlbmRf
Y2FsbGJhY2tfY29tbW9uKGVnYywgZHNwcyk7CiB9CiAKIHN0YXRpYyBib29sIGRvbWFpbl9zdXNw
ZW5kX3B2Y29udHJvbF9hY2tlZChjb25zdCBjaGFyICpzdGF0ZSkgewpAQCAtOTAsMzcgKzEzNywz
NyBAQCBzdGF0aWMgYm9vbCBkb21haW5fc3VzcGVuZF9wdmNvbnRyb2xfYWNrZWQoY29uc3QgY2hh
ciAqc3RhdGUpIHsKICAgICByZXR1cm4gc3RyY21wKHN0YXRlLCJzdXNwZW5kIik7CiB9CiAKLS8q
IGNhbGxzIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCisvKiBjYWxscyBk
c3BzLT5jYWxsYmFja19jb21tb25fZG9uZSB3aGVuIGRvbmUgKi8KIHN0YXRpYyB2b2lkIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8p
OworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsKICAgICB1aW50NjRfdCBodm1fc19zdGF0ZSA9
IDAsIGh2bV9wdmRydiA9IDA7CiAgICAgaW50IHJldCwgcmM7CiAKICAgICAvKiBDb252ZW5pZW5j
ZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSBkc3MtPmRvbWlkOworICAg
IGNvbnN0IHVpbnQzMl90IGRvbWlkID0gZHNwcy0+ZG9taWQ7CiAKLSAgICBpZiAoZHNzLT5odm0p
IHsKKyAgICBpZiAoZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKICAgICAg
ICAgeGNfaHZtX3BhcmFtX2dldChDVFgtPnhjaCwgZG9taWQsIEhWTV9QQVJBTV9DQUxMQkFDS19J
UlEsICZodm1fcHZkcnYpOwogICAgICAgICB4Y19odm1fcGFyYW1fZ2V0KENUWC0+eGNoLCBkb21p
ZCwgSFZNX1BBUkFNX0FDUElfU19TVEFURSwgJmh2bV9zX3N0YXRlKTsKICAgICB9CiAKLSAgICBp
ZiAoKGh2bV9zX3N0YXRlID09IDApICYmIChkc3MtPmd1ZXN0X2V2dGNobi5wb3J0ID49IDApKSB7
CisgICAgaWYgKChodm1fc19zdGF0ZSA9PSAwKSAmJiAoZHNwcy0+Z3Vlc3RfZXZ0Y2huLnBvcnQg
Pj0gMCkpIHsKICAgICAgICAgTE9HKERFQlVHLCAiaXNzdWluZyAlcyBzdXNwZW5kIHJlcXVlc3Qg
dmlhIGV2ZW50IGNoYW5uZWwiLAotICAgICAgICAgICAgZHNzLT5odm0gPyAiUFZIVk0iIDogIlBW
Iik7Ci0gICAgICAgIHJldCA9IHhlbmV2dGNobl9ub3RpZnkoQ1RYLT54Y2UsIGRzcy0+Z3Vlc3Rf
ZXZ0Y2huLnBvcnQpOworICAgICAgICAgICAgZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQ
RV9IVk0gPyAiUFZIVk0iIDogIlBWIik7CisgICAgICAgIHJldCA9IHhlbmV2dGNobl9ub3RpZnko
Q1RYLT54Y2UsIGRzcHMtPmd1ZXN0X2V2dGNobi5wb3J0KTsKICAgICAgICAgaWYgKHJldCA8IDAp
IHsKICAgICAgICAgICAgIExPRyhFUlJPUiwgInhlbmV2dGNobl9ub3RpZnkgZmFpbGVkIHJldD0l
ZCIsIHJldCk7CiAgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgICAgICBnb3Rv
IGVycjsKICAgICAgICAgfQogCi0gICAgICAgIGRzcy0+Z3Vlc3RfZXZ0Y2huLmNhbGxiYWNrID0g
ZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfZXZ0Y2huOwotICAgICAgICByYyA9IGxp
YnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICAgICAgZHNw
cy0+Z3Vlc3RfZXZ0Y2huLmNhbGxiYWNrID0gZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vl
c3RfZXZ0Y2huOworICAgICAgICByYyA9IGxpYnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcHMt
Pmd1ZXN0X2V2dGNobik7CiAgICAgICAgIGlmIChyYykgZ290byBlcnI7CiAKLSAgICAgICAgcmMg
PSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZkc3MtPmd1ZXN0X3RpbWVvdXQsCisg
ICAgICAgIHJjID0gbGlieGxfX2V2X3RpbWVfcmVnaXN0ZXJfcmVsKGFvLCAmZHNwcy0+Z3Vlc3Rf
dGltZW91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VzcGVu
ZF9jb21tb25fd2FpdF9ndWVzdF90aW1lb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA2MCoxMDAwKTsKICAgICAgICAgaWYgKHJjKSBnb3RvIGVycjsKQEAgLTEy
OCw3ICsxNzUsNyBAQCBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb24o
bGlieGxfX2VnYyAqZWdjLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGRzcy0+
aHZtICYmICghaHZtX3B2ZHJ2IHx8IGh2bV9zX3N0YXRlKSkgeworICAgIGlmIChkc3BzLT50eXBl
ID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSAmJiAoIWh2bV9wdmRydiB8fCBodm1fc19zdGF0ZSkp
IHsKICAgICAgICAgTE9HKERFQlVHLCAiQ2FsbGluZyB4Y19kb21haW5fc2h1dGRvd24gb24gSFZN
IGRvbWFpbiIpOwogICAgICAgICByZXQgPSB4Y19kb21haW5fc2h1dGRvd24oQ1RYLT54Y2gsIGRv
bWlkLCBTSFVURE9XTl9zdXNwZW5kKTsKICAgICAgICAgaWYgKHJldCA8IDApIHsKQEAgLTEzNyw1
NSArMTg0LDU1IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAgICAg
ICAvKiBUaGUgZ3Vlc3QgZG9lcyBub3QgKG5lZWQgdG8pIHJlc3BvbmQgdG8gdGhpcyBzb3J0IG9m
IHJlcXVlc3QuICovCi0gICAgICAgIGRzcy0+Z3Vlc3RfcmVzcG9uZGVkID0gMTsKLSAgICAgICAg
ZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3QoZWdjLCBkc3MpOworICAgICAgICBkc3Bz
LT5ndWVzdF9yZXNwb25kZWQgPSAxOworICAgICAgICBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdChlZ2MsIGRzcHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgTE9HKERF
QlVHLCAiaXNzdWluZyAlcyBzdXNwZW5kIHJlcXVlc3QgdmlhIFhlbkJ1cyBjb250cm9sIG5vZGUi
LAotICAgICAgICBkc3MtPmh2bSA/ICJQVkhWTSIgOiAiUFYiKTsKKyAgICAgICAgZHNwcy0+dHlw
ZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0gPyAiUFZIVk0iIDogIlBWIik7CiAKICAgICBsaWJ4
bF9fZG9tYWluX3B2Y29udHJvbF93cml0ZShnYywgWEJUX05VTEwsIGRvbWlkLCAic3VzcGVuZCIp
OwogCi0gICAgZHNzLT5wdmNvbnRyb2wucGF0aCA9IGxpYnhsX19kb21haW5fcHZjb250cm9sX3hz
cGF0aChnYywgZG9taWQpOwotICAgIGlmICghZHNzLT5wdmNvbnRyb2wucGF0aCkgeyByYyA9IEVS
Uk9SX0ZBSUw7IGdvdG8gZXJyOyB9CisgICAgZHNwcy0+cHZjb250cm9sLnBhdGggPSBsaWJ4bF9f
ZG9tYWluX3B2Y29udHJvbF94c3BhdGgoZ2MsIGRvbWlkKTsKKyAgICBpZiAoIWRzcHMtPnB2Y29u
dHJvbC5wYXRoKSB7IHJjID0gRVJST1JfRkFJTDsgZ290byBlcnI7IH0KIAotICAgIGRzcy0+cHZj
b250cm9sLmFvID0gYW87Ci0gICAgZHNzLT5wdmNvbnRyb2wud2hhdCA9ICJndWVzdCBhY2tub3ds
ZWRnZW1lbnQgb2Ygc3VzcGVuZCByZXF1ZXN0IjsKLSAgICBkc3MtPnB2Y29udHJvbC50aW1lb3V0
X21zID0gNjAgKiAxMDAwOwotICAgIGRzcy0+cHZjb250cm9sLmNhbGxiYWNrID0gZG9tYWluX3N1
c3BlbmRfY29tbW9uX3B2Y29udHJvbF9zdXNwZW5kaW5nOwotICAgIGxpYnhsX194c3dhaXRfc3Rh
cnQoZ2MsICZkc3MtPnB2Y29udHJvbCk7CisgICAgZHNwcy0+cHZjb250cm9sLmFvID0gYW87Cisg
ICAgZHNwcy0+cHZjb250cm9sLndoYXQgPSAiZ3Vlc3QgYWNrbm93bGVkZ2VtZW50IG9mIHN1c3Bl
bmQgcmVxdWVzdCI7CisgICAgZHNwcy0+cHZjb250cm9sLnRpbWVvdXRfbXMgPSA2MCAqIDEwMDA7
CisgICAgZHNwcy0+cHZjb250cm9sLmNhbGxiYWNrID0gZG9tYWluX3N1c3BlbmRfY29tbW9uX3B2
Y29udHJvbF9zdXNwZW5kaW5nOworICAgIGxpYnhsX194c3dhaXRfc3RhcnQoZ2MsICZkc3BzLT5w
dmNvbnRyb2wpOwogICAgIHJldHVybjsKIAogIGVycjoKLSAgICBkb21haW5fc3VzcGVuZF9jb21t
b25fZG9uZShlZ2MsIGRzcywgcmMpOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVn
YywgZHNwcywgcmMpOwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdF9ldnRjaG4obGlieGxfX2VnYyAqZWdjLAogICAgICAgICBsaWJ4bF9fZXZfZXZ0Y2hu
ICpldmV2KQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKGV2ZXYsICpkc3MsIGd1ZXN0X2V2dGNobik7Ci0gICAgU1RBVEVfQU9fR0MoZHNzLT5h
byk7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gQ09OVEFJTkVSX09G
KGV2ZXYsICpkc3BzLCBndWVzdF9ldnRjaG4pOworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsK
ICAgICAvKiBJZiB3ZSBzaG91bGQgYmUgZG9uZSB3YWl0aW5nLCBzdXNwZW5kX2NvbW1vbl93YWl0
X2d1ZXN0X2NoZWNrCiAgICAgICogd2lsbCBlbmQgdXAgY2FsbGluZyBkb21haW5fc3VzcGVuZF9j
b21tb25fZ3Vlc3Rfc3VzcGVuZGVkIG9yCiAgICAgICogZG9tYWluX3N1c3BlbmRfY29tbW9uX2Rv
bmUsIGJvdGggb2Ygd2hpY2ggY2FuY2VsIHRoZSBldnRjaG4KICAgICAgKiB3YWl0IGFzIG5lZWRl
ZC4gIFNvIHJlLWVuYWJsZSBpdCBub3cuICovCi0gICAgbGlieGxfX2V2X2V2dGNobl93YWl0KGdj
LCAmZHNzLT5ndWVzdF9ldnRjaG4pOwotICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hl
Y2soZWdjLCBkc3MpOworICAgIGxpYnhsX19ldl9ldnRjaG5fd2FpdChnYywgJmRzcHMtPmd1ZXN0
X2V2dGNobik7CisgICAgc3VzcGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhlZ2MsIGRzcHMp
OwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fcHZjb250cm9sX3N1c3Bl
bmRpbmcobGlieGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX3hzd2FpdF9zdGF0ZSAqeHN3YSwg
aW50IHJjLCBjb25zdCBjaGFyICpzdGF0ZSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRih4c3dhLCAqZHNzLCBwdmNvbnRyb2wpOwotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOworICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNw
cyA9IENPTlRBSU5FUl9PRih4c3dhLCAqZHNwcywgcHZjb250cm9sKTsKKyAgICBTVEFURV9BT19H
Qyhkc3BzLT5hbyk7CiAgICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKIAogICAgIGlmICghcmMg
JiYgIWRvbWFpbl9zdXNwZW5kX3B2Y29udHJvbF9hY2tlZChzdGF0ZSkpCiAgICAgICAgIC8qIGtl
ZXAgd2FpdGluZyAqLwogICAgICAgICByZXR1cm47CiAKLSAgICBsaWJ4bF9feHN3YWl0X3N0b3Ao
Z2MsICZkc3MtPnB2Y29udHJvbCk7CisgICAgbGlieGxfX3hzd2FpdF9zdG9wKGdjLCAmZHNwcy0+
cHZjb250cm9sKTsKIAogICAgIGlmIChyYyA9PSBFUlJPUl9USU1FRE9VVCkgewogICAgICAgICAv
KgpAQCAtMjI4LDU2ICsyNzUsNTYgQEAgc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfY29tbW9u
X3B2Y29udHJvbF9zdXNwZW5kaW5nKGxpYnhsX19lZ2MgKmVnYywKICAgICBMT0coREVCVUcsICJn
dWVzdCBhY2tub3dsZWRnZWQgc3VzcGVuZCByZXF1ZXN0Iik7CiAKICAgICBsaWJ4bF9feHNfdHJh
bnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKLSAgICBkc3MtPmd1ZXN0X3Jlc3BvbmRlZCA9IDE7Ci0g
ICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3QoZWdjLGRzcyk7CisgICAgZHNwcy0+
Z3Vlc3RfcmVzcG9uZGVkID0gMTsKKyAgICBkb21haW5fc3VzcGVuZF9jb21tb25fd2FpdF9ndWVz
dChlZ2MsZHNwcyk7CiAgICAgcmV0dXJuOwogCiAgZXJyOgogICAgIGxpYnhsX194c190cmFuc2Fj
dGlvbl9hYm9ydChnYywgJnQpOwotICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywg
ZHNzLCByYyk7CisgICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3BzLCByYyk7
CiAgICAgcmV0dXJuOwogfQogCiBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jb21tb25fd2Fp
dF9ndWVzdChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNwcykKIHsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKyAgICBTVEFURV9B
T19HQyhkc3BzLT5hbyk7CiAgICAgaW50IHJjOwogCiAgICAgTE9HKERFQlVHLCAid2FpdCBmb3Ig
dGhlIGd1ZXN0IHRvIHN1c3BlbmQiKTsKIAotICAgIHJjID0gbGlieGxfX2V2X3hzd2F0Y2hfcmVn
aXN0ZXIoZ2MsICZkc3MtPmd1ZXN0X3dhdGNoLAorICAgIHJjID0gbGlieGxfX2V2X3hzd2F0Y2hf
cmVnaXN0ZXIoZ2MsICZkc3BzLT5ndWVzdF93YXRjaCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3Rfd2F0Y2gsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiQHJlbGVhc2VEb21haW4iKTsKICAgICBpZiAocmMp
IGdvdG8gZXJyOwogCi0gICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZk
c3MtPmd1ZXN0X3RpbWVvdXQsCisgICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwo
YW8sICZkc3BzLT5ndWVzdF90aW1lb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfdGltZW91dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA2MCoxMDAwKTsKICAgICBpZiAocmMpIGdvdG8gZXJyOwog
ICAgIHJldHVybjsKIAogIGVycjoKLSAgICBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShlZ2Ms
IGRzcywgcmMpOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNwcywgcmMp
OwogfQogCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3dhdGNoKGxpYnhs
X19lZ2MgKmVnYywKICAgICAgIGxpYnhsX19ldl94c3dhdGNoICp4c3csIGNvbnN0IGNoYXIgKndh
dGNoX3BhdGgsIGNvbnN0IGNoYXIgKmV2ZW50X3BhdGgpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoeHN3LCAqZHNzLCBndWVzdF93YXRjaCk7
Ci0gICAgc3VzcGVuZF9jb21tb25fd2FpdF9ndWVzdF9jaGVjayhlZ2MsIGRzcyk7CisgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gQ09OVEFJTkVSX09GKHhzdywgKmRzcHMs
IGd1ZXN0X3dhdGNoKTsKKyAgICBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X2NoZWNrKGVnYywg
ZHNwcyk7CiB9CiAKIHN0YXRpYyB2b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hlY2so
bGlieGxfX2VnYyAqZWdjLAotICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRz
cykKKyAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNU
QVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGRzcHMtPmFvKTsKICAgICB4Y19k
b21haW5pbmZvX3QgaW5mbzsKICAgICBpbnQgcmV0OwogICAgIGludCBzaHV0ZG93bl9yZWFzb247
CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9t
aWQgPSBkc3MtPmRvbWlkOworICAgIGNvbnN0IHVpbnQzMl90IGRvbWlkID0gZHNwcy0+ZG9taWQ7
CiAKICAgICByZXQgPSB4Y19kb21haW5fZ2V0aW5mb2xpc3QoQ1RYLT54Y2gsIGRvbWlkLCAxLCAm
aW5mbyk7CiAgICAgaWYgKHJldCA8IDApIHsKQEAgLTMwNCw3MSArMzUxLDczIEBAIHN0YXRpYyB2
b2lkIHN1c3BlbmRfY29tbW9uX3dhaXRfZ3Vlc3RfY2hlY2sobGlieGxfX2VnYyAqZWdjLAogICAg
IH0KIAogICAgIExPRyhERUJVRywgImd1ZXN0IGhhcyBzdXNwZW5kZWQiKTsKLSAgICBkb21haW5f
c3VzcGVuZF9jb21tb25fZ3Vlc3Rfc3VzcGVuZGVkKGVnYywgZHNzKTsKKyAgICBkb21haW5fc3Vz
cGVuZF9jb21tb25fZ3Vlc3Rfc3VzcGVuZGVkKGVnYywgZHNwcyk7CiAgICAgcmV0dXJuOwogCiAg
ZXJyOgotICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNzLCBFUlJPUl9GQUlM
KTsKKyAgICBkb21haW5fc3VzcGVuZF9jb21tb25fZG9uZShlZ2MsIGRzcHMsIEVSUk9SX0ZBSUwp
OwogfQogCiBzdGF0aWMgdm9pZCBzdXNwZW5kX2NvbW1vbl93YWl0X2d1ZXN0X3RpbWVvdXQobGli
eGxfX2VnYyAqZWdjLAogICAgICAgbGlieGxfX2V2X3RpbWUgKmV2LCBjb25zdCBzdHJ1Y3QgdGlt
ZXZhbCAqcmVxdWVzdGVkX2FicywgaW50IHJjKQogewotICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGV2LCAqZHNzLCBndWVzdF90aW1lb3V0KTsKLSAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcHMgPSBDT05UQUlORVJfT0YoZXYsICpkc3BzLCBndWVzdF90aW1lb3V0KTsKKyAgICBTVEFU
RV9BT19HQyhkc3BzLT5hbyk7CiAgICAgaWYgKHJjID09IEVSUk9SX1RJTUVET1VUKSB7CiAgICAg
ICAgIExPRyhFUlJPUiwgImd1ZXN0IGRpZCBub3Qgc3VzcGVuZCwgdGltZWQgb3V0Iik7CiAgICAg
ICAgIHJjID0gRVJST1JfR1VFU1RfVElNRURPVVQ7CiAgICAgfQotICAgIGRvbWFpbl9zdXNwZW5k
X2NvbW1vbl9kb25lKGVnYywgZHNzLCByYyk7CisgICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2Rv
bmUoZWdjLCBkc3BzLCByYyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1v
bl9ndWVzdF9zdXNwZW5kZWQobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcykKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3BzKQogewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNUQVRF
X0FPX0dDKGRzcHMtPmFvKTsKICAgICBpbnQgcmM7CiAKLSAgICBsaWJ4bF9fZXZfZXZ0Y2huX2Nh
bmNlbChnYywgJmRzcy0+Z3Vlc3RfZXZ0Y2huKTsKLSAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJl
Z2lzdGVyKGdjLCAmZHNzLT5ndWVzdF93YXRjaCk7Ci0gICAgbGlieGxfX2V2X3RpbWVfZGVyZWdp
c3RlcihnYywgJmRzcy0+Z3Vlc3RfdGltZW91dCk7CisgICAgbGlieGxfX2V2X2V2dGNobl9jYW5j
ZWwoZ2MsICZkc3BzLT5ndWVzdF9ldnRjaG4pOworICAgIGxpYnhsX19ldl94c3dhdGNoX2RlcmVn
aXN0ZXIoZ2MsICZkc3BzLT5ndWVzdF93YXRjaCk7CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdp
c3RlcihnYywgJmRzcHMtPmd1ZXN0X3RpbWVvdXQpOwogCi0gICAgaWYgKGRzcy0+aHZtKSB7Ci0g
ICAgICAgIHJjID0gbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChnYywgZHNzKTsK
KyAgICBpZiAoZHNwcy0+dHlwZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9IVk0pIHsKKyAgICAgICAg
cmMgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfZGV2aWNlX21vZGVsKGdjLCBkc3BzKTsKICAgICAg
ICAgaWYgKHJjKSB7CiAgICAgICAgICAgICBMT0coRVJST1IsICJsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfZGV2aWNlX21vZGVsIGZhaWxlZCByZXQ9JWQiLCByYyk7Ci0gICAgICAgICAgICBkb21haW5f
c3VzcGVuZF9jb21tb25fZG9uZShlZ2MsIGRzcywgcmMpOworICAgICAgICAgICAgZG9tYWluX3N1
c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3BzLCByYyk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICB9Ci0gICAgZG9tYWluX3N1c3BlbmRfY29tbW9uX2RvbmUoZWdjLCBkc3Ms
IDApOworICAgIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGVnYywgZHNwcywgMCk7CiB9CiAK
IHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50IHJjKQogewogICAgIEVHQ19HQzsKLSAgICBhc3NlcnQoIWxp
YnhsX194c3dhaXRfaW51c2UoJmRzcy0+cHZjb250cm9sKSk7Ci0gICAgbGlieGxfX2V2X2V2dGNo
bl9jYW5jZWwoZ2MsICZkc3MtPmd1ZXN0X2V2dGNobik7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2hf
ZGVyZWdpc3RlcihnYywgJmRzcy0+Z3Vlc3Rfd2F0Y2gpOwotICAgIGxpYnhsX19ldl90aW1lX2Rl
cmVnaXN0ZXIoZ2MsICZkc3MtPmd1ZXN0X3RpbWVvdXQpOwotICAgIGRzcy0+Y2FsbGJhY2tfY29t
bW9uX2RvbmUoZWdjLCBkc3MsIHJjKTsKKyAgICBhc3NlcnQoIWxpYnhsX194c3dhaXRfaW51c2Uo
JmRzcHMtPnB2Y29udHJvbCkpOworICAgIGxpYnhsX19ldl9ldnRjaG5fY2FuY2VsKGdjLCAmZHNw
cy0+Z3Vlc3RfZXZ0Y2huKTsKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaF9kZXJlZ2lzdGVyKGdjLCAm
ZHNwcy0+Z3Vlc3Rfd2F0Y2gpOworICAgIGxpYnhsX19ldl90aW1lX2RlcmVnaXN0ZXIoZ2MsICZk
c3BzLT5ndWVzdF90aW1lb3V0KTsKKyAgICBkc3BzLT5jYWxsYmFja19jb21tb25fZG9uZShlZ2Ms
IGRzcHMsIHJjKTsKIH0KIAogdm9pZCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2sodm9p
ZCAqZGF0YSkKIHsKICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IGRhdGE7CiAg
ICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc3VzcGVu
ZF9zdGF0ZSAqZHNwcyA9ICZkc3MtPmRzcHM7CiAKLSAgICBkc3MtPmNhbGxiYWNrX2NvbW1vbl9k
b25lID0gZG9tYWluX3N1c3BlbmRfY2FsbGJhY2tfY29tbW9uX2RvbmU7Ci0gICAgZG9tYWluX3N1
c3BlbmRfY2FsbGJhY2tfY29tbW9uKGVnYywgZHNzKTsKKyAgICBkc3BzLT5jYWxsYmFja19jb21t
b25fZG9uZSA9IGRvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lOworICAgIGRvbWFp
bl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbihlZ2MsIGRzcHMpOwogfQogCiBzdGF0aWMgdm9pZCBk
b21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAq
ZHNzLCBpbnQgcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNwcywgaW50IHJjKQogeworICAgIGxpYnhsX19kb21haW5fc2F2
ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGRzcHMsICpkc3MsIGRzcHMpOwogICAgIGRzcy0+
cmMgPSByYzsKICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNr
X2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAhcmMpOwogfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg
ZDliOWUyYS4uODJjMzYxMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zMDExLDExICszMDExLDEy
IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBsaWJ4bF9fY29udmVyc2lvbl9oZWxwZXJfaW51c2UKICAq
LwogCiB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgbGlieGxfX2Rv
bWFpbl9zdXNwZW5kX3N0YXRlOwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZTsKIAotdHlwZWRlZiB2b2lkIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9jYihsaWJ4bF9fZWdjKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlKiwgaW50IHJjKTsKK3R5cGVkZWYg
dm9pZCBsaWJ4bF9fZG9tYWluX3NhdmVfY2IobGlieGxfX2VnYyosCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSosIGludCByYyk7CiB0
eXBlZGVmIHZvaWQgbGlieGxfX3NhdmVfZGV2aWNlX21vZGVsX2NiKGxpYnhsX19lZ2MqLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3Bl
bmRfc3RhdGUqLCBpbnQgcmMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUqLCBpbnQgcmMpOwogCiAvKiBTdGF0ZSBmb3Ig
d3JpdGluZyBhIGxpYnhsIG1pZ3JhdGlvbiB2MiBzdHJlYW0gKi8KIHR5cGVkZWYgc3RydWN0IGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZTsKQEAgLTMw
MjQsNyArMzAyNSw3IEBAIHR5cGVkZWYgdm9pZCAoKnN3c19yZWNvcmRfZG9uZV9jYikobGlieGxf
X2VnYyAqZWdjLAogc3RydWN0IGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgewogICAgIC8qIGZp
bGxlZCBieSB0aGUgdXNlciAqLwogICAgIGxpYnhsX19hbyAqYW87Ci0gICAgbGlieGxfX2RvbWFp
bl9zdXNwZW5kX3N0YXRlICpkc3M7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3M7
CiAgICAgaW50IGZkOwogICAgIHZvaWQgKCpjb21wbGV0aW9uX2NhbGxiYWNrKShsaWJ4bF9fZWdj
ICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3Jp
dGVfc3RhdGUgKnN3cywKQEAgLTMwNzgsOSArMzA3OSwzMyBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4
bF9fbG9nZGlydHlfc3dpdGNoIHsKIH0gbGlieGxfX2xvZ2RpcnR5X3N3aXRjaDsKIAogc3RydWN0
IGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSB7CisgICAgLyogc2V0IGJ5IGNhbGxlciBvZiBs
aWJ4bF9fZG9tYWluX3N1c3BlbmRfaW5pdCAqLworICAgIGxpYnhsX19hbyAqYW87CisgICAgdWlu
dDMyX3QgZG9taWQ7CisKKyAgICAvKiBwcml2YXRlICovCisgICAgbGlieGxfZG9tYWluX3R5cGUg
dHlwZTsKKworICAgIGxpYnhsX19ldl9ldnRjaG4gZ3Vlc3RfZXZ0Y2huOworICAgIGludCBndWVz
dF9ldnRjaG5fbG9ja2ZkOworICAgIGludCBndWVzdF9yZXNwb25kZWQ7CisKKyAgICBsaWJ4bF9f
eHN3YWl0X3N0YXRlIHB2Y29udHJvbDsKKyAgICBsaWJ4bF9fZXZfeHN3YXRjaCBndWVzdF93YXRj
aDsKKyAgICBsaWJ4bF9fZXZfdGltZSBndWVzdF90aW1lb3V0OworCisgICAgY29uc3QgY2hhciAq
ZG1fc2F2ZWZpbGU7CisgICAgdm9pZCAoKmNhbGxiYWNrX2NvbW1vbl9kb25lKShsaWJ4bF9fZWdj
KiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfc3RhdGUqLCBpbnQgb2spOworfTsKK2ludCBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
aW5pdChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX2RvbWFpbl90eXBlIHR5cGUpOworCitzdHJ1Y3QgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlIHsKICAgICAvKiBzZXQgYnkgY2FsbGVyIG9mIGxpYnhsX19kb21haW5fc2F2ZSAq
LwogICAgIGxpYnhsX19hbyAqYW87Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NiICpjYWxs
YmFjazsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfY2IgKmNhbGxiYWNrOwogCiAgICAgdWludDMy
X3QgZG9taWQ7CiAgICAgaW50IGZkOwpAQCAtMzA5MSwyMiArMzExNiwxNCBAQCBzdHJ1Y3QgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlIHsKICAgICBjb25zdCBsaWJ4bF9kb21haW5fcmVtdXNf
aW5mbyAqcmVtdXM7CiAgICAgLyogcHJpdmF0ZSAqLwogICAgIGludCByYzsKLSAgICBsaWJ4bF9f
ZXZfZXZ0Y2huIGd1ZXN0X2V2dGNobjsKLSAgICBpbnQgZ3Vlc3RfZXZ0Y2huX2xvY2tmZDsKICAg
ICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwotICAgIGludCBndWVzdF9yZXNwb25kZWQ7Ci0g
ICAgbGlieGxfX3hzd2FpdF9zdGF0ZSBwdmNvbnRyb2w7Ci0gICAgbGlieGxfX2V2X3hzd2F0Y2gg
Z3Vlc3Rfd2F0Y2g7Ci0gICAgbGlieGxfX2V2X3RpbWUgZ3Vlc3RfdGltZW91dDsKLSAgICBjb25z
dCBjaGFyICpkbV9zYXZlZmlsZTsKKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgZHNw
czsKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSByZHM7CiAgICAgbGlieGxfX2V2X3Rp
bWUgY2hlY2twb2ludF90aW1lb3V0OyAvKiB1c2VkIGZvciBSZW11cyBjaGVja3BvaW50ICovCiAg
ICAgaW50IGludGVydmFsOyAvKiBjaGVja3BvaW50IGludGVydmFsIChmb3IgUmVtdXMpICovCiAg
ICAgbGlieGxfX3N0cmVhbV93cml0ZV9zdGF0ZSBzd3M7CiAgICAgbGlieGxfX2xvZ2RpcnR5X3N3
aXRjaCBsb2dkaXJ0eTsKLSAgICB2b2lkICgqY2FsbGJhY2tfY29tbW9uX2RvbmUpKGxpYnhsX19l
Z2MqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSosIGludCBvayk7CiB9OwogCiAKQEAgLTM0NDcsMTIgKzM0NjQsMTIg
QEAgc3RydWN0IGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlIHsKIAogLyogY2FsbHMgZHNzLT5j
YWxsYmFjayB3aGVuIGRvbmUgKi8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGli
eGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKTsKIAogCiAvKiBjYWxscyBsaWJ4bF9feGNf
ZG9tYWluX3N1c3BlbmRfZG9uZSB3aGVuIGRvbmUgKi8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9feGNf
ZG9tYWluX3NhdmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAq
c2hzKTsKIC8qIElmIHJjPT0wIHRoZW4gcmV0dmFsIGlzIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB4
Y19kb21haW5fc2F2ZQogICogYW5kIGVycm5vdmFsIGlzIHRoZSBlcnJubyB2YWx1ZSBpdCBwcm92
aWRlZC4KQEAgLTM0NzAsNyArMzQ4Nyw3IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVz
dG9yZV9hc3luY19jYWxsYmFja19kb25lKGxpYnhsX19lZ2MgKmVnYywKIAogX2hpZGRlbiB2b2lk
IGxpYnhsX19kb21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGlydHkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50IGRvbWlkLCB1bnNpZ25lZCBpbnQgZW5hYmxl
LCB2b2lkICpkYXRhKTsKLV9oaWRkZW4gaW50IGxpYnhsX19zYXZlX2VtdWxhdG9yX3hlbnN0b3Jl
X2RhdGEobGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsCitfaGlkZGVuIGludCBsaWJ4
bF9fc2F2ZV9lbXVsYXRvcl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAq
ZHNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFy
ICoqYnVmLCB1aW50MzJfdCAqbGVuKTsKIF9oaWRkZW4gaW50IGxpYnhsX19yZXN0b3JlX2VtdWxh
dG9yX3hlbnN0b3JlX2RhdGEKICAgICAobGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcywg
Y29uc3QgY2hhciAqcHRyLCB1aW50MzJfdCBzaXplKTsKQEAgLTM0OTgsMjEgKzM1MTUsMjEgQEAg
c3RhdGljIGlubGluZSBib29sIGxpYnhsX19zYXZlX2hlbHBlcl9pbnVzZShjb25zdCBsaWJ4bF9f
c2F2ZV9oZWxwZXJfc3RhdGUgKnNocykKIAogLyogRWFjaCB0aW1lIHRoZSBkbSBuZWVkcyB0byBi
ZSBzYXZlZCwgd2UgbXVzdCBjYWxsIHN1c3BlbmQgYW5kIHRoZW4gc2F2ZSAqLwogX2hpZGRlbiBp
bnQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2RldmljZV9tb2RlbChsaWJ4bF9fZ2MgKmdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSAqZHNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMpOwogCiBfaGlkZGVuIGNvbnN0
IGNoYXIgKmxpYnhsX19kZXZpY2VfbW9kZWxfc2F2ZWZpbGUobGlieGxfX2djICpnYywgdWludDMy
X3QgZG9taWQpOwogCi0vKiBjYWxscyBkc3MtPmNhbGxiYWNrX2NvbW1vbl9kb25lIHdoZW4gZG9u
ZSAqLworLyogY2FsbHMgZHNwcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgd2hlbiBkb25lICovCiBf
aGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfc3RhdGUgKmRzcHMpOwogLyogdXNlZCBieSBsaWJ4YyB0byBzdXNwZW5kIHRoZSBn
dWVzdCBkdXJpbmcgbWlncmF0aW9uICovCiBfaGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX2NhbGxiYWNrKHZvaWQgKmRhdGEpOwogCiAvKiBSZW11cyBzZXR1cCBhbmQgdGVhcmRvd24g
Ki8KIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUg
KmRzcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2
ZV9zdGF0ZSAqZHNzKTsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfdGVhcmRvd24obGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludCByYyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVf
c2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MpOwpkaWZmIC0tZ2l0IGEvdG9v
bHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIu
YwppbmRleCAxMDdlODY3Li5jMjQ1YTRlIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9u
ZXRidWZmZXIuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwpAQCAtNDEsNyAr
NDEsNyBAQCBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpCiBpbnQg
aW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQogewogICAg
IGludCByYywgcmV0OwotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09O
VEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUg
KmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CiAKICAgICBTVEFURV9BT19HQyhy
ZHMtPmFvKTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYyBiL3Rvb2xz
L2xpYnhsL2xpYnhsX3JlbXVzLmMKaW5kZXggNTY3MjUwZC4uMzQwZDA3NiAxMDA2NDQKLS0tIGEv
dG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5j
CkBAIC0zMSw3ICszMSw3IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdW1l
X2NhbGxiYWNrKHZvaWQgKmRhdGEpOwogc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9z
YXZlX2NoZWNrcG9pbnRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CiAKIHZvaWQgbGlieGxfX3JlbXVz
X3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzKQorICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2RvbWFpbl9zYXZlX3N0YXRlICpkc3MpCiB7CiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAq
LwogICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7
CkBAIC03Miw3ICs3Miw3IEBAIG91dDoKIHN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGli
eGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqcmRzLCBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5k
X3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19k
b21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKICAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIAogICAgIGlmICghcmMpIHsKQEAgLTg5LDcgKzg5LDcg
QEAgc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiBzdGF0aWMg
dm9pZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
IHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihy
ZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05U
QUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCiAg
ICAgaWYgKHJjKQpAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX3RlYXJkb3du
X2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpOwogdm9pZCBsaWJ4bF9fcmVtdXNfdGVhcmRvd24obGlieGxfX2VnYyAq
ZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0
YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVf
c3RhdGUgKmRzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKICAgICBF
R0NfR0M7CkBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIHZvaWQgcmVtdXNfdGVhcmRvd25fZG9u
ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IENP
TlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRl
ICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogICAgIFNUQVRFX0FPX0dDKGRz
cy0+YW8pOwogCiAgICAgaWYgKHJjKQpAQCAtMTMxLDcgKzEzMSw3IEBAIHN0YXRpYyB2b2lkIHJl
bXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAogLyotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIHJlbXVzIGNhbGxiYWNrcyAoc2F2ZSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBz
dGF0aWMgdm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4
bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNzLCBpbnQgb2spOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcHMsIGludCBvayk7CiBzdGF0
aWMgdm9pZCByZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kX2NiKGxpYnhsX19lZ2MgKmVnYywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfc3RhdGUgKnJkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50IHJjKTsKQEAgLTE0MywxNSArMTQzLDE4IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11c19k
b21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKQogewogICAgIGxpYnhsX19zYXZlX2hl
bHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKICAgICBsaWJ4bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsK
LSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVyX3N0YXRl
OworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7
CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzID0gJmRzcy0+ZHNwczsKIAot
ICAgIGRzcy0+Y2FsbGJhY2tfY29tbW9uX2RvbmUgPSByZW11c19kb21haW5fc3VzcGVuZF9jYWxs
YmFja19jb21tb25fZG9uZTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmQoZWdjLCBkc3MpOwor
ICAgIGRzcHMtPmNhbGxiYWNrX2NvbW1vbl9kb25lID0gcmVtdXNfZG9tYWluX3N1c3BlbmRfY2Fs
bGJhY2tfY29tbW9uX2RvbmU7CisgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kKGVnYywgZHNwcyk7
CiB9CiAKIHN0YXRpYyB2b2lkIHJlbXVzX2RvbWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9k
b25lKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3MsIGludCByYykKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3BzLCBpbnQgcmMp
CiB7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoZHNw
cywgKmRzcywgZHNwcyk7CisKICAgICBpZiAocmMpCiAgICAgICAgIGdvdG8gb3V0OwogCkBAIC0x
NjksNyArMTcyLDcgQEAgc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYihs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf
c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwogCiAg
ICAgaWYgKHJjKQogICAgICAgICBnb3RvIG91dDsKQEAgLTE4Niw3ICsxODksNyBAQCBzdGF0aWMg
dm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3Jlc3VtZV9jYWxsYmFjayh2b2lkICpkYXRhKQogewog
ICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gZGF0YTsKICAgICBsaWJ4bF9fZWdj
ICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9
IHNocy0+Y2FsbGVyX3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0g
c2hzLT5jYWxsZXJfc3RhdGU7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7CiAKICAgICBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRzID0gJmRzcy0+cmRzOwpAQCAtMTk4LDcg
KzIwMSw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19l
Z2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19y
ZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3Mg
PSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9z
dGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKICAgICBTVEFURV9BT19H
Qyhkc3MtPmFvKTsKIAogICAgIGlmIChyYykKQEAgLTIyOSw3ICsyMzIsNyBAQCBzdGF0aWMgdm9p
ZCByZW11c19uZXh0X2NoZWNrcG9pbnQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAq
ZXYsCiBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxs
YmFjayh2b2lkICpkYXRhKQogewogICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0g
ZGF0YTsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy
X3N0YXRlOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJf
c3RhdGU7CiAgICAgbGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7CiAgICAgU1RBVEVfQU9fR0Mo
ZHNzLT5hbyk7CiAKQEAgLTIzOSw3ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNf
ZG9tYWluX3NhdmVfY2hlY2twb2ludF9jYWxsYmFjayh2b2lkICpkYXRhKQogc3RhdGljIHZvaWQg
cmVtdXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKICAgICBsaWJ4bF9fZWdjICplZ2MsIGxp
YnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKQogewotICAgIGxpYnhsX19kb21h
aW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKKyAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihzd3MsICpkc3Ms
IHN3cyk7CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCiAgICAgbGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKQEAgLTI2NCw3ICsyNjcsNyBA
QCBzdGF0aWMgdm9pZCByZW11c19kZXZpY2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSAqcmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQog
ewotICAgIGxpYnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJk
cywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRB
SU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApA
QCAtMjk5LDcgKzMwMiw3IEBAIHN0YXRpYyB2b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4
bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9z
dXNwZW5kX3N0YXRlICpkc3MgPQorICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05UQUlORVJfT0YoZXYsICpkc3MsIGNoZWNr
cG9pbnRfdGltZW91dCk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2
ZV9jYWxsb3V0LmMKaW5kZXggNDViOTcyNy4uOTRiNmI2NyAxMDA2NDQKLS0tIGEvdG9vbHMvbGli
eGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxs
b3V0LmMKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBsaWJ4bF9feGNfZG9tYWluX3Jlc3RvcmUobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzLAogICAgICAgICAg
ICAgICAgYXJnbnVtcywgQVJSQVlfU0laRShhcmdudW1zKSk7CiB9CiAKLXZvaWQgbGlieGxfX3hj
X2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3MsCit2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMpCiB7CiAgICAgU1RBVEVfQU9fR0MoZHNzLT5hbyk7
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyBiL3Rvb2xzL2xp
YnhsL2xpYnhsX3N0cmVhbV93cml0ZS5jCmluZGV4IDIxYjRiNTEuLjkwNTMxNDYgMTAwNjQ0Ci0t
LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3N0cmVhbV93cml0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX3N0cmVhbV93cml0ZS5jCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBsaWJ4bF9fc3RyZWFt
X3dyaXRlX3N0YXJ0KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlICpzdHJlYW0pCiB7CiAgICAgbGlieGxfX2Rh
dGFjb3BpZXJfc3RhdGUgKmRjID0gJnN0cmVhbS0+ZGM7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNw
ZW5kX3N0YXRlICpkc3MgPSBzdHJlYW0tPmRzczsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3Rh
dGUgKmRzcyA9IHN0cmVhbS0+ZHNzOwogICAgIFNUQVRFX0FPX0dDKHN0cmVhbS0+YW8pOwogICAg
IHN0cnVjdCBsaWJ4bF9fc3JfaGRyIGhkcjsKICAgICBpbnQgcmMgPSAwOwpAQCAtMzI0LDcgKzMy
NCw3IEBAIHN0YXRpYyB2b2lkIGxpYnhjX2hlYWRlcl9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHZv
aWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkc3Nf
dm9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjLCBpbnQgcmV0dmFs
LCBpbnQgZXJybm92YWwpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpkc3Mg
PSBkc3Nfdm9pZDsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IGRzc192b2lk
OwogICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSA9ICZkc3MtPnN3czsKICAg
ICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApAQCAtMzMzLDEwICszMzMsMTAgQEAgdm9pZCBsaWJ4
bF9feGNfZG9tYWluX3NhdmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsIHZvaWQgKmRzc192b2lkLAog
CiAgICAgaWYgKHJldHZhbCkgewogICAgICAgICBMT0dFVihFUlJPUiwgZXJybm92YWwsICJzYXZp
bmcgZG9tYWluOiAlcyIsCi0gICAgICAgICAgICAgIGRzcy0+Z3Vlc3RfcmVzcG9uZGVkID8KKyAg
ICAgICAgICAgICAgZHNzLT5kc3BzLmd1ZXN0X3Jlc3BvbmRlZCA/CiAgICAgICAgICAgICAgICJk
b21haW4gcmVzcG9uZGVkIHRvIHN1c3BlbmQgcmVxdWVzdCIgOgogICAgICAgICAgICAgICAiZG9t
YWluIGRpZCBub3QgcmVzcG9uZCB0byBzdXNwZW5kIHJlcXVlc3QiKTsKLSAgICAgICAgaWYgKCFk
c3MtPmd1ZXN0X3Jlc3BvbmRlZCkKKyAgICAgICAgaWYgKCFkc3MtPmRzcHMuZ3Vlc3RfcmVzcG9u
ZGVkKQogICAgICAgICAgICAgcmMgPSBFUlJPUl9HVUVTVF9USU1FRE9VVDsKICAgICAgICAgZWxz
ZSBpZiAoZHNzLT5yYykKICAgICAgICAgICAgIHJjID0gZHNzLT5yYzsKQEAgLTM3MSw3ICszNzEs
NyBAQCB2b2lkIGxpYnhsX194Y19kb21haW5fc2F2ZV9kb25lKGxpYnhsX19lZ2MgKmVnYywgdm9p
ZCAqZHNzX3ZvaWQsCiBzdGF0aWMgdm9pZCB3cml0ZV9lbXVsYXRvcl94ZW5zdG9yZV9yZWNvcmQo
bGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9fZG9t
YWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVhbS0+ZHNzOworICAgIGxpYnhsX19kb21haW5f
c2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7CiAgICAgU1RBVEVfQU9fR0Moc3RyZWFtLT5h
byk7CiAgICAgc3RydWN0IGxpYnhsX19zcl9yZWNfaGRyIHJlYzsKICAgICBpbnQgcmM7CkBAIC00
MTAsNyArNDEwLDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfZW11bGF0b3JfeGVuc3RvcmVfcmVjb3Jk
KGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIGVtdWxhdG9yX3hlbnN0b3JlX3JlY29yZF9k
b25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9f
ZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVhbS0+ZHNzOworICAgIGxpYnhsX19kb21h
aW5fc2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7CiAKICAgICBpZiAoZHNzLT50eXBlID09
IExJQlhMX0RPTUFJTl9UWVBFX0hWTSkKICAgICAgICAgd3JpdGVfZW11bGF0b3JfY29udGV4dF9y
ZWNvcmQoZWdjLCBzdHJlYW0pOwpAQCAtNDI1LDcgKzQyNSw3IEBAIHN0YXRpYyB2b2lkIGVtdWxh
dG9yX3hlbnN0b3JlX3JlY29yZF9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIHdy
aXRlX2VtdWxhdG9yX2NvbnRleHRfcmVjb3JkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUg
KnN0cmVhbSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfc3RhdGUgKmRzcyA9IHN0cmVh
bS0+ZHNzOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gc3RyZWFtLT5kc3M7
CiAgICAgbGlieGxfX2RhdGFjb3BpZXJfc3RhdGUgKmRjID0gJnN0cmVhbS0+ZW11X2RjOwogICAg
IFNUQVRFX0FPX0dDKHN0cmVhbS0+YW8pOwogICAgIHN0cnVjdCBsaWJ4bF9fc3JfcmVjX2hkciAq
cmVjID0gJnN0cmVhbS0+ZW11X3JlY19oZHI7CkBAIC00NDAsNyArNDQwLDcgQEAgc3RhdGljIHZv
aWQgd3JpdGVfZW11bGF0b3JfY29udGV4dF9yZWNvcmQobGlieGxfX2VnYyAqZWdjLAogICAgIH0K
IAogICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBjb25zdCBjaGFyICpjb25zdCBm
aWxlbmFtZSA9IGRzcy0+ZG1fc2F2ZWZpbGU7CisgICAgY29uc3QgY2hhciAqY29uc3QgZmlsZW5h
bWUgPSBkc3MtPmRzcHMuZG1fc2F2ZWZpbGU7CiAKICAgICBsaWJ4bF9fY2FyZWZkX2JlZ2luKCk7
CiAgICAgaW50IHJlYWRmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZKTsKLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDy-0007Z1-11; Sun, 28 Feb 2016 23:58:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDw-0007Ye-4N
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:04 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 44/CF-02984-B8983D65; Sun, 28 Feb 2016 23:58:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456703881!25372958!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24519 invoked from network); 28 Feb 2016 23:58:02 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDt-0000xX-F3
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDt-000209-DL
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDt-000209-DL@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:01 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: introduce enum type
	libxl_checkpointed_stream
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc4MDU3OWQyZTgyMjYyNzMzMjYwOTI3NWVkMGFlZjM2NmI0ZGE2ZjcKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogTW9uIERl
YyAxNCAxNDoxNDoyOCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBpbnRyb2R1Y2UgZW51bSB0eXBlIGxpYnhsX2NoZWNrcG9pbnRlZF9zdHJl
YW0KICAgIAogICAgSW50cm9kdWNlIGVudW0gdHlwZSBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFt
IGluIElETC4KICAgIHJlbmFtZSB0aGUgbGFzdCBhcmd1bWVudCBvZiBtaWdyYXRlX3JlY2VpdmUg
ZnJvbSAicmVtdXMiIHRvCiAgICAiY2hlY2twb2ludGVkIiBzaW5jZSB0aGUgc2VtYW50aWNzIG9m
IHRoaXMgcGFyYW1ldGVyIGhhcwogICAgY2hhbmdlZC4KICAgIAogICAgTk9URToKICAgICBsaWJ4
bF9kb21haW5fcmVzdG9yZV9wYXJhbXMgYW5kIGRvbWFpbl9jcmVhdGUgYXJlbid0IGNoYW5nZWQg
aGVyZSwKICAgICBjaGVja3BvaW50ZWRfc3RyZWFtIGlzIHN0aWxsIGFuIGludC4gQmVjYXVzZSB3
ZSB3aWxsIHBhc3MgdGhlCiAgICAgdmFsdWUgZnJvbSBsaWJ4bCB0byBsaWJ4Yy4KICAgIAogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgog
ICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xl
LmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv
b2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgfCAgNyArKysrKysrCiB0b29scy9saWJ4bC9s
aWJ4bF9jcmVhdGUuYyAgICAgIHwgIDggKysrKysrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3N0cmVh
bV9yZWFkLmMgfCAgNyArKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgIHwg
IDUgKysrKysKIHRvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyAgICAgICAgfCAxOCArKysrKysrKysr
KystLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhs
LmgKaW5kZXggZmE4N2Y1My4uNjIyNWRiMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC04NzYsNiArODc2LDEzIEBAIHZvaWQgbGli
eGxfbWFjX2NvcHkobGlieGxfY3R4ICpjdHgsIGxpYnhsX21hYyAqZHN0LCBsaWJ4bF9tYWMgKnNy
Yyk7CiAgKi8KICNkZWZpbmUgTElCWExfSEFWRV9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FIDEK
IAorLyoKKyAqIExJQlhMX0hBVkVfQ0hFQ0tQT0lOVEVEX1NUUkVBTQorICoKKyAqIElmIHRoaXMg
aXMgZGVmaW5lZCwgdGhlbiBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtIGV4aXN0cy4KKyAqLwor
I2RlZmluZSBMSUJYTF9IQVZFX0NIRUNLUE9JTlRFRF9TVFJFQU0gMQorCiB0eXBlZGVmIGNoYXIg
KipsaWJ4bF9zdHJpbmdfbGlzdDsKIHZvaWQgbGlieGxfc3RyaW5nX2xpc3RfZGlzcG9zZShsaWJ4
bF9zdHJpbmdfbGlzdCAqc2wpOwogaW50IGxpYnhsX3N0cmluZ19saXN0X2xlbmd0aChjb25zdCBs
aWJ4bF9zdHJpbmdfbGlzdCAqc2wpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3Jl
YXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCBhZDFkNTBjLi5mMTAyOGJj
IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4
bC9saWJ4bF9jcmVhdGUuYwpAQCAtMTAzMyw5ICsxMDMzLDEzIEBAIHN0YXRpYyB2b2lkIGRvbWNy
ZWF0ZV9ib290bG9hZGVyX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRjcy0+c3JzLmNvbXBs
ZXRpb25fY2FsbGJhY2sgPSBkb21jcmVhdGVfc3RyZWFtX2RvbmU7CiAKICAgICBpZiAocmVzdG9y
ZV9mZCA+PSAwKSB7Ci0gICAgICAgIGlmIChjaGVja3BvaW50ZWRfc3RyZWFtKQorICAgICAgICBz
d2l0Y2ggKGNoZWNrcG9pbnRlZF9zdHJlYW0pIHsKKyAgICAgICAgY2FzZSBMSUJYTF9DSEVDS1BP
SU5URURfU1RSRUFNX1JFTVVTOgogICAgICAgICAgICAgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0
dXAoZWdjLCBkY3MpOwotICAgICAgICBsaWJ4bF9fc3RyZWFtX3JlYWRfc3RhcnQoZWdjLCAmZGNz
LT5zcnMpOworICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgICAgIGNhc2UgTElC
WExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FOgorICAgICAgICAgICAgbGlieGxfX3N0cmVhbV9y
ZWFkX3N0YXJ0KGVnYywgJmRjcy0+c3JzKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fcmVhZC5jIGIvdG9v
bHMvbGlieGwvbGlieGxfc3RyZWFtX3JlYWQuYwppbmRleCBkYWMxMzRlLi5mNDc4MWViIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fcmVhZC5jCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX3N0cmVhbV9yZWFkLmMKQEAgLTc5NCwxOSArNzk0LDIyIEBAIHZvaWQgbGlieGxfX3hj
X2RvbWFpbl9yZXN0b3JlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkY3Nfdm9pZCwKICAg
ICAgKiBJZiB0aGUgc3RyZWFtIGlzIG5vdCBzdGlsbCBhbGl2ZSwgd2UgbXVzdCBub3QgY29udGlu
dWUgYW55IHdvcmsuCiAgICAgICovCiAgICAgaWYgKGxpYnhsX19zdHJlYW1fcmVhZF9pbnVzZShz
dHJlYW0pKSB7Ci0gICAgICAgIGlmIChjaGVja3BvaW50ZWRfc3RyZWFtKSB7CisgICAgICAgIHN3
aXRjaCAoY2hlY2twb2ludGVkX3N0cmVhbSkgeworICAgICAgICBjYXNlIExJQlhMX0NIRUNLUE9J
TlRFRF9TVFJFQU1fUkVNVVM6CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogRmFpbG92
ZXIgZnJvbSBwcmltYXJ5LiBEb21haW4gc3RhdGUgaXMgY3VycmVudGx5IGF0IGEKICAgICAgICAg
ICAgICAqIGNvbnNpc3RlbnQgY2hlY2twb2ludCwgY29tcGxldGUgdGhlIHN0cmVhbSwgYW5kIGNh
bGwKICAgICAgICAgICAgICAqIHN0cmVhbS0+Y29tcGxldGlvbl9jYWxsYmFjaygpIHRvIHJlc3Vt
ZSB0aGUgZ3Vlc3QuCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIHN0cmVhbV9jb21wbGV0
ZShlZ2MsIHN0cmVhbSwgMCk7Ci0gICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU6CiAgICAgICAgICAg
ICAvKgogICAgICAgICAgICAgICogTGlieGMgaGFzIGluZGljYXRlZCB0aGF0IGl0IGlzIGRvbmUg
d2l0aCB0aGUgc3RyZWFtLgogICAgICAgICAgICAgICogUmVzdW1lIHJlYWRpbmcgbGlieGwgcmVj
b3JkcyBmcm9tIGl0LgogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBzdHJlYW1fY29udGlu
dWUoZWdjLCBzdHJlYW0pOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiB9
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9s
aWJ4bF90eXBlcy5pZGwKaW5kZXggOWFkN2ViYS4uYjhmYjIyZiAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApA
QCAtMjI4LDYgKzIyOCwxMSBAQCBsaWJ4bF9oZHR5cGUgPSBFbnVtZXJhdGlvbigiaGR0eXBlIiwg
WwogICAgICgyLCAiQUhDSSIpLAogICAgIF0sIGluaXRfdmFsID0gIkxJQlhMX0hEVFlQRV9JREUi
KQogCitsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtID0gRW51bWVyYXRpb24oImNoZWNrcG9pbnRl
ZF9zdHJlYW0iLCBbCisgICAgKDAsICJOT05FIiksCisgICAgKDEsICJSRU1VUyIpLAorICAgIF0p
CisKICMKICMgQ29tcGxleCBsaWJ4bCB0eXBlcwogIwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv
eGxfY21kaW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCmluZGV4IGY0MGFmNTEuLjA5
MDM3Y2EgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYworKysgYi90b29scy9s
aWJ4bC94bF9jbWRpbXBsLmMKQEAgLTQ0MjksNyArNDQyOSw4IEBAIHN0YXRpYyB2b2lkIG1pZ3Jh
dGVfZG9tYWluKHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyICpydW5lLCBpbnQgZGVidWcsCiB9
CiAKIHN0YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUs
IGludCBtb25pdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZW5kX2ZkLCBp
bnQgcmVjdl9mZCwgaW50IHJlbXVzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
ZW5kX2ZkLCBpbnQgcmVjdl9mZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9j
aGVja3BvaW50ZWRfc3RyZWFtIGNoZWNrcG9pbnRlZCkKIHsKICAgICB1aW50MzJfdCBkb21pZDsK
ICAgICBpbnQgcmMsIHJjMjsKQEAgLTQ0NTQsNyArNDQ1NSw3IEBAIHN0YXRpYyB2b2lkIG1pZ3Jh
dGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUsIGludCBtb25pdG9yLAogICAgIGRv
bV9pbmZvLnBhdXNlZCA9IDE7CiAgICAgZG9tX2luZm8ubWlncmF0ZV9mZCA9IHJlY3ZfZmQ7CiAg
ICAgZG9tX2luZm8ubWlncmF0aW9uX2RvbW5hbWVfciA9ICZtaWdyYXRpb25fZG9tbmFtZTsKLSAg
ICBkb21faW5mby5jaGVja3BvaW50ZWRfc3RyZWFtID0gcmVtdXM7CisgICAgZG9tX2luZm8uY2hl
Y2twb2ludGVkX3N0cmVhbSA9IGNoZWNrcG9pbnRlZDsKIAogICAgIHJjID0gY3JlYXRlX2RvbWFp
bigmZG9tX2luZm8pOwogICAgIGlmIChyYyA8IDApIHsKQEAgLTQ0NjUsNyArNDQ2Niw4IEBAIHN0
YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUsIGludCBt
b25pdG9yLAogCiAgICAgZG9taWQgPSByYzsKIAotICAgIGlmIChyZW11cykgeworICAgIHN3aXRj
aCAoY2hlY2twb2ludGVkKSB7CisgICAgY2FzZSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX1JF
TVVTOgogICAgICAgICAvKiBJZiB3ZSBhcmUgaGVyZSwgaXQgbWVhbnMgdGhhdCB0aGUgc2VuZGVy
IChwcmltYXJ5KSBoYXMgY3Jhc2hlZC4KICAgICAgICAgICogVE9ETzogU3BsaXQtQnJhaW4gQ2hl
Y2suCiAgICAgICAgICAqLwpAQCAtNDQ5OCw2ICs0NTAwLDkgQEAgc3RhdGljIHZvaWQgbWlncmF0
ZV9yZWNlaXZlKGludCBkZWJ1ZywgaW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3IsCiAgICAgICAg
ICAgICAgICAgICAgIGNvbW1vbl9kb21uYW1lLCBkb21pZCwgcmMpOwogCiAgICAgICAgIGV4aXQo
cmMgPyAtRVJST1JfRkFJTDogMCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLyogZG8gbm90aGlu
ZyAqLworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3Jh
dGlvbiB0YXJnZXQ6IFRyYW5zZmVyIGNvbXBsZXRlLCIKQEAgLTQ2MzUsNyArNDY0MCw4IEBAIGlu
dCBtYWluX3Jlc3RvcmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiBpbnQgbWFpbl9taWdyYXRl
X3JlY2VpdmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewotICAgIGludCBkZWJ1ZyA9IDAsIGRh
ZW1vbml6ZSA9IDEsIG1vbml0b3IgPSAxLCByZW11cyA9IDA7CisgICAgaW50IGRlYnVnID0gMCwg
ZGFlbW9uaXplID0gMSwgbW9uaXRvciA9IDE7CisgICAgbGlieGxfY2hlY2twb2ludGVkX3N0cmVh
bSBjaGVja3BvaW50ZWQgPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU7CiAgICAgaW50
IG9wdDsKIAogICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJGZWRyIiwgTlVMTCwgIm1pZ3Jh
dGUtcmVjZWl2ZSIsIDApIHsKQEAgLTQ2NTAsNyArNDY1Niw3IEBAIGludCBtYWluX21pZ3JhdGVf
cmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGRlYnVnID0gMTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSAncic6Ci0gICAgICAgIHJlbXVzID0gMTsKKyAgICAgICAgY2hl
Y2twb2ludGVkID0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9SRU1VUzsKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCkBAIC00NjYwLDcgKzQ2NjYsNyBAQCBpbnQgbWFpbl9taWdyYXRlX3JlY2Vp
dmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIH0KICAgICBtaWdyYXRlX3JlY2VpdmUoZGVi
dWcsIGRhZW1vbml6ZSwgbW9uaXRvciwKICAgICAgICAgICAgICAgICAgICAgU1RET1VUX0ZJTEVO
TywgU1RESU5fRklMRU5PLAotICAgICAgICAgICAgICAgICAgICByZW11cyk7CisgICAgICAgICAg
ICAgICAgICAgIGNoZWNrcG9pbnRlZCk7CiAKICAgICByZXR1cm4gMDsKIH0KLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:06 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBDy-0007Z1-11; Sun, 28 Feb 2016 23:58:06 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDw-0007Ye-4N
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:04 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 44/CF-02984-B8983D65; Sun, 28 Feb 2016 23:58:03 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1456703881!25372958!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24519 invoked from network); 28 Feb 2016 23:58:02 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-2.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:02 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDt-0000xX-F3
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBDt-000209-DL
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:01 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBDt-000209-DL@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:01 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: introduce enum type
	libxl_checkpointed_stream
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc4MDU3OWQyZTgyMjYyNzMzMjYwOTI3NWVkMGFlZjM2NmI0ZGE2ZjcKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogTW9uIERl
YyAxNCAxNDoxNDoyOCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBpbnRyb2R1Y2UgZW51bSB0eXBlIGxpYnhsX2NoZWNrcG9pbnRlZF9zdHJl
YW0KICAgIAogICAgSW50cm9kdWNlIGVudW0gdHlwZSBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFt
IGluIElETC4KICAgIHJlbmFtZSB0aGUgbGFzdCBhcmd1bWVudCBvZiBtaWdyYXRlX3JlY2VpdmUg
ZnJvbSAicmVtdXMiIHRvCiAgICAiY2hlY2twb2ludGVkIiBzaW5jZSB0aGUgc2VtYW50aWNzIG9m
IHRoaXMgcGFyYW1ldGVyIGhhcwogICAgY2hhbmdlZC4KICAgIAogICAgTk9URToKICAgICBsaWJ4
bF9kb21haW5fcmVzdG9yZV9wYXJhbXMgYW5kIGRvbWFpbl9jcmVhdGUgYXJlbid0IGNoYW5nZWQg
aGVyZSwKICAgICBjaGVja3BvaW50ZWRfc3RyZWFtIGlzIHN0aWxsIGFuIGludC4gQmVjYXVzZSB3
ZSB3aWxsIHBhc3MgdGhlCiAgICAgdmFsdWUgZnJvbSBsaWJ4bCB0byBsaWJ4Yy4KICAgIAogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgog
ICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xl
LmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv
b2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgfCAgNyArKysrKysrCiB0b29scy9saWJ4bC9s
aWJ4bF9jcmVhdGUuYyAgICAgIHwgIDggKysrKysrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3N0cmVh
bV9yZWFkLmMgfCAgNyArKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgIHwg
IDUgKysrKysKIHRvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyAgICAgICAgfCAxOCArKysrKysrKysr
KystLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhs
LmgKaW5kZXggZmE4N2Y1My4uNjIyNWRiMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwu
aAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC04NzYsNiArODc2LDEzIEBAIHZvaWQgbGli
eGxfbWFjX2NvcHkobGlieGxfY3R4ICpjdHgsIGxpYnhsX21hYyAqZHN0LCBsaWJ4bF9tYWMgKnNy
Yyk7CiAgKi8KICNkZWZpbmUgTElCWExfSEFWRV9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9OT05FIDEK
IAorLyoKKyAqIExJQlhMX0hBVkVfQ0hFQ0tQT0lOVEVEX1NUUkVBTQorICoKKyAqIElmIHRoaXMg
aXMgZGVmaW5lZCwgdGhlbiBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtIGV4aXN0cy4KKyAqLwor
I2RlZmluZSBMSUJYTF9IQVZFX0NIRUNLUE9JTlRFRF9TVFJFQU0gMQorCiB0eXBlZGVmIGNoYXIg
KipsaWJ4bF9zdHJpbmdfbGlzdDsKIHZvaWQgbGlieGxfc3RyaW5nX2xpc3RfZGlzcG9zZShsaWJ4
bF9zdHJpbmdfbGlzdCAqc2wpOwogaW50IGxpYnhsX3N0cmluZ19saXN0X2xlbmd0aChjb25zdCBs
aWJ4bF9zdHJpbmdfbGlzdCAqc2wpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3Jl
YXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCBhZDFkNTBjLi5mMTAyOGJj
IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4
bC9saWJ4bF9jcmVhdGUuYwpAQCAtMTAzMyw5ICsxMDMzLDEzIEBAIHN0YXRpYyB2b2lkIGRvbWNy
ZWF0ZV9ib290bG9hZGVyX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgIGRjcy0+c3JzLmNvbXBs
ZXRpb25fY2FsbGJhY2sgPSBkb21jcmVhdGVfc3RyZWFtX2RvbmU7CiAKICAgICBpZiAocmVzdG9y
ZV9mZCA+PSAwKSB7Ci0gICAgICAgIGlmIChjaGVja3BvaW50ZWRfc3RyZWFtKQorICAgICAgICBz
d2l0Y2ggKGNoZWNrcG9pbnRlZF9zdHJlYW0pIHsKKyAgICAgICAgY2FzZSBMSUJYTF9DSEVDS1BP
SU5URURfU1RSRUFNX1JFTVVTOgogICAgICAgICAgICAgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0
dXAoZWdjLCBkY3MpOwotICAgICAgICBsaWJ4bF9fc3RyZWFtX3JlYWRfc3RhcnQoZWdjLCAmZGNz
LT5zcnMpOworICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCisgICAgICAgIGNhc2UgTElC
WExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FOgorICAgICAgICAgICAgbGlieGxfX3N0cmVhbV9y
ZWFkX3N0YXJ0KGVnYywgJmRjcy0+c3JzKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fcmVhZC5jIGIvdG9v
bHMvbGlieGwvbGlieGxfc3RyZWFtX3JlYWQuYwppbmRleCBkYWMxMzRlLi5mNDc4MWViIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fcmVhZC5jCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX3N0cmVhbV9yZWFkLmMKQEAgLTc5NCwxOSArNzk0LDIyIEBAIHZvaWQgbGlieGxfX3hj
X2RvbWFpbl9yZXN0b3JlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkY3Nfdm9pZCwKICAg
ICAgKiBJZiB0aGUgc3RyZWFtIGlzIG5vdCBzdGlsbCBhbGl2ZSwgd2UgbXVzdCBub3QgY29udGlu
dWUgYW55IHdvcmsuCiAgICAgICovCiAgICAgaWYgKGxpYnhsX19zdHJlYW1fcmVhZF9pbnVzZShz
dHJlYW0pKSB7Ci0gICAgICAgIGlmIChjaGVja3BvaW50ZWRfc3RyZWFtKSB7CisgICAgICAgIHN3
aXRjaCAoY2hlY2twb2ludGVkX3N0cmVhbSkgeworICAgICAgICBjYXNlIExJQlhMX0NIRUNLUE9J
TlRFRF9TVFJFQU1fUkVNVVM6CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogRmFpbG92
ZXIgZnJvbSBwcmltYXJ5LiBEb21haW4gc3RhdGUgaXMgY3VycmVudGx5IGF0IGEKICAgICAgICAg
ICAgICAqIGNvbnNpc3RlbnQgY2hlY2twb2ludCwgY29tcGxldGUgdGhlIHN0cmVhbSwgYW5kIGNh
bGwKICAgICAgICAgICAgICAqIHN0cmVhbS0+Y29tcGxldGlvbl9jYWxsYmFjaygpIHRvIHJlc3Vt
ZSB0aGUgZ3Vlc3QuCiAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgIHN0cmVhbV9jb21wbGV0
ZShlZ2MsIHN0cmVhbSwgMCk7Ci0gICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU6CiAgICAgICAgICAg
ICAvKgogICAgICAgICAgICAgICogTGlieGMgaGFzIGluZGljYXRlZCB0aGF0IGl0IGlzIGRvbmUg
d2l0aCB0aGUgc3RyZWFtLgogICAgICAgICAgICAgICogUmVzdW1lIHJlYWRpbmcgbGlieGwgcmVj
b3JkcyBmcm9tIGl0LgogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBzdHJlYW1fY29udGlu
dWUoZWdjLCBzdHJlYW0pOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9CiB9
CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9s
aWJ4bF90eXBlcy5pZGwKaW5kZXggOWFkN2ViYS4uYjhmYjIyZiAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApA
QCAtMjI4LDYgKzIyOCwxMSBAQCBsaWJ4bF9oZHR5cGUgPSBFbnVtZXJhdGlvbigiaGR0eXBlIiwg
WwogICAgICgyLCAiQUhDSSIpLAogICAgIF0sIGluaXRfdmFsID0gIkxJQlhMX0hEVFlQRV9JREUi
KQogCitsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtID0gRW51bWVyYXRpb24oImNoZWNrcG9pbnRl
ZF9zdHJlYW0iLCBbCisgICAgKDAsICJOT05FIiksCisgICAgKDEsICJSRU1VUyIpLAorICAgIF0p
CisKICMKICMgQ29tcGxleCBsaWJ4bCB0eXBlcwogIwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv
eGxfY21kaW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCmluZGV4IGY0MGFmNTEuLjA5
MDM3Y2EgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYworKysgYi90b29scy9s
aWJ4bC94bF9jbWRpbXBsLmMKQEAgLTQ0MjksNyArNDQyOSw4IEBAIHN0YXRpYyB2b2lkIG1pZ3Jh
dGVfZG9tYWluKHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyICpydW5lLCBpbnQgZGVidWcsCiB9
CiAKIHN0YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUs
IGludCBtb25pdG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZW5kX2ZkLCBp
bnQgcmVjdl9mZCwgaW50IHJlbXVzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
ZW5kX2ZkLCBpbnQgcmVjdl9mZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9j
aGVja3BvaW50ZWRfc3RyZWFtIGNoZWNrcG9pbnRlZCkKIHsKICAgICB1aW50MzJfdCBkb21pZDsK
ICAgICBpbnQgcmMsIHJjMjsKQEAgLTQ0NTQsNyArNDQ1NSw3IEBAIHN0YXRpYyB2b2lkIG1pZ3Jh
dGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUsIGludCBtb25pdG9yLAogICAgIGRv
bV9pbmZvLnBhdXNlZCA9IDE7CiAgICAgZG9tX2luZm8ubWlncmF0ZV9mZCA9IHJlY3ZfZmQ7CiAg
ICAgZG9tX2luZm8ubWlncmF0aW9uX2RvbW5hbWVfciA9ICZtaWdyYXRpb25fZG9tbmFtZTsKLSAg
ICBkb21faW5mby5jaGVja3BvaW50ZWRfc3RyZWFtID0gcmVtdXM7CisgICAgZG9tX2luZm8uY2hl
Y2twb2ludGVkX3N0cmVhbSA9IGNoZWNrcG9pbnRlZDsKIAogICAgIHJjID0gY3JlYXRlX2RvbWFp
bigmZG9tX2luZm8pOwogICAgIGlmIChyYyA8IDApIHsKQEAgLTQ0NjUsNyArNDQ2Niw4IEBAIHN0
YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBkYWVtb25pemUsIGludCBt
b25pdG9yLAogCiAgICAgZG9taWQgPSByYzsKIAotICAgIGlmIChyZW11cykgeworICAgIHN3aXRj
aCAoY2hlY2twb2ludGVkKSB7CisgICAgY2FzZSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX1JF
TVVTOgogICAgICAgICAvKiBJZiB3ZSBhcmUgaGVyZSwgaXQgbWVhbnMgdGhhdCB0aGUgc2VuZGVy
IChwcmltYXJ5KSBoYXMgY3Jhc2hlZC4KICAgICAgICAgICogVE9ETzogU3BsaXQtQnJhaW4gQ2hl
Y2suCiAgICAgICAgICAqLwpAQCAtNDQ5OCw2ICs0NTAwLDkgQEAgc3RhdGljIHZvaWQgbWlncmF0
ZV9yZWNlaXZlKGludCBkZWJ1ZywgaW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3IsCiAgICAgICAg
ICAgICAgICAgICAgIGNvbW1vbl9kb21uYW1lLCBkb21pZCwgcmMpOwogCiAgICAgICAgIGV4aXQo
cmMgPyAtRVJST1JfRkFJTDogMCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLyogZG8gbm90aGlu
ZyAqLworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3Jh
dGlvbiB0YXJnZXQ6IFRyYW5zZmVyIGNvbXBsZXRlLCIKQEAgLTQ2MzUsNyArNDY0MCw4IEBAIGlu
dCBtYWluX3Jlc3RvcmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiBpbnQgbWFpbl9taWdyYXRl
X3JlY2VpdmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewotICAgIGludCBkZWJ1ZyA9IDAsIGRh
ZW1vbml6ZSA9IDEsIG1vbml0b3IgPSAxLCByZW11cyA9IDA7CisgICAgaW50IGRlYnVnID0gMCwg
ZGFlbW9uaXplID0gMSwgbW9uaXRvciA9IDE7CisgICAgbGlieGxfY2hlY2twb2ludGVkX3N0cmVh
bSBjaGVja3BvaW50ZWQgPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU7CiAgICAgaW50
IG9wdDsKIAogICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJGZWRyIiwgTlVMTCwgIm1pZ3Jh
dGUtcmVjZWl2ZSIsIDApIHsKQEAgLTQ2NTAsNyArNDY1Niw3IEBAIGludCBtYWluX21pZ3JhdGVf
cmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIGRlYnVnID0gMTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSAncic6Ci0gICAgICAgIHJlbXVzID0gMTsKKyAgICAgICAgY2hl
Y2twb2ludGVkID0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9SRU1VUzsKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCkBAIC00NjYwLDcgKzQ2NjYsNyBAQCBpbnQgbWFpbl9taWdyYXRlX3JlY2Vp
dmUoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIH0KICAgICBtaWdyYXRlX3JlY2VpdmUoZGVi
dWcsIGRhZW1vbml6ZSwgbW9uaXRvciwKICAgICAgICAgICAgICAgICAgICAgU1RET1VUX0ZJTEVO
TywgU1RESU5fRklMRU5PLAotICAgICAgICAgICAgICAgICAgICByZW11cyk7CisgICAgICAgICAg
ICAgICAgICAgIGNoZWNrcG9pbnRlZCk7CiAKICAgICByZXR1cm4gMDsKIH0KLS0KZ2VuZXJhdGVk
IGJ5IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBt
YWlsaW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5z
b3VyY2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBE8-0007bf-2n; Sun, 28 Feb 2016 23:58:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE6-0007bT-SE
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:14 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
 56/5C-03304-69983D65; Sun, 28 Feb 2016 23:58:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703892!27355412!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32829 invoked from network); 28 Feb 2016 23:58:13 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE3-0000yJ-VR
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE3-00020n-QQ
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBE3-00020n-QQ@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:11 +0000
Subject: [Xen-changelog] [xen master] migration/save: pass
	checkpointed_stream from libxl to libxc
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc0NDlmYjM2YzZjODFkMmJhMTBhNDBiNTllNjFhOWY0MjBjZDg0NTAKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogTW9uIERl
YyAxNCAxNTowMTo0NCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IG1pZ3JhdGlvbi9zYXZlOiBwYXNzIGNoZWNrcG9pbnRlZF9zdHJlYW0gZnJvbSBsaWJ4bCB0byBs
aWJ4YwogICAgCiAgICBQYXNzIGNoZWNrcG9pbnRlZF9zdHJlYW0gZnJvbSBsaWJ4bCB0byBsaWJ4
Yy4KICAgIEl0IHdvbid0IGFmZmFjdCBsZWdhY3kgbWlncmF0aW9uIGJlY2F1c2UgbGVnYWN5IG1p
Z3JhdGlvbgogICAgd29uJ3QgdXNlIHRoaXMgcGFyYW0uCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6
IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgogICAgU2lnbmVkLW9m
Zi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KICAgIENDOiBJYW4gQ2Ft
cGJlbGwgPElhbi5DYW1wYmVsbEBjaXRyaXguY29tPgogICAgQ0M6IElhbiBKYWNrc29uIDxJYW4u
SmFja3NvbkBldS5jaXRyaXguY29tPgogICAgQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5j
b20+CiAgICBDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAg
IFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5j
b20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29s
cy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmggICB8ICA2ICsrKystLQogdG9vbHMvbGlieGMveGNf
bm9taWdyYXRlLmMgICAgICAgfCAgMyArKy0KIHRvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbi5oICAg
ICAgIHwgMTIgKysrKysrKysrKystCiB0b29scy9saWJ4Yy94Y19zcl9zYXZlLmMgICAgICAgICB8
IDE3ICsrKysrKysrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgICAgICB8
ICAyICsrCiB0b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jICAgICB8IDExICsrKysrKysrLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICB8ICAxICsKIHRvb2xzL2xpYnhsL2xp
YnhsX3NhdmVfY2FsbG91dC5jIHwgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3NhdmVfaGVscGVy
LmMgIHwgIDMgKystCiB0b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyB8ICAyICstCiB0
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICB8ICAxICsKIDExIGZpbGVzIGNoYW5nZWQs
IDQ0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YnhjL2luY2x1ZGUveGVuZ3Vlc3QuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaApp
bmRleCBkNDhiM2ZmLi5hZmZjNDJiIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hl
bmd1ZXN0LmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5ndWVzdC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjZGVmaW5lIFhDRkxBR1NfSFZNICAgICAgICgxIDw8IDIpCiAjZGVmaW5lIFhDRkxB
R1NfU1REVkdBICAgICgxIDw8IDMpCiAjZGVmaW5lIFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVT
UyAgICAoMSA8PCA0KQotI2RlZmluZSBYQ0ZMQUdTX0NIRUNLUE9JTlRFRCAgICAoMSA8PCA1KQog
CiAjZGVmaW5lIFg4Nl82NF9CX1NJWkUgICA2NCAKICNkZWZpbmUgWDg2XzMyX0JfU0laRSAgIDMy
CkBAIC04MiwxMSArODEsMTQgQEAgc3RydWN0IHNhdmVfY2FsbGJhY2tzIHsKICAqIEBwYXJtIHhj
aCBhIGhhbmRsZSB0byBhbiBvcGVuIGh5cGVydmlzb3IgaW50ZXJmYWNlCiAgKiBAcGFybSBmZCB0
aGUgZmlsZSBkZXNjcmlwdG9yIHRvIHNhdmUgYSBkb21haW4gdG8KICAqIEBwYXJtIGRvbSB0aGUg
aWQgb2YgdGhlIGRvbWFpbgorICogQHBhcmFtIGNoZWNrcG9pbnRlZF9zdHJlYW0gTUlHX1NUUkVB
TV9OT05FIGlmIHRoZSBmYXIgZW5kIG9mIHRoZSBzdHJlYW0KKyAqICAgICAgICBkb2Vzbid0IHVz
ZSBjaGVja3BvaW50aW5nCiAgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZQog
ICovCiBpbnQgeGNfZG9tYWluX3NhdmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBpb19mZCwgdWlu
dDMyX3QgZG9tLCB1aW50MzJfdCBtYXhfaXRlcnMsCiAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbWF4X2ZhY3RvciwgdWludDMyX3QgZmxhZ3MgLyogWENGTEFHU194eHggKi8sCi0gICAgICAg
ICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3MsIGludCBodm0pOwor
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzYXZlX2NhbGxiYWNrcyogY2FsbGJhY2tzLCBpbnQg
aHZtLAorICAgICAgICAgICAgICAgICAgIGludCBjaGVja3BvaW50ZWRfc3RyZWFtKTsKIAogLyog
Y2FsbGJhY2tzIHByb3ZpZGVkIGJ5IHhjX2RvbWFpbl9yZXN0b3JlICovCiBzdHJ1Y3QgcmVzdG9y
ZV9jYWxsYmFja3MgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfbm9taWdyYXRlLmMgYi90
b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYwppbmRleCA5MDI0MjllLi5jOTEyNGRmIDEwMDY0NAot
LS0gYS90b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYworKysgYi90b29scy9saWJ4Yy94Y19ub21p
Z3JhdGUuYwpAQCAtMjIsNyArMjIsOCBAQAogCiBpbnQgeGNfZG9tYWluX3NhdmUoeGNfaW50ZXJm
YWNlICp4Y2gsIGludCBpb19mZCwgdWludDMyX3QgZG9tLCB1aW50MzJfdCBtYXhfaXRlcnMsCiAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4X2ZhY3RvciwgdWludDMyX3QgZmxhZ3MsCi0g
ICAgICAgICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3MsIGludCBo
dm0pCisgICAgICAgICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3Ms
IGludCBodm0sCisgICAgICAgICAgICAgICAgICAgaW50IGNoZWNrcG9pbnRlZF9zdHJlYW0pCiB7
CiAgICAgZXJybm8gPSBFTk9TWVM7CiAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGlieGMveGNfc3JfY29tbW9uLmggYi90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAppbmRleCA2
MGI0M2U4Li42NmY1OTVmIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAor
KysgYi90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaApAQCAtMTgwLDYgKzE4MCwxNiBAQCBzdHJ1
Y3QgeGNfc3JfY29udGV4dAogCiAgICAgeGNfZG9taW5mb190IGRvbWluZm87CiAKKyAgICAvKgor
ICAgICAqIG1pZ3JhdGlvbiBzdHJlYW0KKyAgICAgKiAwOiBQbGFpbiBWTQorICAgICAqIDE6IFJl
bXVzCisgICAgICovCisgICAgZW51bSB7CisgICAgICAgIE1JR19TVFJFQU1fTk9ORSwgLyogcGxh
aW4gc3RyZWFtICovCisgICAgICAgIE1JR19TVFJFQU1fUkVNVVMsCisgICAgfSBtaWdyYXRpb25f
c3RyZWFtOworCiAgICAgdW5pb24gLyogQ29tbW9uIHNhdmUgb3IgcmVzdG9yZSBkYXRhLiAqLwog
ICAgIHsKICAgICAgICAgc3RydWN0IC8qIFNhdmUgZGF0YS4gKi8KQEAgLTE5MSw3ICsyMDEsNyBA
QCBzdHJ1Y3QgeGNfc3JfY29udGV4dAogICAgICAgICAgICAgYm9vbCBsaXZlOwogCiAgICAgICAg
ICAgICAvKiBQbGFpbiBWTSwgb3IgY2hlY2twb2ludHMgb3ZlciB0aW1lLiAqLwotICAgICAgICAg
ICAgYm9vbCBjaGVja3BvaW50ZWQ7CisgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkOwogCiAg
ICAgICAgICAgICAvKiBGdXJ0aGVyIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFt
LiAqLwogICAgICAgICAgICAgYm9vbCBkZWJ1ZzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hj
X3NyX3NhdmUuYyBiL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmUuYwppbmRleCBjY2IwMDBlLi5lMjU4
YjdjIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9zYXZlLmMKKysrIGIvdG9vbHMvbGli
eGMveGNfc3Jfc2F2ZS5jCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGludCBzZW5kX2RvbWFp
bl9tZW1vcnlfbGl2ZShzdHJ1Y3QgeGNfc3JfY29udGV4dCAqY3R4KQogICAgIGlmICggcmMgKQog
ICAgICAgICBnb3RvIG91dDsKIAotICAgIGlmICggY3R4LT5zYXZlLmRlYnVnICYmICFjdHgtPnNh
dmUuY2hlY2twb2ludGVkICkKKyAgICBpZiAoIGN0eC0+c2F2ZS5kZWJ1ZyAmJiBjdHgtPnNhdmUu
Y2hlY2twb2ludGVkICE9IE1JR19TVFJFQU1fTk9ORSApCiAgICAgewogICAgICAgICByYyA9IHZl
cmlmeV9mcmFtZXMoY3R4KTsKICAgICAgICAgaWYgKCByYyApCkBAIC03NTgsNyArNzU4LDcgQEAg
c3RhdGljIGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0
X3R5cGUpCiAKICAgICAgICAgaWYgKCBjdHgtPnNhdmUubGl2ZSApCiAgICAgICAgICAgICByYyA9
IHNlbmRfZG9tYWluX21lbW9yeV9saXZlKGN0eCk7Ci0gICAgICAgIGVsc2UgaWYgKCBjdHgtPnNh
dmUuY2hlY2twb2ludGVkICkKKyAgICAgICAgZWxzZSBpZiAoIGN0eC0+c2F2ZS5jaGVja3BvaW50
ZWQgIT0gTUlHX1NUUkVBTV9OT05FICkKICAgICAgICAgICAgIHJjID0gc2VuZF9kb21haW5fbWVt
b3J5X2NoZWNrcG9pbnRlZChjdHgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYyA9IHNl
bmRfZG9tYWluX21lbW9yeV9ub25saXZlKGN0eCk7CkBAIC03NzgsNyArNzc4LDcgQEAgc3RhdGlj
IGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0X3R5cGUp
CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgZ290byBlcnI7CiAKLSAgICAgICAgaWYg
KCBjdHgtPnNhdmUuY2hlY2twb2ludGVkICkKKyAgICAgICAgaWYgKCBjdHgtPnNhdmUuY2hlY2tw
b2ludGVkICE9IE1JR19TVFJFQU1fTk9ORSApCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qCiAg
ICAgICAgICAgICAgKiBXZSBoYXZlIG5vdyBjb21wbGV0ZWQgdGhlIGluaXRpYWwgbGl2ZSBwb3J0
aW9uIG9mIHRoZSBjaGVja3BvaW50CkBAIC03OTksNyArNzk5LDcgQEAgc3RhdGljIGludCBzYXZl
KHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0X3R5cGUpCiAgICAgICAg
ICAgICBpZiAoIHJjIDw9IDAgKQogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICB9
Ci0gICAgfSB3aGlsZSAoIGN0eC0+c2F2ZS5jaGVja3BvaW50ZWQgKTsKKyAgICB9IHdoaWxlICgg
Y3R4LT5zYXZlLmNoZWNrcG9pbnRlZCAhPSBNSUdfU1RSRUFNX05PTkUgKTsKIAogICAgIHhjX3Jl
cG9ydF9wcm9ncmVzc19zaW5nbGUoeGNoLCAiRW5kIG9mIHN0cmVhbSIpOwogCkBAIC04MjksNyAr
ODI5LDggQEAgc3RhdGljIGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQx
Nl90IGd1ZXN0X3R5cGUpCiAKIGludCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwg
aW50IGlvX2ZkLCB1aW50MzJfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4
X2l0ZXJzLCB1aW50MzJfdCBtYXhfZmFjdG9yLCB1aW50MzJfdCBmbGFncywKLSAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSkKKyAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSwK
KyAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSkKIHsKICAgICBzdHJ1
Y3QgeGNfc3JfY29udGV4dCBjdHggPQogICAgICAgICB7CkBAIC04NDEsNyArODQyLDExIEBAIGlu
dCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGlvX2ZkLCB1aW50MzJfdCBk
b20sCiAgICAgY3R4LnNhdmUuY2FsbGJhY2tzID0gY2FsbGJhY2tzOwogICAgIGN0eC5zYXZlLmxp
dmUgID0gISEoZmxhZ3MgJiBYQ0ZMQUdTX0xJVkUpOwogICAgIGN0eC5zYXZlLmRlYnVnID0gISEo
ZmxhZ3MgJiBYQ0ZMQUdTX0RFQlVHKTsKLSAgICBjdHguc2F2ZS5jaGVja3BvaW50ZWQgPSAhIShm
bGFncyAmIFhDRkxBR1NfQ0hFQ0tQT0lOVEVEKTsKKyAgICBjdHguc2F2ZS5jaGVja3BvaW50ZWQg
PSBjaGVja3BvaW50ZWRfc3RyZWFtOworCisgICAgLyogSWYgYWx0ZXJpbmcgbWlncmF0aW9uX3N0
cmVhbSB1cGRhdGUgdGhpcyBhc3NlcnQgdG9vLiAqLworICAgIGFzc2VydChjaGVja3BvaW50ZWRf
c3RyZWFtID09IE1JR19TVFJFQU1fTk9ORSB8fAorICAgICAgICAgICBjaGVja3BvaW50ZWRfc3Ry
ZWFtID09IE1JR19TVFJFQU1fUkVNVVMpOwogCiAgICAgLyoKICAgICAgKiBUT0RPOiBGaW5kIHNv
bWUgdGltZSB0byBiZXR0ZXIgdHdlYWsgdGhlIGxpdmUgbWlncmF0aW9uIGFsZ29yaXRobS4KZGlm
ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4
IGRiNTczMmMuLjU4YjQ1NzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIv
dG9vbHMvbGlieGwvbGlieGwuYwpAQCAtODc2LDYgKzg3Niw3IEBAIGludCBsaWJ4bF9kb21haW5f
cmVtdXNfc3RhcnQobGlieGxfY3R4ICpjdHgsIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZv
LAogICAgIGRzcy0+bGl2ZSA9IDE7CiAgICAgZHNzLT5kZWJ1ZyA9IDA7CiAgICAgZHNzLT5yZW11
cyA9IGluZm87CisgICAgZHNzLT5jaGVja3BvaW50ZWRfc3RyZWFtID0gTElCWExfQ0hFQ0tQT0lO
VEVEX1NUUkVBTV9SRU1VUzsKIAogICAgIGFzc2VydChpbmZvKTsKIApAQCAtOTM2LDYgKzkzNyw3
IEBAIGludCBsaWJ4bF9kb21haW5fc3VzcGVuZChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9t
aWQsIGludCBmZCwgaW50IGZsYWdzLAogICAgIGRzcy0+dHlwZSA9IHR5cGU7CiAgICAgZHNzLT5s
aXZlID0gZmxhZ3MgJiBMSUJYTF9TVVNQRU5EX0xJVkU7CiAgICAgZHNzLT5kZWJ1ZyA9IGZsYWdz
ICYgTElCWExfU1VTUEVORF9ERUJVRzsKKyAgICBkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0gPSBM
SUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU7CiAKICAgICByYyA9IGxpYnhsX19mZF9mbGFn
c19tb2RpZnlfc2F2ZShnYywgZHNzLT5mZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB+KE9fTk9OQkxPQ0t8T19OREVMQVkpLCAwLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfZG9tX3NhdmUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKaW5kZXgg
YWVhZDA0Mi4uYTM4NTUwMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUu
YworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCkBAIC0zMzgsNiArMzM4LDEyIEBA
IHZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlICpkc3MpCiAgICAgdW5zaWduZWQgaW50IG5yX3Zub2RlcyA9IDAsIG5yX3ZtZW1y
YW5nZXMgPSAwLCBucl92Y3B1cyA9IDA7CiAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3BzID0gJmRzcy0+ZHNwczsKIAorICAgIGlmIChkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0g
IT0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FICYmICFyX2luZm8pIHsKKyAgICAgICAg
TE9HKEVSUk9SLCAiTWlncmF0aW9uIHN0cmVhbSBpcyBjaGVja3BvaW50ZWQsIGJ1dCB0aGVyZSdz
IG5vICIKKyAgICAgICAgICAgICAgICAgICAiY2hlY2twb2ludCBpbmZvISIpOworICAgICAgICBn
b3RvIG91dDsKKyAgICB9CisKICAgICBkc3MtPnJjID0gMDsKICAgICBsb2dkaXJ0eV9pbml0KCZk
c3MtPmxvZ2RpcnR5KTsKICAgICBkc3BzLT5hbyA9IGFvOwpAQCAtMzc2LDE0ICszODIsMTMgQEAg
dm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3Nh
dmVfc3RhdGUgKmRzcykKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgaWYgKHJfaW5m
byAhPSBOVUxMKSB7CisgICAgaWYgKGRzcy0+Y2hlY2twb2ludGVkX3N0cmVhbSA9PSBMSUJYTF9D
SEVDS1BPSU5URURfU1RSRUFNX1JFTVVTKSB7CiAgICAgICAgIGRzcy0+aW50ZXJ2YWwgPSByX2lu
Zm8tPmludGVydmFsOwotICAgICAgICBkc3MtPnhjZmxhZ3MgfD0gWENGTEFHU19DSEVDS1BPSU5U
RUQ7CiAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChyX2luZm8tPmNvbXByZXNzaW9uKSkK
ICAgICAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRfQ09NUFJFU1M7
CiAgICAgfQogCi0gICAgaWYgKHJfaW5mbyA9PSBOVUxMKQorICAgIGlmIChkc3MtPmNoZWNrcG9p
bnRlZF9zdHJlYW0gPT0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FKQogICAgICAgICBj
YWxsYmFja3MtPnN1c3BlbmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CiAKICAg
ICBjYWxsYmFja3MtPnN3aXRjaF9xZW11X2xvZ2RpcnR5ID0gbGlieGxfX2RvbWFpbl9zdXNwZW5k
X2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDgyYzM2
MTAuLmFjNjQ1N2YgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzExMyw2ICszMTEzLDcgQEAgc3Ry
dWN0IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSB7CiAgICAgbGlieGxfZG9tYWluX3R5cGUgdHlw
ZTsKICAgICBpbnQgbGl2ZTsKICAgICBpbnQgZGVidWc7CisgICAgaW50IGNoZWNrcG9pbnRlZF9z
dHJlYW07CiAgICAgY29uc3QgbGlieGxfZG9tYWluX3JlbXVzX2luZm8gKnJlbXVzOwogICAgIC8q
IHByaXZhdGUgKi8KICAgICBpbnQgcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9z
YXZlX2NhbGxvdXQuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jCmluZGV4IDk0
YjZiNjcuLjdmMWY1ZDQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91
dC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jCkBAIC04NSw3ICs4NSw3
IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlICpkc3MsCiAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGFyZ251bXNb
XSA9IHsKICAgICAgICAgZHNzLT5kb21pZCwgMCwgMCwgZHNzLT54Y2ZsYWdzLCBkc3MtPmh2bSwK
LSAgICAgICAgY2JmbGFncywKKyAgICAgICAgY2JmbGFncywgZHNzLT5jaGVja3BvaW50ZWRfc3Ry
ZWFtLAogICAgIH07CiAKICAgICBzaHMtPmFvID0gYW87CmRpZmYgLS1naXQgYS90b29scy9saWJ4
bC9saWJ4bF9zYXZlX2hlbHBlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9oZWxwZXIuYwpp
bmRleCAzOTAzOGY5Li42YmRjZjEzIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zYXZl
X2hlbHBlci5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfaGVscGVyLmMKQEAgLTI1Myw2
ICsyNTMsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIHVpbnQz
Ml90IGZsYWdzID0gICAgICAgICAgIHN0cnRvdWwoTkVYVEFSRywwLDEwKTsKICAgICAgICAgaW50
IGh2bSA9ICAgICAgICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKICAgICAgICAgdW5zaWduZWQg
Y2JmbGFncyA9ICAgICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOworICAgICAgICBpbnQgY2hl
Y2twb2ludGVkX3N0cmVhbSA9ICBzdHJ0b3VsKE5FWFRBUkcsMCwxMCk7CiAgICAgICAgIGFzc2Vy
dCghKisrYXJndik7CiAKICAgICAgICAgaGVscGVyX3NldGNhbGxiYWNrc19zYXZlKCZoZWxwZXJf
c2F2ZV9jYWxsYmFja3MsIGNiZmxhZ3MpOwpAQCAtMjYxLDcgKzI2Miw3IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgc2V0dXBfc2lnbmFscyhzYXZlX3NpZ25hbF9o
YW5kbGVyKTsKIAogICAgICAgICByID0geGNfZG9tYWluX3NhdmUoeGNoLCBpb19mZCwgZG9tLCBt
YXhfaXRlcnMsIG1heF9mYWN0b3IsIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmhlbHBlcl9zYXZlX2NhbGxiYWNrcywgaHZtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZoZWxwZXJfc2F2ZV9jYWxsYmFja3MsIGh2bSwgY2hlY2twb2ludGVkX3N0cmVhbSk7CiAgICAg
ICAgIGNvbXBsZXRlKHIpOwogCiAgICAgfSBlbHNlIGlmICghc3RyY21wKG1vZGUsIi0tcmVzdG9y
ZS1kb21haW4iKSkgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfc3RyZWFtX3dyaXRl
LmMgYi90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwppbmRleCA5MDUzMTQ2Li5mNmVh
NTVkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYworKysgYi90
b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwpAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQg
bGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkc3Nfdm9p
ZCwKICAgICAgKiBJZiB0aGUgc3RyZWFtIGlzIG5vdCBzdGlsbCBhbGl2ZSwgd2UgbXVzdCBub3Qg
Y29udGludWUgYW55IHdvcmsuCiAgICAgICovCiAgICAgaWYgKGxpYnhsX19zdHJlYW1fd3JpdGVf
aW51c2Uoc3RyZWFtKSkgewotICAgICAgICBpZiAoZHNzLT5yZW11cykKKyAgICAgICAgaWYgKGRz
cy0+Y2hlY2twb2ludGVkX3N0cmVhbSAhPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkUp
CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogRm9yIHJlbXVzLCBpZiBsaWJ4bF9feGNf
ZG9tYWluX3NhdmVfZG9uZSgpIGNvbXBsZXRlcywKICAgICAgICAgICAgICAqIHRoZXJlIHdhcyBh
biBlcnJvciBzZW5kaW5nIGRhdGEgdG8gdGhlIHNlY29uZGFyeS4KZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRl
eCBiOGZiMjJmLi42MDVmYjlhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5p
ZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC0yMjgsNiArMjI4LDcgQEAg
bGlieGxfaGR0eXBlID0gRW51bWVyYXRpb24oImhkdHlwZSIsIFsKICAgICAoMiwgIkFIQ0kiKSwK
ICAgICBdLCBpbml0X3ZhbCA9ICJMSUJYTF9IRFRZUEVfSURFIikKIAorIyBDb25zaXN0ZW50IHdp
dGggdGhlIHZhbHVlcyBkZWZpbmVkIGZvciBtaWdyYXRpb25fc3RyZWFtLgogbGlieGxfY2hlY2tw
b2ludGVkX3N0cmVhbSA9IEVudW1lcmF0aW9uKCJjaGVja3BvaW50ZWRfc3RyZWFtIiwgWwogICAg
ICgwLCAiTk9ORSIpLAogICAgICgxLCAiUkVNVVMiKSwKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRj
aGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QK
WGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hl
bi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:16 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBE8-0007bf-2n; Sun, 28 Feb 2016 23:58:16 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE6-0007bT-SE
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:14 +0000
Received: from [193.109.254.147] by server-3.bemta-14.messagelabs.com id
 56/5C-03304-69983D65; Sun, 28 Feb 2016 23:58:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703892!27355412!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32829 invoked from network); 28 Feb 2016 23:58:13 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:13 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE3-0000yJ-VR
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBE3-00020n-QQ
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:11 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBE3-00020n-QQ@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:11 +0000
Subject: [Xen-changelog] [xen master] migration/save: pass
	checkpointed_stream from libxl to libxc
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDc0NDlmYjM2YzZjODFkMmJhMTBhNDBiNTllNjFhOWY0MjBjZDg0NTAKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogTW9uIERl
YyAxNCAxNTowMTo0NCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IG1pZ3JhdGlvbi9zYXZlOiBwYXNzIGNoZWNrcG9pbnRlZF9zdHJlYW0gZnJvbSBsaWJ4bCB0byBs
aWJ4YwogICAgCiAgICBQYXNzIGNoZWNrcG9pbnRlZF9zdHJlYW0gZnJvbSBsaWJ4bCB0byBsaWJ4
Yy4KICAgIEl0IHdvbid0IGFmZmFjdCBsZWdhY3kgbWlncmF0aW9uIGJlY2F1c2UgbGVnYWN5IG1p
Z3JhdGlvbgogICAgd29uJ3QgdXNlIHRoaXMgcGFyYW0uCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6
IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNrLmNuPgogICAgU2lnbmVkLW9m
Zi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KICAgIENDOiBJYW4gQ2Ft
cGJlbGwgPElhbi5DYW1wYmVsbEBjaXRyaXguY29tPgogICAgQ0M6IElhbiBKYWNrc29uIDxJYW4u
SmFja3NvbkBldS5jaXRyaXguY29tPgogICAgQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5j
b20+CiAgICBDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KICAg
IFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5j
b20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29s
cy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmggICB8ICA2ICsrKystLQogdG9vbHMvbGlieGMveGNf
bm9taWdyYXRlLmMgICAgICAgfCAgMyArKy0KIHRvb2xzL2xpYnhjL3hjX3NyX2NvbW1vbi5oICAg
ICAgIHwgMTIgKysrKysrKysrKystCiB0b29scy9saWJ4Yy94Y19zcl9zYXZlLmMgICAgICAgICB8
IDE3ICsrKysrKysrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgICAgICB8
ICAyICsrCiB0b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jICAgICB8IDExICsrKysrKysrLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICB8ICAxICsKIHRvb2xzL2xpYnhsL2xp
YnhsX3NhdmVfY2FsbG91dC5jIHwgIDIgKy0KIHRvb2xzL2xpYnhsL2xpYnhsX3NhdmVfaGVscGVy
LmMgIHwgIDMgKystCiB0b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYyB8ICAyICstCiB0
b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICB8ICAxICsKIDExIGZpbGVzIGNoYW5nZWQs
IDQ0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YnhjL2luY2x1ZGUveGVuZ3Vlc3QuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaApp
bmRleCBkNDhiM2ZmLi5hZmZjNDJiIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hl
bmd1ZXN0LmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5ndWVzdC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjZGVmaW5lIFhDRkxBR1NfSFZNICAgICAgICgxIDw8IDIpCiAjZGVmaW5lIFhDRkxB
R1NfU1REVkdBICAgICgxIDw8IDMpCiAjZGVmaW5lIFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVT
UyAgICAoMSA8PCA0KQotI2RlZmluZSBYQ0ZMQUdTX0NIRUNLUE9JTlRFRCAgICAoMSA8PCA1KQog
CiAjZGVmaW5lIFg4Nl82NF9CX1NJWkUgICA2NCAKICNkZWZpbmUgWDg2XzMyX0JfU0laRSAgIDMy
CkBAIC04MiwxMSArODEsMTQgQEAgc3RydWN0IHNhdmVfY2FsbGJhY2tzIHsKICAqIEBwYXJtIHhj
aCBhIGhhbmRsZSB0byBhbiBvcGVuIGh5cGVydmlzb3IgaW50ZXJmYWNlCiAgKiBAcGFybSBmZCB0
aGUgZmlsZSBkZXNjcmlwdG9yIHRvIHNhdmUgYSBkb21haW4gdG8KICAqIEBwYXJtIGRvbSB0aGUg
aWQgb2YgdGhlIGRvbWFpbgorICogQHBhcmFtIGNoZWNrcG9pbnRlZF9zdHJlYW0gTUlHX1NUUkVB
TV9OT05FIGlmIHRoZSBmYXIgZW5kIG9mIHRoZSBzdHJlYW0KKyAqICAgICAgICBkb2Vzbid0IHVz
ZSBjaGVja3BvaW50aW5nCiAgKiBAcmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZQog
ICovCiBpbnQgeGNfZG9tYWluX3NhdmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBpb19mZCwgdWlu
dDMyX3QgZG9tLCB1aW50MzJfdCBtYXhfaXRlcnMsCiAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgbWF4X2ZhY3RvciwgdWludDMyX3QgZmxhZ3MgLyogWENGTEFHU194eHggKi8sCi0gICAgICAg
ICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3MsIGludCBodm0pOwor
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzYXZlX2NhbGxiYWNrcyogY2FsbGJhY2tzLCBpbnQg
aHZtLAorICAgICAgICAgICAgICAgICAgIGludCBjaGVja3BvaW50ZWRfc3RyZWFtKTsKIAogLyog
Y2FsbGJhY2tzIHByb3ZpZGVkIGJ5IHhjX2RvbWFpbl9yZXN0b3JlICovCiBzdHJ1Y3QgcmVzdG9y
ZV9jYWxsYmFja3MgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfbm9taWdyYXRlLmMgYi90
b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYwppbmRleCA5MDI0MjllLi5jOTEyNGRmIDEwMDY0NAot
LS0gYS90b29scy9saWJ4Yy94Y19ub21pZ3JhdGUuYworKysgYi90b29scy9saWJ4Yy94Y19ub21p
Z3JhdGUuYwpAQCAtMjIsNyArMjIsOCBAQAogCiBpbnQgeGNfZG9tYWluX3NhdmUoeGNfaW50ZXJm
YWNlICp4Y2gsIGludCBpb19mZCwgdWludDMyX3QgZG9tLCB1aW50MzJfdCBtYXhfaXRlcnMsCiAg
ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4X2ZhY3RvciwgdWludDMyX3QgZmxhZ3MsCi0g
ICAgICAgICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3MsIGludCBo
dm0pCisgICAgICAgICAgICAgICAgICAgc3RydWN0IHNhdmVfY2FsbGJhY2tzKiBjYWxsYmFja3Ms
IGludCBodm0sCisgICAgICAgICAgICAgICAgICAgaW50IGNoZWNrcG9pbnRlZF9zdHJlYW0pCiB7
CiAgICAgZXJybm8gPSBFTk9TWVM7CiAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGlieGMveGNfc3JfY29tbW9uLmggYi90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAppbmRleCA2
MGI0M2U4Li42NmY1OTVmIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaAor
KysgYi90b29scy9saWJ4Yy94Y19zcl9jb21tb24uaApAQCAtMTgwLDYgKzE4MCwxNiBAQCBzdHJ1
Y3QgeGNfc3JfY29udGV4dAogCiAgICAgeGNfZG9taW5mb190IGRvbWluZm87CiAKKyAgICAvKgor
ICAgICAqIG1pZ3JhdGlvbiBzdHJlYW0KKyAgICAgKiAwOiBQbGFpbiBWTQorICAgICAqIDE6IFJl
bXVzCisgICAgICovCisgICAgZW51bSB7CisgICAgICAgIE1JR19TVFJFQU1fTk9ORSwgLyogcGxh
aW4gc3RyZWFtICovCisgICAgICAgIE1JR19TVFJFQU1fUkVNVVMsCisgICAgfSBtaWdyYXRpb25f
c3RyZWFtOworCiAgICAgdW5pb24gLyogQ29tbW9uIHNhdmUgb3IgcmVzdG9yZSBkYXRhLiAqLwog
ICAgIHsKICAgICAgICAgc3RydWN0IC8qIFNhdmUgZGF0YS4gKi8KQEAgLTE5MSw3ICsyMDEsNyBA
QCBzdHJ1Y3QgeGNfc3JfY29udGV4dAogICAgICAgICAgICAgYm9vbCBsaXZlOwogCiAgICAgICAg
ICAgICAvKiBQbGFpbiBWTSwgb3IgY2hlY2twb2ludHMgb3ZlciB0aW1lLiAqLwotICAgICAgICAg
ICAgYm9vbCBjaGVja3BvaW50ZWQ7CisgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkOwogCiAg
ICAgICAgICAgICAvKiBGdXJ0aGVyIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFt
LiAqLwogICAgICAgICAgICAgYm9vbCBkZWJ1ZzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hj
X3NyX3NhdmUuYyBiL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmUuYwppbmRleCBjY2IwMDBlLi5lMjU4
YjdjIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19zcl9zYXZlLmMKKysrIGIvdG9vbHMvbGli
eGMveGNfc3Jfc2F2ZS5jCkBAIC02MjksNyArNjI5LDcgQEAgc3RhdGljIGludCBzZW5kX2RvbWFp
bl9tZW1vcnlfbGl2ZShzdHJ1Y3QgeGNfc3JfY29udGV4dCAqY3R4KQogICAgIGlmICggcmMgKQog
ICAgICAgICBnb3RvIG91dDsKIAotICAgIGlmICggY3R4LT5zYXZlLmRlYnVnICYmICFjdHgtPnNh
dmUuY2hlY2twb2ludGVkICkKKyAgICBpZiAoIGN0eC0+c2F2ZS5kZWJ1ZyAmJiBjdHgtPnNhdmUu
Y2hlY2twb2ludGVkICE9IE1JR19TVFJFQU1fTk9ORSApCiAgICAgewogICAgICAgICByYyA9IHZl
cmlmeV9mcmFtZXMoY3R4KTsKICAgICAgICAgaWYgKCByYyApCkBAIC03NTgsNyArNzU4LDcgQEAg
c3RhdGljIGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0
X3R5cGUpCiAKICAgICAgICAgaWYgKCBjdHgtPnNhdmUubGl2ZSApCiAgICAgICAgICAgICByYyA9
IHNlbmRfZG9tYWluX21lbW9yeV9saXZlKGN0eCk7Ci0gICAgICAgIGVsc2UgaWYgKCBjdHgtPnNh
dmUuY2hlY2twb2ludGVkICkKKyAgICAgICAgZWxzZSBpZiAoIGN0eC0+c2F2ZS5jaGVja3BvaW50
ZWQgIT0gTUlHX1NUUkVBTV9OT05FICkKICAgICAgICAgICAgIHJjID0gc2VuZF9kb21haW5fbWVt
b3J5X2NoZWNrcG9pbnRlZChjdHgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYyA9IHNl
bmRfZG9tYWluX21lbW9yeV9ub25saXZlKGN0eCk7CkBAIC03NzgsNyArNzc4LDcgQEAgc3RhdGlj
IGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0X3R5cGUp
CiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAgZ290byBlcnI7CiAKLSAgICAgICAgaWYg
KCBjdHgtPnNhdmUuY2hlY2twb2ludGVkICkKKyAgICAgICAgaWYgKCBjdHgtPnNhdmUuY2hlY2tw
b2ludGVkICE9IE1JR19TVFJFQU1fTk9ORSApCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qCiAg
ICAgICAgICAgICAgKiBXZSBoYXZlIG5vdyBjb21wbGV0ZWQgdGhlIGluaXRpYWwgbGl2ZSBwb3J0
aW9uIG9mIHRoZSBjaGVja3BvaW50CkBAIC03OTksNyArNzk5LDcgQEAgc3RhdGljIGludCBzYXZl
KHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQxNl90IGd1ZXN0X3R5cGUpCiAgICAgICAg
ICAgICBpZiAoIHJjIDw9IDAgKQogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICB9
Ci0gICAgfSB3aGlsZSAoIGN0eC0+c2F2ZS5jaGVja3BvaW50ZWQgKTsKKyAgICB9IHdoaWxlICgg
Y3R4LT5zYXZlLmNoZWNrcG9pbnRlZCAhPSBNSUdfU1RSRUFNX05PTkUgKTsKIAogICAgIHhjX3Jl
cG9ydF9wcm9ncmVzc19zaW5nbGUoeGNoLCAiRW5kIG9mIHN0cmVhbSIpOwogCkBAIC04MjksNyAr
ODI5LDggQEAgc3RhdGljIGludCBzYXZlKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsIHVpbnQx
Nl90IGd1ZXN0X3R5cGUpCiAKIGludCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwg
aW50IGlvX2ZkLCB1aW50MzJfdCBkb20sCiAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4
X2l0ZXJzLCB1aW50MzJfdCBtYXhfZmFjdG9yLCB1aW50MzJfdCBmbGFncywKLSAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSkKKyAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSwK
KyAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSkKIHsKICAgICBzdHJ1
Y3QgeGNfc3JfY29udGV4dCBjdHggPQogICAgICAgICB7CkBAIC04NDEsNyArODQyLDExIEBAIGlu
dCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGlvX2ZkLCB1aW50MzJfdCBk
b20sCiAgICAgY3R4LnNhdmUuY2FsbGJhY2tzID0gY2FsbGJhY2tzOwogICAgIGN0eC5zYXZlLmxp
dmUgID0gISEoZmxhZ3MgJiBYQ0ZMQUdTX0xJVkUpOwogICAgIGN0eC5zYXZlLmRlYnVnID0gISEo
ZmxhZ3MgJiBYQ0ZMQUdTX0RFQlVHKTsKLSAgICBjdHguc2F2ZS5jaGVja3BvaW50ZWQgPSAhIShm
bGFncyAmIFhDRkxBR1NfQ0hFQ0tQT0lOVEVEKTsKKyAgICBjdHguc2F2ZS5jaGVja3BvaW50ZWQg
PSBjaGVja3BvaW50ZWRfc3RyZWFtOworCisgICAgLyogSWYgYWx0ZXJpbmcgbWlncmF0aW9uX3N0
cmVhbSB1cGRhdGUgdGhpcyBhc3NlcnQgdG9vLiAqLworICAgIGFzc2VydChjaGVja3BvaW50ZWRf
c3RyZWFtID09IE1JR19TVFJFQU1fTk9ORSB8fAorICAgICAgICAgICBjaGVja3BvaW50ZWRfc3Ry
ZWFtID09IE1JR19TVFJFQU1fUkVNVVMpOwogCiAgICAgLyoKICAgICAgKiBUT0RPOiBGaW5kIHNv
bWUgdGltZSB0byBiZXR0ZXIgdHdlYWsgdGhlIGxpdmUgbWlncmF0aW9uIGFsZ29yaXRobS4KZGlm
ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4
IGRiNTczMmMuLjU4YjQ1NzQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIv
dG9vbHMvbGlieGwvbGlieGwuYwpAQCAtODc2LDYgKzg3Niw3IEBAIGludCBsaWJ4bF9kb21haW5f
cmVtdXNfc3RhcnQobGlieGxfY3R4ICpjdHgsIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICppbmZv
LAogICAgIGRzcy0+bGl2ZSA9IDE7CiAgICAgZHNzLT5kZWJ1ZyA9IDA7CiAgICAgZHNzLT5yZW11
cyA9IGluZm87CisgICAgZHNzLT5jaGVja3BvaW50ZWRfc3RyZWFtID0gTElCWExfQ0hFQ0tQT0lO
VEVEX1NUUkVBTV9SRU1VUzsKIAogICAgIGFzc2VydChpbmZvKTsKIApAQCAtOTM2LDYgKzkzNyw3
IEBAIGludCBsaWJ4bF9kb21haW5fc3VzcGVuZChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9t
aWQsIGludCBmZCwgaW50IGZsYWdzLAogICAgIGRzcy0+dHlwZSA9IHR5cGU7CiAgICAgZHNzLT5s
aXZlID0gZmxhZ3MgJiBMSUJYTF9TVVNQRU5EX0xJVkU7CiAgICAgZHNzLT5kZWJ1ZyA9IGZsYWdz
ICYgTElCWExfU1VTUEVORF9ERUJVRzsKKyAgICBkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0gPSBM
SUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU7CiAKICAgICByYyA9IGxpYnhsX19mZF9mbGFn
c19tb2RpZnlfc2F2ZShnYywgZHNzLT5mZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB+KE9fTk9OQkxPQ0t8T19OREVMQVkpLCAwLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
eGwvbGlieGxfZG9tX3NhdmUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKaW5kZXgg
YWVhZDA0Mi4uYTM4NTUwMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUu
YworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCkBAIC0zMzgsNiArMzM4LDEyIEBA
IHZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlICpkc3MpCiAgICAgdW5zaWduZWQgaW50IG5yX3Zub2RlcyA9IDAsIG5yX3ZtZW1y
YW5nZXMgPSAwLCBucl92Y3B1cyA9IDA7CiAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRl
ICpkc3BzID0gJmRzcy0+ZHNwczsKIAorICAgIGlmIChkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0g
IT0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FICYmICFyX2luZm8pIHsKKyAgICAgICAg
TE9HKEVSUk9SLCAiTWlncmF0aW9uIHN0cmVhbSBpcyBjaGVja3BvaW50ZWQsIGJ1dCB0aGVyZSdz
IG5vICIKKyAgICAgICAgICAgICAgICAgICAiY2hlY2twb2ludCBpbmZvISIpOworICAgICAgICBn
b3RvIG91dDsKKyAgICB9CisKICAgICBkc3MtPnJjID0gMDsKICAgICBsb2dkaXJ0eV9pbml0KCZk
c3MtPmxvZ2RpcnR5KTsKICAgICBkc3BzLT5hbyA9IGFvOwpAQCAtMzc2LDE0ICszODIsMTMgQEAg
dm9pZCBsaWJ4bF9fZG9tYWluX3NhdmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3Nh
dmVfc3RhdGUgKmRzcykKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgaWYgKHJfaW5m
byAhPSBOVUxMKSB7CisgICAgaWYgKGRzcy0+Y2hlY2twb2ludGVkX3N0cmVhbSA9PSBMSUJYTF9D
SEVDS1BPSU5URURfU1RSRUFNX1JFTVVTKSB7CiAgICAgICAgIGRzcy0+aW50ZXJ2YWwgPSByX2lu
Zm8tPmludGVydmFsOwotICAgICAgICBkc3MtPnhjZmxhZ3MgfD0gWENGTEFHU19DSEVDS1BPSU5U
RUQ7CiAgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChyX2luZm8tPmNvbXByZXNzaW9uKSkK
ICAgICAgICAgICAgIGRzcy0+eGNmbGFncyB8PSBYQ0ZMQUdTX0NIRUNLUE9JTlRfQ09NUFJFU1M7
CiAgICAgfQogCi0gICAgaWYgKHJfaW5mbyA9PSBOVUxMKQorICAgIGlmIChkc3MtPmNoZWNrcG9p
bnRlZF9zdHJlYW0gPT0gTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9OT05FKQogICAgICAgICBj
YWxsYmFja3MtPnN1c3BlbmQgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CiAKICAg
ICBjYWxsYmFja3MtPnN3aXRjaF9xZW11X2xvZ2RpcnR5ID0gbGlieGxfX2RvbWFpbl9zdXNwZW5k
X2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDgyYzM2
MTAuLmFjNjQ1N2YgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzExMyw2ICszMTEzLDcgQEAgc3Ry
dWN0IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSB7CiAgICAgbGlieGxfZG9tYWluX3R5cGUgdHlw
ZTsKICAgICBpbnQgbGl2ZTsKICAgICBpbnQgZGVidWc7CisgICAgaW50IGNoZWNrcG9pbnRlZF9z
dHJlYW07CiAgICAgY29uc3QgbGlieGxfZG9tYWluX3JlbXVzX2luZm8gKnJlbXVzOwogICAgIC8q
IHByaXZhdGUgKi8KICAgICBpbnQgcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9z
YXZlX2NhbGxvdXQuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jCmluZGV4IDk0
YjZiNjcuLjdmMWY1ZDQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91
dC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfY2FsbG91dC5jCkBAIC04NSw3ICs4NSw3
IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlICpkc3MsCiAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGFyZ251bXNb
XSA9IHsKICAgICAgICAgZHNzLT5kb21pZCwgMCwgMCwgZHNzLT54Y2ZsYWdzLCBkc3MtPmh2bSwK
LSAgICAgICAgY2JmbGFncywKKyAgICAgICAgY2JmbGFncywgZHNzLT5jaGVja3BvaW50ZWRfc3Ry
ZWFtLAogICAgIH07CiAKICAgICBzaHMtPmFvID0gYW87CmRpZmYgLS1naXQgYS90b29scy9saWJ4
bC9saWJ4bF9zYXZlX2hlbHBlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9oZWxwZXIuYwpp
bmRleCAzOTAzOGY5Li42YmRjZjEzIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zYXZl
X2hlbHBlci5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVfaGVscGVyLmMKQEAgLTI1Myw2
ICsyNTMsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgIHVpbnQz
Ml90IGZsYWdzID0gICAgICAgICAgIHN0cnRvdWwoTkVYVEFSRywwLDEwKTsKICAgICAgICAgaW50
IGh2bSA9ICAgICAgICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKICAgICAgICAgdW5zaWduZWQg
Y2JmbGFncyA9ICAgICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOworICAgICAgICBpbnQgY2hl
Y2twb2ludGVkX3N0cmVhbSA9ICBzdHJ0b3VsKE5FWFRBUkcsMCwxMCk7CiAgICAgICAgIGFzc2Vy
dCghKisrYXJndik7CiAKICAgICAgICAgaGVscGVyX3NldGNhbGxiYWNrc19zYXZlKCZoZWxwZXJf
c2F2ZV9jYWxsYmFja3MsIGNiZmxhZ3MpOwpAQCAtMjYxLDcgKzI2Miw3IEBAIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgc2V0dXBfc2lnbmFscyhzYXZlX3NpZ25hbF9o
YW5kbGVyKTsKIAogICAgICAgICByID0geGNfZG9tYWluX3NhdmUoeGNoLCBpb19mZCwgZG9tLCBt
YXhfaXRlcnMsIG1heF9mYWN0b3IsIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmhlbHBlcl9zYXZlX2NhbGxiYWNrcywgaHZtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZoZWxwZXJfc2F2ZV9jYWxsYmFja3MsIGh2bSwgY2hlY2twb2ludGVkX3N0cmVhbSk7CiAgICAg
ICAgIGNvbXBsZXRlKHIpOwogCiAgICAgfSBlbHNlIGlmICghc3RyY21wKG1vZGUsIi0tcmVzdG9y
ZS1kb21haW4iKSkgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfc3RyZWFtX3dyaXRl
LmMgYi90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwppbmRleCA5MDUzMTQ2Li5mNmVh
NTVkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYworKysgYi90
b29scy9saWJ4bC9saWJ4bF9zdHJlYW1fd3JpdGUuYwpAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQg
bGlieGxfX3hjX2RvbWFpbl9zYXZlX2RvbmUobGlieGxfX2VnYyAqZWdjLCB2b2lkICpkc3Nfdm9p
ZCwKICAgICAgKiBJZiB0aGUgc3RyZWFtIGlzIG5vdCBzdGlsbCBhbGl2ZSwgd2UgbXVzdCBub3Qg
Y29udGludWUgYW55IHdvcmsuCiAgICAgICovCiAgICAgaWYgKGxpYnhsX19zdHJlYW1fd3JpdGVf
aW51c2Uoc3RyZWFtKSkgewotICAgICAgICBpZiAoZHNzLT5yZW11cykKKyAgICAgICAgaWYgKGRz
cy0+Y2hlY2twb2ludGVkX3N0cmVhbSAhPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkUp
CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogRm9yIHJlbXVzLCBpZiBsaWJ4bF9feGNf
ZG9tYWluX3NhdmVfZG9uZSgpIGNvbXBsZXRlcywKICAgICAgICAgICAgICAqIHRoZXJlIHdhcyBh
biBlcnJvciBzZW5kaW5nIGRhdGEgdG8gdGhlIHNlY29uZGFyeS4KZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRl
eCBiOGZiMjJmLi42MDVmYjlhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5p
ZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC0yMjgsNiArMjI4LDcgQEAg
bGlieGxfaGR0eXBlID0gRW51bWVyYXRpb24oImhkdHlwZSIsIFsKICAgICAoMiwgIkFIQ0kiKSwK
ICAgICBdLCBpbml0X3ZhbCA9ICJMSUJYTF9IRFRZUEVfSURFIikKIAorIyBDb25zaXN0ZW50IHdp
dGggdGhlIHZhbHVlcyBkZWZpbmVkIGZvciBtaWdyYXRpb25fc3RyZWFtLgogbGlieGxfY2hlY2tw
b2ludGVkX3N0cmVhbSA9IEVudW1lcmF0aW9uKCJjaGVja3BvaW50ZWRfc3RyZWFtIiwgWwogICAg
ICgwLCAiTk9ORSIpLAogICAgICgxLCAiUkVNVVMiKSwKLS0KZ2VuZXJhdGVkIGJ5IGdpdC1wYXRj
aGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5nIGxpc3QK
WGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2UuY29tL3hl
bi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEH-0007dO-4l; Sun, 28 Feb 2016 23:58:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEG-0007dC-K1
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:24 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 C7/E2-02980-0A983D65; Sun, 28 Feb 2016 23:58:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703902!27355422!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32960 invoked from network); 28 Feb 2016 23:58:23 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:23 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEE-0000yT-8T
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEE-00021v-7N
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEE-00021v-7N@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:22 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: export logdirty_init
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDM2NDZkMDcxNDdlNmFiMDRhY2UyNWMzMGU0NjFkODkzYjhkNGI3MWYKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0NCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBleHBvcnQgbG9nZGlydHlfaW5pdAogICAgCiAgICBXZSBuZWVkIHRvIGVu
YWJsZSBsb2dkaXJ0eSBvbiBzZWNvbmRhcnksIHNvIHdlIGV4cG9ydCBsb2dkaXJ0eV9pbml0CiAg
ICBmb3IgaW50ZXJuYWwgdXNlLiBSZW5hbWUgaXQgdG8gbGlieGxfX2xvZ2RpcnR5X2luaXQuCiAg
ICAKICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0
YWNrLmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1
LmNvbT4KICAgIEFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29t
PgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh
Y2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0K
IHRvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgfCA0ICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhs
X2ludGVybmFsLmggfCAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUuYwppbmRleCBhMzg1NTAwLi4yOGUyYTQxIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zYXZlLmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2Rp
cnR5X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCiBzdGF0aWMg
dm9pZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJj
KTsKIAotc3RhdGljIHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICps
ZHMpCit2b2lkIGxpYnhsX19sb2dkaXJ0eV9pbml0KGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxk
cykKIHsKICAgICBsZHMtPmNtZF9wYXRoID0gMDsKICAgICBsaWJ4bF9fZXZfeHN3YXRjaF9pbml0
KCZsZHMtPndhdGNoKTsKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2
ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogICAgIH0K
IAogICAgIGRzcy0+cmMgPSAwOwotICAgIGxvZ2RpcnR5X2luaXQoJmRzcy0+bG9nZGlydHkpOwor
ICAgIGxpYnhsX19sb2dkaXJ0eV9pbml0KCZkc3MtPmxvZ2RpcnR5KTsKICAgICBkc3BzLT5hbyA9
IGFvOwogICAgIGRzcHMtPmRvbWlkID0gZG9taWQ7CiAgICAgcmMgPSBsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfaW5pdChlZ2MsIGRzcHMsIHR5cGUpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli
eGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYWM2NDU3
Zi4uNjU2YmNjZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysg
Yi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zMDc4LDYgKzMwNzgsOCBAQCB0eXBl
ZGVmIHN0cnVjdCBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIHsKICAgICBsaWJ4bF9fZXZfdGltZSB0
aW1lb3V0OwogfSBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoOwogCitfaGlkZGVuIHZvaWQgbGlieGxf
X2xvZ2RpcnR5X2luaXQobGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKTsKKwogc3RydWN0IGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSB7CiAgICAgLyogc2V0IGJ5IGNhbGxlciBvZiBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfaW5pdCAqLwogICAgIGxpYnhsX19hbyAqYW87Ci0tCmdlbmVyYXRl
ZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cg
bWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
c291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:25 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEH-0007dO-4l; Sun, 28 Feb 2016 23:58:25 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEG-0007dC-K1
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:24 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 C7/E2-02980-0A983D65; Sun, 28 Feb 2016 23:58:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703902!27355422!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32960 invoked from network); 28 Feb 2016 23:58:23 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:23 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEE-0000yT-8T
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEE-00021v-7N
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:22 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEE-00021v-7N@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:22 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: export logdirty_init
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDM2NDZkMDcxNDdlNmFiMDRhY2UyNWMzMGU0NjFkODkzYjhkNGI3MWYKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0NCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDYgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBleHBvcnQgbG9nZGlydHlfaW5pdAogICAgCiAgICBXZSBuZWVkIHRvIGVu
YWJsZSBsb2dkaXJ0eSBvbiBzZWNvbmRhcnksIHNvIHdlIGV4cG9ydCBsb2dkaXJ0eV9pbml0CiAg
ICBmb3IgaW50ZXJuYWwgdXNlLiBSZW5hbWUgaXQgdG8gbGlieGxfX2xvZ2RpcnR5X2luaXQuCiAg
ICAKICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0
YWNrLmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1
LmNvbT4KICAgIEFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29t
PgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh
Y2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0K
IHRvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgfCA0ICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhs
X2ludGVybmFsLmggfCAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUuYwppbmRleCBhMzg1NTAwLi4yOGUyYTQxIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zYXZlLmMKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2Rp
cnR5X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCiBzdGF0aWMg
dm9pZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJj
KTsKIAotc3RhdGljIHZvaWQgbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICps
ZHMpCit2b2lkIGxpYnhsX19sb2dkaXJ0eV9pbml0KGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxk
cykKIHsKICAgICBsZHMtPmNtZF9wYXRoID0gMDsKICAgICBsaWJ4bF9fZXZfeHN3YXRjaF9pbml0
KCZsZHMtPndhdGNoKTsKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2
ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogICAgIH0K
IAogICAgIGRzcy0+cmMgPSAwOwotICAgIGxvZ2RpcnR5X2luaXQoJmRzcy0+bG9nZGlydHkpOwor
ICAgIGxpYnhsX19sb2dkaXJ0eV9pbml0KCZkc3MtPmxvZ2RpcnR5KTsKICAgICBkc3BzLT5hbyA9
IGFvOwogICAgIGRzcHMtPmRvbWlkID0gZG9taWQ7CiAgICAgcmMgPSBsaWJ4bF9fZG9tYWluX3N1
c3BlbmRfaW5pdChlZ2MsIGRzcHMsIHR5cGUpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli
eGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYWM2NDU3
Zi4uNjU2YmNjZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysg
Yi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zMDc4LDYgKzMwNzgsOCBAQCB0eXBl
ZGVmIHN0cnVjdCBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIHsKICAgICBsaWJ4bF9fZXZfdGltZSB0
aW1lb3V0OwogfSBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoOwogCitfaGlkZGVuIHZvaWQgbGlieGxf
X2xvZ2RpcnR5X2luaXQobGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKTsKKwogc3RydWN0IGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSB7CiAgICAgLyogc2V0IGJ5IGNhbGxlciBvZiBsaWJ4
bF9fZG9tYWluX3N1c3BlbmRfaW5pdCAqLwogICAgIGxpYnhsX19hbyAqYW87Ci0tCmdlbmVyYXRl
ZCBieSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cg
bWFpbGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu
c291cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBET-0007f5-6u; Sun, 28 Feb 2016 23:58:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBES-0007eu-Gh
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:37 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
 86/4B-03306-BA983D65; Sun, 28 Feb 2016 23:58:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456703912!25720318!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38702 invoked from network); 28 Feb 2016 23:58:33 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEO-0000yj-MX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEO-00022K-H0
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEO-00022K-H0@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:32 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: rename remus device to
	checkpoint device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDMwNDQwMDQ1OWVmMDUxZDEyYWU4NGJhOGE3YjJlY2NkYWRjMGY3ZmIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0NyAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiByZW5hbWUgcmVtdXMgZGV2aWNlIHRvIGNoZWNrcG9pbnQgZGV2aWNlCiAg
ICAKICAgIFRoaXMgcGF0Y2ggaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIGZvbGxvd2luZyBjb21t
YW5kczoKICAgICAxLiBnaXQgbXYgdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGV2aWNlLmMgdG9v
bHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYwogICAgIDIuIHBlcmwgLXBpIC1lICdz
L2xpYnhsX3JlbXVzX2RldmljZS9saWJ4bF9jaGVja3BvaW50X2RldmljZS9nJyB0b29scy9saWJ4
bC9NYWtlZmlsZQogICAgIDMuIHBlcmwgLXBpIC1lICdzL1xibGlieGxfX3JlbXVzX2RldmljZXMv
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlcy9nJyB0b29scy9saWJ4bC8qLltjaF0KICAgICA0LiBw
ZXJsIC1waSAtZSAncy9cYmxpYnhsX19yZW11c19kZXZpY2VcYi9saWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2UvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgNS4gcGVybCAtcGkgLWUgJ3MvXGJsaWJ4
bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wc1xiL2xpYnhsX19jaGVja3BvaW50X2RldmljZV9p
bnN0YW5jZV9vcHMvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgNi4gcGVybCAtcGkgLWUgJ3Mv
XGJsaWJ4bF9fcmVtdXNfY2FsbGJhY2tcYi9saWJ4bF9fY2hlY2twb2ludF9jYWxsYmFjay9nJyB0
b29scy9saWJ4bC8qLltjaF0KICAgICA3LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzX2RldmljZV9p
bml0XGIvY2hlY2twb2ludF9kZXZpY2VfaW5pdC9nJyB0b29scy9saWJ4bC8qLltjaF0KICAgICA4
LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzX2RldmljZXNfc2V0dXBcYi9jaGVja3BvaW50X2Rldmlj
ZXNfc2V0dXAvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgOS4gcGVybCAtcGkgLWUgJ3MvXGJk
ZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGlcYi9kZWZpbmVfY2hlY2twb2ludF9hcGkvZycgdG9v
bHMvbGlieGwvKi5bY2hdCiAgICAxMC4gcGVybCAtcGkgLWUgJ3MvXGJyZHNcYi9jZHMvZycgdG9v
bHMvbGlieGwvKi5bY2hdCiAgICAxMS4gcGVybCAtcGkgLWUgJ3MvUkVNVVNfREVWSUNFL0NIRUNL
UE9JTlRfREVWSUNFL2cnIHRvb2xzL2xpYnhsLyouW2NoXSB0b29scy9saWJ4bC8qLmlkbAogICAg
MTIuIHBlcmwgLXBpIC1lICdzL1JFTVVTX0RFVk9QUy9DSEVDS1BPSU5UX0RFVk9QUy9nJyB0b29s
cy9saWJ4bC8qLltjaF0gdG9vbHMvbGlieGwvKi5pZGwKICAgIDEzLiBwZXJsIC1waSAtZSAncy9c
YnJlbXVzXGIvY2hlY2twb2ludC9nJyB0b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2Rldmlj
ZS5bY2hdCiAgICAxNC4gcGVybCAtcGkgLWUgJ3MvXGJyZW11cyBkZXZpY2UvY2hlY2twb2ludCBk
ZXZpY2UvZycgdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTUuIHBlcmwgLXBpIC1l
ICdzL1xiUmVtdXMgZGV2aWNlL2NoZWNrcG9pbnQgZGV2aWNlL2cnIHRvb2xzL2xpYnhsL2xpYnhs
X2ludGVybmFsLmgKICAgIDE2LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzIGFic3RyYWN0L2NoZWNr
cG9pbnQgYWJzdHJhY3QvZycgdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTcuIHBl
cmwgLXBpIC1lICdzL1xicmVtdXMgaW52b2NhdGlvbi9jaGVja3BvaW50IGludm9jYXRpb24vZycg
dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTguIHBlcmwgLXBpIC1lICdzL1xibGli
eGxfX3JlbXVzX2RldmljZV9cKC9saWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfKC9nJyB0b29scy9s
aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCiAgICAKICAgIFRoZSBwYXRjaCBhbHNvIGZpeGVzIHRoZSBm
b2xsb3dpbmcgYmFja3dvcmQgY29tcGF0aWJpbGl0eToKICAgICAgVGhlIGVycm9yIGNvZGUgRVJS
T1JfUkVNVVNfWFhYIHdhcyBpbnRyb2R1Y2VkIGluIFhlbiA0LjUsIGFuZAogICAgICBjaGFuZ2Vk
IHRvIEVSUk9SX0NIRUNLUE9JTlRfWFhYIGFmdGVyIHByZXZpb3VzIHJlbmFtaW5nLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBSZXZpZXdlZC1MaWdodGx5LWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53
aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNv
bT4KLS0tCiB0b29scy9saWJ4bC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAyICstCiB0
b29scy9saWJ4bC9saWJ4bC5oICAgICAgICAgICAgICAgICAgIHwgIDEyICsrCiB0b29scy9saWJ4
bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIHwgMzI3ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgICAgfCAxMTIg
KysrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYyAgICAgICAgIHwgMTA4
ICsrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jICAgICAgIHwgIDEw
ICstCiB0b29scy9saWJ4bC9saWJ4bF9yZW11cy5jICAgICAgICAgICAgIHwgIDc2ICsrKystLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9yZW11c19kZXZpY2UuYyAgICAgIHwgMzI3IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3JlbXVzX2Rpc2tfZHJi
ZC5jICAgfCAgNTIgKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAg
IHwgICA0ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA1MjEgaW5zZXJ0aW9ucygrKSwgNTA5IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlIGIvdG9vbHMvbGlieGwv
TWFrZWZpbGUKaW5kZXggMjYzZWEwZS4uNzg5YTEyZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
TWFrZWZpbGUKKysrIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUKQEAgLTY0LDcgKzY0LDcgQEAgZWxz
ZQogTElCWExfT0JKUy15ICs9IGxpYnhsX25vX2NvbnZlcnRfY2FsbG91dC5vCiBlbmRpZgogCi1M
SUJYTF9PQkpTLXkgKz0gbGlieGxfcmVtdXMubyBsaWJ4bF9yZW11c19kZXZpY2UubyBsaWJ4bF9y
ZW11c19kaXNrX2RyYmQubworTElCWExfT0JKUy15ICs9IGxpYnhsX3JlbXVzLm8gbGlieGxfY2hl
Y2twb2ludF9kZXZpY2UubyBsaWJ4bF9yZW11c19kaXNrX2RyYmQubwogCiBMSUJYTF9PQkpTLSQo
Q09ORklHX1g4NikgKz0gbGlieGxfY3B1aWQubyBsaWJ4bF94ODYubyBsaWJ4bF9wc3IubwogTElC
WExfT0JKUy0kKENPTkZJR19BUk0pICs9IGxpYnhsX25vY3B1aWQubyBsaWJ4bF9hcm0ubyBsaWJ4
bF9saWJmZHRfY29tcGF0Lm8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29s
cy9saWJ4bC9saWJ4bC5oCmluZGV4IDYyMjVkYjEuLmY5ZTNlZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtODgzLDYgKzg4Mywx
OCBAQCB2b2lkIGxpYnhsX21hY19jb3B5KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9tYWMgKmRzdCwg
bGlieGxfbWFjICpzcmMpOwogICovCiAjZGVmaW5lIExJQlhMX0hBVkVfQ0hFQ0tQT0lOVEVEX1NU
UkVBTSAxCiAKKy8qCisgKiBFUlJPUl9SRU1VU19YWFggZXJyb3IgY29kZSBvbmx5IGV4aXN0cyBm
cm9tIFhlbiA0LjUsIFhlbiA0LjYgYW5kIGl0CisgKiBpcyBjaGFuZ2VkIHRvIEVSUk9SX0NIRUNL
UE9JTlRfWFhYIGluIFhlbiA0LjcKKyAqLworI2lmIGRlZmluZWQoTElCWExfQVBJX1ZFUlNJT04p
ICYmIExJQlhMX0FQSV9WRVJTSU9OID49IDB4MDQwNTAwIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmJiBMSUJYTF9BUElfVkVSU0lPTiA8IDB4MDQwNzAwCisjZGVmaW5lIEVSUk9S
X1JFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCBcCisgICAgICAgIEVSUk9SX0NIRUNLUE9JTlRf
REVWT1BTX0RPRVNfTk9UX01BVENICisjZGVmaW5lIEVSUk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQ
UE9SVEVEIFwKKyAgICAgICAgRVJST1JfQ0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRAor
I2VuZGlmCisKIHR5cGVkZWYgY2hhciAqKmxpYnhsX3N0cmluZ19saXN0Owogdm9pZCBsaWJ4bF9z
dHJpbmdfbGlzdF9kaXNwb3NlKGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CiBpbnQgbGlieGxfc3Ry
aW5nX2xpc3RfbGVuZ3RoKGNvbnN0IGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CmRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGli
eGxfY2hlY2twb2ludF9kZXZpY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4xMDljZDIzCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu
dF9kZXZpY2UuYwpAQCAtMCwwICsxLDMyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBG
VUpJVFNVIExJTUlURUQKKyAqIEF1dGhvcjogWWFuZyBIb25neWFuZyA8eWFuZ2h5QGNuLmZ1aml0
c3UuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNw
ZWNpYWwKKyAqIGV4Y2VwdGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0Uu
CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhs
X29zZGVwcy5oIiAvKiBtdXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNp
bmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgorCitleHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlX2luc3RhbmNlX29wcyByZW11c19kZXZpY2VfbmljOworZXh0ZXJuIGNvbnN0IGxp
YnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlz
azsKK3N0YXRpYyBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzICpy
ZW11c19vcHNbXSA9IHsKKyAgICAmcmVtdXNfZGV2aWNlX25pYywKKyAgICAmcmVtdXNfZGV2aWNl
X2RyYmRfZGlzaywKKyAgICBOVUxMLAorfTsKKworLyotLS0tLSBoZWxwZXIgZnVuY3Rpb25zIC0t
LS0tKi8KKworc3RhdGljIGludCBpbml0X2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfc3RhdGUgKmNkcykKK3sKKyAgICAvKiBpbml0IGRldmljZSBzdWJraW5kLXNwZWNp
ZmljIHN0YXRlIGluIHRoZSBsaWJ4bCBjdHggKi8KKyAgICBpbnQgcmM7CisgICAgU1RBVEVfQU9f
R0MoY2RzLT5hbyk7CisKKyAgICBpZiAobGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgewor
ICAgICAgICByYyA9IGluaXRfc3Via2luZF9uaWMoY2RzKTsKKyAgICAgICAgaWYgKHJjKSBnb3Rv
IG91dDsKKyAgICB9CisKKyAgICByYyA9IGluaXRfc3Via2luZF9kcmJkX2Rpc2soY2RzKTsKKyAg
ICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgcmMgPSAwOworb3V0OgorICAgIHJldHVybiByYzsK
K30KKworc3RhdGljIHZvaWQgY2xlYW51cF9kZXZpY2Vfc3Via2luZChsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3N0YXRlICpjZHMpCit7CisgICAgLyogY2xlYW51cCBkZXZpY2Ugc3Via2luZC1z
cGVjaWZpYyBzdGF0ZSBpbiB0aGUgbGlieGwgY3R4ICovCisgICAgU1RBVEVfQU9fR0MoY2RzLT5h
byk7CisKKyAgICBpZiAobGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkKKyAgICAgICAgY2xl
YW51cF9zdWJraW5kX25pYyhjZHMpOworCisgICAgY2xlYW51cF9zdWJraW5kX2RyYmRfZGlzayhj
ZHMpOworfQorCisvKi0tLS0tIHNldHVwKCkgYW5kIHRlYXJkb3duKCkgLS0tLS0qLworCisvKiBj
YWxsYmFja3MgKi8KKworc3RhdGljIHZvaWQgYWxsX2RldmljZXNfc2V0dXBfY2IobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2
ICptdWx0aWRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Citz
dGF0aWMgdm9pZCBkZXZpY2Vfc2V0dXBfaXRlcmF0ZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2Rldik7CitzdGF0
aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKKworLyogY2hlY2twb2ludCBkZXZpY2Ug
c2V0dXAgYW5kIHRlYXJkb3duICovCisKK3N0YXRpYyBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Uq
IGNoZWNrcG9pbnRfZGV2aWNlX2luaXQobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
c3RhdGUgKmNkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZGV2aWNlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2b2lkICpsaWJ4bF9kZXYpCit7CisgICAgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlICpkZXYgPSBOVUxMOworCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CisgICAg
R0NORVcoZGV2KTsKKyAgICBkZXYtPmJhY2tlbmRfZGV2ID0gbGlieGxfZGV2OworICAgIGRldi0+
a2luZCA9IGtpbmQ7CisgICAgZGV2LT5jZHMgPSBjZHM7CisKKyAgICByZXR1cm4gZGV2OworfQor
CitzdGF0aWMgdm9pZCBjaGVja3BvaW50X2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Vz
X3N0YXRlICpjZHMpOworCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCit7Cisg
ICAgaW50IGksIHJjOworCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CisKKyAgICByYyA9IGlu
aXRfZGV2aWNlX3N1YmtpbmQoY2RzKTsKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0Owor
CisgICAgY2RzLT5udW1fZGV2aWNlcyA9IDA7CisgICAgY2RzLT5udW1fbmljcyA9IDA7CisgICAg
Y2RzLT5udW1fZGlza3MgPSAwOworCisgICAgaWYgKGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgJiAo
MSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVklGKSkKKyAgICAgICAgY2RzLT5uaWNzID0gbGlieGxf
ZGV2aWNlX25pY19saXN0KENUWCwgY2RzLT5kb21pZCwgJmNkcy0+bnVtX25pY3MpOworCisgICAg
aWYgKGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgJiAoMSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVkJE
KSkKKyAgICAgICAgY2RzLT5kaXNrcyA9IGxpYnhsX2RldmljZV9kaXNrX2xpc3QoQ1RYLCBjZHMt
PmRvbWlkLCAmY2RzLT5udW1fZGlza3MpOworCisgICAgaWYgKGNkcy0+bnVtX25pY3MgPT0gMCAm
JiBjZHMtPm51bV9kaXNrcyA9PSAwKQorICAgICAgICBnb3RvIG91dDsKKworICAgIEdDTkVXX0FS
UkFZKGNkcy0+ZGV2cywgY2RzLT5udW1fbmljcyArIGNkcy0+bnVtX2Rpc2tzKTsKKworICAgIGZv
ciAoaSA9IDA7IGkgPCBjZHMtPm51bV9uaWNzOyBpKyspIHsKKyAgICAgICAgY2RzLT5kZXZzW2Nk
cy0+bnVtX2RldmljZXMrK10gPSBjaGVja3BvaW50X2RldmljZV9pbml0KGVnYywgY2RzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklD
RV9LSU5EX1ZJRiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZjZHMtPm5pY3NbaV0pOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBjZHMtPm51
bV9kaXNrczsgaSsrKSB7CisgICAgICAgIGNkcy0+ZGV2c1tjZHMtPm51bV9kZXZpY2VzKytdID0g
Y2hlY2twb2ludF9kZXZpY2VfaW5pdChlZ2MsIGNkcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WQkQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2RzLT5kaXNrc1tpXSk7
CisgICAgfQorCisgICAgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGVnYywgY2RzKTsKKworICAg
IHJldHVybjsKKworb3V0OgorICAgIGNkcy0+Y2FsbGJhY2soZWdjLCBjZHMsIHJjKTsKK30KKwor
c3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSAqY2RzKQoreworICAgIGludCBpLCByYzsKKworICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8p
OworCisgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmY2RzLT5tdWx0aWRldik7CisgICAg
Y2RzLT5tdWx0aWRldi5jYWxsYmFjayA9IGFsbF9kZXZpY2VzX3NldHVwX2NiOworICAgIGZvciAo
aSA9IDA7IGkgPCBjZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKKyAgICAgICAgbGlieGxfX2NoZWNr
cG9pbnRfZGV2aWNlICpkZXYgPSBjZHMtPmRldnNbaV07CisgICAgICAgIGRldi0+b3BzX2luZGV4
ID0gLTE7CisgICAgICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlX3dpdGhfYW9kZXYoJmNkcy0+
bXVsdGlkZXYsICZkZXYtPmFvZGV2KTsKKworICAgICAgICBkZXYtPmFvZGV2LnJjID0gRVJST1Jf
Q0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRDsKKyAgICAgICAgZGV2LT5hb2Rldi5jYWxs
YmFjayA9IGRldmljZV9zZXR1cF9pdGVyYXRlOworICAgICAgICBkZXZpY2Vfc2V0dXBfaXRlcmF0
ZShlZ2MsJmRldi0+YW9kZXYpOworICAgIH0KKworICAgIHJjID0gMDsKKyAgICBsaWJ4bF9fbXVs
dGlkZXZfcHJlcGFyZWQoZWdjLCAmY2RzLT5tdWx0aWRldiwgcmMpOworfQorCisKK3N0YXRpYyB2
b2lkIGRldmljZV9zZXR1cF9pdGVyYXRlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2FvX2Rldmlj
ZSAqYW9kZXYpCit7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYgPSBDT05UQUlO
RVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKKyAgICBFR0NfR0M7CisKKyAgICBpZiAoYW9kZXYt
PnJjICE9IEVSUk9SX0NIRUNLUE9JTlRfREVWSUNFX05PVF9TVVBQT1JURUQgJiYKKyAgICAgICAg
YW9kZXYtPnJjICE9IEVSUk9SX0NIRUNLUE9JTlRfREVWT1BTX0RPRVNfTk9UX01BVENIKQorICAg
ICAgICAvKiBtaWdodCBiZSBzdWNjZXNzIG9yIGRpc2FzdGVyICovCisgICAgICAgIGdvdG8gb3V0
OworCisgICAgZG8geworICAgICAgICBkZXYtPm9wcyA9IHJlbXVzX29wc1srK2Rldi0+b3BzX2lu
ZGV4XTsKKyAgICAgICAgaWYgKCFkZXYtPm9wcykgeworICAgICAgICAgICAgbGlieGxfZGV2aWNl
X25pYyAqIG5pYyA9IE5VTEw7CisgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqIGRpc2sg
PSBOVUxMOworICAgICAgICAgICAgdWludDMyX3QgZG9taWQ7CisgICAgICAgICAgICBpbnQgZGV2
aWQ7CisgICAgICAgICAgICBpZiAoZGV2LT5raW5kID09IExJQlhMX19ERVZJQ0VfS0lORF9WSUYp
IHsKKyAgICAgICAgICAgICAgICBuaWMgPSAobGlieGxfZGV2aWNlX25pYyAqKWRldi0+YmFja2Vu
ZF9kZXY7CisgICAgICAgICAgICAgICAgZG9taWQgPSBuaWMtPmJhY2tlbmRfZG9taWQ7CisgICAg
ICAgICAgICAgICAgZGV2aWQgPSBuaWMtPmRldmlkOworICAgICAgICAgICAgfSBlbHNlIGlmIChk
ZXYtPmtpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZCRCkgeworICAgICAgICAgICAgICAgIGRp
c2sgPSAobGlieGxfZGV2aWNlX2Rpc2sgKilkZXYtPmJhY2tlbmRfZGV2OworICAgICAgICAgICAg
ICAgIGRvbWlkID0gZGlzay0+YmFja2VuZF9kb21pZDsKKyAgICAgICAgICAgICAgICBkZXZpZCA9
IGxpYnhsX19kZXZpY2VfZGlza19kZXZfbnVtYmVyKGRpc2stPnZkZXYsIE5VTEwsIE5VTEwpOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBMT0coRVJST1IsImRldmljZSBr
aW5kIG5vdCBoYW5kbGVkIGJ5IGNoZWNrcG9pbnQ6ICVzIiwKKyAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhkZXYtPmtpbmQpKTsKKyAgICAgICAgICAgICAg
ICBhb2Rldi0+cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgTE9HKEVSUk9SLCJkZXZpY2Ugbm90IGhhbmRsZWQgYnkg
Y2hlY2twb2ludCIKKyAgICAgICAgICAgICAgICAiIChkZXZpY2U9JXM6JSJQUklkMzIiLyUiUFJJ
ZDMyIikiLAorICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoZGV2
LT5raW5kKSwKKyAgICAgICAgICAgICAgICBkb21pZCwgZGV2aWQpOworICAgICAgICAgICAgYW9k
ZXYtPnJjID0gRVJST1JfQ0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRDsKKyAgICAgICAg
ICAgIGdvdG8gb3V0OworICAgICAgICB9CisgICAgfSB3aGlsZSAoZGV2LT5vcHMtPmtpbmQgIT0g
ZGV2LT5raW5kKTsKKworICAgIC8qIGZvdW5kIHRoZSBuZXh0IG9wc19pbmRleCB0byB0cnkgKi8K
KyAgICBhc3NlcnQoZGV2LT5hb2Rldi5jYWxsYmFjayA9PSBkZXZpY2Vfc2V0dXBfaXRlcmF0ZSk7
CisgICAgZGV2LT5vcHMtPnNldHVwKGVnYyxkZXYpOworICAgIHJldHVybjsKKworIG91dDoKKyAg
ICBsaWJ4bF9fbXVsdGlkZXZfb25lX2NhbGxiYWNrKGVnYyxhb2Rldik7Cit9CisKK3N0YXRpYyB2
b2lkIGFsbF9kZXZpY2VzX3NldHVwX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgU1RBVEVfQU9fR0MobXVsdGlk
ZXYtPmFvKTsKKworICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fY2hl
Y2twb2ludF9kZXZpY2VzX3N0YXRlICpjb25zdCBjZHMgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmNkcywgbXVsdGlkZXYpOworCisgICAgY2Rz
LT5jYWxsYmFjayhlZ2MsIGNkcywgcmMpOworfQorCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCit7CisgICAg
aW50IGk7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXY7CisKKyAgICBTVEFURV9B
T19HQyhjZHMtPmFvKTsKKworICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJmNkcy0+bXVs
dGlkZXYpOworICAgIGNkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX3RlYXJkb3duX2Ni
OworICAgIGZvciAoaSA9IDA7IGkgPCBjZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKKyAgICAgICAg
ZGV2ID0gY2RzLT5kZXZzW2ldOworICAgICAgICBpZiAoIWRldi0+b3BzIHx8ICFkZXYtPm1hdGNo
ZWQpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJl
cGFyZV93aXRoX2FvZGV2KCZjZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7CisgICAgICAgIGRl
di0+b3BzLT50ZWFyZG93bihlZ2MsZGV2KTsKKyAgICB9CisKKyAgICBsaWJ4bF9fbXVsdGlkZXZf
cHJlcGFyZWQoZWdjLCAmY2RzLT5tdWx0aWRldiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRldmlj
ZXNfdGVhcmRvd25fY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCit7CisgICAgaW50IGk7CisKKyAgICBTVEFURV9BT19HQyhtdWx0
aWRldi0+YW8pOworCisgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLworICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNvbnN0IGNkcyA9CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ09OVEFJTkVSX09GKG11bHRpZGV2LCAqY2RzLCBtdWx0aWRldik7CisKKyAgICAv
KiBjbGVhbiBuaWMgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY2RzLT5udW1fbmljczsgaSsrKQor
ICAgICAgICBsaWJ4bF9kZXZpY2VfbmljX2Rpc3Bvc2UoJmNkcy0+bmljc1tpXSk7CisgICAgZnJl
ZShjZHMtPm5pY3MpOworICAgIGNkcy0+bmljcyA9IE5VTEw7CisgICAgY2RzLT5udW1fbmljcyA9
IDA7CisKKyAgICAvKiBjbGVhbiBkaXNrICovCisgICAgZm9yIChpID0gMDsgaSA8IGNkcy0+bnVt
X2Rpc2tzOyBpKyspCisgICAgICAgIGxpYnhsX2RldmljZV9kaXNrX2Rpc3Bvc2UoJmNkcy0+ZGlz
a3NbaV0pOworICAgIGZyZWUoY2RzLT5kaXNrcyk7CisgICAgY2RzLT5kaXNrcyA9IE5VTEw7Cisg
ICAgY2RzLT5udW1fZGlza3MgPSAwOworCisgICAgY2xlYW51cF9kZXZpY2Vfc3Via2luZChjZHMp
OworCisgICAgY2RzLT5jYWxsYmFjayhlZ2MsIGNkcywgcmMpOworfQorCisvKi0tLS0tIGNoZWNr
cG9pbnRpbmcgQVBJcyAtLS0tLSovCisKKy8qIGNhbGxiYWNrcyAqLworCitzdGF0aWMgdm9pZCBk
ZXZpY2VzX2NoZWNrcG9pbnRfY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKKworLyogQVBJIGltcGxlbWVudGF0aW9ucyAq
LworCisjZGVmaW5lIGRlZmluZV9jaGVja3BvaW50X2FwaShhcGkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfIyNhcGkobGli
eGxfX2VnYyAqZWdjLCAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKSAgICAg
ICAgXAoreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGxpYnhsX19jaGVj
a3BvaW50X2RldmljZSAqZGV2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmY2RzLT5tdWx0aWRldik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgY2RzLT5tdWx0aWRldi5jYWxsYmFjayA9IGRldmlj
ZXNfY2hlY2twb2ludF9jYjsgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpID0gMDsg
aSA8IGNkcy0+bnVtX2RldmljZXM7IGkrKykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIGRldiA9IGNkcy0+ZGV2c1tpXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghZGV2LT5tYXRjaGVkIHx8ICFkZXYtPm9w
cy0+YXBpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBjb250aW51
ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlX3dpdGhfYW9kZXYoJmNkcy0+bXVsdGlkZXYs
ICZkZXYtPmFvZGV2KTtcCisgICAgICAgIGRldi0+b3BzLT5hcGkoZWdjLGRldik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmNkcy0+bXVs
dGlkZXYsIDApOyAgICAgICAgICAgICAgICAgICBcCit9CisKK2RlZmluZV9jaGVja3BvaW50X2Fw
aShwb3N0c3VzcGVuZCk7CisKK2RlZmluZV9jaGVja3BvaW50X2FwaShwcmVyZXN1bWUpOworCitk
ZWZpbmVfY2hlY2twb2ludF9hcGkoY29tbWl0KTsKKworc3RhdGljIHZvaWQgZGV2aWNlc19jaGVj
a3BvaW50X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByYykKK3sKKyAgICBTVEFURV9BT19HQyhtdWx0aWRldi0+YW8pOworCisg
ICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLworICAgIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfc3RhdGUgKmNvbnN0IGNkcyA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OVEFJ
TkVSX09GKG11bHRpZGV2LCAqY2RzLCBtdWx0aWRldik7CisKKyAgICBjZHMtPmNhbGxiYWNrKGVn
YywgY2RzLCByYyk7Cit9CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA2NTZiY2NkLi42MzBmMDQ4IDEw
MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX2ludGVybmFsLmgKQEAgLTI3OTQsOSArMjc5NCw5IEBAIHR5cGVkZWYgc3RydWN0IGxp
YnhsX19zYXZlX2hlbHBlcl9zdGF0ZSB7CiAgICAgICAgICAgICAgICAgICAgICAgKiBtYXJzaGFs
bGluZyBhbmQgeGMgY2FsbGJhY2sgZnVuY3Rpb25zICovCiB9IGxpYnhsX19zYXZlX2hlbHBlcl9z
dGF0ZTsKIAotLyotLS0tLSByZW11cyBkZXZpY2UgcmVsYXRlZCBzdGF0ZSBzdHJ1Y3R1cmUgLS0t
LS0qLworLyotLS0tLSBjaGVja3BvaW50IGRldmljZSByZWxhdGVkIHN0YXRlIHN0cnVjdHVyZSAt
LS0tLSovCiAvKgotICogVGhlIGFic3RyYWN0IFJlbXVzIGRldmljZSBsYXllciBleHBvc2VzIGEg
Y29tbW9uCisgKiBUaGUgYWJzdHJhY3QgY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIgZXhwb3NlcyBh
IGNvbW1vbgogICogc2V0IG9mIEFQSSB0byBbZXh0ZXJuYWxdIGxpYnhsIGZvciBtYW5pcHVsYXRp
bmcgZGV2aWNlcyBhdHRhY2hlZCB0bwogICogYSBndWVzdCBwcm90ZWN0ZWQgYnkgUmVtdXMuIFRo
ZSBkZXZpY2UgbGF5ZXIgYWxzbyBleHBvc2VzIGEgc2V0IG9mCiAgKiBbaW50ZXJuYWxdIGludGVy
ZmFjZXMgdGhhdCBldmVyeSBkZXZpY2UgdHlwZSBtdXN0IGltcGxlbWVudC4KQEAgLTI4MDQsMzQg
KzI4MDQsMzQgQEAgdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlIHsKICAq
IFRoZSBmb2xsb3dpbmcgQVBJIGFyZSBleHBvc2VkIHRvIGxpYnhsOgogICoKICAqIE9uZS10aW1l
IGNvbmZpZ3VyYXRpb24gb3BlcmF0aW9uczoKLSAqICArbGlieGxfX3JlbXVzX2RldmljZXNfc2V0
dXAKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cAogICogICAgPiBFbmFibGUg
b3V0cHV0IGJ1ZmZlcmluZyBmb3IgTklDcywgc2V0dXAgZGlzayByZXBsaWNhdGlvbiwgZXRjLgot
ICogICtsaWJ4bF9fcmVtdXNfZGV2aWNlc190ZWFyZG93bgorICogICtsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3RlYXJkb3duCiAgKiAgICA+IERpc2FibGUgb3V0cHV0IGJ1ZmZlcmluZyBhbmQg
ZGlzayByZXBsaWNhdGlvbjsgdGVhcmRvd24gYW55CiAgKiAgICAgICBhc3NvY2lhdGVkIGV4dGVy
bmFsIHNldHVwcyBsaWtlIHFkaXNjcyBmb3IgTklDcy4KICAqCiAgKiBPcGVyYXRpb25zIGV4ZWN1
dGVkIGV2ZXJ5IGNoZWNrcG9pbnQgKGluIG9yZGVyIG9mIGludm9jYXRpb24pOgotICogICtsaWJ4
bF9fcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZAotICogICtsaWJ4bF9fcmVtdXNfZGV2aWNlc19w
cmVyZXN1bWUKLSAqICArbGlieGxfX3JlbXVzX2RldmljZXNfY29tbWl0CisgKiAgK2xpYnhsX19j
aGVja3BvaW50X2RldmljZXNfcG9zdHN1c3BlbmQKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlc19wcmVyZXN1bWUKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQKICAq
CiAgKiBFYWNoIGRldmljZSB0eXBlIG5lZWRzIHRvIGltcGxlbWVudCB0aGUgaW50ZXJmYWNlcyBz
cGVjaWZpZWQgaW4KLSAqIHRoZSBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wcyBpZiBp
dCB3aXNoZXMgdG8gc3VwcG9ydCBSZW11cy4KKyAqIHRoZSBsaWJ4bF9fY2hlY2twb2ludF9kZXZp
Y2VfaW5zdGFuY2Vfb3BzIGlmIGl0IHdpc2hlcyB0byBzdXBwb3J0IFJlbXVzLgogICoKLSAqIFRo
ZSBoaWdoLWxldmVsIGNvbnRyb2wgZmxvdyB0aHJvdWdoIHRoZSBSZW11cyBkZXZpY2UgbGF5ZXIg
aXMgc2hvd24gYmVsb3c6CisgKiBUaGUgaGlnaC1sZXZlbCBjb250cm9sIGZsb3cgdGhyb3VnaCB0
aGUgY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIgaXMgc2hvd24gYmVsb3c6CiAgKgogICogeGwgcmVt
dXMKICAqICB8LT4gIGxpYnhsX2RvbWFpbl9yZW11c19zdGFydAotICogICAgfC0+IGxpYnhsX19y
ZW11c19kZXZpY2VzX3NldHVwCi0gKiAgICAgIHwtPiBQZXItY2hlY2twb2ludCBsaWJ4bF9fcmVt
dXNfZGV2aWNlc19bcG9zdHN1c3BlbmQscHJlcmVzdW1lLGNvbW1pdF0KKyAqICAgIHwtPiBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3NldHVwCisgKiAgICAgIHwtPiBQZXItY2hlY2twb2ludCBs
aWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX1twb3N0c3VzcGVuZCxwcmVyZXN1bWUsY29tbWl0XQog
ICogICAgICAgIC4uLgogICogICAgICAgIHwtPiBPbiBiYWNrdXAgZmFpbHVyZSwgbmV0d29yayBl
cnJvciBvciBvdGhlciBpbnRlcm5hbCBlcnJvcnM6Ci0gKiAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3RlYXJkb3duCisgKiAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfdGVhcmRvd24KICAqLwogCi10eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlIGxp
YnhsX19yZW11c19kZXZpY2U7Ci10eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZTsKLXR5cGVkZWYgc3RydWN0IGxpYnhsX19y
ZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3Bz
OwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZTsKK3R5cGVkZWYgc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZTsKK3R5cGVkZWYgc3RydWN0IGxpYnhs
X19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
X2luc3RhbmNlX29wczsKIAogLyoKICAqIEludGVyZmFjZXMgdG8gYmUgaW1wbGVtZW50ZWQgYnkg
ZXZlcnkgZGV2aWNlIHN1YmtpbmQgdGhhdCB3aXNoZXMgdG8KQEAgLTI4NDEsNyArMjg0MSw3IEBA
IHR5cGVkZWYgc3RydWN0IGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIGxpYnhsX19y
ZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzCiAgKiBzeW5jaHJvbm91cyBhbmQgY2FsbCBkZXYtPmFv
ZGV2LmNhbGxiYWNrIGRpcmVjdGx5IChhcyB0aGUgbGFzdAogICogdGhpbmcgdGhleSBkbykuCiAg
Ki8KLXN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wcyB7CitzdHJ1Y3QgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNlX29wcyB7CiAgICAgLyogdGhlIGRldmljZSBr
aW5kIHRoaXMgb3BzIGJlbG9uZ3MgdG8uLi4gKi8KICAgICBsaWJ4bF9fZGV2aWNlX2tpbmQga2lu
ZDsKIApAQCAtMjg1MiwxMiArMjg1MiwxMiBAQCBzdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZV9p
bnN0YW5jZV9vcHMgewogICAgICAqIEFzeW5jaHJvbm91cy4KICAgICAgKi8KIAotICAgIHZvaWQg
KCpwb3N0c3VzcGVuZCkobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYp
OwotICAgIHZvaWQgKCpwcmVyZXN1bWUpKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2Rl
dmljZSAqZGV2KTsKLSAgICB2b2lkICgqY29tbWl0KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19y
ZW11c19kZXZpY2UgKmRldik7CisgICAgdm9pZCAoKnBvc3RzdXNwZW5kKShsaWJ4bF9fZWdjICpl
Z2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKKyAgICB2b2lkICgqcHJlcmVzdW1l
KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKKyAgICB2
b2lkICgqY29tbWl0KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAq
ZGV2KTsKIAogICAgIC8qCi0gICAgICogc2V0dXAoKSBhbmQgdGVhcmRvd24oKSBhcmUgcmVmZXIg
dG8gdGhlIGFjdHVhbCByZW11cyBkZXZpY2UuCisgICAgICogc2V0dXAoKSBhbmQgdGVhcmRvd24o
KSBhcmUgcmVmZXIgdG8gdGhlIGFjdHVhbCBjaGVja3BvaW50IGRldmljZS4KICAgICAgKiBBc3lu
Y2hyb25vdXMuCiAgICAgICogdGVhcmRvd24gaXMgY2FsbGVkIGV2ZW4gaWYgc2V0dXAgZmFpbHMu
CiAgICAgICovCkBAIC0yODY2LDQ1ICsyODY2LDQ1IEBAIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2
aWNlX2luc3RhbmNlX29wcyB7CiAgICAgICogZGV2aWNlLiBJZiBtYXRjaGVkLCB0aGUgZGV2aWNl
IHdpbGwgdGhlbiBiZSBtYW5hZ2VkIHdpdGggdGhpcyBzZXQgb2YKICAgICAgKiBzdWJraW5kIG9w
ZXJhdGlvbnMuCiAgICAgICogWWllbGRzIDAgaWYgdGhlIGRldmljZSBzdWNjZXNzZnVsbHkgc2V0
IHVwLgotICAgICAqIFJFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCBpZiB0aGUgb3BzIGRvZXMg
bm90IG1hdGNoIHRoZSBkZXZpY2UuCisgICAgICogQ0hFQ0tQT0lOVF9ERVZPUFNfRE9FU19OT1Rf
TUFUQ0ggaWYgdGhlIG9wcyBkb2VzIG5vdCBtYXRjaCB0aGUgZGV2aWNlLgogICAgICAqIGFueSBv
dGhlciByYyBpbmRpY2F0ZXMgZmFpbHVyZS4KICAgICAgKi8KLSAgICB2b2lkICgqc2V0dXApKGxp
YnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KTsKLSAgICB2b2lkICgqdGVh
cmRvd24pKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KTsKKyAgICB2
b2lkICgqc2V0dXApKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpk
ZXYpOworICAgIHZvaWQgKCp0ZWFyZG93bikobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2UgKmRldik7CiB9OwogCi1pbnQgaW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fcmVt
dXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLXZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9f
cmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLWludCBpbml0X3N1YmtpbmRfZHJiZF9kaXNrKGxp
YnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOwotdm9pZCBjbGVhbnVwX3N1YmtpbmRfZHJi
ZF9kaXNrKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOworaW50IGluaXRfc3Via2lu
ZF9uaWMobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKK3ZvaWQgY2xlYW51
cF9zdWJraW5kX25pYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworaW50
IGluaXRfc3Via2luZF9kcmJkX2Rpc2sobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzKTsKK3ZvaWQgY2xlYW51cF9zdWJraW5kX2RyYmRfZGlzayhsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3N0YXRlICpjZHMpOwogCi10eXBlZGVmIHZvaWQgbGlieGxfX3JlbXVzX2NhbGxiYWNr
KGxpYnhsX19lZ2MgKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X3JlbXVzX2RldmljZXNfc3RhdGUgKiwgaW50IHJjKTsKK3R5cGVkZWYgdm9pZCBsaWJ4bF9fY2hl
Y2twb2ludF9jYWxsYmFjayhsaWJ4bF9fZWdjICosCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKiwgaW50IHJjKTsKIAog
LyoKLSAqIFN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIHJlbXVzIGludm9jYXRpb24sIGluY2x1ZGlu
ZyBwYXJhbWV0ZXJzCi0gKiBwYXNzZWQgdG8gdGhlIHJlbXVzIGFic3RyYWN0IGRldmljZSBsYXll
ciBieSB0aGUgcmVtdXMKKyAqIFN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIGNoZWNrcG9pbnQgaW52
b2NhdGlvbiwgaW5jbHVkaW5nIHBhcmFtZXRlcnMKKyAqIHBhc3NlZCB0byB0aGUgY2hlY2twb2lu
dCBhYnN0cmFjdCBkZXZpY2UgbGF5ZXIgYnkgdGhlIHJlbXVzCiAgKiBzYXZlL3Jlc3RvcmUgbWFj
aGluZXJ5LgogICovCi1zdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgewotICAgIC8q
LS0tLSBtdXN0IGJlIHNldCBieSBjYWxsZXIgb2YgbGlieGxfX3JlbXVzX2RldmljZV8oc2V0dXB8
dGVhcmRvd24pIC0tLS0qLworc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
eworICAgIC8qLS0tLSBtdXN0IGJlIHNldCBieSBjYWxsZXIgb2YgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlXyhzZXR1cHx0ZWFyZG93bikgLS0tLSovCiAKICAgICBsaWJ4bF9fYW8gKmFvOwogICAg
IHVpbnQzMl90IGRvbWlkOwotICAgIGxpYnhsX19yZW11c19jYWxsYmFjayAqY2FsbGJhY2s7Cisg
ICAgbGlieGxfX2NoZWNrcG9pbnRfY2FsbGJhY2sgKmNhbGxiYWNrOwogICAgIGludCBkZXZpY2Vf
a2luZF9mbGFnczsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJzdHJhY3QgbGF5ZXIgb25s
eSAtLS0tLSovCiAKICAgICBpbnQgbnVtX2RldmljZXM7CiAgICAgLyoKLSAgICAgKiB0aGlzIGFy
cmF5IGlzIGFsbG9jYXRlZCBiZWZvcmUgc2V0dXAgdGhlIHJlbXVzIGRldmljZXMgYnkgdGhlCi0g
ICAgICogcmVtdXMgYWJzdHJhY3QgbGF5ZXIuCi0gICAgICogZGV2cyBtYXkgYmUgTlVMTCwgbWVh
bnMgdGhlcmUncyBubyByZW11cyBkZXZpY2VzIHRoYXQgaGFzIGJlZW4gc2V0IHVwLgorICAgICAq
IHRoaXMgYXJyYXkgaXMgYWxsb2NhdGVkIGJlZm9yZSBzZXR1cCB0aGUgY2hlY2twb2ludCBkZXZp
Y2VzIGJ5IHRoZQorICAgICAqIGNoZWNrcG9pbnQgYWJzdHJhY3QgbGF5ZXIuCisgICAgICogZGV2
cyBtYXkgYmUgTlVMTCwgbWVhbnMgdGhlcmUncyBubyBjaGVja3BvaW50IGRldmljZXMgdGhhdCBo
YXMgYmVlbiBzZXQgdXAuCiAgICAgICogdGhlIHNpemUgb2YgdGhpcyBhcnJheSBpcyAnbnVtX2Rl
dmljZXMnLCB3aGljaCBpcyB0aGUgdG90YWwgbnVtYmVyCiAgICAgICogb2YgbGlieGwgbmljIGRl
dmljZXMgYW5kIGRpc2sgZGV2aWNlcyhudW1fbmljcyArIG51bV9kaXNrcykuCiAgICAgICovCi0g
ICAgbGlieGxfX3JlbXVzX2RldmljZSAqKmRldnM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlICoqZGV2czsKIAogICAgIGxpYnhsX2RldmljZV9uaWMgKm5pY3M7CiAgICAgaW50IG51bV9u
aWNzOwpAQCAtMjkyNiwyMCArMjkyNiwyMCBAQCBzdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgewogCiAvKgogICogSW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgZGV2aWNlIGJlaW5n
IGhhbmRsZWQgYnkgcmVtdXMuCi0gKiBBbGxvY2F0ZWQgYnkgdGhlIHJlbXVzIGFic3RyYWN0IGxh
eWVyLgorICogQWxsb2NhdGVkIGJ5IHRoZSBjaGVja3BvaW50IGFic3RyYWN0IGxheWVyLgogICov
Ci1zdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZSB7CitzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlIHsKICAgICAvKi0tLS0tIHNoYXJlZCBiZXR3ZWVuIGFic3RyYWN0IGFuZCBjb25jcmV0
ZSBsYXllcnMgLS0tLS0qLwogICAgIC8qCiAgICAgICogaWYgdGhpcyBpcyB0cnVlLCB0aGF0IG1l
YW5zIHRoZSBzdWJraW5kIG9wcyBtYXRjaCB0aGUgZGV2aWNlCiAgICAgICovCiAgICAgYm9vbCBt
YXRjaGVkOwogCi0gICAgLyotLS0tLSBzZXQgYnkgcmVtdXMgZGV2aWNlIGFic3RydWN0IGxheWVy
IC0tLS0tKi8KLSAgICAvKiBsaWJ4bF9fZGV2aWNlXyogd2hpY2ggdGhpcyByZW11cyBkZXZpY2Ug
cmVsYXRlZCB0byAqLworICAgIC8qLS0tLS0gc2V0IGJ5IGNoZWNrcG9pbnQgZGV2aWNlIGFic3Ry
dWN0IGxheWVyIC0tLS0tKi8KKyAgICAvKiBsaWJ4bF9fZGV2aWNlXyogd2hpY2ggdGhpcyBjaGVj
a3BvaW50IGRldmljZSByZWxhdGVkIHRvICovCiAgICAgY29uc3Qgdm9pZCAqYmFja2VuZF9kZXY7
CiAgICAgbGlieGxfX2RldmljZV9raW5kIGtpbmQ7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkczsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHM7CiAg
ICAgbGlieGxfX2FvX2RldmljZSBhb2RldjsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJz
dHJhY3QgbGF5ZXIgb25seSAtLS0tLSovCkBAIC0yOTUwLDcgKzI5NTAsNyBAQCBzdHJ1Y3QgbGli
eGxfX3JlbXVzX2RldmljZSB7CiAgICAgICogaW5kaXZpZHVhbCBkZXZpY2VzLgogICAgICAqLwog
ICAgIGludCBvcHNfaW5kZXg7Ci0gICAgY29uc3QgbGlieGxfX3JlbXVzX2RldmljZV9pbnN0YW5j
ZV9vcHMgKm9wczsKKyAgICBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vf
b3BzICpvcHM7CiAKICAgICAvKi0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZpY2Utc3Bl
Y2lmaWMpIGxheWVyIC0tLS0tKi8KIApAQCAtMjk1OCwxNyArMjk1OCwxNyBAQCBzdHJ1Y3QgbGli
eGxfX3JlbXVzX2RldmljZSB7CiAgICAgdm9pZCAqY29uY3JldGVfZGF0YTsKIH07CiAKLS8qIHRo
ZSBmb2xsb3dpbmcgNSBBUElzIGFyZSBhc3luYyBvcHMsIGNhbGwgcmRzLT5jYWxsYmFjayB3aGVu
IGRvbmUgKi8KLV9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zZXR1cChsaWJ4bF9f
ZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcyk7Ci1faGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX2Rl
dmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOwotX2hp
ZGRlbiB2b2lkIGxpYnhsX19yZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
cmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLV9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19wcmVyZXN1bWUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLV9o
aWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19jb21taXQobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzKTsKKy8qIHRoZSBmb2xsb3dpbmcgNSBBUElzIGFyZSBhc3luYyBvcHMs
IGNhbGwgY2RzLT5jYWxsYmFjayB3aGVuIGRvbmUgKi8KK19oaWRkZW4gdm9pZCBsaWJ4bF9fY2hl
Y2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpj
ZHMpOworX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24obGli
eGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CitfaGlkZGVuIHZvaWQgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlc19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3ByZXJlc3VtZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cyk7CitfaGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQobGlieGxf
X2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogX2hpZGRlbiBpbnQgbGlieGxfX25l
dGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpOwogCiAvKi0tLS0tIExlZ2FjeSBjb252ZXJz
aW9uIGhlbHBlciAtLS0tLSovCkBAIC0zMTIyLDcgKzMxMjIsNyBAQCBzdHJ1Y3QgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlIHsKICAgICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwogICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSBkc3BzOwotICAgIGxpYnhsX19yZW11c19kZXZpY2Vz
X3N0YXRlIHJkczsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlIGNkczsKICAg
ICBsaWJ4bF9fZXZfdGltZSBjaGVja3BvaW50X3RpbWVvdXQ7IC8qIHVzZWQgZm9yIFJlbXVzIGNo
ZWNrcG9pbnQgKi8KICAgICBpbnQgaW50ZXJ2YWw7IC8qIGNoZWNrcG9pbnQgaW50ZXJ2YWwgKGZv
ciBSZW11cykgKi8KICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlIHN3czsKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX25ldGJ1ZmZlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfbmV0
YnVmZmVyLmMKaW5kZXggYzI0NWE0ZS4uMzNjMmE0MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
bGlieGxfbmV0YnVmZmVyLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMKQEAg
LTM4LDIxICszOCwyMSBAQCBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAq
Z2MpCiAgICAgcmV0dXJuIDE7CiB9CiAKLWludCBpbml0X3N1YmtpbmRfbmljKGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMpCitpbnQgaW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCiB7CiAgICAgaW50IHJjLCByZXQ7Ci0gICAgbGlieGxf
X2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwor
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGNkcywgKmRz
cywgY2RzKTsKIAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGNk
cy0+YW8pOwogCi0gICAgcmRzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKLSAgICBpZiAo
IXJkcy0+bmxzb2NrKSB7CisgICAgY2RzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKKyAg
ICBpZiAoIWNkcy0+bmxzb2NrKSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5vdCBhbGxvY2F0
ZSBubCBzb2NrZXQiKTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91
dDsKICAgICB9CiAKLSAgICByZXQgPSBubF9jb25uZWN0KHJkcy0+bmxzb2NrLCBORVRMSU5LX1JP
VVRFKTsKKyAgICByZXQgPSBubF9jb25uZWN0KGNkcy0+bmxzb2NrLCBORVRMSU5LX1JPVVRFKTsK
ICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBvcGVuIG5ldGxp
bmsgc29ja2V0OiAlcyIsCiAgICAgICAgICAgICBubF9nZXRlcnJvcihyZXQpKTsKQEAgLTYxLDcg
KzYxLDcgQEAgaW50IGluaXRfc3Via2luZF9uaWMobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUg
KnJkcykKICAgICB9CiAKICAgICAvKiBnZXQgbGlzdCBvZiBhbGwgcWRpc2NzIGluc3RhbGxlZCBv
biBuZXR3b3JrIGRldnMuICovCi0gICAgcmV0ID0gcnRubF9xZGlzY19hbGxvY19jYWNoZShyZHMt
Pm5sc29jaywgJnJkcy0+cWRpc2NfY2FjaGUpOworICAgIHJldCA9IHJ0bmxfcWRpc2NfYWxsb2Nf
Y2FjaGUoY2RzLT5ubHNvY2ssICZjZHMtPnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAg
ICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBhbGxvY2F0ZSBxZGlzYyBjYWNoZTogJXMiLAog
ICAgICAgICAgICAgbmxfZ2V0ZXJyb3IocmV0KSk7CkBAIC03MCw5ICs3MCw5IEBAIGludCBpbml0
X3N1YmtpbmRfbmljKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpCiAgICAgfQogCiAg
ICAgaWYgKGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlwdCkgewotICAgICAgICByZHMtPm5ldGJ1ZnNj
cmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlwdCk7CisgICAg
ICAgIGNkcy0+bmV0YnVmc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgZHNzLT5yZW11cy0+bmV0
YnVmc2NyaXB0KTsKICAgICB9IGVsc2UgewotICAgICAgICByZHMtPm5ldGJ1ZnNjcmlwdCA9IEdD
U1BSSU5URigiJXMvcmVtdXMtbmV0YnVmLXNldHVwIiwKKyAgICAgICAgY2RzLT5uZXRidWZzY3Jp
cHQgPSBHQ1NQUklOVEYoIiVzL3JlbXVzLW5ldGJ1Zi1zZXR1cCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194ZW5fc2NyaXB0X2Rpcl9wYXRoKCkpOwogICAg
IH0KIApAQCAtODIsMjIgKzgyLDIyIEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKLXZvaWQg
Y2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQordm9p
ZCBjbGVhbnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cykKIHsKLSAgICBTVEFURV9BT19HQyhyZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFv
KTsKIAogICAgIC8qIGZyZWUgcWRpc2MgY2FjaGUgKi8KLSAgICBpZiAocmRzLT5xZGlzY19jYWNo
ZSkgewotICAgICAgICBubF9jYWNoZV9jbGVhcihyZHMtPnFkaXNjX2NhY2hlKTsKLSAgICAgICAg
bmxfY2FjaGVfZnJlZShyZHMtPnFkaXNjX2NhY2hlKTsKLSAgICAgICAgcmRzLT5xZGlzY19jYWNo
ZSA9IE5VTEw7CisgICAgaWYgKGNkcy0+cWRpc2NfY2FjaGUpIHsKKyAgICAgICAgbmxfY2FjaGVf
Y2xlYXIoY2RzLT5xZGlzY19jYWNoZSk7CisgICAgICAgIG5sX2NhY2hlX2ZyZWUoY2RzLT5xZGlz
Y19jYWNoZSk7CisgICAgICAgIGNkcy0+cWRpc2NfY2FjaGUgPSBOVUxMOwogICAgIH0KIAogICAg
IC8qIGNsb3NlICYgZnJlZSBubHNvY2sgKi8KLSAgICBpZiAocmRzLT5ubHNvY2spIHsKLSAgICAg
ICAgbmxfY2xvc2UocmRzLT5ubHNvY2spOwotICAgICAgICBubF9zb2NrZXRfZnJlZShyZHMtPm5s
c29jayk7Ci0gICAgICAgIHJkcy0+bmxzb2NrID0gTlVMTDsKKyAgICBpZiAoY2RzLT5ubHNvY2sp
IHsKKyAgICAgICAgbmxfY2xvc2UoY2RzLT5ubHNvY2spOworICAgICAgICBubF9zb2NrZXRfZnJl
ZShjZHMtPm5sc29jayk7CisgICAgICAgIGNkcy0+bmxzb2NrID0gTlVMTDsKICAgICB9CiB9CiAK
QEAgLTExMSwxNyArMTExLDE3IEBAIHZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVt
dXNfZGV2aWNlc19zdGF0ZSAqcmRzKQogICogaXQgbXVzdCBPTkxZIGJlIHVzZWQgZm9yIHJlbXVz
IGJlY2F1c2UgaWYgZHJpdmVyIGRvbWFpbnMKICAqIHdlcmUgaW4gdXNlIGl0IHdvdWxkIGNvbnN0
aXR1dGUgYSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5LgogICovCi1zdGF0aWMgY29uc3QgY2hhciAq
Z2V0X3ZpZm5hbWUobGlieGxfX3JlbXVzX2RldmljZSAqZGV2LAorc3RhdGljIGNvbnN0IGNoYXIg
KmdldF92aWZuYW1lKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RldmljZV9uaWMgKm5pYykKIHsKICAgICBj
b25zdCBjaGFyICp2aWZuYW1lID0gTlVMTDsKICAgICBjb25zdCBjaGFyICpwYXRoOwogICAgIGlu
dCByYzsKIAotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0Mo
ZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBjb25z
dCB1aW50MzJfdCBkb21pZCA9IGRldi0+cmRzLT5kb21pZDsKKyAgICBjb25zdCB1aW50MzJfdCBk
b21pZCA9IGRldi0+Y2RzLT5kb21pZDsKIAogICAgIHBhdGggPSBHQ1NQUklOVEYoIiVzL2JhY2tl
bmQvdmlmLyVkLyVkL3ZpZm5hbWUiLAogICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2dl
dF9kb21wYXRoKGdjLCAwKSwgZG9taWQsIG5pYy0+ZGV2aWQpOwpAQCAtMTQ0LDE5ICsxNDQsMTkg
QEAgc3RhdGljIHZvaWQgZnJlZV9xZGlzYyhsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNf
bmljKQogICAgIHJlbXVzX25pYy0+cWRpc2MgPSBOVUxMOwogfQogCi1zdGF0aWMgaW50IGluaXRf
cWRpc2MobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKK3N0YXRpYyBpbnQgaW5pdF9x
ZGlzYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZV9uaWMgKnJlbXVzX25pYykKIHsKICAgICBpbnQg
cmMsIHJldCwgaWZpbmRleDsKICAgICBzdHJ1Y3QgcnRubF9saW5rICppZmIgPSBOVUxMOwogICAg
IHN0cnVjdCBydG5sX3FkaXNjICpxZGlzYyA9IE5VTEw7CiAKLSAgICBTVEFURV9BT19HQyhyZHMt
PmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKIAogICAgIC8qIE5vdyB0aGF0IHdlIGhh
dmUgYnJvdWdodCB1cCBSRU1VU19JRkIgZGV2aWNlIHdpdGggcGx1ZyBxZGlzYyBmb3IKICAgICAg
KiB0aGlzIHZpZiwgc28gd2UgbmVlZCB0byByZWZpbGwgdGhlIHFkaXNjIGNhY2hlLgogICAgICAq
LwotICAgIHJldCA9IG5sX2NhY2hlX3JlZmlsbChyZHMtPm5sc29jaywgcmRzLT5xZGlzY19jYWNo
ZSk7CisgICAgcmV0ID0gbmxfY2FjaGVfcmVmaWxsKGNkcy0+bmxzb2NrLCBjZHMtPnFkaXNjX2Nh
Y2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5vdCByZWZpbGwg
cWRpc2MgY2FjaGU6ICVzIiwgbmxfZ2V0ZXJyb3IocmV0KSk7CiAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2MobGlieGxfX3Jl
bXVzX2RldmljZXNfc3RhdGUgKnJkcywKICAgICB9CiAKICAgICAvKiBnZXQgYSBoYW5kbGUgdG8g
dGhlIFJFTVVTX0lGQiBpbnRlcmZhY2UgKi8KLSAgICByZXQgPSBydG5sX2xpbmtfZ2V0X2tlcm5l
bChyZHMtPm5sc29jaywgMCwgcmVtdXNfbmljLT5pZmIsICZpZmIpOworICAgIHJldCA9IHJ0bmxf
bGlua19nZXRfa2VybmVsKGNkcy0+bmxzb2NrLCAwLCByZW11c19uaWMtPmlmYiwgJmlmYik7CiAg
ICAgaWYgKHJldCkgewogICAgICAgICBMT0coRVJST1IsICJjYW5ub3Qgb2J0YWluIGhhbmRsZSBm
b3IgJXM6ICVzIiwgcmVtdXNfbmljLT5pZmIsCiAgICAgICAgICAgICBubF9nZXRlcnJvcihyZXQp
KTsKQEAgLTE4Nyw3ICsxODcsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2MobGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKnJkcywKICAgICAgKiBUaGVyZSBpcyBubyBuZWVkIHRvIGV4cGxpY2l0
bHkgZnJlZSB0aGlzIHFkaXNjIGFzIGl0cyBqdXN0IGEKICAgICAgKiByZWZlcmVuY2UgZnJvbSB0
aGUgcWRpc2MgY2FjaGUgd2UgYWxsb2NhdGVkIGVhcmxpZXIuCiAgICAgICovCi0gICAgcWRpc2Mg
PSBydG5sX3FkaXNjX2dldF9ieV9wYXJlbnQocmRzLT5xZGlzY19jYWNoZSwgaWZpbmRleCwgVENf
SF9ST09UKTsKKyAgICBxZGlzYyA9IHJ0bmxfcWRpc2NfZ2V0X2J5X3BhcmVudChjZHMtPnFkaXNj
X2NhY2hlLCBpZmluZGV4LCBUQ19IX1JPT1QpOwogICAgIGlmIChxZGlzYykgewogICAgICAgICBj
b25zdCBjaGFyICp0Y19raW5kID0gcnRubF90Y19nZXRfa2luZChUQ19DQVNUKHFkaXNjKSk7CiAg
ICAgICAgIC8qIFNhbml0eSBjaGVjazogRW5zdXJlIHRoYXQgdGhlIHJvb3QgcWRpc2MgaXMgYSBw
bHVnIHFkaXNjLiAqLwpAQCAtMjMxLDE5ICsyMzEsMTkgQEAgc3RhdGljIHZvaWQgbmV0YnVmX3Rl
YXJkb3duX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgKiAkUkVNVVNfSUZCIChmb3IgdGVh
cmRvd24pCiAgKiBzZXR1cC90ZWFyZG93biBhcyBjb21tYW5kIGxpbmUgYXJnLgogICovCi1zdGF0
aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19yZW11c19kZXZpY2UgKmRldiwgY2hhciAq
b3ApCitzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZSAqZGV2LCBjaGFyICpvcCkKIHsKICAgICBpbnQgYXJyYXlzaXplLCBuciA9IDA7CiAgICAgY2hh
ciAqKmVudiA9IE5VTEwsICoqYXJncyA9IE5VTEw7CiAgICAgbGlieGxfX3JlbXVzX2RldmljZV9u
aWMgKnJlbXVzX25pYyA9IGRldi0+Y29uY3JldGVfZGF0YTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzID0gZGV2LT5yZHM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c19zdGF0ZSAqY2RzID0gZGV2LT5jZHM7CiAgICAgbGlieGxfX2FzeW5jX2V4ZWNfc3RhdGUgKmFl
cyA9ICZkZXYtPmFvZGV2LmFlczsKIAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOworICAgIFNU
QVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAg
IGNoYXIgKmNvbnN0IHNjcmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIHJkcy0+bmV0YnVmc2NyaXB0
KTsKLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IHJkcy0+ZG9taWQ7CisgICAgY2hhciAqY29u
c3Qgc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgY2RzLT5uZXRidWZzY3JpcHQpOworICAgIGNv
bnN0IHVpbnQzMl90IGRvbWlkID0gY2RzLT5kb21pZDsKICAgICBjb25zdCBpbnQgZGV2X2lkID0g
cmVtdXNfbmljLT5kZXZpZDsKICAgICBjb25zdCBjaGFyICpjb25zdCB2aWYgPSByZW11c19uaWMt
PnZpZjsKICAgICBjb25zdCBjaGFyICpjb25zdCBpZmIgPSByZW11c19uaWMtPmlmYjsKQEAgLTI2
OSw3ICsyNjksNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19yZW11c19k
ZXZpY2UgKmRldiwgY2hhciAqb3ApCiAgICAgYXJnc1tucisrXSA9IE5VTEw7CiAgICAgYXNzZXJ0
KG5yID09IGFycmF5c2l6ZSk7CiAKLSAgICBhZXMtPmFvID0gZGV2LT5yZHMtPmFvOworICAgIGFl
cy0+YW8gPSBkZXYtPmNkcy0+YW87CiAgICAgYWVzLT53aGF0ID0gR0NTUFJJTlRGKCIlcyAlcyIs
IGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgIGFlcy0+ZW52ID0gZW52OwogICAgIGFlcy0+YXJncyA9
IGFyZ3M7CkBAIC0yODYsMTMgKzI4NiwxMyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVj
KGxpYnhsX19yZW11c19kZXZpY2UgKmRldiwgY2hhciAqb3ApCiAKIC8qIHNldHVwKCkgYW5kIHRl
YXJkb3duKCkgKi8KIAotc3RhdGljIHZvaWQgbmljX3NldHVwKGxpYnhsX19lZ2MgKmVnYywgbGli
eGxfX3JlbXVzX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgbmljX3NldHVwKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiB7CiAgICAgaW50IHJjOwogICAg
IGxpYnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWM7CiAgICAgY29uc3QgbGlieGxfZGV2
aWNlX25pYyAqbmljID0gZGV2LT5iYWNrZW5kX2RldjsKIAotICAgIFNUQVRFX0FPX0dDKGRldi0+
cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qCiAgICAg
ICogdGhlcnMncyBubyBzdWJraW5kIG9mIG5pYyBkZXZpY2VzLCBzbyBuaWMgb3BzIGlzIGFsd2F5
cyBtYXRjaGVkCkBAIC0zMzAsMTUgKzMzMCwxNSBAQCBzdGF0aWMgdm9pZCBuZXRidWZfc2V0dXBf
c2NyaXB0X2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjLCBpbnQgc3RhdHVzKQogewogICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2
ID0gQ09OVEFJTkVSX09GKGFlcywgKmFvZGV2LCBhZXMpOwotICAgIGxpYnhsX19yZW11c19kZXZp
Y2UgKmRldiA9IENPTlRBSU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOworICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZSAqZGV2ID0gQ09OVEFJTkVSX09GKGFvZGV2LCAqZGV2LCBhb2Rldik7
CiAgICAgbGlieGxfX3JlbXVzX2RldmljZV9uaWMgKnJlbXVzX25pYyA9IGRldi0+Y29uY3JldGVf
ZGF0YTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzID0gZGV2LT5yZHM7Cisg
ICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzID0gZGV2LT5jZHM7CiAgICAg
Y29uc3QgY2hhciAqb3V0X3BhdGhfYmFzZSwgKmhvdHBsdWdfZXJyb3IgPSBOVUxMOwogCi0gICAg
U1RBVEVfQU9fR0MocmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICAv
KiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSByZHMt
PmRvbWlkOworICAgIGNvbnN0IHVpbnQzMl90IGRvbWlkID0gY2RzLT5kb21pZDsKICAgICBjb25z
dCBpbnQgZGV2aWQgPSByZW11c19uaWMtPmRldmlkOwogICAgIGNvbnN0IGNoYXIgKmNvbnN0IHZp
ZiA9IHJlbXVzX25pYy0+dmlmOwogICAgIGNvbnN0IGNoYXIgKipjb25zdCBpZmIgPSAmcmVtdXNf
bmljLT5pZmI7CkBAIC0zNzcsNyArMzc3LDcgQEAgc3RhdGljIHZvaWQgbmV0YnVmX3NldHVwX3Nj
cmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAKICAgICBpZiAoaG90cGx1Z19lcnJvcikgewogICAg
ICAgICBMT0coRVJST1IsICJuZXRidWYgc2NyaXB0ICVzIHNldHVwIGZhaWxlZCBmb3IgdmlmICVz
OiAlcyIsCi0gICAgICAgICAgICByZHMtPm5ldGJ1ZnNjcmlwdCwgdmlmLCBob3RwbHVnX2Vycm9y
KTsKKyAgICAgICAgICAgIGNkcy0+bmV0YnVmc2NyaXB0LCB2aWYsIGhvdHBsdWdfZXJyb3IpOwog
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTM4
OCwxNyArMzg4LDE3IEBAIHN0YXRpYyB2b2lkIG5ldGJ1Zl9zZXR1cF9zY3JpcHRfY2IobGlieGxf
X2VnYyAqZWdjLAogICAgIH0KIAogICAgIExPRyhERUJVRywgIiVzIHdpbGwgYnVmZmVyIHBhY2tl
dHMgZnJvbSB2aWYgJXMiLCAqaWZiLCB2aWYpOwotICAgIHJjID0gaW5pdF9xZGlzYyhyZHMsIHJl
bXVzX25pYyk7CisgICAgcmMgPSBpbml0X3FkaXNjKGNkcywgcmVtdXNfbmljKTsKIAogb3V0Ogog
ICAgIGFvZGV2LT5yYyA9IHJjOwogICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0K
IAotc3RhdGljIHZvaWQgbmljX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVz
X2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgbmljX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywg
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiB7CiAgICAgaW50IHJjOwotICAgIFNUQVRF
X0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAog
ICAgIHNldHVwX2FzeW5jX2V4ZWMoZGV2LCAidGVhcmRvd24iKTsKIApAQCAtNDE4LDcgKzQxOCw3
IEBAIHN0YXRpYyB2b2lkIG5ldGJ1Zl90ZWFyZG93bl9zY3JpcHRfY2IobGlieGxfX2VnYyAqZWdj
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMsIGludCBzdGF0
dXMpCiB7CiAgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXYgPSBDT05UQUlORVJfT0YoYWVzLCAq
YW9kZXYsIGFlcyk7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2ID0gQ09OVEFJTkVSX09G
KGFvZGV2LCAqZGV2LCBhb2Rldik7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYg
PSBDT05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCiAgICAgaWYgKHN0YXR1
cyAmJiAhcmMpCkBAIC00NDEsMTIgKzQ0MSwxMiBAQCBlbnVtIHsKIC8qIEFQSSBpbXBsZW1lbnRh
dGlvbnMgKi8KIAogc3RhdGljIGludCByZW11c19uZXRidWZfb3AobGlieGxfX3JlbXVzX2Rldmlj
ZV9uaWMgKnJlbXVzX25pYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYnVmZmVyX29wKQogewogICAgIGludCByYywgcmV0OwogCi0gICAgU1RBVEVfQU9fR0Mo
cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICBpZiAoYnVmZmVyX29w
ID09IHRjX2J1ZmZlcl9zdGFydCkKICAgICAgICAgcmV0ID0gcnRubF9xZGlzY19wbHVnX2J1ZmZl
cihyZW11c19uaWMtPnFkaXNjKTsKQEAgLTQ1OCw3ICs0NTgsNyBAQCBzdGF0aWMgaW50IHJlbXVz
X25ldGJ1Zl9vcChsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljLAogICAgICAgICBn
b3RvIG91dDsKICAgICB9CiAKLSAgICByZXQgPSBydG5sX3FkaXNjX2FkZChyZHMtPm5sc29jaywg
cmVtdXNfbmljLT5xZGlzYywgTkxNX0ZfUkVRVUVTVCk7CisgICAgcmV0ID0gcnRubF9xZGlzY19h
ZGQoY2RzLT5ubHNvY2ssIHJlbXVzX25pYy0+cWRpc2MsIE5MTV9GX1JFUVVFU1QpOwogICAgIGlm
IChyZXQpIHsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKQEAg
LTQ3NSwzMyArNDc1LDMzIEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lk
IG5pY19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRl
dikKK3N0YXRpYyB2b2lkIG5pY19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19j
aGVja3BvaW50X2RldmljZSAqZGV2KQogewogICAgIGludCByYzsKICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCi0gICAgU1RBVEVf
QU9fR0MoZGV2LT5yZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCi0g
ICAgcmMgPSByZW11c19uZXRidWZfb3AocmVtdXNfbmljLCBkZXYtPnJkcywgdGNfYnVmZmVyX3N0
YXJ0KTsKKyAgICByYyA9IHJlbXVzX25ldGJ1Zl9vcChyZW11c19uaWMsIGRldi0+Y2RzLCB0Y19i
dWZmZXJfc3RhcnQpOwogCiAgICAgZGV2LT5hb2Rldi5yYyA9IHJjOwogICAgIGRldi0+YW9kZXYu
Y2FsbGJhY2soZWdjLCAmZGV2LT5hb2Rldik7CiB9CiAKLXN0YXRpYyB2b2lkIG5pY19jb21taXQo
bGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpCitzdGF0aWMgdm9pZCBu
aWNfY29tbWl0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYp
CiB7CiAgICAgaW50IHJjOwogICAgIGxpYnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMg
PSBkZXYtPmNvbmNyZXRlX2RhdGE7CiAKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOwor
ICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7CiAKLSAgICByYyA9IHJlbXVzX25ldGJ1Zl9v
cChyZW11c19uaWMsIGRldi0+cmRzLCB0Y19idWZmZXJfcmVsZWFzZSk7CisgICAgcmMgPSByZW11
c19uZXRidWZfb3AocmVtdXNfbmljLCBkZXYtPmNkcywgdGNfYnVmZmVyX3JlbGVhc2UpOwogCiAg
ICAgZGV2LT5hb2Rldi5yYyA9IHJjOwogICAgIGRldi0+YW9kZXYuY2FsbGJhY2soZWdjLCAmZGV2
LT5hb2Rldik7CiB9CiAKLWNvbnN0IGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIHJl
bXVzX2RldmljZV9uaWMgPSB7Citjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFu
Y2Vfb3BzIHJlbXVzX2RldmljZV9uaWMgPSB7CiAgICAgLmtpbmQgPSBMSUJYTF9fREVWSUNFX0tJ
TkRfVklGLAogICAgIC5zZXR1cCA9IG5pY19zZXR1cCwKICAgICAudGVhcmRvd24gPSBuaWNfdGVh
cmRvd24sCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jIGIvdG9v
bHMvbGlieGwvbGlieGxfbm9uZXRidWZmZXIuYwppbmRleCAzYzY1OWMyLi40YjY4MTUyIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX25vbmV0YnVmZmVyLmMKQEAgLTIyLDI1ICsyMiwyNSBAQCBpbnQgbGlieGxfX25ldGJ1
ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBpbml0
X3N1YmtpbmRfbmljKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpCitpbnQgaW5pdF9z
dWJraW5kX25pYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCiB7CiAgICAg
cmV0dXJuIDA7CiB9CiAKLXZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzKQordm9pZCBjbGVhbnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKICAgICByZXR1cm47CiB9CiAKLXN0YXRpYyB2b2lk
IG5pY19zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0
YXRpYyB2b2lkIG5pY19zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZSAqZGV2KQogewotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVf
QU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIGRldi0+YW9kZXYucmMgPSBFUlJPUl9GQUlMOwog
ICAgIGRldi0+YW9kZXYuY2FsbGJhY2soZWdjLCAmZGV2LT5hb2Rldik7CiB9CiAKLWNvbnN0IGxp
YnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9uaWMgPSB7Citjb25z
dCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9uaWMg
PSB7CiAgICAgLmtpbmQgPSBMSUJYTF9fREVWSUNFX0tJTkRfVklGLAogICAgIC5zZXR1cCA9IG5p
Y19zZXR1cCwKIH07CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jIGIvdG9v
bHMvbGlieGwvbGlieGxfcmVtdXMuYwppbmRleCAzNDBkMDc2Li5kNDFhNDM5IDEwMDY0NAotLS0g
YS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVz
LmMKQEAgLTIxLDkgKzIxLDkgQEAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gUmVtdXMgc2V0dXAg
YW5kIHRlYXJkb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIHN0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLCBpbnQgcmMpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsIGlu
dCByYyk7CiBzdGF0aWMgdm9pZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl
ICpyZHMsIGludCByYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgcmVtdXNf
Y2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKICAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19z
dHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11
c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKQEAgLTM0LDcgKzM0LDcgQEAg
dm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MpCiB7CiAgICAgLyogQ29udmVu
aWVuY2UgYWxpYXNlcyAqLwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCBy
ZHMgPSAmZHNzLT5yZHM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY29u
c3QgY2RzID0gJmRzcy0+Y2RzOwogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICpj
b25zdCBpbmZvID0gZHNzLT5yZW11czsKICAgICBsaWJ4bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxs
YmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CiAgICAgICAgICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tz
LnNhdmUuYTsKQEAgLTQ2LDE1ICs0NiwxNSBAQCB2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4
bF9fZWdjICplZ2MsCiAgICAgICAgICAgICBMT0coRVJST1IsICJSZW11czogTm8gc3VwcG9ydCBm
b3IgbmV0d29yayBidWZmZXJpbmciKTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9
Ci0gICAgICAgIHJkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgfD0gKDEgPDwgTElCWExfX0RFVklDRV9L
SU5EX1ZJRik7CisgICAgICAgIGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgfD0gKDEgPDwgTElCWExf
X0RFVklDRV9LSU5EX1ZJRik7CiAgICAgfQogCiAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKGlu
Zm8tPmRpc2tidWYpKQotICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8IExJ
QlhMX19ERVZJQ0VfS0lORF9WQkQpOworICAgICAgICBjZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9
ICgxIDw8IExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOwogCi0gICAgcmRzLT5hbyA9IGFvOwotICAg
IHJkcy0+ZG9taWQgPSBkc3MtPmRvbWlkOwotICAgIHJkcy0+Y2FsbGJhY2sgPSByZW11c19zZXR1
cF9kb25lOworICAgIGNkcy0+YW8gPSBhbzsKKyAgICBjZHMtPmRvbWlkID0gZHNzLT5kb21pZDsK
KyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKIAogICAgIGRzcy0+c3dzLmNo
ZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuOwogCkBA
IC02Miw3ICs2Miw3IEBAIHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywK
ICAgICBjYWxsYmFja3MtPnBvc3Rjb3B5ID0gbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN1bWVfY2Fs
bGJhY2s7CiAgICAgY2FsbGJhY2tzLT5jaGVja3BvaW50ID0gbGlieGxfX3JlbXVzX2RvbWFpbl9z
YXZlX2NoZWNrcG9pbnRfY2FsbGJhY2s7CiAKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zZXR1
cChlZ2MsIHJkcyk7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChlZ2MsIGNk
cyk7CiAgICAgcmV0dXJuOwogCiBvdXQ6CkBAIC03MCw5ICs3MCw5IEBAIG91dDoKIH0KIAogc3Rh
dGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSAqY2RzLCBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3Mg
PSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9z
dGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGNkcywgKmRzcywgY2RzKTsKICAgICBTVEFURV9BT19H
Qyhkc3MtPmFvKTsKIAogICAgIGlmICghcmMpIHsKQEAgLTgyLDE0ICs4MiwxNCBAQCBzdGF0aWMg
dm9pZCByZW11c19zZXR1cF9kb25lKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIExPRyhFUlJPUiwg
IlJlbXVzOiBmYWlsZWQgdG8gc2V0dXAgZGV2aWNlIGZvciBndWVzdCB3aXRoIGRvbWlkICV1LCBy
YyAlZCIsCiAgICAgICAgIGRzcy0+ZG9taWQsIHJjKTsKLSAgICByZHMtPmNhbGxiYWNrID0gcmVt
dXNfc2V0dXBfZmFpbGVkOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3RlYXJkb3duKGVnYywg
cmRzKTsKKyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZmFpbGVkOworICAgIGxpYnhs
X19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24oZWdjLCBjZHMpOwogfQogCiBzdGF0aWMgdm9p
ZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0
YXRlICpjZHMsIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9
IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3MgPSBDT05UQUlORVJfT0YoY2RzLCAqZHNzLCBjZHMpOwogICAgIFNUQVRFX0FPX0dD
KGRzcy0+YW8pOwogCiAgICAgaWYgKHJjKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyB2b2lk
IHJlbXVzX3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCiB9CiAKIHN0YXRpYyB2b2lkIHJl
bXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7CiB2b2lkIGxpYnhsX19y
ZW11c190ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywKQEAgLTExMCwxNSArMTEwLDE1IEBAIHZv
aWQgbGlieGxfX3JlbXVzX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIExPRyhXQVJO
LCAiUmVtdXM6IERvbWFpbiBzdXNwZW5kIHRlcm1pbmF0ZWQgd2l0aCByYyAlZCwiCiAgICAgICAg
ICIgdGVhcmRvd24gUmVtdXMgZGV2aWNlcy4uLiIsIHJjKTsKLSAgICBkc3MtPnJkcy5jYWxsYmFj
ayA9IHJlbXVzX3RlYXJkb3duX2RvbmU7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfdGVhcmRv
d24oZWdjLCAmZHNzLT5yZHMpOworICAgIGRzcy0+Y2RzLmNhbGxiYWNrID0gcmVtdXNfdGVhcmRv
d25fZG9uZTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3RlYXJkb3duKGVnYywgJmRz
cy0+Y2RzKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfdGVhcmRvd25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZp
Y2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjKQogewotICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09O
VEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUg
KmRzcyA9IENPTlRBSU5FUl9PRihjZHMsICpkc3MsIGNkcyk7CiAgICAgU1RBVEVfQU9fR0MoZHNz
LT5hbyk7CiAKICAgICBpZiAocmMpCkBAIC0xMzMsMTAgKzEzMywxMCBAQCBzdGF0aWMgdm9pZCBy
ZW11c190ZWFyZG93bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIHJlbXVzX2Rv
bWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3BzLCBpbnQgb2spOwogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYihs
aWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIHN0YXRp
YyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0
YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmMpOwogCiBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSkKQEAgLTE1OCw5ICsxNTgsOSBAQCBzdGF0aWMg
dm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCiAgICAgaWYgKHJjKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7Ci0gICAgcmRzLT5jYWxsYmFj
ayA9IHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2I7Ci0gICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfcG9zdHN1c3BlbmQoZWdjLCByZHMpOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
c3RhdGUgKmNvbnN0IGNkcyA9ICZkc3MtPmNkczsKKyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNf
ZGV2aWNlc19wb3N0c3VzcGVuZF9jYjsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3Bv
c3RzdXNwZW5kKGVnYywgY2RzKTsKICAgICByZXR1cm47CiAKIG91dDoKQEAgLTE2OSwxMCArMTY5
LDEwIEBAIG91dDoKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9j
YihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewot
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRz
cywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9P
RihjZHMsICpkc3MsIGNkcyk7CiAKICAgICBpZiAocmMpCiAgICAgICAgIGdvdG8gb3V0OwpAQCAt
MTkyLDE2ICsxOTIsMTYgQEAgc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN1bWVf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9
IHNocy0+Y2FsbGVyX3N0YXRlOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCi0gICAgbGli
eGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKLSAgICByZHMt
PmNhbGxiYWNrID0gcmVtdXNfZGV2aWNlc19wcmVyZXN1bWVfY2I7Ci0gICAgbGlieGxfX3JlbXVz
X2RldmljZXNfcHJlcmVzdW1lKGVnYywgcmRzKTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZp
Y2VzX3N0YXRlICpjb25zdCBjZHMgPSAmZHNzLT5jZHM7CisgICAgY2RzLT5jYWxsYmFjayA9IHJl
bXVzX2RldmljZXNfcHJlcmVzdW1lX2NiOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
cHJlcmVzdW1lKGVnYywgY2RzKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wcmVy
ZXN1bWVfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
KmNkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsK
LSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpk
c3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJf
T0YoY2RzLCAqZHNzLCBjZHMpOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCiAgICAgaWYg
KHJjKQpAQCAtMjIzLDcgKzIyMyw3IEBAIG91dDoKIC8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3Vz
IGNoZWNrcG9pbnQgY2FsbGJhY2sgLS0tLS0qLwogCiBzdGF0aWMgdm9pZCByZW11c19kZXZpY2Vz
X2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2Rz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIHN0YXRpYyB2
b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1l
ICpldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGlt
ZXZhbCAqcmVxdWVzdGVkX2FicywKQEAgLTI0NSw3ICsyNDUsNyBAQCBzdGF0aWMgdm9pZCByZW11
c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuKAogICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0
ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKIAogICAgIC8qIENvbnZlbmll
bmNlIGFsaWFzZXMgKi8KLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRz
ID0gJmRzcy0+cmRzOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNvbnN0
IGNkcyA9ICZkc3MtPmNkczsKIAogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCkBAIC0yNTQs
OCArMjU0LDggQEAgc3RhdGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigK
ICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2Rl
dmljZXNfY29tbWl0X2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX2NvbW1pdChlZ2MsIHJk
cyk7CisgICAgY2RzLT5jYWxsYmFjayA9IHJlbXVzX2RldmljZXNfY29tbWl0X2NiOworICAgIGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfY29tbWl0KGVnYywgY2RzKTsKIAogICAgIHJldHVybjsK
IApAQCAtMjY0LDEwICsyNjQsMTAgQEAgb3V0OgogfQogCiBzdGF0aWMgdm9pZCByZW11c19kZXZp
Y2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewotICAg
IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywg
cmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihj
ZHMsICpkc3MsIGNkcyk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9y
ZW11c19kZXZpY2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTZjYjdmNi4uMDAw
MDAwMAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9yZW11c19kZXZpY2UuYworKysgL2Rldi9udWxs
CkBAIC0xLDMyNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEZVSklUU1UgTElN
SVRFRAotICogQXV0aG9yOiBZYW5nIEhvbmd5YW5nIDx5YW5naHlAY24uZnVqaXRzdS5jb20+Ci0g
KgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZAotICogYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLjEgb25seS4gd2l0aCB0aGUgc3BlY2lhbAotICog
ZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3JpYmVkIGluIGZpbGUgTElDRU5TRS4KLSAqCi0gKiBU
aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLwotCi0jaW5jbHVkZSAibGlieGxfb3NkZXBzLmgi
IC8qIG11c3QgY29tZSBiZWZvcmUgYW55IG90aGVyIGhlYWRlcnMgKi8KLQotI2luY2x1ZGUgImxp
YnhsX2ludGVybmFsLmgiCi0KLWV4dGVybiBjb25zdCBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3Rh
bmNlX29wcyByZW11c19kZXZpY2VfbmljOwotZXh0ZXJuIGNvbnN0IGxpYnhsX19yZW11c19kZXZp
Y2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9kcmJkX2Rpc2s7Ci1zdGF0aWMgY29uc3QgbGli
eGxfX3JlbXVzX2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0gewotICAgICZyZW11
c19kZXZpY2VfbmljLAotICAgICZyZW11c19kZXZpY2VfZHJiZF9kaXNrLAotICAgIE5VTEwsCi19
OwotCi0vKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLwotCi1zdGF0aWMgaW50IGluaXRf
ZGV2aWNlX3N1YmtpbmQobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcykKLXsKLSAgICAv
KiBpbml0IGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGluIHRoZSBsaWJ4bCBjdHggKi8K
LSAgICBpbnQgcmM7Ci0gICAgU1RBVEVfQU9fR0MocmRzLT5hbyk7Ci0KLSAgICBpZiAobGlieGxf
X25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgewotICAgICAgICByYyA9IGluaXRfc3Via2luZF9uaWMo
cmRzKTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLSAgICB9Ci0KLSAgICByYyA9IGluaXRf
c3Via2luZF9kcmJkX2Rpc2socmRzKTsKLSAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAgcmMg
PSAwOwotb3V0OgotICAgIHJldHVybiByYzsKLX0KLQotc3RhdGljIHZvaWQgY2xlYW51cF9kZXZp
Y2Vfc3Via2luZChsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIC8qIGNs
ZWFudXAgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhlIGxpYnhsIGN0eCAqLwot
ICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOwotCi0gICAgaWYgKGxpYnhsX19uZXRidWZmZXJfZW5h
YmxlZChnYykpCi0gICAgICAgIGNsZWFudXBfc3Via2luZF9uaWMocmRzKTsKLQotICAgIGNsZWFu
dXBfc3Via2luZF9kcmJkX2Rpc2socmRzKTsKLX0KLQotLyotLS0tLSBzZXR1cCgpIGFuZCB0ZWFy
ZG93bigpIC0tLS0tKi8KLQotLyogY2FsbGJhY2tzICovCi0KLXN0YXRpYyB2b2lkIGFsbF9kZXZp
Y2VzX3NldHVwX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpOwotc3RhdGljIHZvaWQgZGV2aWNlX3NldHVwX2l0ZXJhdGUobGli
eGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Fv
X2RldmljZSAqYW9kZXYpOwotc3RhdGljIHZvaWQgZGV2aWNlc190ZWFyZG93bl9jYihsaWJ4bF9f
ZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRl
diAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci0K
LS8qIHJlbXVzIGRldmljZSBzZXR1cCBhbmQgdGVhcmRvd24gKi8KLQotc3RhdGljIGxpYnhsX19y
ZW11c19kZXZpY2UqIHJlbXVzX2RldmljZV9pbml0KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNl
c19zdGF0ZSAqcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kZXZpY2Vfa2luZCBraW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKmxpYnhsX2RldikKLXsKLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlICpkZXYgPSBOVUxMOwotCi0gICAgU1RBVEVfQU9fR0MocmRzLT5hbyk7Ci0gICAgR0NO
RVcoZGV2KTsKLSAgICBkZXYtPmJhY2tlbmRfZGV2ID0gbGlieGxfZGV2OwotICAgIGRldi0+a2lu
ZCA9IGtpbmQ7Ci0gICAgZGV2LT5yZHMgPSByZHM7Ci0KLSAgICByZXR1cm4gZGV2OwotfQotCi1z
dGF0aWMgdm9pZCByZW11c19kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcyk7
Ci0KLXZvaWQgbGlieGxfX3JlbXVzX2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIGludCBpLCByYzsKLQotICAgIFNU
QVRFX0FPX0dDKHJkcy0+YW8pOwotCi0gICAgcmMgPSBpbml0X2RldmljZV9zdWJraW5kKHJkcyk7
Ci0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91dDsKLQotICAgIHJkcy0+bnVtX2RldmljZXMg
PSAwOwotICAgIHJkcy0+bnVtX25pY3MgPSAwOwotICAgIHJkcy0+bnVtX2Rpc2tzID0gMDsKLQot
ICAgIGlmIChyZHMtPmRldmljZV9raW5kX2ZsYWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5E
X1ZJRikpCi0gICAgICAgIHJkcy0+bmljcyA9IGxpYnhsX2RldmljZV9uaWNfbGlzdChDVFgsIHJk
cy0+ZG9taWQsICZyZHMtPm51bV9uaWNzKTsKLQotICAgIGlmIChyZHMtPmRldmljZV9raW5kX2Zs
YWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpCi0gICAgICAgIHJkcy0+ZGlza3Mg
PSBsaWJ4bF9kZXZpY2VfZGlza19saXN0KENUWCwgcmRzLT5kb21pZCwgJnJkcy0+bnVtX2Rpc2tz
KTsKLQotICAgIGlmIChyZHMtPm51bV9uaWNzID09IDAgJiYgcmRzLT5udW1fZGlza3MgPT0gMCkK
LSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICBHQ05FV19BUlJBWShyZHMtPmRldnMsIHJkcy0+bnVt
X25pY3MgKyByZHMtPm51bV9kaXNrcyk7Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgcmRzLT5udW1f
bmljczsgaSsrKSB7Ci0gICAgICAgIHJkcy0+ZGV2c1tyZHMtPm51bV9kZXZpY2VzKytdID0gcmVt
dXNfZGV2aWNlX2luaXQoZWdjLCByZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMSUJYTF9fREVWSUNFX0tJTkRfVklGLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJkcy0+bmljc1tpXSk7Ci0gICAgfQot
Ci0gICAgZm9yIChpID0gMDsgaSA8IHJkcy0+bnVtX2Rpc2tzOyBpKyspIHsKLSAgICAgICAgcmRz
LT5kZXZzW3Jkcy0+bnVtX2RldmljZXMrK10gPSByZW11c19kZXZpY2VfaW5pdChlZ2MsIHJkcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19E
RVZJQ0VfS0lORF9WQkQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmcmRzLT5kaXNrc1tpXSk7Ci0gICAgfQotCi0gICAgcmVtdXNfZGV2aWNlc19zZXR1
cChlZ2MsIHJkcyk7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICByZHMtPmNhbGxiYWNrKGVn
YywgcmRzLCByYyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfc2V0dXAobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIGludCBpLCByYzsKLQotICAgIFNUQVRFX0FPX0dD
KHJkcy0+YW8pOwotCi0gICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmcmRzLT5tdWx0aWRl
dik7Ci0gICAgcmRzLT5tdWx0aWRldi5jYWxsYmFjayA9IGFsbF9kZXZpY2VzX3NldHVwX2NiOwot
ICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKLSAgICAgICAgbGli
eGxfX3JlbXVzX2RldmljZSAqZGV2ID0gcmRzLT5kZXZzW2ldOwotICAgICAgICBkZXYtPm9wc19p
bmRleCA9IC0xOwotICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZy
ZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7Ci0KLSAgICAgICAgZGV2LT5hb2Rldi5yYyA9IEVS
Uk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQUE9SVEVEOwotICAgICAgICBkZXYtPmFvZGV2LmNhbGxi
YWNrID0gZGV2aWNlX3NldHVwX2l0ZXJhdGU7Ci0gICAgICAgIGRldmljZV9zZXR1cF9pdGVyYXRl
KGVnYywmZGV2LT5hb2Rldik7Ci0gICAgfQotCi0gICAgcmMgPSAwOwotICAgIGxpYnhsX19tdWx0
aWRldl9wcmVwYXJlZChlZ2MsICZyZHMtPm11bHRpZGV2LCByYyk7Ci19Ci0KLQotc3RhdGljIHZv
aWQgZGV2aWNlX3NldHVwX2l0ZXJhdGUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYW9fZGV2aWNl
ICphb2RldikKLXsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0Yo
YW9kZXYsICpkZXYsIGFvZGV2KTsKLSAgICBFR0NfR0M7Ci0KLSAgICBpZiAoYW9kZXYtPnJjICE9
IEVSUk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQUE9SVEVEICYmCi0gICAgICAgIGFvZGV2LT5yYyAh
PSBFUlJPUl9SRU1VU19ERVZPUFNfRE9FU19OT1RfTUFUQ0gpCi0gICAgICAgIC8qIG1pZ2h0IGJl
IHN1Y2Nlc3Mgb3IgZGlzYXN0ZXIgKi8KLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICBkbyB7Ci0g
ICAgICAgIGRldi0+b3BzID0gcmVtdXNfb3BzWysrZGV2LT5vcHNfaW5kZXhdOwotICAgICAgICBp
ZiAoIWRldi0+b3BzKSB7Ci0gICAgICAgICAgICBsaWJ4bF9kZXZpY2VfbmljICogbmljID0gTlVM
TDsKLSAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICogZGlzayA9IE5VTEw7Ci0gICAgICAg
ICAgICB1aW50MzJfdCBkb21pZDsKLSAgICAgICAgICAgIGludCBkZXZpZDsKLSAgICAgICAgICAg
IGlmIChkZXYtPmtpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZJRikgewotICAgICAgICAgICAg
ICAgIG5pYyA9IChsaWJ4bF9kZXZpY2VfbmljICopZGV2LT5iYWNrZW5kX2RldjsKLSAgICAgICAg
ICAgICAgICBkb21pZCA9IG5pYy0+YmFja2VuZF9kb21pZDsKLSAgICAgICAgICAgICAgICBkZXZp
ZCA9IG5pYy0+ZGV2aWQ7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGRldi0+a2luZCA9PSBMSUJY
TF9fREVWSUNFX0tJTkRfVkJEKSB7Ci0gICAgICAgICAgICAgICAgZGlzayA9IChsaWJ4bF9kZXZp
Y2VfZGlzayAqKWRldi0+YmFja2VuZF9kZXY7Ci0gICAgICAgICAgICAgICAgZG9taWQgPSBkaXNr
LT5iYWNrZW5kX2RvbWlkOwotICAgICAgICAgICAgICAgIGRldmlkID0gbGlieGxfX2RldmljZV9k
aXNrX2Rldl9udW1iZXIoZGlzay0+dmRldiwgTlVMTCwgTlVMTCk7Ci0gICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIExPRyhFUlJPUiwiZGV2aWNlIGtpbmQgbm90IGhhbmRsZWQg
YnkgcmVtdXM6ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3Rv
X3N0cmluZyhkZXYtPmtpbmQpKTsKLSAgICAgICAgICAgICAgICBhb2Rldi0+cmMgPSBFUlJPUl9G
QUlMOwotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgTE9HKEVSUk9SLCJkZXZpY2Ugbm90IGhhbmRsZWQgYnkgcmVtdXMiCi0gICAgICAgICAgICAg
ICAgIiAoZGV2aWNlPSVzOiUiUFJJZDMyIi8lIlBSSWQzMiIpIiwKLSAgICAgICAgICAgICAgICBs
aWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKGRldi0+a2luZCksCi0gICAgICAgICAgICAgICAg
ZG9taWQsIGRldmlkKTsKLSAgICAgICAgICAgIGFvZGV2LT5yYyA9IEVSUk9SX1JFTVVTX0RFVklD
RV9OT1RfU1VQUE9SVEVEOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLSAgICB9
IHdoaWxlIChkZXYtPm9wcy0+a2luZCAhPSBkZXYtPmtpbmQpOwotCi0gICAgLyogZm91bmQgdGhl
IG5leHQgb3BzX2luZGV4IHRvIHRyeSAqLwotICAgIGFzc2VydChkZXYtPmFvZGV2LmNhbGxiYWNr
ID09IGRldmljZV9zZXR1cF9pdGVyYXRlKTsKLSAgICBkZXYtPm9wcy0+c2V0dXAoZWdjLGRldik7
Ci0gICAgcmV0dXJuOwotCi0gb3V0OgotICAgIGxpYnhsX19tdWx0aWRldl9vbmVfY2FsbGJhY2so
ZWdjLGFvZGV2KTsKLX0KLQotc3RhdGljIHZvaWQgYWxsX2RldmljZXNfc2V0dXBfY2IobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRp
ZGV2ICptdWx0aWRldiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykK
LXsKLSAgICBTVEFURV9BT19HQyhtdWx0aWRldi0+YW8pOwotCi0gICAgLyogQ29udmVuaWVuY2Ug
YWxpYXNlcyAqLwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKnJkcywg
bXVsdGlkZXYpOwotCi0gICAgcmRzLT5jYWxsYmFjayhlZ2MsIHJkcywgcmMpOwotfQotCi12b2lk
IGxpYnhsX19yZW11c19kZXZpY2VzX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJk
cykKLXsKLSAgICBpbnQgaTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXY7Ci0KLSAgICBT
VEFURV9BT19HQyhyZHMtPmFvKTsKLQotICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJnJk
cy0+bXVsdGlkZXYpOwotICAgIHJkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX3RlYXJk
b3duX2NiOwotICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKLSAg
ICAgICAgZGV2ID0gcmRzLT5kZXZzW2ldOwotICAgICAgICBpZiAoIWRldi0+b3BzIHx8ICFkZXYt
Pm1hdGNoZWQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBsaWJ4bF9fbXVsdGlk
ZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZyZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7Ci0gICAg
ICAgIGRldi0+b3BzLT50ZWFyZG93bihlZ2MsZGV2KTsKLSAgICB9Ci0KLSAgICBsaWJ4bF9fbXVs
dGlkZXZfcHJlcGFyZWQoZWdjLCAmcmRzLT5tdWx0aWRldiwgMCk7Ci19Ci0KLXN0YXRpYyB2b2lk
IGRldmljZXNfdGVhcmRvd25fY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgaW50IGk7Ci0KLSAgICBTVEFURV9BT19H
QyhtdWx0aWRldi0+YW8pOwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAgIGxp
YnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKnJkcywgbXVsdGlkZXYpOwotCi0gICAg
LyogY2xlYW4gbmljICovCi0gICAgZm9yIChpID0gMDsgaSA8IHJkcy0+bnVtX25pY3M7IGkrKykK
LSAgICAgICAgbGlieGxfZGV2aWNlX25pY19kaXNwb3NlKCZyZHMtPm5pY3NbaV0pOwotICAgIGZy
ZWUocmRzLT5uaWNzKTsKLSAgICByZHMtPm5pY3MgPSBOVUxMOwotICAgIHJkcy0+bnVtX25pY3Mg
PSAwOwotCi0gICAgLyogY2xlYW4gZGlzayAqLwotICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51
bV9kaXNrczsgaSsrKQotICAgICAgICBsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZyZHMtPmRp
c2tzW2ldKTsKLSAgICBmcmVlKHJkcy0+ZGlza3MpOwotICAgIHJkcy0+ZGlza3MgPSBOVUxMOwot
ICAgIHJkcy0+bnVtX2Rpc2tzID0gMDsKLQotICAgIGNsZWFudXBfZGV2aWNlX3N1YmtpbmQocmRz
KTsKLQotICAgIHJkcy0+Y2FsbGJhY2soZWdjLCByZHMsIHJjKTsKLX0KLQotLyotLS0tLSBjaGVj
a3BvaW50aW5nIEFQSXMgLS0tLS0qLwotCi0vKiBjYWxsYmFja3MgKi8KLQotc3RhdGljIHZvaWQg
ZGV2aWNlc19jaGVja3BvaW50X2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci0KLS8qIEFQSSBpbXBsZW1lbnRhdGlvbnMg
Ki8KLQotI2RlZmluZSBkZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGkoYXBpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc18jI2FwaShs
aWJ4bF9fZWdjICplZ2MsICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKSAgICAgICAg
XAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIGludCBpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGxpYnhsX19yZW11c19k
ZXZpY2UgKmRldjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJnJkcy0+bXVsdGlkZXYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHJkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX2NoZWNr
cG9pbnRfY2I7ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaSA9IDA7IGkgPCByZHMt
Pm51bV9kZXZpY2VzOyBpKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBkZXYgPSByZHMtPmRldnNbaV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBpZiAoIWRldi0+bWF0Y2hlZCB8fCAhZGV2LT5vcHMtPmFwaSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgY29udGludWU7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBs
aWJ4bF9fbXVsdGlkZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZyZHMtPm11bHRpZGV2LCAmZGV2LT5h
b2Rldik7XAotICAgICAgICBkZXYtPm9wcy0+YXBpKGVnYyxkZXYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlZChlZ2MsICZyZHMtPm11bHRpZGV2LCAw
KTsgICAgICAgICAgICAgICAgICAgXAotfQotCi1kZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGko
cG9zdHN1c3BlbmQpOwotCi1kZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGkocHJlcmVzdW1lKTsK
LQotZGVmaW5lX3JlbXVzX2NoZWNrcG9pbnRfYXBpKGNvbW1pdCk7Ci0KLXN0YXRpYyB2b2lkIGRl
dmljZXNfY2hlY2twb2ludF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgU1RBVEVfQU9fR0MobXVsdGlkZXYt
PmFvKTsKLQotICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRzID0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBD
T05UQUlORVJfT0YobXVsdGlkZXYsICpyZHMsIG11bHRpZGV2KTsKLQotICAgIHJkcy0+Y2FsbGJh
Y2soZWdjLCByZHMsIHJjKTsKLX0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVz
X2Rpc2tfZHJiZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19kcmJkLmMKaW5kZXgg
MWMzYTg4YS4uNGRkZGM1OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlz
a19kcmJkLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19kcmJkLmMKQEAgLTI2
LDMwICsyNiwzMCBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZHJiZF9kaXNrIHsKICAg
ICBpbnQgYWNrd2FpdDsKIH0gbGlieGxfX3JlbXVzX2RyYmRfZGlzazsKIAotaW50IGluaXRfc3Vi
a2luZF9kcmJkX2Rpc2sobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcykKK2ludCBpbml0
X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykK
IHsKLSAgICBTVEFURV9BT19HQyhyZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsK
IAotICAgIHJkcy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYoIiVzL2Jsb2NrLWRyYmQt
cHJvYmUiLAorICAgIGNkcy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYoIiVzL2Jsb2Nr
LWRyYmQtcHJvYmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CiAKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBj
bGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMp
Cit2b2lkIGNsZWFudXBfc3Via2luZF9kcmJkX2Rpc2sobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c19zdGF0ZSAqY2RzKQogewogICAgIHJldHVybjsKIH0KIAogLyotLS0tLSBoZWxwZXIgZnVuY3Rp
b25zLCBmb3IgYXN5bmMgY2FsbHMgLS0tLS0qLwogc3RhdGljIHZvaWQgZHJiZF9hc3luY19jYWxs
KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVt
dXNfZGV2aWNlICpkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCBmdW5jKGxp
YnhsX19yZW11c19kZXZpY2UgKiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2NoZWNrcG9pbnRfZGV2aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCBmdW5jKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZXZfY2hpbGRfY2FsbGJhY2sgY2FsbGJhY2spCiB7CiAgICAgaW50IHBp
ZCwgcmM7CiAgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXYgPSAmZGV2LT5hb2RldjsKLSAgICBT
VEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7
CiAKICAgICAvKiBGb3JrIGFuZCBjYWxsICovCiAgICAgcGlkID0gbGlieGxfX2V2X2NoaWxkX2Zv
cmsoZ2MsICZhb2Rldi0+Y2hpbGQsIGNhbGxiYWNrKTsKQEAgLTgyLDIxICs4MiwyMSBAQCBzdGF0
aWMgdm9pZCBtYXRjaF9hc3luY19leGVjX2NiKGxpYnhsX19lZ2MgKmVnYywKIAogLyogaW1wbGVt
ZW50YXRpb25zICovCiAKLXN0YXRpYyB2b2lkIG1hdGNoX2FzeW5jX2V4ZWMobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpOworc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNf
ZXhlYyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKIAot
c3RhdGljIHZvaWQgZHJiZF9zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZp
Y2UgKmRldikKK3N0YXRpYyB2b2lkIGRyYmRfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8p
OworICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7CiAKICAgICBtYXRjaF9hc3luY19leGVj
KGVnYywgZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNfZXhlYyhsaWJ4bF9fZWdj
ICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0YXRpYyB2b2lkIG1hdGNoX2FzeW5j
X2V4ZWMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsK
ICAgICBpbnQgYXJyYXlzaXplLCBuciA9IDAsIHJjOwogICAgIGNvbnN0IGxpYnhsX2RldmljZV9k
aXNrICpkaXNrID0gZGV2LT5iYWNrZW5kX2RldjsKICAgICBsaWJ4bF9fYXN5bmNfZXhlY19zdGF0
ZSAqYWVzID0gJmRldi0+YW9kZXYuYWVzOwotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7
CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIHNldHVwIGVudiAmIGFy
Z3MgKi8KICAgICBhcnJheXNpemUgPSAxOwpAQCAtMTA3LDEyICsxMDcsMTIgQEAgc3RhdGljIHZv
aWQgbWF0Y2hfYXN5bmNfZXhlYyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2Ug
KmRldikKICAgICBhcnJheXNpemUgPSAzOwogICAgIG5yID0gMDsKICAgICBHQ05FV19BUlJBWShh
ZXMtPmFyZ3MsIGFycmF5c2l6ZSk7Ci0gICAgYWVzLT5hcmdzW25yKytdID0gZGV2LT5yZHMtPmRy
YmRfcHJvYmVfc2NyaXB0OworICAgIGFlcy0+YXJnc1tucisrXSA9IGRldi0+Y2RzLT5kcmJkX3By
b2JlX3NjcmlwdDsKICAgICBhZXMtPmFyZ3NbbnIrK10gPSBkaXNrLT5wZGV2X3BhdGg7CiAgICAg
YWVzLT5hcmdzW25yKytdID0gTlVMTDsKICAgICBhc3NlcnQobnIgPD0gYXJyYXlzaXplKTsKIAot
ICAgIGFlcy0+YW8gPSBkZXYtPnJkcy0+YW87CisgICAgYWVzLT5hbyA9IGRldi0+Y2RzLT5hbzsK
ICAgICBhZXMtPndoYXQgPSBHQ1NQUklOVEYoIiVzICVzIiwgYWVzLT5hcmdzWzBdLCBhZXMtPmFy
Z3NbMV0pOwogICAgIGFlcy0+dGltZW91dF9tcyA9IExJQlhMX0hPVFBMVUdfVElNRU9VVCAqIDEw
MDA7CiAgICAgYWVzLT5jYWxsYmFjayA9IG1hdGNoX2FzeW5jX2V4ZWNfY2I7CkBAIC0xMzYsNyAr
MTM2LDcgQEAgc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNfZXhlY19jYihsaWJ4bF9fZWdjICplZ2Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYywgaW50IHN0YXR1cykKIHsK
ICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2RldiA9IENPTlRBSU5FUl9PRihhZXMsICphb2Rldiwg
YWVzKTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0YoYW9kZXYs
ICpkZXYsIGFvZGV2KTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldiA9IENPTlRB
SU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOwogICAgIGxpYnhsX19yZW11c19kcmJkX2Rpc2sg
KmRyYmRfZGlzazsKICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9IGRldi0+YmFj
a2VuZF9kZXY7CiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19l
eGVjX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpZiAoc3Rh
dHVzKSB7Ci0gICAgICAgIHJjID0gRVJST1JfUkVNVVNfREVWT1BTX0RPRVNfTk9UX01BVENIOwor
ICAgICAgICByYyA9IEVSUk9SX0NIRUNLUE9JTlRfREVWT1BTX0RPRVNfTk9UX01BVENIOwogICAg
ICAgICAvKiBCVUc6IHNlZW1zIHRvIGFzc3VtZSB0aGF0IGFueSBleGl0IHN0YXR1cyBtZWFucyBg
bm8gbWF0Y2gnICovCiAgICAgICAgIC8qIEJVRzogZXhpdCBzdGF0dXMgd2lsbCBoYXZlIGJlZW4g
bG9nZ2VkIGFzIGFuIGVycm9yICovCiAgICAgICAgIGdvdG8gb3V0OwpAQCAtMTcxLDEwICsxNzEs
MTAgQEAgb3V0OgogICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0KIAotc3RhdGlj
IHZvaWQgZHJiZF90ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2Ug
KmRldikKK3N0YXRpYyB2b2lkIGRyYmRfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsKICAgICBsaWJ4bF9fcmVtdXNfZHJiZF9kaXNrICpk
cmJkX2Rpc2sgPSBkZXYtPmNvbmNyZXRlX2RhdGE7Ci0gICAgU1RBVEVfQU9fR0MoZGV2LT5yZHMt
PmFvKTsKKyAgICBTVEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCiAgICAgY2xvc2UoZHJiZF9k
aXNrLT5jdGxfZmQpOwogICAgIGRldi0+YW9kZXYucmMgPSAwOwpAQCAtMTkxLDkgKzE5MSw5IEBA
IHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfYXN5bmNfY2FsbF9kb25lKGxpYnhsX19lZ2MgKmVnYywK
IC8qIEFQSSBpbXBsZW1lbnRhdGlvbnMgKi8KIAogLyogdGhpcyBvcCB3aWxsIG5vdCB3YWl0IGFu
ZCBibG9jaywgc28gaW1wbGVtZW50IGFzIHN5bmMgb3AgKi8KLXN0YXRpYyB2b2lkIGRyYmRfcG9z
dHN1c3BlbmQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpCitzdGF0
aWMgdm9pZCBkcmJkX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlICpkZXYpCiB7Ci0gICAgU1RBVEVfQU9fR0MoZGV2LT5yZHMtPmFvKTsKKyAgICBT
VEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCiAgICAgbGlieGxfX3JlbXVzX2RyYmRfZGlzayAq
cmRkID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCkBAIC0yMDcsMTYgKzIwNywxNiBAQCBzdGF0aWMg
dm9pZCBkcmJkX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2Rldmlj
ZSAqZGV2KQogfQogCiAKLXN0YXRpYyB2b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19y
ZW11c19kZXZpY2UgKmRldik7CitzdGF0aWMgdm9pZCBkcmJkX3ByZXJlc3VtZV9hc3luYyhsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldik7CiAKLXN0YXRpYyB2b2lkIGRyYmRfcHJlcmVzdW1l
KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQg
ZHJiZF9wcmVyZXN1bWUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Ug
KmRldikKIHsKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dD
KGRldi0+Y2RzLT5hbyk7CiAKICAgICBkcmJkX2FzeW5jX2NhbGwoZWdjLCBkZXYsIGRyYmRfcHJl
cmVzdW1lX2FzeW5jLCBjaGVja3BvaW50X2FzeW5jX2NhbGxfZG9uZSk7CiB9CiAKLXN0YXRpYyB2
b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0YXRp
YyB2b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2
KQogewogICAgIGxpYnhsX19yZW11c19kcmJkX2Rpc2sgKnJkZCA9IGRldi0+Y29uY3JldGVfZGF0
YTsKICAgICBpbnQgYWNrd2FpdCA9IHJkZC0+YWNrd2FpdDsKQEAgLTIzNSw3ICsyMzUsNyBAQCBz
dGF0aWMgdm9pZCBjaGVja3BvaW50X2FzeW5jX2NhbGxfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiB7
CiAgICAgaW50IHJjOwogICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2ID0gQ09OVEFJTkVSX09G
KGNoaWxkLCAqYW9kZXYsIGNoaWxkKTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBD
T05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2UgKmRldiA9IENPTlRBSU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOwogICAgIGxpYnhs
X19yZW11c19kcmJkX2Rpc2sgKnJkZCA9IGRldi0+Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRF
X0FPX0dDKGFvZGV2LT5hbyk7CkBAIC0yNTMsNyArMjUzLDcgQEAgb3V0OgogICAgIGFvZGV2LT5j
YWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0KIAotY29uc3QgbGlieGxfX3JlbXVzX2RldmljZV9pbnN0
YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzayA9IHsKK2NvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzayA9IHsKICAgICAu
a2luZCA9IExJQlhMX19ERVZJQ0VfS0lORF9WQkQsCiAgICAgLnNldHVwID0gZHJiZF9zZXR1cCwK
ICAgICAudGVhcmRvd24gPSBkcmJkX3RlYXJkb3duLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv
bGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCmluZGV4IDYwNWZi
OWEuLjYzMmMwMDkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAorKysg
Yi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAgLTYxLDggKzYxLDggQEAgbGlieGxfZXJy
b3IgPSBFbnVtZXJhdGlvbigiZXJyb3IiLCBbCiAgICAgKC0xNSwgIkxPQ0tfRkFJTCIpLAogICAg
ICgtMTYsICJKU09OX0NPTkZJR19FTVBUWSIpLAogICAgICgtMTcsICJERVZJQ0VfRVhJU1RTIiks
Ci0gICAgKC0xOCwgIlJFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCIpLAotICAgICgtMTksICJS
RU1VU19ERVZJQ0VfTk9UX1NVUFBPUlRFRCIpLAorICAgICgtMTgsICJDSEVDS1BPSU5UX0RFVk9Q
U19ET0VTX05PVF9NQVRDSCIpLAorICAgICgtMTksICJDSEVDS1BPSU5UX0RFVklDRV9OT1RfU1VQ
UE9SVEVEIiksCiAgICAgKC0yMCwgIlZOVU1BX0NPTkZJR19JTlZBTElEIiksCiAgICAgKC0yMSwg
IkRPTUFJTl9OT1RGT1VORCIpLAogICAgICgtMjIsICJBQk9SVEVEIiksCi0tCmdlbmVyYXRlZCBi
eSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFp
bGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291
cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:37 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBET-0007f5-6u; Sun, 28 Feb 2016 23:58:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBES-0007eu-Gh
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:37 +0000
Received: from [85.158.137.68] by server-1.bemta-3.messagelabs.com id
 86/4B-03306-BA983D65; Sun, 28 Feb 2016 23:58:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1456703912!25720318!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 38702 invoked from network); 28 Feb 2016 23:58:33 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-8.tower-31.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:33 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEO-0000yj-MX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEO-00022K-H0
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:32 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEO-00022K-H0@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:32 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: rename remus device to
	checkpoint device
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDMwNDQwMDQ1OWVmMDUxZDEyYWU4NGJhOGE3YjJlY2NkYWRjMGY3ZmIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0NyAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiByZW5hbWUgcmVtdXMgZGV2aWNlIHRvIGNoZWNrcG9pbnQgZGV2aWNlCiAg
ICAKICAgIFRoaXMgcGF0Y2ggaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIGZvbGxvd2luZyBjb21t
YW5kczoKICAgICAxLiBnaXQgbXYgdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGV2aWNlLmMgdG9v
bHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYwogICAgIDIuIHBlcmwgLXBpIC1lICdz
L2xpYnhsX3JlbXVzX2RldmljZS9saWJ4bF9jaGVja3BvaW50X2RldmljZS9nJyB0b29scy9saWJ4
bC9NYWtlZmlsZQogICAgIDMuIHBlcmwgLXBpIC1lICdzL1xibGlieGxfX3JlbXVzX2RldmljZXMv
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlcy9nJyB0b29scy9saWJ4bC8qLltjaF0KICAgICA0LiBw
ZXJsIC1waSAtZSAncy9cYmxpYnhsX19yZW11c19kZXZpY2VcYi9saWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2UvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgNS4gcGVybCAtcGkgLWUgJ3MvXGJsaWJ4
bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wc1xiL2xpYnhsX19jaGVja3BvaW50X2RldmljZV9p
bnN0YW5jZV9vcHMvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgNi4gcGVybCAtcGkgLWUgJ3Mv
XGJsaWJ4bF9fcmVtdXNfY2FsbGJhY2tcYi9saWJ4bF9fY2hlY2twb2ludF9jYWxsYmFjay9nJyB0
b29scy9saWJ4bC8qLltjaF0KICAgICA3LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzX2RldmljZV9p
bml0XGIvY2hlY2twb2ludF9kZXZpY2VfaW5pdC9nJyB0b29scy9saWJ4bC8qLltjaF0KICAgICA4
LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzX2RldmljZXNfc2V0dXBcYi9jaGVja3BvaW50X2Rldmlj
ZXNfc2V0dXAvZycgdG9vbHMvbGlieGwvKi5bY2hdCiAgICAgOS4gcGVybCAtcGkgLWUgJ3MvXGJk
ZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGlcYi9kZWZpbmVfY2hlY2twb2ludF9hcGkvZycgdG9v
bHMvbGlieGwvKi5bY2hdCiAgICAxMC4gcGVybCAtcGkgLWUgJ3MvXGJyZHNcYi9jZHMvZycgdG9v
bHMvbGlieGwvKi5bY2hdCiAgICAxMS4gcGVybCAtcGkgLWUgJ3MvUkVNVVNfREVWSUNFL0NIRUNL
UE9JTlRfREVWSUNFL2cnIHRvb2xzL2xpYnhsLyouW2NoXSB0b29scy9saWJ4bC8qLmlkbAogICAg
MTIuIHBlcmwgLXBpIC1lICdzL1JFTVVTX0RFVk9QUy9DSEVDS1BPSU5UX0RFVk9QUy9nJyB0b29s
cy9saWJ4bC8qLltjaF0gdG9vbHMvbGlieGwvKi5pZGwKICAgIDEzLiBwZXJsIC1waSAtZSAncy9c
YnJlbXVzXGIvY2hlY2twb2ludC9nJyB0b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2Rldmlj
ZS5bY2hdCiAgICAxNC4gcGVybCAtcGkgLWUgJ3MvXGJyZW11cyBkZXZpY2UvY2hlY2twb2ludCBk
ZXZpY2UvZycgdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTUuIHBlcmwgLXBpIC1l
ICdzL1xiUmVtdXMgZGV2aWNlL2NoZWNrcG9pbnQgZGV2aWNlL2cnIHRvb2xzL2xpYnhsL2xpYnhs
X2ludGVybmFsLmgKICAgIDE2LiBwZXJsIC1waSAtZSAncy9cYnJlbXVzIGFic3RyYWN0L2NoZWNr
cG9pbnQgYWJzdHJhY3QvZycgdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTcuIHBl
cmwgLXBpIC1lICdzL1xicmVtdXMgaW52b2NhdGlvbi9jaGVja3BvaW50IGludm9jYXRpb24vZycg
dG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAogICAgMTguIHBlcmwgLXBpIC1lICdzL1xibGli
eGxfX3JlbXVzX2RldmljZV9cKC9saWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfKC9nJyB0b29scy9s
aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCiAgICAKICAgIFRoZSBwYXRjaCBhbHNvIGZpeGVzIHRoZSBm
b2xsb3dpbmcgYmFja3dvcmQgY29tcGF0aWJpbGl0eToKICAgICAgVGhlIGVycm9yIGNvZGUgRVJS
T1JfUkVNVVNfWFhYIHdhcyBpbnRyb2R1Y2VkIGluIFhlbiA0LjUsIGFuZAogICAgICBjaGFuZ2Vk
IHRvIEVSUk9SX0NIRUNLUE9JTlRfWFhYIGFmdGVyIHByZXZpb3VzIHJlbmFtaW5nLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBSZXZpZXdlZC1MaWdodGx5LWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53
aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNv
bT4KLS0tCiB0b29scy9saWJ4bC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAyICstCiB0
b29scy9saWJ4bC9saWJ4bC5oICAgICAgICAgICAgICAgICAgIHwgIDEyICsrCiB0b29scy9saWJ4
bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIHwgMzI3ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgICAgfCAxMTIg
KysrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYyAgICAgICAgIHwgMTA4
ICsrKysrLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jICAgICAgIHwgIDEw
ICstCiB0b29scy9saWJ4bC9saWJ4bF9yZW11cy5jICAgICAgICAgICAgIHwgIDc2ICsrKystLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9yZW11c19kZXZpY2UuYyAgICAgIHwgMzI3IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3JlbXVzX2Rpc2tfZHJi
ZC5jICAgfCAgNTIgKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAg
IHwgICA0ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA1MjEgaW5zZXJ0aW9ucygrKSwgNTA5IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlIGIvdG9vbHMvbGlieGwv
TWFrZWZpbGUKaW5kZXggMjYzZWEwZS4uNzg5YTEyZSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
TWFrZWZpbGUKKysrIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUKQEAgLTY0LDcgKzY0LDcgQEAgZWxz
ZQogTElCWExfT0JKUy15ICs9IGxpYnhsX25vX2NvbnZlcnRfY2FsbG91dC5vCiBlbmRpZgogCi1M
SUJYTF9PQkpTLXkgKz0gbGlieGxfcmVtdXMubyBsaWJ4bF9yZW11c19kZXZpY2UubyBsaWJ4bF9y
ZW11c19kaXNrX2RyYmQubworTElCWExfT0JKUy15ICs9IGxpYnhsX3JlbXVzLm8gbGlieGxfY2hl
Y2twb2ludF9kZXZpY2UubyBsaWJ4bF9yZW11c19kaXNrX2RyYmQubwogCiBMSUJYTF9PQkpTLSQo
Q09ORklHX1g4NikgKz0gbGlieGxfY3B1aWQubyBsaWJ4bF94ODYubyBsaWJ4bF9wc3IubwogTElC
WExfT0JKUy0kKENPTkZJR19BUk0pICs9IGxpYnhsX25vY3B1aWQubyBsaWJ4bF9hcm0ubyBsaWJ4
bF9saWJmZHRfY29tcGF0Lm8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29s
cy9saWJ4bC9saWJ4bC5oCmluZGV4IDYyMjVkYjEuLmY5ZTNlZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtODgzLDYgKzg4Mywx
OCBAQCB2b2lkIGxpYnhsX21hY19jb3B5KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9tYWMgKmRzdCwg
bGlieGxfbWFjICpzcmMpOwogICovCiAjZGVmaW5lIExJQlhMX0hBVkVfQ0hFQ0tQT0lOVEVEX1NU
UkVBTSAxCiAKKy8qCisgKiBFUlJPUl9SRU1VU19YWFggZXJyb3IgY29kZSBvbmx5IGV4aXN0cyBm
cm9tIFhlbiA0LjUsIFhlbiA0LjYgYW5kIGl0CisgKiBpcyBjaGFuZ2VkIHRvIEVSUk9SX0NIRUNL
UE9JTlRfWFhYIGluIFhlbiA0LjcKKyAqLworI2lmIGRlZmluZWQoTElCWExfQVBJX1ZFUlNJT04p
ICYmIExJQlhMX0FQSV9WRVJTSU9OID49IDB4MDQwNTAwIFwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAmJiBMSUJYTF9BUElfVkVSU0lPTiA8IDB4MDQwNzAwCisjZGVmaW5lIEVSUk9S
X1JFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCBcCisgICAgICAgIEVSUk9SX0NIRUNLUE9JTlRf
REVWT1BTX0RPRVNfTk9UX01BVENICisjZGVmaW5lIEVSUk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQ
UE9SVEVEIFwKKyAgICAgICAgRVJST1JfQ0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRAor
I2VuZGlmCisKIHR5cGVkZWYgY2hhciAqKmxpYnhsX3N0cmluZ19saXN0Owogdm9pZCBsaWJ4bF9z
dHJpbmdfbGlzdF9kaXNwb3NlKGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CiBpbnQgbGlieGxfc3Ry
aW5nX2xpc3RfbGVuZ3RoKGNvbnN0IGxpYnhsX3N0cmluZ19saXN0ICpzbCk7CmRpZmYgLS1naXQg
YS90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGli
eGxfY2hlY2twb2ludF9kZXZpY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4xMDljZDIzCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2lu
dF9kZXZpY2UuYwpAQCAtMCwwICsxLDMyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBG
VUpJVFNVIExJTUlURUQKKyAqIEF1dGhvcjogWWFuZyBIb25neWFuZyA8eWFuZ2h5QGNuLmZ1aml0
c3UuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4xIG9ubHkuIHdpdGggdGhlIHNw
ZWNpYWwKKyAqIGV4Y2VwdGlvbiBvbiBsaW5raW5nIGRlc2NyaWJlZCBpbiBmaWxlIExJQ0VOU0Uu
CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgImxpYnhs
X29zZGVwcy5oIiAvKiBtdXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCisKKyNp
bmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgorCitleHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlX2luc3RhbmNlX29wcyByZW11c19kZXZpY2VfbmljOworZXh0ZXJuIGNvbnN0IGxp
YnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlz
azsKK3N0YXRpYyBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzICpy
ZW11c19vcHNbXSA9IHsKKyAgICAmcmVtdXNfZGV2aWNlX25pYywKKyAgICAmcmVtdXNfZGV2aWNl
X2RyYmRfZGlzaywKKyAgICBOVUxMLAorfTsKKworLyotLS0tLSBoZWxwZXIgZnVuY3Rpb25zIC0t
LS0tKi8KKworc3RhdGljIGludCBpbml0X2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfc3RhdGUgKmNkcykKK3sKKyAgICAvKiBpbml0IGRldmljZSBzdWJraW5kLXNwZWNp
ZmljIHN0YXRlIGluIHRoZSBsaWJ4bCBjdHggKi8KKyAgICBpbnQgcmM7CisgICAgU1RBVEVfQU9f
R0MoY2RzLT5hbyk7CisKKyAgICBpZiAobGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgewor
ICAgICAgICByYyA9IGluaXRfc3Via2luZF9uaWMoY2RzKTsKKyAgICAgICAgaWYgKHJjKSBnb3Rv
IG91dDsKKyAgICB9CisKKyAgICByYyA9IGluaXRfc3Via2luZF9kcmJkX2Rpc2soY2RzKTsKKyAg
ICBpZiAocmMpIGdvdG8gb3V0OworCisgICAgcmMgPSAwOworb3V0OgorICAgIHJldHVybiByYzsK
K30KKworc3RhdGljIHZvaWQgY2xlYW51cF9kZXZpY2Vfc3Via2luZChsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3N0YXRlICpjZHMpCit7CisgICAgLyogY2xlYW51cCBkZXZpY2Ugc3Via2luZC1z
cGVjaWZpYyBzdGF0ZSBpbiB0aGUgbGlieGwgY3R4ICovCisgICAgU1RBVEVfQU9fR0MoY2RzLT5h
byk7CisKKyAgICBpZiAobGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkKKyAgICAgICAgY2xl
YW51cF9zdWJraW5kX25pYyhjZHMpOworCisgICAgY2xlYW51cF9zdWJraW5kX2RyYmRfZGlzayhj
ZHMpOworfQorCisvKi0tLS0tIHNldHVwKCkgYW5kIHRlYXJkb3duKCkgLS0tLS0qLworCisvKiBj
YWxsYmFja3MgKi8KKworc3RhdGljIHZvaWQgYWxsX2RldmljZXNfc2V0dXBfY2IobGlieGxfX2Vn
YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2
ICptdWx0aWRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Citz
dGF0aWMgdm9pZCBkZXZpY2Vfc2V0dXBfaXRlcmF0ZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2Rldik7CitzdGF0
aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKKworLyogY2hlY2twb2ludCBkZXZpY2Ug
c2V0dXAgYW5kIHRlYXJkb3duICovCisKK3N0YXRpYyBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Uq
IGNoZWNrcG9pbnRfZGV2aWNlX2luaXQobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
c3RhdGUgKmNkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZGV2aWNlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2b2lkICpsaWJ4bF9kZXYpCit7CisgICAgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlICpkZXYgPSBOVUxMOworCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CisgICAg
R0NORVcoZGV2KTsKKyAgICBkZXYtPmJhY2tlbmRfZGV2ID0gbGlieGxfZGV2OworICAgIGRldi0+
a2luZCA9IGtpbmQ7CisgICAgZGV2LT5jZHMgPSBjZHM7CisKKyAgICByZXR1cm4gZGV2OworfQor
CitzdGF0aWMgdm9pZCBjaGVja3BvaW50X2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Vz
X3N0YXRlICpjZHMpOworCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAobGli
eGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCit7Cisg
ICAgaW50IGksIHJjOworCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CisKKyAgICByYyA9IGlu
aXRfZGV2aWNlX3N1YmtpbmQoY2RzKTsKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0Owor
CisgICAgY2RzLT5udW1fZGV2aWNlcyA9IDA7CisgICAgY2RzLT5udW1fbmljcyA9IDA7CisgICAg
Y2RzLT5udW1fZGlza3MgPSAwOworCisgICAgaWYgKGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgJiAo
MSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVklGKSkKKyAgICAgICAgY2RzLT5uaWNzID0gbGlieGxf
ZGV2aWNlX25pY19saXN0KENUWCwgY2RzLT5kb21pZCwgJmNkcy0+bnVtX25pY3MpOworCisgICAg
aWYgKGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgJiAoMSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVkJE
KSkKKyAgICAgICAgY2RzLT5kaXNrcyA9IGxpYnhsX2RldmljZV9kaXNrX2xpc3QoQ1RYLCBjZHMt
PmRvbWlkLCAmY2RzLT5udW1fZGlza3MpOworCisgICAgaWYgKGNkcy0+bnVtX25pY3MgPT0gMCAm
JiBjZHMtPm51bV9kaXNrcyA9PSAwKQorICAgICAgICBnb3RvIG91dDsKKworICAgIEdDTkVXX0FS
UkFZKGNkcy0+ZGV2cywgY2RzLT5udW1fbmljcyArIGNkcy0+bnVtX2Rpc2tzKTsKKworICAgIGZv
ciAoaSA9IDA7IGkgPCBjZHMtPm51bV9uaWNzOyBpKyspIHsKKyAgICAgICAgY2RzLT5kZXZzW2Nk
cy0+bnVtX2RldmljZXMrK10gPSBjaGVja3BvaW50X2RldmljZV9pbml0KGVnYywgY2RzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfX0RFVklD
RV9LSU5EX1ZJRiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZjZHMtPm5pY3NbaV0pOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBjZHMtPm51
bV9kaXNrczsgaSsrKSB7CisgICAgICAgIGNkcy0+ZGV2c1tjZHMtPm51bV9kZXZpY2VzKytdID0g
Y2hlY2twb2ludF9kZXZpY2VfaW5pdChlZ2MsIGNkcywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19ERVZJQ0VfS0lORF9WQkQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY2RzLT5kaXNrc1tpXSk7
CisgICAgfQorCisgICAgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGVnYywgY2RzKTsKKworICAg
IHJldHVybjsKKworb3V0OgorICAgIGNkcy0+Y2FsbGJhY2soZWdjLCBjZHMsIHJjKTsKK30KKwor
c3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSAqY2RzKQoreworICAgIGludCBpLCByYzsKKworICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8p
OworCisgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmY2RzLT5tdWx0aWRldik7CisgICAg
Y2RzLT5tdWx0aWRldi5jYWxsYmFjayA9IGFsbF9kZXZpY2VzX3NldHVwX2NiOworICAgIGZvciAo
aSA9IDA7IGkgPCBjZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKKyAgICAgICAgbGlieGxfX2NoZWNr
cG9pbnRfZGV2aWNlICpkZXYgPSBjZHMtPmRldnNbaV07CisgICAgICAgIGRldi0+b3BzX2luZGV4
ID0gLTE7CisgICAgICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlX3dpdGhfYW9kZXYoJmNkcy0+
bXVsdGlkZXYsICZkZXYtPmFvZGV2KTsKKworICAgICAgICBkZXYtPmFvZGV2LnJjID0gRVJST1Jf
Q0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRDsKKyAgICAgICAgZGV2LT5hb2Rldi5jYWxs
YmFjayA9IGRldmljZV9zZXR1cF9pdGVyYXRlOworICAgICAgICBkZXZpY2Vfc2V0dXBfaXRlcmF0
ZShlZ2MsJmRldi0+YW9kZXYpOworICAgIH0KKworICAgIHJjID0gMDsKKyAgICBsaWJ4bF9fbXVs
dGlkZXZfcHJlcGFyZWQoZWdjLCAmY2RzLT5tdWx0aWRldiwgcmMpOworfQorCisKK3N0YXRpYyB2
b2lkIGRldmljZV9zZXR1cF9pdGVyYXRlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2FvX2Rldmlj
ZSAqYW9kZXYpCit7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYgPSBDT05UQUlO
RVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKKyAgICBFR0NfR0M7CisKKyAgICBpZiAoYW9kZXYt
PnJjICE9IEVSUk9SX0NIRUNLUE9JTlRfREVWSUNFX05PVF9TVVBQT1JURUQgJiYKKyAgICAgICAg
YW9kZXYtPnJjICE9IEVSUk9SX0NIRUNLUE9JTlRfREVWT1BTX0RPRVNfTk9UX01BVENIKQorICAg
ICAgICAvKiBtaWdodCBiZSBzdWNjZXNzIG9yIGRpc2FzdGVyICovCisgICAgICAgIGdvdG8gb3V0
OworCisgICAgZG8geworICAgICAgICBkZXYtPm9wcyA9IHJlbXVzX29wc1srK2Rldi0+b3BzX2lu
ZGV4XTsKKyAgICAgICAgaWYgKCFkZXYtPm9wcykgeworICAgICAgICAgICAgbGlieGxfZGV2aWNl
X25pYyAqIG5pYyA9IE5VTEw7CisgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqIGRpc2sg
PSBOVUxMOworICAgICAgICAgICAgdWludDMyX3QgZG9taWQ7CisgICAgICAgICAgICBpbnQgZGV2
aWQ7CisgICAgICAgICAgICBpZiAoZGV2LT5raW5kID09IExJQlhMX19ERVZJQ0VfS0lORF9WSUYp
IHsKKyAgICAgICAgICAgICAgICBuaWMgPSAobGlieGxfZGV2aWNlX25pYyAqKWRldi0+YmFja2Vu
ZF9kZXY7CisgICAgICAgICAgICAgICAgZG9taWQgPSBuaWMtPmJhY2tlbmRfZG9taWQ7CisgICAg
ICAgICAgICAgICAgZGV2aWQgPSBuaWMtPmRldmlkOworICAgICAgICAgICAgfSBlbHNlIGlmIChk
ZXYtPmtpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZCRCkgeworICAgICAgICAgICAgICAgIGRp
c2sgPSAobGlieGxfZGV2aWNlX2Rpc2sgKilkZXYtPmJhY2tlbmRfZGV2OworICAgICAgICAgICAg
ICAgIGRvbWlkID0gZGlzay0+YmFja2VuZF9kb21pZDsKKyAgICAgICAgICAgICAgICBkZXZpZCA9
IGxpYnhsX19kZXZpY2VfZGlza19kZXZfbnVtYmVyKGRpc2stPnZkZXYsIE5VTEwsIE5VTEwpOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBMT0coRVJST1IsImRldmljZSBr
aW5kIG5vdCBoYW5kbGVkIGJ5IGNoZWNrcG9pbnQ6ICVzIiwKKyAgICAgICAgICAgICAgICAgICAg
bGlieGxfX2RldmljZV9raW5kX3RvX3N0cmluZyhkZXYtPmtpbmQpKTsKKyAgICAgICAgICAgICAg
ICBhb2Rldi0+cmMgPSBFUlJPUl9GQUlMOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgTE9HKEVSUk9SLCJkZXZpY2Ugbm90IGhhbmRsZWQgYnkg
Y2hlY2twb2ludCIKKyAgICAgICAgICAgICAgICAiIChkZXZpY2U9JXM6JSJQUklkMzIiLyUiUFJJ
ZDMyIikiLAorICAgICAgICAgICAgICAgIGxpYnhsX19kZXZpY2Vfa2luZF90b19zdHJpbmcoZGV2
LT5raW5kKSwKKyAgICAgICAgICAgICAgICBkb21pZCwgZGV2aWQpOworICAgICAgICAgICAgYW9k
ZXYtPnJjID0gRVJST1JfQ0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRDsKKyAgICAgICAg
ICAgIGdvdG8gb3V0OworICAgICAgICB9CisgICAgfSB3aGlsZSAoZGV2LT5vcHMtPmtpbmQgIT0g
ZGV2LT5raW5kKTsKKworICAgIC8qIGZvdW5kIHRoZSBuZXh0IG9wc19pbmRleCB0byB0cnkgKi8K
KyAgICBhc3NlcnQoZGV2LT5hb2Rldi5jYWxsYmFjayA9PSBkZXZpY2Vfc2V0dXBfaXRlcmF0ZSk7
CisgICAgZGV2LT5vcHMtPnNldHVwKGVnYyxkZXYpOworICAgIHJldHVybjsKKworIG91dDoKKyAg
ICBsaWJ4bF9fbXVsdGlkZXZfb25lX2NhbGxiYWNrKGVnYyxhb2Rldik7Cit9CisKK3N0YXRpYyB2
b2lkIGFsbF9kZXZpY2VzX3NldHVwX2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgU1RBVEVfQU9fR0MobXVsdGlk
ZXYtPmFvKTsKKworICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fY2hl
Y2twb2ludF9kZXZpY2VzX3N0YXRlICpjb25zdCBjZHMgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmNkcywgbXVsdGlkZXYpOworCisgICAgY2Rz
LT5jYWxsYmFjayhlZ2MsIGNkcywgcmMpOworfQorCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCit7CisgICAg
aW50IGk7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXY7CisKKyAgICBTVEFURV9B
T19HQyhjZHMtPmFvKTsKKworICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJmNkcy0+bXVs
dGlkZXYpOworICAgIGNkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX3RlYXJkb3duX2Ni
OworICAgIGZvciAoaSA9IDA7IGkgPCBjZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKKyAgICAgICAg
ZGV2ID0gY2RzLT5kZXZzW2ldOworICAgICAgICBpZiAoIWRldi0+b3BzIHx8ICFkZXYtPm1hdGNo
ZWQpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJl
cGFyZV93aXRoX2FvZGV2KCZjZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7CisgICAgICAgIGRl
di0+b3BzLT50ZWFyZG93bihlZ2MsZGV2KTsKKyAgICB9CisKKyAgICBsaWJ4bF9fbXVsdGlkZXZf
cHJlcGFyZWQoZWdjLCAmY2RzLT5tdWx0aWRldiwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRldmlj
ZXNfdGVhcmRvd25fY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpCit7CisgICAgaW50IGk7CisKKyAgICBTVEFURV9BT19HQyhtdWx0
aWRldi0+YW8pOworCisgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLworICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNvbnN0IGNkcyA9CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgQ09OVEFJTkVSX09GKG11bHRpZGV2LCAqY2RzLCBtdWx0aWRldik7CisKKyAgICAv
KiBjbGVhbiBuaWMgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY2RzLT5udW1fbmljczsgaSsrKQor
ICAgICAgICBsaWJ4bF9kZXZpY2VfbmljX2Rpc3Bvc2UoJmNkcy0+bmljc1tpXSk7CisgICAgZnJl
ZShjZHMtPm5pY3MpOworICAgIGNkcy0+bmljcyA9IE5VTEw7CisgICAgY2RzLT5udW1fbmljcyA9
IDA7CisKKyAgICAvKiBjbGVhbiBkaXNrICovCisgICAgZm9yIChpID0gMDsgaSA8IGNkcy0+bnVt
X2Rpc2tzOyBpKyspCisgICAgICAgIGxpYnhsX2RldmljZV9kaXNrX2Rpc3Bvc2UoJmNkcy0+ZGlz
a3NbaV0pOworICAgIGZyZWUoY2RzLT5kaXNrcyk7CisgICAgY2RzLT5kaXNrcyA9IE5VTEw7Cisg
ICAgY2RzLT5udW1fZGlza3MgPSAwOworCisgICAgY2xlYW51cF9kZXZpY2Vfc3Via2luZChjZHMp
OworCisgICAgY2RzLT5jYWxsYmFjayhlZ2MsIGNkcywgcmMpOworfQorCisvKi0tLS0tIGNoZWNr
cG9pbnRpbmcgQVBJcyAtLS0tLSovCisKKy8qIGNhbGxiYWNrcyAqLworCitzdGF0aWMgdm9pZCBk
ZXZpY2VzX2NoZWNrcG9pbnRfY2IobGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKKworLyogQVBJIGltcGxlbWVudGF0aW9ucyAq
LworCisjZGVmaW5lIGRlZmluZV9jaGVja3BvaW50X2FwaShhcGkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfIyNhcGkobGli
eGxfX2VnYyAqZWdjLCAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKSAgICAg
ICAgXAoreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGludCBpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGxpYnhsX19jaGVj
a3BvaW50X2RldmljZSAqZGV2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmY2RzLT5tdWx0aWRldik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgY2RzLT5tdWx0aWRldi5jYWxsYmFjayA9IGRldmlj
ZXNfY2hlY2twb2ludF9jYjsgICAgICAgICAgICAgICAgICAgICBcCisgICAgZm9yIChpID0gMDsg
aSA8IGNkcy0+bnVtX2RldmljZXM7IGkrKykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIGRldiA9IGNkcy0+ZGV2c1tpXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICghZGV2LT5tYXRjaGVkIHx8ICFkZXYtPm9w
cy0+YXBpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBjb250aW51
ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlX3dpdGhfYW9kZXYoJmNkcy0+bXVsdGlkZXYs
ICZkZXYtPmFvZGV2KTtcCisgICAgICAgIGRldi0+b3BzLT5hcGkoZWdjLGRldik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgbGlieGxfX211bHRpZGV2X3ByZXBhcmVkKGVnYywgJmNkcy0+bXVs
dGlkZXYsIDApOyAgICAgICAgICAgICAgICAgICBcCit9CisKK2RlZmluZV9jaGVja3BvaW50X2Fw
aShwb3N0c3VzcGVuZCk7CisKK2RlZmluZV9jaGVja3BvaW50X2FwaShwcmVyZXN1bWUpOworCitk
ZWZpbmVfY2hlY2twb2ludF9hcGkoY29tbWl0KTsKKworc3RhdGljIHZvaWQgZGV2aWNlc19jaGVj
a3BvaW50X2NiKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCByYykKK3sKKyAgICBTVEFURV9BT19HQyhtdWx0aWRldi0+YW8pOworCisg
ICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLworICAgIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfc3RhdGUgKmNvbnN0IGNkcyA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OVEFJ
TkVSX09GKG11bHRpZGV2LCAqY2RzLCBtdWx0aWRldik7CisKKyAgICBjZHMtPmNhbGxiYWNrKGVn
YywgY2RzLCByYyk7Cit9CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCA2NTZiY2NkLi42MzBmMDQ4IDEw
MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX2ludGVybmFsLmgKQEAgLTI3OTQsOSArMjc5NCw5IEBAIHR5cGVkZWYgc3RydWN0IGxp
YnhsX19zYXZlX2hlbHBlcl9zdGF0ZSB7CiAgICAgICAgICAgICAgICAgICAgICAgKiBtYXJzaGFs
bGluZyBhbmQgeGMgY2FsbGJhY2sgZnVuY3Rpb25zICovCiB9IGxpYnhsX19zYXZlX2hlbHBlcl9z
dGF0ZTsKIAotLyotLS0tLSByZW11cyBkZXZpY2UgcmVsYXRlZCBzdGF0ZSBzdHJ1Y3R1cmUgLS0t
LS0qLworLyotLS0tLSBjaGVja3BvaW50IGRldmljZSByZWxhdGVkIHN0YXRlIHN0cnVjdHVyZSAt
LS0tLSovCiAvKgotICogVGhlIGFic3RyYWN0IFJlbXVzIGRldmljZSBsYXllciBleHBvc2VzIGEg
Y29tbW9uCisgKiBUaGUgYWJzdHJhY3QgY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIgZXhwb3NlcyBh
IGNvbW1vbgogICogc2V0IG9mIEFQSSB0byBbZXh0ZXJuYWxdIGxpYnhsIGZvciBtYW5pcHVsYXRp
bmcgZGV2aWNlcyBhdHRhY2hlZCB0bwogICogYSBndWVzdCBwcm90ZWN0ZWQgYnkgUmVtdXMuIFRo
ZSBkZXZpY2UgbGF5ZXIgYWxzbyBleHBvc2VzIGEgc2V0IG9mCiAgKiBbaW50ZXJuYWxdIGludGVy
ZmFjZXMgdGhhdCBldmVyeSBkZXZpY2UgdHlwZSBtdXN0IGltcGxlbWVudC4KQEAgLTI4MDQsMzQg
KzI4MDQsMzQgQEAgdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlIHsKICAq
IFRoZSBmb2xsb3dpbmcgQVBJIGFyZSBleHBvc2VkIHRvIGxpYnhsOgogICoKICAqIE9uZS10aW1l
IGNvbmZpZ3VyYXRpb24gb3BlcmF0aW9uczoKLSAqICArbGlieGxfX3JlbXVzX2RldmljZXNfc2V0
dXAKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cAogICogICAgPiBFbmFibGUg
b3V0cHV0IGJ1ZmZlcmluZyBmb3IgTklDcywgc2V0dXAgZGlzayByZXBsaWNhdGlvbiwgZXRjLgot
ICogICtsaWJ4bF9fcmVtdXNfZGV2aWNlc190ZWFyZG93bgorICogICtsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3RlYXJkb3duCiAgKiAgICA+IERpc2FibGUgb3V0cHV0IGJ1ZmZlcmluZyBhbmQg
ZGlzayByZXBsaWNhdGlvbjsgdGVhcmRvd24gYW55CiAgKiAgICAgICBhc3NvY2lhdGVkIGV4dGVy
bmFsIHNldHVwcyBsaWtlIHFkaXNjcyBmb3IgTklDcy4KICAqCiAgKiBPcGVyYXRpb25zIGV4ZWN1
dGVkIGV2ZXJ5IGNoZWNrcG9pbnQgKGluIG9yZGVyIG9mIGludm9jYXRpb24pOgotICogICtsaWJ4
bF9fcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZAotICogICtsaWJ4bF9fcmVtdXNfZGV2aWNlc19w
cmVyZXN1bWUKLSAqICArbGlieGxfX3JlbXVzX2RldmljZXNfY29tbWl0CisgKiAgK2xpYnhsX19j
aGVja3BvaW50X2RldmljZXNfcG9zdHN1c3BlbmQKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlc19wcmVyZXN1bWUKKyAqICArbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQKICAq
CiAgKiBFYWNoIGRldmljZSB0eXBlIG5lZWRzIHRvIGltcGxlbWVudCB0aGUgaW50ZXJmYWNlcyBz
cGVjaWZpZWQgaW4KLSAqIHRoZSBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wcyBpZiBp
dCB3aXNoZXMgdG8gc3VwcG9ydCBSZW11cy4KKyAqIHRoZSBsaWJ4bF9fY2hlY2twb2ludF9kZXZp
Y2VfaW5zdGFuY2Vfb3BzIGlmIGl0IHdpc2hlcyB0byBzdXBwb3J0IFJlbXVzLgogICoKLSAqIFRo
ZSBoaWdoLWxldmVsIGNvbnRyb2wgZmxvdyB0aHJvdWdoIHRoZSBSZW11cyBkZXZpY2UgbGF5ZXIg
aXMgc2hvd24gYmVsb3c6CisgKiBUaGUgaGlnaC1sZXZlbCBjb250cm9sIGZsb3cgdGhyb3VnaCB0
aGUgY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIgaXMgc2hvd24gYmVsb3c6CiAgKgogICogeGwgcmVt
dXMKICAqICB8LT4gIGxpYnhsX2RvbWFpbl9yZW11c19zdGFydAotICogICAgfC0+IGxpYnhsX19y
ZW11c19kZXZpY2VzX3NldHVwCi0gKiAgICAgIHwtPiBQZXItY2hlY2twb2ludCBsaWJ4bF9fcmVt
dXNfZGV2aWNlc19bcG9zdHN1c3BlbmQscHJlcmVzdW1lLGNvbW1pdF0KKyAqICAgIHwtPiBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3NldHVwCisgKiAgICAgIHwtPiBQZXItY2hlY2twb2ludCBs
aWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX1twb3N0c3VzcGVuZCxwcmVyZXN1bWUsY29tbWl0XQog
ICogICAgICAgIC4uLgogICogICAgICAgIHwtPiBPbiBiYWNrdXAgZmFpbHVyZSwgbmV0d29yayBl
cnJvciBvciBvdGhlciBpbnRlcm5hbCBlcnJvcnM6Ci0gKiAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3RlYXJkb3duCisgKiAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfdGVhcmRvd24KICAqLwogCi10eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlIGxp
YnhsX19yZW11c19kZXZpY2U7Ci10eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19z
dGF0ZSBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZTsKLXR5cGVkZWYgc3RydWN0IGxpYnhsX19y
ZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3Bz
OwordHlwZWRlZiBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZTsKK3R5cGVkZWYgc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZTsKK3R5cGVkZWYgc3RydWN0IGxpYnhs
X19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
X2luc3RhbmNlX29wczsKIAogLyoKICAqIEludGVyZmFjZXMgdG8gYmUgaW1wbGVtZW50ZWQgYnkg
ZXZlcnkgZGV2aWNlIHN1YmtpbmQgdGhhdCB3aXNoZXMgdG8KQEAgLTI4NDEsNyArMjg0MSw3IEBA
IHR5cGVkZWYgc3RydWN0IGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIGxpYnhsX19y
ZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzCiAgKiBzeW5jaHJvbm91cyBhbmQgY2FsbCBkZXYtPmFv
ZGV2LmNhbGxiYWNrIGRpcmVjdGx5IChhcyB0aGUgbGFzdAogICogdGhpbmcgdGhleSBkbykuCiAg
Ki8KLXN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3RhbmNlX29wcyB7CitzdHJ1Y3QgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNlX29wcyB7CiAgICAgLyogdGhlIGRldmljZSBr
aW5kIHRoaXMgb3BzIGJlbG9uZ3MgdG8uLi4gKi8KICAgICBsaWJ4bF9fZGV2aWNlX2tpbmQga2lu
ZDsKIApAQCAtMjg1MiwxMiArMjg1MiwxMiBAQCBzdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZV9p
bnN0YW5jZV9vcHMgewogICAgICAqIEFzeW5jaHJvbm91cy4KICAgICAgKi8KIAotICAgIHZvaWQg
KCpwb3N0c3VzcGVuZCkobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYp
OwotICAgIHZvaWQgKCpwcmVyZXN1bWUpKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2Rl
dmljZSAqZGV2KTsKLSAgICB2b2lkICgqY29tbWl0KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19y
ZW11c19kZXZpY2UgKmRldik7CisgICAgdm9pZCAoKnBvc3RzdXNwZW5kKShsaWJ4bF9fZWdjICpl
Z2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKKyAgICB2b2lkICgqcHJlcmVzdW1l
KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKKyAgICB2
b2lkICgqY29tbWl0KShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAq
ZGV2KTsKIAogICAgIC8qCi0gICAgICogc2V0dXAoKSBhbmQgdGVhcmRvd24oKSBhcmUgcmVmZXIg
dG8gdGhlIGFjdHVhbCByZW11cyBkZXZpY2UuCisgICAgICogc2V0dXAoKSBhbmQgdGVhcmRvd24o
KSBhcmUgcmVmZXIgdG8gdGhlIGFjdHVhbCBjaGVja3BvaW50IGRldmljZS4KICAgICAgKiBBc3lu
Y2hyb25vdXMuCiAgICAgICogdGVhcmRvd24gaXMgY2FsbGVkIGV2ZW4gaWYgc2V0dXAgZmFpbHMu
CiAgICAgICovCkBAIC0yODY2LDQ1ICsyODY2LDQ1IEBAIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZGV2
aWNlX2luc3RhbmNlX29wcyB7CiAgICAgICogZGV2aWNlLiBJZiBtYXRjaGVkLCB0aGUgZGV2aWNl
IHdpbGwgdGhlbiBiZSBtYW5hZ2VkIHdpdGggdGhpcyBzZXQgb2YKICAgICAgKiBzdWJraW5kIG9w
ZXJhdGlvbnMuCiAgICAgICogWWllbGRzIDAgaWYgdGhlIGRldmljZSBzdWNjZXNzZnVsbHkgc2V0
IHVwLgotICAgICAqIFJFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCBpZiB0aGUgb3BzIGRvZXMg
bm90IG1hdGNoIHRoZSBkZXZpY2UuCisgICAgICogQ0hFQ0tQT0lOVF9ERVZPUFNfRE9FU19OT1Rf
TUFUQ0ggaWYgdGhlIG9wcyBkb2VzIG5vdCBtYXRjaCB0aGUgZGV2aWNlLgogICAgICAqIGFueSBv
dGhlciByYyBpbmRpY2F0ZXMgZmFpbHVyZS4KICAgICAgKi8KLSAgICB2b2lkICgqc2V0dXApKGxp
YnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KTsKLSAgICB2b2lkICgqdGVh
cmRvd24pKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KTsKKyAgICB2
b2lkICgqc2V0dXApKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpk
ZXYpOworICAgIHZvaWQgKCp0ZWFyZG93bikobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2UgKmRldik7CiB9OwogCi1pbnQgaW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fcmVt
dXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLXZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9f
cmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLWludCBpbml0X3N1YmtpbmRfZHJiZF9kaXNrKGxp
YnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOwotdm9pZCBjbGVhbnVwX3N1YmtpbmRfZHJi
ZF9kaXNrKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOworaW50IGluaXRfc3Via2lu
ZF9uaWMobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKK3ZvaWQgY2xlYW51
cF9zdWJraW5kX25pYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworaW50
IGluaXRfc3Via2luZF9kcmJkX2Rpc2sobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzKTsKK3ZvaWQgY2xlYW51cF9zdWJraW5kX2RyYmRfZGlzayhsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3N0YXRlICpjZHMpOwogCi10eXBlZGVmIHZvaWQgbGlieGxfX3JlbXVzX2NhbGxiYWNr
KGxpYnhsX19lZ2MgKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X3JlbXVzX2RldmljZXNfc3RhdGUgKiwgaW50IHJjKTsKK3R5cGVkZWYgdm9pZCBsaWJ4bF9fY2hl
Y2twb2ludF9jYWxsYmFjayhsaWJ4bF9fZWdjICosCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKiwgaW50IHJjKTsKIAog
LyoKLSAqIFN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIHJlbXVzIGludm9jYXRpb24sIGluY2x1ZGlu
ZyBwYXJhbWV0ZXJzCi0gKiBwYXNzZWQgdG8gdGhlIHJlbXVzIGFic3RyYWN0IGRldmljZSBsYXll
ciBieSB0aGUgcmVtdXMKKyAqIFN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIGNoZWNrcG9pbnQgaW52
b2NhdGlvbiwgaW5jbHVkaW5nIHBhcmFtZXRlcnMKKyAqIHBhc3NlZCB0byB0aGUgY2hlY2twb2lu
dCBhYnN0cmFjdCBkZXZpY2UgbGF5ZXIgYnkgdGhlIHJlbXVzCiAgKiBzYXZlL3Jlc3RvcmUgbWFj
aGluZXJ5LgogICovCi1zdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgewotICAgIC8q
LS0tLSBtdXN0IGJlIHNldCBieSBjYWxsZXIgb2YgbGlieGxfX3JlbXVzX2RldmljZV8oc2V0dXB8
dGVhcmRvd24pIC0tLS0qLworc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
eworICAgIC8qLS0tLSBtdXN0IGJlIHNldCBieSBjYWxsZXIgb2YgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlXyhzZXR1cHx0ZWFyZG93bikgLS0tLSovCiAKICAgICBsaWJ4bF9fYW8gKmFvOwogICAg
IHVpbnQzMl90IGRvbWlkOwotICAgIGxpYnhsX19yZW11c19jYWxsYmFjayAqY2FsbGJhY2s7Cisg
ICAgbGlieGxfX2NoZWNrcG9pbnRfY2FsbGJhY2sgKmNhbGxiYWNrOwogICAgIGludCBkZXZpY2Vf
a2luZF9mbGFnczsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJzdHJhY3QgbGF5ZXIgb25s
eSAtLS0tLSovCiAKICAgICBpbnQgbnVtX2RldmljZXM7CiAgICAgLyoKLSAgICAgKiB0aGlzIGFy
cmF5IGlzIGFsbG9jYXRlZCBiZWZvcmUgc2V0dXAgdGhlIHJlbXVzIGRldmljZXMgYnkgdGhlCi0g
ICAgICogcmVtdXMgYWJzdHJhY3QgbGF5ZXIuCi0gICAgICogZGV2cyBtYXkgYmUgTlVMTCwgbWVh
bnMgdGhlcmUncyBubyByZW11cyBkZXZpY2VzIHRoYXQgaGFzIGJlZW4gc2V0IHVwLgorICAgICAq
IHRoaXMgYXJyYXkgaXMgYWxsb2NhdGVkIGJlZm9yZSBzZXR1cCB0aGUgY2hlY2twb2ludCBkZXZp
Y2VzIGJ5IHRoZQorICAgICAqIGNoZWNrcG9pbnQgYWJzdHJhY3QgbGF5ZXIuCisgICAgICogZGV2
cyBtYXkgYmUgTlVMTCwgbWVhbnMgdGhlcmUncyBubyBjaGVja3BvaW50IGRldmljZXMgdGhhdCBo
YXMgYmVlbiBzZXQgdXAuCiAgICAgICogdGhlIHNpemUgb2YgdGhpcyBhcnJheSBpcyAnbnVtX2Rl
dmljZXMnLCB3aGljaCBpcyB0aGUgdG90YWwgbnVtYmVyCiAgICAgICogb2YgbGlieGwgbmljIGRl
dmljZXMgYW5kIGRpc2sgZGV2aWNlcyhudW1fbmljcyArIG51bV9kaXNrcykuCiAgICAgICovCi0g
ICAgbGlieGxfX3JlbXVzX2RldmljZSAqKmRldnM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlICoqZGV2czsKIAogICAgIGxpYnhsX2RldmljZV9uaWMgKm5pY3M7CiAgICAgaW50IG51bV9u
aWNzOwpAQCAtMjkyNiwyMCArMjkyNiwyMCBAQCBzdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgewogCiAvKgogICogSW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUgZGV2aWNlIGJlaW5n
IGhhbmRsZWQgYnkgcmVtdXMuCi0gKiBBbGxvY2F0ZWQgYnkgdGhlIHJlbXVzIGFic3RyYWN0IGxh
eWVyLgorICogQWxsb2NhdGVkIGJ5IHRoZSBjaGVja3BvaW50IGFic3RyYWN0IGxheWVyLgogICov
Ci1zdHJ1Y3QgbGlieGxfX3JlbXVzX2RldmljZSB7CitzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlIHsKICAgICAvKi0tLS0tIHNoYXJlZCBiZXR3ZWVuIGFic3RyYWN0IGFuZCBjb25jcmV0
ZSBsYXllcnMgLS0tLS0qLwogICAgIC8qCiAgICAgICogaWYgdGhpcyBpcyB0cnVlLCB0aGF0IG1l
YW5zIHRoZSBzdWJraW5kIG9wcyBtYXRjaCB0aGUgZGV2aWNlCiAgICAgICovCiAgICAgYm9vbCBt
YXRjaGVkOwogCi0gICAgLyotLS0tLSBzZXQgYnkgcmVtdXMgZGV2aWNlIGFic3RydWN0IGxheWVy
IC0tLS0tKi8KLSAgICAvKiBsaWJ4bF9fZGV2aWNlXyogd2hpY2ggdGhpcyByZW11cyBkZXZpY2Ug
cmVsYXRlZCB0byAqLworICAgIC8qLS0tLS0gc2V0IGJ5IGNoZWNrcG9pbnQgZGV2aWNlIGFic3Ry
dWN0IGxheWVyIC0tLS0tKi8KKyAgICAvKiBsaWJ4bF9fZGV2aWNlXyogd2hpY2ggdGhpcyBjaGVj
a3BvaW50IGRldmljZSByZWxhdGVkIHRvICovCiAgICAgY29uc3Qgdm9pZCAqYmFja2VuZF9kZXY7
CiAgICAgbGlieGxfX2RldmljZV9raW5kIGtpbmQ7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNf
c3RhdGUgKnJkczsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHM7CiAg
ICAgbGlieGxfX2FvX2RldmljZSBhb2RldjsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJz
dHJhY3QgbGF5ZXIgb25seSAtLS0tLSovCkBAIC0yOTUwLDcgKzI5NTAsNyBAQCBzdHJ1Y3QgbGli
eGxfX3JlbXVzX2RldmljZSB7CiAgICAgICogaW5kaXZpZHVhbCBkZXZpY2VzLgogICAgICAqLwog
ICAgIGludCBvcHNfaW5kZXg7Ci0gICAgY29uc3QgbGlieGxfX3JlbXVzX2RldmljZV9pbnN0YW5j
ZV9vcHMgKm9wczsKKyAgICBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vf
b3BzICpvcHM7CiAKICAgICAvKi0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZpY2Utc3Bl
Y2lmaWMpIGxheWVyIC0tLS0tKi8KIApAQCAtMjk1OCwxNyArMjk1OCwxNyBAQCBzdHJ1Y3QgbGli
eGxfX3JlbXVzX2RldmljZSB7CiAgICAgdm9pZCAqY29uY3JldGVfZGF0YTsKIH07CiAKLS8qIHRo
ZSBmb2xsb3dpbmcgNSBBUElzIGFyZSBhc3luYyBvcHMsIGNhbGwgcmRzLT5jYWxsYmFjayB3aGVu
IGRvbmUgKi8KLV9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zZXR1cChsaWJ4bF9f
ZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcyk7Ci1faGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX2Rl
dmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpOwotX2hp
ZGRlbiB2b2lkIGxpYnhsX19yZW11c19kZXZpY2VzX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
cmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLV9oaWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19wcmVyZXN1bWUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKTsKLV9o
aWRkZW4gdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc19jb21taXQobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzKTsKKy8qIHRoZSBmb2xsb3dpbmcgNSBBUElzIGFyZSBhc3luYyBvcHMs
IGNhbGwgY2RzLT5jYWxsYmFjayB3aGVuIGRvbmUgKi8KK19oaWRkZW4gdm9pZCBsaWJ4bF9fY2hl
Y2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpj
ZHMpOworX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24obGli
eGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CitfaGlkZGVuIHZvaWQgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlc19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKK19oaWRkZW4gdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3ByZXJlc3VtZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cyk7CitfaGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQobGlieGxf
X2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogX2hpZGRlbiBpbnQgbGlieGxfX25l
dGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpOwogCiAvKi0tLS0tIExlZ2FjeSBjb252ZXJz
aW9uIGhlbHBlciAtLS0tLSovCkBAIC0zMTIyLDcgKzMxMjIsNyBAQCBzdHJ1Y3QgbGlieGxfX2Rv
bWFpbl9zYXZlX3N0YXRlIHsKICAgICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwogICAgIGxp
YnhsX19kb21haW5fc3VzcGVuZF9zdGF0ZSBkc3BzOwotICAgIGxpYnhsX19yZW11c19kZXZpY2Vz
X3N0YXRlIHJkczsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlIGNkczsKICAg
ICBsaWJ4bF9fZXZfdGltZSBjaGVja3BvaW50X3RpbWVvdXQ7IC8qIHVzZWQgZm9yIFJlbXVzIGNo
ZWNrcG9pbnQgKi8KICAgICBpbnQgaW50ZXJ2YWw7IC8qIGNoZWNrcG9pbnQgaW50ZXJ2YWwgKGZv
ciBSZW11cykgKi8KICAgICBsaWJ4bF9fc3RyZWFtX3dyaXRlX3N0YXRlIHN3czsKZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX25ldGJ1ZmZlci5jIGIvdG9vbHMvbGlieGwvbGlieGxfbmV0
YnVmZmVyLmMKaW5kZXggYzI0NWE0ZS4uMzNjMmE0MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwv
bGlieGxfbmV0YnVmZmVyLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMKQEAg
LTM4LDIxICszOCwyMSBAQCBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAq
Z2MpCiAgICAgcmV0dXJuIDE7CiB9CiAKLWludCBpbml0X3N1YmtpbmRfbmljKGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMpCitpbnQgaW5pdF9zdWJraW5kX25pYyhsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCiB7CiAgICAgaW50IHJjLCByZXQ7Ci0gICAgbGlieGxf
X2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOwor
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGNkcywgKmRz
cywgY2RzKTsKIAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGNk
cy0+YW8pOwogCi0gICAgcmRzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKLSAgICBpZiAo
IXJkcy0+bmxzb2NrKSB7CisgICAgY2RzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKKyAg
ICBpZiAoIWNkcy0+bmxzb2NrKSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5vdCBhbGxvY2F0
ZSBubCBzb2NrZXQiKTsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91
dDsKICAgICB9CiAKLSAgICByZXQgPSBubF9jb25uZWN0KHJkcy0+bmxzb2NrLCBORVRMSU5LX1JP
VVRFKTsKKyAgICByZXQgPSBubF9jb25uZWN0KGNkcy0+bmxzb2NrLCBORVRMSU5LX1JPVVRFKTsK
ICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBvcGVuIG5ldGxp
bmsgc29ja2V0OiAlcyIsCiAgICAgICAgICAgICBubF9nZXRlcnJvcihyZXQpKTsKQEAgLTYxLDcg
KzYxLDcgQEAgaW50IGluaXRfc3Via2luZF9uaWMobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUg
KnJkcykKICAgICB9CiAKICAgICAvKiBnZXQgbGlzdCBvZiBhbGwgcWRpc2NzIGluc3RhbGxlZCBv
biBuZXR3b3JrIGRldnMuICovCi0gICAgcmV0ID0gcnRubF9xZGlzY19hbGxvY19jYWNoZShyZHMt
Pm5sc29jaywgJnJkcy0+cWRpc2NfY2FjaGUpOworICAgIHJldCA9IHJ0bmxfcWRpc2NfYWxsb2Nf
Y2FjaGUoY2RzLT5ubHNvY2ssICZjZHMtPnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAg
ICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBhbGxvY2F0ZSBxZGlzYyBjYWNoZTogJXMiLAog
ICAgICAgICAgICAgbmxfZ2V0ZXJyb3IocmV0KSk7CkBAIC03MCw5ICs3MCw5IEBAIGludCBpbml0
X3N1YmtpbmRfbmljKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpCiAgICAgfQogCiAg
ICAgaWYgKGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlwdCkgewotICAgICAgICByZHMtPm5ldGJ1ZnNj
cmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIGRzcy0+cmVtdXMtPm5ldGJ1ZnNjcmlwdCk7CisgICAg
ICAgIGNkcy0+bmV0YnVmc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgZHNzLT5yZW11cy0+bmV0
YnVmc2NyaXB0KTsKICAgICB9IGVsc2UgewotICAgICAgICByZHMtPm5ldGJ1ZnNjcmlwdCA9IEdD
U1BSSU5URigiJXMvcmVtdXMtbmV0YnVmLXNldHVwIiwKKyAgICAgICAgY2RzLT5uZXRidWZzY3Jp
cHQgPSBHQ1NQUklOVEYoIiVzL3JlbXVzLW5ldGJ1Zi1zZXR1cCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194ZW5fc2NyaXB0X2Rpcl9wYXRoKCkpOwogICAg
IH0KIApAQCAtODIsMjIgKzgyLDIyIEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKLXZvaWQg
Y2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQordm9p
ZCBjbGVhbnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cykKIHsKLSAgICBTVEFURV9BT19HQyhyZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFv
KTsKIAogICAgIC8qIGZyZWUgcWRpc2MgY2FjaGUgKi8KLSAgICBpZiAocmRzLT5xZGlzY19jYWNo
ZSkgewotICAgICAgICBubF9jYWNoZV9jbGVhcihyZHMtPnFkaXNjX2NhY2hlKTsKLSAgICAgICAg
bmxfY2FjaGVfZnJlZShyZHMtPnFkaXNjX2NhY2hlKTsKLSAgICAgICAgcmRzLT5xZGlzY19jYWNo
ZSA9IE5VTEw7CisgICAgaWYgKGNkcy0+cWRpc2NfY2FjaGUpIHsKKyAgICAgICAgbmxfY2FjaGVf
Y2xlYXIoY2RzLT5xZGlzY19jYWNoZSk7CisgICAgICAgIG5sX2NhY2hlX2ZyZWUoY2RzLT5xZGlz
Y19jYWNoZSk7CisgICAgICAgIGNkcy0+cWRpc2NfY2FjaGUgPSBOVUxMOwogICAgIH0KIAogICAg
IC8qIGNsb3NlICYgZnJlZSBubHNvY2sgKi8KLSAgICBpZiAocmRzLT5ubHNvY2spIHsKLSAgICAg
ICAgbmxfY2xvc2UocmRzLT5ubHNvY2spOwotICAgICAgICBubF9zb2NrZXRfZnJlZShyZHMtPm5s
c29jayk7Ci0gICAgICAgIHJkcy0+bmxzb2NrID0gTlVMTDsKKyAgICBpZiAoY2RzLT5ubHNvY2sp
IHsKKyAgICAgICAgbmxfY2xvc2UoY2RzLT5ubHNvY2spOworICAgICAgICBubF9zb2NrZXRfZnJl
ZShjZHMtPm5sc29jayk7CisgICAgICAgIGNkcy0+bmxzb2NrID0gTlVMTDsKICAgICB9CiB9CiAK
QEAgLTExMSwxNyArMTExLDE3IEBAIHZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVt
dXNfZGV2aWNlc19zdGF0ZSAqcmRzKQogICogaXQgbXVzdCBPTkxZIGJlIHVzZWQgZm9yIHJlbXVz
IGJlY2F1c2UgaWYgZHJpdmVyIGRvbWFpbnMKICAqIHdlcmUgaW4gdXNlIGl0IHdvdWxkIGNvbnN0
aXR1dGUgYSBzZWN1cml0eSB2dWxuZXJhYmlsaXR5LgogICovCi1zdGF0aWMgY29uc3QgY2hhciAq
Z2V0X3ZpZm5hbWUobGlieGxfX3JlbXVzX2RldmljZSAqZGV2LAorc3RhdGljIGNvbnN0IGNoYXIg
KmdldF92aWZuYW1lKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RldmljZV9uaWMgKm5pYykKIHsKICAgICBj
b25zdCBjaGFyICp2aWZuYW1lID0gTlVMTDsKICAgICBjb25zdCBjaGFyICpwYXRoOwogICAgIGlu
dCByYzsKIAotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0Mo
ZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBjb25z
dCB1aW50MzJfdCBkb21pZCA9IGRldi0+cmRzLT5kb21pZDsKKyAgICBjb25zdCB1aW50MzJfdCBk
b21pZCA9IGRldi0+Y2RzLT5kb21pZDsKIAogICAgIHBhdGggPSBHQ1NQUklOVEYoIiVzL2JhY2tl
bmQvdmlmLyVkLyVkL3ZpZm5hbWUiLAogICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hzX2dl
dF9kb21wYXRoKGdjLCAwKSwgZG9taWQsIG5pYy0+ZGV2aWQpOwpAQCAtMTQ0LDE5ICsxNDQsMTkg
QEAgc3RhdGljIHZvaWQgZnJlZV9xZGlzYyhsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNf
bmljKQogICAgIHJlbXVzX25pYy0+cWRpc2MgPSBOVUxMOwogfQogCi1zdGF0aWMgaW50IGluaXRf
cWRpc2MobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKK3N0YXRpYyBpbnQgaW5pdF9x
ZGlzYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZV9uaWMgKnJlbXVzX25pYykKIHsKICAgICBpbnQg
cmMsIHJldCwgaWZpbmRleDsKICAgICBzdHJ1Y3QgcnRubF9saW5rICppZmIgPSBOVUxMOwogICAg
IHN0cnVjdCBydG5sX3FkaXNjICpxZGlzYyA9IE5VTEw7CiAKLSAgICBTVEFURV9BT19HQyhyZHMt
PmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKIAogICAgIC8qIE5vdyB0aGF0IHdlIGhh
dmUgYnJvdWdodCB1cCBSRU1VU19JRkIgZGV2aWNlIHdpdGggcGx1ZyBxZGlzYyBmb3IKICAgICAg
KiB0aGlzIHZpZiwgc28gd2UgbmVlZCB0byByZWZpbGwgdGhlIHFkaXNjIGNhY2hlLgogICAgICAq
LwotICAgIHJldCA9IG5sX2NhY2hlX3JlZmlsbChyZHMtPm5sc29jaywgcmRzLT5xZGlzY19jYWNo
ZSk7CisgICAgcmV0ID0gbmxfY2FjaGVfcmVmaWxsKGNkcy0+bmxzb2NrLCBjZHMtPnFkaXNjX2Nh
Y2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5vdCByZWZpbGwg
cWRpc2MgY2FjaGU6ICVzIiwgbmxfZ2V0ZXJyb3IocmV0KSk7CiAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2MobGlieGxfX3Jl
bXVzX2RldmljZXNfc3RhdGUgKnJkcywKICAgICB9CiAKICAgICAvKiBnZXQgYSBoYW5kbGUgdG8g
dGhlIFJFTVVTX0lGQiBpbnRlcmZhY2UgKi8KLSAgICByZXQgPSBydG5sX2xpbmtfZ2V0X2tlcm5l
bChyZHMtPm5sc29jaywgMCwgcmVtdXNfbmljLT5pZmIsICZpZmIpOworICAgIHJldCA9IHJ0bmxf
bGlua19nZXRfa2VybmVsKGNkcy0+bmxzb2NrLCAwLCByZW11c19uaWMtPmlmYiwgJmlmYik7CiAg
ICAgaWYgKHJldCkgewogICAgICAgICBMT0coRVJST1IsICJjYW5ub3Qgb2J0YWluIGhhbmRsZSBm
b3IgJXM6ICVzIiwgcmVtdXNfbmljLT5pZmIsCiAgICAgICAgICAgICBubF9nZXRlcnJvcihyZXQp
KTsKQEAgLTE4Nyw3ICsxODcsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2MobGlieGxfX3JlbXVz
X2RldmljZXNfc3RhdGUgKnJkcywKICAgICAgKiBUaGVyZSBpcyBubyBuZWVkIHRvIGV4cGxpY2l0
bHkgZnJlZSB0aGlzIHFkaXNjIGFzIGl0cyBqdXN0IGEKICAgICAgKiByZWZlcmVuY2UgZnJvbSB0
aGUgcWRpc2MgY2FjaGUgd2UgYWxsb2NhdGVkIGVhcmxpZXIuCiAgICAgICovCi0gICAgcWRpc2Mg
PSBydG5sX3FkaXNjX2dldF9ieV9wYXJlbnQocmRzLT5xZGlzY19jYWNoZSwgaWZpbmRleCwgVENf
SF9ST09UKTsKKyAgICBxZGlzYyA9IHJ0bmxfcWRpc2NfZ2V0X2J5X3BhcmVudChjZHMtPnFkaXNj
X2NhY2hlLCBpZmluZGV4LCBUQ19IX1JPT1QpOwogICAgIGlmIChxZGlzYykgewogICAgICAgICBj
b25zdCBjaGFyICp0Y19raW5kID0gcnRubF90Y19nZXRfa2luZChUQ19DQVNUKHFkaXNjKSk7CiAg
ICAgICAgIC8qIFNhbml0eSBjaGVjazogRW5zdXJlIHRoYXQgdGhlIHJvb3QgcWRpc2MgaXMgYSBw
bHVnIHFkaXNjLiAqLwpAQCAtMjMxLDE5ICsyMzEsMTkgQEAgc3RhdGljIHZvaWQgbmV0YnVmX3Rl
YXJkb3duX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgKiAkUkVNVVNfSUZCIChmb3IgdGVh
cmRvd24pCiAgKiBzZXR1cC90ZWFyZG93biBhcyBjb21tYW5kIGxpbmUgYXJnLgogICovCi1zdGF0
aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19yZW11c19kZXZpY2UgKmRldiwgY2hhciAq
b3ApCitzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZSAqZGV2LCBjaGFyICpvcCkKIHsKICAgICBpbnQgYXJyYXlzaXplLCBuciA9IDA7CiAgICAgY2hh
ciAqKmVudiA9IE5VTEwsICoqYXJncyA9IE5VTEw7CiAgICAgbGlieGxfX3JlbXVzX2RldmljZV9u
aWMgKnJlbXVzX25pYyA9IGRldi0+Y29uY3JldGVfZGF0YTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzID0gZGV2LT5yZHM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c19zdGF0ZSAqY2RzID0gZGV2LT5jZHM7CiAgICAgbGlieGxfX2FzeW5jX2V4ZWNfc3RhdGUgKmFl
cyA9ICZkZXYtPmFvZGV2LmFlczsKIAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOworICAgIFNU
QVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAg
IGNoYXIgKmNvbnN0IHNjcmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIHJkcy0+bmV0YnVmc2NyaXB0
KTsKLSAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IHJkcy0+ZG9taWQ7CisgICAgY2hhciAqY29u
c3Qgc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgY2RzLT5uZXRidWZzY3JpcHQpOworICAgIGNv
bnN0IHVpbnQzMl90IGRvbWlkID0gY2RzLT5kb21pZDsKICAgICBjb25zdCBpbnQgZGV2X2lkID0g
cmVtdXNfbmljLT5kZXZpZDsKICAgICBjb25zdCBjaGFyICpjb25zdCB2aWYgPSByZW11c19uaWMt
PnZpZjsKICAgICBjb25zdCBjaGFyICpjb25zdCBpZmIgPSByZW11c19uaWMtPmlmYjsKQEAgLTI2
OSw3ICsyNjksNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19yZW11c19k
ZXZpY2UgKmRldiwgY2hhciAqb3ApCiAgICAgYXJnc1tucisrXSA9IE5VTEw7CiAgICAgYXNzZXJ0
KG5yID09IGFycmF5c2l6ZSk7CiAKLSAgICBhZXMtPmFvID0gZGV2LT5yZHMtPmFvOworICAgIGFl
cy0+YW8gPSBkZXYtPmNkcy0+YW87CiAgICAgYWVzLT53aGF0ID0gR0NTUFJJTlRGKCIlcyAlcyIs
IGFyZ3NbMF0sIGFyZ3NbMV0pOwogICAgIGFlcy0+ZW52ID0gZW52OwogICAgIGFlcy0+YXJncyA9
IGFyZ3M7CkBAIC0yODYsMTMgKzI4NiwxMyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9hc3luY19leGVj
KGxpYnhsX19yZW11c19kZXZpY2UgKmRldiwgY2hhciAqb3ApCiAKIC8qIHNldHVwKCkgYW5kIHRl
YXJkb3duKCkgKi8KIAotc3RhdGljIHZvaWQgbmljX3NldHVwKGxpYnhsX19lZ2MgKmVnYywgbGli
eGxfX3JlbXVzX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgbmljX3NldHVwKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiB7CiAgICAgaW50IHJjOwogICAg
IGxpYnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWM7CiAgICAgY29uc3QgbGlieGxfZGV2
aWNlX25pYyAqbmljID0gZGV2LT5iYWNrZW5kX2RldjsKIAotICAgIFNUQVRFX0FPX0dDKGRldi0+
cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qCiAgICAg
ICogdGhlcnMncyBubyBzdWJraW5kIG9mIG5pYyBkZXZpY2VzLCBzbyBuaWMgb3BzIGlzIGFsd2F5
cyBtYXRjaGVkCkBAIC0zMzAsMTUgKzMzMCwxNSBAQCBzdGF0aWMgdm9pZCBuZXRidWZfc2V0dXBf
c2NyaXB0X2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjLCBpbnQgc3RhdHVzKQogewogICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2
ID0gQ09OVEFJTkVSX09GKGFlcywgKmFvZGV2LCBhZXMpOwotICAgIGxpYnhsX19yZW11c19kZXZp
Y2UgKmRldiA9IENPTlRBSU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOworICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZSAqZGV2ID0gQ09OVEFJTkVSX09GKGFvZGV2LCAqZGV2LCBhb2Rldik7
CiAgICAgbGlieGxfX3JlbXVzX2RldmljZV9uaWMgKnJlbXVzX25pYyA9IGRldi0+Y29uY3JldGVf
ZGF0YTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzID0gZGV2LT5yZHM7Cisg
ICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzID0gZGV2LT5jZHM7CiAgICAg
Y29uc3QgY2hhciAqb3V0X3BhdGhfYmFzZSwgKmhvdHBsdWdfZXJyb3IgPSBOVUxMOwogCi0gICAg
U1RBVEVfQU9fR0MocmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICAv
KiBDb252ZW5pZW5jZSBhbGlhc2VzICovCi0gICAgY29uc3QgdWludDMyX3QgZG9taWQgPSByZHMt
PmRvbWlkOworICAgIGNvbnN0IHVpbnQzMl90IGRvbWlkID0gY2RzLT5kb21pZDsKICAgICBjb25z
dCBpbnQgZGV2aWQgPSByZW11c19uaWMtPmRldmlkOwogICAgIGNvbnN0IGNoYXIgKmNvbnN0IHZp
ZiA9IHJlbXVzX25pYy0+dmlmOwogICAgIGNvbnN0IGNoYXIgKipjb25zdCBpZmIgPSAmcmVtdXNf
bmljLT5pZmI7CkBAIC0zNzcsNyArMzc3LDcgQEAgc3RhdGljIHZvaWQgbmV0YnVmX3NldHVwX3Nj
cmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAKICAgICBpZiAoaG90cGx1Z19lcnJvcikgewogICAg
ICAgICBMT0coRVJST1IsICJuZXRidWYgc2NyaXB0ICVzIHNldHVwIGZhaWxlZCBmb3IgdmlmICVz
OiAlcyIsCi0gICAgICAgICAgICByZHMtPm5ldGJ1ZnNjcmlwdCwgdmlmLCBob3RwbHVnX2Vycm9y
KTsKKyAgICAgICAgICAgIGNkcy0+bmV0YnVmc2NyaXB0LCB2aWYsIGhvdHBsdWdfZXJyb3IpOwog
ICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KQEAgLTM4
OCwxNyArMzg4LDE3IEBAIHN0YXRpYyB2b2lkIG5ldGJ1Zl9zZXR1cF9zY3JpcHRfY2IobGlieGxf
X2VnYyAqZWdjLAogICAgIH0KIAogICAgIExPRyhERUJVRywgIiVzIHdpbGwgYnVmZmVyIHBhY2tl
dHMgZnJvbSB2aWYgJXMiLCAqaWZiLCB2aWYpOwotICAgIHJjID0gaW5pdF9xZGlzYyhyZHMsIHJl
bXVzX25pYyk7CisgICAgcmMgPSBpbml0X3FkaXNjKGNkcywgcmVtdXNfbmljKTsKIAogb3V0Ogog
ICAgIGFvZGV2LT5yYyA9IHJjOwogICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0K
IAotc3RhdGljIHZvaWQgbmljX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVz
X2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgbmljX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywg
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiB7CiAgICAgaW50IHJjOwotICAgIFNUQVRF
X0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAog
ICAgIHNldHVwX2FzeW5jX2V4ZWMoZGV2LCAidGVhcmRvd24iKTsKIApAQCAtNDE4LDcgKzQxOCw3
IEBAIHN0YXRpYyB2b2lkIG5ldGJ1Zl90ZWFyZG93bl9zY3JpcHRfY2IobGlieGxfX2VnYyAqZWdj
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMsIGludCBzdGF0
dXMpCiB7CiAgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXYgPSBDT05UQUlORVJfT0YoYWVzLCAq
YW9kZXYsIGFlcyk7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2ID0gQ09OVEFJTkVSX09G
KGFvZGV2LCAqZGV2LCBhb2Rldik7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYg
PSBDT05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKICAgICBsaWJ4bF9fcmVtdXNfZGV2
aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCiAgICAgaWYgKHN0YXR1
cyAmJiAhcmMpCkBAIC00NDEsMTIgKzQ0MSwxMiBAQCBlbnVtIHsKIC8qIEFQSSBpbXBsZW1lbnRh
dGlvbnMgKi8KIAogc3RhdGljIGludCByZW11c19uZXRidWZfb3AobGlieGxfX3JlbXVzX2Rldmlj
ZV9uaWMgKnJlbXVzX25pYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgYnVmZmVyX29wKQogewogICAgIGludCByYywgcmV0OwogCi0gICAgU1RBVEVfQU9fR0Mo
cmRzLT5hbyk7CisgICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICBpZiAoYnVmZmVyX29w
ID09IHRjX2J1ZmZlcl9zdGFydCkKICAgICAgICAgcmV0ID0gcnRubF9xZGlzY19wbHVnX2J1ZmZl
cihyZW11c19uaWMtPnFkaXNjKTsKQEAgLTQ1OCw3ICs0NTgsNyBAQCBzdGF0aWMgaW50IHJlbXVz
X25ldGJ1Zl9vcChsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljLAogICAgICAgICBn
b3RvIG91dDsKICAgICB9CiAKLSAgICByZXQgPSBydG5sX3FkaXNjX2FkZChyZHMtPm5sc29jaywg
cmVtdXNfbmljLT5xZGlzYywgTkxNX0ZfUkVRVUVTVCk7CisgICAgcmV0ID0gcnRubF9xZGlzY19h
ZGQoY2RzLT5ubHNvY2ssIHJlbXVzX25pYy0+cWRpc2MsIE5MTV9GX1JFUVVFU1QpOwogICAgIGlm
IChyZXQpIHsKICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOwogICAgICAgICBnb3RvIG91dDsKQEAg
LTQ3NSwzMyArNDc1LDMzIEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lk
IG5pY19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRl
dikKK3N0YXRpYyB2b2lkIG5pY19wb3N0c3VzcGVuZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19j
aGVja3BvaW50X2RldmljZSAqZGV2KQogewogICAgIGludCByYzsKICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCi0gICAgU1RBVEVf
QU9fR0MoZGV2LT5yZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCi0g
ICAgcmMgPSByZW11c19uZXRidWZfb3AocmVtdXNfbmljLCBkZXYtPnJkcywgdGNfYnVmZmVyX3N0
YXJ0KTsKKyAgICByYyA9IHJlbXVzX25ldGJ1Zl9vcChyZW11c19uaWMsIGRldi0+Y2RzLCB0Y19i
dWZmZXJfc3RhcnQpOwogCiAgICAgZGV2LT5hb2Rldi5yYyA9IHJjOwogICAgIGRldi0+YW9kZXYu
Y2FsbGJhY2soZWdjLCAmZGV2LT5hb2Rldik7CiB9CiAKLXN0YXRpYyB2b2lkIG5pY19jb21taXQo
bGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpCitzdGF0aWMgdm9pZCBu
aWNfY29tbWl0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYp
CiB7CiAgICAgaW50IHJjOwogICAgIGxpYnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMg
PSBkZXYtPmNvbmNyZXRlX2RhdGE7CiAKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOwor
ICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7CiAKLSAgICByYyA9IHJlbXVzX25ldGJ1Zl9v
cChyZW11c19uaWMsIGRldi0+cmRzLCB0Y19idWZmZXJfcmVsZWFzZSk7CisgICAgcmMgPSByZW11
c19uZXRidWZfb3AocmVtdXNfbmljLCBkZXYtPmNkcywgdGNfYnVmZmVyX3JlbGVhc2UpOwogCiAg
ICAgZGV2LT5hb2Rldi5yYyA9IHJjOwogICAgIGRldi0+YW9kZXYuY2FsbGJhY2soZWdjLCAmZGV2
LT5hb2Rldik7CiB9CiAKLWNvbnN0IGxpYnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIHJl
bXVzX2RldmljZV9uaWMgPSB7Citjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFu
Y2Vfb3BzIHJlbXVzX2RldmljZV9uaWMgPSB7CiAgICAgLmtpbmQgPSBMSUJYTF9fREVWSUNFX0tJ
TkRfVklGLAogICAgIC5zZXR1cCA9IG5pY19zZXR1cCwKICAgICAudGVhcmRvd24gPSBuaWNfdGVh
cmRvd24sCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jIGIvdG9v
bHMvbGlieGwvbGlieGxfbm9uZXRidWZmZXIuYwppbmRleCAzYzY1OWMyLi40YjY4MTUyIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9ub25ldGJ1ZmZlci5jCisrKyBiL3Rvb2xzL2xpYnhs
L2xpYnhsX25vbmV0YnVmZmVyLmMKQEAgLTIyLDI1ICsyMiwyNSBAQCBpbnQgbGlieGxfX25ldGJ1
ZmZlcl9lbmFibGVkKGxpYnhsX19nYyAqZ2MpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBpbml0
X3N1YmtpbmRfbmljKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMpCitpbnQgaW5pdF9z
dWJraW5kX25pYyhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpCiB7CiAgICAg
cmV0dXJuIDA7CiB9CiAKLXZvaWQgY2xlYW51cF9zdWJraW5kX25pYyhsaWJ4bF9fcmVtdXNfZGV2
aWNlc19zdGF0ZSAqcmRzKQordm9pZCBjbGVhbnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKICAgICByZXR1cm47CiB9CiAKLXN0YXRpYyB2b2lk
IG5pY19zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0
YXRpYyB2b2lkIG5pY19zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZSAqZGV2KQogewotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7CisgICAgU1RBVEVf
QU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIGRldi0+YW9kZXYucmMgPSBFUlJPUl9GQUlMOwog
ICAgIGRldi0+YW9kZXYuY2FsbGJhY2soZWdjLCAmZGV2LT5hb2Rldik7CiB9CiAKLWNvbnN0IGxp
YnhsX19yZW11c19kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9uaWMgPSB7Citjb25z
dCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9uaWMg
PSB7CiAgICAgLmtpbmQgPSBMSUJYTF9fREVWSUNFX0tJTkRfVklGLAogICAgIC5zZXR1cCA9IG5p
Y19zZXR1cCwKIH07CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jIGIvdG9v
bHMvbGlieGwvbGlieGxfcmVtdXMuYwppbmRleCAzNDBkMDc2Li5kNDFhNDM5IDEwMDY0NAotLS0g
YS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVz
LmMKQEAgLTIxLDkgKzIxLDkgQEAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gUmVtdXMgc2V0dXAg
YW5kIHRlYXJkb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIHN0YXRpYyB2b2lkIHJlbXVz
X3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLCBpbnQgcmMpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsIGlu
dCByYyk7CiBzdGF0aWMgdm9pZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl
ICpyZHMsIGludCByYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzLCBpbnQgcmMpOwogc3RhdGljIHZvaWQgcmVtdXNf
Y2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigKICAgICBsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19z
dHJlYW1fd3JpdGVfc3RhdGUgKnN3cywgaW50IHJjKTsKIHN0YXRpYyB2b2lkIGxpYnhsX19yZW11
c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKQEAgLTM0LDcgKzM0LDcgQEAg
dm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MpCiB7CiAgICAgLyogQ29udmVu
aWVuY2UgYWxpYXNlcyAqLwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCBy
ZHMgPSAmZHNzLT5yZHM7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY29u
c3QgY2RzID0gJmRzcy0+Y2RzOwogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICpj
b25zdCBpbmZvID0gZHNzLT5yZW11czsKICAgICBsaWJ4bF9fc3JtX3NhdmVfYXV0b2dlbl9jYWxs
YmFja3MgKmNvbnN0IGNhbGxiYWNrcyA9CiAgICAgICAgICZkc3MtPnN3cy5zaHMuY2FsbGJhY2tz
LnNhdmUuYTsKQEAgLTQ2LDE1ICs0NiwxNSBAQCB2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4
bF9fZWdjICplZ2MsCiAgICAgICAgICAgICBMT0coRVJST1IsICJSZW11czogTm8gc3VwcG9ydCBm
b3IgbmV0d29yayBidWZmZXJpbmciKTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9
Ci0gICAgICAgIHJkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgfD0gKDEgPDwgTElCWExfX0RFVklDRV9L
SU5EX1ZJRik7CisgICAgICAgIGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgfD0gKDEgPDwgTElCWExf
X0RFVklDRV9LSU5EX1ZJRik7CiAgICAgfQogCiAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKGlu
Zm8tPmRpc2tidWYpKQotICAgICAgICByZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9ICgxIDw8IExJ
QlhMX19ERVZJQ0VfS0lORF9WQkQpOworICAgICAgICBjZHMtPmRldmljZV9raW5kX2ZsYWdzIHw9
ICgxIDw8IExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOwogCi0gICAgcmRzLT5hbyA9IGFvOwotICAg
IHJkcy0+ZG9taWQgPSBkc3MtPmRvbWlkOwotICAgIHJkcy0+Y2FsbGJhY2sgPSByZW11c19zZXR1
cF9kb25lOworICAgIGNkcy0+YW8gPSBhbzsKKyAgICBjZHMtPmRvbWlkID0gZHNzLT5kb21pZDsK
KyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKIAogICAgIGRzcy0+c3dzLmNo
ZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuOwogCkBA
IC02Miw3ICs2Miw3IEBAIHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywK
ICAgICBjYWxsYmFja3MtPnBvc3Rjb3B5ID0gbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN1bWVfY2Fs
bGJhY2s7CiAgICAgY2FsbGJhY2tzLT5jaGVja3BvaW50ID0gbGlieGxfX3JlbXVzX2RvbWFpbl9z
YXZlX2NoZWNrcG9pbnRfY2FsbGJhY2s7CiAKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zZXR1
cChlZ2MsIHJkcyk7CisgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChlZ2MsIGNk
cyk7CiAgICAgcmV0dXJuOwogCiBvdXQ6CkBAIC03MCw5ICs3MCw5IEBAIG91dDoKIH0KIAogc3Rh
dGljIHZvaWQgcmVtdXNfc2V0dXBfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSAqY2RzLCBpbnQgcmMpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3Mg
PSBDT05UQUlORVJfT0YocmRzLCAqZHNzLCByZHMpOworICAgIGxpYnhsX19kb21haW5fc2F2ZV9z
dGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKGNkcywgKmRzcywgY2RzKTsKICAgICBTVEFURV9BT19H
Qyhkc3MtPmFvKTsKIAogICAgIGlmICghcmMpIHsKQEAgLTgyLDE0ICs4MiwxNCBAQCBzdGF0aWMg
dm9pZCByZW11c19zZXR1cF9kb25lKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIExPRyhFUlJPUiwg
IlJlbXVzOiBmYWlsZWQgdG8gc2V0dXAgZGV2aWNlIGZvciBndWVzdCB3aXRoIGRvbWlkICV1LCBy
YyAlZCIsCiAgICAgICAgIGRzcy0+ZG9taWQsIHJjKTsKLSAgICByZHMtPmNhbGxiYWNrID0gcmVt
dXNfc2V0dXBfZmFpbGVkOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3RlYXJkb3duKGVnYywg
cmRzKTsKKyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZmFpbGVkOworICAgIGxpYnhs
X19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24oZWdjLCBjZHMpOwogfQogCiBzdGF0aWMgdm9p
ZCByZW11c19zZXR1cF9mYWlsZWQobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsIGludCByYykKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0
YXRlICpjZHMsIGludCByYykKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9
IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0
YXRlICpkc3MgPSBDT05UQUlORVJfT0YoY2RzLCAqZHNzLCBjZHMpOwogICAgIFNUQVRFX0FPX0dD
KGRzcy0+YW8pOwogCiAgICAgaWYgKHJjKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyB2b2lk
IHJlbXVzX3NldHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCiB9CiAKIHN0YXRpYyB2b2lkIHJl
bXVzX3RlYXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7CiB2b2lkIGxpYnhsX19y
ZW11c190ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywKQEAgLTExMCwxNSArMTEwLDE1IEBAIHZv
aWQgbGlieGxfX3JlbXVzX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywKIAogICAgIExPRyhXQVJO
LCAiUmVtdXM6IERvbWFpbiBzdXNwZW5kIHRlcm1pbmF0ZWQgd2l0aCByYyAlZCwiCiAgICAgICAg
ICIgdGVhcmRvd24gUmVtdXMgZGV2aWNlcy4uLiIsIHJjKTsKLSAgICBkc3MtPnJkcy5jYWxsYmFj
ayA9IHJlbXVzX3RlYXJkb3duX2RvbmU7Ci0gICAgbGlieGxfX3JlbXVzX2RldmljZXNfdGVhcmRv
d24oZWdjLCAmZHNzLT5yZHMpOworICAgIGRzcy0+Y2RzLmNhbGxiYWNrID0gcmVtdXNfdGVhcmRv
d25fZG9uZTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3RlYXJkb3duKGVnYywgJmRz
cy0+Y2RzKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfdGVhcmRvd25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZp
Y2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHJjKQogewotICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09O
VEFJTkVSX09GKHJkcywgKmRzcywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUg
KmRzcyA9IENPTlRBSU5FUl9PRihjZHMsICpkc3MsIGNkcyk7CiAgICAgU1RBVEVfQU9fR0MoZHNz
LT5hbyk7CiAKICAgICBpZiAocmMpCkBAIC0xMzMsMTAgKzEzMywxMCBAQCBzdGF0aWMgdm9pZCBy
ZW11c190ZWFyZG93bl9kb25lKGxpYnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIHJlbXVzX2Rv
bWFpbl9zdXNwZW5kX2NhbGxiYWNrX2NvbW1vbl9kb25lKGxpYnhsX19lZ2MgKmVnYywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zdXNwZW5kX3N0YXRlICpk
c3BzLCBpbnQgb2spOwogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9jYihs
aWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIHN0YXRp
YyB2b2lkIHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0
YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnQgcmMpOwogCiBzdGF0aWMgdm9pZCBsaWJ4bF9fcmVtdXNfZG9tYWlu
X3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSkKQEAgLTE1OCw5ICsxNTgsOSBAQCBzdGF0aWMg
dm9pZCByZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFja19jb21tb25fZG9uZShsaWJ4bF9fZWdj
ICplZ2MsCiAgICAgaWYgKHJjKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIGxpYnhsX19yZW11
c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPSAmZHNzLT5yZHM7Ci0gICAgcmRzLT5jYWxsYmFj
ayA9IHJlbXVzX2RldmljZXNfcG9zdHN1c3BlbmRfY2I7Ci0gICAgbGlieGxfX3JlbXVzX2Rldmlj
ZXNfcG9zdHN1c3BlbmQoZWdjLCByZHMpOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
c3RhdGUgKmNvbnN0IGNkcyA9ICZkc3MtPmNkczsKKyAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNf
ZGV2aWNlc19wb3N0c3VzcGVuZF9jYjsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3Bv
c3RzdXNwZW5kKGVnYywgY2RzKTsKICAgICByZXR1cm47CiAKIG91dDoKQEAgLTE2OSwxMCArMTY5
LDEwIEBAIG91dDoKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wb3N0c3VzcGVuZF9j
YihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNk
cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewot
ICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRz
cywgcmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9P
RihjZHMsICpkc3MsIGNkcyk7CiAKICAgICBpZiAocmMpCiAgICAgICAgIGdvdG8gb3V0OwpAQCAt
MTkyLDE2ICsxOTIsMTYgQEAgc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9yZXN1bWVf
Y2FsbGJhY2sodm9pZCAqZGF0YSkKICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9
IHNocy0+Y2FsbGVyX3N0YXRlOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCi0gICAgbGli
eGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKmNvbnN0IHJkcyA9ICZkc3MtPnJkczsKLSAgICByZHMt
PmNhbGxiYWNrID0gcmVtdXNfZGV2aWNlc19wcmVyZXN1bWVfY2I7Ci0gICAgbGlieGxfX3JlbXVz
X2RldmljZXNfcHJlcmVzdW1lKGVnYywgcmRzKTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZp
Y2VzX3N0YXRlICpjb25zdCBjZHMgPSAmZHNzLT5jZHM7CisgICAgY2RzLT5jYWxsYmFjayA9IHJl
bXVzX2RldmljZXNfcHJlcmVzdW1lX2NiOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNf
cHJlcmVzdW1lKGVnYywgY2RzKTsKIH0KIAogc3RhdGljIHZvaWQgcmVtdXNfZGV2aWNlc19wcmVy
ZXN1bWVfY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
KmNkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsK
LSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpk
c3MsIHJkcyk7CisgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJf
T0YoY2RzLCAqZHNzLCBjZHMpOwogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCiAgICAgaWYg
KHJjKQpAQCAtMjIzLDcgKzIyMyw3IEBAIG91dDoKIC8qLS0tLS0gcmVtdXMgYXN5bmNocm9ub3Vz
IGNoZWNrcG9pbnQgY2FsbGJhY2sgLS0tLS0qLwogCiBzdGF0aWMgdm9pZCByZW11c19kZXZpY2Vz
X2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2Rz
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIHN0YXRpYyB2
b2lkIHJlbXVzX25leHRfY2hlY2twb2ludChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1l
ICpldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGlt
ZXZhbCAqcmVxdWVzdGVkX2FicywKQEAgLTI0NSw3ICsyNDUsNyBAQCBzdGF0aWMgdm9pZCByZW11
c19jaGVja3BvaW50X3N0cmVhbV93cml0dGVuKAogICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0
ZSAqZHNzID0gQ09OVEFJTkVSX09GKHN3cywgKmRzcywgc3dzKTsKIAogICAgIC8qIENvbnZlbmll
bmNlIGFsaWFzZXMgKi8KLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRz
ID0gJmRzcy0+cmRzOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNvbnN0
IGNkcyA9ICZkc3MtPmNkczsKIAogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCkBAIC0yNTQs
OCArMjU0LDggQEAgc3RhdGljIHZvaWQgcmVtdXNfY2hlY2twb2ludF9zdHJlYW1fd3JpdHRlbigK
ICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgcmRzLT5jYWxsYmFjayA9IHJlbXVzX2Rl
dmljZXNfY29tbWl0X2NiOwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX2NvbW1pdChlZ2MsIHJk
cyk7CisgICAgY2RzLT5jYWxsYmFjayA9IHJlbXVzX2RldmljZXNfY29tbWl0X2NiOworICAgIGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfY29tbWl0KGVnYywgY2RzKTsKIAogICAgIHJldHVybjsK
IApAQCAtMjY0LDEwICsyNjQsMTAgQEAgb3V0OgogfQogCiBzdGF0aWMgdm9pZCByZW11c19kZXZp
Y2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKQogewotICAg
IGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVSX09GKHJkcywgKmRzcywg
cmRzKTsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihj
ZHMsICpkc3MsIGNkcyk7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApkaWZmIC0tZ2l0
IGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9y
ZW11c19kZXZpY2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTZjYjdmNi4uMDAw
MDAwMAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9yZW11c19kZXZpY2UuYworKysgL2Rldi9udWxs
CkBAIC0xLDMyNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEZVSklUU1UgTElN
SVRFRAotICogQXV0aG9yOiBZYW5nIEhvbmd5YW5nIDx5YW5naHlAY24uZnVqaXRzdS5jb20+Ci0g
KgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZAotICogYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLjEgb25seS4gd2l0aCB0aGUgc3BlY2lhbAotICog
ZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3JpYmVkIGluIGZpbGUgTElDRU5TRS4KLSAqCi0gKiBU
aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLwotCi0jaW5jbHVkZSAibGlieGxfb3NkZXBzLmgi
IC8qIG11c3QgY29tZSBiZWZvcmUgYW55IG90aGVyIGhlYWRlcnMgKi8KLQotI2luY2x1ZGUgImxp
YnhsX2ludGVybmFsLmgiCi0KLWV4dGVybiBjb25zdCBsaWJ4bF9fcmVtdXNfZGV2aWNlX2luc3Rh
bmNlX29wcyByZW11c19kZXZpY2VfbmljOwotZXh0ZXJuIGNvbnN0IGxpYnhsX19yZW11c19kZXZp
Y2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2RldmljZV9kcmJkX2Rpc2s7Ci1zdGF0aWMgY29uc3QgbGli
eGxfX3JlbXVzX2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0gewotICAgICZyZW11
c19kZXZpY2VfbmljLAotICAgICZyZW11c19kZXZpY2VfZHJiZF9kaXNrLAotICAgIE5VTEwsCi19
OwotCi0vKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLwotCi1zdGF0aWMgaW50IGluaXRf
ZGV2aWNlX3N1YmtpbmQobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcykKLXsKLSAgICAv
KiBpbml0IGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGluIHRoZSBsaWJ4bCBjdHggKi8K
LSAgICBpbnQgcmM7Ci0gICAgU1RBVEVfQU9fR0MocmRzLT5hbyk7Ci0KLSAgICBpZiAobGlieGxf
X25ldGJ1ZmZlcl9lbmFibGVkKGdjKSkgewotICAgICAgICByYyA9IGluaXRfc3Via2luZF9uaWMo
cmRzKTsKLSAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKLSAgICB9Ci0KLSAgICByYyA9IGluaXRf
c3Via2luZF9kcmJkX2Rpc2socmRzKTsKLSAgICBpZiAocmMpIGdvdG8gb3V0OwotCi0gICAgcmMg
PSAwOwotb3V0OgotICAgIHJldHVybiByYzsKLX0KLQotc3RhdGljIHZvaWQgY2xlYW51cF9kZXZp
Y2Vfc3Via2luZChsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIC8qIGNs
ZWFudXAgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhlIGxpYnhsIGN0eCAqLwot
ICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOwotCi0gICAgaWYgKGxpYnhsX19uZXRidWZmZXJfZW5h
YmxlZChnYykpCi0gICAgICAgIGNsZWFudXBfc3Via2luZF9uaWMocmRzKTsKLQotICAgIGNsZWFu
dXBfc3Via2luZF9kcmJkX2Rpc2socmRzKTsKLX0KLQotLyotLS0tLSBzZXR1cCgpIGFuZCB0ZWFy
ZG93bigpIC0tLS0tKi8KLQotLyogY2FsbGJhY2tzICovCi0KLXN0YXRpYyB2b2lkIGFsbF9kZXZp
Y2VzX3NldHVwX2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgcmMpOwotc3RhdGljIHZvaWQgZGV2aWNlX3NldHVwX2l0ZXJhdGUobGli
eGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Fv
X2RldmljZSAqYW9kZXYpOwotc3RhdGljIHZvaWQgZGV2aWNlc190ZWFyZG93bl9jYihsaWJ4bF9f
ZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19tdWx0aWRl
diAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci0K
LS8qIHJlbXVzIGRldmljZSBzZXR1cCBhbmQgdGVhcmRvd24gKi8KLQotc3RhdGljIGxpYnhsX19y
ZW11c19kZXZpY2UqIHJlbXVzX2RldmljZV9pbml0KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNl
c19zdGF0ZSAqcmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19kZXZpY2Vfa2luZCBraW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZvaWQgKmxpYnhsX2RldikKLXsKLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlICpkZXYgPSBOVUxMOwotCi0gICAgU1RBVEVfQU9fR0MocmRzLT5hbyk7Ci0gICAgR0NO
RVcoZGV2KTsKLSAgICBkZXYtPmJhY2tlbmRfZGV2ID0gbGlieGxfZGV2OwotICAgIGRldi0+a2lu
ZCA9IGtpbmQ7Ci0gICAgZGV2LT5yZHMgPSByZHM7Ci0KLSAgICByZXR1cm4gZGV2OwotfQotCi1z
dGF0aWMgdm9pZCByZW11c19kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcyk7
Ci0KLXZvaWQgbGlieGxfX3JlbXVzX2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4
bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIGludCBpLCByYzsKLQotICAgIFNU
QVRFX0FPX0dDKHJkcy0+YW8pOwotCi0gICAgcmMgPSBpbml0X2RldmljZV9zdWJraW5kKHJkcyk7
Ci0gICAgaWYgKHJjKQotICAgICAgICBnb3RvIG91dDsKLQotICAgIHJkcy0+bnVtX2RldmljZXMg
PSAwOwotICAgIHJkcy0+bnVtX25pY3MgPSAwOwotICAgIHJkcy0+bnVtX2Rpc2tzID0gMDsKLQot
ICAgIGlmIChyZHMtPmRldmljZV9raW5kX2ZsYWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5E
X1ZJRikpCi0gICAgICAgIHJkcy0+bmljcyA9IGxpYnhsX2RldmljZV9uaWNfbGlzdChDVFgsIHJk
cy0+ZG9taWQsICZyZHMtPm51bV9uaWNzKTsKLQotICAgIGlmIChyZHMtPmRldmljZV9raW5kX2Zs
YWdzICYgKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCkpCi0gICAgICAgIHJkcy0+ZGlza3Mg
PSBsaWJ4bF9kZXZpY2VfZGlza19saXN0KENUWCwgcmRzLT5kb21pZCwgJnJkcy0+bnVtX2Rpc2tz
KTsKLQotICAgIGlmIChyZHMtPm51bV9uaWNzID09IDAgJiYgcmRzLT5udW1fZGlza3MgPT0gMCkK
LSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICBHQ05FV19BUlJBWShyZHMtPmRldnMsIHJkcy0+bnVt
X25pY3MgKyByZHMtPm51bV9kaXNrcyk7Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgcmRzLT5udW1f
bmljczsgaSsrKSB7Ci0gICAgICAgIHJkcy0+ZGV2c1tyZHMtPm51bV9kZXZpY2VzKytdID0gcmVt
dXNfZGV2aWNlX2luaXQoZWdjLCByZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMSUJYTF9fREVWSUNFX0tJTkRfVklGLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJkcy0+bmljc1tpXSk7Ci0gICAgfQot
Ci0gICAgZm9yIChpID0gMDsgaSA8IHJkcy0+bnVtX2Rpc2tzOyBpKyspIHsKLSAgICAgICAgcmRz
LT5kZXZzW3Jkcy0+bnVtX2RldmljZXMrK10gPSByZW11c19kZXZpY2VfaW5pdChlZ2MsIHJkcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX19E
RVZJQ0VfS0lORF9WQkQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmcmRzLT5kaXNrc1tpXSk7Ci0gICAgfQotCi0gICAgcmVtdXNfZGV2aWNlc19zZXR1
cChlZ2MsIHJkcyk7Ci0KLSAgICByZXR1cm47Ci0KLW91dDoKLSAgICByZHMtPmNhbGxiYWNrKGVn
YywgcmRzLCByYyk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfc2V0dXAobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqcmRzKQotewotICAgIGludCBpLCByYzsKLQotICAgIFNUQVRFX0FPX0dD
KHJkcy0+YW8pOwotCi0gICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmcmRzLT5tdWx0aWRl
dik7Ci0gICAgcmRzLT5tdWx0aWRldi5jYWxsYmFjayA9IGFsbF9kZXZpY2VzX3NldHVwX2NiOwot
ICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKLSAgICAgICAgbGli
eGxfX3JlbXVzX2RldmljZSAqZGV2ID0gcmRzLT5kZXZzW2ldOwotICAgICAgICBkZXYtPm9wc19p
bmRleCA9IC0xOwotICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZy
ZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7Ci0KLSAgICAgICAgZGV2LT5hb2Rldi5yYyA9IEVS
Uk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQUE9SVEVEOwotICAgICAgICBkZXYtPmFvZGV2LmNhbGxi
YWNrID0gZGV2aWNlX3NldHVwX2l0ZXJhdGU7Ci0gICAgICAgIGRldmljZV9zZXR1cF9pdGVyYXRl
KGVnYywmZGV2LT5hb2Rldik7Ci0gICAgfQotCi0gICAgcmMgPSAwOwotICAgIGxpYnhsX19tdWx0
aWRldl9wcmVwYXJlZChlZ2MsICZyZHMtPm11bHRpZGV2LCByYyk7Ci19Ci0KLQotc3RhdGljIHZv
aWQgZGV2aWNlX3NldHVwX2l0ZXJhdGUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYW9fZGV2aWNl
ICphb2RldikKLXsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0Yo
YW9kZXYsICpkZXYsIGFvZGV2KTsKLSAgICBFR0NfR0M7Ci0KLSAgICBpZiAoYW9kZXYtPnJjICE9
IEVSUk9SX1JFTVVTX0RFVklDRV9OT1RfU1VQUE9SVEVEICYmCi0gICAgICAgIGFvZGV2LT5yYyAh
PSBFUlJPUl9SRU1VU19ERVZPUFNfRE9FU19OT1RfTUFUQ0gpCi0gICAgICAgIC8qIG1pZ2h0IGJl
IHN1Y2Nlc3Mgb3IgZGlzYXN0ZXIgKi8KLSAgICAgICAgZ290byBvdXQ7Ci0KLSAgICBkbyB7Ci0g
ICAgICAgIGRldi0+b3BzID0gcmVtdXNfb3BzWysrZGV2LT5vcHNfaW5kZXhdOwotICAgICAgICBp
ZiAoIWRldi0+b3BzKSB7Ci0gICAgICAgICAgICBsaWJ4bF9kZXZpY2VfbmljICogbmljID0gTlVM
TDsKLSAgICAgICAgICAgIGxpYnhsX2RldmljZV9kaXNrICogZGlzayA9IE5VTEw7Ci0gICAgICAg
ICAgICB1aW50MzJfdCBkb21pZDsKLSAgICAgICAgICAgIGludCBkZXZpZDsKLSAgICAgICAgICAg
IGlmIChkZXYtPmtpbmQgPT0gTElCWExfX0RFVklDRV9LSU5EX1ZJRikgewotICAgICAgICAgICAg
ICAgIG5pYyA9IChsaWJ4bF9kZXZpY2VfbmljICopZGV2LT5iYWNrZW5kX2RldjsKLSAgICAgICAg
ICAgICAgICBkb21pZCA9IG5pYy0+YmFja2VuZF9kb21pZDsKLSAgICAgICAgICAgICAgICBkZXZp
ZCA9IG5pYy0+ZGV2aWQ7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGRldi0+a2luZCA9PSBMSUJY
TF9fREVWSUNFX0tJTkRfVkJEKSB7Ci0gICAgICAgICAgICAgICAgZGlzayA9IChsaWJ4bF9kZXZp
Y2VfZGlzayAqKWRldi0+YmFja2VuZF9kZXY7Ci0gICAgICAgICAgICAgICAgZG9taWQgPSBkaXNr
LT5iYWNrZW5kX2RvbWlkOwotICAgICAgICAgICAgICAgIGRldmlkID0gbGlieGxfX2RldmljZV9k
aXNrX2Rldl9udW1iZXIoZGlzay0+dmRldiwgTlVMTCwgTlVMTCk7Ci0gICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIExPRyhFUlJPUiwiZGV2aWNlIGtpbmQgbm90IGhhbmRsZWQg
YnkgcmVtdXM6ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kX3Rv
X3N0cmluZyhkZXYtPmtpbmQpKTsKLSAgICAgICAgICAgICAgICBhb2Rldi0+cmMgPSBFUlJPUl9G
QUlMOwotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgTE9HKEVSUk9SLCJkZXZpY2Ugbm90IGhhbmRsZWQgYnkgcmVtdXMiCi0gICAgICAgICAgICAg
ICAgIiAoZGV2aWNlPSVzOiUiUFJJZDMyIi8lIlBSSWQzMiIpIiwKLSAgICAgICAgICAgICAgICBs
aWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKGRldi0+a2luZCksCi0gICAgICAgICAgICAgICAg
ZG9taWQsIGRldmlkKTsKLSAgICAgICAgICAgIGFvZGV2LT5yYyA9IEVSUk9SX1JFTVVTX0RFVklD
RV9OT1RfU1VQUE9SVEVEOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLSAgICB9
IHdoaWxlIChkZXYtPm9wcy0+a2luZCAhPSBkZXYtPmtpbmQpOwotCi0gICAgLyogZm91bmQgdGhl
IG5leHQgb3BzX2luZGV4IHRvIHRyeSAqLwotICAgIGFzc2VydChkZXYtPmFvZGV2LmNhbGxiYWNr
ID09IGRldmljZV9zZXR1cF9pdGVyYXRlKTsKLSAgICBkZXYtPm9wcy0+c2V0dXAoZWdjLGRldik7
Ci0gICAgcmV0dXJuOwotCi0gb3V0OgotICAgIGxpYnhsX19tdWx0aWRldl9vbmVfY2FsbGJhY2so
ZWdjLGFvZGV2KTsKLX0KLQotc3RhdGljIHZvaWQgYWxsX2RldmljZXNfc2V0dXBfY2IobGlieGxf
X2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRp
ZGV2ICptdWx0aWRldiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykK
LXsKLSAgICBTVEFURV9BT19HQyhtdWx0aWRldi0+YW8pOwotCi0gICAgLyogQ29udmVuaWVuY2Ug
YWxpYXNlcyAqLwotICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKnJkcywg
bXVsdGlkZXYpOwotCi0gICAgcmRzLT5jYWxsYmFjayhlZ2MsIHJkcywgcmMpOwotfQotCi12b2lk
IGxpYnhsX19yZW11c19kZXZpY2VzX3RlYXJkb3duKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJk
cykKLXsKLSAgICBpbnQgaTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXY7Ci0KLSAgICBT
VEFURV9BT19HQyhyZHMtPmFvKTsKLQotICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJnJk
cy0+bXVsdGlkZXYpOwotICAgIHJkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX3RlYXJk
b3duX2NiOwotICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51bV9kZXZpY2VzOyBpKyspIHsKLSAg
ICAgICAgZGV2ID0gcmRzLT5kZXZzW2ldOwotICAgICAgICBpZiAoIWRldi0+b3BzIHx8ICFkZXYt
Pm1hdGNoZWQpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBsaWJ4bF9fbXVsdGlk
ZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZyZHMtPm11bHRpZGV2LCAmZGV2LT5hb2Rldik7Ci0gICAg
ICAgIGRldi0+b3BzLT50ZWFyZG93bihlZ2MsZGV2KTsKLSAgICB9Ci0KLSAgICBsaWJ4bF9fbXVs
dGlkZXZfcHJlcGFyZWQoZWdjLCAmcmRzLT5tdWx0aWRldiwgMCk7Ci19Ci0KLXN0YXRpYyB2b2lk
IGRldmljZXNfdGVhcmRvd25fY2IobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgaW50IGk7Ci0KLSAgICBTVEFURV9BT19H
QyhtdWx0aWRldi0+YW8pOwotCi0gICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAgIGxp
YnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpjb25zdCByZHMgPQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENPTlRBSU5FUl9PRihtdWx0aWRldiwgKnJkcywgbXVsdGlkZXYpOwotCi0gICAg
LyogY2xlYW4gbmljICovCi0gICAgZm9yIChpID0gMDsgaSA8IHJkcy0+bnVtX25pY3M7IGkrKykK
LSAgICAgICAgbGlieGxfZGV2aWNlX25pY19kaXNwb3NlKCZyZHMtPm5pY3NbaV0pOwotICAgIGZy
ZWUocmRzLT5uaWNzKTsKLSAgICByZHMtPm5pY3MgPSBOVUxMOwotICAgIHJkcy0+bnVtX25pY3Mg
PSAwOwotCi0gICAgLyogY2xlYW4gZGlzayAqLwotICAgIGZvciAoaSA9IDA7IGkgPCByZHMtPm51
bV9kaXNrczsgaSsrKQotICAgICAgICBsaWJ4bF9kZXZpY2VfZGlza19kaXNwb3NlKCZyZHMtPmRp
c2tzW2ldKTsKLSAgICBmcmVlKHJkcy0+ZGlza3MpOwotICAgIHJkcy0+ZGlza3MgPSBOVUxMOwot
ICAgIHJkcy0+bnVtX2Rpc2tzID0gMDsKLQotICAgIGNsZWFudXBfZGV2aWNlX3N1YmtpbmQocmRz
KTsKLQotICAgIHJkcy0+Y2FsbGJhY2soZWdjLCByZHMsIHJjKTsKLX0KLQotLyotLS0tLSBjaGVj
a3BvaW50aW5nIEFQSXMgLS0tLS0qLwotCi0vKiBjYWxsYmFja3MgKi8KLQotc3RhdGljIHZvaWQg
ZGV2aWNlc19jaGVja3BvaW50X2NiKGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Ci0KLS8qIEFQSSBpbXBsZW1lbnRhdGlvbnMg
Ki8KLQotI2RlZmluZSBkZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGkoYXBpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAotdm9pZCBsaWJ4bF9fcmVtdXNfZGV2aWNlc18jI2FwaShs
aWJ4bF9fZWdjICplZ2MsICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlc19zdGF0ZSAqcmRzKSAgICAgICAg
XAoteyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAotICAgIGludCBpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGxpYnhsX19yZW11c19k
ZXZpY2UgKmRldjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIFNUQVRFX0FPX0dDKHJkcy0+YW8pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJnJkcy0+bXVsdGlkZXYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAotICAgIHJkcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkZXZpY2VzX2NoZWNr
cG9pbnRfY2I7ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGZvciAoaSA9IDA7IGkgPCByZHMt
Pm51bV9kZXZpY2VzOyBpKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBkZXYgPSByZHMtPmRldnNbaV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBpZiAoIWRldi0+bWF0Y2hlZCB8fCAhZGV2LT5vcHMtPmFwaSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgY29udGludWU7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBs
aWJ4bF9fbXVsdGlkZXZfcHJlcGFyZV93aXRoX2FvZGV2KCZyZHMtPm11bHRpZGV2LCAmZGV2LT5h
b2Rldik7XAotICAgICAgICBkZXYtPm9wcy0+YXBpKGVnYyxkZXYpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAotICAgIGxpYnhsX19tdWx0aWRldl9wcmVwYXJlZChlZ2MsICZyZHMtPm11bHRpZGV2LCAw
KTsgICAgICAgICAgICAgICAgICAgXAotfQotCi1kZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGko
cG9zdHN1c3BlbmQpOwotCi1kZWZpbmVfcmVtdXNfY2hlY2twb2ludF9hcGkocHJlcmVzdW1lKTsK
LQotZGVmaW5lX3JlbXVzX2NoZWNrcG9pbnRfYXBpKGNvbW1pdCk7Ci0KLXN0YXRpYyB2b2lkIGRl
dmljZXNfY2hlY2twb2ludF9jYihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCi17Ci0gICAgU1RBVEVfQU9fR0MobXVsdGlkZXYt
PmFvKTsKLQotICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KLSAgICBsaWJ4bF9fcmVtdXNf
ZGV2aWNlc19zdGF0ZSAqY29uc3QgcmRzID0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBD
T05UQUlORVJfT0YobXVsdGlkZXYsICpyZHMsIG11bHRpZGV2KTsKLQotICAgIHJkcy0+Y2FsbGJh
Y2soZWdjLCByZHMsIHJjKTsKLX0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVz
X2Rpc2tfZHJiZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19kcmJkLmMKaW5kZXgg
MWMzYTg4YS4uNGRkZGM1OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlz
a19kcmJkLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlza19kcmJkLmMKQEAgLTI2
LDMwICsyNiwzMCBAQCB0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fcmVtdXNfZHJiZF9kaXNrIHsKICAg
ICBpbnQgYWNrd2FpdDsKIH0gbGlieGxfX3JlbXVzX2RyYmRfZGlzazsKIAotaW50IGluaXRfc3Vi
a2luZF9kcmJkX2Rpc2sobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcykKK2ludCBpbml0
X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykK
IHsKLSAgICBTVEFURV9BT19HQyhyZHMtPmFvKTsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsK
IAotICAgIHJkcy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYoIiVzL2Jsb2NrLWRyYmQt
cHJvYmUiLAorICAgIGNkcy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYoIiVzL2Jsb2Nr
LWRyYmQtcHJvYmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli
eGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CiAKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBj
bGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMp
Cit2b2lkIGNsZWFudXBfc3Via2luZF9kcmJkX2Rpc2sobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c19zdGF0ZSAqY2RzKQogewogICAgIHJldHVybjsKIH0KIAogLyotLS0tLSBoZWxwZXIgZnVuY3Rp
b25zLCBmb3IgYXN5bmMgY2FsbHMgLS0tLS0qLwogc3RhdGljIHZvaWQgZHJiZF9hc3luY19jYWxs
KGxpYnhsX19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fcmVt
dXNfZGV2aWNlICpkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCBmdW5jKGxp
YnhsX19yZW11c19kZXZpY2UgKiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf
X2NoZWNrcG9pbnRfZGV2aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p
ZCBmdW5jKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqKSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fZXZfY2hpbGRfY2FsbGJhY2sgY2FsbGJhY2spCiB7CiAgICAgaW50IHBp
ZCwgcmM7CiAgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXYgPSAmZGV2LT5hb2RldjsKLSAgICBT
VEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7
CiAKICAgICAvKiBGb3JrIGFuZCBjYWxsICovCiAgICAgcGlkID0gbGlieGxfX2V2X2NoaWxkX2Zv
cmsoZ2MsICZhb2Rldi0+Y2hpbGQsIGNhbGxiYWNrKTsKQEAgLTgyLDIxICs4MiwyMSBAQCBzdGF0
aWMgdm9pZCBtYXRjaF9hc3luY19leGVjX2NiKGxpYnhsX19lZ2MgKmVnYywKIAogLyogaW1wbGVt
ZW50YXRpb25zICovCiAKLXN0YXRpYyB2b2lkIG1hdGNoX2FzeW5jX2V4ZWMobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpOworc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNf
ZXhlYyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2KTsKIAot
c3RhdGljIHZvaWQgZHJiZF9zZXR1cChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZp
Y2UgKmRldikKK3N0YXRpYyB2b2lkIGRyYmRfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8p
OworICAgIFNUQVRFX0FPX0dDKGRldi0+Y2RzLT5hbyk7CiAKICAgICBtYXRjaF9hc3luY19leGVj
KGVnYywgZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNfZXhlYyhsaWJ4bF9fZWdj
ICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0YXRpYyB2b2lkIG1hdGNoX2FzeW5j
X2V4ZWMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsK
ICAgICBpbnQgYXJyYXlzaXplLCBuciA9IDAsIHJjOwogICAgIGNvbnN0IGxpYnhsX2RldmljZV9k
aXNrICpkaXNrID0gZGV2LT5iYWNrZW5kX2RldjsKICAgICBsaWJ4bF9fYXN5bmNfZXhlY19zdGF0
ZSAqYWVzID0gJmRldi0+YW9kZXYuYWVzOwotICAgIFNUQVRFX0FPX0dDKGRldi0+cmRzLT5hbyk7
CisgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIHNldHVwIGVudiAmIGFy
Z3MgKi8KICAgICBhcnJheXNpemUgPSAxOwpAQCAtMTA3LDEyICsxMDcsMTIgQEAgc3RhdGljIHZv
aWQgbWF0Y2hfYXN5bmNfZXhlYyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2Ug
KmRldikKICAgICBhcnJheXNpemUgPSAzOwogICAgIG5yID0gMDsKICAgICBHQ05FV19BUlJBWShh
ZXMtPmFyZ3MsIGFycmF5c2l6ZSk7Ci0gICAgYWVzLT5hcmdzW25yKytdID0gZGV2LT5yZHMtPmRy
YmRfcHJvYmVfc2NyaXB0OworICAgIGFlcy0+YXJnc1tucisrXSA9IGRldi0+Y2RzLT5kcmJkX3By
b2JlX3NjcmlwdDsKICAgICBhZXMtPmFyZ3NbbnIrK10gPSBkaXNrLT5wZGV2X3BhdGg7CiAgICAg
YWVzLT5hcmdzW25yKytdID0gTlVMTDsKICAgICBhc3NlcnQobnIgPD0gYXJyYXlzaXplKTsKIAot
ICAgIGFlcy0+YW8gPSBkZXYtPnJkcy0+YW87CisgICAgYWVzLT5hbyA9IGRldi0+Y2RzLT5hbzsK
ICAgICBhZXMtPndoYXQgPSBHQ1NQUklOVEYoIiVzICVzIiwgYWVzLT5hcmdzWzBdLCBhZXMtPmFy
Z3NbMV0pOwogICAgIGFlcy0+dGltZW91dF9tcyA9IExJQlhMX0hPVFBMVUdfVElNRU9VVCAqIDEw
MDA7CiAgICAgYWVzLT5jYWxsYmFjayA9IG1hdGNoX2FzeW5jX2V4ZWNfY2I7CkBAIC0xMzYsNyAr
MTM2LDcgQEAgc3RhdGljIHZvaWQgbWF0Y2hfYXN5bmNfZXhlY19jYihsaWJ4bF9fZWdjICplZ2Ms
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYywgaW50IHN0YXR1cykKIHsK
ICAgICBsaWJ4bF9fYW9fZGV2aWNlICphb2RldiA9IENPTlRBSU5FUl9PRihhZXMsICphb2Rldiwg
YWVzKTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0YoYW9kZXYs
ICpkZXYsIGFvZGV2KTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldiA9IENPTlRB
SU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOwogICAgIGxpYnhsX19yZW11c19kcmJkX2Rpc2sg
KmRyYmRfZGlzazsKICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9IGRldi0+YmFj
a2VuZF9kZXY7CiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19l
eGVjX2NiKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgZ290byBvdXQ7CiAKICAgICBpZiAoc3Rh
dHVzKSB7Ci0gICAgICAgIHJjID0gRVJST1JfUkVNVVNfREVWT1BTX0RPRVNfTk9UX01BVENIOwor
ICAgICAgICByYyA9IEVSUk9SX0NIRUNLUE9JTlRfREVWT1BTX0RPRVNfTk9UX01BVENIOwogICAg
ICAgICAvKiBCVUc6IHNlZW1zIHRvIGFzc3VtZSB0aGF0IGFueSBleGl0IHN0YXR1cyBtZWFucyBg
bm8gbWF0Y2gnICovCiAgICAgICAgIC8qIEJVRzogZXhpdCBzdGF0dXMgd2lsbCBoYXZlIGJlZW4g
bG9nZ2VkIGFzIGFuIGVycm9yICovCiAgICAgICAgIGdvdG8gb3V0OwpAQCAtMTcxLDEwICsxNzEs
MTAgQEAgb3V0OgogICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0KIAotc3RhdGlj
IHZvaWQgZHJiZF90ZWFyZG93bihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19yZW11c19kZXZpY2Ug
KmRldikKK3N0YXRpYyB2b2lkIGRyYmRfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2UgKmRldikKIHsKICAgICBsaWJ4bF9fcmVtdXNfZHJiZF9kaXNrICpk
cmJkX2Rpc2sgPSBkZXYtPmNvbmNyZXRlX2RhdGE7Ci0gICAgU1RBVEVfQU9fR0MoZGV2LT5yZHMt
PmFvKTsKKyAgICBTVEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCiAgICAgY2xvc2UoZHJiZF9k
aXNrLT5jdGxfZmQpOwogICAgIGRldi0+YW9kZXYucmMgPSAwOwpAQCAtMTkxLDkgKzE5MSw5IEBA
IHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfYXN5bmNfY2FsbF9kb25lKGxpYnhsX19lZ2MgKmVnYywK
IC8qIEFQSSBpbXBsZW1lbnRhdGlvbnMgKi8KIAogLyogdGhpcyBvcCB3aWxsIG5vdCB3YWl0IGFu
ZCBibG9jaywgc28gaW1wbGVtZW50IGFzIHN5bmMgb3AgKi8KLXN0YXRpYyB2b2lkIGRyYmRfcG9z
dHN1c3BlbmQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYpCitzdGF0
aWMgdm9pZCBkcmJkX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlICpkZXYpCiB7Ci0gICAgU1RBVEVfQU9fR0MoZGV2LT5yZHMtPmFvKTsKKyAgICBT
VEFURV9BT19HQyhkZXYtPmNkcy0+YW8pOwogCiAgICAgbGlieGxfX3JlbXVzX2RyYmRfZGlzayAq
cmRkID0gZGV2LT5jb25jcmV0ZV9kYXRhOwogCkBAIC0yMDcsMTYgKzIwNywxNiBAQCBzdGF0aWMg
dm9pZCBkcmJkX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2Rldmlj
ZSAqZGV2KQogfQogCiAKLXN0YXRpYyB2b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19y
ZW11c19kZXZpY2UgKmRldik7CitzdGF0aWMgdm9pZCBkcmJkX3ByZXJlc3VtZV9hc3luYyhsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldik7CiAKLXN0YXRpYyB2b2lkIGRyYmRfcHJlcmVzdW1l
KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3JlbXVzX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQg
ZHJiZF9wcmVyZXN1bWUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Ug
KmRldikKIHsKLSAgICBTVEFURV9BT19HQyhkZXYtPnJkcy0+YW8pOworICAgIFNUQVRFX0FPX0dD
KGRldi0+Y2RzLT5hbyk7CiAKICAgICBkcmJkX2FzeW5jX2NhbGwoZWdjLCBkZXYsIGRyYmRfcHJl
cmVzdW1lX2FzeW5jLCBjaGVja3BvaW50X2FzeW5jX2NhbGxfZG9uZSk7CiB9CiAKLXN0YXRpYyB2
b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19yZW11c19kZXZpY2UgKmRldikKK3N0YXRp
YyB2b2lkIGRyYmRfcHJlcmVzdW1lX2FzeW5jKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2
KQogewogICAgIGxpYnhsX19yZW11c19kcmJkX2Rpc2sgKnJkZCA9IGRldi0+Y29uY3JldGVfZGF0
YTsKICAgICBpbnQgYWNrd2FpdCA9IHJkZC0+YWNrd2FpdDsKQEAgLTIzNSw3ICsyMzUsNyBAQCBz
dGF0aWMgdm9pZCBjaGVja3BvaW50X2FzeW5jX2NhbGxfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiB7
CiAgICAgaW50IHJjOwogICAgIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2ID0gQ09OVEFJTkVSX09G
KGNoaWxkLCAqYW9kZXYsIGNoaWxkKTsKLSAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlICpkZXYgPSBD
T05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2KTsKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2UgKmRldiA9IENPTlRBSU5FUl9PRihhb2RldiwgKmRldiwgYW9kZXYpOwogICAgIGxpYnhs
X19yZW11c19kcmJkX2Rpc2sgKnJkZCA9IGRldi0+Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRF
X0FPX0dDKGFvZGV2LT5hbyk7CkBAIC0yNTMsNyArMjUzLDcgQEAgb3V0OgogICAgIGFvZGV2LT5j
YWxsYmFjayhlZ2MsIGFvZGV2KTsKIH0KIAotY29uc3QgbGlieGxfX3JlbXVzX2RldmljZV9pbnN0
YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzayA9IHsKK2NvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzayA9IHsKICAgICAu
a2luZCA9IExJQlhMX19ERVZJQ0VfS0lORF9WQkQsCiAgICAgLnNldHVwID0gZHJiZF9zZXR1cCwK
ICAgICAudGVhcmRvd24gPSBkcmJkX3RlYXJkb3duLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv
bGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCmluZGV4IDYwNWZi
OWEuLjYzMmMwMDkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAorKysg
Yi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAgLTYxLDggKzYxLDggQEAgbGlieGxfZXJy
b3IgPSBFbnVtZXJhdGlvbigiZXJyb3IiLCBbCiAgICAgKC0xNSwgIkxPQ0tfRkFJTCIpLAogICAg
ICgtMTYsICJKU09OX0NPTkZJR19FTVBUWSIpLAogICAgICgtMTcsICJERVZJQ0VfRVhJU1RTIiks
Ci0gICAgKC0xOCwgIlJFTVVTX0RFVk9QU19ET0VTX05PVF9NQVRDSCIpLAotICAgICgtMTksICJS
RU1VU19ERVZJQ0VfTk9UX1NVUFBPUlRFRCIpLAorICAgICgtMTgsICJDSEVDS1BPSU5UX0RFVk9Q
U19ET0VTX05PVF9NQVRDSCIpLAorICAgICgtMTksICJDSEVDS1BPSU5UX0RFVklDRV9OT1RfU1VQ
UE9SVEVEIiksCiAgICAgKC0yMCwgIlZOVU1BX0NPTkZJR19JTlZBTElEIiksCiAgICAgKC0yMSwg
IkRPTUFJTl9OT1RGT1VORCIpLAogICAgICgtMjIsICJBQk9SVEVEIiksCi0tCmdlbmVyYXRlZCBi
eSBnaXQtcGF0Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFp
bGluZyBsaXN0Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291
cmNlLmNvbS94ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEc-0007h5-Ca; Sun, 28 Feb 2016 23:58:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEb-0007gr-ND
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:45 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 2E/F2-02980-5B983D65; Sun, 28 Feb 2016 23:58:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703923!27355446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33932 invoked from network); 28 Feb 2016 23:58:44 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEZ-0000zK-1b
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEY-00022i-Vf
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEY-00022i-Vf@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:42 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: adjust the indentation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDVhYzFkNjE0MTJiYjgxNWFiNDllMGM0OGJiYmU1MTRjMDBkMWEzM2YKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0OCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBhZGp1c3QgdGhlIGluZGVudGF0aW9uCiAgICAKICAgIFRoaXMgaXMganVz
dCB0aWR5aW5nIHVwIGFmdGVyIHRoZSAidG9vbHMvbGlieGw6IHJlbmFtZSByZW11cyBkZXZpY2UK
ICAgIHRvIGNoZWNrcG9pbnQgZGV2aWNlIiBwYXRjaCBhdXRvbWF0aWMgcmVuYW1pbmcuCiAgICAK
ICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNr
LmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNv
bT4KICAgIEFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgog
ICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xl
LmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv
b2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMgfCAyMSArKysrKysrKysrKy0tLS0t
LS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgICAgfCAxOSArKysrKysr
KysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNl
LmMgYi90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCmluZGV4IDEwOWNkMjMu
LjIyNmYxNTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNl
LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYwpAQCAtNzMsOSAr
NzMsOSBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhsX19lZ2MgKmVnYywK
IC8qIGNoZWNrcG9pbnQgZGV2aWNlIHNldHVwIGFuZCB0ZWFyZG93biAqLwogCiBzdGF0aWMgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlKiBjaGVja3BvaW50X2RldmljZV9pbml0KGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kIGtpbmQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqbGlieGxfZGV2KQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfc3RhdGUgKmNkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZGV2aWNlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2b2lkICpsaWJ4bF9kZXYpCiB7CiAgICAgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlICpkZXYgPSBOVUxMOwogCkBAIC04OSw5ICs4OSwxMCBAQCBzdGF0aWMgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlKiBjaGVja3BvaW50X2RldmljZV9pbml0KGxpYnhsX19lZ2MgKmVnYywK
IH0KIAogc3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlc19zdGF0ZSAqY2RzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogCi12b2lkIGxpYnhsX19jaGVj
a3BvaW50X2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3N0YXRlICpjZHMpCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAo
bGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKICAgICBpbnQgaSwgcmM7CiAK
QEAgLTEzNyw3ICsxMzgsNyBAQCBvdXQ6CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfZGV2
aWNlc19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpj
ZHMpCiB7CiAgICAgaW50IGksIHJjOwogCkBAIC0yODUsMTIgKzI4NiwxMiBAQCBzdGF0aWMgdm9p
ZCBkZXZpY2VzX2NoZWNrcG9pbnRfY2IobGlieGxfX2VnYyAqZWdjLAogCiAvKiBBUEkgaW1wbGVt
ZW50YXRpb25zICovCiAKLSNkZWZpbmUgZGVmaW5lX2NoZWNrcG9pbnRfYXBpKGFwaSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLXZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c18jI2FwaShsaWJ4bF9fZWdjICplZ2MsICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRl
ICpjZHMpICAgICAgICBcCisjZGVmaW5lIGRlZmluZV9jaGVja3BvaW50X2FwaShhcGkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit2b2lkIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfIyNhcGkobGlieGxfX2VnYyAqZWdjLCAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgKmNkcykgICBcCiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaW50IGk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBT
VEFURV9BT19HQyhjZHMtPmFvKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDYzMGYw
NDguLmJkZTdhMTUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMjgxOCw3ICsyODE4LDggQEAgdHlw
ZWRlZiBzdHJ1Y3QgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlIHsKICAqIEVhY2ggZGV2aWNlIHR5
cGUgbmVlZHMgdG8gaW1wbGVtZW50IHRoZSBpbnRlcmZhY2VzIHNwZWNpZmllZCBpbgogICogdGhl
IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgaWYgaXQgd2lzaGVzIHRvIHN1
cHBvcnQgUmVtdXMuCiAgKgotICogVGhlIGhpZ2gtbGV2ZWwgY29udHJvbCBmbG93IHRocm91Z2gg
dGhlIGNoZWNrcG9pbnQgZGV2aWNlIGxheWVyIGlzIHNob3duIGJlbG93OgorICogVGhlIGhpZ2gt
bGV2ZWwgY29udHJvbCBmbG93IHRocm91Z2ggdGhlIGNoZWNrcG9pbnQgZGV2aWNlIGxheWVyIGlz
IHNob3duCisgKiBiZWxvdzoKICAqCiAgKiB4bCByZW11cwogICogIHwtPiAgbGlieGxfZG9tYWlu
X3JlbXVzX3N0YXJ0CkBAIC0yODc5LDcgKzI4ODAsOCBAQCBpbnQgaW5pdF9zdWJraW5kX2RyYmRf
ZGlzayhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogdm9pZCBjbGVhbnVw
X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7
CiAKIHR5cGVkZWYgdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9jYWxsYmFjayhsaWJ4bF9fZWdjICos
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZXNfc3RhdGUgKiwgaW50IHJjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICosCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIAogLyoKICAqIFN0YXRlIGFzc29j
aWF0ZWQgd2l0aCBhIGNoZWNrcG9pbnQgaW52b2NhdGlvbiwgaW5jbHVkaW5nIHBhcmFtZXRlcnMK
QEAgLTI4ODcsNyArMjg4OSw3IEBAIHR5cGVkZWYgdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9jYWxs
YmFjayhsaWJ4bF9fZWdjICosCiAgKiBzYXZlL3Jlc3RvcmUgbWFjaGluZXJ5LgogICovCiBzdHJ1
Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSB7Ci0gICAgLyotLS0tIG11c3QgYmUg
c2V0IGJ5IGNhbGxlciBvZiBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfKHNldHVwfHRlYXJkb3du
KSAtLS0tKi8KKyAgICAvKi0tIG11c3QgYmUgc2V0IGJ5IGNhbGxlciBvZiBsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2VfKHNldHVwfHRlYXJkb3duKSAtLSovCiAKICAgICBsaWJ4bF9fYW8gKmFvOwog
ICAgIHVpbnQzMl90IGRvbWlkOwpAQCAtMjkwMCw3ICsyOTAyLDggQEAgc3RydWN0IGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgewogICAgIC8qCiAgICAgICogdGhpcyBhcnJheSBpcyBh
bGxvY2F0ZWQgYmVmb3JlIHNldHVwIHRoZSBjaGVja3BvaW50IGRldmljZXMgYnkgdGhlCiAgICAg
ICogY2hlY2twb2ludCBhYnN0cmFjdCBsYXllci4KLSAgICAgKiBkZXZzIG1heSBiZSBOVUxMLCBt
ZWFucyB0aGVyZSdzIG5vIGNoZWNrcG9pbnQgZGV2aWNlcyB0aGF0IGhhcyBiZWVuIHNldCB1cC4K
KyAgICAgKiBkZXZzIG1heSBiZSBOVUxMLCBtZWFucyB0aGVyZSdzIG5vIGNoZWNrcG9pbnQgZGV2
aWNlcyB0aGF0IGhhcyBiZWVuCisgICAgICogc2V0IHVwLgogICAgICAqIHRoZSBzaXplIG9mIHRo
aXMgYXJyYXkgaXMgJ251bV9kZXZpY2VzJywgd2hpY2ggaXMgdGhlIHRvdGFsIG51bWJlcgogICAg
ICAqIG9mIGxpYnhsIG5pYyBkZXZpY2VzIGFuZCBkaXNrIGRldmljZXMobnVtX25pY3MgKyBudW1f
ZGlza3MpLgogICAgICAqLwpAQCAtMjk2MiwxMyArMjk2NSwxMyBAQCBzdHJ1Y3QgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlIHsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Vz
X3NldHVwKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogX2hpZGRlbiB2
b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfc3RhdGUgKmNkcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKIF9oaWRkZW4g
dm9pZCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CiBf
aGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19wcmVyZXN1bWUobGlieGxfX2Vn
YyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7
CiBfaGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQobGlieGxfX2Vn
YyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CiBf
aGlkZGVuIGludCBsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQobGlieGxfX2djICpnYyk7CiAKIC8q
LS0tLS0gTGVnYWN5IGNvbnZlcnNpb24gaGVscGVyIC0tLS0tKi8KLS0KZ2VuZXJhdGVkIGJ5IGdp
dC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5n
IGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2Uu
Y29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:46 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEc-0007h5-Ca; Sun, 28 Feb 2016 23:58:46 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEb-0007gr-ND
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:45 +0000
Received: from [193.109.254.147] by server-15.bemta-14.messagelabs.com id
 2E/F2-02980-5B983D65; Sun, 28 Feb 2016 23:58:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1456703923!27355446!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 33932 invoked from network); 28 Feb 2016 23:58:44 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-13.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:44 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEZ-0000zK-1b
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEY-00022i-Vf
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:42 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEY-00022i-Vf@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:42 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: adjust the indentation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDVhYzFkNjE0MTJiYjgxNWFiNDllMGM0OGJiYmU1MTRjMDBkMWEzM2YKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0OCAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBhZGp1c3QgdGhlIGluZGVudGF0aW9uCiAgICAKICAgIFRoaXMgaXMganVz
dCB0aWR5aW5nIHVwIGFmdGVyIHRoZSAidG9vbHMvbGlieGw6IHJlbmFtZSByZW11cyBkZXZpY2UK
ICAgIHRvIGNoZWNrcG9pbnQgZGV2aWNlIiBwYXRjaCBhdXRvbWF0aWMgcmVuYW1pbmcuCiAgICAK
ICAgIFNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNr
LmNuPgogICAgU2lnbmVkLW9mZi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNv
bT4KICAgIEFja2VkLWJ5OiBJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgog
ICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xl
LmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv
b2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMgfCAyMSArKysrKysrKysrKy0tLS0t
LS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggICAgICAgICAgfCAxOSArKysrKysr
KysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNl
LmMgYi90b29scy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCmluZGV4IDEwOWNkMjMu
LjIyNmYxNTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNl
LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2twb2ludF9kZXZpY2UuYwpAQCAtNzMsOSAr
NzMsOSBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxpYnhsX19lZ2MgKmVnYywK
IC8qIGNoZWNrcG9pbnQgZGV2aWNlIHNldHVwIGFuZCB0ZWFyZG93biAqLwogCiBzdGF0aWMgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlKiBjaGVja3BvaW50X2RldmljZV9pbml0KGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RldmljZV9raW5kIGtpbmQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqbGlieGxfZGV2KQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfc3RhdGUgKmNkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fZGV2aWNlX2tpbmQga2luZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2b2lkICpsaWJ4bF9kZXYpCiB7CiAgICAgbGlieGxfX2NoZWNrcG9pbnRf
ZGV2aWNlICpkZXYgPSBOVUxMOwogCkBAIC04OSw5ICs4OSwxMCBAQCBzdGF0aWMgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlKiBjaGVja3BvaW50X2RldmljZV9pbml0KGxpYnhsX19lZ2MgKmVnYywK
IH0KIAogc3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2
aWNlc19zdGF0ZSAqY2RzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
aWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogCi12b2lkIGxpYnhsX19jaGVj
a3BvaW50X2RldmljZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY2hlY2twb2ludF9k
ZXZpY2VzX3N0YXRlICpjZHMpCit2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAo
bGlieGxfX2VnYyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKICAgICBpbnQgaSwgcmM7CiAK
QEAgLTEzNyw3ICsxMzgsNyBAQCBvdXQ6CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfZGV2
aWNlc19zZXR1cChsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpj
ZHMpCiB7CiAgICAgaW50IGksIHJjOwogCkBAIC0yODUsMTIgKzI4NiwxMiBAQCBzdGF0aWMgdm9p
ZCBkZXZpY2VzX2NoZWNrcG9pbnRfY2IobGlieGxfX2VnYyAqZWdjLAogCiAvKiBBUEkgaW1wbGVt
ZW50YXRpb25zICovCiAKLSNkZWZpbmUgZGVmaW5lX2NoZWNrcG9pbnRfYXBpKGFwaSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLXZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNl
c18jI2FwaShsaWJ4bF9fZWdjICplZ2MsICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRl
ICpjZHMpICAgICAgICBcCisjZGVmaW5lIGRlZmluZV9jaGVja3BvaW50X2FwaShhcGkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit2b2lkIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfIyNhcGkobGlieGxfX2VnYyAqZWdjLCAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgKmNkcykgICBcCiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaW50IGk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgbGli
eGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2UgKmRldjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBT
VEFURV9BT19HQyhjZHMtPmFvKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDYzMGYw
NDguLmJkZTdhMTUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysr
IGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMjgxOCw3ICsyODE4LDggQEAgdHlw
ZWRlZiBzdHJ1Y3QgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlIHsKICAqIEVhY2ggZGV2aWNlIHR5
cGUgbmVlZHMgdG8gaW1wbGVtZW50IHRoZSBpbnRlcmZhY2VzIHNwZWNpZmllZCBpbgogICogdGhl
IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgaWYgaXQgd2lzaGVzIHRvIHN1
cHBvcnQgUmVtdXMuCiAgKgotICogVGhlIGhpZ2gtbGV2ZWwgY29udHJvbCBmbG93IHRocm91Z2gg
dGhlIGNoZWNrcG9pbnQgZGV2aWNlIGxheWVyIGlzIHNob3duIGJlbG93OgorICogVGhlIGhpZ2gt
bGV2ZWwgY29udHJvbCBmbG93IHRocm91Z2ggdGhlIGNoZWNrcG9pbnQgZGV2aWNlIGxheWVyIGlz
IHNob3duCisgKiBiZWxvdzoKICAqCiAgKiB4bCByZW11cwogICogIHwtPiAgbGlieGxfZG9tYWlu
X3JlbXVzX3N0YXJ0CkBAIC0yODc5LDcgKzI4ODAsOCBAQCBpbnQgaW5pdF9zdWJraW5kX2RyYmRf
ZGlzayhsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogdm9pZCBjbGVhbnVw
X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7
CiAKIHR5cGVkZWYgdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9jYWxsYmFjayhsaWJ4bF9fZWdjICos
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2Rl
dmljZXNfc3RhdGUgKiwgaW50IHJjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICosCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJjKTsKIAogLyoKICAqIFN0YXRlIGFzc29j
aWF0ZWQgd2l0aCBhIGNoZWNrcG9pbnQgaW52b2NhdGlvbiwgaW5jbHVkaW5nIHBhcmFtZXRlcnMK
QEAgLTI4ODcsNyArMjg4OSw3IEBAIHR5cGVkZWYgdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9jYWxs
YmFjayhsaWJ4bF9fZWdjICosCiAgKiBzYXZlL3Jlc3RvcmUgbWFjaGluZXJ5LgogICovCiBzdHJ1
Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSB7Ci0gICAgLyotLS0tIG11c3QgYmUg
c2V0IGJ5IGNhbGxlciBvZiBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfKHNldHVwfHRlYXJkb3du
KSAtLS0tKi8KKyAgICAvKi0tIG11c3QgYmUgc2V0IGJ5IGNhbGxlciBvZiBsaWJ4bF9fY2hlY2tw
b2ludF9kZXZpY2VfKHNldHVwfHRlYXJkb3duKSAtLSovCiAKICAgICBsaWJ4bF9fYW8gKmFvOwog
ICAgIHVpbnQzMl90IGRvbWlkOwpAQCAtMjkwMCw3ICsyOTAyLDggQEAgc3RydWN0IGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgewogICAgIC8qCiAgICAgICogdGhpcyBhcnJheSBpcyBh
bGxvY2F0ZWQgYmVmb3JlIHNldHVwIHRoZSBjaGVja3BvaW50IGRldmljZXMgYnkgdGhlCiAgICAg
ICogY2hlY2twb2ludCBhYnN0cmFjdCBsYXllci4KLSAgICAgKiBkZXZzIG1heSBiZSBOVUxMLCBt
ZWFucyB0aGVyZSdzIG5vIGNoZWNrcG9pbnQgZGV2aWNlcyB0aGF0IGhhcyBiZWVuIHNldCB1cC4K
KyAgICAgKiBkZXZzIG1heSBiZSBOVUxMLCBtZWFucyB0aGVyZSdzIG5vIGNoZWNrcG9pbnQgZGV2
aWNlcyB0aGF0IGhhcyBiZWVuCisgICAgICogc2V0IHVwLgogICAgICAqIHRoZSBzaXplIG9mIHRo
aXMgYXJyYXkgaXMgJ251bV9kZXZpY2VzJywgd2hpY2ggaXMgdGhlIHRvdGFsIG51bWJlcgogICAg
ICAqIG9mIGxpYnhsIG5pYyBkZXZpY2VzIGFuZCBkaXNrIGRldmljZXMobnVtX25pY3MgKyBudW1f
ZGlza3MpLgogICAgICAqLwpAQCAtMjk2MiwxMyArMjk2NSwxMyBAQCBzdHJ1Y3QgbGlieGxfX2No
ZWNrcG9pbnRfZGV2aWNlIHsKIF9oaWRkZW4gdm9pZCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2Vz
X3NldHVwKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOwogX2hpZGRlbiB2
b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVhcmRvd24obGlieGxfX2VnYyAqZWdjLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfc3RhdGUgKmNkcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKTsKIF9oaWRkZW4g
dm9pZCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3Bvc3RzdXNwZW5kKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CiBf
aGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19wcmVyZXN1bWUobGlieGxfX2Vn
YyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4
bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7
CiBfaGlkZGVuIHZvaWQgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19jb21taXQobGlieGxfX2Vn
YyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyk7CiBf
aGlkZGVuIGludCBsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQobGlieGxfX2djICpnYyk7CiAKIC8q
LS0tLS0gTGVnYWN5IGNvbnZlcnNpb24gaGVscGVyIC0tLS0tKi8KLS0KZ2VuZXJhdGVkIGJ5IGdp
dC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWlsaW5n
IGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3VyY2Uu
Y29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEn-0007iz-Ec; Sun, 28 Feb 2016 23:58:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEm-0007ii-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:56 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
 B8/73-02863-FB983D65; Sun, 28 Feb 2016 23:58:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456703933!27326109!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32485 invoked from network); 28 Feb 2016 23:58:54 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:54 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEj-0000za-FB
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEj-000239-Cd
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:53 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEj-000239-Cd@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:53 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: store remus_ops in
	checkpoint device state
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGIyMDMwNzAxODRlN2ZmYTVhMzBlNWU4OGIxOTZmNWFhNjNhYmZkNTIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0OSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBzdG9yZSByZW11c19vcHMgaW4gY2hlY2twb2ludCBkZXZpY2Ugc3RhdGUK
ICAgIAogICAgQ2hlY2twb2ludCBkZXZpY2UgaXMgYW4gYWJzdHJhY3QgbGF5ZXIgdG8gZG8gY2hl
Y2twb2ludC4KICAgIENPTE8gY2FuIGFsc28gdXNlIGl0IHRvIGRvIGNoZWNrcG9pbnQuIEJ1dCB0
aGVyZSBhcmUKICAgIHN0aWxsIHNvbWUgY29kZXMgaW4gY2hlY2twb2ludCBkZXZpY2Ugd2hpY2gg
dG91Y2ggcmVtdXMuCiAgICAKICAgIFRoaXMgcGF0Y2ggYW5kOgogICAgIHRvb2xzL2xpYnhsOiBt
b3ZlIHJlbXVzIHN0YXRlIGludG8gYSBzZXBlcmF0ZSBzdHJ1Y3R1cmUKICAgICB0b29scy9saWJ4
bDogc2VwZXJhdGUgZGV2aWNlIGluaXQvY2xlYW51cCBmcm9tIGNoZWNrcG9pbnQgZGV2aWNlIGxh
eWVyCiAgICB3aWxsIHNlcGVyYXRlIHJlbXVzIGZyb20gY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIu
CiAgICAKICAgIFdlIHVzZSByZW11cyBvcHMgZGlyZWN0bHkgaW4gY2hlY2twb2ludCBkZXZpY2Uu
IFN0b3JlIGl0CiAgICBpbiBjaGVja3BvaW50IGRldmljZSBzdGF0ZSBzbyB0aGF0IHdlIGRvIG5v
dCBhd2FyZSBvZgogICAgcmVtdXNfb3BzIGluIHRoZSBjaGVja3BvaW50IGRldmljZSBsYXllci4K
ICAgIAogICAgSXQgaXMgcHVyZSByZWZhY3RvcmluZyBhbmQgbm8gZnVuY3Rpb25hbCBjaGFuZ2Vz
LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3Uu
Y29tPgogICAgU2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5
c3RhY2suY24+CiAgICBBY2tlZC1ieTpJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXgu
Y29tPgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtA
b3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgot
LS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMgfCAxMCArLS0tLS0tLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAgICAgIHwgIDIgKysKIHRvb2xzL2xp
YnhsL2xpYnhsX3JlbXVzLmMgICAgICAgICAgICAgfCAgOSArKysrKysrKysKIDMgZmlsZXMgY2hh
bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY2hl
Y2twb2ludF9kZXZpY2UuYwppbmRleCAyMjZmMTU5Li5iYmM2ZGM0IDEwMDY0NAotLS0gYS90b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs
X2NoZWNrcG9pbnRfZGV2aWNlLmMKQEAgLTE3LDE0ICsxNyw2IEBACiAKICNpbmNsdWRlICJsaWJ4
bF9pbnRlcm5hbC5oIgogCi1leHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2lu
c3RhbmNlX29wcyByZW11c19kZXZpY2VfbmljOwotZXh0ZXJuIGNvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzazsKLXN0YXRpYyBj
b25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzICpyZW11c19vcHNbXSA9
IHsKLSAgICAmcmVtdXNfZGV2aWNlX25pYywKLSAgICAmcmVtdXNfZGV2aWNlX2RyYmRfZGlzaywK
LSAgICBOVUxMLAotfTsKLQogLyotLS0tLSBoZWxwZXIgZnVuY3Rpb25zIC0tLS0tKi8KIAogc3Rh
dGljIGludCBpbml0X2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgKmNkcykKQEAgLTE3Miw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCBkZXZpY2Vfc2V0dXBfaXRl
cmF0ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KQogICAgICAgICBn
b3RvIG91dDsKIAogICAgIGRvIHsKLSAgICAgICAgZGV2LT5vcHMgPSByZW11c19vcHNbKytkZXYt
Pm9wc19pbmRleF07CisgICAgICAgIGRldi0+b3BzID0gZGV2LT5jZHMtPm9wc1srK2Rldi0+b3Bz
X2luZGV4XTsKICAgICAgICAgaWYgKCFkZXYtPm9wcykgewogICAgICAgICAgICAgbGlieGxfZGV2
aWNlX25pYyAqIG5pYyA9IE5VTEw7CiAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqIGRp
c2sgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYmRlN2ExNS4uMjg0N2QxMyAxMDA2NDQK
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4
bF9pbnRlcm5hbC5oCkBAIC0yODk1LDYgKzI4OTUsOCBAQCBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlc19zdGF0ZSB7CiAgICAgdWludDMyX3QgZG9taWQ7CiAgICAgbGlieGxfX2NoZWNr
cG9pbnRfY2FsbGJhY2sgKmNhbGxiYWNrOwogICAgIGludCBkZXZpY2Vfa2luZF9mbGFnczsKKyAg
ICAvKiBUaGUgb3BzIG11c3QgYmUgcG9pbnRlciBhcnJheSwgYW5kIHRoZSBsYXN0IG9wcyBtdXN0
IGJlIE5VTEwuICovCisgICAgY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNl
X29wcyAqKm9wczsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJzdHJhY3QgbGF5ZXIgb25s
eSAtLS0tLSovCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgYi90b29s
cy9saWJ4bC9saWJ4bF9yZW11cy5jCmluZGV4IGQ0MWE0MzkuLjg2ZjgxYzMgMTAwNjQ0Ci0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMu
YwpAQCAtMTgsNiArMTgsMTQgQEAKIAogI2luY2x1ZGUgImxpYnhsX2ludGVybmFsLmgiCiAKK2V4
dGVybiBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2Rl
dmljZV9uaWM7CitleHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNl
X29wcyByZW11c19kZXZpY2VfZHJiZF9kaXNrOworc3RhdGljIGNvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0geworICAgICZyZW11c19kZXZp
Y2VfbmljLAorICAgICZyZW11c19kZXZpY2VfZHJiZF9kaXNrLAorICAgIE5VTEwsCit9OworCiAv
Ki0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlbXVzIHNldHVwIGFuZCB0ZWFyZG93biAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0qLwogCiBzdGF0aWMgdm9pZCByZW11c19zZXR1cF9kb25lKGxpYnhsX19lZ2Mg
KmVnYywKQEAgLTU1LDYgKzYzLDcgQEAgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgIGNkcy0+YW8gPSBhbzsKICAgICBjZHMtPmRvbWlkID0gZHNzLT5kb21pZDsK
ICAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKKyAgICBjZHMtPm9wcyA9IHJl
bXVzX29wczsKIAogICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVj
a3BvaW50X3N0cmVhbV93cml0dGVuOwogCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:58:57 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEn-0007iz-Ec; Sun, 28 Feb 2016 23:58:57 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEm-0007ii-3I
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:56 +0000
Received: from [193.109.254.147] by server-16.bemta-14.messagelabs.com id
 B8/73-02863-FB983D65; Sun, 28 Feb 2016 23:58:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1456703933!27326109!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32485 invoked from network); 28 Feb 2016 23:58:54 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-7.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:58:54 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEj-0000za-FB
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEj-000239-Cd
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:58:53 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEj-000239-Cd@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:58:53 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: store remus_ops in
	checkpoint device state
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGIyMDMwNzAxODRlN2ZmYTVhMzBlNWU4OGIxOTZmNWFhNjNhYmZkNTIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo0OSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBzdG9yZSByZW11c19vcHMgaW4gY2hlY2twb2ludCBkZXZpY2Ugc3RhdGUK
ICAgIAogICAgQ2hlY2twb2ludCBkZXZpY2UgaXMgYW4gYWJzdHJhY3QgbGF5ZXIgdG8gZG8gY2hl
Y2twb2ludC4KICAgIENPTE8gY2FuIGFsc28gdXNlIGl0IHRvIGRvIGNoZWNrcG9pbnQuIEJ1dCB0
aGVyZSBhcmUKICAgIHN0aWxsIHNvbWUgY29kZXMgaW4gY2hlY2twb2ludCBkZXZpY2Ugd2hpY2gg
dG91Y2ggcmVtdXMuCiAgICAKICAgIFRoaXMgcGF0Y2ggYW5kOgogICAgIHRvb2xzL2xpYnhsOiBt
b3ZlIHJlbXVzIHN0YXRlIGludG8gYSBzZXBlcmF0ZSBzdHJ1Y3R1cmUKICAgICB0b29scy9saWJ4
bDogc2VwZXJhdGUgZGV2aWNlIGluaXQvY2xlYW51cCBmcm9tIGNoZWNrcG9pbnQgZGV2aWNlIGxh
eWVyCiAgICB3aWxsIHNlcGVyYXRlIHJlbXVzIGZyb20gY2hlY2twb2ludCBkZXZpY2UgbGF5ZXIu
CiAgICAKICAgIFdlIHVzZSByZW11cyBvcHMgZGlyZWN0bHkgaW4gY2hlY2twb2ludCBkZXZpY2Uu
IFN0b3JlIGl0CiAgICBpbiBjaGVja3BvaW50IGRldmljZSBzdGF0ZSBzbyB0aGF0IHdlIGRvIG5v
dCBhd2FyZSBvZgogICAgcmVtdXNfb3BzIGluIHRoZSBjaGVja3BvaW50IGRldmljZSBsYXllci4K
ICAgIAogICAgSXQgaXMgcHVyZSByZWZhY3RvcmluZyBhbmQgbm8gZnVuY3Rpb25hbCBjaGFuZ2Vz
LgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3Uu
Y29tPgogICAgU2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5
c3RhY2suY24+CiAgICBBY2tlZC1ieTpJYW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXgu
Y29tPgogICAgUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtA
b3JhY2xlLmNvbT4KICAgIEFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgot
LS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NoZWNrcG9pbnRfZGV2aWNlLmMgfCAxMCArLS0tLS0tLS0t
CiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oICAgICAgICAgIHwgIDIgKysKIHRvb2xzL2xp
YnhsL2xpYnhsX3JlbXVzLmMgICAgICAgICAgICAgfCAgOSArKysrKysrKysKIDMgZmlsZXMgY2hh
bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY2hl
Y2twb2ludF9kZXZpY2UuYwppbmRleCAyMjZmMTU5Li5iYmM2ZGM0IDEwMDY0NAotLS0gYS90b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs
X2NoZWNrcG9pbnRfZGV2aWNlLmMKQEAgLTE3LDE0ICsxNyw2IEBACiAKICNpbmNsdWRlICJsaWJ4
bF9pbnRlcm5hbC5oIgogCi1leHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2lu
c3RhbmNlX29wcyByZW11c19kZXZpY2VfbmljOwotZXh0ZXJuIGNvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgcmVtdXNfZGV2aWNlX2RyYmRfZGlzazsKLXN0YXRpYyBj
b25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzICpyZW11c19vcHNbXSA9
IHsKLSAgICAmcmVtdXNfZGV2aWNlX25pYywKLSAgICAmcmVtdXNfZGV2aWNlX2RyYmRfZGlzaywK
LSAgICBOVUxMLAotfTsKLQogLyotLS0tLSBoZWxwZXIgZnVuY3Rpb25zIC0tLS0tKi8KIAogc3Rh
dGljIGludCBpbml0X2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3Rh
dGUgKmNkcykKQEAgLTE3Miw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCBkZXZpY2Vfc2V0dXBfaXRl
cmF0ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hb19kZXZpY2UgKmFvZGV2KQogICAgICAgICBn
b3RvIG91dDsKIAogICAgIGRvIHsKLSAgICAgICAgZGV2LT5vcHMgPSByZW11c19vcHNbKytkZXYt
Pm9wc19pbmRleF07CisgICAgICAgIGRldi0+b3BzID0gZGV2LT5jZHMtPm9wc1srK2Rldi0+b3Bz
X2luZGV4XTsKICAgICAgICAgaWYgKCFkZXYtPm9wcykgewogICAgICAgICAgICAgbGlieGxfZGV2
aWNlX25pYyAqIG5pYyA9IE5VTEw7CiAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZGlzayAqIGRp
c2sgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rv
b2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYmRlN2ExNS4uMjg0N2QxMyAxMDA2NDQK
LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4
bF9pbnRlcm5hbC5oCkBAIC0yODk1LDYgKzI4OTUsOCBAQCBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9p
bnRfZGV2aWNlc19zdGF0ZSB7CiAgICAgdWludDMyX3QgZG9taWQ7CiAgICAgbGlieGxfX2NoZWNr
cG9pbnRfY2FsbGJhY2sgKmNhbGxiYWNrOwogICAgIGludCBkZXZpY2Vfa2luZF9mbGFnczsKKyAg
ICAvKiBUaGUgb3BzIG11c3QgYmUgcG9pbnRlciBhcnJheSwgYW5kIHRoZSBsYXN0IG9wcyBtdXN0
IGJlIE5VTEwuICovCisgICAgY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNl
X29wcyAqKm9wczsKIAogICAgIC8qLS0tLS0gcHJpdmF0ZSBmb3IgYWJzdHJhY3QgbGF5ZXIgb25s
eSAtLS0tLSovCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgYi90b29s
cy9saWJ4bC9saWJ4bF9yZW11cy5jCmluZGV4IGQ0MWE0MzkuLjg2ZjgxYzMgMTAwNjQ0Ci0tLSBh
L3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMu
YwpAQCAtMTgsNiArMTgsMTQgQEAKIAogI2luY2x1ZGUgImxpYnhsX2ludGVybmFsLmgiCiAKK2V4
dGVybiBjb25zdCBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VfaW5zdGFuY2Vfb3BzIHJlbXVzX2Rl
dmljZV9uaWM7CitleHRlcm4gY29uc3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlX2luc3RhbmNl
X29wcyByZW11c19kZXZpY2VfZHJiZF9kaXNrOworc3RhdGljIGNvbnN0IGxpYnhsX19jaGVja3Bv
aW50X2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0geworICAgICZyZW11c19kZXZp
Y2VfbmljLAorICAgICZyZW11c19kZXZpY2VfZHJiZF9kaXNrLAorICAgIE5VTEwsCit9OworCiAv
Ki0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlbXVzIHNldHVwIGFuZCB0ZWFyZG93biAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0qLwogCiBzdGF0aWMgdm9pZCByZW11c19zZXR1cF9kb25lKGxpYnhsX19lZ2Mg
KmVnYywKQEAgLTU1LDYgKzYzLDcgQEAgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgIGNkcy0+YW8gPSBhbzsKICAgICBjZHMtPmRvbWlkID0gZHNzLT5kb21pZDsK
ICAgICBjZHMtPmNhbGxiYWNrID0gcmVtdXNfc2V0dXBfZG9uZTsKKyAgICBjZHMtPm9wcyA9IHJl
bXVzX29wczsKIAogICAgIGRzcy0+c3dzLmNoZWNrcG9pbnRfY2FsbGJhY2sgPSByZW11c19jaGVj
a3BvaW50X3N0cmVhbV93cml0dGVuOwogCi0tCmdlbmVyYXRlZCBieSBnaXQtcGF0Y2hib3QgZm9y
IC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0Clhlbi1jaGFu
Z2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94ZW4tY2hhbmdl
bG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEx-0007kq-Gk; Sun, 28 Feb 2016 23:59:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEw-0007ka-GX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:06 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
 6D/8A-03303-9C983D65; Sun, 28 Feb 2016 23:59:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703944!25563019!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22099 invoked from network); 28 Feb 2016 23:59:04 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEt-00010M-Rs
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEt-000248-Nr
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEt-000248-Nr@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:03 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move remus state into a
	seperate structure
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGJiM2VmN2VmYTRhNWQwNzUyZGUxZDQyNTg3MmFhNzUxYTYzN2Q0ZWIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogVHVlIERl
YyAxNSAxMzo1OTo1MiAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHJlbXVzIHN0YXRlIGludG8gYSBzZXBlcmF0ZSBzdHJ1Y3R1cmUK
ICAgIAogICAgQWRkIGEgbmV3IHN0cnVjdHVyZSByZW11cyBzdGF0ZSwgYW5kIG1vdmUgY29uY3Jl
dGUgbGF5ZXIncyBwcml2YXRlCiAgICBtZW1iZXIgdG8gcmVtdXMgc3RhdGUuCiAgICBpdCBpcyBw
dXJlIHJlZmFjdG9yaW5nIGFuZCBubyBmdW5jdGlvbmFsIGNoYW5nZXMuCiAgICBJbml0IGludGVy
dmFsIGluIGxpYnhsX19yZW11c19zZXR1cCgpLiBJdCBpcyBzYWZlIHRvIG1vdmUgdGhpcyBpbml0
aWFsaXNhdGlvbiwKICAgIGJlY2F1c2UgdGhpcyB2YWx1ZSBpcyBvbmx5IHVzZWQgZm9yIHJlbXVz
LCBhbmQgcmVtdXMgd2lsbCB1c2UgdGhpcyB2YWx1ZSBhZnRlcgogICAgbGlieGxfX3JlbXVzX3Nl
dHVwKCkuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IFdlbiBDb25neWFuZyA8d2VuY3lAY24uZnVq
aXRzdS5jb20+CiAgICBTaWduZWQtb2ZmLWJ5OiBZYW5nIEhvbmd5YW5nIDxob25neWFuZy55YW5n
QGVhc3lzdGFjay5jbj4KICAgIFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv
bnJhZC53aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgICAgICAgICB8ICAyICst
CiB0b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jICAgICAgICB8ICAzICstLQogdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCAgICAgICAgfCAzNSArKysrKysrKysrKysrKystLS0tLS0tLS0t
LQogdG9vbHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgICAgICAgfCA0OSArKysrKysrKysrKysr
KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9yZW11cy5jICAgICAg
ICAgICB8IDI0ICsrKysrKysrKysrKy0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlz
a19kcmJkLmMgfCAgOCArKystLS0KIDYgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwg
NDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKaW5kZXggNThiNDU3NC4uNGNkYzE2OSAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC04ODEsNyArODgxLDcg
QEAgaW50IGxpYnhsX2RvbWFpbl9yZW11c19zdGFydChsaWJ4bF9jdHggKmN0eCwgbGlieGxfZG9t
YWluX3JlbXVzX2luZm8gKmluZm8sCiAgICAgYXNzZXJ0KGluZm8pOwogCiAgICAgLyogUG9pbnQg
b2Ygbm8gcmV0dXJuICovCi0gICAgbGlieGxfX3JlbXVzX3NldHVwKGVnYywgZHNzKTsKKyAgICBs
aWJ4bF9fcmVtdXNfc2V0dXAoZWdjLCAmZHNzLT5ycyk7CiAgICAgcmV0dXJuIEFPX0lOUFJPR1JF
U1M7CiAKICBvdXQ6CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUuYwppbmRleCAyOGUyYTQxLi40ZWI3OTYwIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zYXZlLmMKQEAgLTM4Myw3ICszODMsNiBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2
ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogICAgIH0K
IAogICAgIGlmIChkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0gPT0gTElCWExfQ0hFQ0tQT0lOVEVE
X1NUUkVBTV9SRU1VUykgewotICAgICAgICBkc3MtPmludGVydmFsID0gcl9pbmZvLT5pbnRlcnZh
bDsKICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKHJfaW5mby0+Y29tcHJlc3Npb24pKQog
ICAgICAgICAgICAgZHNzLT54Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVTUzsK
ICAgICB9CkBAIC00MzMsNyArNDMyLDcgQEAgc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9uZShs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAqIGZyb20gc2VuZGluZyBjaGVja3BvaW50cy4gVGVh
cmRvd24gdGhlIG5ldHdvcmsgYnVmZmVycyBhbmQKICAgICAgICAgICogcmVsZWFzZSBuZXRsaW5r
IHJlc291cmNlcy4gIFRoaXMgaXMgYW4gYXN5bmMgb3AuCiAgICAgICAgICAqLwotICAgICAgICBs
aWJ4bF9fcmVtdXNfdGVhcmRvd24oZWdjLCBkc3MsIHJjKTsKKyAgICAgICAgbGlieGxfX3JlbXVz
X3RlYXJkb3duKGVnYywgJmRzcy0+cnMsIHJjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmgKaW5kZXggMjg0N2QxMy4uYTFhYWU5NyAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
CkBAIC0yODk0LDYgKzI4OTQsNyBAQCBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSB7CiAgICAgbGlieGxfX2FvICphbzsKICAgICB1aW50MzJfdCBkb21pZDsKICAgICBsaWJ4
bF9fY2hlY2twb2ludF9jYWxsYmFjayAqY2FsbGJhY2s7CisgICAgdm9pZCAqY29uY3JldGVfZGF0
YTsKICAgICBpbnQgZGV2aWNlX2tpbmRfZmxhZ3M7CiAgICAgLyogVGhlIG9wcyBtdXN0IGJlIHBv
aW50ZXIgYXJyYXksIGFuZCB0aGUgbGFzdCBvcHMgbXVzdCBiZSBOVUxMLiAqLwogICAgIGNvbnN0
IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgKipvcHM7CkBAIC0yOTE3LDE2
ICsyOTE4LDYgQEAgc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgewogICAg
IGludCBudW1fZGlza3M7CiAKICAgICBsaWJ4bF9fbXVsdGlkZXYgbXVsdGlkZXY7Ci0KLSAgICAv
Ki0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZpY2Utc3BlY2lmaWMpIGxheWVyIG9ubHkg
LS0tLS0qLwotCi0gICAgLyogcHJpdmF0ZSBmb3IgbmljIGRldmljZSBzdWJraW5kIG9wcyAqLwot
ICAgIGNoYXIgKm5ldGJ1ZnNjcmlwdDsKLSAgICBzdHJ1Y3Qgbmxfc29jayAqbmxzb2NrOwotICAg
IHN0cnVjdCBubF9jYWNoZSAqcWRpc2NfY2FjaGU7Ci0KLSAgICAvKiBwcml2YXRlIGZvciBkcmJk
IGRpc2sgc3Via2luZCBvcHMgKi8KLSAgICBjaGFyICpkcmJkX3Byb2JlX3NjcmlwdDsKIH07CiAK
IC8qCkBAIC0yOTc0LDYgKzI5NjUsMjMgQEAgX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfcHJlcmVzdW1lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMp
OwogX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfY29tbWl0KGxpYnhsX19l
Z2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworCisvKi0tLS0tIFJlbXVzIHJlbGF0ZWQg
c3RhdGUgc3RydWN0dXJlIC0tLS0tKi8KK3R5cGVkZWYgc3RydWN0IGxpYnhsX19yZW11c19zdGF0
ZSBsaWJ4bF9fcmVtdXNfc3RhdGU7CitzdHJ1Y3QgbGlieGxfX3JlbXVzX3N0YXRlIHsKKyAgICAv
KiBwcml2YXRlICovCisgICAgbGlieGxfX2V2X3RpbWUgY2hlY2twb2ludF90aW1lb3V0OyAvKiB1
c2VkIGZvciBSZW11cyBjaGVja3BvaW50ICovCisgICAgaW50IGludGVydmFsOyAvKiBjaGVja3Bv
aW50IGludGVydmFsICovCisKKyAgICAvKi0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZp
Y2Utc3BlY2lmaWMpIGxheWVyIG9ubHkgLS0tLS0qLworICAgIC8qIHByaXZhdGUgZm9yIG5pYyBk
ZXZpY2Ugc3Via2luZCBvcHMgKi8KKyAgICBjaGFyICpuZXRidWZzY3JpcHQ7CisgICAgc3RydWN0
IG5sX3NvY2sgKm5sc29jazsKKyAgICBzdHJ1Y3QgbmxfY2FjaGUgKnFkaXNjX2NhY2hlOworCisg
ICAgLyogcHJpdmF0ZSBmb3IgZHJiZCBkaXNrIHN1YmtpbmQgb3BzICovCisgICAgY2hhciAqZHJi
ZF9wcm9iZV9zY3JpcHQ7Cit9OwogX2hpZGRlbiBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVk
KGxpYnhsX19nYyAqZ2MpOwogCiAvKi0tLS0tIExlZ2FjeSBjb252ZXJzaW9uIGhlbHBlciAtLS0t
LSovCkBAIC0zMTI3LDkgKzMxMzUsOCBAQCBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRl
IHsKICAgICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwogICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSBkc3BzOworICAgIGxpYnhsX19yZW11c19zdGF0ZSByczsKICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlIGNkczsKLSAgICBsaWJ4bF9fZXZfdGltZSBjaGVja3Bv
aW50X3RpbWVvdXQ7IC8qIHVzZWQgZm9yIFJlbXVzIGNoZWNrcG9pbnQgKi8KLSAgICBpbnQgaW50
ZXJ2YWw7IC8qIGNoZWNrcG9pbnQgaW50ZXJ2YWwgKGZvciBSZW11cykgKi8KICAgICBsaWJ4bF9f
c3RyZWFtX3dyaXRlX3N0YXRlIHN3czsKICAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIGxvZ2Rp
cnR5OwogfTsKQEAgLTM1MzUsOSArMzU0Miw5IEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CiAKIC8qIFJlbXVzIHNldHVwIGFuZCB0ZWFy
ZG93biAqLwogX2hpZGRlbiB2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0
ZSAqZHNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX3N0
YXRlICpycyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3RlYXJkb3duKGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19zdGF0ZSAqcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByYyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fY3JlYXRlX3N0YXRlICpkY3MpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf
bmV0YnVmZmVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwppbmRleCAzM2MyYTQy
Li41YzdlOGEyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYworKysg
Yi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwpAQCAtNDIsMTcgKzQyLDE4IEBAIGludCBp
bml0X3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsK
ICAgICBpbnQgcmMsIHJldDsKICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENP
TlRBSU5FUl9PRihjZHMsICpkc3MsIGNkcyk7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9
IGNkcy0+Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCi0gICAg
Y2RzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKLSAgICBpZiAoIWNkcy0+bmxzb2NrKSB7
CisgICAgcnMtPm5sc29jayA9IG5sX3NvY2tldF9hbGxvYygpOworICAgIGlmICghcnMtPm5sc29j
aykgewogICAgICAgICBMT0coRVJST1IsICJjYW5ub3QgYWxsb2NhdGUgbmwgc29ja2V0Iik7CiAg
ICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAg
cmV0ID0gbmxfY29ubmVjdChjZHMtPm5sc29jaywgTkVUTElOS19ST1VURSk7CisgICAgcmV0ID0g
bmxfY29ubmVjdChycy0+bmxzb2NrLCBORVRMSU5LX1JPVVRFKTsKICAgICBpZiAocmV0KSB7CiAg
ICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBvcGVuIG5ldGxpbmsgc29ja2V0OiAlcyIsCiAg
ICAgICAgICAgICBubF9nZXRlcnJvcihyZXQpKTsKQEAgLTYxLDcgKzYyLDcgQEAgaW50IGluaXRf
c3Via2luZF9uaWMobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQogICAgIH0K
IAogICAgIC8qIGdldCBsaXN0IG9mIGFsbCBxZGlzY3MgaW5zdGFsbGVkIG9uIG5ldHdvcmsgZGV2
cy4gKi8KLSAgICByZXQgPSBydG5sX3FkaXNjX2FsbG9jX2NhY2hlKGNkcy0+bmxzb2NrLCAmY2Rz
LT5xZGlzY19jYWNoZSk7CisgICAgcmV0ID0gcnRubF9xZGlzY19hbGxvY19jYWNoZShycy0+bmxz
b2NrLCAmcnMtPnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJP
UiwgImZhaWxlZCB0byBhbGxvY2F0ZSBxZGlzYyBjYWNoZTogJXMiLAogICAgICAgICAgICAgbmxf
Z2V0ZXJyb3IocmV0KSk7CkBAIC03MCwxMCArNzEsMTAgQEAgaW50IGluaXRfc3Via2luZF9uaWMo
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQogICAgIH0KIAogICAgIGlmIChk
c3MtPnJlbXVzLT5uZXRidWZzY3JpcHQpIHsKLSAgICAgICAgY2RzLT5uZXRidWZzY3JpcHQgPSBs
aWJ4bF9fc3RyZHVwKGdjLCBkc3MtPnJlbXVzLT5uZXRidWZzY3JpcHQpOworICAgICAgICBycy0+
bmV0YnVmc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgZHNzLT5yZW11cy0+bmV0YnVmc2NyaXB0
KTsKICAgICB9IGVsc2UgewotICAgICAgICBjZHMtPm5ldGJ1ZnNjcmlwdCA9IEdDU1BSSU5URigi
JXMvcmVtdXMtbmV0YnVmLXNldHVwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CisgICAgICAgIHJzLT5uZXRidWZz
Y3JpcHQgPSBHQ1NQUklOVEYoIiVzL3JlbXVzLW5ldGJ1Zi1zZXR1cCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CiAg
ICAgfQogCiAgICAgcmMgPSAwOwpAQCAtODQsMjAgKzg1LDIyIEBAIG91dDoKIAogdm9pZCBjbGVh
bnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsK
KyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUgKnJzID0gY2RzLT5jb25jcmV0ZV9kYXRhOworCiAgICAg
U1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICAvKiBmcmVlIHFkaXNjIGNhY2hlICovCi0gICAg
aWYgKGNkcy0+cWRpc2NfY2FjaGUpIHsKLSAgICAgICAgbmxfY2FjaGVfY2xlYXIoY2RzLT5xZGlz
Y19jYWNoZSk7Ci0gICAgICAgIG5sX2NhY2hlX2ZyZWUoY2RzLT5xZGlzY19jYWNoZSk7Ci0gICAg
ICAgIGNkcy0+cWRpc2NfY2FjaGUgPSBOVUxMOworICAgIGlmIChycy0+cWRpc2NfY2FjaGUpIHsK
KyAgICAgICAgbmxfY2FjaGVfY2xlYXIocnMtPnFkaXNjX2NhY2hlKTsKKyAgICAgICAgbmxfY2Fj
aGVfZnJlZShycy0+cWRpc2NfY2FjaGUpOworICAgICAgICBycy0+cWRpc2NfY2FjaGUgPSBOVUxM
OwogICAgIH0KIAogICAgIC8qIGNsb3NlICYgZnJlZSBubHNvY2sgKi8KLSAgICBpZiAoY2RzLT5u
bHNvY2spIHsKLSAgICAgICAgbmxfY2xvc2UoY2RzLT5ubHNvY2spOwotICAgICAgICBubF9zb2Nr
ZXRfZnJlZShjZHMtPm5sc29jayk7Ci0gICAgICAgIGNkcy0+bmxzb2NrID0gTlVMTDsKKyAgICBp
ZiAocnMtPm5sc29jaykgeworICAgICAgICBubF9jbG9zZShycy0+bmxzb2NrKTsKKyAgICAgICAg
bmxfc29ja2V0X2ZyZWUocnMtPm5sc29jayk7CisgICAgICAgIHJzLT5ubHNvY2sgPSBOVUxMOwog
ICAgIH0KIH0KIApAQCAtMTUwLDEzICsxNTMsMTQgQEAgc3RhdGljIGludCBpbml0X3FkaXNjKGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICBpbnQgcmMsIHJldCwgaWZp
bmRleDsKICAgICBzdHJ1Y3QgcnRubF9saW5rICppZmIgPSBOVUxMOwogICAgIHN0cnVjdCBydG5s
X3FkaXNjICpxZGlzYyA9IE5VTEw7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9IGNkcy0+
Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogTm93
IHRoYXQgd2UgaGF2ZSBicm91Z2h0IHVwIFJFTVVTX0lGQiBkZXZpY2Ugd2l0aCBwbHVnIHFkaXNj
IGZvcgogICAgICAqIHRoaXMgdmlmLCBzbyB3ZSBuZWVkIHRvIHJlZmlsbCB0aGUgcWRpc2MgY2Fj
aGUuCiAgICAgICovCi0gICAgcmV0ID0gbmxfY2FjaGVfcmVmaWxsKGNkcy0+bmxzb2NrLCBjZHMt
PnFkaXNjX2NhY2hlKTsKKyAgICByZXQgPSBubF9jYWNoZV9yZWZpbGwocnMtPm5sc29jaywgcnMt
PnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5v
dCByZWZpbGwgcWRpc2MgY2FjaGU6ICVzIiwgbmxfZ2V0ZXJyb3IocmV0KSk7CiAgICAgICAgIHJj
ID0gRVJST1JfRkFJTDsKQEAgLTE2NCw3ICsxNjgsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2Mo
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzLAogICAgIH0KIAogICAgIC8qIGdl
dCBhIGhhbmRsZSB0byB0aGUgUkVNVVNfSUZCIGludGVyZmFjZSAqLwotICAgIHJldCA9IHJ0bmxf
bGlua19nZXRfa2VybmVsKGNkcy0+bmxzb2NrLCAwLCByZW11c19uaWMtPmlmYiwgJmlmYik7Cisg
ICAgcmV0ID0gcnRubF9saW5rX2dldF9rZXJuZWwocnMtPm5sc29jaywgMCwgcmVtdXNfbmljLT5p
ZmIsICZpZmIpOwogICAgIGlmIChyZXQpIHsKICAgICAgICAgTE9HKEVSUk9SLCAiY2Fubm90IG9i
dGFpbiBoYW5kbGUgZm9yICVzOiAlcyIsIHJlbXVzX25pYy0+aWZiLAogICAgICAgICAgICAgbmxf
Z2V0ZXJyb3IocmV0KSk7CkBAIC0xODcsNyArMTkxLDcgQEAgc3RhdGljIGludCBpbml0X3FkaXNj
KGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICAgKiBUaGVyZSBpcyBu
byBuZWVkIHRvIGV4cGxpY2l0bHkgZnJlZSB0aGlzIHFkaXNjIGFzIGl0cyBqdXN0IGEKICAgICAg
KiByZWZlcmVuY2UgZnJvbSB0aGUgcWRpc2MgY2FjaGUgd2UgYWxsb2NhdGVkIGVhcmxpZXIuCiAg
ICAgICovCi0gICAgcWRpc2MgPSBydG5sX3FkaXNjX2dldF9ieV9wYXJlbnQoY2RzLT5xZGlzY19j
YWNoZSwgaWZpbmRleCwgVENfSF9ST09UKTsKKyAgICBxZGlzYyA9IHJ0bmxfcWRpc2NfZ2V0X2J5
X3BhcmVudChycy0+cWRpc2NfY2FjaGUsIGlmaW5kZXgsIFRDX0hfUk9PVCk7CiAgICAgaWYgKHFk
aXNjKSB7CiAgICAgICAgIGNvbnN0IGNoYXIgKnRjX2tpbmQgPSBydG5sX3RjX2dldF9raW5kKFRD
X0NBU1QocWRpc2MpKTsKICAgICAgICAgLyogU2FuaXR5IGNoZWNrOiBFbnN1cmUgdGhhdCB0aGUg
cm9vdCBxZGlzYyBpcyBhIHBsdWcgcWRpc2MuICovCkBAIC0yMzgsMTEgKzI0MiwxMiBAQCBzdGF0
aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2LCBj
aGFyICpvcCkKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5j
b25jcmV0ZV9kYXRhOwogICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyA9
IGRldi0+Y2RzOwogICAgIGxpYnhsX19hc3luY19leGVjX3N0YXRlICphZXMgPSAmZGV2LT5hb2Rl
di5hZXM7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9IGNkcy0+Y29uY3JldGVfZGF0YTsK
IAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNl
cyAqLwotICAgIGNoYXIgKmNvbnN0IHNjcmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIGNkcy0+bmV0
YnVmc2NyaXB0KTsKKyAgICBjaGFyICpjb25zdCBzY3JpcHQgPSBsaWJ4bF9fc3RyZHVwKGdjLCBy
cy0+bmV0YnVmc2NyaXB0KTsKICAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGNkcy0+ZG9taWQ7
CiAgICAgY29uc3QgaW50IGRldl9pZCA9IHJlbXVzX25pYy0+ZGV2aWQ7CiAgICAgY29uc3QgY2hh
ciAqY29uc3QgdmlmID0gcmVtdXNfbmljLT52aWY7CkBAIC0zMzMsNiArMzM4LDcgQEAgc3RhdGlj
IHZvaWQgbmV0YnVmX3NldHVwX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxf
X2NoZWNrcG9pbnRfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2
KTsKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0
ZV9kYXRhOwogICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyA9IGRldi0+
Y2RzOworICAgIGxpYnhsX19yZW11c19zdGF0ZSAqcnMgPSBjZHMtPmNvbmNyZXRlX2RhdGE7CiAg
ICAgY29uc3QgY2hhciAqb3V0X3BhdGhfYmFzZSwgKmhvdHBsdWdfZXJyb3IgPSBOVUxMOwogCiAg
ICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CkBAIC0zNzcsNyArMzgzLDcgQEAgc3RhdGljIHZvaWQg
bmV0YnVmX3NldHVwX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAKICAgICBpZiAoaG90cGx1
Z19lcnJvcikgewogICAgICAgICBMT0coRVJST1IsICJuZXRidWYgc2NyaXB0ICVzIHNldHVwIGZh
aWxlZCBmb3IgdmlmICVzOiAlcyIsCi0gICAgICAgICAgICBjZHMtPm5ldGJ1ZnNjcmlwdCwgdmlm
LCBob3RwbHVnX2Vycm9yKTsKKyAgICAgICAgICAgIHJzLT5uZXRidWZzY3JpcHQsIHZpZiwgaG90
cGx1Z19lcnJvcik7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7
CiAgICAgfQpAQCAtNDQ1LDYgKzQ1MSw3IEBAIHN0YXRpYyBpbnQgcmVtdXNfbmV0YnVmX29wKGxp
YnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYnVmZmVyX29wKQogewogICAgIGludCByYywgcmV0OworICAgIGxpYnhsX19yZW11
c19zdGF0ZSAqcnMgPSBjZHMtPmNvbmNyZXRlX2RhdGE7CiAKICAgICBTVEFURV9BT19HQyhjZHMt
PmFvKTsKIApAQCAtNDU4LDcgKzQ2NSw3IEBAIHN0YXRpYyBpbnQgcmVtdXNfbmV0YnVmX29wKGxp
YnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMsCiAgICAgICAgIGdvdG8gb3V0OwogICAg
IH0KIAotICAgIHJldCA9IHJ0bmxfcWRpc2NfYWRkKGNkcy0+bmxzb2NrLCByZW11c19uaWMtPnFk
aXNjLCBOTE1fRl9SRVFVRVNUKTsKKyAgICByZXQgPSBydG5sX3FkaXNjX2FkZChycy0+bmxzb2Nr
LCByZW11c19uaWMtPnFkaXNjLCBOTE1fRl9SRVFVRVNUKTsKICAgICBpZiAocmV0KSB7CiAgICAg
ICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF9yZW11cy5jIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYwppbmRleCA4
NmY4MWMzLi5lODNjZGM5IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKQEAgLTM4LDkgKzM4LDEwIEBAIHN0YXRpYyB2
b2lkIGxpYnhsX19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKIHN0
YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEp
Owogc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9zYXZlX2NoZWNrcG9pbnRfY2FsbGJh
Y2sodm9pZCAqZGF0YSk7CiAKLXZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
KQordm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNf
c3RhdGUgKnJzKQogeworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKHJzLCAqZHNzLCBycyk7CisKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCiAg
ICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY29uc3QgY2RzID0gJmRzcy0+Y2Rz
OwogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICpjb25zdCBpbmZvID0gZHNzLT5y
ZW11czsKQEAgLTY0LDYgKzY1LDggQEAgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgIGNkcy0+ZG9taWQgPSBkc3MtPmRvbWlkOwogICAgIGNkcy0+Y2FsbGJhY2sg
PSByZW11c19zZXR1cF9kb25lOwogICAgIGNkcy0+b3BzID0gcmVtdXNfb3BzOworICAgIGNkcy0+
Y29uY3JldGVfZGF0YSA9IHJzOworICAgIHJzLT5pbnRlcnZhbCA9IGluZm8tPmludGVydmFsOwog
CiAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxsYmFjayA9IHJlbXVzX2NoZWNrcG9pbnRfc3Ry
ZWFtX3dyaXR0ZW47CiAKQEAgLTExMiwxNSArMTE1LDIwIEBAIHN0YXRpYyB2b2lkIHJlbXVzX3Rl
YXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYyk7CiB2b2lkIGxpYnhsX19yZW11c190ZWFyZG93bihs
aWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
X3NhdmVfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19zdGF0ZSAqcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7CisgICAg
bGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocnMsICpkc3MsIHJz
KTsKKworICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3N0YXRlICpjb25zdCBjZHMgPSAmZHNzLT5jZHM7CisKICAgICBFR0NfR0M7CiAK
ICAgICBMT0coV0FSTiwgIlJlbXVzOiBEb21haW4gc3VzcGVuZCB0ZXJtaW5hdGVkIHdpdGggcmMg
JWQsIgogICAgICAgICAiIHRlYXJkb3duIFJlbXVzIGRldmljZXMuLi4iLCByYyk7Ci0gICAgZHNz
LT5jZHMuY2FsbGJhY2sgPSByZW11c190ZWFyZG93bl9kb25lOwotICAgIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfdGVhcmRvd24oZWdjLCAmZHNzLT5jZHMpOworICAgIGNkcy0+Y2FsbGJhY2sg
PSByZW11c190ZWFyZG93bl9kb25lOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVh
cmRvd24oZWdjLCBjZHMpOwogfQogCiBzdGF0aWMgdm9pZCByZW11c190ZWFyZG93bl9kb25lKGxp
YnhsX19lZ2MgKmVnYywKQEAgLTI5NCw5ICszMDIsOSBAQCBzdGF0aWMgdm9pZCByZW11c19kZXZp
Y2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICovCiAKICAgICAvKiBTZXQgY2hl
Y2twb2ludCBpbnRlcnZhbCB0aW1lb3V0ICovCi0gICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdp
c3Rlcl9yZWwoYW8sICZkc3MtPmNoZWNrcG9pbnRfdGltZW91dCwKKyAgICByYyA9IGxpYnhsX19l
dl90aW1lX3JlZ2lzdGVyX3JlbChhbywgJmRzcy0+cnMuY2hlY2twb2ludF90aW1lb3V0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbXVzX25leHRfY2hlY2twb2ludCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmludGVydmFsKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPnJzLmludGVydmFsKTsKIAog
ICAgIGlmIChyYykKICAgICAgICAgZ290byBvdXQ7CkBAIC0zMTIsNyArMzIwLDcgQEAgc3RhdGlj
IHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3Rp
bWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKICAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ09OVEFJTkVSX09GKGV2LCAqZHNzLCBjaGVja3BvaW50X3RpbWVvdXQpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENPTlRBSU5FUl9PRihldiwgKmRzcywgcnMuY2hlY2twb2lu
dF90aW1lb3V0KTsKIAogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCmRpZmYgLS1naXQgYS90
b29scy9saWJ4bC9saWJ4bF9yZW11c19kaXNrX2RyYmQuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzX2Rpc2tfZHJiZC5jCmluZGV4IDRkZGRjNTguLjg0NGRkNjYgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX3JlbXVzX2Rpc2tfZHJiZC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzX2Rpc2tfZHJiZC5jCkBAIC0yOCwxMCArMjgsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgbGlieGxf
X3JlbXVzX2RyYmRfZGlzayB7CiAKIGludCBpbml0X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKKyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUg
KnJzID0gY2RzLT5jb25jcmV0ZV9kYXRhOwogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCi0g
ICAgY2RzLT5kcmJkX3Byb2JlX3NjcmlwdCA9IEdDU1BSSU5URigiJXMvYmxvY2stZHJiZC1wcm9i
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feGVuX3Nj
cmlwdF9kaXJfcGF0aCgpKTsKKyAgICBycy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYo
IiVzL2Jsb2NrLWRyYmQtcHJvYmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9feGVuX3NjcmlwdF9kaXJfcGF0aCgpKTsKIAogICAgIHJldHVybiAwOwogfQpA
QCAtOTYsNiArOTcsNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19leGVjKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiAgICAgaW50IGFycmF5c2l6ZSwg
bnIgPSAwLCByYzsKICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9IGRldi0+YmFj
a2VuZF9kZXY7CiAgICAgbGlieGxfX2FzeW5jX2V4ZWNfc3RhdGUgKmFlcyA9ICZkZXYtPmFvZGV2
LmFlczsKKyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUgKnJzID0gZGV2LT5jZHMtPmNvbmNyZXRlX2Rh
dGE7CiAgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIHNldHVwIGVudiAm
IGFyZ3MgKi8KQEAgLTEwNyw3ICsxMDksNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19leGVj
KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiAgICAgYXJy
YXlzaXplID0gMzsKICAgICBuciA9IDA7CiAgICAgR0NORVdfQVJSQVkoYWVzLT5hcmdzLCBhcnJh
eXNpemUpOwotICAgIGFlcy0+YXJnc1tucisrXSA9IGRldi0+Y2RzLT5kcmJkX3Byb2JlX3Njcmlw
dDsKKyAgICBhZXMtPmFyZ3NbbnIrK10gPSBycy0+ZHJiZF9wcm9iZV9zY3JpcHQ7CiAgICAgYWVz
LT5hcmdzW25yKytdID0gZGlzay0+cGRldl9wYXRoOwogICAgIGFlcy0+YXJnc1tucisrXSA9IE5V
TEw7CiAgICAgYXNzZXJ0KG5yIDw9IGFycmF5c2l6ZSk7Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:07 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBEx-0007kq-Gk; Sun, 28 Feb 2016 23:59:07 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEw-0007ka-GX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:06 +0000
Received: from [85.158.139.211] by server-2.bemta-5.messagelabs.com id
 6D/8A-03303-9C983D65; Sun, 28 Feb 2016 23:59:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1456703944!25563019!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22099 invoked from network); 28 Feb 2016 23:59:04 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-9.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:04 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEt-00010M-Rs
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBEt-000248-Nr
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:03 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBEt-000248-Nr@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:03 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: move remus state into a
	seperate structure
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGJiM2VmN2VmYTRhNWQwNzUyZGUxZDQyNTg3MmFhNzUxYTYzN2Q0ZWIKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogVHVlIERl
YyAxNSAxMzo1OTo1MiAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBtb3ZlIHJlbXVzIHN0YXRlIGludG8gYSBzZXBlcmF0ZSBzdHJ1Y3R1cmUK
ICAgIAogICAgQWRkIGEgbmV3IHN0cnVjdHVyZSByZW11cyBzdGF0ZSwgYW5kIG1vdmUgY29uY3Jl
dGUgbGF5ZXIncyBwcml2YXRlCiAgICBtZW1iZXIgdG8gcmVtdXMgc3RhdGUuCiAgICBpdCBpcyBw
dXJlIHJlZmFjdG9yaW5nIGFuZCBubyBmdW5jdGlvbmFsIGNoYW5nZXMuCiAgICBJbml0IGludGVy
dmFsIGluIGxpYnhsX19yZW11c19zZXR1cCgpLiBJdCBpcyBzYWZlIHRvIG1vdmUgdGhpcyBpbml0
aWFsaXNhdGlvbiwKICAgIGJlY2F1c2UgdGhpcyB2YWx1ZSBpcyBvbmx5IHVzZWQgZm9yIHJlbXVz
LCBhbmQgcmVtdXMgd2lsbCB1c2UgdGhpcyB2YWx1ZSBhZnRlcgogICAgbGlieGxfX3JlbXVzX3Nl
dHVwKCkuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IFdlbiBDb25neWFuZyA8d2VuY3lAY24uZnVq
aXRzdS5jb20+CiAgICBTaWduZWQtb2ZmLWJ5OiBZYW5nIEhvbmd5YW5nIDxob25neWFuZy55YW5n
QGVhc3lzdGFjay5jbj4KICAgIFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv
bnJhZC53aWxrQG9yYWNsZS5jb20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgICAgICAgICB8ICAyICst
CiB0b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jICAgICAgICB8ICAzICstLQogdG9vbHMvbGli
eGwvbGlieGxfaW50ZXJuYWwuaCAgICAgICAgfCAzNSArKysrKysrKysrKysrKystLS0tLS0tLS0t
LQogdG9vbHMvbGlieGwvbGlieGxfbmV0YnVmZmVyLmMgICAgICAgfCA0OSArKysrKysrKysrKysr
KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9yZW11cy5jICAgICAg
ICAgICB8IDI0ICsrKysrKysrKysrKy0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfcmVtdXNfZGlz
a19kcmJkLmMgfCAgOCArKystLS0KIDYgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwg
NDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xz
L2xpYnhsL2xpYnhsLmMKaW5kZXggNThiNDU3NC4uNGNkYzE2OSAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGwuYworKysgYi90b29scy9saWJ4bC9saWJ4bC5jCkBAIC04ODEsNyArODgxLDcg
QEAgaW50IGxpYnhsX2RvbWFpbl9yZW11c19zdGFydChsaWJ4bF9jdHggKmN0eCwgbGlieGxfZG9t
YWluX3JlbXVzX2luZm8gKmluZm8sCiAgICAgYXNzZXJ0KGluZm8pOwogCiAgICAgLyogUG9pbnQg
b2Ygbm8gcmV0dXJuICovCi0gICAgbGlieGxfX3JlbXVzX3NldHVwKGVnYywgZHNzKTsKKyAgICBs
aWJ4bF9fcmVtdXNfc2V0dXAoZWdjLCAmZHNzLT5ycyk7CiAgICAgcmV0dXJuIEFPX0lOUFJPR1JF
U1M7CiAKICBvdXQ6CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jIGIv
dG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUuYwppbmRleCAyOGUyYTQxLi40ZWI3OTYwIDEwMDY0
NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2RvbV9zYXZlLmMKQEAgLTM4Myw3ICszODMsNiBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2
ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogICAgIH0K
IAogICAgIGlmIChkc3MtPmNoZWNrcG9pbnRlZF9zdHJlYW0gPT0gTElCWExfQ0hFQ0tQT0lOVEVE
X1NUUkVBTV9SRU1VUykgewotICAgICAgICBkc3MtPmludGVydmFsID0gcl9pbmZvLT5pbnRlcnZh
bDsKICAgICAgICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKHJfaW5mby0+Y29tcHJlc3Npb24pKQog
ICAgICAgICAgICAgZHNzLT54Y2ZsYWdzIHw9IFhDRkxBR1NfQ0hFQ0tQT0lOVF9DT01QUkVTUzsK
ICAgICB9CkBAIC00MzMsNyArNDMyLDcgQEAgc3RhdGljIHZvaWQgZG9tYWluX3NhdmVfZG9uZShs
aWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAqIGZyb20gc2VuZGluZyBjaGVja3BvaW50cy4gVGVh
cmRvd24gdGhlIG5ldHdvcmsgYnVmZmVycyBhbmQKICAgICAgICAgICogcmVsZWFzZSBuZXRsaW5r
IHJlc291cmNlcy4gIFRoaXMgaXMgYW4gYXN5bmMgb3AuCiAgICAgICAgICAqLwotICAgICAgICBs
aWJ4bF9fcmVtdXNfdGVhcmRvd24oZWdjLCBkc3MsIHJjKTsKKyAgICAgICAgbGlieGxfX3JlbXVz
X3RlYXJkb3duKGVnYywgJmRzcy0+cnMsIHJjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xp
YnhsX2ludGVybmFsLmgKaW5kZXggMjg0N2QxMy4uYTFhYWU5NyAxMDA2NDQKLS0tIGEvdG9vbHMv
bGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o
CkBAIC0yODk0LDYgKzI4OTQsNyBAQCBzdHJ1Y3QgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19z
dGF0ZSB7CiAgICAgbGlieGxfX2FvICphbzsKICAgICB1aW50MzJfdCBkb21pZDsKICAgICBsaWJ4
bF9fY2hlY2twb2ludF9jYWxsYmFjayAqY2FsbGJhY2s7CisgICAgdm9pZCAqY29uY3JldGVfZGF0
YTsKICAgICBpbnQgZGV2aWNlX2tpbmRfZmxhZ3M7CiAgICAgLyogVGhlIG9wcyBtdXN0IGJlIHBv
aW50ZXIgYXJyYXksIGFuZCB0aGUgbGFzdCBvcHMgbXVzdCBiZSBOVUxMLiAqLwogICAgIGNvbnN0
IGxpYnhsX19jaGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgKipvcHM7CkBAIC0yOTE3LDE2
ICsyOTE4LDYgQEAgc3RydWN0IGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgewogICAg
IGludCBudW1fZGlza3M7CiAKICAgICBsaWJ4bF9fbXVsdGlkZXYgbXVsdGlkZXY7Ci0KLSAgICAv
Ki0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZpY2Utc3BlY2lmaWMpIGxheWVyIG9ubHkg
LS0tLS0qLwotCi0gICAgLyogcHJpdmF0ZSBmb3IgbmljIGRldmljZSBzdWJraW5kIG9wcyAqLwot
ICAgIGNoYXIgKm5ldGJ1ZnNjcmlwdDsKLSAgICBzdHJ1Y3Qgbmxfc29jayAqbmxzb2NrOwotICAg
IHN0cnVjdCBubF9jYWNoZSAqcWRpc2NfY2FjaGU7Ci0KLSAgICAvKiBwcml2YXRlIGZvciBkcmJk
IGRpc2sgc3Via2luZCBvcHMgKi8KLSAgICBjaGFyICpkcmJkX3Byb2JlX3NjcmlwdDsKIH07CiAK
IC8qCkBAIC0yOTc0LDYgKzI5NjUsMjMgQEAgX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50
X2RldmljZXNfcHJlcmVzdW1lKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMp
OwogX2hpZGRlbiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfY29tbWl0KGxpYnhsX19l
Z2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMpOworCisvKi0tLS0tIFJlbXVzIHJlbGF0ZWQg
c3RhdGUgc3RydWN0dXJlIC0tLS0tKi8KK3R5cGVkZWYgc3RydWN0IGxpYnhsX19yZW11c19zdGF0
ZSBsaWJ4bF9fcmVtdXNfc3RhdGU7CitzdHJ1Y3QgbGlieGxfX3JlbXVzX3N0YXRlIHsKKyAgICAv
KiBwcml2YXRlICovCisgICAgbGlieGxfX2V2X3RpbWUgY2hlY2twb2ludF90aW1lb3V0OyAvKiB1
c2VkIGZvciBSZW11cyBjaGVja3BvaW50ICovCisgICAgaW50IGludGVydmFsOyAvKiBjaGVja3Bv
aW50IGludGVydmFsICovCisKKyAgICAvKi0tLS0tIHByaXZhdGUgZm9yIGNvbmNyZXRlIChkZXZp
Y2Utc3BlY2lmaWMpIGxheWVyIG9ubHkgLS0tLS0qLworICAgIC8qIHByaXZhdGUgZm9yIG5pYyBk
ZXZpY2Ugc3Via2luZCBvcHMgKi8KKyAgICBjaGFyICpuZXRidWZzY3JpcHQ7CisgICAgc3RydWN0
IG5sX3NvY2sgKm5sc29jazsKKyAgICBzdHJ1Y3QgbmxfY2FjaGUgKnFkaXNjX2NhY2hlOworCisg
ICAgLyogcHJpdmF0ZSBmb3IgZHJiZCBkaXNrIHN1YmtpbmQgb3BzICovCisgICAgY2hhciAqZHJi
ZF9wcm9iZV9zY3JpcHQ7Cit9OwogX2hpZGRlbiBpbnQgbGlieGxfX25ldGJ1ZmZlcl9lbmFibGVk
KGxpYnhsX19nYyAqZ2MpOwogCiAvKi0tLS0tIExlZ2FjeSBjb252ZXJzaW9uIGhlbHBlciAtLS0t
LSovCkBAIC0zMTI3LDkgKzMxMzUsOCBAQCBzdHJ1Y3QgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRl
IHsKICAgICBpbnQgaHZtOwogICAgIGludCB4Y2ZsYWdzOwogICAgIGxpYnhsX19kb21haW5fc3Vz
cGVuZF9zdGF0ZSBkc3BzOworICAgIGxpYnhsX19yZW11c19zdGF0ZSByczsKICAgICBsaWJ4bF9f
Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlIGNkczsKLSAgICBsaWJ4bF9fZXZfdGltZSBjaGVja3Bv
aW50X3RpbWVvdXQ7IC8qIHVzZWQgZm9yIFJlbXVzIGNoZWNrcG9pbnQgKi8KLSAgICBpbnQgaW50
ZXJ2YWw7IC8qIGNoZWNrcG9pbnQgaW50ZXJ2YWwgKGZvciBSZW11cykgKi8KICAgICBsaWJ4bF9f
c3RyZWFtX3dyaXRlX3N0YXRlIHN3czsKICAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoIGxvZ2Rp
cnR5OwogfTsKQEAgLTM1MzUsOSArMzU0Miw5IEBAIF9oaWRkZW4gdm9pZCBsaWJ4bF9fZG9tYWlu
X3N1c3BlbmRfY2FsbGJhY2sodm9pZCAqZGF0YSk7CiAKIC8qIFJlbXVzIHNldHVwIGFuZCB0ZWFy
ZG93biAqLwogX2hpZGRlbiB2b2lkIGxpYnhsX19yZW11c19zZXR1cChsaWJ4bF9fZWdjICplZ2Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0
ZSAqZHNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3JlbXVzX3N0
YXRlICpycyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3RlYXJkb3duKGxpYnhsX19lZ2Mg
KmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9z
YXZlX3N0YXRlICpkc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs
X19yZW11c19zdGF0ZSAqcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCByYyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX3JlbXVzX3Jlc3RvcmVfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19k
b21haW5fY3JlYXRlX3N0YXRlICpkY3MpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf
bmV0YnVmZmVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwppbmRleCAzM2MyYTQy
Li41YzdlOGEyIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYworKysg
Yi90b29scy9saWJ4bC9saWJ4bF9uZXRidWZmZXIuYwpAQCAtNDIsMTcgKzQyLDE4IEBAIGludCBp
bml0X3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsK
ICAgICBpbnQgcmMsIHJldDsKICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENP
TlRBSU5FUl9PRihjZHMsICpkc3MsIGNkcyk7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9
IGNkcy0+Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCi0gICAg
Y2RzLT5ubHNvY2sgPSBubF9zb2NrZXRfYWxsb2MoKTsKLSAgICBpZiAoIWNkcy0+bmxzb2NrKSB7
CisgICAgcnMtPm5sc29jayA9IG5sX3NvY2tldF9hbGxvYygpOworICAgIGlmICghcnMtPm5sc29j
aykgewogICAgICAgICBMT0coRVJST1IsICJjYW5ub3QgYWxsb2NhdGUgbmwgc29ja2V0Iik7CiAg
ICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAg
cmV0ID0gbmxfY29ubmVjdChjZHMtPm5sc29jaywgTkVUTElOS19ST1VURSk7CisgICAgcmV0ID0g
bmxfY29ubmVjdChycy0+bmxzb2NrLCBORVRMSU5LX1JPVVRFKTsKICAgICBpZiAocmV0KSB7CiAg
ICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBvcGVuIG5ldGxpbmsgc29ja2V0OiAlcyIsCiAg
ICAgICAgICAgICBubF9nZXRlcnJvcihyZXQpKTsKQEAgLTYxLDcgKzYyLDcgQEAgaW50IGluaXRf
c3Via2luZF9uaWMobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQogICAgIH0K
IAogICAgIC8qIGdldCBsaXN0IG9mIGFsbCBxZGlzY3MgaW5zdGFsbGVkIG9uIG5ldHdvcmsgZGV2
cy4gKi8KLSAgICByZXQgPSBydG5sX3FkaXNjX2FsbG9jX2NhY2hlKGNkcy0+bmxzb2NrLCAmY2Rz
LT5xZGlzY19jYWNoZSk7CisgICAgcmV0ID0gcnRubF9xZGlzY19hbGxvY19jYWNoZShycy0+bmxz
b2NrLCAmcnMtPnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJP
UiwgImZhaWxlZCB0byBhbGxvY2F0ZSBxZGlzYyBjYWNoZTogJXMiLAogICAgICAgICAgICAgbmxf
Z2V0ZXJyb3IocmV0KSk7CkBAIC03MCwxMCArNzEsMTAgQEAgaW50IGluaXRfc3Via2luZF9uaWMo
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQogICAgIH0KIAogICAgIGlmIChk
c3MtPnJlbXVzLT5uZXRidWZzY3JpcHQpIHsKLSAgICAgICAgY2RzLT5uZXRidWZzY3JpcHQgPSBs
aWJ4bF9fc3RyZHVwKGdjLCBkc3MtPnJlbXVzLT5uZXRidWZzY3JpcHQpOworICAgICAgICBycy0+
bmV0YnVmc2NyaXB0ID0gbGlieGxfX3N0cmR1cChnYywgZHNzLT5yZW11cy0+bmV0YnVmc2NyaXB0
KTsKICAgICB9IGVsc2UgewotICAgICAgICBjZHMtPm5ldGJ1ZnNjcmlwdCA9IEdDU1BSSU5URigi
JXMvcmVtdXMtbmV0YnVmLXNldHVwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlieGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CisgICAgICAgIHJzLT5uZXRidWZz
Y3JpcHQgPSBHQ1NQUklOVEYoIiVzL3JlbXVzLW5ldGJ1Zi1zZXR1cCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3hlbl9zY3JpcHRfZGlyX3BhdGgoKSk7CiAg
ICAgfQogCiAgICAgcmMgPSAwOwpAQCAtODQsMjAgKzg1LDIyIEBAIG91dDoKIAogdm9pZCBjbGVh
bnVwX3N1YmtpbmRfbmljKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsK
KyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUgKnJzID0gY2RzLT5jb25jcmV0ZV9kYXRhOworCiAgICAg
U1RBVEVfQU9fR0MoY2RzLT5hbyk7CiAKICAgICAvKiBmcmVlIHFkaXNjIGNhY2hlICovCi0gICAg
aWYgKGNkcy0+cWRpc2NfY2FjaGUpIHsKLSAgICAgICAgbmxfY2FjaGVfY2xlYXIoY2RzLT5xZGlz
Y19jYWNoZSk7Ci0gICAgICAgIG5sX2NhY2hlX2ZyZWUoY2RzLT5xZGlzY19jYWNoZSk7Ci0gICAg
ICAgIGNkcy0+cWRpc2NfY2FjaGUgPSBOVUxMOworICAgIGlmIChycy0+cWRpc2NfY2FjaGUpIHsK
KyAgICAgICAgbmxfY2FjaGVfY2xlYXIocnMtPnFkaXNjX2NhY2hlKTsKKyAgICAgICAgbmxfY2Fj
aGVfZnJlZShycy0+cWRpc2NfY2FjaGUpOworICAgICAgICBycy0+cWRpc2NfY2FjaGUgPSBOVUxM
OwogICAgIH0KIAogICAgIC8qIGNsb3NlICYgZnJlZSBubHNvY2sgKi8KLSAgICBpZiAoY2RzLT5u
bHNvY2spIHsKLSAgICAgICAgbmxfY2xvc2UoY2RzLT5ubHNvY2spOwotICAgICAgICBubF9zb2Nr
ZXRfZnJlZShjZHMtPm5sc29jayk7Ci0gICAgICAgIGNkcy0+bmxzb2NrID0gTlVMTDsKKyAgICBp
ZiAocnMtPm5sc29jaykgeworICAgICAgICBubF9jbG9zZShycy0+bmxzb2NrKTsKKyAgICAgICAg
bmxfc29ja2V0X2ZyZWUocnMtPm5sc29jayk7CisgICAgICAgIHJzLT5ubHNvY2sgPSBOVUxMOwog
ICAgIH0KIH0KIApAQCAtMTUwLDEzICsxNTMsMTQgQEAgc3RhdGljIGludCBpbml0X3FkaXNjKGxp
YnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICBpbnQgcmMsIHJldCwgaWZp
bmRleDsKICAgICBzdHJ1Y3QgcnRubF9saW5rICppZmIgPSBOVUxMOwogICAgIHN0cnVjdCBydG5s
X3FkaXNjICpxZGlzYyA9IE5VTEw7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9IGNkcy0+
Y29uY3JldGVfZGF0YTsKIAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogTm93
IHRoYXQgd2UgaGF2ZSBicm91Z2h0IHVwIFJFTVVTX0lGQiBkZXZpY2Ugd2l0aCBwbHVnIHFkaXNj
IGZvcgogICAgICAqIHRoaXMgdmlmLCBzbyB3ZSBuZWVkIHRvIHJlZmlsbCB0aGUgcWRpc2MgY2Fj
aGUuCiAgICAgICovCi0gICAgcmV0ID0gbmxfY2FjaGVfcmVmaWxsKGNkcy0+bmxzb2NrLCBjZHMt
PnFkaXNjX2NhY2hlKTsKKyAgICByZXQgPSBubF9jYWNoZV9yZWZpbGwocnMtPm5sc29jaywgcnMt
PnFkaXNjX2NhY2hlKTsKICAgICBpZiAocmV0KSB7CiAgICAgICAgIExPRyhFUlJPUiwgImNhbm5v
dCByZWZpbGwgcWRpc2MgY2FjaGU6ICVzIiwgbmxfZ2V0ZXJyb3IocmV0KSk7CiAgICAgICAgIHJj
ID0gRVJST1JfRkFJTDsKQEAgLTE2NCw3ICsxNjgsNyBAQCBzdGF0aWMgaW50IGluaXRfcWRpc2Mo
bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzLAogICAgIH0KIAogICAgIC8qIGdl
dCBhIGhhbmRsZSB0byB0aGUgUkVNVVNfSUZCIGludGVyZmFjZSAqLwotICAgIHJldCA9IHJ0bmxf
bGlua19nZXRfa2VybmVsKGNkcy0+bmxzb2NrLCAwLCByZW11c19uaWMtPmlmYiwgJmlmYik7Cisg
ICAgcmV0ID0gcnRubF9saW5rX2dldF9rZXJuZWwocnMtPm5sc29jaywgMCwgcmVtdXNfbmljLT5p
ZmIsICZpZmIpOwogICAgIGlmIChyZXQpIHsKICAgICAgICAgTE9HKEVSUk9SLCAiY2Fubm90IG9i
dGFpbiBoYW5kbGUgZm9yICVzOiAlcyIsIHJlbXVzX25pYy0+aWZiLAogICAgICAgICAgICAgbmxf
Z2V0ZXJyb3IocmV0KSk7CkBAIC0xODcsNyArMTkxLDcgQEAgc3RhdGljIGludCBpbml0X3FkaXNj
KGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcywKICAgICAgKiBUaGVyZSBpcyBu
byBuZWVkIHRvIGV4cGxpY2l0bHkgZnJlZSB0aGlzIHFkaXNjIGFzIGl0cyBqdXN0IGEKICAgICAg
KiByZWZlcmVuY2UgZnJvbSB0aGUgcWRpc2MgY2FjaGUgd2UgYWxsb2NhdGVkIGVhcmxpZXIuCiAg
ICAgICovCi0gICAgcWRpc2MgPSBydG5sX3FkaXNjX2dldF9ieV9wYXJlbnQoY2RzLT5xZGlzY19j
YWNoZSwgaWZpbmRleCwgVENfSF9ST09UKTsKKyAgICBxZGlzYyA9IHJ0bmxfcWRpc2NfZ2V0X2J5
X3BhcmVudChycy0+cWRpc2NfY2FjaGUsIGlmaW5kZXgsIFRDX0hfUk9PVCk7CiAgICAgaWYgKHFk
aXNjKSB7CiAgICAgICAgIGNvbnN0IGNoYXIgKnRjX2tpbmQgPSBydG5sX3RjX2dldF9raW5kKFRD
X0NBU1QocWRpc2MpKTsKICAgICAgICAgLyogU2FuaXR5IGNoZWNrOiBFbnN1cmUgdGhhdCB0aGUg
cm9vdCBxZGlzYyBpcyBhIHBsdWcgcWRpc2MuICovCkBAIC0yMzgsMTEgKzI0MiwxMiBAQCBzdGF0
aWMgdm9pZCBzZXR1cF9hc3luY19leGVjKGxpYnhsX19jaGVja3BvaW50X2RldmljZSAqZGV2LCBj
aGFyICpvcCkKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5j
b25jcmV0ZV9kYXRhOwogICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyA9
IGRldi0+Y2RzOwogICAgIGxpYnhsX19hc3luY19leGVjX3N0YXRlICphZXMgPSAmZGV2LT5hb2Rl
di5hZXM7CisgICAgbGlieGxfX3JlbXVzX3N0YXRlICpycyA9IGNkcy0+Y29uY3JldGVfZGF0YTsK
IAogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCiAgICAgLyogQ29udmVuaWVuY2UgYWxpYXNl
cyAqLwotICAgIGNoYXIgKmNvbnN0IHNjcmlwdCA9IGxpYnhsX19zdHJkdXAoZ2MsIGNkcy0+bmV0
YnVmc2NyaXB0KTsKKyAgICBjaGFyICpjb25zdCBzY3JpcHQgPSBsaWJ4bF9fc3RyZHVwKGdjLCBy
cy0+bmV0YnVmc2NyaXB0KTsKICAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGNkcy0+ZG9taWQ7
CiAgICAgY29uc3QgaW50IGRldl9pZCA9IHJlbXVzX25pYy0+ZGV2aWQ7CiAgICAgY29uc3QgY2hh
ciAqY29uc3QgdmlmID0gcmVtdXNfbmljLT52aWY7CkBAIC0zMzMsNiArMzM4LDcgQEAgc3RhdGlj
IHZvaWQgbmV0YnVmX3NldHVwX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGlieGxf
X2NoZWNrcG9pbnRfZGV2aWNlICpkZXYgPSBDT05UQUlORVJfT0YoYW9kZXYsICpkZXYsIGFvZGV2
KTsKICAgICBsaWJ4bF9fcmVtdXNfZGV2aWNlX25pYyAqcmVtdXNfbmljID0gZGV2LT5jb25jcmV0
ZV9kYXRhOwogICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcyA9IGRldi0+
Y2RzOworICAgIGxpYnhsX19yZW11c19zdGF0ZSAqcnMgPSBjZHMtPmNvbmNyZXRlX2RhdGE7CiAg
ICAgY29uc3QgY2hhciAqb3V0X3BhdGhfYmFzZSwgKmhvdHBsdWdfZXJyb3IgPSBOVUxMOwogCiAg
ICAgU1RBVEVfQU9fR0MoY2RzLT5hbyk7CkBAIC0zNzcsNyArMzgzLDcgQEAgc3RhdGljIHZvaWQg
bmV0YnVmX3NldHVwX3NjcmlwdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAKICAgICBpZiAoaG90cGx1
Z19lcnJvcikgewogICAgICAgICBMT0coRVJST1IsICJuZXRidWYgc2NyaXB0ICVzIHNldHVwIGZh
aWxlZCBmb3IgdmlmICVzOiAlcyIsCi0gICAgICAgICAgICBjZHMtPm5ldGJ1ZnNjcmlwdCwgdmlm
LCBob3RwbHVnX2Vycm9yKTsKKyAgICAgICAgICAgIHJzLT5uZXRidWZzY3JpcHQsIHZpZiwgaG90
cGx1Z19lcnJvcik7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7
CiAgICAgfQpAQCAtNDQ1LDYgKzQ1MSw3IEBAIHN0YXRpYyBpbnQgcmVtdXNfbmV0YnVmX29wKGxp
YnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgYnVmZmVyX29wKQogewogICAgIGludCByYywgcmV0OworICAgIGxpYnhsX19yZW11
c19zdGF0ZSAqcnMgPSBjZHMtPmNvbmNyZXRlX2RhdGE7CiAKICAgICBTVEFURV9BT19HQyhjZHMt
PmFvKTsKIApAQCAtNDU4LDcgKzQ2NSw3IEBAIHN0YXRpYyBpbnQgcmVtdXNfbmV0YnVmX29wKGxp
YnhsX19yZW11c19kZXZpY2VfbmljICpyZW11c19uaWMsCiAgICAgICAgIGdvdG8gb3V0OwogICAg
IH0KIAotICAgIHJldCA9IHJ0bmxfcWRpc2NfYWRkKGNkcy0+bmxzb2NrLCByZW11c19uaWMtPnFk
aXNjLCBOTE1fRl9SRVFVRVNUKTsKKyAgICByZXQgPSBydG5sX3FkaXNjX2FkZChycy0+bmxzb2Nr
LCByZW11c19uaWMtPnFkaXNjLCBOTE1fRl9SRVFVRVNUKTsKICAgICBpZiAocmV0KSB7CiAgICAg
ICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CmRpZmYgLS1naXQgYS90b29s
cy9saWJ4bC9saWJ4bF9yZW11cy5jIGIvdG9vbHMvbGlieGwvbGlieGxfcmVtdXMuYwppbmRleCA4
NmY4MWMzLi5lODNjZGM5IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCisr
KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKQEAgLTM4LDkgKzM4LDEwIEBAIHN0YXRpYyB2
b2lkIGxpYnhsX19yZW11c19kb21haW5fc3VzcGVuZF9jYWxsYmFjayh2b2lkICpkYXRhKTsKIHN0
YXRpYyB2b2lkIGxpYnhsX19yZW11c19kb21haW5fcmVzdW1lX2NhbGxiYWNrKHZvaWQgKmRhdGEp
Owogc3RhdGljIHZvaWQgbGlieGxfX3JlbXVzX2RvbWFpbl9zYXZlX2NoZWNrcG9pbnRfY2FsbGJh
Y2sodm9pZCAqZGF0YSk7CiAKLXZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNz
KQordm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fcmVtdXNf
c3RhdGUgKnJzKQogeworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJ
TkVSX09GKHJzLCAqZHNzLCBycyk7CisKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCiAg
ICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY29uc3QgY2RzID0gJmRzcy0+Y2Rz
OwogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9yZW11c19pbmZvICpjb25zdCBpbmZvID0gZHNzLT5y
ZW11czsKQEAgLTY0LDYgKzY1LDggQEAgdm9pZCBsaWJ4bF9fcmVtdXNfc2V0dXAobGlieGxfX2Vn
YyAqZWdjLAogICAgIGNkcy0+ZG9taWQgPSBkc3MtPmRvbWlkOwogICAgIGNkcy0+Y2FsbGJhY2sg
PSByZW11c19zZXR1cF9kb25lOwogICAgIGNkcy0+b3BzID0gcmVtdXNfb3BzOworICAgIGNkcy0+
Y29uY3JldGVfZGF0YSA9IHJzOworICAgIHJzLT5pbnRlcnZhbCA9IGluZm8tPmludGVydmFsOwog
CiAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxsYmFjayA9IHJlbXVzX2NoZWNrcG9pbnRfc3Ry
ZWFtX3dyaXR0ZW47CiAKQEAgLTExMiwxNSArMTE1LDIwIEBAIHN0YXRpYyB2b2lkIHJlbXVzX3Rl
YXJkb3duX2RvbmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCByYyk7CiB2b2lkIGxpYnhsX19yZW11c190ZWFyZG93bihs
aWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
X3NhdmVfc3RhdGUgKmRzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11
c19zdGF0ZSAqcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7CisgICAg
bGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YocnMsICpkc3MsIHJz
KTsKKworICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9fY2hlY2twb2lu
dF9kZXZpY2VzX3N0YXRlICpjb25zdCBjZHMgPSAmZHNzLT5jZHM7CisKICAgICBFR0NfR0M7CiAK
ICAgICBMT0coV0FSTiwgIlJlbXVzOiBEb21haW4gc3VzcGVuZCB0ZXJtaW5hdGVkIHdpdGggcmMg
JWQsIgogICAgICAgICAiIHRlYXJkb3duIFJlbXVzIGRldmljZXMuLi4iLCByYyk7Ci0gICAgZHNz
LT5jZHMuY2FsbGJhY2sgPSByZW11c190ZWFyZG93bl9kb25lOwotICAgIGxpYnhsX19jaGVja3Bv
aW50X2RldmljZXNfdGVhcmRvd24oZWdjLCAmZHNzLT5jZHMpOworICAgIGNkcy0+Y2FsbGJhY2sg
PSByZW11c190ZWFyZG93bl9kb25lOworICAgIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfdGVh
cmRvd24oZWdjLCBjZHMpOwogfQogCiBzdGF0aWMgdm9pZCByZW11c190ZWFyZG93bl9kb25lKGxp
YnhsX19lZ2MgKmVnYywKQEAgLTI5NCw5ICszMDIsOSBAQCBzdGF0aWMgdm9pZCByZW11c19kZXZp
Y2VzX2NvbW1pdF9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICovCiAKICAgICAvKiBTZXQgY2hl
Y2twb2ludCBpbnRlcnZhbCB0aW1lb3V0ICovCi0gICAgcmMgPSBsaWJ4bF9fZXZfdGltZV9yZWdp
c3Rlcl9yZWwoYW8sICZkc3MtPmNoZWNrcG9pbnRfdGltZW91dCwKKyAgICByYyA9IGxpYnhsX19l
dl90aW1lX3JlZ2lzdGVyX3JlbChhbywgJmRzcy0+cnMuY2hlY2twb2ludF90aW1lb3V0LAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbXVzX25leHRfY2hlY2twb2ludCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPmludGVydmFsKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3MtPnJzLmludGVydmFsKTsKIAog
ICAgIGlmIChyYykKICAgICAgICAgZ290byBvdXQ7CkBAIC0zMTIsNyArMzIwLDcgQEAgc3RhdGlj
IHZvaWQgcmVtdXNfbmV4dF9jaGVja3BvaW50KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3Rp
bWUgKmV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKIHsKICAg
ICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQ09OVEFJTkVSX09GKGV2LCAqZHNzLCBjaGVja3BvaW50X3RpbWVvdXQpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENPTlRBSU5FUl9PRihldiwgKmRzcywgcnMuY2hlY2twb2lu
dF90aW1lb3V0KTsKIAogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCmRpZmYgLS1naXQgYS90
b29scy9saWJ4bC9saWJ4bF9yZW11c19kaXNrX2RyYmQuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzX2Rpc2tfZHJiZC5jCmluZGV4IDRkZGRjNTguLjg0NGRkNjYgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYnhsL2xpYnhsX3JlbXVzX2Rpc2tfZHJiZC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Jl
bXVzX2Rpc2tfZHJiZC5jCkBAIC0yOCwxMCArMjgsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgbGlieGxf
X3JlbXVzX2RyYmRfZGlzayB7CiAKIGludCBpbml0X3N1YmtpbmRfZHJiZF9kaXNrKGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKKyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUg
KnJzID0gY2RzLT5jb25jcmV0ZV9kYXRhOwogICAgIFNUQVRFX0FPX0dDKGNkcy0+YW8pOwogCi0g
ICAgY2RzLT5kcmJkX3Byb2JlX3NjcmlwdCA9IEdDU1BSSU5URigiJXMvYmxvY2stZHJiZC1wcm9i
ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feGVuX3Nj
cmlwdF9kaXJfcGF0aCgpKTsKKyAgICBycy0+ZHJiZF9wcm9iZV9zY3JpcHQgPSBHQ1NQUklOVEYo
IiVzL2Jsb2NrLWRyYmQtcHJvYmUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsaWJ4bF9feGVuX3NjcmlwdF9kaXJfcGF0aCgpKTsKIAogICAgIHJldHVybiAwOwogfQpA
QCAtOTYsNiArOTcsNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19leGVjKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiAgICAgaW50IGFycmF5c2l6ZSwg
bnIgPSAwLCByYzsKICAgICBjb25zdCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzayA9IGRldi0+YmFj
a2VuZF9kZXY7CiAgICAgbGlieGxfX2FzeW5jX2V4ZWNfc3RhdGUgKmFlcyA9ICZkZXYtPmFvZGV2
LmFlczsKKyAgICBsaWJ4bF9fcmVtdXNfc3RhdGUgKnJzID0gZGV2LT5jZHMtPmNvbmNyZXRlX2Rh
dGE7CiAgICAgU1RBVEVfQU9fR0MoZGV2LT5jZHMtPmFvKTsKIAogICAgIC8qIHNldHVwIGVudiAm
IGFyZ3MgKi8KQEAgLTEwNyw3ICsxMDksNyBAQCBzdGF0aWMgdm9pZCBtYXRjaF9hc3luY19leGVj
KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlICpkZXYpCiAgICAgYXJy
YXlzaXplID0gMzsKICAgICBuciA9IDA7CiAgICAgR0NORVdfQVJSQVkoYWVzLT5hcmdzLCBhcnJh
eXNpemUpOwotICAgIGFlcy0+YXJnc1tucisrXSA9IGRldi0+Y2RzLT5kcmJkX3Byb2JlX3Njcmlw
dDsKKyAgICBhZXMtPmFyZ3NbbnIrK10gPSBycy0+ZHJiZF9wcm9iZV9zY3JpcHQ7CiAgICAgYWVz
LT5hcmdzW25yKytdID0gZGlzay0+cGRldl9wYXRoOwogICAgIGFlcy0+YXJnc1tucisrXSA9IE5V
TEw7CiAgICAgYXNzZXJ0KG5yIDw9IGFycmF5c2l6ZSk7Ci0tCmdlbmVyYXRlZCBieSBnaXQtcGF0
Y2hib3QgZm9yIC9ob21lL3hlbi9naXQveGVuLmdpdCNtYXN0ZXIKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1jaGFuZ2Vsb2cgbWFpbGluZyBsaXN0
Clhlbi1jaGFuZ2Vsb2dAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuc291cmNlLmNvbS94
ZW4tY2hhbmdlbG9n

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBF7-0007nY-KM; Sun, 28 Feb 2016 23:59:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF6-0007nM-PU
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:16 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 91/48-03449-4D983D65; Sun, 28 Feb 2016 23:59:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456703954!25251090!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26781 invoked from network); 28 Feb 2016 23:59:15 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF4-00010W-6p
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF4-00024W-4X
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBF4-00024W-4X@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:14 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: seperate device
	init/cleanup from checkpoint device layer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFiMzYzOTA3OWIyOWVjNzQ4NTQxYzk0NTdjODlmNzdiZDNkOGU1ZWQKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo1MSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBzZXBlcmF0ZSBkZXZpY2UgaW5pdC9jbGVhbnVwIGZyb20gY2hlY2twb2lu
dCBkZXZpY2UgbGF5ZXIKICAgIAogICAgd2UgY2FsbCAoaW5pdHxjbGVhbnVwKV9zdWJraW5kX25p
YyBhbmQgKGluaXR8Y2xlYW51cClfc3Via2luZF9kcmJkX2Rpc2sKICAgIGRpcmVjdGx5IGluIGNo
ZWNrcG9pbnQgZGV2aWNlLiBNb3ZlIHRoZW0gdG8gbGlieGxfcmVtdXMuYywgQ2FsbCB0aGVtIGJl
Zm9yZQogICAgY2FsbGluZyBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKCkgb3IgYWZ0
ZXIgY2FsbGluZwogICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc190ZWFyZG93bigpLgogICAg
aXQgaXMgcHVyZSByZWZhY3RvcmluZyBhbmQgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBBY2tlZC1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KICAg
IFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5j
b20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIHwgNDIgKystLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgICAgICAgICAgICAg
fCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk
LCA0NCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9s
aWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2tw
b2ludF9kZXZpY2UuYwppbmRleCBiYmM2ZGM0Li4wYTE2ZGJiIDEwMDY0NAotLS0gYS90b29scy9s
aWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2No
ZWNrcG9pbnRfZGV2aWNlLmMKQEAgLTE3LDM4ICsxNyw2IEBACiAKICNpbmNsdWRlICJsaWJ4bF9p
bnRlcm5hbC5oIgogCi0vKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLwotCi1zdGF0aWMg
aW50IGluaXRfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzKQotewotICAgIC8qIGluaXQgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhl
IGxpYnhsIGN0eCAqLwotICAgIGludCByYzsKLSAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKLQot
ICAgIGlmIChsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKSB7Ci0gICAgICAgIHJjID0gaW5p
dF9zdWJraW5kX25pYyhjZHMpOwotICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotICAgIH0KLQot
ICAgIHJjID0gaW5pdF9zdWJraW5kX2RyYmRfZGlzayhjZHMpOwotICAgIGlmIChyYykgZ290byBv
dXQ7Ci0KLSAgICByYyA9IDA7Ci1vdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCi1zdGF0aWMgdm9p
ZCBjbGVhbnVwX2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
KmNkcykKLXsKLSAgICAvKiBjbGVhbnVwIGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGlu
IHRoZSBsaWJ4bCBjdHggKi8KLSAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKLQotICAgIGlmIChs
aWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKQotICAgICAgICBjbGVhbnVwX3N1YmtpbmRfbmlj
KGNkcyk7Ci0KLSAgICBjbGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGNkcyk7Ci19Ci0KIC8qLS0t
LS0gc2V0dXAoKSBhbmQgdGVhcmRvd24oKSAtLS0tLSovCiAKIC8qIGNhbGxiYWNrcyAqLwpAQCAt
ODYsMTQgKzU0LDEwIEBAIHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChsaWJ4
bF9fZWdjICplZ2MsCiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAobGlieGxf
X2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKLSAgICBpbnQgaSwgcmM7CisgICAgaW50
IGk7CiAKICAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKIAotICAgIHJjID0gaW5pdF9kZXZpY2Vf
c3Via2luZChjZHMpOwotICAgIGlmIChyYykKLSAgICAgICAgZ290byBvdXQ7Ci0KICAgICBjZHMt
Pm51bV9kZXZpY2VzID0gMDsKICAgICBjZHMtPm51bV9uaWNzID0gMDsKICAgICBjZHMtPm51bV9k
aXNrcyA9IDA7CkBAIC0xMjYsNyArOTAsNyBAQCB2b2lkIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgIHJldHVybjsKIAogb3V0OgotICAgIGNkcy0+
Y2FsbGJhY2soZWdjLCBjZHMsIHJjKTsKKyAgICBjZHMtPmNhbGxiYWNrKGVnYywgY2RzLCAwKTsK
IH0KIAogc3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKQEAgLTI2Myw4ICsyMjcsNiBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxp
YnhsX19lZ2MgKmVnYywKICAgICBjZHMtPmRpc2tzID0gTlVMTDsKICAgICBjZHMtPm51bV9kaXNr
cyA9IDA7CiAKLSAgICBjbGVhbnVwX2RldmljZV9zdWJraW5kKGNkcyk7Ci0KICAgICBjZHMtPmNh
bGxiYWNrKGVnYywgY2RzLCByYyk7CiB9CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs
X3JlbXVzLmMgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCmluZGV4IGU4M2NkYzkuLjU0ZWM3
ZGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKKysrIGIvdG9vbHMvbGli
eGwvbGlieGxfcmVtdXMuYwpAQCAtMjYsNiArMjYsMzggQEAgc3RhdGljIGNvbnN0IGxpYnhsX19j
aGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0gewogICAgIE5VTEws
CiB9OwogCisvKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLworCitzdGF0aWMgaW50IGlu
aXRfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQor
eworICAgIC8qIGluaXQgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhlIGxpYnhs
IGN0eCAqLworICAgIGludCByYzsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKKworICAgIGlm
IChsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKSB7CisgICAgICAgIHJjID0gaW5pdF9zdWJr
aW5kX25pYyhjZHMpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworICAgIH0KKworICAgIHJj
ID0gaW5pdF9zdWJraW5kX2RyYmRfZGlzayhjZHMpOworICAgIGlmIChyYykgZ290byBvdXQ7CisK
KyAgICByYyA9IDA7CitvdXQ6CisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBjbGVh
bnVwX2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykK
K3sKKyAgICAvKiBjbGVhbnVwIGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGluIHRoZSBs
aWJ4bCBjdHggKi8KKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKKworICAgIGlmIChsaWJ4bF9f
bmV0YnVmZmVyX2VuYWJsZWQoZ2MpKQorICAgICAgICBjbGVhbnVwX3N1YmtpbmRfbmljKGNkcyk7
CisKKyAgICBjbGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGNkcyk7Cit9CisKIC8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0gUmVtdXMgc2V0dXAgYW5kIHRlYXJkb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LSovCiAKIHN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLApAQCAt
NjgsNiArMTAwLDEyIEBAIHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywg
bGlieGxfX3JlbXVzX3N0YXRlICpycykKICAgICBjZHMtPmNvbmNyZXRlX2RhdGEgPSByczsKICAg
ICBycy0+aW50ZXJ2YWwgPSBpbmZvLT5pbnRlcnZhbDsKIAorICAgIGlmIChpbml0X2RldmljZV9z
dWJraW5kKGNkcykpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byBpbml0
IGRldmljZSBzdWJraW5kIGZvciBndWVzdCAldSIsCisgICAgICAgICAgICBkc3MtPmRvbWlkKTsK
KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCiAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxs
YmFjayA9IHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW47CiAKICAgICBjYWxsYmFja3Mt
PnN1c3BlbmQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CkBAIC0xMDgs
NiArMTQ2LDggQEAgc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZmFpbGVkKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2Ug
YWZ0ZXIgc2V0dXAgZmFpbGVkIgogICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAl
dSwgcmMgJWQiLCBkc3MtPmRvbWlkLCByYyk7CiAKKyAgICBjbGVhbnVwX2RldmljZV9zdWJraW5k
KGNkcyk7CisKICAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7CiB9CiAKQEAgLTE0Miw2
ICsxODIsOCBAQCBzdGF0aWMgdm9pZCByZW11c190ZWFyZG93bl9kb25lKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2Ug
Zm9yIGd1ZXN0IHdpdGggZG9taWQgJXUsIgogICAgICAgICAgICAgIiByYyAlZCIsIGRzcy0+ZG9t
aWQsIHJjKTsKIAorICAgIGNsZWFudXBfZGV2aWNlX3N1YmtpbmQoY2RzKTsKKwogICAgIGRzcy0+
Y2FsbGJhY2soZWdjLCBkc3MsIHJjKTsKIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:17 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBF7-0007nY-KM; Sun, 28 Feb 2016 23:59:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF6-0007nM-PU
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:16 +0000
Received: from [85.158.139.211] by server-3.bemta-5.messagelabs.com id
 91/48-03449-4D983D65; Sun, 28 Feb 2016 23:59:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1456703954!25251090!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 7.35.1; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26781 invoked from network); 28 Feb 2016 23:59:15 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-6.tower-206.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:15 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF4-00010W-6p
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBF4-00024W-4X
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:14 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBF4-00024W-4X@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:14 +0000
Subject: [Xen-changelog] [xen master] tools/libxl: seperate device
	init/cleanup from checkpoint device layer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IGFiMzYzOTA3OWIyOWVjNzQ4NTQxYzk0NTdjODlmNzdiZDNkOGU1ZWQKQXV0aG9yOiAg
ICAgV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KQXV0aG9yRGF0ZTogV2VkIEp1
bCAxNSAxNTo0NTo1MSAyMDE1ICswODAwCkNvbW1pdDogICAgIFdlaSBMaXUgPHdlaS5saXUyQGNp
dHJpeC5jb20+CkNvbW1pdERhdGU6IEZyaSBGZWIgMjYgMTU6MTQ6NDcgMjAxNiArMDAwMAoKICAg
IHRvb2xzL2xpYnhsOiBzZXBlcmF0ZSBkZXZpY2UgaW5pdC9jbGVhbnVwIGZyb20gY2hlY2twb2lu
dCBkZXZpY2UgbGF5ZXIKICAgIAogICAgd2UgY2FsbCAoaW5pdHxjbGVhbnVwKV9zdWJraW5kX25p
YyBhbmQgKGluaXR8Y2xlYW51cClfc3Via2luZF9kcmJkX2Rpc2sKICAgIGRpcmVjdGx5IGluIGNo
ZWNrcG9pbnQgZGV2aWNlLiBNb3ZlIHRoZW0gdG8gbGlieGxfcmVtdXMuYywgQ2FsbCB0aGVtIGJl
Zm9yZQogICAgY2FsbGluZyBsaWJ4bF9fY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKCkgb3IgYWZ0
ZXIgY2FsbGluZwogICAgbGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc190ZWFyZG93bigpLgogICAg
aXQgaXMgcHVyZSByZWZhY3RvcmluZyBhbmQgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgogICAgCiAg
ICBTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgogICAg
U2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFuZ0BlYXN5c3RhY2suY24+
CiAgICBBY2tlZC1ieTogSWFuIENhbXBiZWxsIDxpYW4uY2FtcGJlbGxAY2l0cml4LmNvbT4KICAg
IFJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5j
b20+CiAgICBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29s
cy9saWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIHwgNDIgKystLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMgICAgICAgICAgICAg
fCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk
LCA0NCBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9s
aWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY2hlY2tw
b2ludF9kZXZpY2UuYwppbmRleCBiYmM2ZGM0Li4wYTE2ZGJiIDEwMDY0NAotLS0gYS90b29scy9s
aWJ4bC9saWJ4bF9jaGVja3BvaW50X2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2No
ZWNrcG9pbnRfZGV2aWNlLmMKQEAgLTE3LDM4ICsxNyw2IEBACiAKICNpbmNsdWRlICJsaWJ4bF9p
bnRlcm5hbC5oIgogCi0vKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLwotCi1zdGF0aWMg
aW50IGluaXRfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAq
Y2RzKQotewotICAgIC8qIGluaXQgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhl
IGxpYnhsIGN0eCAqLwotICAgIGludCByYzsKLSAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKLQot
ICAgIGlmIChsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKSB7Ci0gICAgICAgIHJjID0gaW5p
dF9zdWJraW5kX25pYyhjZHMpOwotICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwotICAgIH0KLQot
ICAgIHJjID0gaW5pdF9zdWJraW5kX2RyYmRfZGlzayhjZHMpOwotICAgIGlmIChyYykgZ290byBv
dXQ7Ci0KLSAgICByYyA9IDA7Ci1vdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCi1zdGF0aWMgdm9p
ZCBjbGVhbnVwX2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUg
KmNkcykKLXsKLSAgICAvKiBjbGVhbnVwIGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGlu
IHRoZSBsaWJ4bCBjdHggKi8KLSAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKLQotICAgIGlmIChs
aWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKQotICAgICAgICBjbGVhbnVwX3N1YmtpbmRfbmlj
KGNkcyk7Ci0KLSAgICBjbGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGNkcyk7Ci19Ci0KIC8qLS0t
LS0gc2V0dXAoKSBhbmQgdGVhcmRvd24oKSAtLS0tLSovCiAKIC8qIGNhbGxiYWNrcyAqLwpAQCAt
ODYsMTQgKzU0LDEwIEBAIHN0YXRpYyB2b2lkIGNoZWNrcG9pbnRfZGV2aWNlc19zZXR1cChsaWJ4
bF9fZWdjICplZ2MsCiB2b2lkIGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc2V0dXAobGlieGxf
X2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19j
aGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykKIHsKLSAgICBpbnQgaSwgcmM7CisgICAgaW50
IGk7CiAKICAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKIAotICAgIHJjID0gaW5pdF9kZXZpY2Vf
c3Via2luZChjZHMpOwotICAgIGlmIChyYykKLSAgICAgICAgZ290byBvdXQ7Ci0KICAgICBjZHMt
Pm51bV9kZXZpY2VzID0gMDsKICAgICBjZHMtPm51bV9uaWNzID0gMDsKICAgICBjZHMtPm51bV9k
aXNrcyA9IDA7CkBAIC0xMjYsNyArOTAsNyBAQCB2b2lkIGxpYnhsX19jaGVja3BvaW50X2Rldmlj
ZXNfc2V0dXAobGlieGxfX2VnYyAqZWdjLAogICAgIHJldHVybjsKIAogb3V0OgotICAgIGNkcy0+
Y2FsbGJhY2soZWdjLCBjZHMsIHJjKTsKKyAgICBjZHMtPmNhbGxiYWNrKGVnYywgY2RzLCAwKTsK
IH0KIAogc3RhdGljIHZvaWQgY2hlY2twb2ludF9kZXZpY2VzX3NldHVwKGxpYnhsX19lZ2MgKmVn
YywKQEAgLTI2Myw4ICsyMjcsNiBAQCBzdGF0aWMgdm9pZCBkZXZpY2VzX3RlYXJkb3duX2NiKGxp
YnhsX19lZ2MgKmVnYywKICAgICBjZHMtPmRpc2tzID0gTlVMTDsKICAgICBjZHMtPm51bV9kaXNr
cyA9IDA7CiAKLSAgICBjbGVhbnVwX2RldmljZV9zdWJraW5kKGNkcyk7Ci0KICAgICBjZHMtPmNh
bGxiYWNrKGVnYywgY2RzLCByYyk7CiB9CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs
X3JlbXVzLmMgYi90b29scy9saWJ4bC9saWJ4bF9yZW11cy5jCmluZGV4IGU4M2NkYzkuLjU0ZWM3
ZGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3JlbXVzLmMKKysrIGIvdG9vbHMvbGli
eGwvbGlieGxfcmVtdXMuYwpAQCAtMjYsNiArMjYsMzggQEAgc3RhdGljIGNvbnN0IGxpYnhsX19j
aGVja3BvaW50X2RldmljZV9pbnN0YW5jZV9vcHMgKnJlbXVzX29wc1tdID0gewogICAgIE5VTEws
CiB9OwogCisvKi0tLS0tIGhlbHBlciBmdW5jdGlvbnMgLS0tLS0qLworCitzdGF0aWMgaW50IGlu
aXRfZGV2aWNlX3N1YmtpbmQobGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY2RzKQor
eworICAgIC8qIGluaXQgZGV2aWNlIHN1YmtpbmQtc3BlY2lmaWMgc3RhdGUgaW4gdGhlIGxpYnhs
IGN0eCAqLworICAgIGludCByYzsKKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKKworICAgIGlm
IChsaWJ4bF9fbmV0YnVmZmVyX2VuYWJsZWQoZ2MpKSB7CisgICAgICAgIHJjID0gaW5pdF9zdWJr
aW5kX25pYyhjZHMpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OworICAgIH0KKworICAgIHJj
ID0gaW5pdF9zdWJraW5kX2RyYmRfZGlzayhjZHMpOworICAgIGlmIChyYykgZ290byBvdXQ7CisK
KyAgICByYyA9IDA7CitvdXQ6CisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBjbGVh
bnVwX2RldmljZV9zdWJraW5kKGxpYnhsX19jaGVja3BvaW50X2RldmljZXNfc3RhdGUgKmNkcykK
K3sKKyAgICAvKiBjbGVhbnVwIGRldmljZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIGluIHRoZSBs
aWJ4bCBjdHggKi8KKyAgICBTVEFURV9BT19HQyhjZHMtPmFvKTsKKworICAgIGlmIChsaWJ4bF9f
bmV0YnVmZmVyX2VuYWJsZWQoZ2MpKQorICAgICAgICBjbGVhbnVwX3N1YmtpbmRfbmljKGNkcyk7
CisKKyAgICBjbGVhbnVwX3N1YmtpbmRfZHJiZF9kaXNrKGNkcyk7Cit9CisKIC8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0gUmVtdXMgc2V0dXAgYW5kIHRlYXJkb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LSovCiAKIHN0YXRpYyB2b2lkIHJlbXVzX3NldHVwX2RvbmUobGlieGxfX2VnYyAqZWdjLApAQCAt
NjgsNiArMTAwLDEyIEBAIHZvaWQgbGlieGxfX3JlbXVzX3NldHVwKGxpYnhsX19lZ2MgKmVnYywg
bGlieGxfX3JlbXVzX3N0YXRlICpycykKICAgICBjZHMtPmNvbmNyZXRlX2RhdGEgPSByczsKICAg
ICBycy0+aW50ZXJ2YWwgPSBpbmZvLT5pbnRlcnZhbDsKIAorICAgIGlmIChpbml0X2RldmljZV9z
dWJraW5kKGNkcykpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byBpbml0
IGRldmljZSBzdWJraW5kIGZvciBndWVzdCAldSIsCisgICAgICAgICAgICBkc3MtPmRvbWlkKTsK
KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCiAgICAgZHNzLT5zd3MuY2hlY2twb2ludF9jYWxs
YmFjayA9IHJlbXVzX2NoZWNrcG9pbnRfc3RyZWFtX3dyaXR0ZW47CiAKICAgICBjYWxsYmFja3Mt
PnN1c3BlbmQgPSBsaWJ4bF9fcmVtdXNfZG9tYWluX3N1c3BlbmRfY2FsbGJhY2s7CkBAIC0xMDgs
NiArMTQ2LDggQEAgc3RhdGljIHZvaWQgcmVtdXNfc2V0dXBfZmFpbGVkKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2Ug
YWZ0ZXIgc2V0dXAgZmFpbGVkIgogICAgICAgICAgICAgIiBmb3IgZ3Vlc3Qgd2l0aCBkb21pZCAl
dSwgcmMgJWQiLCBkc3MtPmRvbWlkLCByYyk7CiAKKyAgICBjbGVhbnVwX2RldmljZV9zdWJraW5k
KGNkcyk7CisKICAgICBkc3MtPmNhbGxiYWNrKGVnYywgZHNzLCByYyk7CiB9CiAKQEAgLTE0Miw2
ICsxODIsOCBAQCBzdGF0aWMgdm9pZCByZW11c190ZWFyZG93bl9kb25lKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgTE9HKEVSUk9SLCAiUmVtdXM6IGZhaWxlZCB0byB0ZWFyZG93biBkZXZpY2Ug
Zm9yIGd1ZXN0IHdpdGggZG9taWQgJXUsIgogICAgICAgICAgICAgIiByYyAlZCIsIGRzcy0+ZG9t
aWQsIHJjKTsKIAorICAgIGNsZWFudXBfZGV2aWNlX3N1YmtpbmQoY2RzKTsKKwogICAgIGRzcy0+
Y2FsbGJhY2soZWdjLCBkc3MsIHJjKTsKIH0KIAotLQpnZW5lcmF0ZWQgYnkgZ2l0LXBhdGNoYm90
IGZvciAvaG9tZS94ZW4vZ2l0L3hlbi5naXQjbWFzdGVyCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tY2hhbmdlbG9nIG1haWxpbmcgbGlzdApYZW4t
Y2hhbmdlbG9nQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbnNvdXJjZS5jb20veGVuLWNo
YW5nZWxvZw==

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBFH-0007pG-MG; Sun, 28 Feb 2016 23:59:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFG-0007p4-U5
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:27 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 A3/30-02984-ED983D65; Sun, 28 Feb 2016 23:59:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456703964!15147962!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59937 invoked from network); 28 Feb 2016 23:59:25 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-14.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFE-00010g-IX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFE-00025U-GE
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBFE-00025U-GE@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:24 +0000
Subject: [Xen-changelog] [xen master] Config.mk: Update SEABIOS_UPSTREAM_TAG
	to rel-1.9.1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNkZDkyNmEyNWQ4NjYzNjRjZTZkNDZjMjFmOWFjMDVhODJmYTdmZmIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDE1IDA4OjM4OjAyIDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDE0OjAxOjMz
IDIwMTYgLTA1MDAKCiAgICBDb25maWcubWs6IFVwZGF0ZSBTRUFCSU9TX1VQU1RSRUFNX1RBRyB0
byByZWwtMS45LjEKICAgIAogICAgU3dpdGNoIGZyb20gdHJhY2tpbmcgYSBjb21taXQgcG9zdCAx
LjkuMCB0byB0aGUgMS45LjEgcmVsZWFzZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBH
b2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5s
aXUyQGNpdHJpeC5jb20+Ci0tLQogQ29uZmlnLm1rIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2Vk
LCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLm1r
IGIvQ29uZmlnLm1rCmluZGV4IDQyOWU0NjAuLjc5ZWIyYmQgMTAwNjQ0Ci0tLSBhL0NvbmZpZy5t
aworKysgYi9Db25maWcubWsKQEAgLTI1NSw5ICsyNTUsOSBAQCBNSU5JT1NfVVBTVFJFQU1fUkVW
SVNJT04gPz0gODkyNjhmMDBiMGIwMjE1MDU3Y2I3NGVkZDk0ZTg2NjUzNmEwMjQ4OQogIyBGcmkg
SmFuIDE1IDEzOjI0OjAzIDIwMTYgKzAwMDAKICMgbWluaS1vczogSW5jbHVkZSBsaWJ4ZW5mb3Jl
aWdubWVtb3J5IHdpdGggbGlieGMKIAotU0VBQklPU19VUFNUUkVBTV9SRVZJU0lPTiA/PSAzNDAz
YWM0MzEzODEyNzUyYmU2ZTZhYWMzNTIzOWNhNjg4OGE4Y2FiCi0jIE1vbiBEZWMgMjggMTM6NTA6
NDEgMjAxNSArMDEwMAotIyBidWlsZDogZml4IHR5cG8gaW4gYnVpbGR2ZXJzaW9uLnB5CitTRUFC
SU9TX1VQU1RSRUFNX1JFVklTSU9OID89IHJlbC0xLjkuMQorIyBGcmkgSmFuIDE1IDE1OjQ5OjMy
IDIwMTYgKzAwMDAKKyMgYmlvc3RhYmxlczogU3VwcG9ydCBTTUJJT1MgMi42KyBVVUlEIGZvcm1h
dAogCiBFVEhFUkJPT1RfTklDUyA/PSBydGw4MTM5IDgwODYxMDBlCiAKLS0KZ2VuZXJhdGVkIGJ5
IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWls
aW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3Vy
Y2UuY29tL3hlbi1jaGFuZ2Vsb2c=

From xen-changelog-bounces@lists.xen.org Sun Feb 28 23:59:27 2016
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Feb 2016 23:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.84)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1aaBFH-0007pG-MG; Sun, 28 Feb 2016 23:59:27 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
 by lists.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFG-0007p4-U5
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:27 +0000
Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id
 A3/30-02984-ED983D65; Sun, 28 Feb 2016 23:59:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1456703964!15147962!1
X-Originating-IP: [104.130.215.37]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 8.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 59937 invoked from network); 28 Feb 2016 23:59:25 -0000
Received: from mail.xenproject.org (HELO mail.xen.org) (104.130.215.37)
 by server-14.tower-27.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP;
 28 Feb 2016 23:59:25 -0000
Received: from xenbits.xenproject.org ([50.57.170.242] helo=xenbits.xen.org)
 by mail.xen.org with esmtp (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFE-00010g-IX
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.84)
 (envelope-from <ian.jackson@eu.citrix.com>) id 1aaBFE-00025U-GE
 for xen-changelog@lists.xensource.com; Sun, 28 Feb 2016 23:59:24 +0000
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Message-Id: <E1aaBFE-00025U-GE@xenbits.xen.org>
Date: Sun, 28 Feb 2016 23:59:24 +0000
Subject: [Xen-changelog] [xen master] Config.mk: Update SEABIOS_UPSTREAM_TAG
	to rel-1.9.1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: "Change log for Mercurial \(receive only\)"
 <xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
 <mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
Reply-To: xen-devel@lists.xensource.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: xen-changelog-bounces@lists.xen.org
Sender: "Xen-changelog" <xen-changelog-bounces@lists.xen.org>

Y29tbWl0IDNkZDkyNmEyNWQ4NjYzNjRjZTZkNDZjMjFmOWFjMDVhODJmYTdmZmIKQXV0aG9yOiAg
ICAgRG91ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpBdXRob3JEYXRlOiBNb24gRmVi
IDE1IDA4OjM4OjAyIDIwMTYgLTA2MDAKQ29tbWl0OiAgICAgS29ucmFkIFJ6ZXN6dXRlayBXaWxr
IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDb21taXREYXRlOiBGcmkgRmViIDI2IDE0OjAxOjMz
IDIwMTYgLTA1MDAKCiAgICBDb25maWcubWs6IFVwZGF0ZSBTRUFCSU9TX1VQU1RSRUFNX1RBRyB0
byByZWwtMS45LjEKICAgIAogICAgU3dpdGNoIGZyb20gdHJhY2tpbmcgYSBjb21taXQgcG9zdCAx
LjkuMCB0byB0aGUgMS45LjEgcmVsZWFzZS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogRG91ZyBH
b2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgogICAgQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5s
aXUyQGNpdHJpeC5jb20+Ci0tLQogQ29uZmlnLm1rIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2Vk
LCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLm1r
IGIvQ29uZmlnLm1rCmluZGV4IDQyOWU0NjAuLjc5ZWIyYmQgMTAwNjQ0Ci0tLSBhL0NvbmZpZy5t
aworKysgYi9Db25maWcubWsKQEAgLTI1NSw5ICsyNTUsOSBAQCBNSU5JT1NfVVBTVFJFQU1fUkVW
SVNJT04gPz0gODkyNjhmMDBiMGIwMjE1MDU3Y2I3NGVkZDk0ZTg2NjUzNmEwMjQ4OQogIyBGcmkg
SmFuIDE1IDEzOjI0OjAzIDIwMTYgKzAwMDAKICMgbWluaS1vczogSW5jbHVkZSBsaWJ4ZW5mb3Jl
aWdubWVtb3J5IHdpdGggbGlieGMKIAotU0VBQklPU19VUFNUUkVBTV9SRVZJU0lPTiA/PSAzNDAz
YWM0MzEzODEyNzUyYmU2ZTZhYWMzNTIzOWNhNjg4OGE4Y2FiCi0jIE1vbiBEZWMgMjggMTM6NTA6
NDEgMjAxNSArMDEwMAotIyBidWlsZDogZml4IHR5cG8gaW4gYnVpbGR2ZXJzaW9uLnB5CitTRUFC
SU9TX1VQU1RSRUFNX1JFVklTSU9OID89IHJlbC0xLjkuMQorIyBGcmkgSmFuIDE1IDE1OjQ5OjMy
IDIwMTYgKzAwMDAKKyMgYmlvc3RhYmxlczogU3VwcG9ydCBTTUJJT1MgMi42KyBVVUlEIGZvcm1h
dAogCiBFVEhFUkJPT1RfTklDUyA/PSBydGw4MTM5IDgwODYxMDBlCiAKLS0KZ2VuZXJhdGVkIGJ5
IGdpdC1wYXRjaGJvdCBmb3IgL2hvbWUveGVuL2dpdC94ZW4uZ2l0I21hc3RlcgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWNoYW5nZWxvZyBtYWls
aW5nIGxpc3QKWGVuLWNoYW5nZWxvZ0BsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW5zb3Vy
Y2UuY29tL3hlbi1jaGFuZ2Vsb2c=

