Re: [PATCH 2/3] xen-scsiback: One function call less in scsiback_device_action() after error detection

From: SF Markus Elfring
Date: Tue Jul 19 2016 - 10:58:09 EST


>> @@ -606,7 +606,7 @@ static void scsiback_device_action(struct vscsibk_pend *pending_req,
>> tmr = kzalloc(sizeof(struct scsiback_tmr), GFP_KERNEL);
>> if (!tmr) {
>> target_put_sess_cmd(se_cmd);
>> - goto err;
>> + goto do_resp;
>> }
>
> Hmm, I'm not convinced this is an improvement.
>
> I'd rather rename the new error label to "put_cmd" and get rid of the
> braces in above if statement:
>
> - if (!tmr) {
> - target_put_sess_cmd(se_cmd);
> - goto err;
> - }
> + if (!tmr)
> + goto put_cmd;
>
> and then in the error path:
>
> -err:
> +put_cmd:
> + target_put_sess_cmd(se_cmd);

I am unsure on the relevance of this function on such a source position.
Would it make sense to move it further down at the end?


> +free_tmr:
> kfree(tmr);

How do you think about to skip this function call after a memory
allocation failure?

Regards,
Markus