summaryrefslogtreecommitdiff
path: root/drivers/cxl
diff options
context:
space:
mode:
authorAlison Schofield <alison.schofield@intel.com>2026-03-30 17:50:45 -0700
committerDave Jiang <dave.jiang@intel.com>2026-03-31 15:18:06 -0700
commit261a02b93d9b6dfdc49b3e675be1a0e677cf71f3 (patch)
treec52d09ac186e0a6c7f5e76472b99b8941d6a154f /drivers/cxl
parent7974835aa9d54125a1b6a2948f927d745748bf46 (diff)
cxl/core: Check existence of cxl_memdev_state in poison test
Before now, all CXL memdevs were assumed to have a mailbox-backed cxl_memdev_state, so poison command checks could safely dereference the @mds. With the introduction of Type 2 devices, a memdev may not implement a mailbox interface, and so there is no associated cxl_memdev_state. Guard against this case by returning false when @mds is absent. Signed-off-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Alejandro Lucero <alucerop@amd.com> Link: https://patch.msgid.link/20260331005047.2813980-1-alison.schofield@intel.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Diffstat (limited to 'drivers/cxl')
-rw-r--r--drivers/cxl/core/memdev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c
index 273c22118d3d..591425866045 100644
--- a/drivers/cxl/core/memdev.c
+++ b/drivers/cxl/core/memdev.c
@@ -204,6 +204,9 @@ bool cxl_memdev_has_poison_cmd(struct cxl_memdev *cxlmd,
{
struct cxl_memdev_state *mds = to_cxl_memdev_state(cxlmd->cxlds);
+ if (!mds)
+ return 0;
+
return test_bit(cmd, mds->poison.enabled_cmds);
}