Re: [ANNOUNCE] Linux-2.4.32-hf32.5

From: Willy Tarreau
Date: Fri May 26 2006 - 15:53:37 EST


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@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/