Andrew Morton wrote: > On Wed, 28 Feb 2018 06:50:02 +0900 Tetsuo Handa > <penguin-ker...@i-love.sakura.ne.jp> wrote: > > > > > This warning is caused by commit d92a8cfcb37ecd13 ("locking/lockdep: Rework > > FS_RECLAIM annotation") which replaced lockdep_set_current_reclaim_state()/ > > lockdep_clear_current_reclaim_state() in __perform_reclaim() and > > lockdep_trace_alloc() in slab_pre_alloc_hook() with fs_reclaim_acquire()/ > > fs_reclaim_release(). Since __kmalloc_reserve() from __alloc_skb() adds > > __GFP_NOMEMALLOC | __GFP_NOWARN to gfp_mask, and all reclaim path simply > > propagates __GFP_NOMEMALLOC, fs_reclaim_acquire() in slab_pre_alloc_hook() > > is trying to grab the 'fake' lock again when __perform_reclaim() already > > grabbed the 'fake' lock. > > That's quite an audit trail. > > Shouldn't we be doing a cc:stable here? If so, which patch do we > identify as being fixed, with "Fixes:"? d92a8cfcb37ecd13, I assume?
Yes please, if you think this patch qualifies for backport. The test was outdated since v2.6.31, but only v4.14+ seems to trigger this warning. Thus, I think it is OK to add: Fixes: d92a8cfcb37ecd13 ("locking/lockdep: Rework FS_RECLAIM annotation") Cc: <sta...@vger.kernel.org> # v4.14+ > > I'd never even noticed fs_reclaim_acquire() and friends before. I do > wish they had "lockdep" in their names, and a comment to explain what > they do and why they exist.