From: Dexuan Cui <decui@xxxxxxxxxxxxx> Date: Tue, 28 Jul 2015 05:35:30 -0700 > In the SMP guest case, when the per-channel callback hvsock_events() is > running on virtual CPU A, if the guest tries to close the connection on > virtual CPU B: we invoke vmbus_close() -> vmbus_close_internal(), > then we can have trouble: on B, vmbus_close_internal() will send IPI > reset_channel_cb() to A, trying to set channel->onchannel_callbackto NULL; > on A, if the IPI handler happens between > "if (channel->onchannel_callback != NULL)" and invoking > channel->onchannel_callback, we'll invoke a function pointer of NULL. > > This is why the patch is necessary. > > Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Sorry, I do not accept that you must use conditional locking and/or IRQ disabling. Boil it down to what is necessary for the least common denominator, and use that unconditionally. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel