Messages in this thread | | | Date | Thu, 12 Jul 2018 16:42:10 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCH] thp: fix data loss when splitting a file pmd |
| |
On Thu, Jul 12, 2018 at 12:48:54AM +0000, Hugh Dickins wrote: > __split_huge_pmd_locked() must check if the cleared huge pmd was dirty, > and propagate that to PageDirty: otherwise, data may be lost when a huge > tmpfs page is modified then split then reclaimed. > > How has this taken so long to be noticed? Because there was no problem > when the huge page is written by a write system call (shmem_write_end() > calls set_page_dirty()), nor when the page is allocated for a write fault > (fault_dirty_shared_page() calls set_page_dirty()); but when allocated > for a read fault (which MAP_POPULATE simulates), no set_page_dirty().
Yeah... Sorry.
Reviewed-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
-- Kirill A. Shutemov
| |