]> xenbits.xensource.com Git - qemu-xen-4.2-testing.git/commitdiff
e1000: fix compile warning introduced by security fix, and debugging xen-4.2.2 xen-4.2.2-rc1 xen-4.2.2-rc2
authorIan Jackson <ian.jackson@eu.citrix.com>
Thu, 17 Jan 2013 15:52:16 +0000 (15:52 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Thu, 17 Jan 2013 16:00:26 +0000 (16:00 +0000)
e33f918c19e393900b95a2bb6b10668dfe96a8f2, the fix for XSA-41,
and its cherry picks in 4.2 and 4.1 introduced this compiler warning:
  hw/e1000.c:641: warning: 'return' with a value, in function returning void

In upstream qemu (where this change came from), e1000_receive returns
a value used by queueing machinery to decide whether to try
resubmitting the packet later.  Returning "size" means that the packet
has been dealt with and should not be retried.

In this old branch (aka qemu-xen-traditional), this machinery is
absent and e1000_receive returns void.  Fix the return statement.

Also add a debugging statement along the lines of the others in this
function.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
(cherry picked from commit 2a1354d655d816feaad7dbdb8364f40a208439c1)

hw/e1000.c

index 67d265130c410d0de27741dc75ce4cc415f41ad5..c75bc5e00675d5a9d558e4e0e4a73cd8aea9f215 100644 (file)
@@ -638,7 +638,8 @@ e1000_receive(void *opaque, const uint8_t *buf, int size)
         (size > MAXIMUM_ETHERNET_VLAN_SIZE
         && !(s->mac_reg[RCTL] & E1000_RCTL_LPE)))
         && !(s->mac_reg[RCTL] & E1000_RCTL_SBP)) {
-        return size;
+        DBGOUT(RX, "packet too large for applicable LPE/VLAN size\n");
+        return;
     }
 
     if (!receive_filter(s, buf, size))