Return -EINVAL if the length is zero and not proceed to do essentially
nothing.

Signed-off-by: Michael Chan <michael.c...@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 
b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
index 3cbe771..85be1cb 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
@@ -1773,6 +1773,9 @@ static int bnxt_get_nvram_item(struct net_device *dev, 
u32 index, u32 offset,
        dma_addr_t dma_handle;
        struct hwrm_nvm_read_input req = {0};
 
+       if (!length)
+               return -EINVAL;
+
        buf = dma_alloc_coherent(&bp->pdev->dev, length, &dma_handle,
                                 GFP_KERNEL);
        if (!buf) {
-- 
1.8.3.1

Reply via email to