On Mon, Sep 13, 2021 at 3:33 PM Sasha Levin <sashal@xxxxxxxxxx> wrote: > > From: Dan Williams <dan.j.williams@xxxxxxxxx> > > [ Upstream commit 9cc238c7a526dba9ee8c210fa2828886fc65db66 ] > > In preparation for moving cxl_memdev allocation to the core, introduce > cdevm_file_operations to coordinate file operations shutdown relative to > driver data release. > > 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 will fix a use after free bug when looping driver > load / unload with CONFIG_DEBUG_KOBJECT_RELEASE=y. > > Another motivation for passing in file_operations to the core cxl_memdev > creation flow is to allow for alternate drivers, like unit test code, to > define their own ioctl backends. Hi Sasha, Please drop this. It's not a fix, it's just a reorganization for easing the addition of new features and capabilities.