qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] ce3174: virtio: introduce virtqueue_unmap_sg(


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] ce3174: virtio: introduce virtqueue_unmap_sg()
Date: Fri, 02 Oct 2015 09:30:07 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: ce317461573bac12b10d67699b4ddf1f97cf066c
      
https://github.com/qemu/qemu/commit/ce317461573bac12b10d67699b4ddf1f97cf066c
  Author: Jason Wang <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: introduce virtqueue_unmap_sg()

Factor out sg unmapping logic. This will be reused by the patch that
can discard descriptor.

Cc: Michael S. Tsirkin <address@hidden>
Cc: Andrew James <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 29b9f5efd78ae0f9cc02dd169b6e80d2c404bade
      
https://github.com/qemu/qemu/commit/29b9f5efd78ae0f9cc02dd169b6e80d2c404bade
  Author: Jason Wang <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: introduce virtqueue_discard()

This patch introduces virtqueue_discard() to discard a descriptor and
unmap the sgs. This will be used by the patch that will discard
descriptor when packet is truncated.

Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 0cf33fb6b49a19de32859e2cdc6021334f448fb3
      
https://github.com/qemu/qemu/commit/0cf33fb6b49a19de32859e2cdc6021334f448fb3
  Author: Jason Wang <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M hw/net/virtio-net.c

  Log Message:
  -----------
  virtio-net: correctly drop truncated packets

When packet is truncated during receiving, we drop the packets but
neither discard the descriptor nor add and signal used
descriptor. This will lead several issues:

- sg mappings are leaked
- rx will be stalled if a lots of packets were truncated

In order to be consistent with vhost, fix by discarding the descriptor
in this case.

Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: c2dfc5ba3fb3a1b7278c99bfd3bf350202169434
      
https://github.com/qemu/qemu/commit/c2dfc5ba3fb3a1b7278c99bfd3bf350202169434
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  oslib: rework anonimous RAM allocation

At the moment we first allocate RAM, sometimes more than necessary for
alignment reasons.  We then free the extra RAM.

Rework this to avoid the temporary allocation: reserve the
range by mapping it with PROT_NONE, then use just the
necessary range with MAP_FIXED.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>


  Commit: 9fac18f03a9040b67ec38e14d3e1ed34db9c7e06
      
https://github.com/qemu/qemu/commit/9fac18f03a9040b67ec38e14d3e1ed34db9c7e06
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  oslib: allocate PROT_NONE pages on top of RAM

This inserts a read and write protected page between RAM and QEMU
memory. This makes it harder to exploit QEMU bugs resulting from buffer
overflows in devices using variants of cpu_physical_memory_map,
dma_memory_map etc.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>


  Commit: 8561c9244ddf1122dfe7ccac9b23f506062f1499
      
https://github.com/qemu/qemu/commit/8561c9244ddf1122dfe7ccac9b23f506062f1499
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: allocate PROT_NONE pages on top of RAM

This inserts a read and write protected page between RAM and QEMU
memory, for file-backend RAM.
This makes it harder to exploit QEMU bugs resulting from buffer
overflows in devices using variants of cpu_physical_memory_map,
dma_memory_map etc.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>


  Commit: 798595075bf51c7e3125d260a19d860b9aa63e69
      
https://github.com/qemu/qemu/commit/798595075bf51c7e3125d260a19d860b9aa63e69
  Author: Eduardo Habkost <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c

  Log Message:
  -----------
  pc: Add a comment explaining why pc_compat_2_4() doesn't exist

pc_compat_2_4() doesn't exist, and we shouldn't create one. Add a
comment explaining why the function doesn't exist and why pc_compat_*()
functions are deprecated.

Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 0d583647a7fc73f621eeb64ed703556c4bbebfcc
      
https://github.com/qemu/qemu/commit/0d583647a7fc73f621eeb64ed703556c4bbebfcc
  Author: Richard Henderson <address@hidden>
  Date:   2015-10-01 (Thu, 01 Oct 2015)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio: Notice when the system doesn't support MSIx at all

And do not issue an error_report in that case.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: ca06d9cc6691e23b6d02e07b44ea549aeac60151
      
https://github.com/qemu/qemu/commit/ca06d9cc6691e23b6d02e07b44ea549aeac60151
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M tests/vhost-user-test.c

  Log Message:
  -----------
  vhost-user-test: do not reinvent glib-compat.h

