summaryrefslogtreecommitdiff
path: root/drivers/cxl/core/core.h
diff options
context:
space:
mode:
authorBen Widawsky <ben.widawsky@intel.com>2021-08-02 10:30:05 -0700
committerDan Williams <dan.j.williams@intel.com>2021-08-06 08:22:54 -0700
commit3d135db510240fefd79da46181493d3e3b415f6b (patch)
tree037ec26d21c8fee3c90323c3ddd628a829032d8e /drivers/cxl/core/core.h
parent9cc238c7a526dba9ee8c210fa2828886fc65db66 (diff)
downloadlwn-3d135db510240fefd79da46181493d3e3b415f6b.tar.gz
lwn-3d135db510240fefd79da46181493d3e3b415f6b.zip
cxl/core: Move memdev management to core
The motivation for moving cxl_memdev allocation to the core (beyond better file organization of sysfs attributes in core/ and drivers in cxl/), is that device lifetime is longer than module lifetime. The cxl_pci module should be free to come and go without needing to coordinate with devices that need the text associated with cxl_memdev_release() to stay resident. The move fixes a use after free bug when looping driver load / unload with CONFIG_DEBUG_KOBJECT_RELEASE=y. Another motivation for disconnecting cxl_memdev creation from cxl_pci is to enable other drivers, like a unit test driver, to registers memdevs. Fixes: b39cb1052a5c ("cxl/mem: Register CXL memX devices") Signed-off-by: Ben Widawsky <ben.widawsky@intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/162792540495.368511.9748638751088219595.stgit@dwillia2-desk3.amr.corp.intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/cxl/core/core.h')
-rw-r--r--drivers/cxl/core/core.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/cxl/core/core.h b/drivers/cxl/core/core.h
index 49045daf8bd7..036a3c8106b4 100644
--- a/drivers/cxl/core/core.h
+++ b/drivers/cxl/core/core.h
@@ -14,4 +14,7 @@ static inline void unregister_cxl_dev(void *dev)
device_unregister(dev);
}
+int cxl_memdev_init(void);
+void cxl_memdev_exit(void);
+
#endif /* __CXL_CORE_H__ */