summaryrefslogtreecommitdiffstats
path: root/mm/workingset.c
diff options
context:
space:
mode:
authorYigal Korman <yigal@plexistor.com>2015-11-16 14:09:15 +0200
committerDan Williams <dan.j.williams@intel.com>2015-11-18 16:54:36 -0800
commit0df9d41ab5d43dc5b20abc8b22a6b6d098b03994 (patch)
tree3c0c6a9a65867eeca00eab356dde7c1fbfcd2556 /mm/workingset.c
parentee82c9ed41e896bd47e121d87e4628de0f2656a3 (diff)
downloadlinux-0df9d41ab5d43dc5b20abc8b22a6b6d098b03994.tar.gz
linux-0df9d41ab5d43dc5b20abc8b22a6b6d098b03994.tar.bz2
linux-0df9d41ab5d43dc5b20abc8b22a6b6d098b03994.zip
mm, dax: fix DAX deadlocks (COW fault)
DAX handling of COW faults has wrong locking sequence: dax_fault does i_mmap_lock_read do_cow_fault does i_mmap_unlock_write Ross's commit[1] missed a fix[2] that Kirill added to Matthew's commit[3]. Original COW locking logic was introduced by Matthew here[4]. This should be applied to v4.3 as well. [1] 0f90cc6609c7 mm, dax: fix DAX deadlocks [2] 52a2b53ffde6 mm, dax: use i_mmap_unlock_write() in do_cow_fault() [3] 843172978bb9 dax: fix race between simultaneous faults [4] 2e4cdab0584f mm: allow page fault handlers to perform the COW Cc: <stable@vger.kernel.org> Cc: Boaz Harrosh <boaz@plexistor.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Dave Chinner <dchinner@redhat.com> Cc: Jan Kara <jack@suse.com> Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> Cc: Matthew Wilcox <matthew.r.wilcox@intel.com> Acked-by: Ross Zwisler <ross.zwisler@linux.intel.com> Signed-off-by: Yigal Korman <yigal@plexistor.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'mm/workingset.c')
0 files changed, 0 insertions, 0 deletions