[PATCH 0/1][f/j/k linux-aws] AWS: RDMA Back port DMA buffer fix
Tim Gardner
tim.gardner at canonical.com
Fri Feb 3 19:43:35 UTC 2023
https://bugs.launchpad.net/bugs/2004807
SRU Justification
[Impact]
When registering a new DMA MR after selecting the best aligned page size
for it, we iterate over the given sglist to split each entry to smaller,
aligned to the selected page size, DMA blocks.
In given circumstances where the sg entry and page size fit certain
sizes and the sg entry is not aligned to the selected page size, the
total size of the aligned pages we need to cover the sg entry is >= 4GB.
Under this circumstances, while iterating page aligned blocks, the
counter responsible for counting how much we advanced from the start of
the sg entry is overflowed because its type is u32 and we pass 4GB in
size. This can lead to an infinite loop inside the iterator function
because the overflow prevents the counter to be larger
than the size of the sg entry.
Fixes: a808273 ("RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks")
[Test Plan]
AWS tested
[Where things could go wrong]
What could possibly go wrong with Remote DMA scatter/gather list errors ?
[Other Info]
SF: #00353710
More information about the kernel-team
mailing list