summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorNikanth Karthikesan <knikanth@suse.de>2009-09-24 00:57:09 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-24 16:21:03 +0200
commitbb521c5de070b86a1e049e2dbf62328f717ff1e8 (patch)
treee2a4416f35e84873f75c0e86ebae5552cf4ae2b2 /drivers
parentflat: use IS_ERR_VALUE() helper macro (diff)
downloadlinux-bb521c5de070b86a1e049e2dbf62328f717ff1e8.tar.xz
linux-bb521c5de070b86a1e049e2dbf62328f717ff1e8.zip
/dev/zero: avoid repeated access_ok() checks
In read_zero, we check for access_ok() once for the count bytes. It is unnecessarily checked again in clear_user. Use __clear_user, which does not check for access_ok(). Signed-off-by: Nikanth Karthikesan <knikanth@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/char/mem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 0aede1d6a9ea..6c8b65d069e5 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -690,7 +690,7 @@ static ssize_t read_zero(struct file * file, char __user * buf,
if (chunk > PAGE_SIZE)
chunk = PAGE_SIZE; /* Just for latency reasons */
- unwritten = clear_user(buf, chunk);
+ unwritten = __clear_user(buf, chunk);
written += chunk - unwritten;
if (unwritten)
break;