aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/hugetlb.h
diff options
context:
space:
mode:
authorJakub Kicinski <[email protected]>2025-03-06 21:01:27 +0000
committerJakub Kicinski <[email protected]>2025-03-06 21:03:35 +0000
commit2525e16a2bae322641fd745412f3524d4455d8df (patch)
treeb1b2646362b8cc89fe3cf4eece698810fbb05c55 /arch/mips/include/asm/hugetlb.h
parentMerge branch 'net-hold-netdev-instance-lock-during-ndo-operations' (diff)
parentMerge tag 'net-6.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff)
downloadkernel-2525e16a2bae322641fd745412f3524d4455d8df.tar.gz
kernel-2525e16a2bae322641fd745412f3524d4455d8df.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.14-rc6). Conflicts: net/ethtool/cabletest.c 2bcf4772e45a ("net: ethtool: try to protect all callback with netdev instance lock") 637399bf7e77 ("net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device") No Adjacent changes. Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'arch/mips/include/asm/hugetlb.h')
-rw-r--r--arch/mips/include/asm/hugetlb.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/include/asm/hugetlb.h b/arch/mips/include/asm/hugetlb.h
index d0a86ce83de9..fbc71ddcf0f6 100644
--- a/arch/mips/include/asm/hugetlb.h
+++ b/arch/mips/include/asm/hugetlb.h
@@ -27,7 +27,8 @@ static inline int prepare_hugepage_range(struct file *file,
#define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEAR
static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,
- unsigned long addr, pte_t *ptep)
+ unsigned long addr, pte_t *ptep,
+ unsigned long sz)
{
pte_t clear;
pte_t pte = *ptep;
@@ -42,13 +43,14 @@ static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma,
unsigned long addr, pte_t *ptep)
{
pte_t pte;
+ unsigned long sz = huge_page_size(hstate_vma(vma));
/*
* clear the huge pte entry firstly, so that the other smp threads will
* not get old pte entry after finishing flush_tlb_page and before
* setting new huge pte entry
*/
- pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep);
+ pte = huge_ptep_get_and_clear(vma->vm_mm, addr, ptep, sz);
flush_tlb_page(vma, addr);
return pte;
}