If device_add() fails, cleanup the cdev. Otherwise, we leak a kobj_map() with a stale device number. Fixes: ba09c01d2fa8 ("dax: convert to the cdev api") Cc: <stable@xxxxxxxxxxxxxxx> Cc: Logan Gunthorpe <logang@xxxxxxxxxxxx> Reported-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> --- drivers/dax/dax.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dax/dax.c b/drivers/dax/dax.c index ed758b74ddf0..0f8008dd0b0c 100644 --- a/drivers/dax/dax.c +++ b/drivers/dax/dax.c @@ -724,6 +724,7 @@ struct dax_dev *devm_create_dax_dev(struct dax_region *dax_region, dev_set_name(dev, "dax%d.%d", dax_region->id, dax_dev->id); rc = device_add(dev); if (rc) { + cdev_del(&dax_dev->cdev); put_device(dev); return ERR_PTR(rc); }