diff options
author | KUROSAWA Takahiro <kurosawa@valinux.co.jp> | 2005-09-09 13:02:10 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-09 13:57:32 -0700 |
commit | 73a358d1892a8233801e3fd54668075b52ec42da (patch) | |
tree | 851250c42eb890c6fa3afe59b3398e17ee850bae | |
parent | ac0b1bc1edbe81c0cb36cad7e7f5b91f4d9e12ed (diff) | |
download | linux-73a358d1892a8233801e3fd54668075b52ec42da.tar.bz2 |
[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>
-rw-r--r-- | kernel/cpuset.c | 4 |
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)); |