]> xenbits.xensource.com Git - qemu-upstream-4.2-testing.git/commit
rtl8139: skip offload on short Ethernet/IP header
authorStefan Hajnoczi <stefanha@redhat.com>
Wed, 15 Jul 2015 17:17:00 +0000 (18:17 +0100)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Mon, 3 Aug 2015 14:22:44 +0000 (14:22 +0000)
commitb70113afe4e51f8ac69840aa2a873e398a4c3436
treea4a669c956b3ed76dc9ad76e8100e6b8a10360e3
parent132388208dba1c9d7fb071c39d3a5d00fec3eb1d
rtl8139: skip offload on short Ethernet/IP header

Transmit offload features access Ethernet and IP headers the packet.  If
the packet is too short we must not attempt to access header fields:

  int proto = be16_to_cpu(*(uint16_t *)(saved_buffer + 12));
  ...
  eth_payload_data = saved_buffer + ETH_HLEN;
  ...
  ip = (ip_header*)eth_payload_data;
  if (IP_HEADER_VERSION(ip) != IP_HEADER_VERSION_4) {

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/rtl8139.c