glib-compat.h has the gunk to support both old-style and new-style
gthread functions.  Use it instead of reinventing it.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Tested-by: Marc-André Lureau <address@hidden>


  Commit: 8a9b6b37dabf00388e8069a2f5c0f659626693b3
      
https://github.com/qemu/qemu/commit/8a9b6b37dabf00388e8069a2f5c0f659626693b3
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M tests/vhost-user-test.c

  Log Message:
  -----------
  vhost-user: unit test for new messages

Data is empty for now, but do make sure master
sets the new feature bit flag.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>


  Commit: df0acded19ec4b826aa095cfc19d341bd66fafd3
      
https://github.com/qemu/qemu/commit/df0acded19ec4b826aa095cfc19d341bd66fafd3
  Author: Igor Mammedov <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/ppc/spapr.c
    M include/hw/mem/pc-dimm.h

  Log Message:
  -----------
  memhp: extend address auto assignment to support gaps

setting gap to TRUE will make sparse DIMM
address auto allocation, leaving gaps between
a new DIMM address and preceeding existing DIMM.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: aa8580cddf011e8cedcf87f7a0fdea7549fc4704
      
https://github.com/qemu/qemu/commit/aa8580cddf011e8cedcf87f7a0fdea7549fc4704
  Author: Igor Mammedov <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  pc: memhp: force gaps between DIMM's GPA

mapping DIMMs non contiguously allows to workaround
virtio bug reported earlier:
http://lists.nongnu.org/archive/html/qemu-devel/2015-08/msg00522.html
in this case guest kernel doesn't allocate buffers
that can cross DIMM boundary keeping each buffer
local to a DIMM.

Suggested-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 1b7e1e3b463a6e5c117498b192cb07603c04b668
      
https://github.com/qemu/qemu/commit/1b7e1e3b463a6e5c117498b192cb07603c04b668
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M tests/vhost-user-test.c

  Log Message:
  -----------
  vhost-user-test: use tmpfs by default

Most people don't run make check by default, so they skip vhost-user
unit tests.  Solve this by using tmpfs instead, unless hugetlbfs is
specified (using an environment variable).

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>


  Commit: 6fdac09370530be0cc6fe9e8d425c0670ba994b1
      
https://github.com/qemu/qemu/commit/6fdac09370530be0cc6fe9e8d425c0670ba994b1
  Author: Michael S. Tsirkin <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M tests/vhost-user-test.c

  Log Message:
  -----------
  vhost-user-test: fix predictable filename on tmpfs

vhost-user-test uses getpid to create a unique filename. This name is
predictable, and a security problem.  Instead, use a tmp directory
created by mkdtemp, which is a suggested best practice.

Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>


  Commit: c0b520dfb8890294a9f8879f4759172900585995
      
https://github.com/qemu/qemu/commit/c0b520dfb8890294a9f8879f4759172900585995
  Author: Peter Maydell <address@hidden>
  Date:   2015-10-02 (Fri, 02 Oct 2015)

  Changed paths:
    M exec.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/mem/pc-dimm.c
    M hw/net/virtio-net.c
    M hw/ppc/spapr.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio.c
    M include/hw/i386/pc.h
    M include/hw/mem/pc-dimm.h
    M include/hw/virtio/virtio.h
    M tests/vhost-user-test.c
    M util/oslib-posix.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

virtio,pc features, fixes

New features:
    guest RAM buffer overrun mitigation
    RAM physical address gaps for memory hotplug
    (except refactoring which got some review comments)

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Fri 02 Oct 2015 15:04:56 BST using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg:                 aka "Michael S. Tsirkin <address@hidden>"

* remotes/mst/tags/for_upstream:
  vhost-user-test: fix predictable filename on tmpfs
  vhost-user-test: use tmpfs by default
  pc: memhp: force gaps between DIMM's GPA
  memhp: extend address auto assignment to support gaps
  vhost-user: unit test for new messages
  vhost-user-test: do not reinvent glib-compat.h
  virtio: Notice when the system doesn't support MSIx at all
  pc: Add a comment explaining why pc_compat_2_4() doesn't exist
  exec: allocate PROT_NONE pages on top of RAM
  oslib: allocate PROT_NONE pages on top of RAM
  oslib: rework anonimous RAM allocation
  virtio-net: correctly drop truncated packets
  virtio: introduce virtqueue_discard()
  virtio: introduce virtqueue_unmap_sg()

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


Compare: https://github.com/qemu/qemu/compare/945507d6bcde...c0b520dfb889

reply via email to

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