diff -NurpP --minimal linux-2.4.25-rc3-vs1.26-q0.13/fs/namei.c linux-2.4.25-rc3-vs1.26-q0.13-fix1/fs/namei.c --- linux-2.4.25-rc3-vs1.26-q0.13/fs/namei.c 2004-02-16 18:21:13.000000000 +0100 +++ linux-2.4.25-rc3-vs1.26-q0.13-fix1/fs/namei.c 2004-02-16 19:24:53.000000000 +0100 @@ -1506,10 +1506,14 @@ int vfs_unlink(struct inode *dir, struct if (d_mountpoint(dentry)) error = -EBUSY; else { + struct inode *in; + lock_kernel(); + in = igrab(dentry->d_inode); error = dir->i_op->unlink(dir, dentry); - if (!error) - vx_dq_unlink(dentry->d_inode); + if (!error && in) + vx_dq_unlink(in); + iput(in); unlock_kernel(); if (!error) d_delete(dentry);