Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1333328 > unrolled thread

[PATCH] goldfish: Return correct error code

Started byAmitoj Kaur Chawla <amitoj1606@gmail.com>
First post2016-02-13 15:50 +0100
Last post2016-02-14 05:30 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] goldfish: Return correct error code Amitoj Kaur Chawla <amitoj1606@gmail.com> - 2016-02-13 15:50 +0100
    Re: [PATCH] goldfish: Return correct error code Julia Lawall <julia.lawall@lip6.fr> - 2016-02-13 20:10 +0100
      Re: [PATCH] goldfish: Return correct error code Amitoj Kaur Chawla <amitoj1606@gmail.com> - 2016-02-14 05:30 +0100

#1333328 — [PATCH] goldfish: Return correct error code

FromAmitoj Kaur Chawla <amitoj1606@gmail.com>
Date2016-02-13 15:50 +0100
Subject[PATCH] goldfish: Return correct error code
Message-ID<r1JGi-66L-7@gated-at.bofh.it>
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 <amitoj1606@gmail.com>
---
 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);
-- 
1.9.1

[toc] | [next] | [standalone]


#1333352

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-02-13 20:10 +0100
Message-ID<r1NJT-xX-5@gated-at.bofh.it>
In reply to#1333328

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 <amitoj1606@gmail.com>
> ---
>  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

[toc] | [prev] | [next] | [standalone]


#1333415

FromAmitoj Kaur Chawla <amitoj1606@gmail.com>
Date2016-02-14 05:30 +0100
Message-ID<r1WtP-6d7-3@gated-at.bofh.it>
In reply to#1333352
On Sun, Feb 14, 2016 at 12:32 AM, Julia Lawall <julia.lawall@lip6.fr> wrote:
> 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
Okay. Will redo and send v2.

 Amitoj

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web