__user annotations (booke_wdt.c)
PATCH 1/1 __user annotations (booke_wdt.c)
Signed-off-by Al Viro <[email protected]>
---
drivers/char/watchdog/booke_wdt.c | 13 +++++++------ 1 files changed, 7 insertions(+), 6 deletions(-)
da97b05bea02426009ecab8d63a1ec469fb61fc6
drivers/char/watchdog/booke_wdt.c +7 -6
@@ -72,7 +72,7 @@ static __inline__ void booke_wdt_ping(vo/* * booke_wdt_write: */ -static ssize_t booke_wdt_write (struct file *file,const char *buf, +static ssize_t booke_wdt_write (struct file *file,const char __user *buf,size_t count,loff_t *ppos) {booke_wdt_ping ();
@@ -92,14 +92,15 @@ static int booke_wdt_ioctl (struct inode unsigned int cmd, unsigned long arg) {u32 tmp =0 ; +u32 __user *p = (u32 __user *)arg;switch (cmd) {case WDIOC_GETSUPPORT : -if (copy_to_user ((struct watchdog_info *) arg, &ident, +if (copy_to_user ((struct watchdog_info __user *) arg, &ident,sizeof (struct watchdog_info )))return -EFAULT ;case WDIOC_GETSTATUS : -return put_user (ident.options, (u32 *) arg); +return put_user (ident.options, p);case WDIOC_GETBOOTSTATUS :/* XXX: something is clearing TSR */ tmp =mfspr (SPRN_TSR ) &TSR_WRS (3 );
@@ -109,14 +110,14 @@ static int booke_wdt_ioctl (struct inodebooke_wdt_ping ();return 0 ;case WDIOC_SETTIMEOUT : -if (get_user (booke_wdt_period, (u32 *) arg)) +if (get_user (booke_wdt_period, p))return -EFAULT ;mtspr (SPRN_TCR , (mfspr (SPRN_TCR )&~WDTP (0 ))|WDTP (booke_wdt_period));return 0 ;case WDIOC_GETTIMEOUT : -return put_user (booke_wdt_period, (u32 *) arg); +return put_user (booke_wdt_period, p);case WDIOC_SETOPTIONS : -if (get_user (tmp, (u32 *) arg)) +if (get_user (tmp, p))return -EINVAL ;if (tmp ==WDIOS_ENABLECARD ) {booke_wdt_ping ();
Signature · 1 line
0.99.9.GIT