linux/drivers/cxl
Dan Williams 1c3333a28d cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures
While device_add() will happen to catch dev_set_name() failures it is a
broken pattern to follow given that the core may try to fall back to a
different name.

Add explicit checking for dev_set_name() failures to be cleaned up by
put_device(). Skip cdev_device_add() and proceed directly to
put_device() if the name set fails.

This type of bug is easier to see if 'alloc' is split from 'add'
operations that require put_device() on failure. So cxl_memdev_alloc()
is split out as a result.

Fixes: b39cb1052a ("cxl/mem: Register CXL memX devices")
Reported-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/161728760514.2474381.1163928273337158134.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2021-04-06 11:41:30 -07:00
..
bus.c cxl/mem: Register CXL memX devices 2021-02-16 20:36:38 -08:00
cxl.h cxl/mem: Enable commands via CEL 2021-02-16 20:36:38 -08:00
Kconfig cxl/mem: Add a "RAW" send command 2021-02-16 20:36:38 -08:00
Makefile cxl/mem: Register CXL memX devices 2021-02-16 20:36:38 -08:00
mem.c cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures 2021-04-06 11:41:30 -07:00
pci.h