blob: 06cfe2307882b664529d27d54da5f4fca1790712 [file] [log] [blame]
From: David Hildenbrand <david@redhat.com>
Subject: mm: remove "prot" parameter from move_pte()
Date: Wed, 27 Mar 2024 15:33:01 +0100
The "prot" parameter is unused, and using it instead of what's stored in
that particular PTE would very likely be wrong. Let's simply remove it.
Link: https://lkml.kernel.org/r/20240327143301.741807-1-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
arch/sparc/include/asm/pgtable_64.h | 2 +-
include/linux/pgtable.h | 2 +-
mm/mremap.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
--- a/arch/sparc/include/asm/pgtable_64.h~mm-remove-prot-parameter-from-move_pte
+++ a/arch/sparc/include/asm/pgtable_64.h
@@ -957,7 +957,7 @@ static inline void set_ptes(struct mm_st
#ifdef DCACHE_ALIASING_POSSIBLE
#define __HAVE_ARCH_MOVE_PTE
-#define move_pte(pte, prot, old_addr, new_addr) \
+#define move_pte(pte, old_addr, new_addr) \
({ \
pte_t newpte = (pte); \
if (tlb_type != hypervisor && pte_present(pte)) { \
--- a/include/linux/pgtable.h~mm-remove-prot-parameter-from-move_pte
+++ a/include/linux/pgtable.h
@@ -1079,7 +1079,7 @@ static inline void arch_swap_restore(swp
#endif
#ifndef __HAVE_ARCH_MOVE_PTE
-#define move_pte(pte, prot, old_addr, new_addr) (pte)
+#define move_pte(pte, old_addr, new_addr) (pte)
#endif
#ifndef pte_accessible
--- a/mm/mremap.c~mm-remove-prot-parameter-from-move_pte
+++ a/mm/mremap.c
@@ -205,7 +205,7 @@ static int move_ptes(struct vm_area_stru
*/
if (pte_present(pte))
force_flush = true;
- pte = move_pte(pte, new_vma->vm_page_prot, old_addr, new_addr);
+ pte = move_pte(pte, old_addr, new_addr);
pte = move_soft_dirty_pte(pte);
set_pte_at(mm, new_addr, new_pte, pte);
}
_