diff options
author | Dan Carpenter <dan.carpenter@linaro.org> | 2025-07-18 16:22:40 -0500 |
---|---|---|
committer | Dave Jiang <dave.jiang@intel.com> | 2025-07-18 15:05:39 -0700 |
commit | 49d6e658e758e42aaff8ae5ecdd2d06b29abf53e (patch) | |
tree | 51eb74251c4938cfab787b84e6d44c07e0f8f96f | |
parent | 3796f2985c267b90052613cf0b379e51c61e9367 (diff) |
cxl/region: Fix an ERR_PTR() vs NULL bug
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>
-rw-r--r-- | drivers/cxl/core/region.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c index e2e9cce13cd2..e9bf42d91689 100644 --- a/drivers/cxl/core/region.c +++ b/drivers/cxl/core/region.c @@ -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]) |