That limit should be a *recursion* limit only.
Symlinks in the last component of a path are looked up
iteratively (to save kernel stack space), but a symlink in
the middle of a path can't be done tail-recursively.
E.g. in your example
> namei cpu/args.t
f: cpu/args.t
d cpu
l args.t -> ../op/args.t
d ..
l op -> ../t/op/
d ..
l t -> perldir/t
l perldir -> perl-5.8.6
l perl-5.8.6 -> ../build/perl-5.8.6
d ..
l build -> BUILD
d BUILD
d perl-5.8.6
d t
d op
- args.t
Wow, what a symlink maze. The args.t -> ../op/args.t
symlink is no problems, but it's the mess of directory links
that the system has to traverse:
cpu/args.t
cpu/../op/args.t Tail-recursive expansion
cpu/../(../t/op)/args.t
cpu/../(../(perldir/t)/op)/args.t
cpu/../(../((perl-5.8.6)/t)/op)/args.t
cpu/../(../((../build/perl-5.8.6)/t)/op)/args.t
cpu/../(../((../(BUILD)/perl-5.8.6)/t)/op)/args.t
I'm supposing the initial level counts as 1, so 1+5 = 6 and blows the
limit.
There's also an iteration limit, to stop a -> b -> c -> a cycles,
but that's much higher. The recursion limit is a stack space issue.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]