xen/netfront: force data bouncing when backend is untrusted
authorRoger Pau Monne <roger.pau@citrix.com>
Thu, 7 Apr 2022 10:20:06 +0000 (12:20 +0200)
committerJuergen Gross <jgross@suse.com>
Fri, 1 Jul 2022 08:00:33 +0000 (10:00 +0200)
commit4491001c2e0fa69efbb748c96ec96b100a5cdb7e
tree0c6dd1cda3c4406a906bb496d6ceb4eac520f7d8
parent307c8de2b02344805ebead3440d8feed28f2f010
xen/netfront: force data bouncing when backend is untrusted

Bounce all data on the skbs to be transmitted into zeroed pages if the
backend is untrusted. This avoids leaking data present in the pages
shared with the backend but not part of the skb fragments.  This
requires introducing a new helper in order to allocate skbs with a
size multiple of XEN_PAGE_SIZE so we don't leak contiguous data on the
granted pages.

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-33741, 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/net/xen-netfront.c