[PATCH] hv_netvsc: Add validation for untrusted Hyper-V values

2020-07-28 Thread Andres Beltran
validation via integer overflow. Ensure that outgoing packets do not have any leftover guest memory that has not been zeroed out. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran --- drivers/net/hyperv/hyperv_net.h | 4 ++ drivers/net/hyperv/netvsc.c

[PATCH v6 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-07-22 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran Reviewed-by: Haiyang Zhang Tested-by: Andrea Parri Link: https://lore.kernel.org/r/20200701001221.2540-4-lkmlab...@gmail.com Signed-off-by: Wei Liu

[PATCH v5 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-07-22 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran Reviewed-by: Haiyang Zhang Tested-by: Andrea Parri Link: https://lore.kernel.org/r/20200701001221.2540-4-lkmlab...@gmail.com Signed-off-by: Wei Liu

[PATCH v2] Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer

2020-07-15 Thread Andres Beltran
offset fields in hv_pkt_iter_first(). In this way, the packet can no longer be modified by the host. Cc: James E.J. Bottomley Cc: Martin K. Petersen Cc: David S. Miller Cc: Jakub Kicinski Cc: linux-s...@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran --- Changes in v2

[PATCH] Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer

2020-07-14 Thread Andres Beltran
offset fields in hv_pkt_iter_first(). In this way, the packet can no longer be modified by the host. Cc: James E.J. Bottomley Cc: Martin K. Petersen Cc: David S. Miller Cc: Jakub Kicinski Cc: linux-s...@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran --- drivers/hv

[PATCH v4 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-06-30 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran Reviewed-by: Haiyang Zhang --- Changes in v2: - Add casts to unsigned long to fix warnings on 32bit. - Use an inline function to get the

[PATCH v3 0/3] Drivers: hv: vmbus: vmbus_requestor data structure for VMBus hardening

2020-06-30 Thread Andres Beltran
allocates/frees the memory needed for vmbus_requestor. The second and third patches make use of vmbus_requestor to send request IDs to Hyper-V in storvsc and netvsc respectively. Thanks. Andres Beltran Tested-by: Andrea Parri Cc: linux-s...@vger.kernel.org Cc: netdev@vger.kernel.org Cc: James E.J

[PATCH v3 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-06-30 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran Reviewed-by: Haiyang Zhang --- Changes in v2: - Add casts to unsigned long to fix warnings on 32bit. - Use an inline function to get the

[PATCH v2 0/3] Drivers: hv: vmbus: vmbus_requestor data structure for VMBus hardening

2020-06-29 Thread Andres Beltran
allocates/frees the memory needed for vmbus_requestor. The second and third patches make use of vmbus_requestor to send request IDs to Hyper-V in storvsc and netvsc respectively. Thanks. Andres Beltran Cc: linux-s...@vger.kernel.org Cc: netdev@vger.kernel.org Cc: James E.J. Bottomley Cc: Martin K

[PATCH v2 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-06-29 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: David S. Miller Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran --- Changes in v2: - Add casts to unsigned long to fix warnings on 32bit. - Use an inline function to get the requestor size. drivers/net

[PATCH 0/3] Drivers: hv: vmbus: vmbus_requestor data structure

2020-06-25 Thread Andres Beltran
From: Andres Beltran (Microsoft) 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

[PATCH 3/3] hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

2020-06-25 Thread Andres Beltran
vmbus_requestor as requests (transaction) IDs. Cc: "David S. Miller" Cc: Jakub Kicinski Cc: netdev@vger.kernel.org Signed-off-by: Andres Beltran --- drivers/net/hyperv/hyperv_net.h | 10 + drivers/net/hyperv/netvsc.c | 75 +-- drivers/