On Fri, Dec 26, 2008 at 10:30:07AM +0800, Sheng Yang wrote: > Thanks to Marcelo's observation, The following code have potential issue: > > if (cancel_work_sync(&assigned_dev->interrupt_work)) > kvm_put_kvm(kvm); > > In fact, cancel_work_sync() would return true either work struct is only > scheduled or the callback of work struct is executed. This code only > consider the former situation.
Why not simply drop the reference inc / dec from irq handler/work function? Just make sure that there is no queued/executing work left behind on vm shutdown. Don't think an additional reference is necessary. Or am I missing something? > Also, we have a window between cancel_work_sync() and free_irq. This one looks OK. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
