summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2009-12-15 02:57:57 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-15 17:53:11 +0100
commit4ea2f43f28e30050bc99fe3134b6b679f3bf5b22 (patch)
tree1b0d50312a85a642b66d971406e9d8b0894250e4 /drivers/char
parentmmap: don't return ENOMEM when mapcount is temporarily exceeded in munmap() (diff)
downloadlinux-4ea2f43f28e30050bc99fe3134b6b679f3bf5b22.tar.xz
linux-4ea2f43f28e30050bc99fe3134b6b679f3bf5b22.zip
/dev/mem: remove redundant test on len
The len test in write_kmem() is always true, so can be reduced. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Acked-by: Andi Kleen <ak@linux.intel.com> Cc: Marcelo Tosatti <mtosatti@redhat.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Avi Kivity <avi@qumranet.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/mem.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index fba76fb55abf..f0a90590cb1a 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -581,14 +581,12 @@ static ssize_t write_kmem(struct file * file, const char __user * buf,
if (len > PAGE_SIZE)
len = PAGE_SIZE;
- if (len) {
- written = copy_from_user(kbuf, buf, len);
- if (written) {
- if (wrote + virtr)
- break;
- free_page((unsigned long)kbuf);
- return -EFAULT;
- }
+ written = copy_from_user(kbuf, buf, len);
+ if (written) {
+ if (wrote + virtr)
+ break;
+ free_page((unsigned long)kbuf);
+ return -EFAULT;
}
len = vwrite(kbuf, (char *)p, len);
count -= len;