mirror of https://github.com/mkerrisk/man-pages
e52ca1bf3a
The execve syscall returns -E2BIG in 3 cases: - The total length of the command line arguments and environment is too large. - An argument or environment string (including the NUL byte) is longer than MAX_ARG_STRLEN. - The full path to the executable (including the NUL byte) exceeds MAX_ARG_STRLEN. Spell out all 3 cases in the -E2BIG section. Discovered by moving a too large commandline parameter to an environment variable, and finding that things still did not work. Examined the code in fs/exec.c to get the details. This simple shell script starts failing at 2^17 on a system with 4kB page size: ./exec2big.sh: line 10: /bin/true: Argument list too long fork failed at loop 17 STRING="a" for loop in `seq 20`; do STRING="$STRING$STRING" export STRING if /bin/true ; then : # still under the limit else echo "fork failed at loop $loop" fi done Signed-off-by: Rik van Riel <riel@surriel.com> Suggested-by: Matthew House <mattlloydhouse@gmail.com> |
||
---|---|---|
man1 | ||
man2 | ||
man3 | ||
man4 | ||
man5 | ||
man6 | ||
man7 | ||
man8 | ||
scripts | ||
.gitignore | ||
CONTRIBUTING | ||
Changes | ||
Changes.old | ||
MAINTAINER_NOTES | ||
Makefile | ||
README | ||
man-pages-5.14.Announce | ||
man-pages-5.14.lsm |
README
This package contains Linux man pages for sections 1 through 8. Some more information is given in the 'man-pages-x.y.Announce' file. Homepage ======== For information about the Linux man-pages project, see http://www.kernel.org/doc/man-pages/index.html. Bug reports and contributing ============================ If you have corrections and additions to suggest, see http://www.kernel.org/doc/man-pages/contributing.html (Although there is a mirror of this repository on GitHub, please don't report issues via the GitHub issue tracker!) For further information on contributing, see the CONTRIBUTING file. Installing and uninstalling =========================== "make install" will copy these man pages to /usr/local/share/man/man[1-8]. To install to a path different from /usr/local, use "make install prefix=/install/path". "make remove" or "make uninstall" will remove any man page in this distribution from its destination. Use with caution, and remember to use "prefix" if desired, as with the "install" target. To install only a specific man section (mandir) such as man3, use "make install-man3". Similar syntax can be used to uninstall a specific man section, such as man7: "make uninstall-man7". "make" or "make all" will perform "make uninstall" followed by "make install". Consider using multiple threads (at least 2) when installing these man pages, as the Makefile is optimized for multiple threads: "make -j install". Copyrights ========== See the 'man-pages-x.y.Announce' file.