Add __user macro to the function declarations that accept userspace pointers as
arguments.

Signed-off-by: Anh Le <anhlq2...@gmail.com>
---
 .../staging/lustre/lustre/include/lprocfs_status.h |  6 +--
 drivers/staging/lustre/lustre/llite/lproc_llite.c  | 48 +++++++++++-----------
 .../lustre/lustre/obdclass/lprocfs_status.c        |  4 +-
 3 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h 
b/drivers/staging/lustre/lustre/include/lprocfs_status.h
index ccb6cd4..42fdb64 100644
--- a/drivers/staging/lustre/lustre/include/lprocfs_status.h
+++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h
@@ -374,8 +374,8 @@ static inline void s2dhms(struct dhms *ts, time_t secs)
 #define JOBSTATS_PROCNAME_UID          "procname_uid"
 #define JOBSTATS_NODELOCAL             "nodelocal"
 
-extern int lprocfs_write_frac_helper(const char *buffer, unsigned long count,
-                                    int *val, int mult);
+extern int lprocfs_write_frac_helper(const char __user *buffer,
+               unsigned long count, int *val, int mult);
 extern int lprocfs_read_frac_helper(char *buffer, unsigned long count,
                                    long val, int mult);
 #if defined (CONFIG_PROC_FS)
@@ -647,7 +647,7 @@ extern int lprocfs_rd_kbytesavail(struct seq_file *m, void 
*data);
 extern int lprocfs_rd_filestotal(struct seq_file *m, void *data);
 extern int lprocfs_rd_filesfree(struct seq_file *m, void *data);
 
-extern int lprocfs_write_helper(const char *buffer, unsigned long count,
+extern int lprocfs_write_helper(const char __user *buffer, unsigned long count,
                                int *val);
 extern int lprocfs_seq_read_frac_helper(struct seq_file *m, long val, int 
mult);
 extern int lprocfs_write_u64_helper(const char *buffer, unsigned long count,
diff --git a/drivers/staging/lustre/lustre/llite/lproc_llite.c 
b/drivers/staging/lustre/lustre/llite/lproc_llite.c
index 3b3df9f..2a97df1 100644
--- a/drivers/staging/lustre/lustre/llite/lproc_llite.c
+++ b/drivers/staging/lustre/lustre/llite/lproc_llite.c
@@ -227,8 +227,8 @@ static int ll_max_readahead_mb_seq_show(struct seq_file *m, 
void *v)
        return lprocfs_seq_read_frac_helper(m, pages_number, mult);
 }
 
-static ssize_t ll_max_readahead_mb_seq_write(struct file *file, const char 
*buffer,
-                                        size_t count, loff_t *off)
+static ssize_t ll_max_readahead_mb_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -269,7 +269,7 @@ static int ll_max_readahead_per_file_mb_seq_show(struct 
seq_file *m, void *v)
 }
 
 static ssize_t ll_max_readahead_per_file_mb_seq_write(struct file *file,
-                                                 const char *buffer,
+                                                 const char __user *buffer,
                                                  size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
@@ -313,7 +313,7 @@ static int ll_max_read_ahead_whole_mb_seq_show(struct 
seq_file *m, void *unused)
 }
 
 static ssize_t ll_max_read_ahead_whole_mb_seq_write(struct file *file,
-                                               const char *buffer,
+                                               const char __user *buffer,
                                                size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
@@ -469,8 +469,8 @@ static int ll_checksum_seq_show(struct seq_file *m, void *v)
        return seq_printf(m, "%u\n", (sbi->ll_flags & LL_SBI_CHECKSUM) ? 1 : 0);
 }
 
-static ssize_t ll_checksum_seq_write(struct file *file, const char *buffer,
-                                size_t count, loff_t *off)
+static ssize_t ll_checksum_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -504,8 +504,8 @@ static int ll_max_rw_chunk_seq_show(struct seq_file *m, 
void *v)
        return seq_printf(m, "%lu\n", ll_s2sbi(sb)->ll_max_rw_chunk);
 }
 
-static ssize_t ll_max_rw_chunk_seq_write(struct file *file, const char *buffer,
-                                    size_t count, loff_t *off)
+static ssize_t ll_max_rw_chunk_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        int rc, val;
@@ -533,8 +533,8 @@ static int ll_rd_track_id(struct seq_file *m, enum 
stats_track_type type)
        }
 }
 
