]> git.baikalelectronics.ru Git - kernel.git/commit
mm, dev_pagemap: Do not clear ->mapping on final put
authorDan Williams <dan.j.williams@intel.com>
Sat, 14 Jul 2018 04:50:01 +0000 (21:50 -0700)
committerDave Jiang <dave.jiang@intel.com>
Mon, 23 Jul 2018 17:37:39 +0000 (10:37 -0700)
commit6c6c71b053b590e4f1c530fcd49b1e60499430cd
tree7cf0718fabe780c0faf9337a6f8262826cb1dc37
parentf2342e6af208f865e9069051e9d203d1e7e22b9e
mm, dev_pagemap: Do not clear ->mapping on final put

MEMORY_DEVICE_FS_DAX relies on typical page semantics whereby ->mapping
is only ever cleared by truncation, not final put.

Without this fix dax pages may forget their mapping association at the
end of every page pin event.

Move this atypical behavior that HMM wants into the HMM ->page_free()
callback.

Cc: <stable@vger.kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Fixes: 2077bdab45b2 ("fs, dax: use page->mapping...")
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Jérôme Glisse <jglisse@redhat.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
kernel/memremap.c
mm/hmm.c