diff -urN RC14-rc2-git8-cassini/kernel/cpuset.c RC14-rc2-git8-cpuset/kernel/cpuset.c --- RC14-rc2-git8-cassini/kernel/cpuset.c 2005-09-30 07:33:50.000000000 -0400 +++ RC14-rc2-git8-cpuset/kernel/cpuset.c 2005-09-30 07:34:41.000000000 -0400 @@ -968,8 +968,6 @@ char *page; ssize_t retval = 0; char *s; - char *start; - ssize_t n; if (!(page = (char *)__get_free_page(GFP_KERNEL))) return -ENOMEM; @@ -999,15 +997,7 @@ *s++ = '\n'; *s = '\0'; - start = page + *ppos; - n = s - start; - - /* Do nothing if *ppos is at the eof or beyond the eof. */ - if (n <= 0) - goto out; - - retval = n - copy_to_user(buf, start, min(n, nbytes)); - *ppos += retval; + retval = simple_read_from_buffer(buf, nbytes, ppos, page, s - page); out: free_page((unsigned long)page); return retval;