xen-netback: correct length checks on hash copy_ops
authorPaul Durrant <Paul.Durrant@citrix.com>
Wed, 18 May 2016 07:53:01 +0000 (08:53 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 May 2016 17:51:03 +0000 (10:51 -0700)
The length checks on the grant table copy_ops for setting hash key and
hash mapping are checking the local 'len' value which is correct in
the case of the former but not the latter. This was picked up by
static analysis checks.

This patch replaces checks of 'len' with 'copy_op.len' in both cases
to correct the incorrect check, keep the two checks consistent, and to
make it clear what the checks are for.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/hash.c

index 392e3929ae84f0bc560f3493b5efc05db3fe8b95..fb87cb39a56b104cea2366b5aa1af0d4989faa2d 100644 (file)
@@ -311,7 +311,7 @@ u32 xenvif_set_hash_key(struct xenvif *vif, u32 gref, u32 len)
        if (len > XEN_NETBK_MAX_HASH_KEY_SIZE)
                return XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER;
 
-       if (len != 0) {
+       if (copy_op.len != 0) {
                gnttab_batch_copy(&copy_op, 1);
 
                if (copy_op.status != GNTST_okay)
@@ -359,7 +359,7 @@ u32 xenvif_set_hash_mapping(struct xenvif *vif, u32 gref, u32 len,
                if (mapping[off++] >= vif->num_queues)
                        return XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER;
 
-       if (len != 0) {
+       if (copy_op.len != 0) {
                gnttab_batch_copy(&copy_op, 1);
 
                if (copy_op.status != GNTST_okay)