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: "Ed L. Cashin" <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/block/aoe/aoeblk.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index e2c6aae2d636..b602646bfa04 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -207,14 +207,7 @@ aoedisk_add_debugfs(struct aoedev *d)
else
p++;
BUG_ON(*p == '\0');
- entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
- &aoe_debugfs_fops);
- if (IS_ERR_OR_NULL(entry)) {
- pr_info("aoe: cannot create debugfs file for %s\n",
- d->gd->disk_name);
- return;
- }
- BUG_ON(d->debugfs);
+ debugfs_create_file(p, 0444, aoe_debugfs_dir, d, &aoe_debugfs_fops);
d->debugfs = entry;
}
void
@@ -472,10 +465,6 @@ aoeblk_init(void)
if (buf_pool_cache == NULL)
return -ENOMEM;
aoe_debugfs_dir = debugfs_create_dir("aoe", NULL);
- if (IS_ERR_OR_NULL(aoe_debugfs_dir)) {
- pr_info("aoe: cannot create debugfs directory\n");
- aoe_debugfs_dir = NULL;
- }
return 0;
}
--
2.20.1
On Tue, Jan 22, 2019 at 04:21:04PM +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: "Ed L. Cashin" <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> drivers/block/aoe/aoeblk.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
> index e2c6aae2d636..b602646bfa04 100644
> --- a/drivers/block/aoe/aoeblk.c
> +++ b/drivers/block/aoe/aoeblk.c
> @@ -207,14 +207,7 @@ aoedisk_add_debugfs(struct aoedev *d)
> else
> p++;
> BUG_ON(*p == '\0');
> - entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
> - &aoe_debugfs_fops);
> - if (IS_ERR_OR_NULL(entry)) {
> - pr_info("aoe: cannot create debugfs file for %s\n",
> - d->gd->disk_name);
> - return;
> - }
> - BUG_ON(d->debugfs);
> + debugfs_create_file(p, 0444, aoe_debugfs_dir, d, &aoe_debugfs_fops);
> d->debugfs = entry;
Now entry is uninitialized here when we assign it to d->debugfs.
> }
> void
> @@ -472,10 +465,6 @@ aoeblk_init(void)
> if (buf_pool_cache == NULL)
> return -ENOMEM;
> aoe_debugfs_dir = debugfs_create_dir("aoe", NULL);
> - if (IS_ERR_OR_NULL(aoe_debugfs_dir)) {
> - pr_info("aoe: cannot create debugfs directory\n");
> - aoe_debugfs_dir = NULL;
> - }
> return 0;
> }
>
> --
> 2.20.1
>
On Tue, Jan 22, 2019 at 6:29 PM Omar Sandoval <[email protected]> wrote:
...
> Now entry is uninitialized here when we assign it to d->debugfs.
Thanks for noticing that.
On Tue, Jan 22, 2019 at 03:29:33PM -0800, Omar Sandoval wrote:
> On Tue, Jan 22, 2019 at 04:21:04PM +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: "Ed L. Cashin" <[email protected]>
> > Cc: Jens Axboe <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
> > ---
> > drivers/block/aoe/aoeblk.c | 13 +------------
> > 1 file changed, 1 insertion(+), 12 deletions(-)
> >
> > diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
> > index e2c6aae2d636..b602646bfa04 100644
> > --- a/drivers/block/aoe/aoeblk.c
> > +++ b/drivers/block/aoe/aoeblk.c
> > @@ -207,14 +207,7 @@ aoedisk_add_debugfs(struct aoedev *d)
> > else
> > p++;
> > BUG_ON(*p == '\0');
> > - entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
> > - &aoe_debugfs_fops);
> > - if (IS_ERR_OR_NULL(entry)) {
> > - pr_info("aoe: cannot create debugfs file for %s\n",
> > - d->gd->disk_name);
> > - return;
> > - }
> > - BUG_ON(d->debugfs);
> > + debugfs_create_file(p, 0444, aoe_debugfs_dir, d, &aoe_debugfs_fops);
> > d->debugfs = entry;
>
> Now entry is uninitialized here when we assign it to d->debugfs.
Ah, good catch, I'll go fix this up and post a v2, sorry about that.
greg k-h
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: "Ed L. Cashin" <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: [email protected]
Cc: Omar Sandoval <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
v2: fix uninitialized entry issue found by Omar Sandoval
drivers/block/aoe/aoeblk.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index e2c6aae2d636..bd19f8af950b 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -196,7 +196,6 @@ static const struct file_operations aoe_debugfs_fops = {
static void
aoedisk_add_debugfs(struct aoedev *d)
{
- struct dentry *entry;
char *p;
if (aoe_debugfs_dir == NULL)
@@ -207,15 +206,8 @@ aoedisk_add_debugfs(struct aoedev *d)
else
p++;
BUG_ON(*p == '\0');
- entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
- &aoe_debugfs_fops);
- if (IS_ERR_OR_NULL(entry)) {
- pr_info("aoe: cannot create debugfs file for %s\n",
- d->gd->disk_name);
- return;
- }
- BUG_ON(d->debugfs);
- d->debugfs = entry;
+ d->debugfs = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
+ &aoe_debugfs_fops);
}
void
aoedisk_rm_debugfs(struct aoedev *d)
@@ -472,10 +464,6 @@ aoeblk_init(void)
if (buf_pool_cache == NULL)
return -ENOMEM;
aoe_debugfs_dir = debugfs_create_dir("aoe", NULL);
- if (IS_ERR_OR_NULL(aoe_debugfs_dir)) {
- pr_info("aoe: cannot create debugfs directory\n");
- aoe_debugfs_dir = NULL;
- }
return 0;
}
--
2.21.0
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: "Ed L. Cashin" <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: [email protected]
Cc: Omar Sandoval <[email protected]>
Cc: Justin Sanders <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
v3: Justin is now the maintainer of this driver, properly send it to
him.
v2: fix uninitialized entry issue found by Omar Sandoval
drivers/block/aoe/aoeblk.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index e2c6aae2d636..bd19f8af950b 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -196,7 +196,6 @@ static const struct file_operations aoe_debugfs_fops = {
static void
aoedisk_add_debugfs(struct aoedev *d)
{
- struct dentry *entry;
char *p;
if (aoe_debugfs_dir == NULL)
@@ -207,15 +206,8 @@ aoedisk_add_debugfs(struct aoedev *d)
else
p++;
BUG_ON(*p == '\0');
- entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
- &aoe_debugfs_fops);
- if (IS_ERR_OR_NULL(entry)) {
- pr_info("aoe: cannot create debugfs file for %s\n",
- d->gd->disk_name);
- return;
- }
- BUG_ON(d->debugfs);
- d->debugfs = entry;
+ d->debugfs = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
+ &aoe_debugfs_fops);
}
void
aoedisk_rm_debugfs(struct aoedev *d)
@@ -472,10 +464,6 @@ aoeblk_init(void)
if (buf_pool_cache == NULL)
return -ENOMEM;
aoe_debugfs_dir = debugfs_create_dir("aoe", NULL);
- if (IS_ERR_OR_NULL(aoe_debugfs_dir)) {
- pr_info("aoe: cannot create debugfs directory\n");
- aoe_debugfs_dir = NULL;
- }
return 0;
}
--
2.21.0
Hi,
> On Jun 3, 2019, at 3:47 PM, Greg Kroah-Hartman <[email protected]> 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: "Ed L. Cashin" <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: [email protected]
> Cc: Omar Sandoval <[email protected]>
> Cc: Justin Sanders <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> v3: Justin is now the maintainer of this driver, properly send it to
> him.
> v2: fix uninitialized entry issue found by Omar Sandoval
>
> drivers/block/aoe/aoeblk.c | 16 ++--------------
> 1 file changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
> index e2c6aae2d636..bd19f8af950b 100644
> --- a/drivers/block/aoe/aoeblk.c
> +++ b/drivers/block/aoe/aoeblk.c
> @@ -196,7 +196,6 @@ static const struct file_operations aoe_debugfs_fops = {
> static void
> aoedisk_add_debugfs(struct aoedev *d)
> {
> - struct dentry *entry;
> char *p;
>
> if (aoe_debugfs_dir == NULL)
> @@ -207,15 +206,8 @@ aoedisk_add_debugfs(struct aoedev *d)
> else
> p++;
> BUG_ON(*p == '\0');
> - entry = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
> - &aoe_debugfs_fops);
> - if (IS_ERR_OR_NULL(entry)) {
> - pr_info("aoe: cannot create debugfs file for %s\n",
> - d->gd->disk_name);
> - return;
> - }
> - BUG_ON(d->debugfs);
> - d->debugfs = entry;
> + d->debugfs = debugfs_create_file(p, 0444, aoe_debugfs_dir, d,
> + &aoe_debugfs_fops);
> }
> void
> aoedisk_rm_debugfs(struct aoedev *d)
> @@ -472,10 +464,6 @@ aoeblk_init(void)
> if (buf_pool_cache == NULL)
> return -ENOMEM;
> aoe_debugfs_dir = debugfs_create_dir("aoe", NULL);
> - if (IS_ERR_OR_NULL(aoe_debugfs_dir)) {
> - pr_info("aoe: cannot create debugfs directory\n");
> - aoe_debugfs_dir = NULL;
> - }
> return 0;
> }
>
> --
> 2.21.0
>
>
This looks good to me, thanks.
Acked-by: Justin Sanders <[email protected]>
Cheers,
Justin
On 6/3/19 1:47 PM, 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.
Applied, thanks.
--
Jens Axboe