]> git.itanic.dy.fi Git - linux-stable/commit
mm: provide a saner PTE walking API for modules
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 Feb 2021 10:07:11 +0000 (05:07 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Feb 2021 09:10:28 +0000 (10:10 +0100)
commit3f9fbe70316407a6f7322e2bb6ac5fb272dbbe79
tree6089eb2d04b4401bee02a9b67e3c2035b53b5e74
parent32f070ad274d46e6693b49c6dd7399c8d642e831
mm: provide a saner PTE walking API for modules

commit 9fd6dad1261a541b3f5fa7dc5b152222306e6702 upstream.

Currently, the follow_pfn function is exported for modules but
follow_pte is not.  However, follow_pfn is very easy to misuse,
because it does not provide protections (so most of its callers
assume the page is writable!) and because it returns after having
already unlocked the page table lock.

Provide instead a simplified version of follow_pte that does
not have the pmdpp and range arguments.  The older version
survives as follow_invalidate_pte() for use by fs/dax.c.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/dax.c
include/linux/mm.h
mm/memory.c
virt/kvm/kvm_main.c