lkml.org 
[lkml]   [2008]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] fix infinite loop in generic_file_splice_read()
On Wed, Apr 09 2008, Andrew Morton wrote:
> On Wed, 09 Apr 2008 17:57:56 +0200
> Miklos Szeredi <miklos@szeredi.hu> wrote:
>
> > generic_file_splice_read() goes into an infinite loop if it races with
> > truncation. I've found this with fsx-linux on NFS over fuse.
> >
> > Perhaps the whole while() loop is bogus, but I can't tell from a
> > cursory glance at __generic_file_splice_read() if it will return zero
> > only on EOF, or it can do that for other reasons as well. In the
> > latter case the loop is obviously needed.
> >
> > This simplistic patch fixes the issue for me.
> >
>
> We found suspicious-looking code in generic_file_splice_read() back in
> February. See http://lkml.org/lkml/2008/2/29/443. I suspect that patch
> (if it works) will address the truncate lockup as well - it zaps the loop
> entirely.
>
> Unfortunately Allard never got back to us (probably because he's running
> 2.6.24 which has a quite different generic_file_splice_read()) and the
> patch didn't get anywhere.

Hmm strange, I was pretty sure I pushed my patch back then. I'll double
check and make sure it gets upstream asap.

> Nobody has tested this at all, to my knowledge.

The original reporter did not, however others did.

--
Jens Axboe



\
 
 \ /
  Last update: 2008-04-09 21:55    [W:0.259 / U:0.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site