We do not know how big can the BAR be, but we know anything less than 1MB is an error. This BAR needs to be big enough for accessing most of NFP internals.
Fixes: d12206e00590 ("net/nfp: add NSP user space interface") Coverity: 195024 Signed-off-by: Alejandro Lucero <alejandro.luc...@netronome.com> --- drivers/net/nfp/nfp_nfpu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/nfp/nfp_nfpu.c b/drivers/net/nfp/nfp_nfpu.c index 5775d8d..f11afef 100644 --- a/drivers/net/nfp/nfp_nfpu.c +++ b/drivers/net/nfp/nfp_nfpu.c @@ -75,8 +75,13 @@ /* barsz in log2 */ while (barsz >>= 1) i++; + barsz = i; + /* Sanity check: we can assume any bar size less than 1MB an error */ + if (barsz < 20) + return -1; + /* Getting address for NFP expansion BAR registers */ cfg_base = pci_dev->mem_resource[0].addr; cfg_base = (uint8_t *)cfg_base + NFP_CFG_EXP_BAR_CFG_BASE; -- 1.9.1