On Sat, May 27, 2006 at 05:29:58AM +1000, Grant Coady wrote:
> On Fri, 26 May 2006 15:27:58 -0300, Marcelo Tosatti <[email protected]> wrote:
>
> >may_delete() should be called before attempting to grab victim's
> >i_zombie. Grant, can you please try the following?
>
> Yep, applied against linux-2.4.32-hf32.5, boots on sempro (the box I
> gave the oops info for).
Fine, that's good news !
> Guess I'll see .33-pre4 and a -hf32.7 soon?
Well, at least not hf32.7 since this fix was initially "minor". I'll
wait for a few more important ones to release another hotfix.
> Cheers,
> Grant.
Thanks for all your tests, Grant
Willy
> >
> >diff --git a/fs/namei.c b/fs/namei.c
> >index 48bd26c..42cce98 100644
> >--- a/fs/namei.c
> >+++ b/fs/namei.c
> >@@ -1479,19 +1479,20 @@ int vfs_unlink(struct inode *dir, struct
> > {
> > int error;
> >
> >- double_down(&dir->i_zombie, &dentry->d_inode->i_zombie);
> > error = may_delete(dir, dentry, 0);
> >- if (!error) {
> >- error = -EPERM;
> >- if (dir->i_op && dir->i_op->unlink) {
> >- DQUOT_INIT(dir);
> >- if (d_mountpoint(dentry))
> >- error = -EBUSY;
> >- else {
> >- lock_kernel();
> >- error = dir->i_op->unlink(dir, dentry);
> >- unlock_kernel();
> >- }
> >+ if (error)
> >+ return error;
> >+
> >+ double_down(&dir->i_zombie, &dentry->d_inode->i_zombie);
> >+ error = -EPERM;
> >+ if (dir->i_op && dir->i_op->unlink) {
> >+ DQUOT_INIT(dir);
> >+ if (d_mountpoint(dentry))
> >+ error = -EBUSY;
> >+ else {
> >+ lock_kernel();
> >+ error = dir->i_op->unlink(dir, dentry);
> >+ unlock_kernel();
> > }
> > }
> > double_up(&dir->i_zombie, &dentry->d_inode->i_zombie);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]