Re: [PATCH 2/2] crypto: caam: Use common error handling code in four functions

From: Horia Geantă
Date: Thu Feb 15 2018 - 03:03:47 EST


On 2/14/2018 8:32 PM, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 14 Feb 2018 19:14:49 +0100
>
> Add jump targets so that a bit of exception handling can be better reused
> at the end of these functions.
>
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
[snip]
> @@ -1096,6 +1092,7 @@ static int ahash_digest(struct ahash_request *req)
> if (!ret) {
> ret = -EINPROGRESS;
> } else {
> +unmap_hash:
> ahash_unmap(jrdev, edesc, req, digestsize);
> kfree(edesc);
> }
>
I understand jumps are a necessary evil for dealing with shortcomings of C,
however please avoid jumping in an if/else branch.

Code could be rewritten as:

if (!ret)
return -EINPROGRESS;

unmap_hash:
ahash_unmap(jrdev, edesc, req, digestsize);
kfree(edesc);

Thanks,
Horia