diff options
author | Juergen Gross <jgross@suse.com> | 2020-03-26 09:03:58 +0100 |
---|---|---|
committer | Juergen Gross <jgross@suse.com> | 2020-04-14 15:09:37 +0200 |
commit | 6b51fd3f65a22e3d1471b18a1d56247e246edd46 (patch) | |
tree | 5f476d8320603421bcdde379b3c60f35171a5957 /.cocciconfig | |
parent | x86/xen: fix booting 32-bit pv guest (diff) | |
download | linux-6b51fd3f65a22e3d1471b18a1d56247e246edd46.tar.xz linux-6b51fd3f65a22e3d1471b18a1d56247e246edd46.zip |
xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
xenbus_map_ring_valloc() maps a ring page and returns the status of the
used grant (0 meaning success).
There are Xen hypervisors which might return the value 1 for the status
of a failed grant mapping due to a bug. Some callers of
xenbus_map_ring_valloc() test for errors by testing the returned status
to be less than zero, resulting in no error detected and crashing later
due to a not available ring page.
Set the return value of xenbus_map_ring_valloc() to GNTST_general_error
in case the grant status reported by Xen is greater than zero.
This is part of XSA-316.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Wei Liu <wl@xen.org>
Link: https://lore.kernel.org/r/20200326080358.1018-1-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to '.cocciconfig')
0 files changed, 0 insertions, 0 deletions