qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] cae41f: seabios: update to 1.10.1 stable rele


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] cae41f: seabios: update to 1.10.1 stable release
Date: Tue, 22 Nov 2016 15:00:04 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: cae41fda0f22b31f873fdc3e916f4d2580dedb09
      
https://github.com/qemu/qemu/commit/cae41fda0f22b31f873fdc3e916f4d2580dedb09
  Author: Gerd Hoffmann <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M pc-bios/bios-256k.bin
    M pc-bios/bios.bin
    M pc-bios/vgabios-cirrus.bin
    M pc-bios/vgabios-qxl.bin
    M pc-bios/vgabios-stdvga.bin
    M pc-bios/vgabios-virtio.bin
    M pc-bios/vgabios-vmware.bin
    M pc-bios/vgabios.bin
    M roms/seabios

  Log Message:
  -----------
  seabios: update to 1.10.1 stable release

git shortlog rel-1.10.0..rel-1.10.1
===================================

Igor Mammedov (1):
      drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: ecdbead659f037dc572bba9eb1cd31a5a1a9ad9a
      
https://github.com/qemu/qemu/commit/ecdbead659f037dc572bba9eb1cd31a5a1a9ad9a
  Author: Eric Blake <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M block/qcow2.c

  Log Message:
  -----------
  qcow2: Inform block layer about discard boundaries

At the qcow2 layer, discard is only possible on a per-cluster
basis; at the moment, qcow2 silently rounds any unaligned
requests to this granularity.  However, an upcoming patch will
fix a regression in the block layer ignoring too much of an
unaligned discard request, by changing the block layer to
break up a discard request at alignment boundaries; for that
to work, the block layer must know about our limits.

However, we can't go one step further by changing
qcow2_discard_clusters() to assert that requests are always
aligned, since that helper function is reached on paths
outside of the block layer.

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


  Commit: b2f95feec5e4d546b932848dd421ec3361e8ef77
      
https://github.com/qemu/qemu/commit/b2f95feec5e4d546b932848dd421ec3361e8ef77
  Author: Eric Blake <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Let write zeroes fallback work even with small max_transfer

Commit 443668ca rewrote the write_zeroes logic to guarantee that
an unaligned request never crosses a cluster boundary.  But
in the rewrite, the new code assumed that at most one iteration
would be needed to get to an alignment boundary.

However, it is easy to trigger an assertion failure: the Linux
kernel limits loopback devices to advertise a max_transfer of
only 64k.  Any operation that requires falling back to writes
rather than more efficient zeroing must obey max_transfer during
that fallback, which means an unaligned head may require multiple
iterations of the write fallbacks before reaching the aligned
boundaries, when layering a format with clusters larger than 64k
atop the protocol of file access to a loopback device.

Test case:

$ qemu-img create -f qcow2 -o cluster_size=1M file 10M
$ losetup /dev/loop2 /path/to/file
$ qemu-io -f qcow2 /dev/loop2
qemu-io> w 7m 1k
qemu-io> w -z 8003584 2093056

In fairness to Denis (as the original listed author of the culprit
commit), the faulty logic for at most one iteration is probably all
my fault in reworking his idea.  But the solution is to restore what
was in place prior to that commit: when dealing with an unaligned
head or tail, iterate as many times as necessary while fragmenting
the operation at max_transfer boundaries.

Reported-by: Ed Swierk <address@hidden>
CC: address@hidden
CC: Denis V. Lunev <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>


  Commit: 49228d1e95e1be879c57f5dbccb44405670e343d
      
https://github.com/qemu/qemu/commit/49228d1e95e1be879c57f5dbccb44405670e343d
  Author: Eric Blake <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M block/iscsi.c
    M block/qcow2.c
    M block/sheepdog.c

  Log Message:
  -----------
  block: Return -ENOTSUP rather than assert on unaligned discards

Right now, the block layer rounds discard requests, so that
individual drivers are able to assert that discard requests
will never be unaligned.  But there are some ISCSI devices
that track and coalesce multiple unaligned requests, turning it
into an actual discard if the requests eventually cover an
entire page, which implies that it is better to always pass
discard requests as low down the stack as possible.

