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: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.
cxl_add_to_region() ignores the return value of attach_target(). WhenBAH - disregard this patch, it uses drop_region which is introduced by
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>
Alejandro here:
https://lore.kernel.org/linux-cxl/20260201155438.2664640-20-alejandro.lucero-palau@xxxxxxx/
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>