qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] d77f77: fsdev: Fix overrun after readlink() f


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] d77f77: fsdev: Fix overrun after readlink() fills buffer c...
Date: Sat, 08 Mar 2014 05:00:05 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: d77f7779b4d74354b3444ceb0f93105ced3c26c8
      
https://github.com/qemu/qemu/commit/d77f7779b4d74354b3444ceb0f93105ced3c26c8
  Author: Markus Armbruster <address@hidden>
  Date:   2014-02-26 (Wed, 26 Feb 2014)

  Changed paths:
    M fsdev/virtfs-proxy-helper.c

  Log Message:
  -----------
  fsdev: Fix overrun after readlink() fills buffer completely

readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte.  do_readlink() writes it
itself.  Overruns the buffer when readlink() filled it completely.

Fix by reserving space for the null byte when calling readlink(), like
we do elsewhere.

Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Aneesh Kumar K.V <address@hidden>


  Commit: 75b7931ec63577acb2dd472eb8d772012f1a4807
      
https://github.com/qemu/qemu/commit/75b7931ec63577acb2dd472eb8d772012f1a4807
  Author: Chen Gang <address@hidden>
  Date:   2014-03-03 (Mon, 03 Mar 2014)

  Changed paths:
    M hw/9pfs/virtio-9p-local.c

  Log Message:
  -----------
  hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"

When "goto err_out", 'v9fs_string' already was allocated, so still need
free 'v9fs_string' before return.

Signed-off-by: Chen Gang <address@hidden>
Signed-off-by: Aneesh Kumar K.V <address@hidden>


  Commit: fae0864573b08b12f29003baabfd9902d89608fe
      
https://github.com/qemu/qemu/commit/fae0864573b08b12f29003baabfd9902d89608fe
  Author: Chen Gang <address@hidden>
  Date:   2014-03-03 (Mon, 03 Mar 2014)

  Changed paths:
    M hw/9pfs/virtio-9p-local.c

  Log Message:
  -----------
  hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()

'ctx->fs_root' + 'path'/'fullname.data' may be larger than PATH_MAX, so
need use snprintf() instead of sprintf() just like another area have done
in 9pfs. This could possibly result in the truncation of pathname, which we
address in the follow up patch.

Signed-off-by: Chen Gang <address@hidden>
Signed-off-by: Aneesh Kumar K.V <address@hidden>


  Commit: 4fa4ce7107c6ec432f185307158c5df91ce54308
      
https://github.com/qemu/qemu/commit/4fa4ce7107c6ec432f185307158c5df91ce54308
  Author: Chen Gang <address@hidden>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M hw/9pfs/cofs.c
    M hw/9pfs/virtio-9p-handle.c
    M hw/9pfs/virtio-9p-local.c
    M hw/9pfs/virtio-9p-posix-acl.c
    M hw/9pfs/virtio-9p-xattr-user.c
    M hw/9pfs/virtio-9p-xattr.c
    M hw/9pfs/virtio-9p-xattr.h
    M hw/9pfs/virtio-9p.h

  Log Message:
  -----------
  hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation

When path is truncated by PATH_MAX limitation, it causes QEMU to access
incorrect file. So use original full path instead of PATH_MAX within
9pfs (need check/process ENOMEM for related memory allocation).

