[PATCH 1/2] nvmet: fix oops in nvmet_execute_passthru_cmd()
Sagi Grimberg
sagi at grimberg.me
Thu Aug 6 15:54:14 EDT 2020
>> This adds an extra label. Also I don't understand why we should change
>> the order of nvmet_req_complete() and blk_put_request() in
>> nvmet_passthru_execute_cmd() and make is inconsistent with in
>> nvmet_passthru_req_done() ?
>
> I don't know why an extra label is an issue and I don't think the
> inconsistency is important. This follows the common pattern where things
> are cleaned up in the reverse order of their creation and labels are
> used to control which cleanups happen based on how far it got:
>
> rc = setup1();
> if (rc)
> return -1;
>
> rc = setup2();
> if (rc)
> goto out_teardown1;
>
>
> rc = setup3();
> if (rc)
> goto teardown2;
>
> return;
>
> out_teradown2:
> teardown2();
> out_teardown1:
> teardown1();
> return -1;
>
Can we also add a label to remove the if (ns) condition?
More information about the Linux-nvme
mailing list