On Thu, Nov 03, 2005 at 05:38:43PM +0100, Grzegorz Nosek wrote: > Hello all > > I needed to apply the patch below in order to keep the kernel from > oopsing (in some older revisions) or freezing solid (in the newest, > listed in the subject. > > This is the bug that I came across earlier and made a fool out of > myself at the lkml :) Apparently the code around this place has been > modified but the offending check is still there. The code is checking > *ppos and max, which both have bogus values and this exact check (with > proper values) is made in vfs_sendfile a few lines earlier. > > Why it freezes the box - I have no idea. I have also received some > reports about weird vserver behaviour (more crashes) but I'll gather > more info before I post.
well, looks like your do_sendfile() is called with ppos being empty, which is not handled properly, removing the max check will only paper over the issue ... did you try this with 2.6.14 yet? TIA, Herbert > Best regards, > Grzegorz Nosek > > Oops (from netconsole - enabled it at last) follows: > > Nov 3 17:18:40 40 [ 799.084295] Unable to handle kernel NULL pointer > dereference > > --- linux-2.6/fs/read_write.c~ 2005-10-28 23:59:02.000000000 +0200 > +++ linux-2.6/fs/read_write.c 2005-11-03 17:28:50.000000000 +0100 > @@ -719,9 +719,6 @@ > current->syscr++; > current->syscw++; > > - if (*ppos > max) > - retval = -EOVERFLOW; > - > fput_out: > fput_light(out_file, fput_needed_out); > fput_in: > _______________________________________________ > Vserver mailing list > Vserver@list.linux-vserver.org > http://list.linux-vserver.org/mailman/listinfo/vserver _______________________________________________ Vserver mailing list Vserver@list.linux-vserver.org http://list.linux-vserver.org/mailman/listinfo/vserver