hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening
[ Upstream commit 4d18fcc9 ] Currently, pointers to guest memory are passed to Hyper-V as transaction IDs in netvsc. In the face of errors or malicious behavior in Hyper-V, netvsc should not expose or trust the transaction IDs returned by Hyper-V to be valid guest memory addresses. Instead, use small integers generated by vmbus_requestor as requests (transaction) IDs. Signed-off-by:Andres Beltran <lkmlabelt@gmail.com> Co-developed-by:
Andrea Parri (Microsoft) <parri.andrea@gmail.com> Signed-off-by:
Andrea Parri (Microsoft) <parri.andrea@gmail.com> Reviewed-by:
Michael Kelley <mikelley@microsoft.com> Acked-by:
Jakub Kicinski <kuba@kernel.org> Reviewed-by:
Wei Liu <wei.liu@kernel.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jakub Kicinski <kuba@kernel.org> Cc: netdev@vger.kernel.org Link: https://lore.kernel.org/r/20201109100402.8946-4-parri.andrea@gmail.com Signed-off-by:
Wei Liu <wei.liu@kernel.org> Stable-dep-of: 9cae43da ("hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed") Signed-off-by:
Sasha Levin <sashal@kernel.org>
Showing
- drivers/net/hyperv/hyperv_net.h 13 additions, 0 deletionsdrivers/net/hyperv/hyperv_net.h
- drivers/net/hyperv/netvsc.c 16 additions, 6 deletionsdrivers/net/hyperv/netvsc.c
- drivers/net/hyperv/rndis_filter.c 1 addition, 0 deletionsdrivers/net/hyperv/rndis_filter.c
- include/linux/hyperv.h 1 addition, 0 deletionsinclude/linux/hyperv.h
Loading