diff options
author | Nikanth Karthikesan <knikanth@suse.de> | 2009-09-24 02:57:09 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-24 18:21:03 +0400 |
commit | bb521c5de070b86a1e049e2dbf62328f717ff1e8 (patch) | |
tree | e2a4416f35e84873f75c0e86ebae5552cf4ae2b2 /drivers | |
parent | 0b8c78f2bfa6ebed0f47794b5995a0d4b3fe456d (diff) | |
download | linux-bb521c5de070b86a1e049e2dbf62328f717ff1e8.tar.xz |
/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.c | 2 |
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; |