qemu-stable
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 10/10] dp8393x: Don't clobber packet checksum


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 10/10] dp8393x: Don't clobber packet checksum
Date: Sat, 14 Dec 2019 14:21:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 12/14/19 2:25 AM, Finn Thain wrote:
A received packet consumes pkt_size bytes in the buffer and the frame
checksum that's appended to it consumes another 4 bytes. The Receive
Buffer Address register takes the former quantity into account but
not the latter. So the next packet written to the buffer overwrites
the frame checksum. Fix this.

Signed-off-by: Finn Thain <address@hidden>
---
  hw/net/dp8393x.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
index 8e66b1f5de..9f4162c98c 100644
--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -810,6 +810,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const 
uint8_t * buf,
      address += rx_len;
      address_space_rw(&s->as, address,
          MEMTXATTRS_UNSPECIFIED, (uint8_t *)&checksum, 4, 1);
+    address += 4;
      rx_len += 4;
      s->regs[SONIC_CRBA1] = address >> 16;
      s->regs[SONIC_CRBA0] = address & 0xffff;


Reviewed-by: Philippe Mathieu-Daudé <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]