summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2015-09-11 15:38:33 +0000
committerguenther <guenther@openbsd.org>2015-09-11 15:38:33 +0000
commit15a0f5356ba433fa15c76c28e6592c9085f1ed98 (patch)
treee7b73b6fdc626512a32b11e46aafbefbcba75878 /lib/libc
parentApply the link state change hook to RTF_LOCAL routes. (diff)
downloadwireguard-openbsd-15a0f5356ba433fa15c76c28e6592c9085f1ed98.tar.xz
wireguard-openbsd-15a0f5356ba433fa15c76c28e6592c9085f1ed98.zip
Add PROTO_WRAP() for (almost) all the syscalls that libpthread doesn't
override so that internal calls go direct ok deraadt@
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/hidden/signal.h7
-rw-r--r--lib/libc/hidden/stdio.h6
-rw-r--r--lib/libc/hidden/sys/ioctl.h25
-rw-r--r--lib/libc/hidden/sys/mount.h33
-rw-r--r--lib/libc/hidden/sys/resource.h29
-rw-r--r--lib/libc/hidden/sys/socket.h35
-rw-r--r--lib/libc/hidden/sys/stat.h42
-rw-r--r--lib/libc/hidden/sys/time.h32
-rw-r--r--lib/libc/hidden/time.h27
-rw-r--r--lib/libc/hidden/unistd.h66
10 files changed, 297 insertions, 5 deletions
diff --git a/lib/libc/hidden/signal.h b/lib/libc/hidden/signal.h
index ca992b86e05..7b1dd2e40f1 100644
--- a/lib/libc/hidden/signal.h
+++ b/lib/libc/hidden/signal.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: signal.h,v 1.3 2015/09/10 18:13:46 guenther Exp $ */
+/* $OpenBSD: signal.h,v 1.4 2015/09/11 15:38:33 guenther Exp $ */
/*
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
*
@@ -29,4 +29,9 @@ extern PROTO_NORMAL(sys_signame);
PROTO_NORMAL(signal);
+PROTO_NORMAL(kill); /* wrap to ban SIGTHR? */
+PROTO_NORMAL(sigaltstack);
+PROTO_NORMAL(sigpending);
+PROTO_NORMAL(sigreturn);
+
#endif /* !_LIBC_SIGNAL_H */
diff --git a/lib/libc/hidden/stdio.h b/lib/libc/hidden/stdio.h
index 6f394f2059e..4d589438836 100644
--- a/lib/libc/hidden/stdio.h
+++ b/lib/libc/hidden/stdio.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: stdio.h,v 1.3 2015/09/10 18:13:46 guenther Exp $ */
+/* $OpenBSD: stdio.h,v 1.4 2015/09/11 15:38:33 guenther Exp $ */
/*
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
*
@@ -87,8 +87,8 @@ PROTO_NORMAL(putchar_unlocked);
PROTO_NORMAL(puts);
PROTO_NORMAL(putw);
PROTO_NORMAL(remove);
-/*PROTO_NORMAL(rename);*/
-/*PROTO_NORMAL(renameat);*/
+PROTO_NORMAL(rename);
+PROTO_NORMAL(renameat);
PROTO_NORMAL(rewind);
PROTO_NORMAL(scanf);
PROTO_NORMAL(setbuf);
diff --git a/lib/libc/hidden/sys/ioctl.h b/lib/libc/hidden/sys/ioctl.h
new file mode 100644
index 00000000000..c4761277f0e
--- /dev/null
+++ b/lib/libc/hidden/sys/ioctl.h
@@ -0,0 +1,25 @@
+/* $OpenBSD: ioctl.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_IOCTL_H_
+#define _LIBC_SYS_IOCTL_H_
+
+#include_next <sys/ioctl.h>
+
+PROTO_NORMAL(ioctl);
+
+#endif /* !_LIBC_SYS_IOCTL_H_ */
diff --git a/lib/libc/hidden/sys/mount.h b/lib/libc/hidden/sys/mount.h
new file mode 100644
index 00000000000..d850b9f781e
--- /dev/null
+++ b/lib/libc/hidden/sys/mount.h
@@ -0,0 +1,33 @@
+/* $OpenBSD: mount.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_MOUNT_H_
+#define _LIBC_SYS_MOUNT_H_
+
+#include_next <sys/mount.h>
+
+PROTO_NORMAL(fhopen);
+PROTO_NORMAL(fhstat);
+PROTO_NORMAL(fhstatfs);
+PROTO_NORMAL(fstatfs);
+PROTO_NORMAL(getfh);
+PROTO_NORMAL(getfsstat);
+PROTO_NORMAL(mount);
+PROTO_NORMAL(statfs);
+PROTO_NORMAL(unmount);
+
+#endif /* !_LIBC_SYS_MOUNT_H_ */
diff --git a/lib/libc/hidden/sys/resource.h b/lib/libc/hidden/sys/resource.h
new file mode 100644
index 00000000000..79b7e74a9db
--- /dev/null
+++ b/lib/libc/hidden/sys/resource.h
@@ -0,0 +1,29 @@
+/* $OpenBSD: resource.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_RESOURCE_H_
+#define _LIBC_SYS_RESOURCE_H_
+
+#include_next <sys/resource.h>
+
+PROTO_NORMAL(getpriority);
+PROTO_NORMAL(getrlimit);
+PROTO_NORMAL(getrusage);
+PROTO_NORMAL(setpriority);
+PROTO_NORMAL(setrlimit);
+
+#endif /* !_LIBC_SYS_RESOURCE_H_ */
diff --git a/lib/libc/hidden/sys/socket.h b/lib/libc/hidden/sys/socket.h
new file mode 100644
index 00000000000..1e281c46fa1
--- /dev/null
+++ b/lib/libc/hidden/sys/socket.h
@@ -0,0 +1,35 @@
+/* $OpenBSD: socket.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_SOCKET_H_
+#define _LIBC_SYS_SOCKET_H_
+
+#include_next <sys/socket.h>
+
+PROTO_NORMAL(bind);
+PROTO_NORMAL(getpeername);
+PROTO_NORMAL(getrtable);
+PROTO_NORMAL(getsockname);
+PROTO_NORMAL(getsockopt);
+PROTO_NORMAL(listen);
+PROTO_NORMAL(setrtable);
+PROTO_NORMAL(setsockopt);
+PROTO_NORMAL(shutdown);
+PROTO_NORMAL(socket);
+PROTO_NORMAL(socketpair);
+
+#endif /* !_LIBC_SYS_SOCKET_H_ */
diff --git a/lib/libc/hidden/sys/stat.h b/lib/libc/hidden/sys/stat.h
new file mode 100644
index 00000000000..a2090a0a438
--- /dev/null
+++ b/lib/libc/hidden/sys/stat.h
@@ -0,0 +1,42 @@
+/* $OpenBSD: stat.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_STAT_H_
+#define _LIBC_SYS_STAT_H_
+
+#include_next <sys/stat.h>
+
+PROTO_NORMAL(chflags);
+PROTO_NORMAL(chmod);
+PROTO_NORMAL(fchflags);
+PROTO_NORMAL(fchmod);
+PROTO_NORMAL(fchmodat);
+PROTO_NORMAL(fstat);
+PROTO_NORMAL(fstatat);
+PROTO_NORMAL(futimens);
+PROTO_NORMAL(lstat);
+PROTO_NORMAL(mkdir);
+PROTO_NORMAL(mkdirat);
+PROTO_NORMAL(mkfifo);
+PROTO_NORMAL(mkfifoat);
+PROTO_NORMAL(mknod);
+PROTO_NORMAL(mknodat);
+PROTO_NORMAL(stat);
+PROTO_NORMAL(umask);
+PROTO_NORMAL(utimensat);
+
+#endif /* !_LIBC_SYS_STAT_H_ */
diff --git a/lib/libc/hidden/sys/time.h b/lib/libc/hidden/sys/time.h
new file mode 100644
index 00000000000..ed112320fa2
--- /dev/null
+++ b/lib/libc/hidden/sys/time.h
@@ -0,0 +1,32 @@
+/* $OpenBSD: time.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_SYS_TIME_H_
+#define _LIBC_SYS_TIME_H_
+
+#include_next <sys/time.h>
+
+PROTO_NORMAL(adjfreq);
+PROTO_NORMAL(adjtime);
+PROTO_NORMAL(futimes);
+PROTO_NORMAL(getitimer);
+PROTO_NORMAL(gettimeofday);
+PROTO_NORMAL(setitimer);
+PROTO_NORMAL(settimeofday);
+PROTO_NORMAL(utimes);
+
+#endif /* !_LIBC_SYS_TIME_H_ */
diff --git a/lib/libc/hidden/time.h b/lib/libc/hidden/time.h
new file mode 100644
index 00000000000..f28504cd9e2
--- /dev/null
+++ b/lib/libc/hidden/time.h
@@ -0,0 +1,27 @@
+/* $OpenBSD: time.h,v 1.1 2015/09/11 15:38:33 guenther Exp $ */
+/*
+ * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _LIBC_TIME_H_
+#define _LIBC_TIME_H_
+
+#include_next <time.h>
+
+PROTO_NORMAL(clock_getres);
+PROTO_NORMAL(clock_gettime);
+PROTO_NORMAL(clock_settime);
+
+#endif /* !_LIBC_TIME_H_ */
diff --git a/lib/libc/hidden/unistd.h b/lib/libc/hidden/unistd.h
index e68f2619f94..d79f401a345 100644
--- a/lib/libc/hidden/unistd.h
+++ b/lib/libc/hidden/unistd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: unistd.h,v 1.1 2015/09/11 13:26:20 guenther Exp $ */
+/* $OpenBSD: unistd.h,v 1.2 2015/09/11 15:38:33 guenther Exp $ */
/*
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
*
@@ -20,8 +20,72 @@
#include_next <unistd.h>
+PROTO_NORMAL(_exit);
+PROTO_NORMAL(access);
+PROTO_NORMAL(acct);
+PROTO_DEPRECATED(brk);
+PROTO_NORMAL(chdir);
+PROTO_NORMAL(chown);
+PROTO_NORMAL(chroot);
+PROTO_NORMAL(dup);
+PROTO_NORMAL(dup2);
+PROTO_NORMAL(dup3);
+PROTO_NORMAL(execve);
+PROTO_NORMAL(faccessat);
+PROTO_NORMAL(fchdir);
+PROTO_NORMAL(fchown);
+PROTO_NORMAL(fchownat);
+PROTO_NORMAL(fpathconf);
PROTO_NORMAL(ftruncate);
+PROTO_NORMAL(getdtablecount);
+PROTO_NORMAL(getegid);
+PROTO_NORMAL(getentropy);
+PROTO_NORMAL(geteuid);
+PROTO_NORMAL(getgid);
+PROTO_NORMAL(getgroups);
+PROTO_NORMAL(getpgid);
+PROTO_NORMAL(getpgrp);
+PROTO_NORMAL(getpid);
+PROTO_NORMAL(getppid);
+PROTO_NORMAL(getresgid);
+PROTO_NORMAL(getresuid);
+PROTO_NORMAL(getsid);
+PROTO_NORMAL(getthrid);
+PROTO_NORMAL(getuid);
+PROTO_NORMAL(issetugid);
+PROTO_NORMAL(lchown);
+PROTO_NORMAL(link);
+PROTO_NORMAL(linkat);
PROTO_NORMAL(lseek);
+PROTO_NORMAL(nfssvc);
+PROTO_NORMAL(pathconf);
+PROTO_NORMAL(pipe);
+PROTO_NORMAL(pipe2);
+PROTO_NORMAL(profil);
+PROTO_NORMAL(quotactl);
+PROTO_NORMAL(readlink);
+PROTO_NORMAL(readlinkat);
+PROTO_NORMAL(reboot);
+PROTO_NORMAL(revoke);
+PROTO_NORMAL(rmdir);
+PROTO_DEPRECATED(sbrk);
+PROTO_NORMAL(setegid);
+PROTO_NORMAL(seteuid);
+PROTO_NORMAL(setgid);
+PROTO_NORMAL(setgroups);
+PROTO_NORMAL(setpgid);
+PROTO_NORMAL(setregid);
+PROTO_NORMAL(setresgid);
+PROTO_NORMAL(setresuid);
+PROTO_NORMAL(setreuid);
+PROTO_NORMAL(setsid);
+PROTO_NORMAL(setuid);
+PROTO_NORMAL(swapctl);
+PROTO_NORMAL(symlink);
+PROTO_NORMAL(symlinkat);
+PROTO_NORMAL(sync);
PROTO_NORMAL(truncate);
+PROTO_NORMAL(unlink);
+PROTO_NORMAL(unlinkat);
#endif /* !_LIBC_UNISTD_H_ */