On Wed, Nov 02, 2022 at 10:31:37AM +0100, Stefano Garzarella wrote:
On Mon, Oct 31, 2022 at 07:17:06PM -0700, Dexuan Cui wrote:
Currently vsock_connectible_has_data() may miss a wakeup operation
between vsock_connectible_has_data() == 0 and the prepare_to_wait().
Fix the race by adding the process to the wait queue before checking
vsock_connectible_has_data().
Fixes: b3f7fd54881b ("af_vsock: separate wait data loop")
Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx>
---
Changes in v2 (Thanks Stefano!):
Fixed a typo in the commit message.
Removed the unnecessary finish_wait() at the end of the loop.
LGTM:
Reviewed-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>
And I would add
Reported-by: Frédéric Dalleau <frederic.dalleau@xxxxxxxxxx>
Since Frédéric posted a similar patch some months ago (I lost it because
netdev and I were not in cc):
https://lore.kernel.org/virtualization/20220824074251.2336997-2-frederic.dalleau@xxxxxxxxxx/
Thanks,
Stefano
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization