diff options
Diffstat (limited to 'include/linux/mm.h')
| -rw-r--r-- | include/linux/mm.h | 19 | 
1 files changed, 18 insertions, 1 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index dd0b5f4e1e45..798cdda9560e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2686,7 +2686,24 @@ typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr,  extern int apply_to_page_range(struct mm_struct *mm, unsigned long address,  			       unsigned long size, pte_fn_t fn, void *data); - +struct pfn_range_apply; +typedef int (*pter_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, +			 struct pfn_range_apply *closure); +struct pfn_range_apply { +	struct mm_struct *mm; +	pter_fn_t ptefn; +	unsigned int alloc; +}; +extern int apply_to_pfn_range(struct pfn_range_apply *closure, +			      unsigned long address, unsigned long size); +unsigned long apply_as_wrprotect(struct address_space *mapping, +				 pgoff_t first_index, pgoff_t nr); +unsigned long apply_as_clean(struct address_space *mapping, +			     pgoff_t first_index, pgoff_t nr, +			     pgoff_t bitmap_pgoff, +			     unsigned long *bitmap, +			     pgoff_t *start, +			     pgoff_t *end);  #ifdef CONFIG_PAGE_POISONING  extern bool page_poisoning_enabled(void);  extern void kernel_poison_pages(struct page *page, int numpages, int enable);  | 
