nvdimm/blk: avoid calling del_gendisk() on early failures
authorLuis Chamberlain <mcgrof@kernel.org>
Wed, 3 Nov 2021 23:04:26 +0000 (16:04 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 4 Nov 2021 11:48:49 +0000 (05:48 -0600)
commitb7421afcec0c77ab58633587ddc29d53e6eb95af
tree03fef5af24a9a73af40d63e3bea78feeb0dffbec
parent16be7974ff5d0a5cd9f345571c3eac1c3f6ba6de
nvdimm/blk: avoid calling del_gendisk() on early failures

If nd_integrity_init() fails we'd get del_gendisk() called,
but that's not correct as we should only call that if we're
done with device_add_disk(). Fix this by providing unwinding
prior to the devm call being registered and moving the devm
registration to the very end.

This should fix calling del_gendisk() if nd_integrity_init()
fails. I only spotted this issue through code inspection. It
does not fix any real world bug.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Link: https://lore.kernel.org/r/20211103230437.1639990-4-mcgrof@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvdimm/blk.c