Skip to content

Commit 6e11733

Browse files
committed
Merge branch 'for-next/misc' into for-next/core
* for-next/misc: arm64: Remove duplicate included header arm64/Kconfig: Drop EXECMEM dependency from ARCH_WANTS_EXECMEM_LATE arm64: asm: Fix typo in pgtable.h arm64/mm: Ensure adequate HUGE_MAX_HSTATE arm64/mm: Replace open encodings with PXD_TABLE_BIT arm64/mm: Drop INIT_MM_CONTEXT()
2 parents e190227 + 965e9bb commit 6e11733

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

arch/arm64/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ config ARM64
113113
select ARCH_WANT_FRAME_POINTERS
114114
select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36)
115115
select ARCH_WANT_LD_ORPHAN_WARN
116-
select ARCH_WANTS_EXECMEM_LATE if EXECMEM
116+
select ARCH_WANTS_EXECMEM_LATE
117117
select ARCH_WANTS_NO_INSTR
118118
select ARCH_WANTS_THP_SWAP if ARM64_4K_PAGES
119119
select ARCH_HAS_UBSAN

arch/arm64/include/asm/mmu.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,5 @@ static inline bool kaslr_requires_kpti(void)
109109
return true;
110110
}
111111

112-
#define INIT_MM_CONTEXT(name) \
113-
.pgd = swapper_pg_dir,
114-
115112
#endif /* !__ASSEMBLY__ */
116113
#endif

arch/arm64/include/asm/pgtable.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -896,7 +896,7 @@ static inline bool mm_pud_folded(const struct mm_struct *mm)
896896
pr_err("%s:%d: bad pud %016llx.\n", __FILE__, __LINE__, pud_val(e))
897897

898898
#define p4d_none(p4d) (pgtable_l4_enabled() && !p4d_val(p4d))
899-
#define p4d_bad(p4d) (pgtable_l4_enabled() && !(p4d_val(p4d) & 2))
899+
#define p4d_bad(p4d) (pgtable_l4_enabled() && !(p4d_val(p4d) & P4D_TABLE_BIT))
900900
#define p4d_present(p4d) (!p4d_none(p4d))
901901

902902
static inline void set_p4d(p4d_t *p4dp, p4d_t p4d)
@@ -1023,7 +1023,7 @@ static inline bool mm_p4d_folded(const struct mm_struct *mm)
10231023
pr_err("%s:%d: bad p4d %016llx.\n", __FILE__, __LINE__, p4d_val(e))
10241024

10251025
#define pgd_none(pgd) (pgtable_l5_enabled() && !pgd_val(pgd))
1026-
#define pgd_bad(pgd) (pgtable_l5_enabled() && !(pgd_val(pgd) & 2))
1026+
#define pgd_bad(pgd) (pgtable_l5_enabled() && !(pgd_val(pgd) & PGD_TABLE_BIT))
10271027
#define pgd_present(pgd) (!pgd_none(pgd))
10281028

10291029
static inline void set_pgd(pgd_t *pgdp, pgd_t pgd)
@@ -1345,7 +1345,7 @@ static inline void ___ptep_set_wrprotect(struct mm_struct *mm,
13451345
}
13461346

13471347
/*
1348-
* __ptep_set_wrprotect - mark read-only while trasferring potential hardware
1348+
* __ptep_set_wrprotect - mark read-only while transferring potential hardware
13491349
* dirty status (PTE_DBM && !PTE_RDONLY) to the software PTE_DIRTY bit.
13501350
*/
13511351
static inline void __ptep_set_wrprotect(struct mm_struct *mm,

arch/arm64/include/asm/seccomp.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
#define SECCOMP_ARCH_NATIVE_NR NR_syscalls
2424
#define SECCOMP_ARCH_NATIVE_NAME "aarch64"
2525
#ifdef CONFIG_COMPAT
26-
#include <asm/unistd_compat_32.h>
2726
# define SECCOMP_ARCH_COMPAT AUDIT_ARCH_ARM
2827
# define SECCOMP_ARCH_COMPAT_NR __NR_compat32_syscalls
2928
# define SECCOMP_ARCH_COMPAT_NAME "arm"

arch/arm64/mm/hugetlbpage.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,18 @@ pte_t huge_ptep_clear_flush(struct vm_area_struct *vma,
519519

520520
static int __init hugetlbpage_init(void)
521521
{
522+
/*
523+
* HugeTLB pages are supported on maximum four page table
524+
* levels (PUD, CONT PMD, PMD, CONT PTE) for a given base
525+
* page size, corresponding to hugetlb_add_hstate() calls
526+
* here.
527+
*
528+
* HUGE_MAX_HSTATE should at least match maximum supported
529+
* HugeTLB page sizes on the platform. Any new addition to
530+
* supported HugeTLB page sizes will also require changing
531+
* HUGE_MAX_HSTATE as well.
532+
*/
533+
BUILD_BUG_ON(HUGE_MAX_HSTATE < 4);
522534
if (pud_sect_supported())
523535
hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
524536

0 commit comments

Comments
 (0)