On Mon 16-10-17 15:59:13, Kees Cook wrote: > In preparation for unconditionally passing the struct timer_list pointer to > all timer callbacks, switch to using the new timer_setup() and from_timer() > to pass the timer pointer explicitly. > > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Vladimir Davydov <vdavydov.dev@xxxxxxxxx> > Cc: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > Cc: Jeff Layton <jlayton@xxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> The patch looks good. You can add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > mm/page-writeback.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index 94854e243b11..65ba42c7c7da 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -628,9 +628,9 @@ EXPORT_SYMBOL_GPL(wb_writeout_inc); > * On idle system, we can be called long after we scheduled because we use > * deferred timers so count with missed periods. > */ > -static void writeout_period(unsigned long t) > +static void writeout_period(struct timer_list *t) > { > - struct wb_domain *dom = (void *)t; > + struct wb_domain *dom = from_timer(dom, t, period_timer); > int miss_periods = (jiffies - dom->period_time) / > VM_COMPLETIONS_PERIOD_LEN; > > @@ -653,8 +653,7 @@ int wb_domain_init(struct wb_domain *dom, gfp_t gfp) > > spin_lock_init(&dom->lock); > > - setup_deferrable_timer(&dom->period_timer, writeout_period, > - (unsigned long)dom); > + timer_setup(&dom->period_timer, writeout_period, TIMER_DEFERRABLE); > > dom->dirty_limit_tstamp = jiffies; > > -- > 2.7.4 > > > -- > Kees Cook > Pixel Security -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>