-static int ll_wr_track_id(const char *buffer, unsigned long count, void *data,
-                         enum stats_track_type type)
+static int ll_wr_track_id(const char __user *buffer, unsigned long count,
+                void *data, enum stats_track_type type)
 {
        struct super_block *sb = data;
        int rc, pid;
@@ -556,8 +556,8 @@ static int ll_track_pid_seq_show(struct seq_file *m, void 
*v)
        return ll_rd_track_id(m, STATS_TRACK_PID);
 }
 
-static ssize_t ll_track_pid_seq_write(struct file *file, const char *buffer,
-                                 size_t count, loff_t *off)
+static ssize_t ll_track_pid_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct seq_file *seq = file->private_data;
        return ll_wr_track_id(buffer, count, seq->private, STATS_TRACK_PID);
@@ -569,8 +569,8 @@ static int ll_track_ppid_seq_show(struct seq_file *m, void 
*v)
        return ll_rd_track_id(m, STATS_TRACK_PPID);
 }
 
-static ssize_t ll_track_ppid_seq_write(struct file *file, const char *buffer,
-                                  size_t count, loff_t *off)
+static ssize_t ll_track_ppid_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct seq_file *seq = file->private_data;
        return ll_wr_track_id(buffer, count, seq->private, STATS_TRACK_PPID);
@@ -582,8 +582,8 @@ static int ll_track_gid_seq_show(struct seq_file *m, void 
*v)
        return ll_rd_track_id(m, STATS_TRACK_GID);
 }
 
-static ssize_t ll_track_gid_seq_write(struct file *file, const char *buffer,
-                                 size_t count, loff_t *off)
+static ssize_t ll_track_gid_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct seq_file *seq = file->private_data;
        return ll_wr_track_id(buffer, count, seq->private, STATS_TRACK_GID);
@@ -598,8 +598,8 @@ static int ll_statahead_max_seq_show(struct seq_file *m, 
void *v)
        return seq_printf(m, "%u\n", sbi->ll_sa_max);
 }
 
-static ssize_t ll_statahead_max_seq_write(struct file *file, const char 
*buffer,
-                                     size_t count, loff_t *off)
+static ssize_t ll_statahead_max_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -628,8 +628,8 @@ static int ll_statahead_agl_seq_show(struct seq_file *m, 
void *v)
                        sbi->ll_flags & LL_SBI_AGL_ENABLED ? 1 : 0);
 }
 
-static ssize_t ll_statahead_agl_seq_write(struct file *file, const char 
*buffer,
-                                     size_t count, loff_t *off)
+static ssize_t ll_statahead_agl_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -672,8 +672,8 @@ static int ll_lazystatfs_seq_show(struct seq_file *m, void 
*v)
                        (sbi->ll_flags & LL_SBI_LAZYSTATFS) ? 1 : 0);
 }
 
-static ssize_t ll_lazystatfs_seq_write(struct file *file, const char *buffer,
-                                  size_t count, loff_t *off)
+static ssize_t ll_lazystatfs_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct super_block *sb = ((struct seq_file 
*)file->private_data)->private;
        struct ll_sb_info *sbi = ll_s2sbi(sb);
@@ -787,8 +787,8 @@ static int ll_xattr_cache_seq_show(struct seq_file *m, void 
*v)
        return rc;
 }
 
-static ssize_t ll_xattr_cache_seq_write(struct file *file, const char *buffer,
-                                       size_t count, loff_t *off)
+static ssize_t ll_xattr_cache_seq_write(struct file *file,
+                const char __user *buffer, size_t count, loff_t *off)
 {
        struct seq_file *seq = file->private_data;
        struct super_block *sb = seq->private;
diff --git a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c 
b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
index 61e04af..686bc18 100644
--- a/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
+++ b/drivers/staging/lustre/lustre/obdclass/lprocfs_status.c
@@ -177,7 +177,7 @@ int lprocfs_read_frac_helper(char *buffer, unsigned long 
count, long val,
 }
 EXPORT_SYMBOL(lprocfs_read_frac_helper);
 
-int lprocfs_write_frac_helper(const char *buffer, unsigned long count,
+int lprocfs_write_frac_helper(const char __user *buffer, unsigned long count,
                              int *val, int mult)
 {
        char kernbuf[20], *end, *pbuf;
@@ -1819,7 +1819,7 @@ __s64 lprocfs_read_helper(struct lprocfs_counter *lc,
 }
 EXPORT_SYMBOL(lprocfs_read_helper);
 
-int lprocfs_write_helper(const char *buffer, unsigned long count,
+int lprocfs_write_helper(const char __user *buffer, unsigned long count,
                         int *val)
 {
        return lprocfs_write_frac_helper(buffer, count, val, 1);
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to