From: Julia Lawall <julia at diku.dk> Use kstrdup when the goal of an allocation is copy a string into the allocated region. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression from,to; expression flag,E1,E2; statement S; @@ - to = kmalloc(strlen(from) + 1,flag); + to = kstrdup(from, flag); ... when != \(from = E1 \| to = E1 \) if (to==NULL || ...) S ... when != \(from = E2 \| to = E2 \) - strcpy(to, from); // </smpl> Signed-off-by: Julia Lawall <julia at diku.dk> --- fs/ocfs2/dlm/dlmdomain.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff -u -p a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c --- a/fs/ocfs2/dlm/dlmdomain.c +++ b/fs/ocfs2/dlm/dlmdomain.c @@ -1523,7 +1523,7 @@ static struct dlm_ctxt *dlm_alloc_ctxt(c goto leave; } - dlm->name = kmalloc(strlen(domain) + 1, GFP_KERNEL); + dlm->name = kstrdup(domain, GFP_KERNEL); if (dlm->name == NULL) { mlog_errno(-ENOMEM); kfree(dlm); @@ -1557,7 +1557,6 @@ static struct dlm_ctxt *dlm_alloc_ctxt(c for (i = 0; i < DLM_HASH_BUCKETS; i++) INIT_HLIST_HEAD(dlm_master_hash(dlm, i)); - strcpy(dlm->name, domain); dlm->key = key; dlm->node_num = o2nm_this_node();
On Fri, May 14, 2010 at 09:30:48PM +0200, Julia Lawall wrote:> From: Julia Lawall <julia at diku.dk> > > Use kstrdup when the goal of an allocation is copy a string into the > allocated region.Seems fine. I'll send it along. Joel -- "In the arms of the angel, fly away from here, From this dark, cold hotel room and the endlessness that you fear. You are pulled from the wreckage of your silent reverie. In the arms of the angel, may you find some comfort here." Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127
On Fri, May 14, 2010 at 09:30:48PM +0200, Julia Lawall wrote:> From: Julia Lawall <julia at diku.dk> > > Use kstrdup when the goal of an allocation is copy a string into the > allocated region. > > The semantic patch that makes this change is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @@ > expression from,to; > expression flag,E1,E2; > statement S; > @@ > > - to = kmalloc(strlen(from) + 1,flag); > + to = kstrdup(from, flag); > ... when != \(from = E1 \| to = E1 \) > if (to==NULL || ...) S > ... when != \(from = E2 \| to = E2 \) > - strcpy(to, from); > // </smpl> > > Signed-off-by: Julia Lawall <julia at diku.dk>This patch is now in the merge-window branch of ocfs2.git. Joel -- "If you are ever in doubt as to whether or not to kiss a pretty girl, give her the benefit of the doubt" -Thomas Carlyle Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127