Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ceff42e6 authored by Christophe Leroy's avatar Christophe Leroy Committed by Greg Kroah-Hartman
Browse files

Revert "powerpc/kasan: Fix shadow pages allocation failure"



commit b506923ee44ae87fc9f4de16b53feb313623e146 upstream.

This reverts commit d2a91cef9bbdeb87b7449fdab1a6be6000930210.

This commit moved too much work in kasan_init(). The allocation
of shadow pages has to be moved for the reason explained in that
patch, but the allocation of page tables still need to be done
before switching to the final hash table.

First revert the incorrect commit, following patch redoes it
properly.

Fixes: d2a91cef9bbd ("powerpc/kasan: Fix shadow pages allocation failure")
Cc: stable@vger.kernel.org
Reported-by: default avatarErhard F. <erhard_f@mailbox.org>
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208181
Link: https://lore.kernel.org/r/3667deb0911affbf999b99f87c31c77d5e870cd2.1593690707.git.christophe.leroy@csgroup.eu


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 11e64146
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -27,9 +27,11 @@

#ifdef CONFIG_KASAN
void kasan_early_init(void);
void kasan_mmu_init(void);
void kasan_init(void);
#else
static inline void kasan_init(void) { }
static inline void kasan_mmu_init(void) { }
#endif

#endif /* __ASSEMBLY */
+2 −0
Original line number Diff line number Diff line
@@ -175,6 +175,8 @@ void __init MMU_init(void)
	btext_unmap();
#endif

	kasan_mmu_init();

	setup_kup();

	/* Shortly after that, the entire linear mapping will be available */
+1 −3
Original line number Diff line number Diff line
@@ -129,7 +129,7 @@ static void __init kasan_remap_early_shadow_ro(void)
	flush_tlb_kernel_range(KASAN_SHADOW_START, KASAN_SHADOW_END);
}

static void __init kasan_mmu_init(void)
void __init kasan_mmu_init(void)
{
	int ret;
	struct memblock_region *reg;
@@ -156,8 +156,6 @@ static void __init kasan_mmu_init(void)

void __init kasan_init(void)
{
	kasan_mmu_init();

	kasan_remap_early_shadow_ro();

	clear_page(kasan_early_shadow_page);