Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1310648 > unrolled thread

[PATCH 4.2.y-ckt 237/305] xen-scsiback: safely copy requests

Started byKamal Mostafa <kamal@canonical.com>
First post2016-01-16 01:30 +0100
Last post2016-01-16 01:30 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 4.2.y-ckt 237/305] xen-scsiback: safely copy requests Kamal Mostafa <kamal@canonical.com> - 2016-01-16 01:30 +0100

#1310648 — [PATCH 4.2.y-ckt 237/305] xen-scsiback: safely copy requests

FromKamal Mostafa <kamal@canonical.com>
Date2016-01-16 01:30 +0100
Subject[PATCH 4.2.y-ckt 237/305] xen-scsiback: safely copy requests
Message-ID<qRmUI-5ah-75@gated-at.bofh.it>
4.2.8-ckt2 -stable review patch.  If anyone has any objections, please let me know.

---8<------------------------------------------------------------

From: David Vrabel <david.vrabel@citrix.com>

commit be69746ec12f35b484707da505c6c76ff06f97dc upstream.

The copy of the ring request was lacking a following barrier(),
potentially allowing the compiler to optimize the copy away.

Use RING_COPY_REQUEST() to ensure the request is copied to local
memory.

This is part of XSA155.

Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 drivers/xen/xen-scsiback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index 9eeefd7..2af9aa8 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -727,7 +727,7 @@ static int scsiback_do_cmd_fn(struct vscsibk_info *info)
 		if (!pending_req)
 			return 1;
 
-		ring_req = *RING_GET_REQUEST(ring, rc);
+		RING_COPY_REQUEST(ring, rc, &ring_req);
 		ring->req_cons = ++rc;
 
 		err = prepare_pending_reqs(info, &ring_req, pending_req);
-- 
1.9.1

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web