linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kprobes: no need to check return value of debugfs_create functions
@ 2019-01-22 15:21 Greg Kroah-Hartman
  2019-01-23  2:15 ` Masami Hiramatsu
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2019-01-22 15:21 UTC (permalink / raw)
  To: linux-kernel
  Cc: Greg Kroah-Hartman, Naveen N. Rao, Anil S Keshavamurthy,
	David S. Miller, Masami Hiramatsu

When calling debugfs functions, there is no need to ever check the
return value.  The function can work or not, but the code logic should
never do something different based on this.

Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 kernel/kprobes.c | 25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)

diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index f4ddfdd2d07e..7287e7de2350 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -2566,33 +2566,20 @@ static const struct file_operations fops_kp = {
 
 static int __init debugfs_kprobe_init(void)
 {
-	struct dentry *dir, *file;
+	struct dentry *dir;
 	unsigned int value = 1;
 
 	dir = debugfs_create_dir("kprobes", NULL);
-	if (!dir)
-		return -ENOMEM;
 
-	file = debugfs_create_file("list", 0400, dir, NULL,
-				&debugfs_kprobes_operations);
-	if (!file)
-		goto error;
+	debugfs_create_file("list", 0400, dir, NULL,
+			    &debugfs_kprobes_operations);
 
-	file = debugfs_create_file("enabled", 0600, dir,
-					&value, &fops_kp);
-	if (!file)
-		goto error;
+	debugfs_create_file("enabled", 0600, dir, &value, &fops_kp);
 
-	file = debugfs_create_file("blacklist", 0400, dir, NULL,
-				&debugfs_kprobe_blacklist_ops);
-	if (!file)
-		goto error;
+	debugfs_create_file("blacklist", 0400, dir, NULL,
+			    &debugfs_kprobe_blacklist_ops);
 
 	return 0;
-
-error:
-	debugfs_remove(dir);
-	return -ENOMEM;
 }
 
 late_initcall(debugfs_kprobe_init);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
  2019-01-22 15:21 [PATCH] kprobes: no need to check return value of debugfs_create functions Greg Kroah-Hartman
@ 2019-01-23  2:15 ` Masami Hiramatsu
  2019-01-23  6:54   ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: Masami Hiramatsu @ 2019-01-23  2:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, Naveen N. Rao, Anil S Keshavamurthy,
	David S. Miller, Masami Hiramatsu

On Tue, 22 Jan 2019 16:21:46 +0100
Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:

