From: Andrea Parri (Microsoft) <parri.andrea@xxxxxxxxx> Sent: Wednesday, June 17, 2020 9:47 AM > > The primitive currently uses channel->lock to protect the loop over > sc_list w.r.t. list additions/deletions but it doesn't protect the > target_cpu(s) loads w.r.t. a concurrent target_cpu_store(): while the > data races on target_cpu are hardly of any concern here, replace the > channel->lock critical section with a channel_mutex critical section > and extend the latter to include the loads of target_cpu; this same > pattern is also used in hv_synic_cleanup(). > > Signed-off-by: Andrea Parri (Microsoft) <parri.andrea@xxxxxxxxx> > --- > drivers/hv/vmbus_drv.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) Reviewed-By: Michael Kelley <mikelley@xxxxxxxxxxxxx>