linux-imx/include/xen
David Vrabel 120b649bd2 xen: Add RING_COPY_REQUEST()
commit 454d5d882c upstream.

Using RING_GET_REQUEST() on a shared ring is easy to use incorrectly
(i.e., by not considering that the other end may alter the data in the
shared ring while it is being inspected).  Safe usage of a request
generally requires taking a local copy.

Provide a RING_COPY_REQUEST() macro to use instead of
RING_GET_REQUEST() and an open-coded memcpy().  This takes care of
ensuring that the copy is done correctly regardless of any possible
compiler optimizations.

Use a volatile source to prevent the compiler from reordering or
omitting the copy.

This is part of XSA155.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2016-04-11 16:43:45 +02:00
..
interface xen: Add RING_COPY_REQUEST() 2016-04-11 16:43:45 +02:00
acpi.h xen / ACPI: notify xen when reduced hardware sleep is available 2013-07-31 14:22:35 +02:00
balloon.h xen/balloon: set a mapping for ballooned out pages 2013-08-09 11:23:24 -04:00
events.h xen/events: don't bind non-percpu VIRQs with percpu chip 2015-06-03 11:33:07 +02:00
features.h
gntalloc.h xen/gntalloc,gntdev: Add unmap notify ioctl 2011-02-14 14:16:17 -05:00
gntdev.h xen/gntalloc,gntdev: Add unmap notify ioctl 2011-02-14 14:16:17 -05:00
grant_table.h Merge commit 'v3.7-rc1' into stable/for-linus-3.7 2012-10-19 15:19:19 -04:00
hvc-console.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
hvm.h xen: Convert printks to pr_<level> 2013-06-28 11:19:58 -04:00
page.h xen: allow balloon driver to use more than one memory region 2011-09-29 11:12:10 -04:00
platform_pci.h xen/pvhvm: If xen_platform_pci=0 is set don't blow up (v4). 2014-02-13 13:50:10 -08:00
swiotlb-xen.h xen/swiotlb: Remove functions not needed anymore. 2012-09-17 13:00:43 -04:00
tmem.h xen: tmem: enable Xen tmem shim to be built/loaded as a module 2013-04-30 17:04:01 -07:00
xen-ops.h Merge branch 'arm-privcmd-for-3.8' of git://xenbits.xen.org/people/ianc/linux into stable/for-linus-3.8 2012-11-30 17:07:59 -05:00
xen.h xen/xen_initial_domain: check that xen_start_info is initialized 2012-10-03 13:03:32 -04:00
xenbus_dev.h xenbus: Add support for xenbus backend in stub domain 2012-05-21 09:53:18 -04:00
xenbus.h xenbus: delay xenbus frontend resume if xenstored is not running 2013-05-29 09:04:19 -04:00
xencomm.h xen: import arch generic part of xencomm 2008-04-24 23:57:32 +02:00