dax: Check page->mapping isn't NULL
authorMatthew Wilcox <willy@infradead.org>
Tue, 27 Nov 2018 21:16:33 +0000 (13:16 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Dec 2018 08:24:41 +0000 (09:24 +0100)
commit384f18115267c0e52748137d6720c81b1cf220e1
treee53a5f6da9edd113e80328e544e7e064f8e6bbf2
parent111758f73595528e4f9f51b54cca27470d130e08
dax: Check page->mapping isn't NULL

commit c93db7bb6ef3251e0ea48ade311d3e9942748e1c upstream.

If we race with inode destroy, it's possible for page->mapping to be
NULL before we even enter this routine, as well as after having slept
waiting for the dax entry to become unlocked.

Fixes: c2a7d2a11552 ("filesystem-dax: Introduce dax_lock_mapping_entry()")
Cc: <stable@vger.kernel.org>
Reported-by: Jan Kara <jack@suse.cz>
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/dax.c