Searched hist:"9221 e3c6" (Results 1 – 1 of 1) sorted by relevance
/openbmc/qemu/migration/ |
H A D | multifd.c | 9221e3c6 Thu Feb 22 03:52:57 CST 2024 Peter Xu <peterx@redhat.com> migration/multifd: Cleanup TLS iochannel referencing
Commit a1af605bd5 ("migration/multifd: fix hangup with TLS-Multifd due to blocking handshake") introduced a thread for TLS channels, which will resolve the issue on blocking the main thread. However in the same commit p->c is slightly abused just to be able to pass over the pointer "p" into the thread.
That's the major reason we'll need to conditionally free the io channel in the fault paths.
To clean it up, using a separate structure to pass over both "p" and "tioc" in the tls handshake thread. Then we can make it a rule that p->c will never be set until the channel is completely setup. With that, we can drop the tricky conditional unref of the io channel in the error path.
Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240222095301.171137-2-peterx@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com>
|