[PATCH] nfs: BUG_ON in nfs_follow_mountpoint

Steve Dickson SteveD at redhat.com
Wed Aug 27 16:48:41 UTC 2008


Here is a patch that was posted a while back on lkml that does 
indeed stop a OOPS.... I notice that is not in the latest rawhide
kernel... We might want to think about taking this one early due
to the obvious... 

steved.


From: "Denis V. Lunev" <den at openvz.org>

Unfortunately, BUG_ON(IS_ROOT(dentry)) can happen inside
nfs_follow_mountpoint with NFS running Fedora 8 using a specific setup.

See https://bugzilla.redhat.com/show_bug.cgi?id=458622

So the situation should be handled on NFS client gracefully.

Signed-off-by: Denis V. Lunev <den at openvz.org>
Cc: Trond Myklebust <Trond.Myklebust at netapp.com>
Cc: J. Bruce Fields <bfields at fieldses.org>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
---

 fs/nfs/namespace.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff -puN fs/nfs/namespace.c~nfs-bug_on-in-nfs_follow_mountpoint fs/nfs/namespace.c
--- a/fs/nfs/namespace.c~nfs-bug_on-in-nfs_follow_mountpoint
+++ a/fs/nfs/namespace.c
@@ -105,7 +105,10 @@ static void * nfs_follow_mountpoint(stru
 
 	dprintk("--> nfs_follow_mountpoint()\n");
 
-	BUG_ON(IS_ROOT(dentry));
+	err = -EIO;
+	if (IS_ROOT(dentry))
+		goto out_err;
+
 	dprintk("%s: enter\n", __func__);
 	dput(nd->path.dentry);
 	nd->path.dentry = dget(dentry);
_




More information about the kernel mailing list