[PATCH] frv: sysctl __user annotations
Add __user annotations to FRV-specific sysctl stuff. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
9e4d11f863
commit
7ab76d722a
|
@ -137,7 +137,7 @@ unsigned long sleep_phys_sp(void *sp)
|
||||||
#define CTL_PM_P0 4
|
#define CTL_PM_P0 4
|
||||||
#define CTL_PM_CM 5
|
#define CTL_PM_CM 5
|
||||||
|
|
||||||
static int user_atoi(char *ubuf, size_t len)
|
static int user_atoi(char __user *ubuf, size_t len)
|
||||||
{
|
{
|
||||||
char buf[16];
|
char buf[16];
|
||||||
unsigned long ret;
|
unsigned long ret;
|
||||||
|
@ -159,7 +159,7 @@ static int user_atoi(char *ubuf, size_t len)
|
||||||
* Send us to sleep.
|
* Send us to sleep.
|
||||||
*/
|
*/
|
||||||
static int sysctl_pm_do_suspend(ctl_table *ctl, int write, struct file *filp,
|
static int sysctl_pm_do_suspend(ctl_table *ctl, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *fpos)
|
void __user *buffer, size_t *lenp, loff_t *fpos)
|
||||||
{
|
{
|
||||||
int retval, mode;
|
int retval, mode;
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@ static int try_set_cmode(int new_cmode)
|
||||||
|
|
||||||
|
|
||||||
static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
|
static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *fpos)
|
void __user *buffer, size_t *lenp, loff_t *fpos)
|
||||||
{
|
{
|
||||||
int new_cmode;
|
int new_cmode;
|
||||||
|
|
||||||
|
@ -227,9 +227,9 @@ static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
return try_set_cmode(new_cmode)?:*lenp;
|
return try_set_cmode(new_cmode)?:*lenp;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cmode_sysctl(ctl_table *table, int *name, int nlen,
|
static int cmode_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||||
void *oldval, size_t *oldlenp,
|
void __user *oldval, size_t __user *oldlenp,
|
||||||
void *newval, size_t newlen, void **context)
|
void __user *newval, size_t newlen, void **context)
|
||||||
{
|
{
|
||||||
if (oldval && oldlenp) {
|
if (oldval && oldlenp) {
|
||||||
size_t oldlen;
|
size_t oldlen;
|
||||||
|
@ -240,7 +240,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (oldlen != sizeof(int))
|
if (oldlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (put_user(clock_cmode_current, (unsigned int *)oldval) ||
|
if (put_user(clock_cmode_current, (unsigned __user *)oldval) ||
|
||||||
put_user(sizeof(int), oldlenp))
|
put_user(sizeof(int), oldlenp))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
@ -250,7 +250,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (newlen != sizeof(int))
|
if (newlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (get_user(new_cmode, (int *)newval))
|
if (get_user(new_cmode, (int __user *)newval))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
return try_set_cmode(new_cmode)?:1;
|
return try_set_cmode(new_cmode)?:1;
|
||||||
|
@ -318,7 +318,7 @@ static int try_set_cm(int new_cm)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int p0_procctl(ctl_table *ctl, int write, struct file *filp,
|
static int p0_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *fpos)
|
void __user *buffer, size_t *lenp, loff_t *fpos)
|
||||||
{
|
{
|
||||||
int new_p0;
|
int new_p0;
|
||||||
|
|
||||||
|
@ -330,9 +330,9 @@ static int p0_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
return try_set_p0(new_p0)?:*lenp;
|
return try_set_p0(new_p0)?:*lenp;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int p0_sysctl(ctl_table *table, int *name, int nlen,
|
static int p0_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||||
void *oldval, size_t *oldlenp,
|
void __user *oldval, size_t __user *oldlenp,
|
||||||
void *newval, size_t newlen, void **context)
|
void __user *newval, size_t newlen, void **context)
|
||||||
{
|
{
|
||||||
if (oldval && oldlenp) {
|
if (oldval && oldlenp) {
|
||||||
size_t oldlen;
|
size_t oldlen;
|
||||||
|
@ -343,7 +343,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (oldlen != sizeof(int))
|
if (oldlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (put_user(clock_p0_current, (unsigned int *)oldval) ||
|
if (put_user(clock_p0_current, (unsigned __user *)oldval) ||
|
||||||
put_user(sizeof(int), oldlenp))
|
put_user(sizeof(int), oldlenp))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
@ -353,7 +353,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (newlen != sizeof(int))
|
if (newlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (get_user(new_p0, (int *)newval))
|
if (get_user(new_p0, (int __user *)newval))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
return try_set_p0(new_p0)?:1;
|
return try_set_p0(new_p0)?:1;
|
||||||
|
@ -362,7 +362,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cm_procctl(ctl_table *ctl, int write, struct file *filp,
|
static int cm_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *fpos)
|
void __user *buffer, size_t *lenp, loff_t *fpos)
|
||||||
{
|
{
|
||||||
int new_cm;
|
int new_cm;
|
||||||
|
|
||||||
|
@ -374,9 +374,9 @@ static int cm_procctl(ctl_table *ctl, int write, struct file *filp,
|
||||||
return try_set_cm(new_cm)?:*lenp;
|
return try_set_cm(new_cm)?:*lenp;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cm_sysctl(ctl_table *table, int *name, int nlen,
|
static int cm_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||||
void *oldval, size_t *oldlenp,
|
void __user *oldval, size_t __user *oldlenp,
|
||||||
void *newval, size_t newlen, void **context)
|
void __user *newval, size_t newlen, void **context)
|
||||||
{
|
{
|
||||||
if (oldval && oldlenp) {
|
if (oldval && oldlenp) {
|
||||||
size_t oldlen;
|
size_t oldlen;
|
||||||
|
@ -387,7 +387,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (oldlen != sizeof(int))
|
if (oldlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (put_user(clock_cm_current, (unsigned int *)oldval) ||
|
if (put_user(clock_cm_current, (unsigned __user *)oldval) ||
|
||||||
put_user(sizeof(int), oldlenp))
|
put_user(sizeof(int), oldlenp))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
@ -397,7 +397,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
|
||||||
if (newlen != sizeof(int))
|
if (newlen != sizeof(int))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (get_user(new_cm, (int *)newval))
|
if (get_user(new_cm, (int __user *)newval))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
return try_set_cm(new_cm)?:1;
|
return try_set_cm(new_cm)?:1;
|
||||||
|
|
|
@ -49,7 +49,7 @@ static void frv_change_dcache_mode(unsigned long newmode)
|
||||||
* handle requests to dynamically switch the write caching mode delivered by /proc
|
* handle requests to dynamically switch the write caching mode delivered by /proc
|
||||||
*/
|
*/
|
||||||
static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
|
static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *ppos)
|
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||||
{
|
{
|
||||||
unsigned long hsr0;
|
unsigned long hsr0;
|
||||||
char buff[8];
|
char buff[8];
|
||||||
|
@ -123,7 +123,7 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_MMU
|
#ifdef CONFIG_MMU
|
||||||
static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp,
|
static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp,
|
||||||
void *buffer, size_t *lenp, loff_t *ppos)
|
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
char buff[16], *p;
|
char buff[16], *p;
|
||||||
|
|
Loading…
Reference in New Issue