]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
MIPS: mm: tlb-r4k: Uniquify TLB entries on init
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Sat, 7 Jun 2025 12:43:56 +0000 (13:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:17:07 +0000 (12:17 +0200)
commit996adffd752c52b4b9a57f8d58977309dd26344f
treeb56a1c7f089cc51d20310abe584eb112ff0a9163
parent7f917ad5116c6a07073cd6bf7b4ef70c8a07dfd3
MIPS: mm: tlb-r4k: Uniquify TLB entries on init

commit 35ad7e181541aa5757f9f316768d3e64403ec843 upstream.

Hardware or bootloader will initialize TLB entries to any value, which
may collide with kernel's UNIQUE_ENTRYHI value. On MIPS microAptiv/M5150
family of cores this will trigger machine check exception and cause boot
failure. On M5150 simulation this could happen 7 times out of 1000 boots.

Replace local_flush_tlb_all() with r4k_tlb_uniquify() which probes each
TLB ENTRIHI unique value for collisions before it's written, and in case
of collision try a different ASID.

Cc: stable@kernel.org
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/mm/tlb-r4k.c