qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e45e7a: exec: check kvm mmu notifiers earlier


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e45e7a: exec: check kvm mmu notifiers earlier
Date: Tue, 20 Jun 2017 08:01:22 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e45e7ae281221de48148477fd4f066091995653e
      
https://github.com/qemu/qemu/commit/e45e7ae281221de48148477fd4f066091995653e
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: check kvm mmu notifiers earlier

Move kvm mmu notifiers check before calling file_ram_alloc(), with the
other xen precondition. (file_ram_alloc() will be reused in other cases
than -mem-path).

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8d37b030fe14917a95118db04ed898c1cd2c8f49
      
https://github.com/qemu/qemu/commit/8d37b030fe14917a95118db04ed898c1cd2c8f49
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M exec.c

  Log Message:
  -----------
  exec: split file_ram_alloc()

Move file opening part in a seperate function, file_ram_open(). This
allows for reuse of file_ram_alloc() with a given fd.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 38b3362dd15c2dc4ad0edd105cde914e639d90fa
      
https://github.com/qemu/qemu/commit/38b3362dd15c2dc4ad0edd105cde914e639d90fa
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M exec.c
    M include/exec/ram_addr.h

  Log Message:
  -----------
  exec: split qemu_ram_alloc_from_file()

Add qemu_ram_alloc_from_fd(), which can be use to allocate ramblock from
fd only.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fea617c58b777495b9285f3dc6b33f2898352886
      
https://github.com/qemu/qemu/commit/fea617c58b777495b9285f3dc6b33f2898352886
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  Add memory_region_init_ram_from_fd()

Add a new function to initialize a RAM memory region with a file
descriptor to be mmap-ed.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8381d89bec0ca233c45c03939735e6eb89aab022
      
https://github.com/qemu/qemu/commit/8381d89bec0ca233c45c03939735e6eb89aab022
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/misc/ivshmem.c

  Log Message:
  -----------
  ivshmem: use ram_from_fd()

Instead of having its own mmap handling code, reuse the code from
exec.c.

Note: memory_region_init_ram_from_fd() adds some restrictions
(check for xen, kvm sync-mmu, etc) and changes (such as size
alignment). This may actually be more correct.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6b9911d0b6508b5fe4efa55d4f3bc9bc851c73a2
      
https://github.com/qemu/qemu/commit/6b9911d0b6508b5fe4efa55d4f3bc9bc851c73a2
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  memory: remove memory_region_set_fd

Now unnecessary since ivshmem uses memory_region_init_ram_from_fd.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 660174fc1b346803b3f1d7c260e2a36329b66435
      
https://github.com/qemu/qemu/commit/660174fc1b346803b3f1d7c260e2a36329b66435
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M tests/Makefile.include
    A tests/megasas-test.c

  Log Message:
  -----------
  megasas: add qtest

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


  Commit: 134550bf81a026e18cf58b81e2c2cceaf516f92e
      
https://github.com/qemu/qemu/commit/134550bf81a026e18cf58b81e2c2cceaf516f92e
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: do not read sense length more than once from frame

Avoid TOC-TOU bugs depending on how the compiler behaves.

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


  Commit: 24c0c77af515acbf0f9705e8096f33ef24d37430
      
https://github.com/qemu/qemu/commit/24c0c77af515acbf0f9705e8096f33ef24d37430
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: do not read iovec count more than once from frame

Avoid TOC-TOU bugs depending on how the compiler behaves.

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


  Commit: 5104fac8539eaf155fc6de93e164be43e1e62242
      
https://github.com/qemu/qemu/commit/5104fac8539eaf155fc6de93e164be43e1e62242
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: do not read DCMD opcode more than once from frame

Avoid TOC-TOU bugs by storing the DCMD opcode in the MegasasCmd

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


  Commit: 36c327a69d723571f02a7691631667cdb1865ee1
      
https://github.com/qemu/qemu/commit/36c327a69d723571f02a7691631667cdb1865ee1
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: do not read command more than once from frame

Avoid TOC-TOU bugs by passing the frame_cmd down, and checking
cmd->dcmd_opcode instead of cmd->frame->header.frame_cmd.

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


  Commit: b356807fcdfc45583c437f761fc579ab2a8eab11
      
https://github.com/qemu/qemu/commit/b356807fcdfc45583c437f761fc579ab2a8eab11
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c

  Log Message:
  -----------
  megasas: do not read SCSI req parameters more than once from frame

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


  Commit: 87e459a810d7b1ec1638085b5a80ea3d9b43119a
      
https://github.com/qemu/qemu/commit/87e459a810d7b1ec1638085b5a80ea3d9b43119a
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M hw/scsi/megasas.c
    M tests/megasas-test.c

  Log Message:
  -----------
  megasas: always store SCSIRequest* into MegasasCmd

This ensures that the request is unref'ed properly, and avoids a
segmentation fault in the new qtest testcase that is added.
This is CVE-2017-9503.

Reported-by: Zhangyanyu <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 428952cfa966f5af8c8f3d33267d30969851e4c5
      
https://github.com/qemu/qemu/commit/428952cfa966f5af8c8f3d33267d30969851e4c5
  Author: Thomas Huth <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: Do not generate files if "configure" has not been run yet

When doing a "make -j10" in the vanilla QEMU source tree (without
running "configure" first), the Makefile currently generates two
files already, qemu-version.h and qemu-options.def. This should not
happen, so let's only build the generated files if config-host.mak
is available (i.e. "configure" has been run already).

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


  Commit: a20fa79fa5585add650264ab9de1ea01624af943
      
https://github.com/qemu/qemu/commit/a20fa79fa5585add650264ab9de1ea01624af943
  Author: Thomas Huth <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Fix broken thread=xxx option of the --accel parameter