> When calling debugfs functions, there is no need to ever check the
> return value.  The function can work or not, but the code logic should
> never do something different based on this.
> 
> Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
> Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  kernel/kprobes.c | 25 ++++++-------------------
>  1 file changed, 6 insertions(+), 19 deletions(-)
> 
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index f4ddfdd2d07e..7287e7de2350 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -2566,33 +2566,20 @@ static const struct file_operations fops_kp = {
>  
>  static int __init debugfs_kprobe_init(void)
>  {
> -	struct dentry *dir, *file;
> +	struct dentry *dir;
>  	unsigned int value = 1;
>  
>  	dir = debugfs_create_dir("kprobes", NULL);
> -	if (!dir)
> -		return -ENOMEM;

Here, I think IS_ERR(dir) is OK for debugfs_create_file(),
but dir == NULL has different meaning. I think we'd better
keep this check. (I see, -ENOMEM will be no good...)

Thank you,

>  
> -	file = debugfs_create_file("list", 0400, dir, NULL,
> -				&debugfs_kprobes_operations);
> -	if (!file)
> -		goto error;
> +	debugfs_create_file("list", 0400, dir, NULL,
> +			    &debugfs_kprobes_operations);
>  
> -	file = debugfs_create_file("enabled", 0600, dir,
> -					&value, &fops_kp);
> -	if (!file)
> -		goto error;
> +	debugfs_create_file("enabled", 0600, dir, &value, &fops_kp);
>  
> -	file = debugfs_create_file("blacklist", 0400, dir, NULL,
> -				&debugfs_kprobe_blacklist_ops);
> -	if (!file)
> -		goto error;
> +	debugfs_create_file("blacklist", 0400, dir, NULL,
> +			    &debugfs_kprobe_blacklist_ops);
>  
>  	return 0;
> -
> -error:
> -	debugfs_remove(dir);
> -	return -ENOMEM;
>  }
>  
>  late_initcall(debugfs_kprobe_init);
> -- 
> 2.20.1
> 


-- 
Masami Hiramatsu <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
  2019-01-23  2:15 ` Masami Hiramatsu
@ 2019-01-23  6:54   ` Greg Kroah-Hartman
  2019-01-23  8:10     ` Masami Hiramatsu
  0 siblings, 1 reply; 4+ messages in thread
From: Greg Kroah-Hartman @ 2019-01-23  6:54 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: linux-kernel, Naveen N. Rao, Anil S Keshavamurthy, David S. Miller

On Wed, Jan 23, 2019 at 11:15:16AM +0900, Masami Hiramatsu wrote:
> On Tue, 22 Jan 2019 16:21:46 +0100
> Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> 
> > When calling debugfs functions, there is no need to ever check the
> > return value.  The function can work or not, but the code logic should
> > never do something different based on this.
> > 
> > Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
> > Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> >  kernel/kprobes.c | 25 ++++++-------------------
> >  1 file changed, 6 insertions(+), 19 deletions(-)
> > 
> > diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> > index f4ddfdd2d07e..7287e7de2350 100644
> > --- a/kernel/kprobes.c
> > +++ b/kernel/kprobes.c
> > @@ -2566,33 +2566,20 @@ static const struct file_operations fops_kp = {
> >  
> >  static int __init debugfs_kprobe_init(void)
> >  {
> > -	struct dentry *dir, *file;
> > +	struct dentry *dir;
> >  	unsigned int value = 1;
> >  
> >  	dir = debugfs_create_dir("kprobes", NULL);
> > -	if (!dir)
> > -		return -ENOMEM;
> 
> Here, I think IS_ERR(dir) is OK for debugfs_create_file(),
> but dir == NULL has different meaning. I think we'd better
> keep this check. (I see, -ENOMEM will be no good...)

dir == NULL means the system is out of memory.  Which I'll change and
just make it return an error, so it is fine to ignore this value.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
  2019-01-23  6:54   ` Greg Kroah-Hartman
@ 2019-01-23  8:10     ` Masami Hiramatsu
  0 siblings, 0 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2019-01-23  8:10 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, Naveen N. Rao, Anil S Keshavamurthy, David S. Miller

On Wed, 23 Jan 2019 07:54:22 +0100
Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:

> On Wed, Jan 23, 2019 at 11:15:16AM +0900, Masami Hiramatsu wrote:
> > On Tue, 22 Jan 2019 16:21:46 +0100
> > Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> > 
> > > When calling debugfs functions, there is no need to ever check the
> > > return value.  The function can work or not, but the code logic should
> > > never do something different based on this.
> > > 
> > > Cc: "Naveen N. Rao" <naveen.n.rao@linux.ibm.com>
> > > Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
> > > Cc: "David S. Miller" <davem@davemloft.net>
> > > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > ---
> > >  kernel/kprobes.c | 25 ++++++-------------------
> > >  1 file changed, 6 insertions(+), 19 deletions(-)
> > > 
> > > diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> > > index f4ddfdd2d07e..7287e7de2350 100644
> > > --- a/kernel/kprobes.c
> > > +++ b/kernel/kprobes.c
> > > @@ -2566,33 +2566,20 @@ static const struct file_operations fops_kp = {
> > >  
> > >  static int __init debugfs_kprobe_init(void)
> > >  {
> > > -	struct dentry *dir, *file;
> > > +	struct dentry *dir;
> > >  	unsigned int value = 1;
> > >  
> > >  	dir = debugfs_create_dir("kprobes", NULL);
> > > -	if (!dir)
> > > -		return -ENOMEM;
> > 
> > Here, I think IS_ERR(dir) is OK for debugfs_create_file(),
> > but dir == NULL has different meaning. I think we'd better
> > keep this check. (I see, -ENOMEM will be no good...)
> 
> dir == NULL means the system is out of memory.  Which I'll change and
> just make it return an error, so it is fine to ignore this value.

Got it! Thanks!

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>




> 
> thanks,
> 
> greg k-h


-- 
Masami Hiramatsu <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-01-23  8:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-22 15:21 [PATCH] kprobes: no need to check return value of debugfs_create functions Greg Kroah-Hartman
2019-01-23  2:15 ` Masami Hiramatsu
2019-01-23  6:54   ` Greg Kroah-Hartman
2019-01-23  8:10     ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).