From: Wang Xu <wangxu72@xxxxxxxxxx> Caller of vhost_exceeds_weight(..., total_len) in drivers/vhost/net.c usually pass size_t total_len, which may be affected by rx/tx package. Signed-off-by: Wang Xu <wangxu72@xxxxxxxxxx> --- drivers/vhost/vhost.c | 4 ++-- drivers/vhost/vhost.h | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 36ca2cf..159223a 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -412,7 +412,7 @@ static void vhost_dev_free_iovecs(struct vhost_dev *dev) } bool vhost_exceeds_weight(struct vhost_virtqueue *vq, - int pkts, int total_len) + int pkts, size_t total_len) { struct vhost_dev *dev = vq->dev; @@ -454,7 +454,7 @@ static size_t vhost_get_desc_size(struct vhost_virtqueue *vq, void vhost_dev_init(struct vhost_dev *dev, struct vhost_virtqueue **vqs, int nvqs, - int iov_limit, int weight, int byte_weight) + int iov_limit, int weight, size_t byte_weight) { struct vhost_virtqueue *vq; int i; diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index e9ed272..8d80389d 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -172,12 +172,13 @@ struct vhost_dev { wait_queue_head_t wait; int iov_limit; int weight; - int byte_weight; + size_t byte_weight; }; -bool vhost_exceeds_weight(struct vhost_virtqueue *vq, int pkts, int total_len); +bool vhost_exceeds_weight(struct vhost_virtqueue *vq, int pkts, + size_t total_len); void vhost_dev_init(struct vhost_dev *, struct vhost_virtqueue **vqs, - int nvqs, int iov_limit, int weight, int byte_weight); + int nvqs, int iov_limit, int weight, size_t byte_weight); long vhost_dev_set_owner(struct vhost_dev *dev); bool vhost_dev_has_owner(struct vhost_dev *dev); long vhost_dev_check_owner(struct vhost_dev *); -- 1.8.5.6