From b15dc73f60ebf02410bc7014ce34fb7fd1040045 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Wed, 30 Sep 2026 21:41:11 +0200 Subject: [PATCH] dm-writecache: fix a crash if we attempt to use non-dax device If we specify a non-DAX device as a cache device in the 'P' mode, dm-writecache crashes on NULL pointer dereference inside dax_synchronous. Note that this is not a security bug because only root can trigger it. Signed-off-by: Mikulas Patocka Fixes: a46624580376 ("dm writecache: reject asynchronous pmem devices") Cc: stable@vger.kernel.org Assisted-by: Claude:claude-opus-5 --- drivers/md/dm-writecache.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c index e974204b0d6f..2b3950dd45e8 100644 --- a/drivers/md/dm-writecache.c +++ b/drivers/md/dm-writecache.c @@ -2499,6 +2499,11 @@ static int writecache_ctr(struct dm_target *ti, unsigned int argc, char **argv) } if (WC_MODE_PMEM(wc)) { + if (!wc->ssd_dev->dax_dev) { + r = -EOPNOTSUPP; + ti->error = "Cache device is not a DAX device"; + goto bad; + } if (!dax_synchronous(wc->ssd_dev->dax_dev)) { r = -EOPNOTSUPP; ti->error = "Asynchronous persistent memory not supported as pmem cache";