Re: [PATCHv10 man-pages 5/5] execveat.2: initial man page for execveat(2)
From: Rich Felker <hidden>
Date: 2015-01-09 22:18:19
Also in:
linux-arch, lkml, sparclinux
On Fri, Jan 09, 2015 at 09:50:42PM +0000, Al Viro wrote:
On Fri, Jan 09, 2015 at 04:28:52PM -0500, Rich Felker wrote:quoted
The "magic open-once magic symlink" approach is really the cleanest solution I can find. In the case where the interpreter does not open the script, nothing terribly bad happens; the magic symlink just sticks around until _exit or exec. In the case where the interpreter opens it more than once, you get a failure, but as far as I know existing interpreters don't do this, and it's arguably bad design. In any case it's a caught error.You know what's cleaner than that? git revert 27d6ec7ad It has just been merged; until 3.19 it's fair game for removal. And yes, I should've NAKed the damn thing loud and clear, rather than asking questions back then, getting no answers and letting it slip. Mea culpa. Back then the procfs-free environments had been pushed as a serious argument in favour of merging the damn thing. Now you guys turn around and say that we not only need procfs mounted, we need a yet-to-be-added kludge in there to cope with the actual intended uses.
Reverting does not fix the problem. There is no way to make fexecve work for scripts without kernel support, and the needed kernel support without fexecve would be even nastier, since handling of /proc/self/fd magic-symlinks would need to be special-cased. The added fexecveat syscall supports fully /proc-less operation for non-scripts. Rich