qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 938cdf: net/vmxnet3: fix a build error when e


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 938cdf: net/vmxnet3: fix a build error when enabling debug...
Date: Mon, 11 Jan 2016 05:00:02 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 938cdfefeeebbf763dc04857b8aa9e659989f671
      
https://github.com/qemu/qemu/commit/938cdfefeeebbf763dc04857b8aa9e659989f671
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: fix a build error when enabling debug output

Macro MAC_FMT and MAC_ARG are not defined, but used in vmxnet3_net_init().
This will cause build error when debug level is raised in
vmxnet3_debug.h (enable all VMXNET3_DEBUG_xxx).

Use VMXNET_MF and VXMNET_MA instead.

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 2e4ca7dbc11ab7fbdfbdefa1fd6dc4ed3e90eabe
      
https://github.com/qemu/qemu/commit/2e4ca7dbc11ab7fbdfbdefa1fd6dc4ed3e90eabe
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: use %zu for size_t in printf

Use %zu specifier for size_t in printf, otherwise build would fail
on platforms where size_t is not unsigned long

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 71c2f5b9b3f386b6acae54f5646a445e50717806
      
https://github.com/qemu/qemu/commit/71c2f5b9b3f386b6acae54f5646a445e50717806
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet_debug.h

  Log Message:
  -----------
  net/vmxnet3: fix debug macro pattern for vmxnet3

Vmxnet3 uses the following debug macro style:

 #ifdef SOME_DEBUG
 #  define debug(...) do{ printf(...); } while (0)
 # else
 #  define debug(...) do{ } while (0)
 #endif

If SOME_DEBUG is undefined, then format string inside the
debug macro will never be checked by compiler. Code is
likely to break in the future when SOME_DEBUG is enabled
 because of lack of testing. This patch changes this
to the following:

 #define debug(...) \
  do { if (SOME_DEBUG_ENABLED) printf(...); } while (0)

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: dd3c1684719161859553f45b73bb7d68967a3efe
      
https://github.com/qemu/qemu/commit/dd3c1684719161859553f45b73bb7d68967a3efe
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmware_utils.h

  Log Message:
  -----------
  net/vmxnet3: remove redundant VMW_SHPRN(...) definition

Macro VMW_SHPRN(...) is already defined vmxnet3_debug.h,
so remove the duplication

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: aa4a3dce1c88ed51b616806b8214b7c8428b7470
      
https://github.com/qemu/qemu/commit/aa4a3dce1c88ed51b616806b8214b7c8428b7470
  Author: P J P <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net: vmxnet3: avoid memory leakage in activate_device

Vmxnet3 device emulator does not check if the device is active
before activating it, also it did not free the transmit & receive
buffers while deactivating the device, thus resulting in memory
leakage on the host. This patch fixes both these issues to avoid
host memory leakage.

Reported-by: Qinghao Tang <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Cc: address@hidden
Signed-off-by: Jason Wang <address@hidden>


  Commit: 663fb1e172068c1633a674584d2b9cce396e0cca
      
https://github.com/qemu/qemu/commit/663fb1e172068c1633a674584d2b9cce396e0cca
  Author: Thomas Huth <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add an entry for the net/slirp.c file

The file net/slirp.c should be listed in the SLIRP section, too.

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


  Commit: fde58177aa112da377bbe1af71e0ec3ee7750196
      
https://github.com/qemu/qemu/commit/fde58177aa112da377bbe1af71e0ec3ee7750196
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: return 1 on device activation failure

When reading device status, 0 means device is successfully
activated and 1 means error.

This behavior can be observed by the following steps:

1) run a Linux distro on esxi server (5.5+)
2) modify vmxnet3 Linux driver to give it an invalid
   address to 'adapter->shared_pa' which is the
   shared memory for guest/host communication

This will trigger device activation failure and kernel
log will have the following message:

   [ 7138.403256] vmxnet3 0000:03:00.0 eth1: Failed to activate dev: error 1

