Thread (30 messages) 30 messages, 5 authors, 2021-04-19

Re: [dpdk-dev] [PATCH v4] eal: fix create user mem map repeatedly when it exists

From: Kevin Traynor <hidden>
Date: 2021-03-25 16:46:24

On 25/03/2021 14:30, Thomas Monjalon wrote:
07/12/2020 12:08, wangyunjian:
quoted
From: Yunjian Wang <redacted>

Currently, user mem maps will check if the newly mapped area is adjacent
to any existing mapping, but will not check if the mapping is identical
because it assumes that the API will never get called with the same
mapping twice. This will result in duplicate entries in the user mem
maps list.

Fix it by also checking for duplicate mappings, and skipping them if
they are found.
Sorry, that's still difficult to read,
and it is not clear what is the impact of the bug.
I agree the impact of the bug is not clear from the description. It
seems to be explained at a low level in
http://inbox.dpdk.org/dev/34EFBCA9F01B0748BEB6B629CE643AE60DB32BD6@DGGEMM533-MBX.china.huawei.com/
that the array size is 256 (VFIO_MAX_USER_MEM_MAPS) and it may fill up
due to duplicate mem maps.

How about something like:
--
New user mem maps are checked if they are adjacent to an existing mem
map and if so, the mem map entries are merged.

It did not check for duplicate mem maps, so if the API is called with
the same mem map multiple times, they will occupy multiple mem map
entries. This will reduce the amount of entries available for unique mem
maps.

Check for duplicate mem maps and merge them into one mem map entry if
any found.
--

You might want to add something about the possible impact for
applications that is being fixed here too.
+Cc some english native speakers for help.
(Probably the worst people to ask)
quoted
Fixes: 0cbce3a167f1 ("vfio: skip DMA map failure if already mapped")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <redacted>
Acked-by: Anatoly Burakov <redacted>
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help