Re: [bug report] dma-buf: Clarify that dma-buf sg lists are page aligned

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 02, 2020 at 09:33:08PM +0000, Xiong, Jianxin wrote:
> Hi Dan,
> 
> Thanks for reporting the bug. I see what was missing. Am I supposed to submit a patch to
> replace the original patch or just to fix this bug?
> 

Once the patch has been applied, then it's too late to replace it.  Just
send a patch to fix it.

regards,
dan carpenter

> Jianxin 
> 
> > -----Original Message-----
> > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > Sent: Monday, November 02, 2020 12:15 AM
> > To: Xiong, Jianxin <jianxin.xiong@xxxxxxxxx>
> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > Subject: [bug report] dma-buf: Clarify that dma-buf sg lists are page aligned
> > 
> > Hello Jianxin Xiong,
> > 
> > The patch ac80cd17a615: "dma-buf: Clarify that dma-buf sg lists are page aligned" from Oct 14, 2020, leads to the following static checker
> > warning:
> > 
> > 	drivers/dma-buf/dma-buf.c:917 dma_buf_map_attachment()
> > 	error: 'sg_table' dereferencing possible ERR_PTR()
> > 
> > drivers/dma-buf/dma-buf.c
> >    897          sg_table = attach->dmabuf->ops->map_dma_buf(attach, direction);
> >    898          if (!sg_table)
> >    899                  sg_table = ERR_PTR(-ENOMEM);
> >    900
> >    901          if (IS_ERR(sg_table) && dma_buf_is_dynamic(attach->dmabuf) &&
> >    902               !IS_ENABLED(CONFIG_DMABUF_MOVE_NOTIFY))
> >    903                  dma_buf_unpin(attach);
> >    904
> >    905          if (!IS_ERR(sg_table) && attach->dmabuf->ops->cache_sgt_mapping) {
> >                     ^^^^^^^^^^^^^^^^^
> > 
> >    906                  attach->sgt = sg_table;
> >    907                  attach->dir = direction;
> >    908          }
> >    909
> >    910  #ifdef CONFIG_DMA_API_DEBUG
> >    911          {
> >    912                  struct scatterlist *sg;
> >    913                  u64 addr;
> >    914                  int len;
> >    915                  int i;
> >    916
> >    917                  for_each_sgtable_dma_sg(sg_table, sg, i) {
> >                                                 ^^^^^^^^^ Not checked here.
> > 
> >    918                          addr = sg_dma_address(sg);
> >    919                          len = sg_dma_len(sg);
> >    920                          if (!PAGE_ALIGNED(addr) || !PAGE_ALIGNED(len)) {
> >    921                                  pr_debug("%s: addr %llx or len %x is not page aligned!\n",
> >    922                                           __func__, addr, len);
> >    923                          }
> >    924                  }
> >    925          }
> >    926  #endif /* CONFIG_DMA_API_DEBUG */
> > 
> > regards,
> > dan carpenter
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux