• Chaitanya Kulkarni's avatar
    nvme-loop: don't put ctrl on nvme_init_ctrl error · 1401fcc4
    Chaitanya Kulkarni authored
    The function nvme_init_ctrl() gets the ctrl reference & when it fails it
    does put the ctrl reference in the error unwind code.
    
    When creating loop ctrl in nvme_loop_create_ctrl() if nvme_init_ctrl()
    returns non zero (i.e. error) value it jumps to the "out_put_ctrl" label
    which calls nvme_put_ctrl(), that will lead to douple ctrl put in error
    unwind path.
    
    Update nvme_loop_create_ctrl() such that this patch removes the
    "out_put_ctrl" label, add a new "out" label after nvme_put_ctrl() in
    error unwind path and jump to newly added label when nvme_init_ctrl()
    call retuns an error.
    Signed-off-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    1401fcc4
loop.c 18.2 KB