linux-stable/drivers/hv
Dexuan Cui 2ef82d24f4 Drivers: hv: hv_fcopy: fix a race condition for SMP guest
We should schedule the 5s "timer work" before starting the data transfer,
otherwise, the data transfer code may finish so fast on another
virtual cpu that when the code(fcopy_write()) trying to cancel the 5s
"timer work" can occasionally fail because the "timer work" may haven't
been scheduled yet and as a result the fcopy process will be aborted
wrongly by fcopy_work_func() in 5s.

Thank Liz Zhang <lizzha@microsoft.com> for the initial investigation
on the bug.

This addresses https://bugzilla.redhat.com/show_bug.cgi?id=1118123

Tested-by: Liz Zhang <lizzha@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-17 18:43:10 -07:00
..
Kconfig x86: Make Linux guest support optional 2013-03-04 13:14:25 -08:00
Makefile Drivers: hv: Implement the file copy service 2014-02-18 10:53:48 -08:00
channel.c hv: Remove unnecessary comparison of unsigned against 0 2014-05-03 19:24:26 -04:00
channel_mgmt.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
connection.c Drivers: hv: vmbus: Fix a bug in the channel callback dispatch code 2014-07-09 14:34:35 -07:00
hv.c Drivers: hv: vmbus: Implement per-CPU mapping of relid to channel 2014-05-03 19:24:26 -04:00
hv_balloon.c Drivers: hv: balloon: Ensure pressure reports are posted regularly 2014-05-03 19:25:17 -04:00
hv_fcopy.c Drivers: hv: hv_fcopy: fix a race condition for SMP guest 2014-07-17 18:43:10 -07:00
hv_kvp.c Drivers: hv: util: Fix a bug in the KVP code 2014-07-09 14:34:35 -07:00
hv_snapshot.c connector: add portid to unicast in addition to broadcasting 2014-02-07 15:40:17 -08:00
hv_util.c Drivers: hv: util: Fix a bug in the KVP code 2014-07-09 14:34:35 -07:00
hyperv_vmbus.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
ring_buffer.c Drivers: hv: vmbus: Cleanup the packet send path 2014-02-07 15:22:40 -08:00
vmbus_drv.c hyper-v: make uuid_le const 2014-06-03 18:18:38 -07:00