From: Linus Torvalds Date: Sun, 27 Apr 2014 22:08:12 +0000 (-0700) Subject: Merge branch 'safe-dirty-tlb-flush' X-Git-Tag: v3.15-rc3~2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=ac6c9e2bed093c4b60e313674fb7aec4f264c3d4;p=linux.git Merge branch 'safe-dirty-tlb-flush' This merges the patch to fix possible loss of dirty bit on munmap() or madvice(DONTNEED). If there are concurrent writers on other CPU's that have the unmapped/unneeded page in their TLBs, their writes to the page could possibly get lost if a third CPU raced with the TLB flush and did a page_mkclean() before the page was fully written. Admittedly, if you unmap() or madvice(DONTNEED) an area _while_ another thread is still busy writing to it, you deserve all the lost writes you could get. But we kernel people hold ourselves to higher quality standards than "crazy people deserve to lose", because, well, we've seen people do all kinds of crazy things. So let's get it right, just because we can, and we don't have to worry about it. * safe-dirty-tlb-flush: mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts --- ac6c9e2bed093c4b60e313674fb7aec4f264c3d4