lkml.org 
[lkml]   [2007]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@suse.cz>
    SuSE CR Labs
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-01 23:01    [W:3.797 / U:0.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site