um: virtio_uml: mark device as unregistered when breaking it

[ Upstream commit 8e9cd85139 ]

Mark the device as not registered anymore when scheduling the work to
remove it. Otherwise we could end up scheduling the work multiple times
in a row, including scheduling it while it is already running.

Fixes: af9fb41ed3 ("um: virtio_uml: Fix broken device handling in time-travel")
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Benjamin Berg 2023-02-09 10:00:03 +01:00 committed by Justin Hammond
parent fea548c2fa
commit 6315b4f200

View file

@ -168,6 +168,8 @@ static void vhost_user_check_reset(struct virtio_uml_device *vu_dev,
if (!vu_dev->registered)
return;
vu_dev->registered = 0;
virtio_break_device(&vu_dev->vdev);
schedule_work(&pdata->conn_broken_wk);
}