On Thu, Apr 22, 2010 at 10:05:45AM -0400, Christos Zoulas wrote: > | For the time being what we can do is take the path sent back from > | namei, and if it's not absolute call getcwd and graft that onto the > | front. This will in general yield a partially realpath'd path but I > | don't think anyone will care. > > I agree, but remember to handle the emul root.
I don't think it can be currently - we'll get whatever path getcwd finds, which from a quick inspection will always go up to the real root, and trying to mask the emulation root out of that afterwards is a lost cause. Might be workable to teach getcwd to stop at the emulation root on request. OTOH I'm not at all sure whether $ORIGIN shouldn't be given a path from the real root anyway. > | In the long run I think a fully realpath'd path can be arranged, > | either by calling getcwd first and handing the results to namei to > | grind on, or by explicitly compacting any ..'s that appear in the > | front of the namei result. I sort of favor the first because it makes > | it possible to handle the emulation root properly, I think, but this > | can be discussed later on. > > Yes, although I hate doing string manipulations in the kernel. It's nothing we aren't committed to already :-/ -- David A. Holland [email protected]
