Messages in this thread | | | Date | Mon, 28 Apr 2008 11:29:40 -0400 | From | Jeff Dike <> | Subject | Re: [PATCH 6/19] UML - hppfs fixes |
| |
On Sat, Apr 26, 2008 at 04:31:32PM +0800, WANG Cong wrote: > > + rem = copy_to_user(buf, &data->contents[off], count); > > + *ppos += count - rem; > > + if (rem > 0) > > + return -EFAULT; > > Could you please explain why check 'rem' after using it here?
Actually, this isn't as wrong as it looks. copy_to_user returns what hasn't been copied (rem == remaining). So, I think the mistake is to return -EFAULT here. Returning the short count would be right, unless rem == count, in which case we return -EFAULT.
Jeff
-- Work email - jdike at linux dot intel dot com
| |