Messages in this thread | | | Date | Fri, 26 May 2006 21:43:59 +0200 | From | Willy Tarreau <> | Subject | Re: [ANNOUNCE] Linux-2.4.32-hf32.5 |
| |
On Sat, May 27, 2006 at 05:29:58AM +1000, Grant Coady wrote: > On Fri, 26 May 2006 15:27:58 -0300, Marcelo Tosatti <marcelo@kvack.org> 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 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/
| |