lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 31 Aug 2006 11:20:56 -0400
From:	Shaya Potter <spotter@...columbia.edu>
To:	linux-fsdevel@...r.kernel.org
CC:	linux-kernel@...r.kernel.org, unionfs@....cs.sunysb.edu
Subject: Re: bug in nfs in 2.6.18-rc5?

Shaya Potter wrote:
> so I'm trying to use unionfs, cachefs and nfs, as cachefs is 2.6.18-rc5 
> right now, thats what I'm testing, but I hit an oops.
> 
> basically unionfs's lookup does a "lookup_one_len()" on the underlying fs.
> 
> lookup_one_len() calls __lookup_hash()
> 
> __lookup_hash() is called as "__lookup_hash(&this, base, NULL)"
> 
> now that NULL is important.  that's the nameidata entry of __lookup_hash()
> 
> __lookup_hash() ends up calling the underlying fs's lookup op, i.e. 
> nfs_lookup()
> 
> nfs_lookup() calls nfs_reval_fsid(nd->mnt, dir, &fhandle, &fattr);
> 
> see the bug? :)
> 
> This doesn't seem like a unionfs bug, as one should be able to call 
> lookup_one_len() on an NFS fs.

ok my "fix" is basically that nfs_reval_fsid() uses the nd->mnt to get 
to mnt->mnt_root.

I basically switched it to take a dentry and I call it as

nfs_reval_fsid(dentry->d_sb->s_root, dir.....)

have no clue if this is correct, but it doesn't oops anymore and seems 
to "work".
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