On Sul, 2004-12-26 at 23:24, Jesper Juhl wrote:
> Hi,
> Patch below adds a check for the copy_to_user return value and makes a few
> whitespace cleanups in fs/cifs/file.c::cifs_user_read()
> I hope bundling two different things together in one patch is OK when the
> change is as small as this, but if you want it spplit in two patches, then
> just say so.

Corrupts the stats
Fails to free smb_read_data where in some cases it was freed before

I'm not sure the stats matter but I think you need something more like

residue = copy_to_user(....)
if(smb_read_data) {


if(residue) {
total_read += bytes_read - residue;
return total_read ? total_read: -EFAULT;