On Sat, 13 Feb 2016, Amitoj Kaur Chawla wrote:

> The return value of devm_kzalloc on failure of allocation of memory
> should be -ENOMEM and not -1.
> 
> Found using Coccinelle. A simplified version of the semantic patch
> used is:
> 
> //<smpl>
> @@
> expression *e;
> @@
> 
> e = devm_kzalloc(...);
> if (e == NULL) {
> ...
> return
> - -1
> + -ENOMEM
> ;
> }
> //</smpl>
> 
> The single call site does not perform any checks on the return value,
> hence no change is required at the call site.
> 
> Signed-off-by: Amitoj Kaur Chawla <[email protected]>
> ---
>  drivers/platform/goldfish/goldfish_pipe.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/goldfish/goldfish_pipe.c 
> b/drivers/platform/goldfish/goldfish_pipe.c
> index e7a29e2..f15e3c9 100644
> --- a/drivers/platform/goldfish/goldfish_pipe.c
> +++ b/drivers/platform/goldfish/goldfish_pipe.c
> @@ -222,7 +222,7 @@ static int setup_access_params_addr(struct 
> platform_device *pdev,
>  
>       aps = devm_kzalloc(&pdev->dev, sizeof(struct access_params), 
> GFP_KERNEL);
>       if (!aps)
> -             return -1;
> +             return -ENOMEM;
>  
>       /* FIXME */
>       paddr = __pa(aps);

There is another return -1 at the end of the function that should be 
addressed.  Maybe -EINVAL would be an appropriate value, if you don't find 
evidence of anything else.

julia

Reply via email to