[bug report] dma-buf: Clarify that dma-buf sg lists are page aligned
Xiong, Jianxin
jianxin.xiong at intel.com
Mon Nov 2 21:33:08 UTC 2020
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?
Jianxin
> -----Original Message-----
> From: Dan Carpenter <dan.carpenter at oracle.com>
> Sent: Monday, November 02, 2020 12:15 AM
> To: Xiong, Jianxin <jianxin.xiong at intel.com>
> Cc: dri-devel at lists.freedesktop.org
> 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
More information about the dri-devel
mailing list