1. 06 6月, 2016 3 次提交
    • G
      vmsvga: shadow fifo registers · 7e486f75
      Gerd Hoffmann 提交于
      The fifo is normal ram.  So kvm vcpu threads and qemu iothread can
      access the fifo in parallel without syncronization.  Which in turn
      implies we can't use the fifo pointers in-place because the guest
      can try changing them underneath us.  So add shadows for them, to
      make sure the guest can't modify them after we've applied sanity
      checks.
      
      Fixes: CVE-2016-4454
      Cc: qemu-stable@nongnu.org
      Cc: P J P <ppandit@redhat.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1464592161-18348-4-git-send-email-kraxel@redhat.com
      7e486f75
    • G
      vmsvga: add more fifo checks · c2e3c54d
      Gerd Hoffmann 提交于
      Make sure all fifo ptrs are within range.
      
      Fixes: CVE-2016-4454
      Cc: qemu-stable@nongnu.org
      Cc: P J P <ppandit@redhat.com>
      Reported-by: N李强 <liqiang6-s@360.cn>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1464592161-18348-3-git-send-email-kraxel@redhat.com
      c2e3c54d
    • G
      vmsvga: move fifo sanity checks to vmsvga_fifo_length · 52136026
      Gerd Hoffmann 提交于
      Sanity checks are applied when the fifo is enabled by the guest
      (SVGA_REG_CONFIG_DONE write).  Which doesn't help much if the guest
      changes the fifo registers afterwards.  Move the checks to
      vmsvga_fifo_length so they are done each time qemu is about to read
      from the fifo.
      
      Fixes: CVE-2016-4454
      Cc: qemu-stable@nongnu.org
      Cc: P J P <ppandit@redhat.com>
      Reported-by: N李强 <liqiang6-s@360.cn>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1464592161-18348-2-git-send-email-kraxel@redhat.com
      52136026
  2. 03 6月, 2016 1 次提交
    • G
      virtio-gpu: fix scanout rectangles · fa06e5cb
      Gerd Hoffmann 提交于
      Commit "ca58b45f ui/virtio-gpu: add and use qemu_create_displaysurface_pixman"
      breaks scanouts which use a region of the underlying resource only.
      
      So, we need another way to handle the underlying issue.  Lets create a
      new pixman image, grab a reference on the pixman providing the
      underlying storage, hook up a destroy callback which releases the
      reference.  That way regions work again and releasing the backing
      storage should still be impossible thanks to the extra reference we are
      holding.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-id: 1464597655-26341-1-git-send-email-kraxel@redhat.com
      fa06e5cb
  3. 02 6月, 2016 29 次提交
  4. 01 6月, 2016 7 次提交