Re: [PATCH] cxl/region: Fix cxlr_pmem leaks

From: Dan Williams
Date: Tue Apr 30 2024 - 15:59:22 EST


Jonathan Cameron wrote:
> On Sun, 28 Apr 2024 11:07:48 +0800
> Li Zhijian <lizhijian@xxxxxxxxxxx> wrote:
>
> > Before this error path, cxlr_pmem pointed to a kzalloc() memory, free
> > it to avoid this memory leaking.
> >
> > Fixes: f17b558d6663 ("cxl/pmem: Refactor nvdimm device registration, delete the workqueue")
> > Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx>
>
> Fix is good, but this looks like nice case for conversion to cleanup.h stuff
> perhaps better to just do that? Would need a small amount of dancing
> on the final return to return cxlr->cxlr_pmem + pointer steal
> when setting cxlr->cxlr_pmem a few lines up.
>
> Also guard for the rwsem.
>
> Dave, Dan, worth doing or take this minimal fix and spin around later?
>
> If you think this is the way to go.
> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

I had spun up the conversion patch as a replacement in response to this.
However, after looking at that I think merging this fix with a follow-on
cleanup is they way to go because the cleanup touches locking, memory
allocation, and changes the calling convention.

Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>

I'll send the follow-on cleanup shortly.