summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Lelong <tristan@lelong.xyz>2015-01-17 23:44:49 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-01-25 19:59:14 +0800
commit41dff7ac1a7c97f5532931154bfdf505d7ce1631 (patch)
tree9b10dfaf34376abea30d93165283743ccedbf7d1
parent9ef6a8331219b0242ac423cf9629d4f6377d4993 (diff)
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 <tristan@lelong.xyz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/lustre/lustre/fld/lproc_fld.c13
1 files 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 74b4db9bc836..9b26bb543f0a 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;
}