diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-04-21 19:52:24 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-04-21 19:52:24 -0400 |
commit | fbcfed7c2d27496063d79e4d2a2a694d0fe67209 (patch) | |
tree | 150033b9219b57f5d61a3b7a59d908886543acb2 /src/env/__init_security.c | |
parent | 9b52ab1c9a44b62236089ab0272801d049bc5b1e (diff) | |
download | musl-fbcfed7c2d27496063d79e4d2a2a694d0fe67209.tar.gz musl-fbcfed7c2d27496063d79e4d2a2a694d0fe67209.tar.bz2 musl-fbcfed7c2d27496063d79e4d2a2a694d0fe67209.tar.xz musl-fbcfed7c2d27496063d79e4d2a2a694d0fe67209.zip |
further micro-optimize startup code for size
there is no reason (and seemingly there never was any) for
__init_security to be its own function. it's linked unconditionally
so it can just be placed inline in __init_libc.
Diffstat (limited to 'src/env/__init_security.c')
-rw-r--r-- | src/env/__init_security.c | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/src/env/__init_security.c b/src/env/__init_security.c deleted file mode 100644 index ae623955..00000000 --- a/src/env/__init_security.c +++ /dev/null @@ -1,21 +0,0 @@ -#include <elf.h> -#include <poll.h> -#include <fcntl.h> -#include "syscall.h" -#include "libc.h" -#include "atomic.h" - -void __init_security(size_t *aux) -{ - struct pollfd pfd[3] = { {.fd=0}, {.fd=1}, {.fd=2} }; - int i; - - if (aux[AT_UID]==aux[AT_EUID] && aux[AT_GID]==aux[AT_EGID] - && !aux[AT_SECURE]) return; - - __syscall(SYS_poll, pfd, 3, 0); - for (i=0; i<3; i++) if (pfd[i].revents&POLLNVAL) - if (__syscall(SYS_open, "/dev/null", O_RDWR|O_LARGEFILE)<0) - a_crash(); - libc.secure = 1; -} |