Messages in this thread | | | Date | Mon, 11 Dec 2023 17:33:39 +0100 | From | Stefano Garzarella <> | Subject | Re: [PATCH v2] vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() |
| |
On Mon, Dec 11, 2023 at 07:23:17PM +0300, Nikolay Kuratov wrote: >We need to do signed arithmetic if we expect condition >`if (bytes < 0)` to be possible > >Found by Linux Verification Center (linuxtesting.org) with SVACE > >Fixes: 06a8fc78367d ("VSOCK: Introduce virtio_vsock_common.ko") >Signed-off-by: Nikolay Kuratov <kniv@yandex-team.ru> >--- > >V1 -> V2: Added Fixes section
Please, next time carry also R-b tags.
> > net/vmw_vsock/virtio_transport_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Thanks, Stefano
> >diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c >index c8e162c9d1df..6df246b53260 100644 >--- a/net/vmw_vsock/virtio_transport_common.c >+++ b/net/vmw_vsock/virtio_transport_common.c >@@ -843,7 +843,7 @@ static s64 virtio_transport_has_space(struct vsock_sock *vsk) > struct virtio_vsock_sock *vvs = vsk->trans; > s64 bytes; > >- bytes = vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt); >+ bytes = (s64)vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt); > if (bytes < 0) > bytes = 0; > >-- >2.34.1 > >
| |