lkml.org 
[lkml]   [2000]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] 2.4.0-test10-pre6 TLB flush race in establish_pte
From
Date
Back in April there were discussions about the race in establish_pte with
the flush_tlb before the set_pte. Many options were discussed, but due in
part to a concern about S/390 having introduced the code, no patch ever
appeared. I talked with Martin Schwidefsky of the S/390 Linux development
team and he said that:

>the establish_pte was in fact introduced because of Linux/390. We wanted
to use the special S/390 instruction ipte (invalidate page >table entry).
In the meantime we found out that we need a lot more changes to be able to
use this instruction, so we disabled it again. >Until we have a proper
patch you should revoke the establish_pte change if you found it to be
faulty. I too think there is a race >condition.

So while there may be a more elegant solution down the road, I would like
to see the simple fix put back into 2.4. Here is the patch to essential
put the code back to the way it was before the S/390 merge. Patch is
against 2.4.0-test10pre6.

--- linux/mm/memory.c Fri Oct 27 15:26:14 2000
+++ linux-2.4.0-test10patch/mm/memory.c Fri Oct 27 15:45:54 2000
@@ -781,8 +781,8 @@
*/
static inline void establish_pte(struct vm_area_struct * vma, unsigned long address, pte_t *page_table, pte_t entry)
{
- flush_tlb_page(vma, address);
set_pte(page_table, entry);
+ flush_tlb_page(vma, address);
update_mmu_cache(vma, address, entry);
}



Linux Technology Center - IBM Corporation
11400 Burnet Road
Austin, TX 78758
(512) 838-9763 EMAIL: SLPratt@US.IBM.COM

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:45    [W:0.043 / U:17.108 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site