diff mbox

[V4,08/19] virtio-net: fix the upper bound when trying to delete queues

Message ID 1426671309-13645-9-git-send-email-jasowang@redhat.com
State New
Headers show

Commit Message

Jason Wang March 18, 2015, 9:34 a.m. UTC
Virtqueue were indexed from zero, so don't delete virtqueue whose
index is n->max_queues * 2 + 1.

Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/virtio-net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael S. Tsirkin March 18, 2015, 1:06 p.m. UTC | #1
On Wed, Mar 18, 2015 at 05:34:58PM +0800, Jason Wang wrote:
> Virtqueue were indexed from zero, so don't delete virtqueue whose
> index is n->max_queues * 2 + 1.
> 
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>

Bugfix? needed on master? stable?

> ---
>  hw/net/virtio-net.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 59f76bc..b6fac9c 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -1309,7 +1309,7 @@ static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue)
>  
>      n->multiqueue = multiqueue;
>  
> -    for (i = 2; i <= n->max_queues * 2 + 1; i++) {
> +    for (i = 2; i < n->max_queues * 2 + 1; i++) {
>          virtio_del_queue(vdev, i);
>      }
>  
> -- 
> 2.1.0
Jason Wang March 19, 2015, 5:28 a.m. UTC | #2
On Wed, Mar 18, 2015 at 9:06 PM, Michael S. Tsirkin <mst@redhat.com> 
wrote:
> On Wed, Mar 18, 2015 at 05:34:58PM +0800, Jason Wang wrote:
>>  Virtqueue were indexed from zero, so don't delete virtqueue whose
>>  index is n->max_queues * 2 + 1.
>>  
>>  Cc: Michael S. Tsirkin <mst@redhat.com>
>>  Signed-off-by: Jason Wang <jasowang@redhat.com>
> 
> Bugfix? needed on master? stable?

Only for host that supports more than 8 tuntap queues. But seems a 
candidate for both master and stable.

I will post this with patch 7 as an independent patches just for 2.3.

> 
>>  ---
>>   hw/net/virtio-net.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>  
>>  diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>>  index 59f76bc..b6fac9c 100644
>>  --- a/hw/net/virtio-net.c
>>  +++ b/hw/net/virtio-net.c
>>  @@ -1309,7 +1309,7 @@ static void 
>> virtio_net_set_multiqueue(VirtIONet *n, int multiqueue)
>>   
>>       n->multiqueue = multiqueue;
>>   
>>  -    for (i = 2; i <= n->max_queues * 2 + 1; i++) {
>>  +    for (i = 2; i < n->max_queues * 2 + 1; i++) {
>>           virtio_del_queue(vdev, i);
>>       }
>>   
>>  -- 
>>  2.1.0
>
diff mbox

Patch

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 59f76bc..b6fac9c 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1309,7 +1309,7 @@  static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue)
 
     n->multiqueue = multiqueue;
 
-    for (i = 2; i <= n->max_queues * 2 + 1; i++) {
+    for (i = 2; i < n->max_queues * 2 + 1; i++) {
         virtio_del_queue(vdev, i);
     }