On 03-May-19 9:34 AM, Thomas Monjalon wrote:
25/04/2019 14:48, Herakliusz Lipiec:
When sending multiple requests, rte_mp_request_sync
can succeed sending a few of those requests, but then
fail on a later one and in the end return with rc=-1.
The upper layers - e.g. device hotplug - currently
handles this case as if no messages were sent and no
memory for response buffers was allocated, which is
not true. Fixed by always initializing message buffer
to NULL and calling free everytime rte_mp_request_sync
is used.
v2:
- resending as patchset to make it easier to review it.
Heraliusz, it's a total mess.
There were 8 patches in v2. Why they disappeared?
The title prefixes are often wrong, so it's harder to classify them.
Should I merge all these patches?
ipc: fix rte_mp_request_sync memleak
ipc: fix hotplug memleak
ipc: fix vdev memleak
ipc: fix vfio memleak
ipc: fix pdump memleak
ipc: fix tap pmd memleak
ipc: fix net/mlx4 memleak
ipc: fix net/mlx5 memleak
Hi Thomas,
you've also skipped the following:
> v3:
> - rework of the patchset
> - caller is no longer responsible for freeing buffers on failure
> - caller still has to free response buffers on success
the v3 was where the 8 patch patchset was reworked into two-patch
patchset, because we've changed our approach.
So no, those 8 patches should not be merged - they're superseded by v3
(well, v4 now).
--
Thanks,
Anatoly