Ludovic Courtès, le Mon 07 Nov 2011 21:35:06 +0100, a écrit :
> + lookup_init:
>    err = dir_lookup (root_pt, initname, O_READ, 0,
>                   &retry, pathbuf, &startup_pt);
>    if (err)
> @@ -232,6 +233,13 @@ diskfs_start_bootstrap ()
>        free (exec_argv);
>        assert_perror (err);   /* XXX this won't reboot properly */
>      }
> +  else if (retry == FS_RETRY_MAGICAL && pathbuf[0] == '/')
> +    {
> +      /* INITNAME is a symlink with an absolute target, so try again.  */
> +      initname = strdupa (pathbuf);
> +      goto lookup_init;
> +    }
It'd be good to use SYMLOOK_MAX to avoid potential infinite recursion
which would lead to stack overflow.

Samuel

Reply via email to