xen-scsiback: safely copy requests
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. CC: stable@vger.kernel.org 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>
This commit is contained in:
Родитель
1877914910
Коммит
be69746ec1
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче