Hello community,

here is the log from the commit of package kvm for openSUSE:Factory checked in 
at 2012-01-25 10:37:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kvm (Old)
 and      /work/SRC/openSUSE:Factory/.kvm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kvm", Maintainer is "brog...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kvm/kvm.changes  2012-01-17 16:10:13.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.kvm.new/kvm.changes     2012-01-25 
10:37:43.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Jan 23 19:15:54 UTC 2012 - brog...@suse.com
+
+- avoid buffer overflow in e1000 device emulation (bnc#740165)
+
+-------------------------------------------------------------------

New:
----
  kvm-qemu-preXX-e1000-check-for-overflow-whenever-issuing-PCI-dma-reads.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.E7dmRi/_old  2012-01-25 10:37:45.000000000 +0100
+++ /var/tmp/diff_new_pack.E7dmRi/_new  2012-01-25 10:37:45.000000000 +0100
@@ -136,6 +136,7 @@
 Patch104:       kvm-qemu-madvise-hugepages.patch
 Patch105:       kvm-qemu-preXX-dictzip3.patch
 Patch106:       
kvm-qemu-preXX-g_thread_init-users-don-t-call-it-if-glib-2.31.patch
+Patch107:       
kvm-qemu-preXX-e1000-check-for-overflow-whenever-issuing-PCI-dma-reads.patch
 
 Patch150:       qemu-kvm-common-code-fixes-for-s390-build.patch
 
@@ -230,6 +231,7 @@
 %patch104 -p1
 %patch105 -p1
 %patch106 -p1
+%patch107 -p1
 
 %patch150 -p1
 

++++++ 
kvm-qemu-preXX-e1000-check-for-overflow-whenever-issuing-PCI-dma-reads.patch 
++++++
>From 7fff7710abc9893d8dce5dbad1e7093caf521132 Mon Sep 17 00:00:00 2001
From: Anthony Liguori <aligu...@us.ibm.com>
Date: Wed, 4 Jan 2012 14:50:45 -0600
Subject: e1000: check for overflow whenever issuing PCI dma reads

Reported-by: Nicolae Mogoreanu <m...@google.com>
Signed-off-by: Anthony Liguori <aligu...@us.ibm.com>
---
 hw/e1000.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Index: qemu-kvm-0.12.5/hw/e1000.c
===================================================================
--- qemu-kvm-0.12.5.orig/hw/e1000.c
+++ qemu-kvm-0.12.5/hw/e1000.c
@@ -466,6 +466,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
             bytes = split_size;
             if (tp->size + bytes > msh)
                 bytes = msh - tp->size;
+
+            bytes = MIN(sizeof(tp->data) - tp->size, bytes);
             pci_dma_read(&s->dev, addr, tp->data + tp->size, bytes);
             if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
                 memmove(tp->header, tp->data, hdr);
@@ -481,6 +483,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp)
         // context descriptor TSE is not set, while data descriptor TSE is set
         DBGOUT(TXERR, "TCP segmentaion Error\n");
     } else {
+        split_size = MIN(sizeof(tp->data) - tp->size, split_size);
         pci_dma_read(&s->dev, addr, tp->data + tp->size, split_size);
         tp->size += split_size;
     }


-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to