Messages in this thread | | | Date | Thu, 21 Dec 2017 17:07:59 -0800 | From | Matthew Wilcox <> | Subject | Re: [PATCH 1/2] mm: Make follow_pte_pmd an inline |
| |
On Thu, Dec 21, 2017 at 02:29:43PM -0700, Ross Zwisler wrote: > On Tue, Dec 19, 2017 at 08:58:22AM -0800, Matthew Wilcox wrote: > > From: Matthew Wilcox <mawilcox@microsoft.com> > > > > The one user of follow_pte_pmd (dax) emits a sparse warning because > > it doesn't know that follow_pte_pmd conditionally returns with the > > pte/pmd locked. The required annotation is already there; it's just > > in the wrong file. > > Can you help me find the required annotation that is already there but in the > wrong file?
You cut it out ... that was the entire contents of the patch! The cond_lock annotation is correct, but sparse doesn't look across compilation units, so it can't see the one that's in mm/memory.c when it's compiling fs/dax.c. That's why it needs to be in a header file.
> This does seem to quiet a lockep warning in fs/dax.c, but I think we still > have a related one in mm/memory.c: > > mm/memory.c:4204:5: warning: context imbalance in '__follow_pte_pmd' - different lock contexts for basic block > > Should we deal with this one as well?
I'm not sure how to deal with that one, to be honest.
| |