Skip to content

Commit 3557b79

Browse files
KAGA-KOKOopsiff
authored andcommitted
x86/boot: Use __pa_nodebug() in mk_early_pgtbl_32()
stable inclusion from stable-v6.6.82 category: bugfix bugzilla: deepin-community#665 commit 1e2dd57 upstream Use the existing macro instead of undefining and redefining __pa(). No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/r/20231017211722.051625827@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 5b10ecb)
1 parent bcc705c commit 3557b79

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

arch/x86/kernel/head32.c

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,25 +76,21 @@ void __init mk_early_pgtbl_32(void);
7676

7777
void __init __no_stack_protector mk_early_pgtbl_32(void)
7878
{
79-
#ifdef __pa
80-
#undef __pa
81-
#endif
82-
#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
8379
pte_t pte, *ptep;
8480
int i;
8581
unsigned long *ptr;
8682
/* Enough space to fit pagetables for the low memory linear map */
87-
const unsigned long limit = __pa(_end) +
83+
const unsigned long limit = __pa_nodebug(_end) +
8884
(PAGE_TABLE_SIZE(LOWMEM_PAGES) << PAGE_SHIFT);
8985
#ifdef CONFIG_X86_PAE
90-
pmd_t pl2, *pl2p = (pmd_t *)__pa(initial_pg_pmd);
86+
pmd_t pl2, *pl2p = (pmd_t *)__pa_nodebug(initial_pg_pmd);
9187
#define SET_PL2(pl2, val) { (pl2).pmd = (val); }
9288
#else
93-
pgd_t pl2, *pl2p = (pgd_t *)__pa(initial_page_table);
89+
pgd_t pl2, *pl2p = (pgd_t *)__pa_nodebug(initial_page_table);
9490
#define SET_PL2(pl2, val) { (pl2).pgd = (val); }
9591
#endif
9692

97-
ptep = (pte_t *)__pa(__brk_base);
93+
ptep = (pte_t *)__pa_nodebug(__brk_base);
9894
pte.pte = PTE_IDENT_ATTR;
9995

10096
while ((pte.pte & PTE_PFN_MASK) < limit) {
@@ -114,11 +110,11 @@ void __init __no_stack_protector mk_early_pgtbl_32(void)
114110
pl2p++;
115111
}
116112

117-
ptr = (unsigned long *)__pa(&max_pfn_mapped);
113+
ptr = (unsigned long *)__pa_nodebug(&max_pfn_mapped);
118114
/* Can't use pte_pfn() since it's a call with CONFIG_PARAVIRT */
119115
*ptr = (pte.pte & PTE_PFN_MASK) >> PAGE_SHIFT;
120116

121-
ptr = (unsigned long *)__pa(&_brk_end);
117+
ptr = (unsigned long *)__pa_nodebug(&_brk_end);
122118
*ptr = (unsigned long)ptep + PAGE_OFFSET;
123119
}
124120

0 commit comments

Comments
 (0)