aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/ublk_cmd.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2022-07-22 18:38:16 +0800
committerJens Axboe <axboe@kernel.dk>2022-07-22 09:22:53 -0600
commitfa9482e0b23d9abe7034becff59daeaba09146ff (patch)
tree4e7689f3499b0d4daf0fc25815854a777de8b66a /include/uapi/linux/ublk_cmd.h
parentublk_drv: fix lockdep warning (diff)
downloadlinux-dev-fa9482e0b23d9abe7034becff59daeaba09146ff.tar.xz
linux-dev-fa9482e0b23d9abe7034becff59daeaba09146ff.zip
ublk_drv: fix error handling of ublk_add_dev
__ublk_destroy_dev() is called for handling error in ublk_add_dev(), but either tagset isn't allocated or mutex isn't initialized. So fix the issue by letting replacing ublk_add_dev with a ublk_add_tag_set function that is much more limited in scope and instead unwind every single step directly in ublk_ctrl_add_dev. To allow for this refactor the device freeing so that there is a helper for freeing the device number instead of coupling that with freeing the mutex and the memory. Note that this now copies the dev_info to userspace before adding the character device. This not only simplifies the erro handling in ublk_ctrl_add_dev, but also means that the character device can only be seen by userspace if the device addition succeeded. Based on a patch from Ming Lei. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20220722103817.631258-2-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi/linux/ublk_cmd.h')
0 files changed, 0 insertions, 0 deletions