Message ID | 20170808174102.28568-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Fri, 2017-08-11 at 09:45 +0800, oulijun wrote: > 在 2017/8/9 1:41, Colin King 写道: > > From: Colin Ian King <colin.king@canonical.com> > > > > When dmac is NULL, ah is not being freed on the error return path. > > Fix > > this by kfree'ing it. > > > > Detected by CoverityScan, CID#1452636 ("Resource Leak") > > > > Fixes: d8966fcd4c25 ("IB/core: Use rdma_ah_attr accessor > > functions") > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > > --- > > drivers/infiniband/hw/hns/hns_roce_ah.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/infiniband/hw/hns/hns_roce_ah.c > > b/drivers/infiniband/hw/hns/hns_roce_ah.c > > index f78a733a63ec..d545302b8ef8 100644 > > --- a/drivers/infiniband/hw/hns/hns_roce_ah.c > > +++ b/drivers/infiniband/hw/hns/hns_roce_ah.c > > @@ -64,8 +64,10 @@ struct ib_ah *hns_roce_create_ah(struct ib_pd > > *ibpd, > > } else { > > u8 *dmac = rdma_ah_retrieve_dmac(ah_attr); > > > > - if (!dmac) > > + if (!dmac) { > > + kfree(ah); > > return ERR_PTR(-EINVAL); > > + } > > memcpy(ah->av.mac, dmac, ETH_ALEN); > > } > > > > Thank you for reviewing and fixing Thanks, patch applied to -rc.
diff --git a/drivers/infiniband/hw/hns/hns_roce_ah.c b/drivers/infiniband/hw/hns/hns_roce_ah.c index f78a733a63ec..d545302b8ef8 100644 --- a/drivers/infiniband/hw/hns/hns_roce_ah.c +++ b/drivers/infiniband/hw/hns/hns_roce_ah.c @@ -64,8 +64,10 @@ struct ib_ah *hns_roce_create_ah(struct ib_pd *ibpd, } else { u8 *dmac = rdma_ah_retrieve_dmac(ah_attr); - if (!dmac) + if (!dmac) { + kfree(ah); return ERR_PTR(-EINVAL); + } memcpy(ah->av.mac, dmac, ETH_ALEN); }