ipc: fix memory leak on request failure
authorHerakliusz Lipiec <herakliusz.lipiec@intel.com>
Thu, 25 Apr 2019 12:48:16 +0000 (13:48 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 3 May 2019 10:51:28 +0000 (12:51 +0200)
commita2a06860b8c4cb4460044fa40c867fa2e908035d
tree5129d58644c9ea6316d12e44c9cf6f913380f327
parent4e2fdf376011d2e2e274bf86167789aa4d41ae4a
ipc: fix memory leak on request failure

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 freeing memory buffers on
failure.

Bugzilla ID: 228
Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")
Cc: stable@dpdk.org
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/common/eal_common_proc.c