This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年02月13日 12:32 by vstinner, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (8) | |||
|---|---|---|---|
| msg235889 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2015年02月13日 12:32 | |
execveat() was added to Linux in kernel 3.19: http://man7.org/linux/man-pages/man2/execveat.2.html It may be interesting to expose it in Python. "The primary aim of adding an execveat syscall is to allow an implementation of fexecve(3) that does not rely on the /proc filesystem. The current glibc version of fexecve(3) is implemented via /proc, which causes problems in sandboxed or otherwise restricted environments." http://lwn.net/Articles/600344/ |
|||
| msg240188 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2015年04月06日 21:36 | |
I'm not more interested to work on this issue, so I just close it. I'm not convinced that there is a real need for it in Python, and it's not obvious how it should be exposed. Open a new issue or reopen this issue if you want to work the issue. |
|||
| msg266720 - (view) | Author: Марк Коренберг (socketpair) * | Date: 2016年05月30日 22:12 | |
It is actual to me due to it's AT_EMPTY_PATH feature (I download script, verify signature, and want to run it) See also `man 3 fexecve` Why not to add `dir_fd=None` ? (as in `os.rmdir()` for example). It should be very small patch, as I think. Reopen please. |
|||
| msg266721 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2016年05月30日 23:57 | |
You can currently call os.execve with a file pointer. How is that different from adding an execveat with AS_EMPTY_PATH, functionally? I think we don't need to add this syscall, because it is intended to allow more robust implementation of fexecve, and we are already effectvely exposing fexecve. We should be able to assume that glibc will switch to using execveat under the hood, and not worry about it ourselves. If that's not true, then we can revisit this. |
|||
| msg266734 - (view) | Author: Марк Коренберг (socketpair) * | Date: 2016年05月31日 05:44 | |
> we are already effectvely exposing fexecve Did not found neither os.fexecve() nor os.execve() documentation about this. How I can use glibc's fexecve() ? |
|||
| msg266736 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2016年05月31日 06:03 | |
By passing an fd to os.execve. Under the hood it calls fexecve. |
|||
| msg266737 - (view) | Author: Марк Коренберг (socketpair) * | Date: 2016年05月31日 06:08 | |
Sorry, but still did not found that in official documentation. Pass fd in place of `path ` ? https://docs.python.org/3.6/library/os.html#os.execve |
|||
| msg266753 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2016年05月31日 14:55 | |
Yes, last paragraph of that section. It doesn't mention fexecve explicitly because it doesn't need to, the functionality is what matters. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:12 | admin | set | github: 67647 |
| 2016年05月31日 14:55:05 | r.david.murray | set | messages: + msg266753 |
| 2016年05月31日 06:08:43 | socketpair | set | messages: + msg266737 |
| 2016年05月31日 06:03:35 | r.david.murray | set | messages: + msg266736 |
| 2016年05月31日 05:44:34 | socketpair | set | messages: + msg266734 |
| 2016年05月30日 23:57:43 | r.david.murray | set | nosy:
+ r.david.murray messages: + msg266721 |
| 2016年05月30日 22:12:56 | socketpair | set | versions:
+ Python 3.6, - Python 3.5 nosy: + socketpair messages: + msg266720 type: enhancement |
| 2015年04月06日 21:36:11 | vstinner | set | status: open -> closed resolution: later messages: + msg240188 |
| 2015年02月13日 12:32:39 | vstinner | create | |