From: Immad Mir <[email protected]>
The debugfs_create_dir returns ERR_PTR incase of an error and the
correct way of checking it by using the IS_ERR inline function, and
not the simple null comparision. This patch fixes this.
Suggested-By: Ivan Orlov <[email protected]>
Signed-off-by: Immad Mir <[email protected]>
---
arch/powerpc/platforms/powernv/opal-xscom.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal-xscom.c b/arch/powerpc/platforms/powernv/opal-xscom.c
index 6b4eed2ef..262cd6fac 100644
--- a/arch/powerpc/platforms/powernv/opal-xscom.c
+++ b/arch/powerpc/platforms/powernv/opal-xscom.c
@@ -168,7 +168,7 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
ent->path.size = strlen((char *)ent->path.data);
dir = debugfs_create_dir(ent->name, root);
- if (!dir) {
+ if (IS_ERR(dir)) {
kfree(ent->path.data);
kfree(ent);
return -1;
@@ -190,7 +190,7 @@ static int scom_debug_init(void)
return 0;
root = debugfs_create_dir("scom", arch_debugfs_dir);
- if (!root)
+ if (IS_ERR(root))
return -1;
rc = 0;
--
2.40.0
On Sun, May 28, 2023 at 01:16:44PM +0530, [email protected] wrote:
> From: Immad Mir <[email protected]>
>
> The debugfs_create_dir returns ERR_PTR incase of an error and the
> correct way of checking it by using the IS_ERR inline function, and
> not the simple null comparision. This patch fixes this.
>
> Suggested-By: Ivan Orlov <[email protected]>
> Signed-off-by: Immad Mir <[email protected]>
> ---
> arch/powerpc/platforms/powernv/opal-xscom.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/platforms/powernv/opal-xscom.c b/arch/powerpc/platforms/powernv/opal-xscom.c
> index 6b4eed2ef..262cd6fac 100644
> --- a/arch/powerpc/platforms/powernv/opal-xscom.c
> +++ b/arch/powerpc/platforms/powernv/opal-xscom.c
> @@ -168,7 +168,7 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
> ent->path.size = strlen((char *)ent->path.data);
>
> dir = debugfs_create_dir(ent->name, root);
> - if (!dir) {
> + if (IS_ERR(dir)) {
> kfree(ent->path.data);
> kfree(ent);
> return -1;
Why is this driver caring if debugfs is working or not at all? It
should just ignore the error and keep moving forward.
And -1 is not a valid error number :(
Have you hit this error on this driver?
thanks,
greg k-h
Greg KH <[email protected]> writes:
> On Sun, May 28, 2023 at 01:16:44PM +0530, [email protected] wrote:
>> From: Immad Mir <[email protected]>
>>
>> The debugfs_create_dir returns ERR_PTR incase of an error and the
>> correct way of checking it by using the IS_ERR inline function, and
>> not the simple null comparision. This patch fixes this.
>>
>> Suggested-By: Ivan Orlov <[email protected]>
>> Signed-off-by: Immad Mir <[email protected]>
>> ---
>> arch/powerpc/platforms/powernv/opal-xscom.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/powernv/opal-xscom.c b/arch/powerpc/platforms/powernv/opal-xscom.c
>> index 6b4eed2ef..262cd6fac 100644
>> --- a/arch/powerpc/platforms/powernv/opal-xscom.c
>> +++ b/arch/powerpc/platforms/powernv/opal-xscom.c
>> @@ -168,7 +168,7 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
>> ent->path.size = strlen((char *)ent->path.data);
>>
>> dir = debugfs_create_dir(ent->name, root);
>> - if (!dir) {
>> + if (IS_ERR(dir)) {
>> kfree(ent->path.data);
>> kfree(ent);
>> return -1;
>
> Why is this driver caring if debugfs is working or not at all? It
> should just ignore the error and keep moving forward.
It's creating directories and then creating files in those directories.
So I think it makes sense that it checks that the directory was created
successfully. It doesn't check whether the files were created.
> And -1 is not a valid error number :(
It's EPERM :) - but yeah probably not really the right error in this
case.
Still I think this patch is an improvement so I'll plan to merge it.
cheers