From: Tatyana Nikolova Date: Thu, 6 Dec 2012 20:05:02 +0000 (+0000) Subject: RDMA/nes: Fix for crash when registering zero length MR for CQ X-Git-Tag: firefly_0821_release~3680^2~1458^2^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7d9c199a55200c9b9fcad08e150470d02fb385be;p=firefly-linux-kernel-4.4.55.git RDMA/nes: Fix for crash when registering zero length MR for CQ Signed-off-by: Tatyana Nikolova Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index c47ec2599bc9..07e4fbad987a 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c @@ -2561,6 +2561,11 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, return ibmr; case IWNES_MEMREG_TYPE_QP: case IWNES_MEMREG_TYPE_CQ: + if (!region->length) { + nes_debug(NES_DBG_MR, "Unable to register zero length region for CQ\n"); + ib_umem_release(region); + return ERR_PTR(-EINVAL); + } nespbl = kzalloc(sizeof(*nespbl), GFP_KERNEL); if (!nespbl) { nes_debug(NES_DBG_MR, "Unable to allocate PBL\n");