linux/drivers/xen/xenbus
Juergen Gross 6b51fd3f65 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>
2020-04-14 15:09:37 +02:00
..
Makefile
xenbus_client.c xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status 2020-04-14 15:09:37 +02:00
xenbus_comms.c
xenbus_dev_backend.c
xenbus_dev_frontend.c
xenbus_probe_backend.c
xenbus_probe_frontend.c
xenbus_probe.c
xenbus_xs.c
xenbus.h