The related test:

 - Environments (for qemu-devel):

   - Host is under fedora17 desktop with ext4fs:

     qemu-system-x86_64 -hda test.img -m 1024 \
       -net nic,vlan=4,model=virtio,macaddr=00:16:35:AF:94:04 \
       -net tap,vlan=4,ifname=tap4,script=no,downscript=no \
       -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare \
       -fsdev local,security_model=passthrough,id=fsdev0,\
   path=/upstream/vm/data/share/1234567890abcdefghijklmnopqrstuvwxyz\
     ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmnopqrstuvwxyz\
     ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111111111\
     1111111111111111111111111111111111111111111111111111222222222222\
     2222222222222222222222222222222222222222222222222222222222222222\
     2222222222222222222222222222222222233333333333333333333333333333\
     3333333333333333333333333333333333

    - Guest is ubuntu12 server with 9pfs.

      mount -t 9p -o trans=virtio,version=9p2000.L hostshare /share

    - Limitations:

      full path limitation is PATH_MAX (4096B include nul) under Linux.
      file/dir node name maximized length is 256 (include nul) under ext4.

 - Special test:

    Under host, modify the file: "/upstream/vm/data/share/1234567890abcdefg\
      hijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890acdefghijklmno\
      pqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890/111111111111111111111\
      111111111111111111111111111111111111111111111111111111111122222222222\
      222222222222222222222222222222222222222222222222222222222222222222222\
      222222222222222222222222222222233333333333333333333333333333333333333\
      3333333333333333333333333/4444444444444444444444444444444444444444444\
      444444444444444444444444444444444444444444444444444444444444444444444\
      444444444444444444444444444444444444444444444444444444444444444444444\
      444444444444444444444444444444444444444/55555555555555555555555555555\
      555555555555555555555555555555555555555555555555555555555555555555555\
      555555555555555555555555555555555555555555555555555555555555555555555\
      555555555555555555555555555555555555555555555555555555555555555555555\
      55555555/666666666666666666666666666666666666666666666666666666666666\
      666666666666666666666666666666666666666666666666666666666666666666666\
      666666666666666666666666666666666666666666666666666666666666666666666\
      666666666666666666666/77777777777777777777777777777777777777777777777\
      777777777777777777777777777777777777777777777777777777777777777777777\
      777777777777777777777777777777777777777777777777777777777777777777777\
      77777777777777777777777777777777777777777777777777777777777/888888888\
      888888888888888888888888888888888888888888888888888888888888888888888\
      888888888888888888888888888888888888888888888888888888888888888888888\
      888888888888888888888888888888888888888888888888888888888888888888888\
      888888888/99999999999999999999999999999999999999999999999999999999999\
      999999999999999999999999999999999999999999999999999999999999999999999\
      999999999999999999999999999999999999999999999999999999999999999999999\
      99999999999999999999999999999999999999999/000000000000000000000000000\
      000000000000000000000000000000000000000000000000000000000000000000000\
      000000000000000000000000000000000000000000000000000000000000000000000\
      000000000000000000000000000000000000000000000000/aaaaaaaaaaaaaaaaaaaa\
      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbb\
      bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
      bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\
      bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccc\
      ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
      ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
      ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
      cccccccccc/dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
      ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
      ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\
      dddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
      eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
      eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\
      eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffff\
      fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
      fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
      ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff/gggggggggg\
      ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
      ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
      ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg\
      ggggggggggggggggggggggg/iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii\
      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/jjjjjjjjjjjjj\
      jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj\
      jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj/ppppppppppppppppppppp\
      ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp\
      ppppppppppppppppppppppppppppppppppppppp/test1234567890file.log"
  (need enter dir firstly, then modify file, or can not open it).

   Under guest, still allow modify "test1234567890file.log" (will generate
   "test123456" file with contents).

   After apply this patch, can not open "test1234567890file.log" under guest
   (permission denied).

 - Common test:

   All are still OK after apply this path.

     "mkdir -p", "create/open file/dir", "modify file/dir", "rm file/dir".
     change various mount point paths under host and/or guest.

Signed-off-by: Chen Gang <address@hidden>
Signed-off-by: Aneesh Kumar K.V <address@hidden>


  Commit: 993c91a0e996346c7ee8fa2ca310cc76edb59e17
      
https://github.com/qemu/qemu/commit/993c91a0e996346c7ee8fa2ca310cc76edb59e17
  Author: Aneesh Kumar K.V <address@hidden>
  Date:   2014-03-04 (Tue, 04 Mar 2014)

  Changed paths:
    M Makefile.objs
    M fsdev/Makefile.objs
    M hw/Makefile.objs

  Log Message:
  -----------
  hw/9pfs: Include virtio-9p-device.o in build

After commit ba1183da9a10b94611cad88c44a5c6df005f9b55 we are including
hw/Makefile.objs directly from Makefile.target. Make sure hw/Makefile.objs
rules doesn't depend on variable defined in Makefile.objs

Tested-by: Serge Hallyn <address@hidden>
Signed-off-by: Aneesh Kumar K.V <address@hidden>


  Commit: 85c09bc016076d59561449e786b7cd2138ea9446
      
https://github.com/qemu/qemu/commit/85c09bc016076d59561449e786b7cd2138ea9446
  Author: Bharata B Rao <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Change licence to GPLv2+

