On 21-Nov-18 6:41 PM, Darek Stojaczyk wrote:
Setting up a device that wasn't setup in the primary process will possibly break the primary process. That's because the IPC message to retrieve the group fd in the primary will also *open* that group if it wasn't opened before. Even though the secondary process closes that fd soon after as a part of its error handling path, the primary process leaks it.What's worse, opening that fd on the primary will increment the process-local counter of opened groups. If it was 0 before, then the group will never be added to the vfio container, nor dpdk memory will be ever mapped. This patch moves the proper error checks earlier in the code to fuly prevent setting up devices in secondary processes that weren't setup in the primary process. Fixes: 2f4adfad0a69 ("vfio: add multiprocess support") Cc: [email protected] Signed-off-by: Darek Stojaczyk <[email protected]> ---
Acked-by: Anatoly Burakov <[email protected]> -- Thanks, Anatoly

