Re: [PATCH 1/2] cxl/region: fix region leak when attach_target fails in cxl_add_to_region

From: Alejandro Lucero Palau

Date: Tue Feb 24 2026 - 11:17:13 EST



On 2/21/26 05:17, Gregory Price wrote:
On Fri, Feb 20, 2026 at 11:30:12PM -0500, Gregory Price wrote:
cxl_add_to_region() ignores the return value of attach_target(). When
attach_target() fails (e.g. cxl_port_setup_targets() returns -ENXIO),
the auto-discovered region remains registered with its HPA resource
consumed but never reaches COMMIT state. Subsequent region creation
attempts fail with -ENOSPC because the HPA range is already reserved.

Track whether this call to cxl_add_to_region() created the region, and
call drop_region() on attach_target() failure to unregister it and
release the HPA resource. Pre-existing regions are left alone since
other endpoints may already be attached.

Signed-off-by: Gregory Price <gourry@xxxxxxxxxx>
BAH - disregard this patch, it uses drop_region which is introduced by
Alejandro here:

https://lore.kernel.org/linux-cxl/20260201155438.2664640-20-alejandro.lucero-palau@xxxxxxx/

Feel free to add it to this series. I have started to send individual series as you know but the part changing the region creation will require more work than the already sent.

About this fix, it looks good to me, although I have to admit I'm a bit lost after following the discussion Allison points to. If we want to keep the state of failure for forensics, not sure if the debugging/tracing or default error info in this case will be enough.

In any case:

Reviewed-by: Alejandro Lucero <alucerop@xxxxxxx>