Re: [Vserver] sendfile crash? (2.6.13.4 with vserver 2.1.0-rc4)

From: Herbert Poetzl <herbert_at_13thfloor.at>
Date: Thu 03 Nov 2005 - 17:10:17 GMT
Message-ID: <20051103171017.GA18015@MAIL.13thfloor.at>

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
Received on Thu Nov 3 17:10:39 2005

[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Thu 03 Nov 2005 - 17:10:43 GMT by hypermail 2.1.8