All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL for-2.9 0/7] cirrus: more blitter security fixes.
@ 2017-03-16  9:30 Gerd Hoffmann
  2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 1/7] fix :cirrus_vga fix OOB read case qemu Segmentation fault Gerd Hoffmann
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2017-03-16  9:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Another pile of cirrus blitter fixes, including cve fixes for known
issues, so clearly 2.9 material.

Patches 6+7 implement a new approach to blitter memory access sanity
checking.  We pass around offsets not pointers, and at the place where
the actual memory access happens we mask the offset to the valid
range before calculating the pointer.

That should put an end to security holes due to blit_is_unsafe() sanity
checks failing to calculate some special case correctly, or due to
blit_is_unsafe() calls missing, and kill any dragons which might still
be lurking in the code.  In theory this even obsoletes blit_is_unsafe(),
but I don't feel like ripping it out right away ...

please pull,
  Gerd

The following changes since commit 1883ff34b540daacae948f493b0ba525edf5f642:

  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (2017-03-15 18:44:05 +0000)

are available in the git repository at:


  git://git.kraxel.org/qemu tags/pull-cirrus-20170316-1

for you to fetch changes up to ffaf857778286ca54e3804432a2369a279e73aa7:

  cirrus: stop passing around src pointers in the blitter (2017-03-16 08:58:16 +0100)

----------------------------------------------------------------
cirrus: blitter fixes.

----------------------------------------------------------------
Gerd Hoffmann (6):
      cirrus/vnc: zap bitblit support from console code.
      cirrus: switch to 4 MB video memory by default
      cirrus: add option to disable blitter
      cirrus: fix cirrus_invalidate_region
      cirrus: stop passing around dst pointers in the blitter
      cirrus: stop passing around src pointers in the blitter

hangaohuai (1):
      fix :cirrus_vga fix OOB read case qemu Segmentation fault

 hw/display/cirrus_vga.c      | 106 ++++++++++++++++--------
 hw/display/cirrus_vga_rop.h  | 191 ++++++++++++++++++++++++++-----------------
 hw/display/cirrus_vga_rop2.h | 125 ++++++++++++++--------------
 include/hw/compat.h          |   8 ++
 include/ui/console.h         |   7 --
 ui/console.c                 |  28 -------
 ui/vnc.c                     | 100 ----------------------
 7 files changed, 259 insertions(+), 306 deletions(-)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-03-16 17:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-16  9:30 [Qemu-devel] [PULL for-2.9 0/7] cirrus: more blitter security fixes Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 1/7] fix :cirrus_vga fix OOB read case qemu Segmentation fault Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 2/7] cirrus/vnc: zap bitblit support from console code Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 3/7] cirrus: switch to 4 MB video memory by default Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 4/7] cirrus: add option to disable blitter Gerd Hoffmann
2017-03-16  9:51   ` 李强
2017-03-16 11:07     ` Thomas Huth
2017-03-16 14:00     ` Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 5/7] cirrus: fix cirrus_invalidate_region Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 6/7] cirrus: stop passing around dst pointers in the blitter Gerd Hoffmann
2017-03-16  9:30 ` [Qemu-devel] [PULL for-2.9 7/7] cirrus: stop passing around src " Gerd Hoffmann
2017-03-16 17:53 ` [Qemu-devel] [PULL for-2.9 0/7] cirrus: more blitter security fixes Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.