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