diff mbox

[-next] VSOCK: signedness bug in virtio_transport_dgram_enqueue()

Message ID 20151209102713.GG3173@mwanda
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter Dec. 9, 2015, 10:27 a.m. UTC
"written" has to be signed for the error handling to work.
trans->ops->send_pkt() returns an int so that's fine.

Fixes: 80a19e338d45 ('VSOCK: Introduce virtio-vsock-common.ko')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Stefan Hajnoczi Dec. 10, 2015, 2:21 a.m. UTC | #1
On Wed, Dec 09, 2015 at 01:27:13PM +0300, Dan Carpenter wrote:
> "written" has to be signed for the error handling to work.
> trans->ops->send_pkt() returns an int so that's fine.
> 
> Fixes: 80a19e338d45 ('VSOCK: Introduce virtio-vsock-common.ko')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
> index 28f790d..d9a2325 100644
> --- a/net/vmw_vsock/virtio_transport_common.c
> +++ b/net/vmw_vsock/virtio_transport_common.c
> @@ -815,7 +815,8 @@ virtio_transport_dgram_enqueue(struct vsock_sock *vsk,
>  		.type = VIRTIO_VSOCK_TYPE_DGRAM,
>  		.msg = msg,
>  	};
> -	size_t total_written = 0, pkt_off = 0, written;
> +	size_t total_written = 0, pkt_off = 0;
> +	int written;
>  	u16 dgram_id;
>  
>  	/* The max size of a single dgram we support is 64KB */
> @@ -845,7 +846,7 @@ virtio_transport_dgram_enqueue(struct vsock_sock *vsk,
>  		}
>  		total_written += written;
>  		pkt_off += written;
> -		pr_debug("%s:id=%d, dgram_len=%zu, off=%zu, total_written=%zu, written=%zu\n",
> +		pr_debug("%s:id=%d, dgram_len=%zu, off=%zu, total_written=%zu, written=%d\n",
>  			  __func__, dgram_id, dgram_len, pkt_off, total_written, written);
>  	}
>  

Thanks!

The dgram functionality has been dropped in the latest patch revision
but I'll keep your fix in mind if it's brought back.

Stefan
diff mbox

Patch

diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
index 28f790d..d9a2325 100644
--- a/net/vmw_vsock/virtio_transport_common.c
+++ b/net/vmw_vsock/virtio_transport_common.c
@@ -815,7 +815,8 @@  virtio_transport_dgram_enqueue(struct vsock_sock *vsk,
 		.type = VIRTIO_VSOCK_TYPE_DGRAM,
 		.msg = msg,
 	};
-	size_t total_written = 0, pkt_off = 0, written;
+	size_t total_written = 0, pkt_off = 0;
+	int written;
 	u16 dgram_id;
 
 	/* The max size of a single dgram we support is 64KB */
@@ -845,7 +846,7 @@  virtio_transport_dgram_enqueue(struct vsock_sock *vsk,
 		}
 		total_written += written;
 		pkt_off += written;
-		pr_debug("%s:id=%d, dgram_len=%zu, off=%zu, total_written=%zu, written=%zu\n",
+		pr_debug("%s:id=%d, dgram_len=%zu, off=%zu, total_written=%zu, written=%d\n",
 			  __func__, dgram_id, dgram_len, pkt_off, total_written, written);
 	}