summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorDavid Hu <xuehaohu@google.com>2026-09-01 17:08:48 +0000
committerChristian König <christian.koenig@amd.com>2026-09-11 12:09:31 +0200
commitb344ca94e8cc85796f16ea25e2e5a8e0303fe813 (patch)
treebbe602293bc01a80dde5acc2c1a478cbd0ec6f1e /tools/perf/scripts/python/bin/stackcollapse-record
parent143755bdabaa96776c24f878014608e9cb44f930 (diff)
downloadlinux-next-b344ca94e8cc85796f16ea25e2e5a8e0303fe813.tar.gz
linux-next-b344ca94e8cc85796f16ea25e2e5a8e0303fe813.zip
dma-buf: Fix silent overflow for phys vec to sgt
In case MMIO size is bigger than 4G and peer2peer DMA goes through host bridge, we trigger a code path that assigns the total linked IOVA (which is greater than 4G) to mapped_len. Previously, `mapped_len` was declared as 32-bit `unsigned int`. When accumulating `size_t` lengths, this leads to a silent wrap-around. This truncation causes truncated lengths to be passed to functions like `fill_sg_entry()`. Fix this by changing `mapped_len` to `size_t` (64-bit). While at it, fix similar potential overflow issues in `calc_sg_nents` by using `check_add_overflow()` for `nents` and using `unsigned int` for the loop iterator in `fill_sg_entry` to match. Fixes: 3aa31a8bb11e ("dma-buf: provide phys_vec to scatter-gather mapping routine") Cc: stable@vger.kernel.org Cc: iommu@lists.linux.dev Reviewed-by: Pranjal Shrivastava <praan@google.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: David Hu <xuehaohu@google.com> Signed-off-by: Christian König <christian.koenig@amd.com> Link: https://lore.kernel.org/r/20260901170849.4052816-2-dhu@x6u.co
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions