summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorKUROSAWA Takahiro <kurosawa@valinux.co.jp>2005-09-09 22:02:10 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 22:57:32 +0200
commit73a358d1892a8233801e3fd54668075b52ec42da (patch)
tree851250c42eb890c6fa3afe59b3398e17ee850bae /kernel
parent[PATCH] aio: kiocb locking to serialise retry and cancel (diff)
downloadlinux-73a358d1892a8233801e3fd54668075b52ec42da.tar.xz
linux-73a358d1892a8233801e3fd54668075b52ec42da.zip
[PATCH] fix for cpusets minor problem
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>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpuset.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 1f06e7690106..712d02029971 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -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));