On Fri, Aug 27, 2021 at 11:55:14AM -0700, Luis Chamberlain wrote: > > I think the add_disk should just return r. If you look at the > > callers they eventualy end up in dm_table_destroy, which does > > this cleanup. > > I don't see it. What part of dm_table_destroy() does this? Sorry, dm_destroy, not dm_table_destroy. For dm_early_create it's trivial as that calls both dm_table_destroy and dm_destroy in the error path. The normal table_load case is a separate ioctl, but if that fails userspace needs to call the DM_DEV_REMOVE_CMD to cleanup the state - similar to any other failure.