Subject: Re: [PATCH] powerpc: fix debugfs_create_dir error checking

From: Michael Ellerman <[email-masked]>
Date: Tue, 30 May 2023 20:47:21 +1000

Greg KH <[email-masked]> writes:
> On Sun, May 28, 2023 at 01:16:44PM +0530, [email-masked] wrote:
>> From: Immad Mir <[email-masked]>
>> 
>> 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-masked]>
>> Signed-off-by: Immad Mir <[email-masked]>
>> ---
>>  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