]> www.infradead.org Git - users/dwmw2/linux.git/commit
mm: fix follow_pfnmap API lockdep assert
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 18 Oct 2024 16:50:05 +0000 (09:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 18 Oct 2024 16:50:05 +0000 (09:50 -0700)
commitb1b46751671be5a426982f037a47ae05f37ff80b
treeff6532dce8a1a9219bad0726c042dc7e04a91416
parent75aa74d52f43e75d0beb20572f98529071b700e5
mm: fix follow_pfnmap API lockdep assert

The lockdep asserts for the new follow_pfnmap() API "knows" that a
pfnmap always has a vma->vm_file, since that's the only way to create
such a mapping.

And that's actually true for all the normal cases.  But not for the mmap
failure case, where the incomplete mapping is torn down and we have
cleared vma->vm_file because the failure occured before the file was
linked to the vma.

So this codepath does actually need to check for vm_file being NULL.

Reported-by: Jann Horn <jannh@google.com>
Fixes: 6da8e9634bb7 ("mm: new follow_pfnmap API")
Cc: Peter Xu <peterx@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memory.c