On Sat, Dec 27, 2008 at 06:06:26PM -0200, Marcelo Tosatti wrote: > 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?
Sorry, I don't know the answer. After checking the code, I also think it's a little strange to increase refernce count here, and I think we won't suppose work_handler can release the kvm struct. Maybe Avi knows? Or Amit and Weidong? -- regards Yang, Sheng -- 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
