qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] c3adb5: blockdev: Refuse to open encrypted im


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c3adb5: blockdev: Refuse to open encrypted image unless pa...
Date: Sat, 15 Mar 2014 11:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c3adb58fe0b2db4942f5b2f5d19bc51a29b93a89
      
https://github.com/qemu/qemu/commit/c3adb58fe0b2db4942f5b2f5d19bc51a29b93a89
  Author: Markus Armbruster <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M block.c
    M stubs/Makefile.objs
    A stubs/runstate-check.c
    M tests/qemu-iotests/087
    M tests/qemu-iotests/087.out

  Log Message:
  -----------
  blockdev: Refuse to open encrypted image unless paused

Opening an encrypted image takes an additional step: setting the key.
Between open and the key set, the image must not be used.

We have some protection against accidental use in place: you can't
unpause a guest while we're missing keys.  You can, however, hot-plug
block devices lacking keys into a running guest just fine, or insert
media lacking keys.  In the latter case, notifying the guest of the
insert is delayed until the key is set, which may suffice to protect
at least some guests in common usage.

This patch makes the protection apply in more cases, in a rather
heavy-handed way: it doesn't let you open encrypted images unless
we're in a paused state.

It doesn't extend the protection to users other than the guest (block
jobs?).  Use of runstate_check() from block.c is disgusting.  Best I
can do right now.

Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 62e466e84592900756f080802782d0615c6a3b5c
      
https://github.com/qemu/qemu/commit/62e466e84592900756f080802782d0615c6a3b5c
  Author: Jeff Cody <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M block/vhdx.h

  Log Message:
  -----------
  block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants

On 32-bit hosts, some compilers will warn on too large integer constants
for constants that are 64-bit in length.  Explicitly put a 'ULL' suffix
on those defines.

Reported-by: Alexander Graf <address@hidden>
Signed-off-by: Jeff Cody <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 4a41a2d68a684241aca96dba066e0699941b730d
      
https://github.com/qemu/qemu/commit/4a41a2d68a684241aca96dba066e0699941b730d
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M block/nbd-client.c

  Log Message:
  -----------
  nbd: close socket if connection breaks

nbd_receive_reply() is called by the event loop whenever data is
available or the socket has been closed by the remote side.

This patch closes the socket when an error occurs to prevent the
nbd_receive_reply() handler from being called indefinitely after the
connection has failed.

Note that we were already correctly returning EIO for pending requests
but leaving the nbd_receive_reply() handler registered resulted in high
CPU consumption and a flood of error messages.

Reuse nbd_teardown_connection() to close the socket.

Reported-by: Zhifeng Cai <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 1e8ece0db3e8604d3a17bbd2bd1277161851a44a
      
https://github.com/qemu/qemu/commit/1e8ece0db3e8604d3a17bbd2bd1277161851a44a
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    A tests/qemu-iotests/nbd-fault-injector.py

  Log Message:
  -----------
  tests: add nbd-fault-injector.py utility

The nbd-fault-injector.py script is a special kind of NBD server.  It
throws away all writes and produces zeroes for reads.  Given a list of
fault injection rules, it can simulate NBD protocol errors and is useful
for testing NBD client error handling code paths.

See the patch for documentation.  This scripts is modelled after Kevin
Wolf <address@hidden>'s blkdebug block driver.

Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: dc668ded1009f88da5e31bc5a143cf3e9070d49b
      
https://github.com/qemu/qemu/commit/dc668ded1009f88da5e31bc5a143cf3e9070d49b
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    A tests/qemu-iotests/083
    A tests/qemu-iotests/083.out
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: add 083 NBD client disconnect tests

This new test case uses nbd-fault-injector.py to simulate broken TCP
connections at each stage in the NBD protocol.  This way we can exercise
block/nbd-client.c's socket error handling code paths.

In particular, this serves as a regression test to make sure
nbd-client.c doesn't cause an infinite loop by leaving its
nbd_receive_reply() fd handler registered after the connection has been
closed.  This bug was fixed in an earlier patch.

Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 46dea4160d587add2f3670306c41ad9ad4064af5
      
https://github.com/qemu/qemu/commit/46dea4160d587add2f3670306c41ad9ad4064af5
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tests/qemu-iotests/group

  Log Message:
  -----------
  qemu-iotests: remove 085 and 087 from 'quick' group

The 'quick' group in qemu-iotests are not allowed to run QEMU since we
don't know which targets are available.  In other words, they may only
use qemu-img, qemu-io, and qemu-nbd.

Drop 085 and 087 from the 'quick' group since they run QEMU.  This
makes "make check-block" pass again.

Reported-by: Markus Armbruster <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 50573c66ebba29e96222390645d0adeb64f814cd
      
https://github.com/qemu/qemu/commit/50573c66ebba29e96222390645d0adeb64f814cd
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Introduce tcg_out_insn

Converting the add/sub (3.5.2) and logical shifted (3.5.10) instruction
groups to the new scheme.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: df9351e372cb4a9d3079fcc5c7edead10b2a288e
      
https://github.com/qemu/qemu/commit/df9351e372cb4a9d3079fcc5c7edead10b2a288e
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Convert shift insns to tcg_out_insn

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 096c46c0ff3ad1db6048373620b44bef19f8408f
      
https://github.com/qemu/qemu/commit/096c46c0ff3ad1db6048373620b44bef19f8408f
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Introduce tcg_out_insn_3401

This merges the implementation of tcg_out_addi and tcg_out_subi.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 7d11fc7c2b853fe01b5166a9de01ca94d0787b85
      
