multifd: Fix a race on reading MultiFDPages_t.block
authorZhenzhong Duan <zhenzhong.duan@intel.com>
Mon, 17 Oct 2022 07:53:50 +0000 (15:53 +0800)
committerJuan Quintela <quintela@redhat.com>
Mon, 6 Feb 2023 18:22:57 +0000 (19:22 +0100)
commitddbe628c97c3a2d211c6d96383cb4063ac3ad0f9
tree24b3525ac18877715b0c449304aa29ca14b234c2
parent6720c2b32725e6ac404f22851a0ecd0a71d0cbe2
multifd: Fix a race on reading MultiFDPages_t.block

In multifd_queue_page() MultiFDPages_t.block is checked twice.
Between the two checks, MultiFDPages_t.block may be reset to NULL
by multifd thread. This lead to the 2nd check always true then a
redundant page submitted to multifd thread again.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
migration/multifd.c