On Thu, 1 Sep 2011 21:27:02 +0530 Kautuk Consul <consul.kautuk@xxxxxxxxx> wrote: > This is important for SMP scenario, to check whether the timer > callback is executing on another CPU when we are deleting the > timer. > I don't see why? > index d6edf8d..754b35a 100644 > --- a/mm/backing-dev.c > +++ b/mm/backing-dev.c > @@ -385,7 +385,7 @@ static int bdi_forker_thread(void *ptr) > * dirty data on the default backing_dev_info > */ > if (wb_has_dirty_io(me) || !list_empty(&me->bdi->work_list)) { > - del_timer(&me->wakeup_timer); > + del_timer_sync(&me->wakeup_timer); > wb_do_writeback(me, 0); > } It isn't a use-after-free fix: bdi_unregister() safely shoots down any running timer. Please completely explain what you believe the problem is here. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>