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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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: req->err should be updated before req->state 2020-03-05 09:42:01 -06:00
xenbus_dev_backend.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xenbus_dev_frontend.c xen/xenbus: fix self-deadlock after killing user process 2019-10-02 16:40:11 -04:00
xenbus_probe_backend.c xen/xenbus: fix locking 2020-03-05 09:42:23 -06:00
xenbus_probe_frontend.c xenbus: move xenbus_dev_shutdown() into frontend code... 2019-12-20 13:44:35 +01:00
xenbus_probe.c xen/xenbus: fix locking 2020-03-05 09:42:23 -06:00
xenbus_xs.c xenbus: req->body should be updated before req->state 2020-03-05 09:41:59 -06:00
xenbus.h xenbus: move xenbus_dev_shutdown() into frontend code... 2019-12-20 13:44:35 +01:00