Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
On Wed, 23 Jan 2019 07:54:22 +0100 Greg Kroah-Hartman 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 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" > > > Cc: Anil S Keshavamurthy > > > Cc: "David S. Miller" > > > Cc: Masami Hiramatsu > > > Signed-off-by: Greg Kroah-Hartman > > > --- > > > 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 > > thanks, > > greg k-h -- Masami Hiramatsu
Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
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 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" > > Cc: Anil S Keshavamurthy > > Cc: "David S. Miller" > > Cc: Masami Hiramatsu > > Signed-off-by: Greg Kroah-Hartman > > --- > > 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
Re: [PATCH] kprobes: no need to check return value of debugfs_create functions
On Tue, 22 Jan 2019 16:21:46 +0100 Greg Kroah-Hartman 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" > Cc: Anil S Keshavamurthy > Cc: "David S. Miller" > Cc: Masami Hiramatsu > Signed-off-by: Greg Kroah-Hartman > --- > 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
[PATCH] kprobes: no need to check return value of debugfs_create functions
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" Cc: Anil S Keshavamurthy Cc: "David S. Miller" Cc: Masami Hiramatsu Signed-off-by: Greg Kroah-Hartman --- 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