None of the contpte code needs write access to the PTEs. Signed-off-by: Pedro Falcato --- arch/arm64/include/asm/pgtable.h | 10 +++++----- arch/arm64/mm/contpte.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index a2681d755358..043bc0649cee 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -378,7 +378,7 @@ static inline void __set_pte(pte_t *ptep, pte_t pte) __set_pte_complete(pte); } -static inline pte_t __ptep_get(pte_t *ptep) +static inline pte_t __ptep_get(const pte_t *ptep) { return READ_ONCE(*ptep); } @@ -1652,8 +1652,8 @@ extern void __contpte_try_fold(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte); extern void __contpte_try_unfold(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte); -extern pte_t contpte_ptep_get(pte_t *ptep, pte_t orig_pte); -extern pte_t contpte_ptep_get_lockless(pte_t *orig_ptep); +extern pte_t contpte_ptep_get(const pte_t *ptep, pte_t orig_pte); +extern pte_t contpte_ptep_get_lockless(const pte_t *orig_ptep); extern void contpte_set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned int nr); extern void contpte_clear_full_ptes(struct mm_struct *mm, unsigned long addr, @@ -1732,7 +1732,7 @@ static inline unsigned int pte_batch_hint(pte_t *ptep, pte_t pte) */ #define ptep_get ptep_get -static inline pte_t ptep_get(pte_t *ptep) +static inline pte_t ptep_get(const pte_t *ptep) { pte_t pte = __ptep_get(ptep); @@ -1743,7 +1743,7 @@ static inline pte_t ptep_get(pte_t *ptep) } #define ptep_get_lockless ptep_get_lockless -static inline pte_t ptep_get_lockless(pte_t *ptep) +static inline pte_t ptep_get_lockless(const pte_t *ptep) { pte_t pte = __ptep_get(ptep); diff --git a/arch/arm64/mm/contpte.c b/arch/arm64/mm/contpte.c index 2de12656b4d8..3853ecd2cee9 100644 --- a/arch/arm64/mm/contpte.c +++ b/arch/arm64/mm/contpte.c @@ -310,7 +310,7 @@ void __contpte_try_unfold(struct mm_struct *mm, unsigned long addr, } EXPORT_SYMBOL_GPL(__contpte_try_unfold); -pte_t contpte_ptep_get(pte_t *ptep, pte_t orig_pte) +pte_t contpte_ptep_get(const pte_t *ptep, pte_t orig_pte) { /* * Gather access/dirty bits, which may be populated in any of the ptes @@ -367,7 +367,7 @@ static inline bool contpte_is_consistent(pte_t pte, unsigned long pfn, pgprot_val(prot) == pgprot_val(orig_prot); } -pte_t contpte_ptep_get_lockless(pte_t *orig_ptep) +pte_t contpte_ptep_get_lockless(const pte_t *orig_ptep) { /* * The ptep_get_lockless() API requires us to read and return *orig_ptep -- 2.55.0