qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 34506b: util/qht: Document memory ordering as


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 34506b: util/qht: Document memory ordering assumptions
Date: Thu, 04 Aug 2016 03:30:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 34506b30e4210b417aa38d1518aa2c53fb7cf39b
      
https://github.com/qemu/qemu/commit/34506b30e4210b417aa38d1518aa2c53fb7cf39b
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M include/qemu/qht.h
    M util/qht.c

  Log Message:
  -----------
  util/qht: Document memory ordering assumptions

It is naturally expected that some memory ordering should be provided
around qht_insert() and qht_lookup(). Document these assumptions in the
header file and put some comments in the source to denote how that
memory ordering requirements are fulfilled.

Signed-off-by: Paolo Bonzini <address@hidden>
[Sergey Fedorov: commit title and message provided;
comment on qht_remove() elided]
Signed-off-by: Sergey Fedorov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0b21757124d200ff86100a3bc7bb5f81521b42c4
      
https://github.com/qemu/qemu/commit/0b21757124d200ff86100a3bc7bb5f81521b42c4
  Author: Greg Kurz <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: set the memory backend "is_mapped" field

Commit 2aece63 "hostmem: detect host backend memory is being used properly"
added a way to know if a memory backend is busy or available for use. It
caused a slight regression if we pass the same backend to a NUMA node and
to a pc-dimm device:

-m 1G,slots=2,maxmem=2G \
-object memory-backend-ram,size=1G,id=mem-mem1 \
-device pc-dimm,id=dimm-mem1,memdev=mem-mem1 \
-numa node,nodeid=0,memdev=mem-mem1

Before commit 2aece63, this would cause QEMU to print an error message and
to exit gracefully:

qemu-system-ppc64: -device pc-dimm,id=dimm-mem1,memdev=mem-mem1:
    can't use already busy memdev: mem-mem1

Since commit 2aece63, QEMU hits an assertion in the memory code:

