[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2babc39-8583-bf06-20d1-1a3be990f711@redhat.com>
Date: Tue, 4 Feb 2020 12:07:00 +0800
From: Jason Wang <jasowang@...hat.com>
To: Dan Carpenter <dan.carpenter@...cle.com>, kbuild@...ts.01.org
Cc: kbuild-all@...ts.01.org, mst@...hat.com,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
tiwei.bie@...el.com, jgg@...lanox.com, maxime.coquelin@...hat.com,
cunming.liang@...el.com, zhihong.wang@...el.com,
rob.miller@...adcom.com, xiao.w.wang@...el.com,
haotian.wang@...ive.com, lingshan.zhu@...el.com,
eperezma@...hat.com, lulu@...hat.com, parav@...lanox.com,
kevin.tian@...el.com, stefanha@...hat.com, rdunlap@...radead.org,
hch@...radead.org, aadam@...hat.com, jakub.kicinski@...ronome.com,
jiri@...lanox.com, shahafs@...lanox.com, hanand@...inx.com,
mhabets@...arflare.com
Subject: Re: [PATCH 5/5] vdpasim: vDPA device simulator
On 2020/1/28 上午11:32, Dan Carpenter wrote:
> Hi Jason,
>
> url: https://github.com/0day-ci/linux/commits/Jason-Wang/vDPA-support/20200117-170243
> base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
Will fix this.
Thanks
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@...el.com>
> Reported-by: Dan Carpenter <dan.carpenter@...cle.com>
>
> smatch warnings:
> drivers/virtio/vdpa/vdpa_sim.c:288 vdpasim_alloc_coherent() warn: returning freed memory 'addr'
>
> # https://github.com/0day-ci/linux/commit/55047769b3e974d68b2aab5ce0022459b172a23f
> git remote add linux-review https://github.com/0day-ci/linux
> git remote update linux-review
> git checkout 55047769b3e974d68b2aab5ce0022459b172a23f
> vim +/addr +288 drivers/virtio/vdpa/vdpa_sim.c
>
> 55047769b3e974 Jason Wang 2020-01-16 263 static void *vdpasim_alloc_coherent(struct device *dev, size_t size,
> 55047769b3e974 Jason Wang 2020-01-16 264 dma_addr_t *dma_addr, gfp_t flag,
> 55047769b3e974 Jason Wang 2020-01-16 265 unsigned long attrs)
> 55047769b3e974 Jason Wang 2020-01-16 266 {
> 55047769b3e974 Jason Wang 2020-01-16 267 struct vdpa_device *vdpa = dev_to_vdpa(dev);
> 55047769b3e974 Jason Wang 2020-01-16 268 struct vdpasim *vdpasim = vdpa_to_sim(vdpa);
> 55047769b3e974 Jason Wang 2020-01-16 269 struct vhost_iotlb *iommu = vdpasim->iommu;
> 55047769b3e974 Jason Wang 2020-01-16 270 void *addr = kmalloc(size, flag);
> 55047769b3e974 Jason Wang 2020-01-16 271 int ret;
> 55047769b3e974 Jason Wang 2020-01-16 272
> 55047769b3e974 Jason Wang 2020-01-16 273 if (!addr)
> 55047769b3e974 Jason Wang 2020-01-16 274 *dma_addr = DMA_MAPPING_ERROR;
> 55047769b3e974 Jason Wang 2020-01-16 275 else {
> 55047769b3e974 Jason Wang 2020-01-16 276 u64 pa = virt_to_phys(addr);
> 55047769b3e974 Jason Wang 2020-01-16 277
> 55047769b3e974 Jason Wang 2020-01-16 278 ret = vhost_iotlb_add_range(iommu, (u64)pa,
> 55047769b3e974 Jason Wang 2020-01-16 279 (u64)pa + size - 1,
> 55047769b3e974 Jason Wang 2020-01-16 280 pa, VHOST_MAP_RW);
> 55047769b3e974 Jason Wang 2020-01-16 281 if (ret) {
> 55047769b3e974 Jason Wang 2020-01-16 282 kfree(addr);
> ^^^^^^^^^^^
> 55047769b3e974 Jason Wang 2020-01-16 283 *dma_addr = DMA_MAPPING_ERROR;
> 55047769b3e974 Jason Wang 2020-01-16 284 } else
> 55047769b3e974 Jason Wang 2020-01-16 285 *dma_addr = (dma_addr_t)pa;
> 55047769b3e974 Jason Wang 2020-01-16 286 }
> 55047769b3e974 Jason Wang 2020-01-16 287
> 55047769b3e974 Jason Wang 2020-01-16 @288 return addr;
> ^^^^^^^^^^^^
> 55047769b3e974 Jason Wang 2020-01-16 289 }
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
>
Powered by blists - more mailing lists