Loading include/linux/mm.h +1 −1 Original line number Diff line number Diff line Loading @@ -2687,7 +2687,7 @@ 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, unsigned long addr, 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; Loading mm/as_dirty_helpers.c +4 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ struct apply_as { /** * apply_pt_wrprotect - Leaf pte callback to write-protect a pte * @pte: Pointer to the pte * @token: Page table token, see apply_to_pfn_range() * @addr: The virtual page address * @closure: Pointer to a struct pfn_range_apply embedded in a * struct apply_as Loading @@ -35,7 +36,7 @@ struct apply_as { * * Return: Always zero. */ static int apply_pt_wrprotect(pte_t *pte, static int apply_pt_wrprotect(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *closure) { Loading Loading @@ -77,6 +78,7 @@ struct apply_as_clean { /** * apply_pt_clean - Leaf pte callback to clean a pte * @pte: Pointer to the pte * @token: Page table token, see apply_to_pfn_range() * @addr: The virtual page address * @closure: Pointer to a struct pfn_range_apply embedded in a * struct apply_as_clean Loading @@ -89,7 +91,7 @@ struct apply_as_clean { * * Return: Always zero. */ static int apply_pt_clean(pte_t *pte, static int apply_pt_clean(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *closure) { Loading mm/memory.c +3 −3 Original line number Diff line number Diff line Loading @@ -2053,7 +2053,7 @@ static int apply_to_pte_range(struct pfn_range_apply *closure, pmd_t *pmd, token = pmd_pgtable(*pmd); do { err = closure->ptefn(pte++, addr, closure); err = closure->ptefn(pte++, token, addr, closure); if (err) break; } while (addr += PAGE_SIZE, addr != end); Loading Loading @@ -2194,14 +2194,14 @@ struct page_range_apply { * Callback wrapper to enable use of apply_to_pfn_range for * the apply_to_page_range interface */ static int apply_to_page_range_wrapper(pte_t *pte, static int apply_to_page_range_wrapper(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *pter) { struct page_range_apply *pra = container_of(pter, typeof(*pra), pter); return pra->fn(pte, NULL, addr, pra->data); return pra->fn(pte, token, addr, pra->data); } /* Loading Loading
include/linux/mm.h +1 −1 Original line number Diff line number Diff line Loading @@ -2687,7 +2687,7 @@ 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, unsigned long addr, 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; Loading
mm/as_dirty_helpers.c +4 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ struct apply_as { /** * apply_pt_wrprotect - Leaf pte callback to write-protect a pte * @pte: Pointer to the pte * @token: Page table token, see apply_to_pfn_range() * @addr: The virtual page address * @closure: Pointer to a struct pfn_range_apply embedded in a * struct apply_as Loading @@ -35,7 +36,7 @@ struct apply_as { * * Return: Always zero. */ static int apply_pt_wrprotect(pte_t *pte, static int apply_pt_wrprotect(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *closure) { Loading Loading @@ -77,6 +78,7 @@ struct apply_as_clean { /** * apply_pt_clean - Leaf pte callback to clean a pte * @pte: Pointer to the pte * @token: Page table token, see apply_to_pfn_range() * @addr: The virtual page address * @closure: Pointer to a struct pfn_range_apply embedded in a * struct apply_as_clean Loading @@ -89,7 +91,7 @@ struct apply_as_clean { * * Return: Always zero. */ static int apply_pt_clean(pte_t *pte, static int apply_pt_clean(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *closure) { Loading
mm/memory.c +3 −3 Original line number Diff line number Diff line Loading @@ -2053,7 +2053,7 @@ static int apply_to_pte_range(struct pfn_range_apply *closure, pmd_t *pmd, token = pmd_pgtable(*pmd); do { err = closure->ptefn(pte++, addr, closure); err = closure->ptefn(pte++, token, addr, closure); if (err) break; } while (addr += PAGE_SIZE, addr != end); Loading Loading @@ -2194,14 +2194,14 @@ struct page_range_apply { * Callback wrapper to enable use of apply_to_pfn_range for * the apply_to_page_range interface */ static int apply_to_page_range_wrapper(pte_t *pte, static int apply_to_page_range_wrapper(pte_t *pte, pgtable_t token, unsigned long addr, struct pfn_range_apply *pter) { struct page_range_apply *pra = container_of(pter, typeof(*pra), pter); return pra->fn(pte, NULL, addr, pra->data); return pra->fn(pte, token, addr, pra->data); } /* Loading