Merge branch 'akpm' (patches from Andrew)
Merge misc fixes from Andrew Morton: "10 patches. Subsystems affected by this patch series: ipc, MAINTAINERS, and mm (vmscan, debug, pagemap, kmemleak, and selftests)" * emailed patches from Andrew Morton <akpm@linux-foundation.org>: kselftest/vm: revert "tools/testing/selftests/vm/userfaultfd.c: use swap() to make code cleaner" MAINTAINERS: update rppt's email mm/kmemleak: avoid scanning potential huge holes ipc/sem: do not sleep with a spin lock held mm/pgtable: define pte_index so that preprocessor could recognize it mm/page_table_check: check entries at pmd levels mm/khugepaged: unify collapse pmd clear, flush and free mm/page_table_check: use unsigned long for page counters and cleanup mm/debug_vm_pgtable: remove pte entry from the page table Revert "mm/page_isolation: unset migratetype directly for non Buddy page"
This commit is contained in:
commit
f9aaa5b05e
10 changed files with 88 additions and 56 deletions
|
|
@ -26,6 +26,9 @@ void __page_table_check_pmd_set(struct mm_struct *mm, unsigned long addr,
|
|||
pmd_t *pmdp, pmd_t pmd);
|
||||
void __page_table_check_pud_set(struct mm_struct *mm, unsigned long addr,
|
||||
pud_t *pudp, pud_t pud);
|
||||
void __page_table_check_pte_clear_range(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pmd_t pmd);
|
||||
|
||||
static inline void page_table_check_alloc(struct page *page, unsigned int order)
|
||||
{
|
||||
|
|
@ -100,6 +103,16 @@ static inline void page_table_check_pud_set(struct mm_struct *mm,
|
|||
__page_table_check_pud_set(mm, addr, pudp, pud);
|
||||
}
|
||||
|
||||
static inline void page_table_check_pte_clear_range(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pmd_t pmd)
|
||||
{
|
||||
if (static_branch_likely(&page_table_check_disabled))
|
||||
return;
|
||||
|
||||
__page_table_check_pte_clear_range(mm, addr, pmd);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline void page_table_check_alloc(struct page *page, unsigned int order)
|
||||
|
|
@ -143,5 +156,11 @@ static inline void page_table_check_pud_set(struct mm_struct *mm,
|
|||
{
|
||||
}
|
||||
|
||||
static inline void page_table_check_pte_clear_range(struct mm_struct *mm,
|
||||
unsigned long addr,
|
||||
pmd_t pmd)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_PAGE_TABLE_CHECK */
|
||||
#endif /* __LINUX_PAGE_TABLE_CHECK_H */
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ static inline unsigned long pte_index(unsigned long address)
|
|||
{
|
||||
return (address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1);
|
||||
}
|
||||
#define pte_index pte_index
|
||||
|
||||
#ifndef pmd_index
|
||||
static inline unsigned long pmd_index(unsigned long address)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue