summaryrefslogtreecommitdiff
path: root/src/env/__init_security.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014-04-21 19:52:24 -0400
committerRich Felker <dalias@aerifal.cx>2014-04-21 19:52:24 -0400
commitfbcfed7c2d27496063d79e4d2a2a694d0fe67209 (patch)
tree150033b9219b57f5d61a3b7a59d908886543acb2 /src/env/__init_security.c
parent9b52ab1c9a44b62236089ab0272801d049bc5b1e (diff)
downloadmusl-fbcfed7c2d27496063d79e4d2a2a694d0fe67209.tar.gz
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.c21
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;
-}