Xen 2016/06/14
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJXYBxgAAoJEIlPj0hw4a6QSpYQALI2AIKli81/pfqSDsLibsua 5ABiI/xX97+LGQsl4jdb+D7hn62g+kM22aNzm1uzZtAErWU0WuJw4Qdf5seB95pn GG30lEfnzNJbxY4/UsSWKK43RyjUmqCF5DI5ItP4LMT6ElTEVnQs9ePMLcKROH6K yT5ARpdd1b+40ORX+bss+qLXUKwnw5NyWaeuGgv8WUOalvyRqR7jz53ASYiOPX2x GAf5aMaqhWMc7gqoQjLGSjb7j2CVsLWdoq2G1ojImFJi5HvvBJ+EcMjK9X8vBQgu /KNoog5qKa2etqbApX2v3kBlOO4bDlTbI8DHFVXdLV1Lk7dZ98RauztvuZeo3Fx6 Nv4FtsVEBGGHQ8wrHRtSCy4+Sbvl6QHmtyV4DbV7qRvRDSyzZq2+zcHjrk9P8yEJ L76sn8m9q9phML36BPD4O+pb1vqvMZVNJfrVm7ANGn1weHi2sdG7oshbk7r0MLAP haS7qV6Sj9ofJH45m+sDg1IpwbsGk5ZN29SjnijpL+prJEj1Id1NaVYMTJN0FVjR Y5O+2Fiy6ympPp0oInvt6V7I5NZDRLX7ul/hVMm1ASBVpaO+Zy8Tggz06/GIs+3U g7icHQBnIKe772LwUfT4iZzjI9OOmt84wOtqij1Nm7CwxmIAjOXX4TW4kf/V6z2Q BnjKR+ahybI9iUrPXmuh =VArM -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20160614-tag' into staging Xen 2016/06/14 # gpg: Signature made Tue 14 Jun 2016 16:01:52 BST # gpg: using RSA key 0x894F8F4870E1AE90 # gpg: Good signature from "Stefano Stabellini <stefano.stabellini@eu.citrix.com>" # Primary key fingerprint: D04E 33AB A51F 67BA 07D3 0AEA 894F 8F48 70E1 AE90 * remotes/sstabellini/tags/xen-20160614-tag: xen: Clean up includes xen/blkif: avoid double access to any shared ring request fields Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
49237b856a
@ -79,14 +79,14 @@ static inline void blkif_get_x86_32_req(blkif_request_t *dst, blkif_x86_32_reque
|
||||
dst->handle = src->handle;
|
||||
dst->id = src->id;
|
||||
dst->sector_number = src->sector_number;
|
||||
if (src->operation == BLKIF_OP_DISCARD) {
|
||||
/* Prevent the compiler from using src->... instead. */
|
||||
barrier();
|
||||
if (dst->operation == BLKIF_OP_DISCARD) {
|
||||
struct blkif_request_discard *s = (void *)src;
|
||||
struct blkif_request_discard *d = (void *)dst;
|
||||
d->nr_sectors = s->nr_sectors;
|
||||
return;
|
||||
}
|
||||
/* prevent the compiler from optimizing the code and using src->nr_segments instead */
|
||||
barrier();
|
||||
if (n > dst->nr_segments)
|
||||
n = dst->nr_segments;
|
||||
for (i = 0; i < n; i++)
|
||||
@ -102,14 +102,14 @@ static inline void blkif_get_x86_64_req(blkif_request_t *dst, blkif_x86_64_reque
|
||||
dst->handle = src->handle;
|
||||
dst->id = src->id;
|
||||
dst->sector_number = src->sector_number;
|
||||
if (src->operation == BLKIF_OP_DISCARD) {
|
||||
/* Prevent the compiler from using src->... instead. */
|
||||
barrier();
|
||||
if (dst->operation == BLKIF_OP_DISCARD) {
|
||||
struct blkif_request_discard *s = (void *)src;
|
||||
struct blkif_request_discard *d = (void *)dst;
|
||||
d->nr_sectors = s->nr_sectors;
|
||||
return;
|
||||
}
|
||||
/* prevent the compiler from optimizing the code and using src->nr_segments instead */
|
||||
barrier();
|
||||
if (n > dst->nr_segments)
|
||||
n = dst->nr_segments;
|
||||
for (i = 0; i < n; i++)
|
||||
|
@ -679,6 +679,8 @@ static int blk_get_request(struct XenBlkDev *blkdev, struct ioreq *ioreq, RING_I
|
||||
RING_GET_REQUEST(&blkdev->rings.x86_64_part, rc));
|
||||
break;
|
||||
}
|
||||
/* Prevent the compiler from accessing the on-ring fields instead. */
|
||||
barrier();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -19,13 +19,10 @@
|
||||
* GNU GPL, version 2 or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include <libusb.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include <libusb.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/config-file.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
@ -8,7 +8,6 @@
|
||||
*/
|
||||
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/typedefs.h"
|
||||
#include "exec/cpu-common.h"
|
||||
#include "hw/irq.h"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user