aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-01-14qemu-ga: Plug fd leak on ga_channel_open() error pathsMarkus Armbruster
Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: Plug fd leak on ga_channel_listen_accept() error pathMarkus Armbruster
Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: Plug file descriptor leak on ga_open_pidfile() error pathMarkus Armbruster
Spotted by Coverity. Also document why we keep it open on success. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: Drop pointless lseek() from ga_open_pidfile()Markus Armbruster
After open(), the file offset is already zero, and neither lockf() nor ftruncate() change it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: Document intentional fall through in channel_event_cb()Markus Armbruster
For clarity, and to hush up Coverity. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: add ga_open_logfile()Luiz Capitulino
This function sets O_CLOEXEC on the log file fd so that it isn't leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Amos Kong <akong@redhat.com> Tested-by: Amos Kong <akong@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14qemu-ga: ga_open_pidfile(): use qemu_open()Luiz Capitulino
This ensures that O_CLOEXEC is passed to open(), this way the pid file fd is not leaked to executed processes. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Amos Kong <akong@redhat.com> Tested-by: Amos Kong <akong@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2013-01-14Merge remote-tracking branch 'kraxel/pixman.v6' into stagingAnthony Liguori
* kraxel/pixman.v6: pixman: pass extra cflags and ldflags Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'kraxel/usb.76' into stagingAnthony Liguori
* kraxel/usb.76: usb-host: Initialize dev->port the obviously safe way usb-host: Drop superfluous null test from usb_host_auto_scan() ehci: Assert state machine is sane w.r.t. EHCIQueue xhci: nuke transfe5rs on detach xhci: call xhci_detach_slot on root port detach too xhci: create xhci_detach_slot helper function Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'spice/spice.v67' into stagingAnthony Liguori
* spice/spice.v67: qxl: Don't drop client capability bits qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'kraxel/testdev.2' into stagingAnthony Liguori
* kraxel/testdev.2: pc-testdev: use typedefs Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'kwolf/for-anthony' into stagingAnthony Liguori
* kwolf/for-anthony: dataplane: handle misaligned virtio-blk requests dataplane: extract virtio-blk read/write processing into do_rdwr_cmd() block: make qiov_is_aligned() public raw-posix: fix bdrv_aio_ioctl sheepdog: implement direct write semantics block: do not probe zero-sized disks Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'mst/tags/for_anthony' into stagingAnthony Liguori
pci,virtio This further optimizes MSIX handling in virtio-pci. Also included is pci cleanup by Paolo, and pci device assignment fix by Alex. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> * mst/tags/for_anthony: pci-assign: Enable MSIX on device to match guest pci: use constants for devices under the 1B36 device ID, document them ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt virtio-9p: use symbolic constant, add to pci-ids.txt reorganize pci-ids.txt docs: move pci-ids.txt to docs/specs/ vhost: backend masking support vhost: set started flag while start is in progress virtio-net: set/clear vhost_started in reverse order virtio: backend virtqueue notifier masking virtio-pci: cache msix messages kvm: add stub for update msi route msix: add api to access msix message virtio: don't waste irqfds on control vqs
2013-01-14Merge remote-tracking branch 'bonzini/stub' into stagingAnthony Liguori
* bonzini/stub: (27 commits) build: improve quiet output for .stp rules build: fold trace-obj-y into libqemuutil.a build: some simplifications for "trace/Makefile.objs" build: remove coroutine-obj-y build: move version-obj-y to the generic LINK rule build: move base QAPI files to libqemuutil.a build: move QAPI definitions for QEMU out of qapi-obj-y build: consolidate multiple variables into universal-obj-y build: move qobject files to qobject/ and libqemuutil.a build: move libqemuutil.a components to util/ build: move files away from tools-obj-y, common-obj-y, user-obj-y build: move util-obj-y to libqemuutil.a build: rename oslib-obj-y to util-obj-y libcacard: list oslib-obj-y file explicitly libcacard: link vscclient to dynamic library libcacard: rewrite Makefile in non-recursive style libcacard: add list of exported symbols libcacard: use per-target variable definitions libcacard: prepare to use -y trick in the Makefile libcacard: require libtool to build it ... Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori
* qmp/queue/qmp: monitor: assert monitor_puts()'s loop invariant target-i386: fix bits 39:32 of the final physical address when using 4M page Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-01-14pixman: pass extra cflags and ldflagsGerd Hoffmann
Store --extra-cflags and --extra-ldflags in config-host.mak, then pass them on to the pixman configure script. Cc: Scott Wood <scottwood@freescale.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14usb-host: Initialize dev->port the obviously safe wayMarkus Armbruster
Coverity worries the strcpy() could overrun the destination. It can't, because the source always points to usb_host_scan()'s auto port[], which has the same size. Use pstrcpy() anyway, to hush the checker. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14usb-host: Drop superfluous null test from usb_host_auto_scan()Markus Armbruster
Coverity points out that port is later passed to usb_host_open(), which dereferences it. It actually can't be null: it always points to usb_host_scan()'s auto port[]. Drop the superfluous port == NULL test. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14ehci: Assert state machine is sane w.r.t. EHCIQueueMarkus Armbruster
Coverity worries the EHCIQueue pointer could be null when we pass it to functions that reference it. The state machine ensures it can't be null then. Assert that, to hush the checker. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14dataplane: handle misaligned virtio-blk requestsStefan Hajnoczi
O_DIRECT on Linux has alignment requirements on I/O buffers and misaligned requests result in -EINVAL. The Linux virtio_blk guest driver usually submits aligned requests so I forgot to handle misaligned requests. It turns out that virtio-win guest drivers submit misaligned requests. Handle them using a bounce buffer that meets alignment requirements. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14dataplane: extract virtio-blk read/write processing into do_rdwr_cmd()Stefan Hajnoczi
Extract code for read/write command processing into do_rdwr_cmd(). This brings together pieces that are spread across process_request(). The real motivation is to set the stage for handling misaligned requests, which the next patch tackles. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14block: make qiov_is_aligned() publicStefan Hajnoczi
The qiov_is_aligned() function checks whether a QEMUIOVector meets a BlockDriverState's alignment requirements. This is needed by virtio-blk-data-plane so: 1. Move the function from block/raw-posix.c to block/block.c. 2. Make it public in block/block.h. 3. Rename to bdrv_qiov_is_aligned(). 4. Change return type from int to bool. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14raw-posix: fix bdrv_aio_ioctlPaolo Bonzini
When the raw-posix aio=thread code was moved from posix-aio-compat.c to block/raw-posix.c, there was an unintended change to the ioctl code. The code used to return the ioctl command, which posix_aio_read() would later morph into a zero. This hack is not necessary anymore, and in fact breaks scsi-generic (which expects a zero return code). Remove it. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14sheepdog: implement direct write semanticsLiu Yuan
Sheepdog supports both writeback/writethrough write but has not yet supported DIRECTIO semantics which bypass the cache completely even if Sheepdog daemon is set up with cache enabled. Suppose cache is enabled on Sheepdog daemon size, the new cache control is cache=writeback # enable the writeback semantics for write cache=writethrough # enable the emulated writethrough semantics for write cache=directsync # disable cache competely Guest WCE toggling on the run time to toggle writeback/writethrough is also supported. Cc: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Cc: Kevin Wolf <kwolf@redhat.com> Cc: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Liu Yuan <tailai.ly@taobao.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14block: do not probe zero-sized disksPaolo Bonzini
A blank CD or DVD is visible as a zero-sized disks. Probing such disks will lead to an EIO and a failure to start the VM. Treating them as raw is a better solution. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2013-01-14xhci: nuke transfe5rs on detachGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14xhci: call xhci_detach_slot on root port detach tooGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14xhci: create xhci_detach_slot helper functionGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14pc-testdev: use typedefsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14qxl: Don't drop client capability bitsMarkus Armbruster
interface_set_client_capabilities() copies only the first few bits, because it falls into a Classic C trap: you can declare a parameter uint8_t caps[58], but the resulting parameter type is uint8_t *, not uint8_t[58]. In particular, sizeof(caps) is sizeof(uint8_t *), not the intended sizeof(uint8_t[58]). Harmless, because the bits aren't used, yet. Broken in commit c10018d6. Spotted by Coverity. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-14qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity checkMarkus Armbruster
The pointer arithmetic there is safe, but ugly. Coverity grouses about it. However, the actual comparison is off by one: <= end instead of < end. Fix by rewriting the check in a cleaner way. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-01-12build: improve quiet output for .stp rulesPaolo Bonzini
Mention the directory in which the .stp file is being generated. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: fold trace-obj-y into libqemuutil.aPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: some simplifications for "trace/Makefile.objs"Paolo Bonzini
Signed-off-by: LluĂ­s Vilanova <vilanova@ac.upc.edu> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: remove coroutine-obj-yPaolo Bonzini
Just fold it into block-obj-y. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move version-obj-y to the generic LINK rulePaolo Bonzini
There is no reason for it to be in block-obj-y, in particular. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move base QAPI files to libqemuutil.aPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move QAPI definitions for QEMU out of qapi-obj-yPaolo Bonzini
There is no reason why for example qemu-ga should include all the definitions for the QEMU monitor. However, there are a few that are needed (qapi_free_SocketAddress, qapi_free_InetSocketAddress, ErrorClass_lookup). These should be moved to a separate "core" .json schema that goes into libqemuutil.a. For now, make this clearer by moving the qapi-*.o definitions out of libqemuutil.a. Once the above refactoring is done, qga-obj-y should not include anymore qapi-types.o and qapi-visit.o. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: consolidate multiple variables into universal-obj-yPaolo Bonzini
The directory descent mechanism, and a less-flat tree both helped in making some *-obj-y definitions very short. Many of these often end up in universal-obj-y, and used to be separate only because of libuser (which is now part of history...). Consolidate these variables in a single one. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move qobject files to qobject/ and libqemuutil.aPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move libqemuutil.a components to util/Paolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move files away from tools-obj-y, common-obj-y, user-obj-yPaolo Bonzini
Split them between libqemuutil.a and, for those used by qemu-img/io/nbd, block-obj-y. Static libraries ensure that binaries such as qemu-ga do not include unused modules. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: move util-obj-y to libqemuutil.aPaolo Bonzini
Use a static library to eliminate repetition in the linking rules. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12build: rename oslib-obj-y to util-obj-yPaolo Bonzini
This prepares the creation of libqemuutil.a in the next patch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: list oslib-obj-y file explicitlyPaolo Bonzini
We will grow the list of files in the next patches, but libcacard should remain slim. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: link vscclient to dynamic libraryPaolo Bonzini
There is no reason for vscclient to duplicate the code. rules.mak takes care of invoking libtool to do the link. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: rewrite Makefile in non-recursive stylePaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: add list of exported symbolsPaolo Bonzini
Do not export internal QEMU symbols. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: use per-target variable definitionsPaolo Bonzini
This lets the libcacard Makefile use more rules.mak magic. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-01-12libcacard: prepare to use -y trick in the MakefilePaolo Bonzini
Rename variables to follow the conventions of the rest of the build systems. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>