tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: more fexecve questions



> Date: Tue, 10 Sep 2019 10:52:47 -0400
> From: christos%zoulas.com@localhost (Christos Zoulas)
> 
> 1. Looks like FreeBSD (and my initial posting) leaves the file descriptor
>    of the executable open in the process's image. The Linux man page says
>    to set close-on-exec if you don't want it to be passed to the child
>    process. Which behavior do you prefer? To have fexecve close the fd
>    automatically or to leave it up to the caller? It seems less magical
>    to leave it to the caller, but it also requires action from the caller.

I don't see why fexec should behave differently from exec in the
decision of which fds stay open.  We already have a mechanism to
request any other fd be closed on exec.

> 2. I am setting the path of the executable to "/" and p_comm to "*fexecve*".
>    I could also do a reverse lookup and set them to the path of the binary,
>    I found and default to "/" and "*fexecve*" if that's not found. I know
>    people don't like those reverse lookups because of the vnode cache
>    issues...

Can we just cache these when the file descriptor is opened with
O_EXEC?

The cache could become stale if the executable or any parent directory
is moved or deleted.  But they could become stale after exec too for
the same reason.


Home | Main Index | Thread Index | Old Index