Pipe handling mechanism in gluster driver was based on similar implementation
in RBD driver and hence had GPLv2 and associated copyright information.
After changing gluster driver to coroutine based implementation, the pipe
handling code no longer exists and hence change gluster driver's licence to
GPLv2+ and remove RBD copyrights.

Signed-off-by: Bharata B Rao <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: b1f7d84fd2197337c0e71701b0c04174be98df77
      
https://github.com/qemu/qemu/commit/b1f7d84fd2197337c0e71701b0c04174be98df77
  Author: Bharata B Rao <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

  Changed paths:
    M block/gluster.c

  Log Message:
  -----------
  gluster: Remove unused defines and header include

Remove the definitions of GLUSTER_FD_WRITE and GLUSTER_FD_READ which are
no longer used. Also sockets.h isn't needed any more.

Signed-off-by: Bharata B Rao <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 64bb01aa35a24bea7ad0a1a8713991bab5020d12
      
https://github.com/qemu/qemu/commit/64bb01aa35a24bea7ad0a1a8713991bab5020d12
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

  Changed paths:
    M qemu-img.c

  Log Message:
  -----------
  qemu-img convert: Fix progress output

Initialise progress output only when the -p and -q options have already
been parsed, otherwise it's always disabled.

Reported-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 2fa4c042bc55ec10b9ca16163697d02cddd2d768
      
https://github.com/qemu/qemu/commit/2fa4c042bc55ec10b9ca16163697d02cddd2d768
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

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

  Log Message:
  -----------
  qemu-iotests: Test progress output for conversion

Signed-off-by: Kevin Wolf <address@hidden>


  Commit: f47c3f5a800a927238d20de9f99b5c77f0bc3fe0
      
https://github.com/qemu/qemu/commit/f47c3f5a800a927238d20de9f99b5c77f0bc3fe0
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

  Changed paths:
    M block/iscsi.c

  Log Message:
  -----------
  iscsi: Use bs->sg for everything else than disks

The current iscsi block driver code makes the rather arbitrary decision
that TYPE_MEDIUM_CHANGER and TYPE_TAPE devices have bs->sg = 1 and all
other device types are disks.

Instead of this, check for TYPE_DISK to expose the disk interface and
make everything else bs->sg = 1. In particular, this includes devices
with TYPE_STORAGE_ARRAY, which is what LUN 0 of an iscsi target is.
(See https://bugzilla.redhat.com/show_bug.cgi?id=1067784 for the exact
scenario.)

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>


  Commit: 47ea2de2d68b6c5319308b7de1980f463b7c125c
      
