]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
IB/rdmavt: Insure QP vmalloc variants zero memory
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Thu, 19 May 2016 12:21:25 +0000 (05:21 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 26 May 2016 15:23:10 +0000 (11:23 -0400)
The usage of the various vmalloc APIs do not consistently zero memory
when allocating the swqe. Insure zeroing variants are used.

Reviewed-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rdmavt/qp.c

index 0f12c211c3853f771c7eca89504388461ef6d6ee..dd03b23a6a7ce1f052eaa2f33c89e70ce02ddf5d 100644 (file)
@@ -653,9 +653,9 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd,
                if (gfp == GFP_NOIO)
                        swq = __vmalloc(
                                (init_attr->cap.max_send_wr + 1) * sz,
-                               gfp, PAGE_KERNEL);
+                               gfp | __GFP_ZERO, PAGE_KERNEL);
                else
-                       swq = vmalloc_node(
+                       swq = vzalloc_node(
                                (init_attr->cap.max_send_wr + 1) * sz,
                                rdi->dparms.node);
                if (!swq)
@@ -704,9 +704,9 @@ struct ib_qp *rvt_create_qp(struct ib_pd *ibpd,
                                qp->r_rq.wq = __vmalloc(
                                                sizeof(struct rvt_rwq) +
                                                qp->r_rq.size * sz,
-                                               gfp, PAGE_KERNEL);
+                                               gfp | __GFP_ZERO, PAGE_KERNEL);
                        else
-                               qp->r_rq.wq = vmalloc_node(
+                               qp->r_rq.wq = vzalloc_node(
                                                sizeof(struct rvt_rwq) +
                                                qp->r_rq.size * sz,
                                                rdi->dparms.node);