staging: lustre: Use kasprintf.
PATCH 1/1 staging: lustre: Use kasprintf.
This patch uses kasprintf as it combines kmalloc and sprintf, and takes care of the size calculation itself.
The semantic patch that makes this change is as follows:
// <smpl>
@@
expression a,flag;
expression list args;
statement S;
@@
a =
- \(kmalloc\|kzalloc\)(...,flag)
+ kasprintf(flag,args)
<... when != a
if (a == NULL || ...) S
...>
- sprintf(a,args);
Signed-off-by Navya Sri Nizamkari <[email protected]>
--- drivers/staging/lustre/lustre/llite/llite_lib.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/staging/lustre/lustre/llite/llite_lib.c +2 -4
@@ -978,19 +978,17 @@ int ll_fill_super(struct super_block *sb, struct vfsmount *mnt)CDEBUG (D_CONFIG ,"Found profile %s: mdc=%s osc=%s\n" , profilenm, lprof->lp_md, lprof->lp_dt); - dt =kzalloc (strlen (lprof->lp_dt) + instlen +2 ,GFP_NOFS ); + dt =kasprintf (strlen (lprof->lp_dt) + instlen +2 ,GFP_NOFS );if (!dt) { err = -ENOMEM ; goto out_free; } -sprintf (dt,"%s-%p" , lprof->lp_dt, cfg->cfg_instance); - md =kzalloc (strlen (lprof->lp_md) + instlen +2 ,GFP_NOFS ); + md =kasprintf (strlen (lprof->lp_md) + instlen +2 ,GFP_NOFS );if (!md) { err = -ENOMEM ; goto out_free; } -sprintf (md,"%s-%p" , lprof->lp_md, cfg->cfg_instance);/* connections, registrations, sb setup */ err =client_common_fill_super (sb, md, dt, mnt);
Signature · 1 line
1.9.1
Hi,
This produces a build error. Sorry, I'll send a newer version of this patch after fixing it.
Thanks,
Navya