]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cxl/region: Fix an ERR_PTR() vs NULL bug
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 18 Jul 2025 21:22:40 +0000 (16:22 -0500)
committerDave Jiang <dave.jiang@intel.com>
Fri, 18 Jul 2025 22:05:39 +0000 (15:05 -0700)
The __cxl_decoder_detach() function is expected to return NULL on error
but this error path accidentally returns an error pointer.  It could
potentially lead to an error pointer dereference in the caller.  Change
it to return NULL.

Fixes: b3a88225519c ("cxl/region: Consolidate cxl_decoder_kill_region() and cxl_region_detach()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/7def7da0-326a-410d-8c92-718c8963c0a2@sabinyo.mountain
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
drivers/cxl/core/region.c

index e2e9cce13cd2b1ac8242d435d09135dfa53040d1..e9bf42d91689438aded73b74975f01aa190f78d6 100644 (file)
@@ -2108,7 +2108,7 @@ __cxl_decoder_detach(struct cxl_region *cxlr,
                if (pos >= p->interleave_ways) {
                        dev_dbg(&cxlr->dev, "position %d out of range %d\n",
                                pos, p->interleave_ways);
-                       return ERR_PTR(-ENXIO);
+                       return NULL;
                }
 
                if (!p->targets[pos])