xen/blkfront: force data bouncing when backend is untrusted
authorRoger Pau Monne <roger.pau@citrix.com>
Thu, 7 Apr 2022 11:04:24 +0000 (13:04 +0200)
committerJuergen Gross <jgross@suse.com>
Fri, 1 Jul 2022 08:00:50 +0000 (10:00 +0200)
commit2400617da7eebf9167d71a46122828bc479d64c9
treea6a9a42f16f5b3fedd0fbf21752d5efe3196e341
parent4491001c2e0fa69efbb748c96ec96b100a5cdb7e
xen/blkfront: force data bouncing when backend is untrusted

Split the current bounce buffering logic used with persistent grants
into it's own option, and allow enabling it independently of
persistent grants.  This allows to reuse the same code paths to
perform the bounce buffering required to avoid leaking contiguous data
in shared pages not part of the request fragments.

Reporting whether the backend is to be trusted can be done using a
module parameter, or from the xenstore frontend path as set by the
toolstack when adding the device.

This is CVE-2022-33742, part of XSA-403.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/block/xen-blkfront.c