diff options
author | Pankaj Gupta <pagupta@redhat.com> | 2019-07-30 13:37:08 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2019-07-31 00:58:54 +0200 |
commit | 5348deb138abb90ca8f728356772e38abc791cf9 (patch) | |
tree | 7f57ee9b6434d2c6322cd6a02bc44e1e8bc4893a | |
parent | Linux 5.3-rc2 (diff) | |
download | linux-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.c | 2 |
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, |