Messages in this thread | | | From | Michael Kelley <> | Subject | RE: [PATCH v6 1/3] Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening | Date | Thu, 23 Jul 2020 01:24:03 +0000 |
| |
From: Andres Beltran <lkmlabelt@gmail.com> Sent: Wednesday, July 22, 2020 3:39 PM > > Currently, VMbus drivers use pointers into guest memory as request IDs > for interactions with Hyper-V. To be more robust in the face of errors > or malicious behavior from a compromised Hyper-V, avoid exposing > guest memory addresses to Hyper-V. Also avoid Hyper-V giving back a > bad request ID that is then treated as the address of a guest data > structure with no validation. Instead, encapsulate these memory > addresses and provide small integers as request IDs. > > Signed-off-by: Andres Beltran <lkmlabelt@gmail.com> > --- > Changes in v6: > - Offset request IDs by 1 keeping the original initialization > code. > Changes in v5: > - Add support for unsolicited messages sent by the host with a > request ID of 0. > Changes in v4: > - Use channel->rqstor_size to check if rqstor has been > initialized. > Changes in v3: > - Check that requestor has been initialized in > vmbus_next_request_id() and vmbus_request_addr(). > Changes in v2: > - Get rid of "rqstor" variable in __vmbus_open(). > > drivers/hv/channel.c | 170 +++++++++++++++++++++++++++++++++++++++++ > include/linux/hyperv.h | 21 +++++ > 2 files changed, 191 insertions(+)
Tested-by: Michael Kelley <mikelley@microsoft.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com>
| |