Commit bde4d9205 ("Fix the -accel parameter and the documentation for
'hax'") introduced a regression by adding a new local accel_opts
variable which shadows the variable with the same name that is
declared at the beginning of the main() scope. This causes the
qemu_tcg_configure() call later to be always called with NULL, so
that the thread=xxx option gets ignored. Fix it by removing the
local accel_opts variable and use "opts" instead, which is meant
for storing temporary QemuOpts values.
And while we're at it, also change the exit(1) here to exit(0)
since asking for help is not an error.

Fixes: bde4d9205ee9def98852ff6054cdef4efd74e1f8
Reported-by: Markus Armbruster <address@hidden>
Reported-by: Emilio G. Cota <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1d78a3c3ab8be0d7ea5509676aa38b96c7d551d4
      
https://github.com/qemu/qemu/commit/1d78a3c3ab8be0d7ea5509676aa38b96c7d551d4
  Author: Roman Kagan <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M kvm-all.c

  Log Message:
  -----------
  kvm-all: make async_safe_run_on_cpu safe on kvm too

Wrap the bulk of kvm_cpu_exec with cpu_exec_start/end, so that kvm
version can also enjoy performing certain operations while all vCPUs are
quiescent.

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


  Commit: 457e03559dc57859eb12f993380ddeaeb73e9017
      
https://github.com/qemu/qemu/commit/457e03559dc57859eb12f993380ddeaeb73e9017
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M target/i386/hax-all.c

  Log Message:
  -----------
  hax-all: make async_safe_run_on_cpu safe on HAX too

While at it, drop the current_cpu assignment since this is a
per-thread variable on modern QEMU.

Cc: Vincent Palatin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0c9390d978cbf61e8f16c9f580fa96b305c43568
      
https://github.com/qemu/qemu/commit/0c9390d978cbf61e8f16c9f580fa96b305c43568
  Author: Eric Blake <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

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

  Log Message:
  -----------
  nbd: Fix regression on resiliency to port scan

Back in qemu 2.5, qemu-nbd was immune to port probes (a transient
server would not quit, regardless of how many probe connections
came and went, until a connection actually negotiated).  But we
broke that in commit ee7d7aa when removing the return value to
nbd_client_new(), although that patch also introduced a bug causing
an assertion failure on a client that fails negotiation.  We then
made it worse during refactoring in commit 1a6245a (a segfault
before we could even assert); the (masked) assertion was cleaned
up in d3780c2 (still in 2.6), and just recently we finally fixed
the segfault ("nbd: Fully intialize client in case of failed
negotiation").  But that still means that ever since we added
TLS support to qemu-nbd, we have been vulnerable to an ill-timed
port-scan being able to cause a denial of service by taking down
qemu-nbd before a real client has a chance to connect.

Since negotiation is now handled asynchronously via coroutines,
we no longer have a synchronous point of return by re-adding a
return value to nbd_client_new().  So this patch instead wires
things up to pass the negotiation status through the close_fn
callback function.

Simple test across two terminals:
$ qemu-nbd -f raw -p 30001 file
$ nmap 127.0.0.1 -p 30001 && \
  qemu-io -c 'r 0 512' -f raw nbd://localhost:30001

Note that this patch does not change what constitutes successful
negotiation (thus, a client must enter transmission phase before
that client can be considered as a reason to terminate the server
when the connection ends).  Perhaps we may want to tweak things
in a later patch to also treat a client that uses NBD_OPT_ABORT
as being a 'successful' negotiation (the client correctly talked
the NBD protocol, and informed us it was not going to use our
export after all), but that's a discussion for another day.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1451614

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


  Commit: 041e32b8d9d076980b4e35317c0339e57ab888f1
      
https://github.com/qemu/qemu/commit/041e32b8d9d076980b4e35317c0339e57ab888f1
  Author: Max Reitz <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M qemu-nbd.c

  Log Message:
  -----------
  qemu-nbd: Ignore SIGPIPE

qemu proper has done so for 13 years
(8a7ddc38a60648257dc0645ab4a05b33d6040063), qemu-img and qemu-io have
done so for four years (526eda14a68d5b3596be715505289b541288ef2a).
Ignoring this signal is especially important in qemu-nbd because
otherwise a client can easily take down the qemu-nbd server by dropping
the connection when the server wants to send something, for example:

$ qemu-nbd -x foo -f raw -t null-co:// &
[1] 12726
$ qemu-io -c quit nbd://localhost/bar
can't open device nbd://localhost/bar: No export with name 'bar' available
[1]  + 12726 broken pipe  qemu-nbd -x foo -f raw -t null-co://

In this case, the client sends an NBD_OPT_ABORT and closes the
connection (because it is not required to wait for a reply), but the
server replies with an NBD_REP_ACK (because it is required to reply).

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


  Commit: a9ded6017ea39ea845fb1acf5187528bd74acb04
      
https://github.com/qemu/qemu/commit/a9ded6017ea39ea845fb1acf5187528bd74acb04
  Author: Yang Zhong <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile.objs
    M Makefile.target
    R accel.c
    A accel/Makefile.objs
    A accel/accel.c
    A accel/tcg/Makefile.objs
    A accel/tcg/tcg-all.c

  Log Message:
  -----------
  accel: split the tcg accelerator from accel.c file

there are some types of accelerators in qemu, and all accelerators
have their own file except tcg. tcg accelerator is also defined in
accel.c file. tcg accelerator file will be splited from accel.c and
re-name to tcg-all.c. accel/ directory will be created to include
kvm and tcg related files.

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


  Commit: d9bb58e51068dfc48746c6af0179926c8dc05bce
      
https://github.com/qemu/qemu/commit/d9bb58e51068dfc48746c6af0179926c8dc05bce
  Author: Yang Zhong <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile.objs
    M Makefile.target
    M accel/tcg/Makefile.objs
    A accel/tcg/cpu-exec-common.c
    A accel/tcg/cpu-exec.c
    A accel/tcg/cputlb.c
    A accel/tcg/trace-events
    R cpu-exec-common.c
    R cpu-exec.c
    R cputlb.c
    M trace-events

  Log Message:
  -----------
  tcg: move tcg related files into accel/tcg/ subdirectory

move cputlb.c, cpu-exec-common.c and cpu-exec.c related tcg exec
file into accel/tcg/ subdirectory.

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


  Commit: 244f144134d0dd182f1af8654e7f9a79fe770368
      
https://github.com/qemu/qemu/commit/244f144134d0dd182f1af8654e7f9a79fe770368
  Author: Yang Zhong <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile.target
    M accel/tcg/Makefile.objs
    M accel/tcg/trace-events
    A accel/tcg/translate-all.c
    A accel/tcg/translate-all.h
    A accel/tcg/translate-common.c
    M configure
    R tcg-runtime.c
    A tcg/tcg-runtime.c
    A tcg/tci.c
    R tci.c
    M trace-events
    R translate-all.c
    R translate-all.h
    R translate-common.c

  Log Message:
  -----------
  tcg: move tcg backend files into accel/tcg/

move tcg-runtime.c, translate-all.(ch) and translate-common.c into
accel/tcg/ subdirectory and updated related trace-events file.

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


  Commit: 92229a57bba10d5bbf469221c32a18d4bed642f4
      
https://github.com/qemu/qemu/commit/92229a57bba10d5bbf469221c32a18d4bed642f4
  Author: Yang Zhong <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile.objs
    M Makefile.target
    M accel/Makefile.objs
    A accel/kvm/Makefile.objs
    A accel/kvm/kvm-all.c
    A accel/kvm/trace-events
    A accel/stubs/Makefile.objs
    A accel/stubs/kvm-stub.c
    R kvm-all.c
    R kvm-stub.c
    M trace-events

  Log Message:
  -----------
  accel: move kvm related accelerator files into accel/

move kvm related accelerator files into accel/ subdirectory, also
create one stub subdirectory, which will include accelerator's stub
files.

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


  Commit: d1fdf257d52822695f5ace6c586e059aa17d4b79
      
https://github.com/qemu/qemu/commit/d1fdf257d52822695f5ace6c586e059aa17d4b79
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

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

  Log Message:
  -----------
  nbd: rename read_sync and friends

Rename
  nbd_wr_syncv -> nbd_rwv
  read_sync -> nbd_read
  read_sync_eof -> nbd_read_eof
  write_sync -> nbd_write
  drop_sync -> nbd_drop

1. nbd_ prefix
   read_sync and write_sync are already shared, so it is good to have a
   namespace prefix. drop_sync will be shared, and read_sync_eof is
   related to read_sync, so let's rename them all.

2. _sync suffix
   _sync is related to the fact that nbd_wr_syncv doesn't return if a
   write to socket returns EAGAIN. The first implementation of
   nbd_wr_syncv (was wr_sync in 7a5ca8648b) just loops while getting
   EAGAIN, the current implementation yields in this case.
   Why we want to get rid of it:
   - it is normal for r/w functions to be synchronous, so having an
     additional suffix for it looks redundant (contrariwise, we have
     _aio suffix for async functions)
   - _sync suffix in block layer is used when function does flush (so
     using it for other thing is confusing a bit)
   - keep function names short after adding nbd_ prefix

3. for nbd_wr_syncv let's use more common notation 'rw'

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


  Commit: 44298024d30ad36439707b89715a76333f58791b
      
https://github.com/qemu/qemu/commit/44298024d30ad36439707b89715a76333f58791b
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/client.c
    M nbd/common.c
    M nbd/nbd-internal.h

  Log Message:
  -----------
  nbd: make nbd_drop public

Following commit will reuse it for nbd server too.

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


  Commit: 2b0bbc4f8809c972bad134bc1a2570dbb01dea0b
      
https://github.com/qemu/qemu/commit/2b0bbc4f8809c972bad134bc1a2570dbb01dea0b
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: get rid of nbd_negotiate_read and friends

Functions nbd_negotiate_{read,write,drop_sync} were introduced in
1a6245a5b, when nbd_rwv (was nbd_wr_sync) was working through
qemu_co_sendv_recvv (the path is nbd_wr_sync -> qemu_co_{recv/send} ->
qemu_co_send_recv -> qemu_co_sendv_recvv), which just yields, without
setting any handlers. But starting from ff82911cd nbd_rwv (was
nbd_wr_syncv) works through qio_channel_yield() which sets handlers, so
watchers are redundant in nbd_negotiate_{read,write,drop_sync}, then,
let's just use nbd_{read,write,drop} functions.

Functions nbd_{read,write,drop} has errp parameter, which is unused in
this patch. This will be fixed later.

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


  Commit: a0dc63a6b76c3ee071d3300896039da434e1c2c9
      
https://github.com/qemu/qemu/commit/a0dc63a6b76c3ee071d3300896039da434e1c2c9
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: get rid of ssize_t

Now nbd_read and friends return int, so get rid of ssize_t.

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


  Commit: 572b97e7223a75c14e1620440c4f887b4e8b3da3
      
https://github.com/qemu/qemu/commit/572b97e7223a75c14e1620440c4f887b4e8b3da3
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: refactor nbd_co_send_reply

As nbd_write never returns value > 0, we can get rid of extra ret.

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


  Commit: 2a6e128bfaf4c6661dac2dfdca1162d275c88da2
      
https://github.com/qemu/qemu/commit/2a6e128bfaf4c6661dac2dfdca1162d275c88da2
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: get rid of EAGAIN dead code

For now nbd_read never returns EAGAIN. So, don't handle it.

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


  Commit: ee898b870fe864bf93370482aafbece1ca205dc3
      
https://github.com/qemu/qemu/commit/ee898b870fe864bf93370482aafbece1ca205dc3
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: refactor nbd_co_receive_request

Move function tail, about receiving next request out of the function.
Error path is simplified and nbd_co_receive_request becomes more
corresponding to its name.

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


  Commit: c84087f2f52f6e87ad1cbd07e5502ab748c17039
      
https://github.com/qemu/qemu/commit/c84087f2f52f6e87ad1cbd07e5502ab748c17039
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: remove NBDClientNewData

"co" field of NBDClientNewData has never been used, all the way back to
its declaration in commit 1a6245a5. So let's just use client pointer
instead of extra structure.

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


  Commit: 7798d3aab981b1ccb29ba7343368a55a32a26d30
      
https://github.com/qemu/qemu/commit/7798d3aab981b1ccb29ba7343368a55a32a26d30
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: nbd_negotiate: fix error path

Current code will return 0 on this nbd_write fail, as rc is 0
after successful nbd_negotiate_options. Fix this.

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


  Commit: d9faeed854ddc635adebd26923ece7e90c1080c6
      
https://github.com/qemu/qemu/commit/d9faeed854ddc635adebd26923ece7e90c1080c6
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: get rid of fail: return rc

"goto fail" error handling scheme is not needed for just returning
error code. Better is return it immediately.

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


  Commit: 2e5c9ad6f4cf164b098312ffe2f07396a5d994d3
      
https://github.com/qemu/qemu/commit/2e5c9ad6f4cf164b098312ffe2f07396a5d994d3
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: rename rc to ret

For consistency use 'ret' name for saving return code everywhere
in the file.

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


  Commit: 8c372a02e0c36fbdea28434d7c04f4dce5d7368f
      
https://github.com/qemu/qemu/commit/8c372a02e0c36fbdea28434d7c04f4dce5d7368f
  Author: Vladimir Sementsov-Ogievskiy <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M nbd/server.c

  Log Message:
  -----------
  nbd/server: refactor nbd_trip

- do not use 'goto error_reply' outside a switch to jump into the
  middle of the switch's default case label
- reduce code duplication

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


  Commit: e947738e3840025704e6d037aec4c341c8008994
      
https://github.com/qemu/qemu/commit/e947738e3840025704e6d037aec4c341c8008994
  Author: Thomas Huth <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M include/exec/poison.h

  Log Message:
  -----------
  include/exec/poison: Add missing TARGET defines

Since we've got some new CPU targets in QEMU during the last months
and years, we've got some new TARGET_xxx defines now which should
be marked as poisoned for common code.

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


  Commit: 067b913619ac36299be5ab23921fd19a0347df60
      
https://github.com/qemu/qemu/commit/067b913619ac36299be5ab23921fd19a0347df60
  Author: Thomas Huth <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M include/exec/poison.h

  Log Message:
  -----------
  include/exec/poison: Mark some CONFIG defines as poisoned, too

These are defined in config-target.h and thus should never be
used in common code.

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


  Commit: d59157ea058b55b95f27675b33275ffe0f4c7bd6
      
https://github.com/qemu/qemu/commit/d59157ea058b55b95f27675b33275ffe0f4c7bd6
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M .gitignore
    M Makefile
    M configure
    A docs/interop/parallels.txt
    A docs/interop/qcow2.txt
    A docs/interop/qed_spec.txt
    A docs/interop/qemu-ga-ref.texi
    A docs/interop/qemu-qmp-ref.texi
    A docs/interop/qmp-intro.txt
    A docs/interop/qmp-spec.txt
    A docs/interop/vhost-user.txt
    A docs/interop/vnc-ledstate-Pseudo-encoding.txt
    R docs/qemu-ga-ref.texi
    R docs/qemu-qmp-ref.texi
    R docs/qmp-intro.txt
    R docs/qmp-spec.txt
    R docs/specs/parallels.txt
    R docs/specs/qcow2.txt
    R docs/specs/qed_spec.txt
    R docs/specs/vhost-user.txt
    R docs/vnc-ledstate-Pseudo-encoding.txt
    M rules.mak

  Log Message:
  -----------
  docs: create interop/ subdirectory

This is for the future interoperability & management guide.  It includes
the QAPI docs, including the automatically generated ones, other socket
protocols (vhost-user, VNC), and the qcow2 file format.

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


  Commit: 44cb280d3325395cbebad09e20622423055a4d7a
      
https://github.com/qemu/qemu/commit/44cb280d3325395cbebad09e20622423055a4d7a
  Author: Paolo Bonzini <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile
    M qemu-doc.texi

  Log Message:
  -----------
  qemu-doc: include version number

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


  Commit: f12c1ebddf79c965d4fdca752c6b316c889c7675
      
https://github.com/qemu/qemu/commit/f12c1ebddf79c965d4fdca752c6b316c889c7675
  Author: Felipe Franciosi <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M .gitignore
    M default-configs/pci.mak
    M default-configs/s390x-softmmu.mak
    M hw/scsi/Makefile.objs
    M hw/scsi/vhost-scsi-common.c
    A hw/scsi/vhost-user-scsi.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h
    A include/hw/virtio/vhost-user-scsi.h
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  vhost-user-scsi: Introduce vhost-user-scsi host device

This commit introduces a vhost-user device for SCSI. This is based
on the existing vhost-scsi implementation, but done over vhost-user
instead. It also uses a chardev to connect to the backend. Unlike
vhost-scsi (today), VMs using vhost-user-scsi can be live migrated.

To use it, start Qemu with a command line equivalent to:

qemu-system-x86_64 \
       -chardev socket,id=vus0,path=/tmp/vus.sock \
       -device vhost-user-scsi-pci,chardev=vus0,bus=pci.0,addr=...

A separate commit presents a sample application linked with libiscsi to
provide a backend for vhost-user-scsi.

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


  Commit: 49cc0340f8be18871319ffec6efc72147e73ff0b
      
https://github.com/qemu/qemu/commit/49cc0340f8be18871319ffec6efc72147e73ff0b
  Author: Felipe Franciosi <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M Makefile
    M Makefile.objs
    M contrib/libvhost-user/libvhost-user.h
    A contrib/vhost-user-scsi/Makefile.objs
    A contrib/vhost-user-scsi/vhost-user-scsi.c

  Log Message:
  -----------
  vhost-user-scsi: Introduce a vhost-user-scsi sample application

This commit introduces a vhost-user-scsi backend sample application. It
must be linked with libiscsi and libvhost-user.

To use it, compile with:
  $ make vhost-user-scsi

And run as follows:
  $ ./vhost-user-scsi -u vus.sock -i iscsi://uri_to_target/
  $ qemu-system-x86_64 --enable-kvm -m 512 \
      -object memory-backend-file,id=mem,size=512m,share=on,mem-path=guestmem \
      -numa node,memdev=mem \
      -chardev socket,id=vhost-user-scsi,path=vus.sock \
      -device vhost-user-scsi-pci,chardev=vhost-user-scsi \

The application is currently limited at one LUN only and it processes
requests synchronously (therefore only achieving QD1). The purpose of
the code is to show how a backend can be implemented and to test the
vhost-user-scsi Qemu implementation.

If a different instance of this vhost-user-scsi application is executed
at a remote host, a VM can be live migrated to such a host.

Signed-off-by: Felipe Franciosi <address@hidden>
Message-Id: <address@hidden>


  Commit: 7e56accdaf35234b69c33c85e4a44a5d56325e53
      
https://github.com/qemu/qemu/commit/7e56accdaf35234b69c33c85e4a44a5d56325e53
  Author: Peter Maydell <address@hidden>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M .gitignore
    M Makefile
    M Makefile.objs
    M Makefile.target
    R accel.c
    A accel/Makefile.objs
    A accel/accel.c
    A accel/kvm/Makefile.objs
    A accel/kvm/kvm-all.c
    A accel/kvm/trace-events
    A accel/stubs/Makefile.objs
    A accel/stubs/kvm-stub.c
    A accel/tcg/Makefile.objs
    A accel/tcg/cpu-exec-common.c
    A accel/tcg/cpu-exec.c
    A accel/tcg/cputlb.c
    A accel/tcg/tcg-all.c
    A accel/tcg/trace-events
    A accel/tcg/translate-all.c
    A accel/tcg/translate-all.h
    A accel/tcg/translate-common.c
    M block/nbd-client.c
    M blockdev-nbd.c
    M configure
    M contrib/libvhost-user/libvhost-user.h
    A contrib/vhost-user-scsi/Makefile.objs
    A contrib/vhost-user-scsi/vhost-user-scsi.c
    R cpu-exec-common.c
    R cpu-exec.c
    R cputlb.c
    M default-configs/pci.mak
    M default-configs/s390x-softmmu.mak
    A docs/interop/parallels.txt
    A docs/interop/qcow2.txt
    A docs/interop/qed_spec.txt
    A docs/interop/qemu-ga-ref.texi
    A docs/interop/qemu-qmp-ref.texi
    A docs/interop/qmp-intro.txt
    A docs/interop/qmp-spec.txt
    A docs/interop/vhost-user.txt
    A docs/interop/vnc-ledstate-Pseudo-encoding.txt
    R docs/qemu-ga-ref.texi
    R docs/qemu-qmp-ref.texi
    R docs/qmp-intro.txt
    R docs/qmp-spec.txt
    R docs/specs/parallels.txt
    R docs/specs/qcow2.txt
    R docs/specs/qed_spec.txt
    R docs/specs/vhost-user.txt
    R docs/vnc-ledstate-Pseudo-encoding.txt
    M exec.c
    M hw/misc/ivshmem.c
    M hw/scsi/Makefile.objs
    M hw/scsi/megasas.c
    M hw/scsi/vhost-scsi-common.c
    A hw/scsi/vhost-user-scsi.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-pci.h
    M include/block/nbd.h
    M include/exec/memory.h
    M include/exec/poison.h
    M include/exec/ram_addr.h
    A include/hw/virtio/vhost-user-scsi.h
    M include/hw/virtio/virtio-scsi.h
    R kvm-all.c
    R kvm-stub.c
    M memory.c
    M nbd/client.c
    M nbd/common.c
    M nbd/nbd-internal.h
    M nbd/server.c
    M qemu-doc.texi
    M qemu-nbd.c
    M rules.mak
    M target/i386/hax-all.c
    R tcg-runtime.c
    A tcg/tcg-runtime.c
    A tcg/tci.c
    R tci.c
    M tests/Makefile.include
    A tests/megasas-test.c
    M trace-events
    R translate-all.c
    R translate-all.h
    R translate-common.c
    M vl.c

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

* nbd and qemu-nbd fixes (Eric, Max)
* nbd refactoring (Vladimir)
* vhost-user-scsi, take N+1 (Felipe)
* replace memory_region_set_fd with memory_region_init_ram_from_fd (Marc-André)
* docs/ movement (Paolo)
* megasas TOCTOU fixes (Paolo)
* make async_safe_run_on_cpu work on kvm/hax accelerators (Paolo)
* Build system and poison.h improvements (Thomas)
* -accel thread=xxx fix (Thomas)
* move files to accel/ (Yang Zhong)

# gpg: Signature made Thu 15 Jun 2017 10:51:55 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: (41 commits)
  vhost-user-scsi: Introduce a vhost-user-scsi sample application
  vhost-user-scsi: Introduce vhost-user-scsi host device
  qemu-doc: include version number
  docs: create interop/ subdirectory
  include/exec/poison: Mark some CONFIG defines as poisoned, too
  include/exec/poison: Add missing TARGET defines
  nbd/server: refactor nbd_trip
  nbd/server: rename rc to ret
  nbd/server: get rid of fail: return rc
  nbd/server: nbd_negotiate: fix error path
  nbd/server: remove NBDClientNewData
  nbd/server: refactor nbd_co_receive_request
  nbd/server: get rid of EAGAIN dead code
  nbd/server: refactor nbd_co_send_reply
  nbd/server: get rid of ssize_t
  nbd/server: get rid of nbd_negotiate_read and friends
  nbd: make nbd_drop public
  nbd: rename read_sync and friends
  accel: move kvm related accelerator files into accel/
  tcg: move tcg backend files into accel/tcg/
  ...

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


Compare: https://github.com/qemu/qemu/compare/5135a1056d91...7e56accdaf35

reply via email to

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