lkml.org 
[lkml]   [1998]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Confirmed, cause found] Re: BUG in rmdir changes
Alexander Viro wrote:
>
> WHAT? All changes in rmdir are far off from the path demonstarted here.
> do_rmdir() has been changed, but all changes are below the test for
> negative dentry. It shouldn't even get to the code in quest... Wait.
> static inline int do_rmdir(const char * name)
> {
> int error;
> struct dentry *dir;
> struct dentry *dentry;
>
> dentry = lookup_dentry(name, NULL, 0);
> error = PTR_ERR(dentry);
> if (IS_ERR(dentry))
> goto exit;
>
> dir = dget(dentry->d_parent);
>
> error = -ENOENT;
> if (!dentry->d_inode)
> goto exit;
>
> Arrgh!!! OK, I've got it. Sheesh... dget() should happen immediately
> after the check for negative dentry.
>
> Looks like we've caught it - fix being to move the line with dget()
> immediately below the check. I'll roll the patch as soon as I'll get to
> the Linux box where I have an official tree.


Edited fs/namei.c, compiled, rebooted, I can now umount /home :)
Excellent work Alexander !


--alessandro <asuardi@uninetcom.it> <asuardi@it.oracle.com>

Linux 2.0.36/2.1.131 glibc-2.0.7-29 gcc-2.8.1 binutils-2.9.1.0.15

"I hate bugs which disappear just as soon as you start trying to
narrow things down." -- Stephen Tweedie

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.074 / U:0.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site