linux/drivers/hv
Dexuan Cui 63d55b2aeb Drivers: hv: vmbus: serialize process_chn_event() and vmbus_close_internal()
process_chn_event(), running in the tasklet, can race with
vmbus_close_internal() in the case of SMP guest, e.g., when the former is
accessing channel->inbound.ring_buffer, the latter could be freeing the
ring_buffer pages.

To resolve the race, we can serialize them by disabling the tasklet when
the latter is running here.

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>
2015-12-14 19:15:05 -08:00
..
channel_mgmt.c Drivers: hv: vmbus: Use uuid_le_cmp() for comparing GUIDs 2015-12-14 19:15:05 -08:00
channel.c Drivers: hv: vmbus: serialize process_chn_event() and vmbus_close_internal() 2015-12-14 19:15:05 -08:00
connection.c Drivers: hv: vmbus:Update preferred vmbus protocol version to windows 10. 2015-06-01 06:38:21 +09:00
hv_balloon.c Drivers: hv: balloon: Enable dynamic memory protocol negotiation with Windows 10 hosts 2015-08-04 22:28:39 -07:00
hv_fcopy.c Drivers: hv: utils: run polling callback always in interrupt context 2015-12-14 19:12:21 -08:00
hv_kvp.c Drivers: hv: utils: run polling callback always in interrupt context 2015-12-14 19:12:21 -08:00
hv_snapshot.c Drivers: hv: vss: run only on supported host versions 2015-12-14 19:15:05 -08:00
hv_util.c Drivers: hv: util: On device remove, close the channel after de-initializing the service 2015-03-01 19:31:02 -08:00
hv_utils_transport.c Drivers: hv: utils: use memdup_user in hvt_op_write 2015-12-14 19:12:21 -08:00
hv_utils_transport.h Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
hv.c drivers:hv: Export the API to invoke a hypercall on Hyper-V 2015-12-14 19:12:21 -08:00
hyperv_vmbus.h drivers:hv: Export the API to invoke a hypercall on Hyper-V 2015-12-14 19:12:21 -08:00
Kconfig x86: Make Linux guest support optional 2013-03-04 13:14:25 -08:00
Makefile Drivers: hv: util: introduce hv_utils_transport abstraction 2015-05-24 12:17:41 -07:00
ring_buffer.c Drivers: hv_vmbus: Fix signal to host condition 2015-08-05 11:44:29 -07:00
vmbus_drv.c Drivers: hv: vmbus: Get rid of the unused irq variable 2015-12-14 19:15:05 -08:00