On Tue, 2017-10-24 at 02:29 -0700, 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. > > The RCU lifetime on baid_data is unclear, so this adds a direct copy > of the > rcu_ptr passed to the original callback. It may be possible to > improve this > to just use baid_data->mvm->baid_map[baid_data->baid] instead. > > Cc: Johannes Berg <johannes.berg@xxxxxxxxx> > Cc: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> > Cc: Luca Coelho <luciano.coelho@xxxxxxxxx> > Cc: Intel Linux Wireless <linuxwifi@xxxxxxxxx> > Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> > Cc: Sara Sharon <sara.sharon@xxxxxxxxx> > Cc: linux-wireless@xxxxxxxxxxxxxxx > Cc: netdev@xxxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- Thanks, Kees. I'm taking this for review on our internal tree. If all our checks pass, I'll apply it and it will reach the mainline following our usual upstreaming process. -- Cheers, Luca.