Thread (41 messages) 41 messages, 8 authors, 2015-01-12

Re: [PATCHv10 man-pages 5/5] execveat.2: initial man page for execveat(2)

From: Al Viro <viro@ZenIV.linux.org.uk>
Date: 2015-01-10 04:15:11
Also in: linux-arch, lkml, sparclinux

On Fri, Jan 09, 2015 at 10:41:44PM -0500, Rich Felker wrote:
quoted
_After_ the traversal it's too late to do this sort of thing - after all,
how do you tell if your current position had been set by the traversal of
your symlink or that of any normal /proc/self/fd/<n>?
Thanks for clarifying how this all works in the kernel. It makes it
easier to understand what the costs (especially complexity costs) of
different implementation options might be for the kernel.
quoted
And doing that _during_ the traversal would really suck - stray ls -lR /proc
could race with that open() done by script interpreter.
IMO this one issue is easily solvable by limiting the special action
to calls by the owning pid.
Except that if your interpreter does stat(2) (or access(2), or getxattr(2),
etc.) before bothering with open(2), you'll get screwed.  Moreover, if it
does so only in case when you have something specific in environment,
you'll have the devil of the time trying to figure out how to reproduce
such a bug report...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help