[openib-general] [PATCH] IB/mthca: fix FMR breakage introduced by kmemdup cleanup
Michael S. Tsirkin
mst at mellanox.co.il
Tue Dec 19 00:35:58 PST 2006
This reverts mthca breakage intruduced by commit
bed8bdfddd851657cf9e5fd16bb44abb02ae7f42 :
kmemdup can not be used here since lengths passed to kmalloc/memcpy
are not the same.
Signed-off-by: Michael S. Tsirkin <mst at mellanox.co.il>
---
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
index 7ec7c4b..7b96751 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.c
+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
@@ -1100,10 +1100,11 @@ static struct ib_fmr *mthca_alloc_fmr(struct ib_pd *pd, int mr_access_flags,
struct mthca_fmr *fmr;
int err;
- fmr = kmemdup(fmr_attr, sizeof *fmr, GFP_KERNEL);
+ fmr = kmalloc(sizeof *fmr, GFP_KERNEL);
if (!fmr)
return ERR_PTR(-ENOMEM);
+ memcpy(&fmr->attr, fmr_attr, sizeof *fmr_attr);
err = mthca_fmr_alloc(to_mdev(pd->device), to_mpd(pd)->pd_num,
convert_access(mr_access_flags), fmr);
--
MST
More information about the general
mailing list