Re: [PATCH 2/2] Fix possible leakage of blocks in UDF

From: Eric Sandeen
Date: Wed May 30 2007 - 17:49:29 EST


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...

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

looking for the right way around it but figured I'd ping you early :)

-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/