mm/hugetlb: introduce huge pte version of uffd-wp helpers
They will be used in the follow up patches to either check/set/clear uffd-wp bit of a huge pte. So far it reuses all the small pte helpers. Archs can overwrite these versions when necessary (with __HAVE_ARCH_HUGE_PTE_UFFD_WP* macros) in the future. Link: https://lkml.kernel.org/r/20220405014858.14531-1-peterx@redhat.com Signed-off-by: Peter Xu <peterx@redhat.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Axel Rasmussen <axelrasmussen@google.com> Cc: David Hildenbrand <david@redhat.com> Cc: Hugh Dickins <hughd@google.com> Cc: Jerome Glisse <jglisse@redhat.com> Cc: "Kirill A . Shutemov" <kirill@shutemov.name> Cc: Matthew Wilcox <willy@infradead.org> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> Cc: Nadav Amit <nadav.amit@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
c56d1b62cc
commit
229f3fa778
|
@ -120,6 +120,21 @@ static inline pte_t huge_pte_modify(pte_t pte, pgprot_t newprot)
|
|||
return pte_modify(pte, newprot);
|
||||
}
|
||||
|
||||
static inline pte_t huge_pte_mkuffd_wp(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline pte_t huge_pte_clear_uffd_wp(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline int huge_pte_uffd_wp(pte_t pte)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline bool gigantic_page_runtime_supported(void)
|
||||
{
|
||||
return true;
|
||||
|
|
|
@ -35,6 +35,21 @@ static inline pte_t huge_pte_modify(pte_t pte, pgprot_t newprot)
|
|||
return pte_modify(pte, newprot);
|
||||
}
|
||||
|
||||
static inline pte_t huge_pte_mkuffd_wp(pte_t pte)
|
||||
{
|
||||
return pte_mkuffd_wp(pte);
|
||||
}
|
||||
|
||||
static inline pte_t huge_pte_clear_uffd_wp(pte_t pte)
|
||||
{
|
||||
return pte_clear_uffd_wp(pte);
|
||||
}
|
||||
|
||||
static inline int huge_pte_uffd_wp(pte_t pte)
|
||||
{
|
||||
return pte_uffd_wp(pte);
|
||||
}
|
||||
|
||||
#ifndef __HAVE_ARCH_HUGE_PTE_CLEAR
|
||||
static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr,
|
||||
pte_t *ptep, unsigned long sz)
|
||||
|
|
Loading…
Reference in New Issue