From: <bla...@ya...> - 2004-09-12 18:44:58
|
Do not flush the whole kernel page table instead of flushing only a range in SKAS mode: loop from start to end instead than to start_vm to end_vm. To test a lot, since it could well be wrong, or some callers could be passing wrong parameters (they were ignored!). Anyway, it seems that this is safe and that most callers are in arch-independent code (i.e. correct one). But actually I did not test modules well. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <bla...@ya...> --- uml-linux-2.6.8.1-paolo/arch/um/kernel/skas/tlb.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN arch/um/kernel/skas/tlb.c~uml-correct-tlb-fix-range-skas arch/um/kernel/skas/tlb.c --- uml-linux-2.6.8.1/arch/um/kernel/skas/tlb.c~uml-correct-tlb-fix-range-skas 2004-08-29 14:40:53.413091752 +0200 +++ uml-linux-2.6.8.1-paolo/arch/um/kernel/skas/tlb.c 2004-08-29 14:40:53.415091448 +0200 @@ -77,7 +77,7 @@ void flush_tlb_kernel_range_skas(unsigne int updated = 0, err; mm = &init_mm; - for(addr = start_vm; addr < end_vm;){ + for(addr = start; addr < end;){ pgd = pgd_offset(mm, addr); pmd = pmd_offset(pgd, addr); if(pmd_present(*pmd)){ _ |