Public bug reported:

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

** Affects: linux-aws (Ubuntu)
     Importance: Undecided
         Status: Fix Released

** Affects: linux-aws (Ubuntu Focal)
     Importance: Medium
     Assignee: Tim Gardner (timg-tpi)
         Status: In Progress

** Affects: linux-aws (Ubuntu Jammy)
     Importance: Medium
     Assignee: Tim Gardner (timg-tpi)
         Status: In Progress

** Affects: linux-aws (Ubuntu Kinetic)
     Importance: Medium
     Assignee: Tim Gardner (timg-tpi)
         Status: In Progress

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2004807

Title:
  RDMA Back port DMA buffer fix

Status in linux-aws package in Ubuntu:
  Fix Released
Status in linux-aws source package in Focal:
  In Progress
Status in linux-aws source package in Jammy:
  In Progress
Status in linux-aws source package in Kinetic:
  In Progress

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-aws/+bug/2004807/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to