vsock/virtio: discard packets if credit is not respected
authorStefano Garzarella <sgarzare@redhat.com>
Thu, 17 Oct 2019 12:44:03 +0000 (14:44 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Oct 2019 17:19:43 +0000 (10:19 -0700)
commitae6fcfbf5f03de3407b809aaee319330d3dc7f8b
tree5fbcf9656666a376a80edc90c21a1de0da79e343
parentec3359b685db834c249953db6ac5717bf5cde425
vsock/virtio: discard packets if credit is not respected

If the remote peer doesn't respect the credit information
(buf_alloc, fwd_cnt), sending more data than it can send,
we should drop the packets to prevent a malicious peer
from using all of our memory.

This is patch follows the VIRTIO spec: "VIRTIO_VSOCK_OP_RW data
packets MUST only be transmitted when the peer has sufficient
free buffer space for the payload"

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/vmw_vsock/virtio_transport_common.c