mm/memory.c:do_shared_fault(): add comment
Belatedly document the changes in commit f0c6d4d295
("mm: introduce
do_shared_fault() and drop do_fault()").
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Bob Liu <lliubbo@gmail.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
48332f2846
commit
d82fa87d2b
|
@ -2996,6 +2996,12 @@ static int do_shared_fault(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||||
|
|
||||||
if (set_page_dirty(fault_page))
|
if (set_page_dirty(fault_page))
|
||||||
dirtied = 1;
|
dirtied = 1;
|
||||||
|
/*
|
||||||
|
* Take a local copy of the address_space - page.mapping may be zeroed
|
||||||
|
* by truncate after unlock_page(). The address_space itself remains
|
||||||
|
* pinned by vma->vm_file's reference. We rely on unlock_page()'s
|
||||||
|
* release semantics to prevent the compiler from undoing this copying.
|
||||||
|
*/
|
||||||
mapping = fault_page->mapping;
|
mapping = fault_page->mapping;
|
||||||
unlock_page(fault_page);
|
unlock_page(fault_page);
|
||||||
if ((dirtied || vma->vm_ops->page_mkwrite) && mapping) {
|
if ((dirtied || vma->vm_ops->page_mkwrite) && mapping) {
|
||||||
|
|
Loading…
Reference in a new issue