From: "J. Bruce Fields" <bfields@fieldses.org>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: trond.myklebust@fys.uio.no, eshel@almaden.ibm.com, neilb@suse.de,
akpm@linux-foundation.org, linux-nfs@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: nfs: infinite loop in fcntl(F_SETLKW)
Date: Mon, 14 Apr 2008 13:07:43 -0400 [thread overview]
Message-ID: <20080414170743.GD15950@fieldses.org> (raw)
In-Reply-To: <E1JkxKz-0003A8-9V@pomaz-ex.szeredi.hu>
On Sun, Apr 13, 2008 at 10:13:21AM +0200, Miklos Szeredi wrote:
> > > > > OK. So the correct fix here should really be applied to fcntl_setlk().
> > > > > There is absolutely no reason why we should be looping at all if the
> > > > > filesystem has a ->lock() method.
> > > > >
> > > > > In fact, this looping behaviour was introduced recently in commit
> > > > > 7723ec9777d9832849b76475b1a21a2872a40d20.
> > > >
> > > > Apologies, that was indeed a behavioral change introduced in a commit
> > > > that claimed just to be shuffling code around.
> > >
> > > Yeah, that patch looks totally wrong. It's not generally a good idea
> > > to do a loop where the exit condition depends on something you don't
> > > control. And error values from filesystem methods are typically like
> > > that. For example with fuse, the error code could come from an
> > > unprivileged userspace process.
> > >
> > > I didn't realize this aspect of the bug previously, because I
> > > concentrated on the lockd inconsistency.
> >
> > So, does this patch on its own fix the problem you saw?
>
> Yes. With the patch applied, the test program returns "lockf:
> Resource temporarily unavailable" instead of hanging.
OK, thanks!
--b.
next prev parent reply other threads:[~2008-04-14 17:08 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-09 15:57 [patch] fix infinite loop in generic_file_splice_read() Miklos Szeredi
2008-04-09 17:05 ` Oliver Pinter
2008-04-09 18:57 ` Andrew Morton
2008-04-09 19:25 ` Miklos Szeredi
2008-04-09 19:52 ` Jens Axboe
2008-04-10 6:29 ` Allard Hoeve
2008-04-10 19:51 ` nfs: infinite loop in fcntl(F_SETLKW) Miklos Szeredi
2008-04-10 21:02 ` Trond Myklebust
2008-04-10 21:07 ` Trond Myklebust
2008-04-10 21:20 ` Trond Myklebust
2008-04-10 21:54 ` J. Bruce Fields
2008-04-11 19:12 ` Miklos Szeredi
2008-04-11 19:19 ` J. Bruce Fields
2008-04-11 19:22 ` Miklos Szeredi
2008-04-13 0:08 ` J. Bruce Fields
2008-04-13 8:13 ` Miklos Szeredi
2008-04-14 17:07 ` J. Bruce Fields [this message]
2008-04-14 19:03 ` [PATCH] locks: fix possible infinite loop in fcntl(F_SETLKW) over nfs J. Bruce Fields
2008-04-13 8:28 ` nfs: infinite loop in fcntl(F_SETLKW) Miklos Szeredi
2008-04-14 17:19 ` J. Bruce Fields
2008-04-14 21:15 ` Miklos Szeredi
2008-04-15 18:58 ` J. Bruce Fields
2008-04-16 16:28 ` Miklos Szeredi
2008-04-17 22:26 ` J. Bruce Fields
2008-04-18 12:47 ` Miklos Szeredi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080414170743.GD15950@fieldses.org \
--to=bfields@fieldses.org \
--cc=akpm@linux-foundation.org \
--cc=eshel@almaden.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=neilb@suse.de \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox