2023-07-14 05:05:48

by liubin001

[permalink] [raw]
Subject: [PATCH] floppy:ERROR: missing put_device; call of_find_device_by_node on line 589, but without a corresponding object release within this function. Add the put_device function before return to release memory

Signed-off-by: LiuBin <[email protected]>
---
arch/sparc/include/asm/floppy_64.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/sparc/include/asm/floppy_64.h
b/arch/sparc/include/asm/floppy_64.h
index 070c8c1f5c8f..c4c51f494f25 100644
--- a/arch/sparc/include/asm/floppy_64.h
+++ b/arch/sparc/include/asm/floppy_64.h
@@ -588,6 +588,7 @@ static unsigned long __init sun_floppy_init(void)

op = of_find_device_by_node(dp);
if (!op)
+ put_device(op);
return 0;

state_prop = of_get_property(op->dev.of_node, "status", NULL);


2023-07-14 06:39:12

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] floppy:ERROR: missing put_device; call of_find_device_by_node on line 589, but without a corresponding object release within this function. Add the put_device function before return to release memory

Hi LiuBin

On Fri, Jul 14, 2023 at 12:56:29PM +0800, [email protected] wrote:
> Signed-off-by: LiuBin <[email protected]>
> ---
> arch/sparc/include/asm/floppy_64.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/sparc/include/asm/floppy_64.h
> b/arch/sparc/include/asm/floppy_64.h
> index 070c8c1f5c8f..c4c51f494f25 100644
> --- a/arch/sparc/include/asm/floppy_64.h
> +++ b/arch/sparc/include/asm/floppy_64.h
> @@ -588,6 +588,7 @@ static unsigned long __init sun_floppy_init(void)
>
> op = of_find_device_by_node(dp);
> if (!op)
> + put_device(op);
> return 0;

This does not look right as the code will always return 0 now,
independent on the if test. You missed a set of curly braces.

Sam

>
> state_prop = of_get_property(op->dev.of_node, "status", NULL);

2023-07-14 07:18:59

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] floppy:ERROR: missing put_device; call of_find_device_by_node on line 589, but without a corresponding object release within this function. Add the put_device function before return to release memory

Hi LiuBin.

On Fri, Jul 14, 2023 at 08:06:55AM +0200, Sam Ravnborg wrote:
> Hi LiuBin
>
> On Fri, Jul 14, 2023 at 12:56:29PM +0800, [email protected] wrote:
> > Signed-off-by: LiuBin <[email protected]>
> > ---
> > arch/sparc/include/asm/floppy_64.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/sparc/include/asm/floppy_64.h
> > b/arch/sparc/include/asm/floppy_64.h
> > index 070c8c1f5c8f..c4c51f494f25 100644
> > --- a/arch/sparc/include/asm/floppy_64.h
> > +++ b/arch/sparc/include/asm/floppy_64.h
> > @@ -588,6 +588,7 @@ static unsigned long __init sun_floppy_init(void)
> >
> > op = of_find_device_by_node(dp);
> > if (!op)
> > + put_device(op);
> > return 0;
>
> This does not look right as the code will always return 0 now,
> independent on the if test. You missed a set of curly braces.

Two more notes.
Please put the description of the fix in the body of the mail.
Right now it is a very long subject - and we try to keep subject shorter
than ~70 chars.

> > Signed-off-by: LiuBin <[email protected]>
You are expected to sign-off the patch with you name and not a nickname.
If LiuBin is indeed you name then sorry and ignore this comment.

I look forward to the updated patch.

Sam