On Fri, 2014-12-05 at 00:03 -0800, Tristan Lelong wrote:
This patch fix a sparse warning in lustre sources
warning: incorrect type in argument 1 (different address spaces)
expected void [noderef] <asn:1>*to
got char *<noident>
[]
diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c
b/drivers/staging/lustre/lustre/fld/lproc_fld.c
[]
@@ -87,13 +87,21 @@ fld_proc_hash_seq_show(struct seq_file *m, void
*unused)
}
static ssize_t
-fld_proc_hash_seq_write(struct file *file, const char *buffer,
- size_t count, loff_t *off)
+fld_proc_hash_seq_write(struct file *file,
+ const char __user *buffer,
+ size_t count, loff_t *off)
{
struct lu_client_fld *fld;
struct lu_fld_hash *hash = NULL;
+ char name[80];
int i;
+ if (count > 80)
+ return -ENAMETOOLONG;
+
+ if (copy_from_user(name, buffer, count) != 0)
+ return -EFAULT;
+
fld = ((struct seq_file *)file->private_data)->private;
LASSERT(fld != NULL);
Why 80? Is there no #define for this length?