> -----Original Message-----
> From: Andrea Parri (Microsoft) <[email protected]>
> Sent: Wednesday, September 16, 2020 5:47 AM
> To: [email protected]
> Cc: KY Srinivasan <[email protected]>; Haiyang Zhang
> <[email protected]>; Stephen Hemminger
> <[email protected]>; Wei Liu <[email protected]>; linux-
> [email protected]; Andres Beltran <[email protected]>; Michael
> Kelley <[email protected]>; Saruhan Karademir
> <[email protected]>; Juan Vazquez <[email protected]>; Andrea
> Parri <[email protected]>; David S. Miller <[email protected]>;
> Jakub Kicinski <[email protected]>; [email protected]
> Subject: [PATCH v3] hv_netvsc: Add validation for untrusted Hyper-V values
>
> From: Andres Beltran <[email protected]>
>
> For additional robustness in the face of Hyper-V errors or malicious
> behavior, validate all values that originate from packets that Hyper-V
> has sent to the guest in the host-to-guest ring buffer. Ensure that
> invalid values cannot cause indexing off the end of an array, or
> subvert an existing validation via integer overflow. Ensure that
> outgoing packets do not have any leftover guest memory that has not
> been zeroed out.
>
> Signed-off-by: Andres Beltran <[email protected]>
> Co-developed-by: Andrea Parri (Microsoft) <[email protected]>
> Signed-off-by: Andrea Parri (Microsoft) <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: [email protected]
> ---
> Changes in v3:
> - Include header size in the estimate for hv_pkt_datalen (Haiyang)
> Changes in v2:
> - Replace size check on struct nvsp_message with sub-checks (Haiyang)
>
> drivers/net/hyperv/hyperv_net.h | 4 +
> drivers/net/hyperv/netvsc.c | 124 ++++++++++++++++++++++++++----
> drivers/net/hyperv/netvsc_drv.c | 7 ++
> drivers/net/hyperv/rndis_filter.c | 73 ++++++++++++++++--
> 4 files changed, 188 insertions(+), 20 deletions(-)
Reviewed-by: Haiyang Zhang <[email protected]>