https://github.com/qemu/qemu/commit/7d11fc7c2b853fe01b5166a9de01ca94d0787b85
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Implement mov with tcg_out_insn

Avoid the magic numbers in the current implementation.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 90f1cd9138deba50a6ff15a7f520c8e35ae870ac
      
https://github.com/qemu/qemu/commit/90f1cd9138deba50a6ff15a7f520c8e35ae870ac
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Handle constant operands to add, sub, and compare

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: e029f29385d0f9116c717d2e7a9c55d4bac8fe8a
      
https://github.com/qemu/qemu/commit/e029f29385d0f9116c717d2e7a9c55d4bac8fe8a
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Handle constant operands to and, or, xor

Handle a simplified set of logical immediates for the moment.

The way gcc and binutils do it, with 52k worth of tables, and
a binary search depth of log2(5334) = 13, seems slow for the
most common cases.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 14b155ddc4358342fcec7891615a4303b698221c
      
https://github.com/qemu/qemu/commit/14b155ddc4358342fcec7891615a4303b698221c
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support andc, orc, eqv, not, neg

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 04ce397b337cb1f81cde54d2b5dd7d6f0e08fffd
      
https://github.com/qemu/qemu/commit/04ce397b337cb1f81cde54d2b5dd7d6f0e08fffd
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support movcond

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: ed7a0aa8bc15a5278c8e76b83c359167c021ce86
      
https://github.com/qemu/qemu/commit/ed7a0aa8bc15a5278c8e76b83c359167c021ce86
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Use tcg_out_insn for setcond

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: b3c56df769c4b53b91219a0993f8ab8fcb25857b
      
https://github.com/qemu/qemu/commit/b3c56df769c4b53b91219a0993f8ab8fcb25857b
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support deposit

Also tidy the implementation of ubfm, sbfm, extr in order to share code.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: c6e929e7847cb440dbda8ae562a1fb1fdc5f0c77
      
https://github.com/qemu/qemu/commit/c6e929e7847cb440dbda8ae562a1fb1fdc5f0c77
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support add2, sub2

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 1fcc9ddfb3c42431c027eb490613b51491202daa
      
https://github.com/qemu/qemu/commit/1fcc9ddfb3c42431c027eb490613b51491202daa
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support muluh, mulsh

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 8678b71ce61a337109bca27b058a9027ff1c24ae
      
https://github.com/qemu/qemu/commit/8678b71ce61a337109bca27b058a9027ff1c24ae
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  tcg-aarch64: Support div, rem

Clean up multiply at the same time.

For remainder, generic code will produce mul+sub,
whereas we can implement with msub.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 582ab779c5cf9c941909faa65e092b6b492e2da6
      
https://github.com/qemu/qemu/commit/582ab779c5cf9c941909faa65e092b6b492e2da6
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c

  Log Message:
  -----------
  tcg-aarch64: Introduce tcg_out_insn_3405

Cleaning up the implementation of tcg_out_movi at the same time.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Claudio Fontana <address@hidden>
Tested-by: Claudio Fontana <address@hidden>


  Commit: 4191d0eb414b14bcf3eab803095566aeb9b198f0
      
https://github.com/qemu/qemu/commit/4191d0eb414b14bcf3eab803095566aeb9b198f0
  Author: Peter Maydell <address@hidden>
  Date:   2014-03-14 (Fri, 14 Mar 2014)

  Changed paths:
    M block.c
    M block/nbd-client.c
    M block/vhdx.h
    M stubs/Makefile.objs
    A stubs/runstate-check.c
    A tests/qemu-iotests/083
    A tests/qemu-iotests/083.out
    M tests/qemu-iotests/087
    M tests/qemu-iotests/087.out
    M tests/qemu-iotests/group
    A tests/qemu-iotests/nbd-fault-injector.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

Block pull request

# gpg: Signature made Fri 14 Mar 2014 16:12:14 GMT using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/block-pull-request:
  qemu-iotests: remove 085 and 087 from 'quick' group
  qemu-iotests: add 083 NBD client disconnect tests
  tests: add nbd-fault-injector.py utility
  nbd: close socket if connection breaks
  block: Explicitly specify 'unsigned long long' for VHDX 64-bit constants
  blockdev: Refuse to open encrypted image unless paused

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


  Commit: e6383080977ef1c761a00005ed533695acbe81e1
      
https://github.com/qemu/qemu/commit/e6383080977ef1c761a00005ed533695acbe81e1
  Author: Peter Maydell <address@hidden>
  Date:   2014-03-15 (Sat, 15 Mar 2014)

  Changed paths:
    M tcg/aarch64/tcg-target.c
    M tcg/aarch64/tcg-target.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tcg-aarch-6-2' into staging

* remotes/rth/tcg-aarch-6-2:
  tcg-aarch64: Introduce tcg_out_insn_3405
  tcg-aarch64: Support div, rem
  tcg-aarch64: Support muluh, mulsh
  tcg-aarch64: Support add2, sub2
  tcg-aarch64: Support deposit
  tcg-aarch64: Use tcg_out_insn for setcond
  tcg-aarch64: Support movcond
  tcg-aarch64: Support andc, orc, eqv, not, neg
  tcg-aarch64: Handle constant operands to and, or, xor
  tcg-aarch64: Handle constant operands to add, sub, and compare
  tcg-aarch64: Implement mov with tcg_out_insn
  tcg-aarch64: Introduce tcg_out_insn_3401
  tcg-aarch64: Convert shift insns to tcg_out_insn
  tcg-aarch64: Introduce tcg_out_insn

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


Compare: https://github.com/qemu/qemu/compare/03d51428e2da...e6383080977e

reply via email to

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