Commit 5a13503e authored by Anh Le's avatar Anh Le Committed by Greg Kroah-Hartman
Browse files

Staging: lustre: llite: fix some sparse warnings about userspace pointer



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

Signed-off-by: default avatarAnh Le <anhlq2110@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0017af42
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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,
+33 −23
Original line number Diff line number Diff line
@@ -227,7 +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,
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;
@@ -269,7 +270,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 +314,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,7 +470,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,
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;
@@ -504,7 +506,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,
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;
@@ -533,8 +536,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,7 +559,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,
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;
@@ -569,7 +573,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,
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;
@@ -582,7 +587,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,
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;
@@ -598,7 +604,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,
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;
@@ -628,7 +635,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,
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;
@@ -672,7 +680,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,
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;
@@ -787,7 +796,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,
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;
+2 −2
Original line number Diff line number Diff line
@@ -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);