So return 1 on device activation failure instead of -1;

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: c469669ef7b4ee2ec1e0db0053ada6809c5b5f98
      
https://github.com/qemu/qemu/commit/c469669ef7b4ee2ec1e0db0053ada6809c5b5f98
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: return correct value for VMXNET3_CMD_GET_DID_* command

VMXNET3_CMD_GET_DID_LO should return PCI ID of the device
and VMXNET3_CMD_GET_DID_HI should return vmxnet3 revision ID.

This behavior can be observed by the following steps:

1) run a Linux distro on esxi server (5.x+)
2) modify vmxnet3 Linux driver to read DID_HI and DID_LO:

  VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DID_LO);
  lo =  VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);

  VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, VMXNET3_CMD_GET_DID_HI);
  high =  VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
  pr_info("vmxnet3 DID lo: 0x%x, high: 0x%x\n", lo, high);

The kernel log will have something like the following message:

  [ 7005.111170] vmxnet3 DID lo: 0x7b0, high: 0x1

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 5ae3e91c3502df90fb0ca9c76ac6eb5c2363264f
      
https://github.com/qemu/qemu/commit/5ae3e91c3502df90fb0ca9c76ac6eb5c2363264f
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: return correct value for VMXNET3_CMD_GET_DEV_EXTRA_INFO

VMXNET3_CMD_GET_DEV_EXTRA_INFO should return 0 for emulation
mode

This behavior can be observed by the following steps:

1) run a Linux distro on esxi server (5.x+)
2) modify vmxnet3 Linux driver to read the register:

  VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD, 
VMXNET3_CMD_GET_DEV_EXTRA_INFO);
  ret =  VMXNET3_READ_BAR1_REG(adapter, VMXNET3_REG_CMD);
  pr_info("vmxnet3 dev_info: 0x%x\n", ret);

The kernel log will have some like the following message:

  [ 7005.111170] vmxnet3 dev_info: 0x0

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 8856be151241c3647b6eb0b91b10f2603bbe430c
      
https://github.com/qemu/qemu/commit/8856be151241c3647b6eb0b91b10f2603bbe430c
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: return 0 on unknown command

Return 0 on unknown command, this is what esxi (5.x+) behaves.

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: c12d82ef15e4a128a24c2fdaadcc45ba49133a27
      
https://github.com/qemu/qemu/commit/c12d82ef15e4a128a24c2fdaadcc45ba49133a27
  Author: Miao Yan <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  net/vmxnet3: rename VMXNET3_DEVICE_VERSION to VMXNET3_UPT_REVISION

VMXNET3_DEVICE_VERSION is used as return value for accessing
UPT Revision Report and Selection register. So rename it
to VMXNET3_UPT_REVISION.

Signed-off-by: Miao Yan <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: b50c7d452f5aef52cc9e7461f215cab87c3f3b03
      
https://github.com/qemu/qemu/commit/b50c7d452f5aef52cc9e7461f215cab87c3f3b03
  Author: Li Zhijian <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M net/dump.c

  Log Message:
  -----------
  net/dump: fix nfds->filename leak

Cc: Jason Wang <address@hidden>
Signed-off-by: Li Zhijian <address@hidden>
Cc: address@hidden
Signed-off-by: Jason Wang <address@hidden>


  Commit: 671f66f87fbf6cc6a3879f3055f16347b1db91e9
      
https://github.com/qemu/qemu/commit/671f66f87fbf6cc6a3879f3055f16347b1db91e9
  Author: Li Zhijian <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M net/filter.c

  Log Message:
  -----------
  net/filter: fix nf->netdev_id leak

Cc: Jason Wang <address@hidden>
Cc: address@hidden
Signed-off-by: Li Zhijian <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: f9262dae13bc95664f9a285d40b6444f0b8842e6
      
https://github.com/qemu/qemu/commit/f9262dae13bc95664f9a285d40b6444f0b8842e6
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  vmxnet3: Change offsets of msi/msix pci capabilities

