Re: [PATCH 1/3] debugfs: pass NULL as the last parameter of debugfs_print_regs32()

2012-10-26 Thread yan yan
2012/10/27 Greg KH :
> On Sat, Oct 27, 2012 at 01:55:42AM +0800, Yan Hong wrote:
>> Pass NULL instead of empty string to debugfs_print_regs32() when
>> prefix is not used, according to the intention of the code.
>
> Is this solving a problem?  Is it wrong as-is?  Is it causing an issue
> today?
>
> thanks,
>
> greg k-h

Hmmm ... this function is rarely used, and maybe over-designed. The
'prefix' feature can be actually removed -- nobody uses it.

As to the empty  string, it looks like a typo to me.

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


Re: [PATCH 1/3] debugfs: pass NULL as the last parameter of debugfs_print_regs32()

2012-10-26 Thread yan yan
2012/10/27 Greg KH gre...@linuxfoundation.org:
 On Sat, Oct 27, 2012 at 01:55:42AM +0800, Yan Hong wrote:
 Pass NULL instead of empty string to debugfs_print_regs32() when
 prefix is not used, according to the intention of the code.

 Is this solving a problem?  Is it wrong as-is?  Is it causing an issue
 today?

 thanks,

 greg k-h

Hmmm ... this function is rarely used, and maybe over-designed. The
'prefix' feature can be actually removed -- nobody uses it.

As to the empty  string, it looks like a typo to me.

Thanks
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-09-05 Thread yan yan
2012/9/5 Cong Wang :
>>> 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.
>
>
> Then the following patch is probably better than yours:
>
>
> diff --git a/fs/proc/generic.c b/fs/proc/generic.c
> index b3647fe..6b22913 100644
> --- a/fs/proc/generic.c
> +++ b/fs/proc/generic.c
> @@ -427,12 +427,16 @@ 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(_subdir_lock);
> -   error = -EINVAL;
> inode = proc_get_inode(dir->i_sb, de);
> +   if (!inode) {
> +   error = -ENOMEM;
> +   goto out_put;
> +   }
> goto out_unlock;
> }
> }
> spin_unlock(_subdir_lock);
> +
>  out_unlock:
>
> if (inode) {
> @@ -440,6 +444,8 @@ out_unlock:
> d_add(dentry, inode);
> return NULL;
> }
> +out_put:
> +
> if (de)
> pde_put(de);
> return ERR_PTR(error);
>
>

Change so many lines to save a assignment to 'error' ...

That's a stye issue. I prefer a simple change, though your
change seems OK to me.

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


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

2012-09-05 Thread yan yan
2012/9/5 Cong Wang xiyou.wangc...@gmail.com:
 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.


 Then the following patch is probably better than yours:


 diff --git a/fs/proc/generic.c b/fs/proc/generic.c
 index b3647fe..6b22913 100644
 --- a/fs/proc/generic.c
 +++ b/fs/proc/generic.c
 @@ -427,12 +427,16 @@ 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;
 inode = proc_get_inode(dir-i_sb, de);
 +   if (!inode) {
 +   error = -ENOMEM;
 +   goto out_put;
 +   }
 goto out_unlock;
 }
 }
 spin_unlock(proc_subdir_lock);
 +
  out_unlock:

 if (inode) {
 @@ -440,6 +444,8 @@ out_unlock:
 d_add(dentry, inode);
 return NULL;
 }
 +out_put:
 +
 if (de)
 pde_put(de);
 return ERR_PTR(error);



Change so many lines to save a assignment to 'error' ...

That's a stye issue. I prefer a simple change, though your
change seems OK to me.

Thanks
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-09-04 Thread yan yan
2012/9/4 Cong Wang :
> On 09/03/2012 10:14 PM, yan wrote:
>>
>> Signed-off-by: yan 
>
>
> 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(_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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] proc: use kzalloc instead of kmalloc and memset

2012-09-04 Thread yan yan
2012/9/4 Ryan Mallon 
>
> On 04/09/12 00:14, yan wrote:
> > Signed-off-by: yan 
> > ---
> >  fs/proc/generic.c |3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/fs/proc/generic.c b/fs/proc/generic.c
> > index 9e8f631..38de015 100644
> > --- a/fs/proc/generic.c
> > +++ b/fs/proc/generic.c
> > @@ -616,10 +616,9 @@ static struct proc_dir_entry *__proc_create(struct
> > proc_dir_entry **parent,
> >
> >   len = strlen(fn);
> >
> > - ent = kmalloc(sizeof(struct proc_dir_entry) + len + 1,
> > GFP_KERNEL);
> > + ent = kzalloc(sizeof(struct proc_dir_entry) + len + 1,
> > GFP_KERNEL);
> >   if (!ent) goto out;
> >
> > - memset(ent, 0, sizeof(struct proc_dir_entry));
> >   memcpy(ent->name, fn, len + 1);
> >   ent->namelen = len;
> >   ent->mode = mode;
>
> Note that this change results in slightly different behaviour. Before
> your change only sizeof(struct proc_dir_entry) is zero'ed by memset, and
> then the name is filled in (the len + 1 part). After your change the
> structure and the name field are both zeroed, so the name field is being
> written to twice. The cost is probably negligible though.

Oh, I didn't notice that actually. Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 3/3] proc: use kzalloc instead of kmalloc and memset

2012-09-04 Thread yan yan
2012/9/4 Ryan Mallon rmal...@gmail.com

 On 04/09/12 00:14, yan wrote:
  Signed-off-by: yan clouds@gmail.com
  ---
   fs/proc/generic.c |3 +--
   1 file changed, 1 insertion(+), 2 deletions(-)
 
  diff --git a/fs/proc/generic.c b/fs/proc/generic.c
  index 9e8f631..38de015 100644
  --- a/fs/proc/generic.c
  +++ b/fs/proc/generic.c
  @@ -616,10 +616,9 @@ static struct proc_dir_entry *__proc_create(struct
  proc_dir_entry **parent,
 
len = strlen(fn);
 
  - ent = kmalloc(sizeof(struct proc_dir_entry) + len + 1,
  GFP_KERNEL);
  + ent = kzalloc(sizeof(struct proc_dir_entry) + len + 1,
  GFP_KERNEL);
if (!ent) goto out;
 
  - memset(ent, 0, sizeof(struct proc_dir_entry));
memcpy(ent-name, fn, len + 1);
ent-namelen = len;
ent-mode = mode;

 Note that this change results in slightly different behaviour. Before
 your change only sizeof(struct proc_dir_entry) is zero'ed by memset, and
 then the name is filled in (the len + 1 part). After your change the
 structure and the name field are both zeroed, so the name field is being
 written to twice. The cost is probably negligible though.

Oh, I didn't notice that actually. Thank you.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-09-04 Thread yan yan
2012/9/4 Cong Wang xiyou.wangc...@gmail.com:
 On 09/03/2012 10:14 PM, yan wrote:

 Signed-off-by: yan clouds@gmail.com


 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/