Re: [PATCH 1/3] proc: return -ENOMEM when inode allocation failed

From: yan yan
Date: Tue Sep 04 2012 - 05:22:11 EST


2012/9/4 Cong Wang <xiyou.wangcong@xxxxxxxxx>:
> On 09/03/2012 10:14 PM, yan wrote:
>>
>> Signed-off-by: yan <clouds.yan@xxxxxxxxx>
>
>
> Please provide a changelog to explain why we need this patch.

I think the title is self explained.


>> ---
>> fs/proc/generic.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/proc/generic.c b/fs/proc/generic.c
>> index b3647fe..9e8f631 100644
>> --- a/fs/proc/generic.c
>> +++ b/fs/proc/generic.c
>> @@ -427,7 +427,7 @@ struct dentry *proc_lookup_de(struct proc_dir_entry
>> *de, struct inode *dir,
>> if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
>> pde_get(de);
>> spin_unlock(&proc_subdir_lock);
>> - error = -EINVAL;
>> + error = -ENOMEM;
>
>
> Why the !memcmp() case is related with ENOMEM ??

We are presetting 'error' here. The following proc_get_inode() will try
to get an inode, either from inode cache or allocate a new one (and fill it).

If we get a NULL inode, that means allocation failed. That's how
ENOMEM involved.

Thank you for your reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/