In the Linux kernel, the following vulnerability has been resolved:
vsock: Update rxbytes on readskb()
Make sure virtiotransportincrxpkt() and virtiotransportdecrxpkt() calls are balanced (i.e. virtiovsocksock::rxbytes doesn't lie) after vsocktransport::read_skb().
While here, also inform the peer that we've freed up space and it has more credit.
Failing to update rxbytes after packet is dequeued leads to a warning on SOCKSTREAM recv():
[ 233.396654] rxqueue is empty, but rxbytes is non-zero [ 233.396702] WARNING: CPU: 11 PID: 40601 at net/vmwvsock/virtiotransport_common.c:589