In isolation, this patch has no semantic effect, since the
block layer currently never passes an unaligned request through.
But the block layer already has code that silently ignores
drivers that return -ENOTSUP for a discard request that cannot
be honored (as well as drivers that return 0 even when nothing
was done).  But the next patch will update the block layer to
fragment discard requests, so that clients are guaranteed that
they are either dealing with an unaligned head or tail, or an
aligned core, making it similar to the block layer semantics of
write zero fragmentation.

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


  Commit: 3482b9bc411a9a12b2efde1018e1ddc906cd817e
      
https://github.com/qemu/qemu/commit/3482b9bc411a9a12b2efde1018e1ddc906cd817e
  Author: Eric Blake <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M block/io.c

  Log Message:
  -----------
  block: Pass unaligned discard requests to drivers

Discard is advisory, so rounding the requests to alignment
boundaries is never semantically wrong from the data that
the guest sees.  But at least the Dell Equallogic iSCSI SANs
has an interesting property that its advertised discard
alignment is 15M, yet documents that discarding a sequence
of 1M slices will eventually result in the 15M page being
marked as discarded, and it is possible to observe which
pages have been discarded.

Between commits 9f1963b and b8d0a980, we converted the block
layer to a byte-based interface that ultimately ignores any
unaligned head or tail based on the driver's advertised
discard granularity, which means that qemu 2.7 refuses to
pass any discard request smaller than 15M down to the Dell
Equallogic hardware.  This is a slight regression in behavior
compared to earlier qemu, where a guest executing discards
in power-of-2 chunks used to be able to get every page
discarded, but is now left with various pages still allocated
because the guest requests did not align with the hardware's
15M pages.

Since the SCSI specification says nothing about a minimum
discard granularity, and only documents the preferred
alignment, it is best if the block layer gives the driver
every bit of information about discard requests, rather than
rounding it to alignment boundaries early.

Rework the block layer discard algorithm to mirror the write
zero algorithm: always peel off any unaligned head or tail
and manage that in isolation, then do the bulk of the request
on an aligned boundary.  The fallback when the driver returns
-ENOTSUP for an unaligned request is to silently ignore that
portion of the discard request; but for devices that can pass
the partial request all the way down to hardware, this can
result in the hardware coalescing requests and discarding
aligned pages after all.

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


  Commit: b85f9dfdb156ae2a2a52f39a36e9f1f270614cd2
      
https://github.com/qemu/qemu/commit/b85f9dfdb156ae2a2a52f39a36e9f1f270614cd2
  Author: Jan Beulich <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M xen-hvm.c

  Log Message:
  -----------
  xen: fix ioreq handling

Avoid double fetches and bounds check size to avoid overflowing
internal variables.

This is CVE-2016-9381 / XSA-197.

Reported-by: yanghongke <address@hidden>
Signed-off-by: Jan Beulich <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 873d57abbaa2225b66d0c54b5040242e749ddf28
      
https://github.com/qemu/qemu/commit/873d57abbaa2225b66d0c54b5040242e749ddf28
  Author: Juergen Gross <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M hw/xen/xen_backend.c
    M include/hw/xen/xen_backend.h

  Log Message:
  -----------
  xen: add an own bus for xen backend devices

Add a bus for Xen backend devices in order to be able to establish a
dedicated device path for pluggable devices.

Signed-off-by: Juergen Gross <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: ce49b734b4e2a3cc13dc4e11742c0813f1479145
      
https://github.com/qemu/qemu/commit/ce49b734b4e2a3cc13dc4e11742c0813f1479145
  Author: Juergen Gross <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M include/monitor/qdev.h
    M qdev-monitor.c

  Log Message:
  -----------
  qdev: add function qdev_set_id()

In order to have an easy way to add a new qdev with a specific id
carve out the needed functionality from qdev_device_add() into a new
function qdev_set_id().

Signed-off-by: Juergen Gross <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 3a6c9172ac5951e6dac2b3f6cbce3cfccdec5894
      
https://github.com/qemu/qemu/commit/3a6c9172ac5951e6dac2b3f6cbce3cfccdec5894
  Author: Juergen Gross <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M hw/xen/xen_backend.c
    M hw/xen/xen_pvdev.c
    M include/hw/xen/xen_backend.h
    M include/hw/xen/xen_pvdev.h

  Log Message:
  -----------
  xen: create qdev for each backend device

Create a qdev plugged to the xen-sysbus for each new backend device.
This device can be used as a parent for all needed devices of that
backend. The id of the new device will be "xen-<type>-<dev>" with
<type> being the xen backend type (e.g. "qdisk") and <dev> the xen
backend number of the type under which it is to be found in xenstore.

