summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPankaj Gupta <pagupta@redhat.com>2019-07-30 13:37:08 +0200
committerMike Snitzer <snitzer@redhat.com>2019-07-31 00:58:54 +0200
commit5348deb138abb90ca8f728356772e38abc791cf9 (patch)
tree7f57ee9b6434d2c6322cd6a02bc44e1e8bc4893a
parentLinux 5.3-rc2 (diff)
downloadlinux-5348deb138abb90ca8f728356772e38abc791cf9.tar.xz
linux-5348deb138abb90ca8f728356772e38abc791cf9.zip
dm table: fix dax_dev NULL dereference in device_synchronous()
If a device doesn't support DAX its 'dax_dev' is NULL. Fix device_synchronous() to first check if dax_dev is NULL before dereferencing it. Fixes: 2e9ee0955d3c ("dm: enable synchronous dax") Reported-by: jencce.kernel@gmail.com Signed-off-by: Pankaj Gupta <pagupta@redhat.com> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
-rw-r--r--drivers/md/dm-table.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index caaee8032afe..12857beaa7f9 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -894,7 +894,7 @@ int device_supports_dax(struct dm_target *ti, struct dm_dev *dev,
static int device_synchronous(struct dm_target *ti, struct dm_dev *dev,
sector_t start, sector_t len, void *data)
{
- return dax_synchronous(dev->dax_dev);
+ return dev->dax_dev && dax_synchronous(dev->dax_dev);
}
bool dm_table_supports_dax(struct dm_table *t,