qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4d3662: colo-compare: fix the dangerous assig


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4d3662: colo-compare: fix the dangerous assignment
Date: Mon, 20 Nov 2017 09:59:00 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4d366235208e58a7bc854b893a671d4b2d9c7a94
      
https://github.com/qemu/qemu/commit/4d366235208e58a7bc854b893a671d4b2d9c7a94
  Author: Mao Zhongyi <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M net/colo-compare.c

  Log Message:
  -----------
  colo-compare: fix the dangerous assignment

Cc: Peter Maydell <address@hidden>
Cc: Jason Wang <address@hidden>
Cc: Zhang Chen <address@hidden>
Cc: Li Zhijian <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Fixes: 8ec14402029d783720f4312ed8a925548e1dad61
Reported-by: Peter Maydell <address@hidden>
Reported-by: Paolo Bonzini <address@hidden>
Signed-off-by: Mao Zhongyi <address@hidden>
Reviewed-by: Darren Kenny <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 2ec405524e85a1f6caba49dbb1fdf7c56e732b00
      
https://github.com/qemu/qemu/commit/2ec405524e85a1f6caba49dbb1fdf7c56e732b00
  Author: Jason Wang <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M hw/net/eepro100.c
    M include/hw/compat.h
    M include/hw/pci/pci.h
    M qemu-options.hx

  Log Message:
  -----------
  Revert "Add new PCI ID for i82559a"

This reverts commit 5e89dc01133f8f5e621f6b66b356c6f37d31dafb since:

- we should use ID in the spec instead the one used by OEM
- in the future, we should allow changing id through either property
  or EEPROM file.

Cc: Stefan Weil <address@hidden>
Cc: Michael Nawrocki <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 8f8e8053d9cc9f64f739ad64fa6ac83a4d9555f6
      
https://github.com/qemu/qemu/commit/8f8e8053d9cc9f64f739ad64fa6ac83a4d9555f6
  Author: Thomas Huth <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M hw/net/eepro100.c

  Log Message:
  -----------
  hw/net/eepro100: Fix endianness problem on big endian hosts

Since commit 1865e288a823c764cd4344d ("Fix eepro100 simple transmission
mode"), the test/pxe-test is broken for the eepro100 device on big
endian hosts. However, it seems like that commit did not introduce the
problem, but just uncovered it: The EEPRO100State->tx.tbd_array_addr and
EEPRO100State->tx.tcb_bytes fields are already in host byte order, since
they have already been byte-swapped in the read_cb() function.
Thus byte-swapping them in tx_command() again results in the wrong
endianness. Removing the byte-swapping here fixes the pxe-test.

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: ebc2327f0793deed845e2f7aeddf43b367c5c71c
      
https://github.com/qemu/qemu/commit/ebc2327f0793deed845e2f7aeddf43b367c5c71c
  Author: Stefan Weil <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add missing entry for eepro100 emulation

Signed-off-by: Stefan Weil <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 0dacea92d26c31d453c58de2e99c178fee554166
      
https://github.com/qemu/qemu/commit/0dacea92d26c31d453c58de2e99c178fee554166
  Author: Ed Swierk <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M hw/net/e1000.c
    M hw/net/net_rx_pkt.c
    M hw/net/net_tx_pkt.c
    M hw/net/vmxnet3.c
    M include/net/checksum.h

  Log Message:
  -----------
  net: Transmit zero UDP checksum as 0xFFFF

The checksum algorithm used by IPv4, TCP and UDP allows a zero value
to be represented by either 0x0000 and 0xFFFF. But per RFC 768, a zero
UDP checksum must be transmitted as 0xFFFF because 0x0000 is a special
value meaning no checksum.

Substitute 0xFFFF whenever a checksum is computed as zero when
modifying a UDP datagram header. Doing this on IPv4 and TCP checksums
is unnecessary but legal. Add a wrapper for net_checksum_finish() that
makes the substitution.

(We can't just change net_checksum_finish(), as that function is also
used by receivers to verify checksums, and in that case the expected
value is always 0x0000.)

Signed-off-by: Ed Swierk <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: c527e0afcd7d719abc3a5ca5e4c8ac2fe48b999f
      
https://github.com/qemu/qemu/commit/c527e0afcd7d719abc3a5ca5e4c8ac2fe48b999f
  Author: Thomas Huth <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M hw/net/vmware_utils.h
    M hw/net/vmxnet3.c
    M hw/net/vmxnet3.h

  Log Message:
  -----------
  hw/net/vmxnet3: Fix code to work on big endian hosts, too

Since commit ab06ec43577177a442e8 we test the vmxnet3 device in the
pxe-tester, too (when running "make check SPEED=slow"). This now
revealed that the code is not working there if the host is a big
endian machine (for example ppc64 or s390x) - "make check SPEED=slow"
is now failing on such hosts.

The vmxnet3 code lacks endianness conversions in a couple of places.
Interestingly, the bitfields in the structs in vmxnet3.h already tried to
take care of the *bit* endianness of the C compilers - but the code missed
to change the *byte* endianness when reading or writing the corresponding
structs. So the bitfields are now wrapped into unions which allow to change
the byte endianness during runtime with the non-bitfield member of the union.
With these changes, "make check SPEED=slow" now properly works on big endian
hosts, too.

Reported-by: David Gibson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: c014817e215fd925bce5ce94b13ac87a6c3f03f8
      
https://github.com/qemu/qemu/commit/c014817e215fd925bce5ce94b13ac87a6c3f03f8
  Author: Peter Maydell <address@hidden>
  Date:   2017-11-20 (Mon, 20 Nov 2017)

  Changed paths:
    M MAINTAINERS
    M hw/net/e1000.c
    M hw/net/eepro100.c
    M hw/net/net_rx_pkt.c
    M hw/net/net_tx_pkt.c
    M hw/net/vmware_utils.h
    M hw/net/vmxnet3.c
    M hw/net/vmxnet3.h
    M include/hw/compat.h
    M include/hw/pci/pci.h
    M include/net/checksum.h
    M net/colo-compare.c
    M qemu-options.hx

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging

# gpg: Signature made Mon 20 Nov 2017 03:28:54 GMT
# gpg:                using RSA key 0xEF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  hw/net/vmxnet3: Fix code to work on big endian hosts, too
  net: Transmit zero UDP checksum as 0xFFFF
  MAINTAINERS: Add missing entry for eepro100 emulation
  hw/net/eepro100: Fix endianness problem on big endian hosts
  Revert "Add new PCI ID for i82559a"
  colo-compare: fix the dangerous assignment

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/b11ce33fe026...c014817e215f

reply via email to

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