qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 1491ed: xen-disk: use an IOThread per instanc


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 1491ed: xen-disk: use an IOThread per instance
Date: Fri, 15 Dec 2017 03:10:01 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 1491ede74dd441d77e7d8df5c65892ddfa140879
      
https://github.com/qemu/qemu/commit/1491ede74dd441d77e7d8df5c65892ddfa140879
  Author: Paul Durrant <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M hw/block/trace-events
    M hw/block/xen_disk.c

  Log Message:
  -----------
  xen-disk: use an IOThread per instance

This patch allocates an IOThread object for each xen_disk instance and
sets the AIO context appropriately on connect. This allows processing
of I/O to proceed in parallel.

The patch also adds tracepoints into xen_disk to make it possible to
follow the state transtions of an instance in the log.

Signed-off-by: Paul Durrant <address@hidden>
Acked-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: de80d78594b4c3767a12d8d42debcf12cbf85a5b
      
https://github.com/qemu/qemu/commit/de80d78594b4c3767a12d8d42debcf12cbf85a5b
  Author: Owen Smith <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M Makefile
    M include/ui/input.h
    M ui/input-keymap.c

  Log Message:
  -----------
  ui: generate qcode to linux mappings

Use keycodedb to generate a qcode to linux mapping

Signed-off-by: Owen Smith <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: a1ccbafdedb1a66ad4100d713d55d4eaea54df82
      
https://github.com/qemu/qemu/commit/a1ccbafdedb1a66ad4100d713d55d4eaea54df82
  Author: Owen Smith <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M hw/display/xenfb.c

  Log Message:
  -----------
  xenfb: Use Input Handlers directly

Avoid the unneccessary calls through the input-legacy.c file by
using the qemu_input_handler_*() calls directly. This did require
reworking the event and sync handlers to use the reverse mapping
from qcode to linux using qemu_input_qcode_to_linux().
Removes the scancode2linux mapping, and supporting documention.

Signed-off-by: Owen Smith <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 34975e536f3531ad852d724a46280b882ec1bc9d
      
https://github.com/qemu/qemu/commit/34975e536f3531ad852d724a46280b882ec1bc9d
  Author: Owen Smith <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M hw/display/xenfb.c

  Log Message:
  -----------
  xenfb: Add [feature|request]-raw-pointer

Writes "feature-raw-pointer" during init to indicate the backend
can pass raw unscaled values for absolute axes to the frontend.
Frontends set "request-raw-pointer" to indicate the backend should
not attempt to scale absolute values to console size.
"request-raw-pointer" is only valid if "request-abs-pointer" is
also set. Raw unscaled pointer values are in the range [0, 0x7fff]

"feature-raw-pointer" and "request-raw-pointer" added to Xen
header in commit 7868654ff7fe5e4a2eeae2b277644fa884a5031e

Signed-off-by: Owen Smith <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: d12c5b7ddf2cee57f3e72fe6f450203a9ab455ed
      
https://github.com/qemu/qemu/commit/d12c5b7ddf2cee57f3e72fe6f450203a9ab455ed
  Author: Owen Smith <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M hw/display/xenfb.c

  Log Message:
  -----------
  xenfb: activate input handlers for raw pointer devices

If the frontend requests raw pointers, the input handlers must be
activated to have the input events delivered to the xenfb backend.
Without activation, the input events are delivered to handlers
registered earlier, which would be the emulated USB tablet or
emulated PS/2 mouse.
HVM xen_kbdfront can incorrectly scale absolute coordinates when
the display resolution is not 800x600.

Signed-off-by: Owen Smith <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 2e63eb2becc228232f12a1ea30a91b2aa8c5cecd
      
https://github.com/qemu/qemu/commit/2e63eb2becc228232f12a1ea30a91b2aa8c5cecd
  Author: Simon Gaiser <address@hidden>
  Date:   2017-12-14 (Thu, 14 Dec 2017)

  Changed paths:
    M hw/xen/xen_pt.c

  Log Message:
  -----------
  xen/pt: Set is_express to avoid out-of-bounds write

The passed-through device might be an express device. In this case the
old code allocated a too small emulated config space in
pci_config_alloc() since pci_config_size() returned the size for a
non-express device. This leads to an out-of-bound write in
xen_pt_config_reg_init(), which sometimes results in crashes. So set
is_express as already done for KVM in vfio-pci.

Shortened ASan report:

==17512==ERROR: AddressSanitizer: heap-buffer-overflow on address 
0x611000041648 at pc 0x55e0fdac51ff bp 0x7ffe4af07410 sp 0x7ffe4af07408
WRITE of size 2 at 0x611000041648 thread T0
    #0 0x55e0fdac51fe in memcpy /usr/include/x86_64-linux-gnu/bits/string3.h:53
    #1 0x55e0fdac51fe in stw_he_p include/qemu/bswap.h:330
    #2 0x55e0fdac51fe in stw_le_p include/qemu/bswap.h:379
    #3 0x55e0fdac51fe in pci_set_word include/hw/pci/pci.h:490
    #4 0x55e0fdac51fe in xen_pt_config_reg_init hw/xen/xen_pt_config_init.c:1991
    #5 0x55e0fdac51fe in xen_pt_config_init hw/xen/xen_pt_config_init.c:2067
    #6 0x55e0fdabcf4d in xen_pt_realize hw/xen/xen_pt.c:830
    #7 0x55e0fdf59666 in pci_qdev_realize hw/pci/pci.c:2034
    #8 0x55e0fdda7d3d in device_set_realized hw/core/qdev.c:914
[...]

0x611000041648 is located 8 bytes to the right of 256-byte region 
[0x611000041540,0x611000041640)
allocated by thread T0 here:
    #0 0x7ff596a94bb8 in __interceptor_calloc 
(/usr/lib/x86_64-linux-gnu/libasan.so.4+0xd9bb8)
    #1 0x7ff57da66580 in g_malloc0 
(/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x50580)
    #2 0x55e0fdda7d3d in device_set_realized hw/core/qdev.c:914
[...]

Signed-off-by: Simon Gaiser <address@hidden>
Acked-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 1c3b51a796a8eacfa5dfc840f0d8b736246167d4
      
https://github.com/qemu/qemu/commit/1c3b51a796a8eacfa5dfc840f0d8b736246167d4
  Author: Peter Maydell <address@hidden>
  Date:   2017-12-15 (Fri, 15 Dec 2017)

  Changed paths:
    M Makefile
    M hw/block/trace-events
    M hw/block/xen_disk.c
    M hw/display/xenfb.c
    M hw/xen/xen_pt.c
    M include/ui/input.h
    M ui/input-keymap.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20171214-tag' into 
staging

Xen 2017/12/14

# gpg: Signature made Fri 15 Dec 2017 00:26:26 GMT
# gpg:                using RSA key 0x894F8F4870E1AE90
# gpg: Good signature from "Stefano Stabellini <address@hidden>"
# gpg:                 aka "Stefano Stabellini <address@hidden>"
# Primary key fingerprint: D04E 33AB A51F 67BA 07D3  0AEA 894F 8F48 70E1 AE90

* remotes/sstabellini/tags/xen-20171214-tag:
  xen/pt: Set is_express to avoid out-of-bounds write
  xenfb: activate input handlers for raw pointer devices
  xenfb: Add [feature|request]-raw-pointer
  xenfb: Use Input Handlers directly
  ui: generate qcode to linux mappings
  xen-disk: use an IOThread per instance

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


Compare: https://github.com/qemu/qemu/compare/0ef0583d5adc...1c3b51a796a8

reply via email to

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