[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070601211036.GA23975@duck.suse.cz>
Date: Fri, 1 Jun 2007 23:10:36 +0200
From: Jan Kara <jack@...e.cz>
To: Eric Sandeen <sandeen@...deen.net>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Cyrill Gorcunov <gorcunov@...il.com>
Subject: Re: [PATCH 2/2] Fix possible leakage of blocks in UDF
On Wed 30-05-07 16:46:28, Eric Sandeen wrote:
> Jan Kara wrote:
> > Hello,
> >
> > On Thu 24-05-07 19:05:54, Jan Kara wrote:
> >> Hello,
> >>
> >> attached is a patch that fixes possible leakage of free blocks / use of
> >> free blocks in UDF (which spilled nice assertion failures I've added in my
> >> first round of patches). More details in the changelog. Andrew, please apply.
> >> Both changes have survived some time of fsx and fsstress testing so they
> >> should be reasonably safe.
> > Sorry for replying to myself but this patch had a minor problem of
> > printing some bogus warnings when directories were deleted (I wonder why
> > fsstress didn't find it). Attached is a new version of the patch without
> > this problem.
>
> Jan, something seems busted here. I'm getting lockups when testing udf
> on a single cpu with this last patch in place...
Hmm, strange, I was also testing on UP and without problems. And I didn't
change any locking...
> I think it's the BKL stumbling on itself.
>
> for example...
>
> static int udf_symlink(struct inode * dir, struct dentry * dentry, const
> char * symname)
> {
> ...
> lock_kernel();
> ...
> out:
> unlock_kernel();
> return err;
>
> out_no_entry:
> inode_dec_link_count(inode);
> iput(inode);
> goto out;
> }
>
> but iput goes
> iput->iput_final->drop_inode->udf_drop_inode->lock_kernel() again
As Andrew already wrote, BKL is free to recurse...
> looking for the right way around it but figured I'd ping you early :)
Thanks for info - I'm now mostly out of email for a few days but I'll
have a look at it as soon as I return.
Honza
--
Jan Kara <jack@...e.cz>
SuSE CR Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists