On 13. 02. 24, 18:21, Greg Kroah-Hartman wrote:
6.7-stable review patch. If anyone has any objections, please let me know.
From: Alexandre Ghiti alexghiti@rivosinc.com
[ Upstream commit 7a92fc8b4d20680e4c20289a670d8fca2d1f2c1b ]
The pcpu setup when using the page allocator sets up a new vmalloc mapping very early in the boot process, so early that it cannot use the flush_cache_vmap() function which may depend on structures not yet initialized (for example in riscv, we currently send an IPI to flush other cpus TLB).
...
--- a/arch/riscv/mm/tlbflush.c +++ b/arch/riscv/mm/tlbflush.c @@ -66,6 +66,11 @@ static inline void local_flush_tlb_range_asid(unsigned long start, local_flush_tlb_range_threshold_asid(start, size, stride, asid); } +void local_flush_tlb_kernel_range(unsigned long start, unsigned long end) +{
- local_flush_tlb_range_asid(start, end, PAGE_SIZE, FLUSH_TLB_NO_ASID);
This apparently requires also: commit ebd4acc0cbeae9efea15993b11b05bd32942f3f0 Author: Alexandre Ghiti alexghiti@rivosinc.com Date: Tue Jan 23 14:27:30 2024 +0100
riscv: Fix wrong size passed to local_flush_tlb_range_asid()
thanks,