From 41dff7ac1a7c97f5532931154bfdf505d7ce1631 Mon Sep 17 00:00:00 2001 From: Tristan Lelong Date: Sat, 17 Jan 2015 23:44:49 -0800 Subject: [PATCH] staging: lustre: remove kmalloc from fld_proc_hash_seq_write This patch simplifies the fld_proc_hash_seq_write function by removing the dynamic memory allocation. The longest fh_name used so far in lustre is 4 characters. We use a 8 bytes variable to be on the safe side. Signed-off-by: Tristan Lelong Signed-off-by: Greg Kroah-Hartman --- drivers/staging/lustre/lustre/fld/lproc_fld.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c b/drivers/staging/lustre/lustre/fld/lproc_fld.c index 74b4db9..9b26bb5 100644 --- a/drivers/staging/lustre/lustre/fld/lproc_fld.c +++ b/drivers/staging/lustre/lustre/fld/lproc_fld.c @@ -93,17 +93,13 @@ fld_proc_hash_seq_write(struct file *file, { struct lu_client_fld *fld; struct lu_fld_hash *hash = NULL; - char *name; + char fh_name[8]; int i; - if (count > 80) + if (count > sizeof(fh_name)) return -ENAMETOOLONG; - name = kmalloc(count, GFP_KERNEL); - if (!name) - return -ENOMEM; - - if (copy_from_user(name, buffer, count) != 0) + if (copy_from_user(fh_name, buffer, count) != 0) return -EFAULT; fld = ((struct seq_file *)file->private_data)->private; @@ -113,7 +109,7 @@ fld_proc_hash_seq_write(struct file *file, if (count != strlen(fld_hash[i].fh_name)) continue; - if (!strncmp(fld_hash[i].fh_name, name, count)) { + if (!strncmp(fld_hash[i].fh_name, fh_name, count)) { hash = &fld_hash[i]; break; } @@ -128,7 +124,6 @@ fld_proc_hash_seq_write(struct file *file, fld->lcf_name, hash->fh_name); } - kfree(name); return count; } -- 2.7.4