android_kernel_motorola_sm6225/drivers/xen/xenbus
Juergen Gross 4172234498 xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
[ Upstream commit 6b51fd3f65a22e3d1471b18a1d56247e246edd46 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-02 17:25:58 +02:00
..
Makefile
xenbus.h
xenbus_client.c xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status 2020-05-02 17:25:58 +02:00
xenbus_comms.c xenbus: req->err should be updated before req->state 2020-03-25 08:06:08 +01:00
xenbus_dev_backend.c
xenbus_dev_frontend.c
xenbus_probe.c
xenbus_probe_backend.c
xenbus_probe_frontend.c
xenbus_xs.c