Re: [PATCH] allow execve'ing "/proc/self/exe" even if /proc is notmounted

From: Pavel Machek
Date: Sat Jun 27 2009 - 07:16:34 EST


On Thu 2009-06-25 01:49:13, Denys Vlasenko wrote:
> On Thu, Jun 25, 2009 at 1:21 AM, Andrew Morton<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Thu, 25 Jun 2009 01:00:56 +0200
> > Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx> wrote:
> >> In some circumstances running process needs to re-execute
> >> its image.
> ...
> >> More elegant way is to execute /proc/self/exe.
> >> This works just fine as long as /proc is mounted.
> >>
> >> But it breaks if /proc isn't mounted, and this can happen in real-world
> >> usage. For example, when shell invoked very early in initrd/initramfs.
> >
> > Why can't userspace mount /proc before doing the daemonization?
>
> Some people want to unset CONFIG_PROC_FS, and still have
> working POSIX compatible shell. Coincidentally, NOMMU
> machines, ones which *require* re-execution of the shell to support that,
> tent to be the most memory starved machines too (thus most likely
> to be those where people desire to unset CONFIG_PROC_FS).

And some people want to mount /proc on /xyzzy.

Create minimal PROCMINI fs with just /proc/selv/exe?

> We can special-case execve(NULL, ...).
> But I feared people would say this will change previously-buggy
> userspace code into one acting weirdly; in come cases
> leading to infinite execve loops. Do you think it's better
> than "/proc/self/exe"?

Yes. Or... add execme() syscall?

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/