Skip to content
Snippets Groups Projects
  1. Mar 10, 2015
  2. Mar 09, 2015
  3. Mar 02, 2015
    • Paolo Bonzini's avatar
      kvm/apic: fix 2.2->2.1 migration · 3e04f97c
      Paolo Bonzini authored
      
      The wait_for_sipi field is set back to 1 after an INIT, so it was not
      effective to reset it in kvm_apic_realize.  Introduce a reset callback
      and reset wait_for_sipi there.
      
      Reported-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Cc: qemu-stable@nongnu.org
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      (cherry picked from commit 575a6f40)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      3e04f97c
    • Leon Alrae's avatar
      target-mips: fix broken snapshotting · 00fd8904
      Leon Alrae authored
      
      Recently added CP0.BadInstr and CP0.BadInstrP registers ended up in cpu_load()
      under different offset than in cpu_save(). These and all registers between were
      incorrectly restored.
      
      Signed-off-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
      (cherry picked from commit b40a1530)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      00fd8904
    • Gerd Hoffmann's avatar
      update ipxe from 69313ed to 35c5379 · 3d1cd599
      Gerd Hoffmann authored
      
      Anton D. Kachalov (1):
            [intel] Add 8086:1557 card (Intel 82599 10G ethernet mezz)
      
      Christian Hesse (1):
            [build] Merge util/geniso and util/genliso
      
      Curtis Larsen (3):
            [efi] Use EFI_CONSOLE_CONTROL_PROTOCOL to set text mode if available
            [efi] Report errors from attempting to disconnect existing drivers
            [efi] Try various possible SNP receive filters
      
      Dale Hamel (1):
            [smbios] Expose board serial number as ${board-serial}
      
      Florian Schmaus (1):
            [build] Set GITVERSION only if there is a git repository
      
      Hannes Reinecke (3):
            [ethernet] Provide eth_random_addr() to generate random Ethernet addresses
            [igbvf] Assign random MAC address if none is set
            [igbvf] Allow changing of MAC address
      
      Jan Kiszka (1):
            [intel] Add I217-LM PCI ID
      
      Marin Hannache (4):
            [nfs] Fix an invalid free() when loading a symlink
            [nfs] Fix an invalid free() when loading a regular (non-symlink) file
            [nfs] Rewrite NFS URI handling
            [readline] Add CTRL-W shortcut to remove a word
      
      Michael Brown (144):
            [profile] Allow interrupts to be excluded from profiling results
            [intel] Exclude time spent in hypervisor from profiling
            [build] Fix version.o dependency upon git index
            [tcp] Defer sending ACKs until all received packets have been processed
            [lkrnprefix] Function as a bzImage kernel
            [build] Avoid errors when build directory is mounted via NFS
            [undi] Apply quota only to number of complete received packets
            [lkrnprefix] Make real-mode setup code relocatable
            [intel] Increase receive ring fill level
            [syslog] Strip invalid characters from hostname
            [test] Add self-tests for strdup()
            [libc] Prevent strndup() from reading beyond the end of the string
            [efi] Allow for optional protocols
            [efi] Make EFI_DEVICE_PATH_TO_TEXT_PROTOCOL optional
            [efi] Make EFI_HII_DATABASE_PROTOCOL optional
            [efi] Do not try to fetch loaded image device path protocol
            [ipv6] Fix definition of IN6_IS_ADDR_LINKLOCAL()
            [dhcpv6] Do not set sin6_scope_id on the unspecified client socket address
            [ipv6] Do not set sin6_scope_id on source address
            [ipv6] Include network device when transcribing multicast addresses
            [ipv6] Avoid potentially copying from a NULL pointer in ipv6_tx()
            [librm] Allow for the PIC interrupt vector offset to be changed
            [ifmgmt] Do not sleep CPU while configuring network devices
            [scsi] Improve sense code parsing
            [iscsi] Read IPv4 settings only from the relevant network device
            [iscsi] Include IP address origin in iBFT
            [debug] Allow debug message colours to be customised via DBGCOL=...
            [build] Expose build timestamp, build name, and product names
            [efi] Allow device paths to be easily included in debug messages
            [efi] Provide a meaningful EFI SNP device name
            [efi] Restructure EFI driver model
            [build] Fix erroneous object name in version object
            [build] Add yet another potential location for isolinux.bin
            [efi] Allow network devices to be created on top of arbitrary SNP devices
            [autoboot] Allow autoboot device to be identified by link-layer address
            [efi] Identify autoboot device by MAC address when chainloading
            [efi] Attempt to start only drivers claiming support for a device
            [efi] Rewrite SNP NIC driver
            [efi] Include SNP NIC driver within the all-drivers target
            [crypto] Add support for iPAddress subject alternative names
            [crypto] Fix debug message
            [netdevice] Reset network device index when last device is unregistered
            [efi] Update EDK2 headers
            [efi] Install our own disk I/O protocol and claim exclusive use of it
            [efi] Allow for interception of boot services calls by loaded image
            [efi] Print well-known GUIDs by name in debug messages
            [efi] Include EFI_CONSOLE_CONTROL_PROTOCOL header
            [ioapi] Fail ioremap() when attempting to map a zero bus address
            [intel] Check for ioremap() failures
            [realtek] Check for ioremap() failures
            [vmxnet3] Check for ioremap() failures
            [skel] Check for ioremap() failures
            [myson] Check for ioremap() failures
            [natsemi] Check for ioremap() failures
            [i386] Add functions to read and write model-specific registers
            [x86_64] Add functions to read and write model-specific registers
            [efi] Show more diagnostic information when building with DEBUG=efi_wrap
            [ioapi] Centralise notion of PAGE_SIZE
            [lotest] Discard packets arriving on the incorrect network device
            [xen] Import selected public headers
            [xen] Add basic support for PV-HVM domains
            [xen] Add support for Xen netfront virtual NICs
            [efi] Default to releasing network devices for use via SNP
            [efi] Unload started images only on failure
            [efi] Fill in loaded image's DeviceHandle if firmware fails to do so
            [efi] Fix incorrect debug message level when device has no device path
            [efi] Report exact failure when unable to open the device path
            [netdevice] Avoid registering duplicate network devices
            [efi] Ignore failures when attempting to install SNP HII protocol
            [efi] Expand the range of well-known EFI GUIDs in debug messages
            [efi] Provide efi_handle_name() for debugging
            [efi] Add ability to dump all openers of a given protocol on a handle
            [efi] Use efi_handle_name() instead of efi_handle_devpath_text()
            [efi] Use efi_handle_name() instead of efi_devpath_text() where applicable
            [efi] Allow compiler to perform type checks on EFI_HANDLE
            [efi] Avoid unnecessarily passing pointers to EFI_HANDLEs
            [efi] Dump existing openers when we are unable to open a protocol
            [efi] Dump handle information around connect/disconnect attempts
            [efi] Improve debugging of the debugging facilities
            [efi] Add excessive sanity checks into efi_debug functions
            [efi] Also try original ComponentName protocol for retrieving driver names
            [efi] Print raw device path when we have no DevicePathToTextProtocol
            [efi] Add ability to dump SNP device mode information
            [efi] Reset multicast filter list when setting SNP receive filters
            [efi] Provide centralised definitions of commonly-used GUIDs
            [efi] Open device path protocol only at point of use
            [efi] Move abstract device path and handle functions to efi_utils.c
            [efi] Generalise snpnet_pci_info() to efi_locate_device()
            [bios] Support displaying and hiding cursor
            [efi] Support displaying and hiding cursor
            [readline] Ensure cursor is visible when prompting for input
            [xen] Accept alternative Xen platform PCI device ID 5853:0002
            [xen] Use version 1 grant tables by default
            [xen] Cope with unexpected initial backend states
            [smc9000] Avoid using CONFIG as a preprocessor macro
            [build] Allow for named configurations at build time
            [intel] Display PBS value when applying ICH errata workaround
            [intel] Display before and after values for both PBS and PBA
            [intel] Apply PBS/PBA errata workaround only to ICH8 PCI device IDs
            [efi] Add definitions of GUIDs observed during Windows boot
            [efi] Dump details of any calls to our dummy block and disk I/O protocols
            [romprefix] Do not preserve unused register %di
            [build] Remove obsolete references to .zrom build targets
            [build] Allow ISA ROMs to be built
            [build] Avoid deleting config header files if build is interrupted
            [prefix] Halt system without burning CPU if we cannot access the payload
            [prefix] Report both %esi and %ecx when opening payload fails
            [util] Use PCI length field to obtain length of individual images
            [mromprefix] Use PCI length field to obtain length of individual images
            [mromprefix] Allow for .mrom images larger than 128kB
            [efi] Show details of intercepted LoadImage() calls
            [efi] Make our virtual file system case insensitive
            [efi] Wrap any images loaded by our wrapped image
            [efi] Use the SNP protocol instance to match the SNP chainloading device
            [efi] Avoid returning uninitialised data from PCI configuration space reads
            [efi] Make EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL optional
            [efi] Allow for non-PCI snpnet devices
            [build] Clean up all binary directories on "make [very]clean"
            [efi] Add efifatbin utility
            [efi] Provide dummy device path in efi_image_probe()
            [dhcp] Check for matching chaddr in received DHCP packets
            [dhcp] Remove obsolete dhcp_chaddr() function
            [build] Use -malign-double to build 32-bit UEFI binaries
            [efi] Centralise definitions of more protocol GUIDs
            [efi] Add definitions of GUIDs observed when chainloading from Intel driver
            [efi] Free transmit ring entry before calling netdev_tx_complete()
            [efi] Generalise snpnet_dev_info() to efi_device_info()
            [efi] Update to current EDK2 headers
            [efi] Add NII / UNDI driver
            [efi] Check for presence of UNDI in NII protocol
            [efi] Include NII driver within "snp" and "snponly" build targets
            [ping] Report timed-out pings via the callback function
            [ping] Allow termination after a specified number of packets
            [ping] Allow "ping" command output to be inhibited
            [intel] Use autoloaded MAC address instead of EEPROM MAC address
            [crypto] Fix parsing of OCSP responder ID key hash
            [vmxnet3] Add profiling code to exclude time spent in the hypervisor
            [netdevice] Fix erroneous use of free(iobuf) instead of free_iob(iobuf)
            [libc] Add ASSERTED macro to test if any assertion has triggered
            [list] Add sanity checks after list-adding functions
            [malloc] Tidy up debug output
            [malloc] Sanity check parameters to alloc_memblock() and free_memblock()
            [malloc] Check integrity of free list
            [malloc] Report caller address as soon as memory corruption is detected
      
      Peter Lemenkov (1):
            [build] Check if git index actually exists
      
      Robin Smidsrød (2):
            [build] Add named configuration for VirtualBox
            [build] Avoid using embedded script in VirtualBox named configuration
      
      Sven Ulland (1):
            [lacp] Set "aggregatable" flag in response LACPDU
      
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      (cherry picked from commit c246cee4)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      3d1cd599
  4. Feb 24, 2015
    • Paolo Bonzini's avatar
      exec: change default exception_index value for migration to -1 · a97f9a7e
      Paolo Bonzini authored
      
      In QEMU 2.2 the exception_index value was added to the migration stream
      through a subsection.  The default was set to 0, which is wrong and
      should have been -1.
      
      However, 2.2 does not have commit e511b4d7 (cpu-exec: reset exception_index
      correctly, 2014-11-26), hence in 2.2 the exception_index is never used
      and is set to -1 on the next call to cpu_exec.  So we can change the
      migration stream to make the default -1.  The effects are:
      
      - 2.2.1 -> 2.2.0: cpu->exception_index set incorrectly to 0 if it
      were -1 on the source; then reset to -1 in cpu_exec.  This is TCG
      only; KVM does not use exception_index.
      
      - 2.2.0 -> 2.2.1: cpu->exception_index set incorrectly to -1 if it
      were 0 on the source; but it would be reset to -1 in cpu_exec anyway.
      This is TCG only; KVM does not use exception_index.
      
      - 2.2.1 -> 2.1: two bugs fixed: 1) can migrate backwards if
      cpu->exception_index is set to -1; 2) should not migrate backwards
      (but 2.2.0 allows it) if cpu->exception_index is set to 0
      
      - 2.2.0 -> 2.3.0: 2.2.0 will send the subsection unnecessarily if
      exception_index is -1, but that is not a problem.  2.3.0 will set
      cpu->exception_index to -1 if it is 0 on the source, but this would
      be anyway a problem for 2.2.0 -> 2.2.x migration (due to lack of
      commit e511b4d7 in 2.2.x) so we can ignore it
      
      - 2.2.1 -> 2.3.0: everything works.
      
      In addition, play it safe and never send the subsection unless TCG
      is in use.  KVM does not use exception_index (PPC KVM stores values
      in it for use in the subsequent call to ppc_cpu_do_interrupt, but
      does not need it as soon as kvm_handle_debug returns).  Xen and
      qtest do not run any code for the CPU at all.
      
      Reported-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Tested-by: default avatarLaurent Desnogues <laurent.desnogues@gmail.com>
      Tested-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1418989994-17244-3-git-send-email-pbonzini@redhat.com
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      (cherry picked from commit adee6424)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      a97f9a7e
    • Fam Zheng's avatar
      qtest: Fix deadloop by running main loop AIO context's timers · 987aba53
      Fam Zheng authored
      
      qemu_clock_run_timers() only takes care of main_loop_tlg, we shouldn't
      forget aio timer list groups.
      
      Currently, the qemu_clock_deadline_ns_all (a few lines above) counts all
      the timergroups of this clock type, including aio tlg, but we don't fire
      them, so they are never cleared, which makes a dead loop.
      
      For example, this function hangs when trying to drive throttled block
      request queue with qtest clock_step.
      
      Signed-off-by: default avatarFam Zheng <famz@redhat.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1421661103-29153-1-git-send-email-famz@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      (cherry picked from commit efef88b3)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      987aba53
    • Peter Wu's avatar
      block/iscsi: fix uninitialized variable · 7d389a21
      Peter Wu authored
      
      'ret' was never initialized in the success path.
      
      Signed-off-by: default avatarPeter Wu <peter@lekensteyn.nl>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      (cherry picked from commit debfb917)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      7d389a21
    • Zhang Haoyu's avatar
      fix mc146818rtc wrong subsection name to avoid vmstate_subsection_load() fail · 2a020d29
      Zhang Haoyu authored
      
      fix mc146818rtc wrong subsection name to avoid vmstate_subsection_load() fail
      during incoming migration or loadvm.
      
      Signed-off-by: default avatarZhang Haoyu <zhanghy@sangfor.com.cn>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      (cherry picked from commit bb426311)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      2a020d29
    • Daniel P. Berrangé's avatar
      libcacard: stop linking against every single 3rd party library · 6833856e
      Daniel P. Berrangé authored
      
      Building QEMU results in a libcacard.so that links against
      practically the entire world
      
      	linux-vdso.so.1 =>  (0x00007fff71e99000)
      	libssl3.so => /usr/lib64/libssl3.so (0x00007f49f94b6000)
      	libsmime3.so => /usr/lib64/libsmime3.so (0x00007f49f928e000)
      	libnss3.so => /usr/lib64/libnss3.so (0x00007f49f8f67000)
      	libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f49f8d3b000)
      	libplds4.so => /usr/lib64/libplds4.so (0x00007f49f8b36000)
      	libplc4.so => /usr/lib64/libplc4.so (0x00007f49f8931000)
      	libnspr4.so => /usr/lib64/libnspr4.so (0x00007f49f86f2000)
      	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f49f84ed000)
      	libm.so.6 => /usr/lib64/libm.so.6 (0x00007f49f81e5000)
      	libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f49f7fe3000)
      	librt.so.1 => /usr/lib64/librt.so.1 (0x00007f49f7dda000)
      	libz.so.1 => /usr/lib64/libz.so.1 (0x00007f49f7bc4000)
      	libcap-ng.so.0 => /usr/lib64/libcap-ng.so.0 (0x00007f49f79be000)
      	libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f49f77b8000)
      	libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007f49f749a000)
      	libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007f49f71fd000)
      	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f49f6fe0000)
      	libvte.so.9 => /usr/lib64/libvte.so.9 (0x00007f49f6d3f000)
      	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f49f6b2d000)
      	libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007f49f64a0000)
      	libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007f49f61de000)
      	libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f49f5fd1000)
      	libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f49f5daa000)
      	libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f49f5a9d000)
      	libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f49f5878000)
      	libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f49f5500000)
      	libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f49f52eb000)
      	libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f49f50a0000)
      	libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f49f4e4e000)
      	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f49f4b15000)
      	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f49f48d6000)
      	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f49f462b000)
      	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f49f42e8000)
      	libxenstore.so.3.0 => /usr/lib64/libxenstore.so.3.0 (0x00007f49f40de000)
      	libxenctrl.so.4.4 => /usr/lib64/libxenctrl.so.4.4 (0x00007f49f3eb6000)
      	libxenguest.so.4.4 => /usr/lib64/libxenguest.so.4.4 (0x00007f49f3c8b000)
      	libseccomp.so.2 => /usr/lib64/libseccomp.so.2 (0x00007f49f3a74000)
      	librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x00007f49f385d000)
      	libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00007f49f364a000)
      	libutil.so.1 => /usr/lib64/libutil.so.1 (0x00007f49f3447000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x00007f49f3089000)
      	/lib64/ld-linux-x86-64.so.2 (0x00007f49f9902000)
      	libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f49f2e23000)
      	libtspi.so.1 => /usr/lib64/libtspi.so.1 (0x00007f49f2bb2000)
      	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f49f299f000)
      	libnettle.so.4 => /usr/lib64/libnettle.so.4 (0x00007f49f276d000)
      	libhogweed.so.2 => /usr/lib64/libhogweed.so.2 (0x00007f49f2545000)
      	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f49f22cd000)
      	libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00007f49f20a5000)
      	libtinfo.so.5 => /usr/lib64/libtinfo.so.5 (0x00007f49f1e7a000)
      	libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f49f1c76000)
      	libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f49f1a6f000)
      	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f49f1865000)
      	libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f49f1662000)
      	libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f49f1452000)
      	libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f49f1247000)
      	libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f49f103c000)
      	libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f49f0e39000)
      	libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f49f0c35000)
      	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f49f09dd000)
      	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f49f072f000)
      	libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007f49f0505000)
      	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f49f02d2000)
      	libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f49f00cd000)
      	libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f49efec3000)
      	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f49efca1000)
      	libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f49efa06000)
      	libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007f49ef7fe000)
      	libselinux.so.1 => /usr/lib64/libselinux.so.1 (0x00007f49ef5d8000)
      	libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007f49ef3be000)
      	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f49ef193000)
      	libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f49eef83000)
      	libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f49eed6c000)
      	liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f49eeb46000)
      	libnl-route-3.so.200 => /usr/lib64/libnl-route-3.so.200 (0x00007f49ee8e2000)
      	libnl-3.so.200 => /usr/lib64/libnl-3.so.200 (0x00007f49ee6c4000)
      	libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f49ee2d6000)
      	libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f49ee067000)
      	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f49ede48000)
      	libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f49edc46000)
      	libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007f49eda41000)
      	libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007f49ed838000)
      	libxcb-shape.so.0 => /usr/lib64/libxcb-shape.so.0 (0x00007f49ed634000)
      	libgbm.so.1 => /usr/lib64/libgbm.so.1 (0x00007f49ed426000)
      	libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007f49ed217000)
      	libwayland-server.so.0 => /usr/lib64/libwayland-server.so.0 (0x00007f49ed005000)
      	libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007f49ecddb000)
      	libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f49ecbce000)
      	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f49ec9ca000)
      	libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007f49ec7b0000)
      	libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007f49ec5ad000)
      	libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007f49ec3aa000)
      	libxcb-randr.so.0 => /usr/lib64/libxcb-randr.so.0 (0x00007f49ec19b000)
      	libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007f49ebf94000)
      	libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007f49ebd91000)
      	libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f49ebb8a000)
      	libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f49eb91d000)
      	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f49eb6cf000)
      	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f49eb3ec000)
      	libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x00007f49eb1e8000)
      	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f49eafb4000)
      	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f49eada5000)
      	libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f49eaba0000)
      
      All libcacard actually needs are the NSS libs. Linking against the entire
      world is a regression caused by
      
        commit 9d171bd9
        Author: Michael Tokarev <mjt@tls.msk.ru>
        Date:   Thu May 8 16:48:27 2014 +0400
      
          libcacard: remove libcacard-specific CFLAGS and LIBS from global vars
      
      Which removed the setting of the LIBS variable in libcacard/Makefile.
      
      Adding it back as an empty assignment brings the linked libs back to a more
      reasonable set
      
      	linux-vdso.so.1 =>  (0x00007fff575c1000)
      	libssl3.so => /usr/lib64/libssl3.so (0x00007f7f753b1000)
      	libsmime3.so => /usr/lib64/libsmime3.so (0x00007f7f75189000)
      	libnss3.so => /usr/lib64/libnss3.so (0x00007f7f74e62000)
      	libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f7f74c36000)
      	libplds4.so => /usr/lib64/libplds4.so (0x00007f7f74a31000)
      	libplc4.so => /usr/lib64/libplc4.so (0x00007f7f7482c000)
      	libnspr4.so => /usr/lib64/libnspr4.so (0x00007f7f745ed000)
      	libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f7f743d0000)
      	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f7f741cc000)
      	libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f7f73fca000)
      	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f7f73c90000)
      	libc.so.6 => /usr/lib64/libc.so.6 (0x00007f7f738d3000)
      	libz.so.1 => /usr/lib64/libz.so.1 (0x00007f7f736bd000)
      	librt.so.1 => /usr/lib64/librt.so.1 (0x00007f7f734b4000)
      	/lib64/ld-linux-x86-64.so.2 (0x00007f7f757fd000)
      
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Cc: <qemu-stable@nongnu.org>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      (cherry picked from commit b41112c4)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      6833856e
    • Paolo Bonzini's avatar
      qemu-thread: fix qemu_event without futexes · a9eb2b60
      Paolo Bonzini authored
      
      This had a possible deadlock that was visible with rcutorture.
      
          qemu_event_set                    qemu_event_wait
          ----------------------------------------------------------------
                                            cmpxchg reads FREE, writes BUSY
                                            futex_wait: pthread_mutex_lock
                                            futex_wait: value == BUSY
          xchg reads BUSY, writes SET
          futex_wake: pthread_cond_broadcast
                                            futex_wait: pthread_cond_wait
                                            <deadlock>
      
      The fix is simply to avoid condvar tricks and do the obvious locking
      around pthread_cond_broadcast:
      
          qemu_event_set        qemu_event_wait
          ----------------------------------------------------------------
                                            cmpxchg reads FREE, writes BUSY
                                            futex_wait: pthread_mutex_lock
                                            futex_wait: value == BUSY
          xchg reads BUSY, writes SET
          futex_wake: pthread_mutex_lock
          (blocks)
                                            futex_wait: pthread_cond_wait
          (mutex unlocked)
          futex_wake: pthread_cond_broadcast
          futex_wake: pthread_mutex_unlock
                                            futex_wait: pthread_mutex_unlock
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      (cherry picked from commit 158ef8cb)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      a9eb2b60
    • Alex Williamson's avatar
      vfio-pci: Fix missing unparent of dynamically allocated MemoryRegion · 4d49de6b
      Alex Williamson authored
      
      Commit d8d95814 added explicit object_unparent() calls for
      dynamically allocated MemoryRegions.  The VFIOMSIXInfo structure also
      contains such a MemoryRegion, covering the mmap'd region of a PCI BAR
      above the MSI-X table.  This structure is freed as part of the class
      exit function and therefore also needs an explicit object_unparent().
      Failing to do this results in random segfaults due to fields within
      the structure, often the class pointer, being reclaimed and corrupted
      by the time object_finalize_child_property() is called for the object.
      
      Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Cc: qemu-stable@nongnu.org # 2.2
      (cherry picked from commit 3a4dbe6a)
      Signed-off-by: default avatarMichael Roth <mdroth@linux.vnet.ibm.com>
      4d49de6b
  5. Feb 23, 2015
  6. Feb 22, 2015
Loading