net/bnxt: ensure entry length is unsigned
authorJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Sep 2016 17:39:34 +0000 (13:39 -0400)
committerBruce Richardson <bruce.richardson@intel.com>
Thu, 13 Oct 2016 13:30:59 +0000 (15:30 +0200)
Otherwise, the inherent cast when multiplying entry_length by max_vnics
in the call to rte_memzone_reserve could promote max_vnics to a signed
value, causing hilarity to ensue...

Coverity issue: 127557
Fixes: 9738793f28ec ("net/bnxt: add VNIC functions and structs")

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_vnic.c

index 6297e87..205a940 100644 (file)
@@ -175,7 +175,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
        struct rte_pci_device *pdev = bp->pdev;
        const struct rte_memzone *mz;
        char mz_name[RTE_MEMZONE_NAMESIZE];
-       int entry_length = RTE_CACHE_LINE_ROUNDUP(
+       uint16_t entry_length = RTE_CACHE_LINE_ROUNDUP(
                                HW_HASH_INDEX_SIZE * sizeof(*vnic->rss_table) +
                                HW_HASH_KEY_SIZE);
        uint16_t max_vnics;