mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-02 23:50:33 -05:00
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: Anh Le <anhlq2110@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0017af422b
commit
5a13503ecd
@@ -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,
|
||||
|
||||
@@ -227,8 +227,9 @@ 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 +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,8 +470,9 @@ 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 +506,9 @@ 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 +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,8 +559,9 @@ 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 +573,9 @@ 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 +587,9 @@ 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 +604,9 @@ 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 +635,9 @@ 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 +680,9 @@ 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,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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user