Messages in this thread | | | Date | Tue, 04 Sep 2012 10:44:12 +1000 | From | Ryan Mallon <> | Subject | Re: [PATCH 3/3] proc: use kzalloc instead of kmalloc and memset |
| |
On 04/09/12 00:14, yan wrote: > Signed-off-by: yan <clouds.yan@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.
~Ryan
| |