]> err.no Git - linux-2.6/commitdiff
[PATCH] fix for cpusets minor problem
authorKUROSAWA Takahiro <kurosawa@valinux.co.jp>
Fri, 9 Sep 2005 20:02:10 +0000 (13:02 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 20:57:32 +0000 (13:57 -0700)
This patch fixes minor problem that the CPUSETS have when files in the
cpuset filesystem are read after lseek()-ed beyond the EOF.

Signed-off-by: KUROSAWA Takahiro <kurosawa@valinux.co.jp>
Acked-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/cpuset.c

index 1f06e76901067ffa1c08d586d0128f64ad6d6c65..712d02029971ed456a4025d23f0cd4d187d2f6ff 100644 (file)
@@ -972,6 +972,10 @@ static ssize_t cpuset_common_file_read(struct file *file, char __user *buf,
        *s++ = '\n';
        *s = '\0';
 
+       /* Do nothing if *ppos is at the eof or beyond the eof. */
+       if (s - page <= *ppos)
+               return 0;
+
        start = page + *ppos;
        n = s - start;
        retval = n - copy_to_user(buf, start, min(n, nbytes));