Penguin

Too many symbolic links encountered

To prevent symbolic links linking back to themselves and causing an infinite loop in the kernel, the kernel stops after a certain number of symbolic links have been followed with ELOOP. This doesn't necessarily mean that there is a loop, but that there are too many symbolic links encountered.

The maximum number of symbolic links followed is currently 5 (with Linux 2.4.27). To match other operating systems with higher limits (e. g. Solaris 9 with 20, FreeBSD 5.3 with 32), there is ongoing work to increase that limit.

In linux kernel 2.6.9, fs/namei.h contains the following:

enum { MAX_NESTED_LINKS = 5 };

and fs/namei.c contains the following:

...
static inline int do_follow_link(struct dentry *dentry, struct nameidata *nd)
{
        int err = -ELOOP;
        if (current->link_count >= MAX_NESTED_LINKS)
                goto loop;
        if (current->total_link_count >= 40)
                goto loop;
...
        error = -ELOOP;
        if (count++==32) {
                putname(nd->last.name);
                goto exit;
        }
The following authors of this page have not agreed to the WlugWikiLicense. As such copyright to all content on this page is retained by the original authors.
  • JuergenNickelsen
The following authors of this page have agreed to the WlugWikiLicense.

PHP Warning

lib/plugin/WlugLicense.php:99: Warning: Invalid argument supplied for foreach()

lib/plugin/WlugLicense.php:111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument

lib/plugin/WlugLicense.php:111: Notice: Undefined variable: ignore_authors