[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240624161841.gekjnoksxrb4zd7x@offworld>
Date: Mon, 24 Jun 2024 09:18:41 -0700
From: Davidlohr Bueso <dave@...olabs.net>
To: Huang Ying <ying.huang@...el.com>
Cc: Dan Williams <dan.j.williams@...el.com>,
Dave Jiang <dave.jiang@...el.com>, linux-cxl@...r.kernel.org,
linux-kernel@...r.kernel.org,
Alison Schofield <alison.schofield@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Bharata B Rao <bharata@....com>,
Alistair Popple <apopple@...dia.com>,
"Aneesh Kumar K . V" <aneesh.kumar@...ux.ibm.com>,
Vishal Verma <vishal.l.verma@...el.com>,
Ira Weiny <ira.weiny@...el.com>
Subject: Re: [PATCH v3 1/3] cxl/region: Fix a race condition in memory
hotplug notifier
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@...olabs.net>
Powered by blists - more mailing lists