Re: [PATCH v3 1/3] cxl/region: Fix a race condition in memory hotplug notifier

Davidlohr Bueso
2024-06-24T16:25:25Z

On Tue, 18 Jun 2024, Huang Ying wrote:

>In the memory hotplug notifier function of the CXL region,
>cxl_region_perf_attrs_callback(), the node ID is obtained by checking
>the host address range of the region. However, the address range
>information is not available when the region is registered in
>devm_cxl_add_region(). Additionally, this information may be removed
>or added under the protection of cxl_region_rwsem during runtime. If
>the memory notifier is called for nodes other than that backed by the
>region, a race condition may occur, potentially leading to a NULL
>dereference or an invalid address range.
>
>The race condition is addressed by checking the availability of the
>address range information under the protection of cxl_region_rwsem. To
>enhance code readability and use guard(), the relevant code has been
>moved into a newly added function: cxl_region_nid().

Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>