qemu-system-ppc64: memory.c:1934: memory_region_add_subregion_common:
    Assertion `!subregion->container' failed.
Aborted

This happens because pc-dimm devices don't use memory_region_is_mapped()
anymore and cannot guess the backend is already used by a NUMA node.

Let's revert to the previous behavior by turning the NUMA code to also
call host_memory_backend_set_mapped() when it uses a backend.

Fixes: 2aece63c8a9d2c3a8ff41d2febc4cdeff2633331
Signed-off-by: Greg Kurz <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 056b68af773b31fa98fe4538f6424c0079b61415
      
https://github.com/qemu/qemu/commit/056b68af773b31fa98fe4538f6424c0079b61415
  Author: Igor Mammedov <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M backends/hostmem.c
    M exec.c
    M include/qemu/osdep.h
    M util/oslib-posix.c
    M util/oslib-win32.c

  Log Message:
  -----------
  fix qemu exit on memory hotplug when allocation fails at prealloc time

When adding hostmem backend at runtime, QEMU might exit with error:
  "os_mem_prealloc: Insufficient free host memory pages available to allocate 
guest RAM"

It happens due to os_mem_prealloc() not handling errors gracefully.

Fix it by passing errp argument so that os_mem_prealloc() could
report error to callers and undo performed allocation when
os_mem_prealloc() fails.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3f822cff4473fd6313f6c06623edf148b3ad2cc6
      
https://github.com/qemu/qemu/commit/3f822cff4473fd6313f6c06623edf148b3ad2cc6
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: add check for bzero

Tested-By: Peter Xu <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 00432b69538559285ca55677c1002cad556aea50
      
https://github.com/qemu/qemu/commit/00432b69538559285ca55677c1002cad556aea50
  Author: Cao jin <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M include/qemu/sockets.h
    M util/qemu-sockets.c

  Log Message:
  -----------
  util: drop inet_nonblocking_connect()

It is never used; all nonblocking connect now goes through
socket_connect(), which calls inet_connect_addr().

Cc: Daniel P. Berrange <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Signed-off-by: Cao jin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f8ea7a8656a807a8a3e4e2389059679716a75baa
      
https://github.com/qemu/qemu/commit/f8ea7a8656a807a8a3e4e2389059679716a75baa
  Author: Cao jin <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M include/qemu/sockets.h
    M util/qemu-sockets.c

  Log Message:
  -----------
  util: drop unix_nonblocking_connect()

It is never used; all nonblocking connect now goes through
socket_connect(), which calls unix_connect_addr().

Cc: Daniel P. Berrange <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Signed-off-by: Cao jin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 767db021bc45affa7a7c20ea21730d2867a0c37f
      
https://github.com/qemu/qemu/commit/767db021bc45affa7a7c20ea21730d2867a0c37f
  Author: Cao jin <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M include/qemu/sockets.h
    M util/qemu-sockets.c

  Log Message:
  -----------
  util: Drop inet_listen()

Since commit e65c67e4, inet_listen() is not used anymore, and all
inet listen operation goes through QIOChannel.

Cc: Daniel P. Berrange <address@hidden>
Cc: Gerd Hoffmann <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Eric Blake <address@hidden>

Signed-off-by: Cao jin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7266ae91a111001abda65c79299c9b7e365456b6
      
https://github.com/qemu/qemu/commit/7266ae91a111001abda65c79299c9b7e365456b6
  Author: Emilio G. Cota <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M tests/test-qht.c
    M translate-all.c
    M util/qht.c

  Log Message:
  -----------
  qht: do not segfault when gathering stats from an uninitialized qht

So far, QHT functions assume that the passed qht has previously been
initialized--otherwise they segfault.

This patch makes an exception for qht_statistics_init, with the goal
of simplifying calling code. For instance, qht_statistics_init is
called from the 'info jit' dump, and given that under KVM the TB qht
is never initialized, we get a segfault. Thus, instead of complicating
the 'info jit' code with additional checks, let's allow passing an
uninitialized qht to qht_statistics_init.

While at it, add a test for this to test-qht.

Before the patch (for $ qemu -enable-kvm [...]):
(qemu) info jit
[...]
direct jump count   0 (0%) (2 jumps=0 0%)
Program received signal SIGSEGV, Segmentation fault.

After the patch the "TB hash buckets", "TB hash occupancy"
and "TB hash avg chain" lines are omitted.
(qemu) info jit
[...]
direct jump count   0 (0%) (2 jumps=0 0%)
TB hash buckets     0/0 (-nan% head buckets used)
TB hash occupancy   nan% avg chain occ. Histogram: (null)
TB hash avg chain   nan buckets. Histogram: (null)
[...]

Reported by: Changlong Xie <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
[Extract printing statistics to an entirely separate function. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ba03584f4f88082368b2562e515c3d60421b68ce
      
https://github.com/qemu/qemu/commit/ba03584f4f88082368b2562e515c3d60421b68ce
  Author: Dave Hansen <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M target-i386/translate.c

  Log Message:
  -----------
  target-i386: fix typo in xsetbv implementation

QEMU 2.6 added support for the XSAVE family of instructions, which
includes the XSETBV instruction which allows setting the XCR0
register.

But, when booting Linux kernels with XSAVE support enabled, I was
getting very early crashes where the instruction pointer was set
to 0x3.  I tracked it down to a jump instruction generated by this:
   gen_jmp_im(s->pc - pc_start);

where s->pc is pointing to the instruction after XSETBV and pc_start
is pointing _at_ XSETBV.  Subtract the two and you get 0x3.  Whoops.

The fix is to replace this typo with the pattern found everywhere
else in the file when folks want to end the translation buffer.

Richard Henderson confirmed that this is a bug and that this is the
correct fix.

Signed-off-by: Dave Hansen <address@hidden>
Cc: address@hidden
Cc: Eduardo Habkost <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f9dbc19e8bf58d0cbc830083352475bb16f315c4
      
https://github.com/qemu/qemu/commit/f9dbc19e8bf58d0cbc830083352475bb16f315c4
  Author: Emilio G. Cota <address@hidden>
  Date:   2016-08-02 (Tue, 02 Aug 2016)

  Changed paths:
    M util/qdist.c

  Log Message:
  -----------
  qdist: fix memory leak during binning

In qdist_bin__internal(), to->entries is initialized to a 1-element array,
which we then leak when n == from->n. Fix it.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 071d4054770205ddb8a58a9e2735069d8fe52af1
      
https://github.com/qemu/qemu/commit/071d4054770205ddb8a58a9e2735069d8fe52af1
  Author: Emilio G. Cota <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M util/qdist.c

  Log Message:
  -----------
  qdist: use g_renew and g_new instead of g_realloc and g_malloc.

This is safer against overflow.  g_renew is available in all
version of glib, while g_realloc_n is only available in 2.24.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
[Rewritten to use g_new/g_renew. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 11b7b07f8a15879134a54e73fade98d5e11e04f8
      
https://github.com/qemu/qemu/commit/11b7b07f8a15879134a54e73fade98d5e11e04f8
  Author: Emilio G. Cota <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M tests/test-qdist.c
    M util/qdist.c

  Log Message:
  -----------
  qdist: return "(empty)" instead of NULL when printing an empty dist

Printf'ing a NULL string is undefined behaviour. Avoid it.

Reported-by: Peter Maydell <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0b646f44d9976c33aee78b0427d1b357dde5dd50
      
https://github.com/qemu/qemu/commit/0b646f44d9976c33aee78b0427d1b357dde5dd50
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/scsi/mptsas.c
    M hw/scsi/mptsas.h

  Log Message:
  -----------
  mptsas: really fix migration compatibility

Commit 2e2aa316 removed internal flag msi_in_use, but it
existed in vmstate.  Restore it for migration to older QEMU
versions.

Reported-by: Amit Shah <address@hidden>
Suggested-by: Amit Shah <address@hidden>
Cc: Markus Armbruster <address@hidden>
Cc: Marcel Apfelbaum <address@hidden>
Cc: Paolo Bonzini <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Amit Shah <address@hidden>
Cc: Cao jin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 71ae65e552fc6e03572e430009b98b80b40f1c4d
      
https://github.com/qemu/qemu/commit/71ae65e552fc6e03572e430009b98b80b40f1c4d
  Author: Igor Mammedov <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/i2c/core.c

  Log Message:
  -----------
  i2c: fix migration regression introduced by broadcast support

QEMU fails migration with following error:

qemu-system-x86_64: Missing section footer for i2c_bus
qemu-system-x86_64: load of migration failed: Invalid argument

when migrating from:
  qemu-system-x86_64-v2.6.0 -m 256M rhel72.img -M pc-i440fx-2.6
to
  qemu-system-x86_64-v2.7.0-rc0 -m 256M rhel72.img -M pc-i440fx-2.6

Regression is added by commit 2293c27f (i2c: implement broadcast write)

Fix it by dropping 'broadcast' VMState introduced by 2293c27f and
reuse broadcast 0x00 address as broadcast flag in bus->saved_address.
Then if there were ongoing broadcast at migration time, set
bus->saved_address to it and at i2c_slave_post_load() time check
for it instead of transfering and using 'broadcast' VMState.

As result of reusing existing saved_address VMState, no compat
glue will be needed to keep forward/backward compatiblity. which
makes fix much less intrusive.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5bee0f4717c4c67394aaade0c5a9cee3d42cc614
      
https://github.com/qemu/qemu/commit/5bee0f4717c4c67394aaade0c5a9cee3d42cc614
  Author: Eric Blake <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd: Fix bad flag detection on server

Commit ab7c548e added a check for invalid flags, but used an
early return on error instead of properly going through the
cleanup label.

Signed-off-by: Eric Blake <address@hidden>

Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7423f417827146f956df820f172d0bf80a489495
      
https://github.com/qemu/qemu/commit/7423f417827146f956df820f172d0bf80a489495
  Author: Eric Blake <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M block/nbd-client.h
    M include/block/nbd.h
    M nbd/client.c
    M nbd/server.c
    M qemu-nbd.c

  Log Message:
  -----------
  nbd: Limit nbdflags to 16 bits

Rather than asserting that nbdflags is within range, just give
it the correct type to begin with :)  nbdflags corresponds to
the per-export portion of NBD Protocol "transmission flags", which
is 16 bits in response to NBD_OPT_EXPORT_NAME and NBD_OPT_GO.

Furthermore, upstream NBD has never passed the global flags to
the kernel via ioctl(NBD_SET_FLAGS) (the ioctl was first
introduced in NBD 2.9.22; then a latent bug in NBD 3.1 actually
tried to OR the global flags with the transmission flags, with
the disaster that the addition of NBD_FLAG_NO_ZEROES in 3.9
caused all earlier NBD 3.x clients to treat every export as
read-only; NBD 3.10 and later intentionally clip things to 16
bits to pass only transmission flags).  Qemu should follow suit,
since the current two global flags (NBD_FLAG_FIXED_NEWSTYLE
and NBD_FLAG_NO_ZEROES) have no impact on the kernel's behavior
during transmission.

CC: address@hidden
Signed-off-by: Eric Blake <address@hidden>

Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e9fd416e66539ad43bbab018f346cb164136c099
      
https://github.com/qemu/qemu/commit/e9fd416e66539ad43bbab018f346cb164136c099
  Author: Eric Blake <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M include/qemu/osdep.h

  Log Message:
  -----------
  osdep: Document differences in rounding macros

Make it obvious which macros are safe in which situations.

Useful since QEMU_ALIGN_UP and ROUND_UP both purport to do
the same thing, but differ on whether the alignment must be
a power of 2.

Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b8d0a9804d0bd43c9b662a6917ae9cd514a54dff
      
https://github.com/qemu/qemu/commit/b8d0a9804d0bd43c9b662a6917ae9cd514a54dff
  Author: Eric Blake <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M block/io.c
    M include/block/block_int.h

  Log Message:
  -----------
  block: Cater to iscsi with non-power-of-2 discard

Dell Equallogic iSCSI SANs have a very unusual advertised geometry:

$ iscsi-inq -e 1 -c $((0xb0)) iscsi://XXX/0
wsnz:0
maximum compare and write length:1
optimal transfer length granularity:0
maximum transfer length:0
optimal transfer length:0
maximum prefetch xdread xdwrite transfer length:0
maximum unmap lba count:30720
maximum unmap block descriptor count:2
optimal unmap granularity:30720
ugavalid:1
unmap granularity alignment:0
maximum write same length:30720

which says that both the maximum and the optimal discard size
is 15M.  It is not immediately apparent if the device allows
discard requests not aligned to the optimal size, nor if it
allows discards at a finer granularity than the optimal size.

I tried to find details in the SCSI Commands Reference Manual
Rev. A on what valid values of maximum and optimal sizes are
permitted, but while that document mentions a "Block Limits
VPD Page", I couldn't actually find documentation of that page
or what values it would have, or if a SCSI device has an
advertisement of its minimal unmap granularity.  So it is not
obvious to me whether the Dell Equallogic device is compliance
with the SCSI specification.

Fortunately, it is easy enough to support non-power-of-2 sizing,
even if it means we are less efficient than truly possible when
targetting that device (for example, it means that we refuse to
unmap anything that is not a multiple of 15M and aligned to a
15M boundary, even if the device truly does support a smaller
granularity where unmapping actually works).

Reported-by: Peter Lieven <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e061fa3ca9cf769aebcc2ef5db7fc385a810abb1
      
https://github.com/qemu/qemu/commit/e061fa3ca9cf769aebcc2ef5db7fc385a810abb1
  Author: Markus Armbruster <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  fw_cfg: Make base type "fw_cfg" abstract

Missed when commit 5712db6 split off "fw_cfg_io" and "fw_cfg_mem".

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7298d4fd515c190b1b6c1266735f6212300313ae
      
https://github.com/qemu/qemu/commit/7298d4fd515c190b1b6c1266735f6212300313ae
  Author: Igor Mammedov <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M include/hw/i386/pc.h

  Log Message:
  -----------
  apic: fix broken migration for kvm-apic

commit f6e98444 (apic: Use apic_id as apic's migration instance_id)
breaks migration when in kernel irqchip is used for 2.6 and older
machine types.

It applies compat property only for userspace 'apic' type
instead of applying it to all apic types inherited from
'apic-common' type as it was supposed to do.

Fix it by setting compat property 'legacy-instance-id' for
'apic-common' type which affects inherited types (i.e. not
only 'apic' but also 'kvm-apic' types)

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


  Commit: f99b86b94987561580a94838766458e1c7b8685d
      
https://github.com/qemu/qemu/commit/f99b86b94987561580a94838766458e1c7b8685d
  Author: Peter Xu <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/intc/ioapic.c

  Log Message:
  -----------
  x86: ioapic: ignore level irq during processing

For level triggered interrupts, we will get Remote IRR bit cleared after
guest kernel finished processing specific request. Before that, we
should ignore the same interrupt from triggering again.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
[Push new "if" up so that it covers KVM split irqchip as well. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 20fd4b7b6d9282fe0cb83601f1821f31bd257458
      
https://github.com/qemu/qemu/commit/20fd4b7b6d9282fe0cb83601f1821f31bd257458
  Author: Peter Xu <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/intc/ioapic.c
    M include/hw/i386/ioapic_internal.h

  Log Message:
  -----------
  x86: ioapic: add support for explicit EOI

Some old Linux kernels (upstream before v4.0), or any released RHEL
kernels has problem in sending APIC EOI when IR is enabled. Meanwhile,
many of them only support explicit EOI for IOAPIC, which is only
introduced in IOAPIC version 0x20. This patch provide a way to boost
QEMU IOAPIC to version 0x20, in order for QEMU to correctly receive EOI
messages.

Without boosting IOAPIC version to 0x20, kernels before commit d32932d
("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
will have trouble enabling both IR and level-triggered interrupt devices
(like e1000).

To upgrade IOAPIC to version 0x20, we need to specify:

  -global ioapic.version=0x20

To be compatible with old systems, 0x11 will still be the default IOAPIC
version. Here 0x11 and 0x20 are the only versions to be supported.

One thing to mention: this patch only applies to emulated IOAPIC. It
does not affect kernel IOAPIC behavior.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f04ec5afbb7d60a56863add800fd90ceee66f362
      
https://github.com/qemu/qemu/commit/f04ec5afbb7d60a56863add800fd90ceee66f362
  Author: Robert Ho <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M qemu-options.hx

  Log Message:
  -----------
  Reorganize help output of '-display' option

The '-display' help information is not very correct. This patch sort
it a little.
Also, in its help information, reveals what implicit display option
will be chosen if no definition.

Signed-off-by: Robert Ho <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0d4104e5760221547fad158bbbb655a4e4c22b50
      
https://github.com/qemu/qemu/commit/0d4104e5760221547fad158bbbb655a4e4c22b50
  Author: Fam Zheng <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  qdev: Fix use after free in qdev_init_nofail error path

Since 69382d8b (qdev: Fix object reference leak in case device.realize()
fails), object_property_set_bool could release the object. The error
path wants the type name, so hold an reference before realizing it.

Cc: Igor Mammedov <address@hidden>
Signed-off-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e911765cbb9e9ddf5d952c88bb52180a62c6cea0
      
https://github.com/qemu/qemu/commit/e911765cbb9e9ddf5d952c88bb52180a62c6cea0
  Author: Shmulik Ladkani <address@hidden>
  Date:   2016-08-03 (Wed, 03 Aug 2016)

  Changed paths:
    M util/iov.c

  Log Message:
  -----------
  util: Fix assertion in iov_copy() upon zero 'bytes' and non-zero 'offset'

In cases where iov_copy() is passed with zero 'bytes' argument and a
non-zero 'offset' argument, nothing gets copied - as expected.

However no copy iterations are performed, so 'offset' is left
unaltered, leading to the final assert(offset == 0) to fail.

Instead, change the loop condition to continue as long as 'offset || bytes',
similar to other iov_* functions.

This ensures 'offset' gets zeroed (even if no actual copy is made),
unless it is beyond end of source iov - which is asserted.

Signed-off-by: Shmulik Ladkani <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 09704e6ded83fa0bec14baf32f800f6512156ca0
      
https://github.com/qemu/qemu/commit/09704e6ded83fa0bec14baf32f800f6512156ca0
  Author: Peter Maydell <address@hidden>
  Date:   2016-08-04 (Thu, 04 Aug 2016)

  Changed paths:
    M backends/hostmem.c
    M block/io.c
    M block/nbd-client.h
    M exec.c
    M hw/core/qdev.c
    M hw/i2c/core.c
    M hw/intc/ioapic.c
    M hw/nvram/fw_cfg.c
    M hw/scsi/mptsas.c
    M hw/scsi/mptsas.h
    M include/block/block_int.h
    M include/block/nbd.h
    M include/hw/i386/ioapic_internal.h
    M include/hw/i386/pc.h
    M include/qemu/osdep.h
    M include/qemu/qht.h
    M include/qemu/sockets.h
    M nbd/client.c
    M nbd/server.c
    M numa.c
    M qemu-nbd.c
    M qemu-options.hx
    M scripts/checkpatch.pl
    M target-i386/translate.c
    M tests/test-qdist.c
    M tests/test-qht.c
    M translate-all.c
    M util/iov.c
    M util/oslib-posix.c
    M util/oslib-win32.c
    M util/qdist.c
    M util/qemu-sockets.c
    M util/qht.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* xsetbv fix (x86 targets TCG)
* remove unused functions
* qht segfault and memory leak fixes
* NBD fixes
* Fix for non-power-of-2 discard granularity
* Memory hotplug fixes
* Migration regressions
* IOAPIC fixes and (disabled by default) EOI register support
* Various other small fixes

# gpg: Signature made Wed 03 Aug 2016 18:01:05 BST
# gpg:                using RSA key 0xBFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream: (25 commits)
  util: Fix assertion in iov_copy() upon zero 'bytes' and non-zero 'offset'
  qdev: Fix use after free in qdev_init_nofail error path
  Reorganize help output of '-display' option
  x86: ioapic: add support for explicit EOI
  x86: ioapic: ignore level irq during processing
  apic: fix broken migration for kvm-apic
  fw_cfg: Make base type "fw_cfg" abstract
  block: Cater to iscsi with non-power-of-2 discard
  osdep: Document differences in rounding macros
  nbd: Limit nbdflags to 16 bits
  nbd: Fix bad flag detection on server
  i2c: fix migration regression introduced by broadcast support
  mptsas: really fix migration compatibility
  qdist: return "(empty)" instead of NULL when printing an empty dist
  qdist: use g_renew and g_new instead of g_realloc and g_malloc.
  qdist: fix memory leak during binning
  target-i386: fix typo in xsetbv implementation
  qht: do not segfault when gathering stats from an uninitialized qht
  util: Drop inet_listen()
  util: drop unix_nonblocking_connect()
  ...

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


Compare: https://github.com/qemu/qemu/compare/29b2517ac79e...09704e6ded83

reply via email to

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