mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04: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:
parent
0017af422b
commit
5a13503ecd
3 changed files with 38 additions and 28 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue