From: Eric Dumazet <eric.duma...@gmail.com> Date: Thu, 02 Feb 2017 10:31:35 -0800
> From: Eric Dumazet <eduma...@google.com> > > Dmitry reported a warning [1] showing that we were calling > net_disable_timestamp() -> static_key_slow_dec() from a non > process context. > > Grabbing a mutex while holding a spinlock or rcu_read_lock() > is not allowed. > > As Cong suggested, we now use a work queue. > > It is possible netstamp_clear() exits while netstamp_needed_deferred > is not zero, but it is probably not worth trying to do better than that. > > netstamp_needed_deferred atomic tracks the exact number of deferred > decrements. ... > Fixes: b90e5794c5bd ("net: dont call jump_label_dec from irq context") > Suggested-by: Cong Wang <xiyou.wangc...@gmail.com> > Reported-by: Dmitry Vyukov <dvyu...@google.com> > Signed-off-by: Eric Dumazet <eduma...@google.com> Applied and queued up for -stable, thanks Eric.