If kmalloc() fails in c4iw_alloc_ucontext(), the function
leaves but does not set an error code in ret variable:
it will return 0 to the caller.

This patch set ret to -ENOMEM in such case.

Cc: Steve Wise <sw...@opengridcomputing.com>
Cc: Steve Wise <sw...@chelsio.com>
Signed-off-by: Yann Droneaud <ydrone...@opteya.com>
---
 drivers/infiniband/hw/cxgb4/provider.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/cxgb4/provider.c 
b/drivers/infiniband/hw/cxgb4/provider.c
index e36d2a27c431..79429256023a 100644
--- a/drivers/infiniband/hw/cxgb4/provider.c
+++ b/drivers/infiniband/hw/cxgb4/provider.c
@@ -128,8 +128,10 @@ static struct ib_ucontext *c4iw_alloc_ucontext(struct 
ib_device *ibdev,
                rhp->rdev.flags |= T4_STATUS_PAGE_DISABLED;
        } else {
                mm = kmalloc(sizeof(*mm), GFP_KERNEL);
-               if (!mm)
+               if (!mm) {
+                       ret = -ENOMEM;
                        goto err_free;
+               }
 
                uresp.status_page_size = PAGE_SIZE;
 
-- 
1.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to