Skip to content

Commit

Permalink
[PATCH] mm: do_swap_page race major
Browse files Browse the repository at this point in the history
Small adjustment: do_swap_page should report its !pte_same race as a major
fault if it had to read into swap cache, because whatever raced with it will
have found page already in cache and reported minor fault.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Hugh Dickins authored and Linus Torvalds committed Oct 30, 2005
1 parent 86d912f commit 9e9bef0
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions mm/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -1728,10 +1728,8 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma,
*/
spin_lock(&mm->page_table_lock);
page_table = pte_offset_map(pmd, address);
if (unlikely(!pte_same(*page_table, orig_pte))) {
ret = VM_FAULT_MINOR;
if (unlikely(!pte_same(*page_table, orig_pte)))
goto out_nomap;
}

if (unlikely(!PageUptodate(page))) {
ret = VM_FAULT_SIGBUS;
Expand Down

0 comments on commit 9e9bef0

Please sign in to comment.