https://github.com/qemu/qemu/commit/47ea2de2d68b6c5319308b7de1980f463b7c125c
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-05 (Wed, 05 Mar 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Fix bs->request_alignment assertion for bs->sg=1

For sg backends, bs->request_alignment is meaningless and may be 0.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>


  Commit: 90ce8a061bdcc485a56142cae68cfbfff270e634
      
https://github.com/qemu/qemu/commit/90ce8a061bdcc485a56142cae68cfbfff270e634
  Author: BenoƮt Canet <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: make bdrv_swap rebuild the bs graph node list field.

Moving only the node_name one field could lead to some inconsitencies where a
node_name was defined on a bs which was not registered in the graph node list.

bdrv_swap between a named node bs and a non named node bs would lead to this.

bdrv_make_anon would then crash because it would try to remove the bs from the
graph node list while it is not in it.

This patch remove named node bses from the graph node list before doing the swap
then insert them back.

Signed-off-by: Benoit Canet <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 50c75136beec0180171971c88bb6e3fa3aa66463
      
https://github.com/qemu/qemu/commit/50c75136beec0180171971c88bb6e3fa3aa66463
  Author: Jeff Cody <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block/mirror.c

  Log Message:
  -----------
  block: mirror - remove code cruft that has no function

Originally, this built up the error message with the backing filename,
so that errp was set as follows:
    error_set(errp, QERR_OPEN_FILE_FAILED, backing_filename);

However, we now propagate the local_error from the
bdrv_open_backing_file() call instead, making these 2 lines useless
code.

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: cd5d031e75751838fb40f7b5a5f60fc15d543c55
      
https://github.com/qemu/qemu/commit/cd5d031e75751838fb40f7b5a5f60fc15d543c55
  Author: Max Reitz <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block.c

  Log Message:
  -----------
  block: Keep "filename" option after parsing

Currently, bdrv_file_open() always removes the "filename" option from
the options QDict after bdrv_parse_filename() has been (successfully)
called. However, for drivers with bdrv_needs_filename, it makes more
sense for bdrv_parse_filename() to overwrite the "filename" option and
for bdrv_file_open() to fetch the filename from there.

Since there currently are no drivers that implement
bdrv_parse_filename() and have bdrv_needs_filename set, this does not
change current behavior.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 078896a9eeeaf7c301bbc59fc791c3331324285f
      
https://github.com/qemu/qemu/commit/078896a9eeeaf7c301bbc59fc791c3331324285f
  Author: Max Reitz <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: Implement bdrv_parse_filename()

The "file" protocol driver should strip the "file:" prefix from
filenames if present.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 464d9f641d5a2382bd43d10ae41355edf69338b1
      
https://github.com/qemu/qemu/commit/464d9f641d5a2382bd43d10ae41355edf69338b1
  Author: Max Reitz <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  block/raw-posix: Strip "file:" prefix on creation

The bdrv_create() implementation of the block/raw-posix "file" protocol
driver should strip the "file:" prefix from filenames if present.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 7dc74db88b1eb3cff12174d0448ecfb6cd0e2469
      
https://github.com/qemu/qemu/commit/7dc74db88b1eb3cff12174d0448ecfb6cd0e2469
  Author: Max Reitz <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block/raw-win32.c

  Log Message:
  -----------
  block/raw-win32: Implement bdrv_parse_filename()

The "file" protocol driver should strip the "file:" prefix from
filenames if present.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: d5546c5e776ac8f6277ddfdd59df9888e7919c2f
      
https://github.com/qemu/qemu/commit/d5546c5e776ac8f6277ddfdd59df9888e7919c2f
  Author: Max Reitz <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block/raw-win32.c

  Log Message:
  -----------
  block/raw-win32: Strip "file:" prefix on creation

The bdrv_create() implementation of the block/raw-win32 "file" protocol
driver should strip the "file:" prefix from filenames if present.

Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 8ae8e904fcba484ff7c3f8f31339b56ebd88fbad
      
https://github.com/qemu/qemu/commit/8ae8e904fcba484ff7c3f8f31339b56ebd88fbad
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Fail blockdev-add with encrypted images

Encrypted images need a password before they can be used, and we don't
want blockdev-add to create BDSes that aren't fully initialised. So for
now simply forbid encrypted images; we can come back to it later if we
need the functionality.

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


  Commit: c6e0bd9b7037937aafeb1d34ec17975a7d685bb7
      
https://github.com/qemu/qemu/commit/c6e0bd9b7037937aafeb1d34ec17975a7d685bb7
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Fix NULL pointer dereference in blockdev-add

If aio=native, we check that cache.direct is set as well. If however
cache wasn't specified at all, qemu just segfaulted.

The old condition didn't make any sense anyway because it effectively
only checked for the default cache mode case, but not for an explicitly
set cache.direct=off mode.

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: c75203c8d343dc71d95144862bbb47290689c455
      
https://github.com/qemu/qemu/commit/c75203c8d343dc71d95144862bbb47290689c455
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

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

  Log Message:
  -----------
  qemu-iotests: Test a few blockdev-add error cases

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>


  Commit: eb909c7f72362e3c891d679f6f4eab0885fdb1c1
      
https://github.com/qemu/qemu/commit/eb909c7f72362e3c891d679f6f4eab0885fdb1c1
  Author: Kevin Wolf <address@hidden>
  Date:   2014-03-06 (Thu, 06 Mar 2014)

  Changed paths:
    M block.c
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out

  Log Message:
  -----------
  block: Fix error path segfault in bdrv_open()

Using an invalid option for a block device that is opened with
BDRV_O_PROTOCOL led to drv = NULL, and when trying to include the driver
name in the error message, qemu dereferenced it:

    $ x86_64-softmmu/qemu-system-x86_64 -drive file=/tmp/test.qcow2,file.foo=bar
    Segmentation fault (core dumped)

With this patch applied, the expected error message is printed:

    $ x86_64-softmmu/qemu-system-x86_64 -drive file=/tmp/test.qcow2,file.foo=bar
    qemu-system-x86_64: -drive file=/tmp/test.qcow2,file.foo=bar: could
    not open disk image /tmp/test.qcow2: Block protocol 'file' doesn't
    support the option 'foo'

Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>


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

  Changed paths:
    M hw/ide/ahci.h

  Log Message:
  -----------
  hw/ide/ahci.h: Avoid shifting left into sign bit

Add 'U' suffixes to avoid undefined behaviour shifting left into
the signed bit of a signed integer type. Clang's sanitizer will
warn about this:

 hw/ide/ahci.c:1210:27: runtime error: left shift of 1 by 31 places cannot be 
represented in type 'int'

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


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

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

  Log Message:
  -----------
  block: qemu-iotests 085 - live snapshots tests

This adds tests for live snapshots, both through the single
snapshot command, and the transaction group snapshot command.

The snapshots are done through the QMP interface, using the
following commands for snapshots:

Single snapshot:
{ 'execute': 'blockdev-snapshot-sync', 'arguments':
       { 'device': 'virtio0', 'snapshot-file':'...',
         'format': 'qcow2' } }"

Group snapshot:
{ 'execute': 'transaction', 'arguments':
        {'actions': [
            { 'type': 'blockdev-snapshot-sync', 'data' :
              { 'device': 'virtio0', 'snapshot-file': '...' } },
            { 'type': 'blockdev-snapshot-sync', 'data' :
              { 'device': 'virtio1', 'snapshot-file': '...' } } ]
       } }

Signed-off-by: Jeff Cody <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


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

  Changed paths:
    M block.c
    M block/gluster.c
    M block/iscsi.c
    M block/mirror.c
    M block/raw-posix.c
    M block/raw-win32.c
    M blockdev.c
    M hw/ide/ahci.h
    M qemu-img.c
    M tests/qemu-iotests/051
    M tests/qemu-iotests/051.out
    A tests/qemu-iotests/085
    A tests/qemu-iotests/085.out
    A tests/qemu-iotests/086
    A tests/qemu-iotests/086.out
    A tests/qemu-iotests/087
    A tests/qemu-iotests/087.out
    M tests/qemu-iotests/group

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

Block patches

# gpg: Signature made Fri 07 Mar 2014 13:30:04 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"

* remotes/kevin/tags/for-upstream:
  block: qemu-iotests 085 - live snapshots tests
  hw/ide/ahci.h: Avoid shifting left into sign bit
  block: Fix error path segfault in bdrv_open()
  qemu-iotests: Test a few blockdev-add error cases
  blockdev: Fix NULL pointer dereference in blockdev-add
  blockdev: Fail blockdev-add with encrypted images
  block/raw-win32: Strip "file:" prefix on creation
  block/raw-win32: Implement bdrv_parse_filename()
  block/raw-posix: Strip "file:" prefix on creation
  block/raw-posix: Implement bdrv_parse_filename()
  block: Keep "filename" option after parsing
  block: mirror - remove code cruft that has no function
  block: make bdrv_swap rebuild the bs graph node list field.
  block: Fix bs->request_alignment assertion for bs->sg=1
  iscsi: Use bs->sg for everything else than disks
  qemu-iotests: Test progress output for conversion
  qemu-img convert: Fix progress output
  gluster: Remove unused defines and header include
  gluster: Change licence to GPLv2+

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


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

  Changed paths:
    M Makefile.objs
    M fsdev/Makefile.objs
    M fsdev/virtfs-proxy-helper.c
    M hw/9pfs/cofs.c
    M hw/9pfs/virtio-9p-handle.c
    M hw/9pfs/virtio-9p-local.c
    M hw/9pfs/virtio-9p-posix-acl.c
    M hw/9pfs/virtio-9p-xattr-user.c
    M hw/9pfs/virtio-9p-xattr.c
    M hw/9pfs/virtio-9p-xattr.h
    M hw/9pfs/virtio-9p.h
    M hw/Makefile.objs

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

* remotes/kvaneesh/for-upstream:
  hw/9pfs: Include virtio-9p-device.o in build
  hw/9pfs: use g_strdup_printf() instead of PATH_MAX limitation
  hw/9pfs/virtio-9p-local.c: use snprintf() instead of sprintf()
  hw/9pfs/virtio-9p-local.c: move v9fs_string_free() to below "err_out:"
  fsdev: Fix overrun after readlink() fills buffer completely

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


Compare: https://github.com/qemu/qemu/compare/6570025e53df...f53f3d0a00b6

reply via email to

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