Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ab76d72 authored by Al Viro's avatar Al Viro Committed by Linus Torvalds
Browse files

[PATCH] frv: sysctl __user annotations



Add __user annotations to FRV-specific sysctl stuff.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9e4d11f8
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -137,7 +137,7 @@ unsigned long sleep_phys_sp(void *sp)
#define CTL_PM_P0 4
#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];
	unsigned long ret;
@@ -159,7 +159,7 @@ static int user_atoi(char *ubuf, size_t len)
 * Send us to sleep.
 */
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;

@@ -215,7 +215,7 @@ static int try_set_cmode(int new_cmode)


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;

@@ -227,9 +227,9 @@ static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
	return try_set_cmode(new_cmode)?:*lenp;
}

static int cmode_sysctl(ctl_table *table, int *name, int nlen,
			void *oldval, size_t *oldlenp,
			void *newval, size_t newlen, void **context)
static int cmode_sysctl(ctl_table *table, int __user *name, int nlen,
			void __user *oldval, size_t __user *oldlenp,
			void __user *newval, size_t newlen, void **context)
{
	if (oldval && oldlenp) {
		size_t oldlen;
@@ -240,7 +240,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
		if (oldlen != sizeof(int))
			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))
			return -EFAULT;
	}
@@ -250,7 +250,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
		if (newlen != sizeof(int))
			return -EINVAL;

		if (get_user(new_cmode, (int *)newval))
		if (get_user(new_cmode, (int __user *)newval))
			return -EFAULT;

		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,
		      void *buffer, size_t *lenp, loff_t *fpos)
		      void __user *buffer, size_t *lenp, loff_t *fpos)
{
	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;
}

static int p0_sysctl(ctl_table *table, int *name, int nlen,
		     void *oldval, size_t *oldlenp,
		     void *newval, size_t newlen, void **context)
static int p0_sysctl(ctl_table *table, int __user *name, int nlen,
		     void __user *oldval, size_t __user *oldlenp,
		     void __user *newval, size_t newlen, void **context)
{
	if (oldval && oldlenp) {
		size_t oldlen;
@@ -343,7 +343,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
		if (oldlen != sizeof(int))
			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))
			return -EFAULT;
	}
@@ -353,7 +353,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
		if (newlen != sizeof(int))
			return -EINVAL;

		if (get_user(new_p0, (int *)newval))
		if (get_user(new_p0, (int __user *)newval))
			return -EFAULT;

		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,
		      void *buffer, size_t *lenp, loff_t *fpos)
		      void __user *buffer, size_t *lenp, loff_t *fpos)
{
	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;
}

static int cm_sysctl(ctl_table *table, int *name, int nlen,
		     void *oldval, size_t *oldlenp,
		     void *newval, size_t newlen, void **context)
static int cm_sysctl(ctl_table *table, int __user *name, int nlen,
		     void __user *oldval, size_t __user *oldlenp,
		     void __user *newval, size_t newlen, void **context)
{
	if (oldval && oldlenp) {
		size_t oldlen;
@@ -387,7 +387,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
		if (oldlen != sizeof(int))
			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))
			return -EFAULT;
	}
@@ -397,7 +397,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
		if (newlen != sizeof(int))
			return -EINVAL;

		if (get_user(new_cm, (int *)newval))
		if (get_user(new_cm, (int __user *)newval))
			return -EFAULT;

		return try_set_cm(new_cm)?:1;
+2 −2
Original line number Diff line number Diff line
@@ -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
 */
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;
	char buff[8];
@@ -123,7 +123,7 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
 */
#ifdef CONFIG_MMU
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;
	char buff[16], *p;