Place device reported PCI capabilities at the same offsets as placed by
the VMware virtual hardware: MSI at [84], MSI-X at [9c].

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 9c087a05040a7495d7614110fb85a81d65ac24d3
      
https://github.com/qemu/qemu/commit/9c087a05040a7495d7614110fb85a81d65ac24d3
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  vmxnet3: Change the offset of the MSIX PBA table

Place the PBA table at 0x1000, as placed by VMware virtual hardware.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: b22e0aef462df40e3355ee1cdf707b9578d23706
      
https://github.com/qemu/qemu/commit/b22e0aef462df40e3355ee1cdf707b9578d23706
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c
    M include/hw/compat.h

  Log Message:
  -----------
  vmxnet3: Introduce 'x-old-msi-offsets' back-compat property

Following the previous patches, where vmxnet3's pci's msi/msix
capability offsets and msix's PBA table offsets have been changed, this
patch introduces a boolean property 'x-old-msi-offsets' to vmxnet3,
whose default is false.

Setting 'x-old-msi-offsets' to 'on' preserves the old offsets behavior,
which allows migration to older versions.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: b79f17a9bc20efa2bc572528b047f1a297bdac3c
      
https://github.com/qemu/qemu/commit/b79f17a9bc20efa2bc572528b047f1a297bdac3c
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  vmxnet3: coding: Introduce VMXNET3Class

Introduce a class type for vmxnet3, and the usual
DEVICE_CLASS/DEVICE_GET_CLASS macros.

No semantic change.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: f713d4d2f1b9babc88cbae8802b93f2cc2eabf0c
      
https://github.com/qemu/qemu/commit/f713d4d2f1b9babc88cbae8802b93f2cc2eabf0c
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  vmxnet3: The vmxnet3 device is a PCIE endpoint

Report the 'express endpoint' capability if on a PCIE bus.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 3509866ab36972043d6757a03c48097c7b5ae22b
      
https://github.com/qemu/qemu/commit/3509866ab36972043d6757a03c48097c7b5ae22b
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  vmxnet3: Report the Device Serial Number capability

Report the DSN extended PCI capability at 0x100.
DSN value is a transformation of device MAC address, as calculated
by VMware virtual hardware.

DSN is reported only if device is pcie.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 7d6d347d0602997a7fcb33b7edd20f8d8515b48b
      
https://github.com/qemu/qemu/commit/7d6d347d0602997a7fcb33b7edd20f8d8515b48b
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/vmxnet3.c
    M include/hw/compat.h

  Log Message:
  -----------
  vmxnet3: Introduce 'x-disable-pcie' back-compat property

Following the previous patch which changed vmxnet3 to be a pci express
device, this patch introduces a boolean property 'x-disable-pcie' whose
default is false.

Setting 'x-disable-pcie' to 'on' preserves the old 'pci device' (non
express) behavior. This allows migration to older versions.

Signed-off-by: Shmulik Ladkani <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 007cd223de527b5f41278f2d886c1a4beb3e67aa
      
https://github.com/qemu/qemu/commit/007cd223de527b5f41278f2d886c1a4beb3e67aa
  Author: Prasad J Pandit <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/rocker/rocker.c

  Log Message:
  -----------
  net: rocker: fix an incorrect array bounds check

While processing transmit(tx) descriptors in 'tx_consume' routine
the switch emulator suffers from an off-by-one error, if a
descriptor was to have more than allowed(ROCKER_TX_FRAGS_MAX=16)
fragments. Fix an incorrect bounds check to avoid it.

Reported-by: Qinghao Tang <address@hidden>
Cc: address@hidden
Signed-off-by: Prasad J Pandit <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: aa7f9966dfdff500bbbf1956d9e115b1fa8987a6
      
https://github.com/qemu/qemu/commit/aa7f9966dfdff500bbbf1956d9e115b1fa8987a6
  Author: Prasad J Pandit <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/ne2000.c

  Log Message:
  -----------
  net: ne2000: fix bounds check in ioport operations

While doing ioport r/w operations, ne2000 device emulation suffers
from OOB r/w errors. Update respective array bounds check to avoid
OOB access.

Reported-by: Ling Liu <address@hidden>
Cc: address@hidden
Signed-off-by: Prasad J Pandit <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 3be9b3528debd985b7a84ace0626cacf5ffe5ec4
      
https://github.com/qemu/qemu/commit/3be9b3528debd985b7a84ace0626cacf5ffe5ec4
  Author: Alexis Dambricourt <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M net/l2tpv3.c

  Log Message:
  -----------
  l2tpv3: fix cookie decoding

If a 32 bits l2tpv3 frame cookie MSB if set to 1, the cast to uint64_t
cookie will spread 1 to the four most significant bytes.
Then the condition (cookie != s->rx_cookie) becomes false.

Signed-off-by: Alexis Dambricourt <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 9c7ffe266485c87e8e76d59af22e96866c202e42
      
https://github.com/qemu/qemu/commit/9c7ffe266485c87e8e76d59af22e96866c202e42
  Author: Dr. David Alan Gilbert <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M hw/net/rtl8139.c
    M include/net/eth.h
    M slirp/slirp.h

  Log Message:
  -----------
  ether/slirp: Avoid redefinition of the same constants

eth.h and slirp.h both define ETH_ALEN and ETH_P_IP
rtl8139.c and eth.h both define ETH_HLEN

Move the related constant (ETH_P_ARP) from slirp.h to eth.h, and
remove the duplicates; make slirp.h include eth.h

Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: cc06ca4c97e7bd101fba965c5de74d9c242964f6
      
https://github.com/qemu/qemu/commit/cc06ca4c97e7bd101fba965c5de74d9c242964f6
  Author: Peter Maydell <address@hidden>
  Date:   2016-01-11 (Mon, 11 Jan 2016)

  Changed paths:
    M MAINTAINERS
    M hw/net/ne2000.c
    M hw/net/rocker/rocker.c
    M hw/net/rtl8139.c
    M hw/net/vmware_utils.h
    M hw/net/vmxnet3.c
    M hw/net/vmxnet_debug.h
    M include/hw/compat.h
    M include/net/eth.h
    M net/dump.c
    M net/filter.c
    M net/l2tpv3.c
    M slirp/slirp.h

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

# gpg: Signature made Mon 11 Jan 2016 05:22:16 GMT using RSA key ID 398D6211
# 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: (24 commits)
  ether/slirp: Avoid redefinition of the same constants
  l2tpv3: fix cookie decoding
  net: ne2000: fix bounds check in ioport operations
  net: rocker: fix an incorrect array bounds check
  vmxnet3: Introduce 'x-disable-pcie' back-compat property
  vmxnet3: Report the Device Serial Number capability
  vmxnet3: The vmxnet3 device is a PCIE endpoint
  vmxnet3: coding: Introduce VMXNET3Class
  vmxnet3: Introduce 'x-old-msi-offsets' back-compat property
  vmxnet3: Change the offset of the MSIX PBA table
  vmxnet3: Change offsets of msi/msix pci capabilities
  net/filter: fix nf->netdev_id leak
  net/dump: fix nfds->filename leak
  net/vmxnet3: rename VMXNET3_DEVICE_VERSION to VMXNET3_UPT_REVISION
  net/vmxnet3: return 0 on unknown command
  net/vmxnet3: return correct value for VMXNET3_CMD_GET_DEV_EXTRA_INFO
  net/vmxnet3: return correct value for VMXNET3_CMD_GET_DID_* command
  net/vmxnet3: return 1 on device activation failure
  MAINTAINERS: Add an entry for the net/slirp.c file
  net: vmxnet3: avoid memory leakage in activate_device
  ...

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


Compare: https://github.com/qemu/qemu/compare/10e1b75961fc...cc06ca4c97e7

reply via email to

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