Signed-off-by: Juergen Gross <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: f1784a222eed213ce3213f431bc2f9c570f20c3e
      
https://github.com/qemu/qemu/commit/f1784a222eed213ce3213f431bc2f9c570f20c3e
  Author: Juergen Gross <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M hw/usb/xen-usb.c

  Log Message:
  -----------
  xen: attach pvusb usb bus to backend qdev

Attach the usb bus of a new pvusb controller to the qdev associated
with the Xen backend. Any device connected to that controller can now
specify the bus and port directly via its properties.

Signed-off-by: Juergen Gross <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>


  Commit: 5167dff8c7f68fae9526900a12e4feafe586b6f1
      
https://github.com/qemu/qemu/commit/5167dff8c7f68fae9526900a12e4feafe586b6f1
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M pc-bios/bios-256k.bin
    M pc-bios/bios.bin
    M pc-bios/vgabios-cirrus.bin
    M pc-bios/vgabios-qxl.bin
    M pc-bios/vgabios-stdvga.bin
    M pc-bios/vgabios-virtio.bin
    M pc-bios/vgabios-vmware.bin
    M pc-bios/vgabios.bin
    M roms/seabios

  Log Message:
  -----------
  Merge remote-tracking branch 'kraxel/tags/pull-seabios-20161122-1' into 
staging

seabios: update to 1.10.1 stable release

# gpg: Signature made Tue 22 Nov 2016 09:12:39 AM GMT
# gpg:                using RSA key 0x4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>"
# gpg:                 aka "Gerd Hoffmann <address@hidden>"
# gpg:                 aka "Gerd Hoffmann (private) <address@hidden>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* kraxel/tags/pull-seabios-20161122-1:
  seabios: update to 1.10.1 stable release

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


  Commit: 76989f4ffa0a7f3dd3d102b37a561912ceed3149
      
https://github.com/qemu/qemu/commit/76989f4ffa0a7f3dd3d102b37a561912ceed3149
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M block/io.c
    M block/iscsi.c
    M block/qcow2.c
    M block/sheepdog.c

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

Block layer patches for 2.8.0-rc1

# gpg: Signature made Tue 22 Nov 2016 03:55:38 PM GMT
# gpg:                using RSA key 0x7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <address@hidden>"
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* kwolf/tags/for-upstream:
  block: Pass unaligned discard requests to drivers
  block: Return -ENOTSUP rather than assert on unaligned discards
  block: Let write zeroes fallback work even with small max_transfer
  qcow2: Inform block layer about discard boundaries

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


  Commit: 01d7d15ce31ffb625ae6cf6ea295ecdad8456365
      
https://github.com/qemu/qemu/commit/01d7d15ce31ffb625ae6cf6ea295ecdad8456365
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M hw/usb/xen-usb.c
    M hw/xen/xen_backend.c
    M hw/xen/xen_pvdev.c
    M include/hw/xen/xen_backend.h
    M include/hw/xen/xen_pvdev.h
    M include/monitor/qdev.h
    M qdev-monitor.c
    M xen-hvm.c

  Log Message:
  -----------
  Merge remote-tracking branch 'sstabellini/tags/xen-20161122-tag' into staging

Xen 2016/11/22

# gpg: Signature made Tue 22 Nov 2016 06:41:23 PM GMT
# gpg:                using RSA key 0x894F8F4870E1AE90
# gpg: Good signature from "Stefano Stabellini <address@hidden>"
# gpg:                 aka "Stefano Stabellini <address@hidden>"
# Primary key fingerprint: D04E 33AB A51F 67BA 07D3  0AEA 894F 8F48 70E1 AE90

* sstabellini/tags/xen-20161122-tag:
  xen: attach pvusb usb bus to backend qdev
  xen: create qdev for each backend device
  qdev: add function qdev_set_id()
  xen: add an own bus for xen backend devices
  xen: fix ioreq handling

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


  Commit: 00227fefd2059464cd2f59aed29944874c630e2f
      
https://github.com/qemu/qemu/commit/00227fefd2059464cd2f59aed29944874c630e2f
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-11-22 (Tue, 22 Nov 2016)

  Changed paths:
    M VERSION

  Log Message:
  -----------
  Update version for v2.8.0-rc1 release

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


Compare: https://github.com/qemu/qemu/compare/a7764f1548ef...00227fefd205

reply via email to

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