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

Reply via email to