On 9/1/26 19:08, David Hu wrote:
From: David Hu xuehaohu@google.com
This series address two related issues in scatter-gather mapping, specifically for the MMIO based dma-buf mapping. The fixes ensure sgt mapping is correct, and proper for large MMIO regions.
Patch 1 fixes a silent integer overflow for mapping length exceeding 4G (Previously submitted as [PATCH v7] dma-buf: Fix silent overflow for phys vec to sgt) https://lore.kernel.org/all/20260609164047.486227-1-xuehaohu@google.com/
Patch 2 Splits sgl by largest page aligned chunk (Previously submitted as [PATCH v3] dma-buf: Split sgl by largest page-aligned chunk) https://lore.kernel.org/all/20260722233806.3922093-1-dhu@x6u.co/
*sigh* such issues are exactly the reason why I didn't wanted the dma-mapping stuff inside DMA-buf. That clearly doesn't belong here.
I'm going to push those fixes to drm-misc-next now, but when there are more issues like that will mark the code as abandoned and not maintained.
Regards, Christian.
Changes in v8:
- Combined the two patches into one unified series to avoid merge conflicts.
- Collected Reviewed-by tag from Leon Romanovsky for Patch 2.
David Hu (2): dma-buf: Fix silent overflow for phys vec to sgt dma-buf: Split sgl by largest page-aligned chunk
drivers/dma-buf/dma-buf-mapping.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-)
-- 2.55.0.897.gb25b4bd76c-goog
On Wed, Sep 02, 2026 at 09:00:46AM +0200, Christian König wrote:
On 9/1/26 19:08, David Hu wrote:
From: David Hu xuehaohu@google.com
This series address two related issues in scatter-gather mapping, specifically for the MMIO based dma-buf mapping. The fixes ensure sgt mapping is correct, and proper for large MMIO regions.
Patch 1 fixes a silent integer overflow for mapping length exceeding 4G (Previously submitted as [PATCH v7] dma-buf: Fix silent overflow for phys vec to sgt) https://lore.kernel.org/all/20260609164047.486227-1-xuehaohu@google.com/
Patch 2 Splits sgl by largest page aligned chunk (Previously submitted as [PATCH v3] dma-buf: Split sgl by largest page-aligned chunk) https://lore.kernel.org/all/20260722233806.3922093-1-dhu@x6u.co/
*sigh* such issues are exactly the reason why I didn't wanted the dma-mapping stuff inside DMA-buf. That clearly doesn't belong here.
And this is why so many in the kernel community want to get rid of SG lists. It would be great if DMA-BUF could also eliminate the need to convert to an SGL, like Jason proposed.
The DMA layer no longer needs SGL. These bugs belong to the DMA-BUF layer, which is the one that depends on it.
Thanks
On 9/2/26 09:39, Leon Romanovsky wrote:
On Wed, Sep 02, 2026 at 09:00:46AM +0200, Christian König wrote:
On 9/1/26 19:08, David Hu wrote:
From: David Hu xuehaohu@google.com
This series address two related issues in scatter-gather mapping, specifically for the MMIO based dma-buf mapping. The fixes ensure sgt mapping is correct, and proper for large MMIO regions.
Patch 1 fixes a silent integer overflow for mapping length exceeding 4G (Previously submitted as [PATCH v7] dma-buf: Fix silent overflow for phys vec to sgt) https://lore.kernel.org/all/20260609164047.486227-1-xuehaohu@google.com/
Patch 2 Splits sgl by largest page aligned chunk (Previously submitted as [PATCH v3] dma-buf: Split sgl by largest page-aligned chunk) https://lore.kernel.org/all/20260722233806.3922093-1-dhu@x6u.co/
*sigh* such issues are exactly the reason why I didn't wanted the dma-mapping stuff inside DMA-buf. That clearly doesn't belong here.
And this is why so many in the kernel community want to get rid of SG lists. It would be great if DMA-BUF could also eliminate the need to convert to an SGL, like Jason proposed.
The DMA layer no longer needs SGL. These bugs belong to the DMA-BUF layer, which is the one that depends on it.
I'm all fine using an array/xarray of dma_addr_t in DMA-buf, just phys_vec is a clear no-go.
Regards, Christian.
Thanks
linaro-mm-sig@lists.linaro.org