Messages in this thread | | | From | Grant Coady <> | Subject | Re: [ANNOUNCE] Linux-2.4.32-hf32.5 | Date | Sat, 27 May 2006 05:29:58 +1000 |
| |
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).
Guess I'll see .33-pre4 and a -hf32.7 soon?
Cheers, Grant. > >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/
| |