summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/amd64
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2016-03-21 00:41:13 +0000
committerguenther <guenther@openbsd.org>2016-03-21 00:41:13 +0000
commitd97c60ea32de0a8a99b5d664064a75f410d0cf8b (patch)
tree90566aa07de0639ae6cc3262ea28061511ea0ef0 /lib/libc/arch/amd64
parentPlug a memory leak in vnet(4) ioctl code path. (diff)
downloadwireguard-openbsd-d97c60ea32de0a8a99b5d664064a75f410d0cf8b.tar.xz
wireguard-openbsd-d97c60ea32de0a8a99b5d664064a75f410d0cf8b.zip
The asm in the MD_DISABLE_KBIND macro was too fragile and broke alpha and hppa.
So instead, do the kbind disabling with syscall(). debugging and ok deraadt@, ok kettenis@
Diffstat (limited to 'lib/libc/arch/amd64')
-rw-r--r--lib/libc/arch/amd64/gdtoa/kbind.h26
1 files changed, 0 insertions, 26 deletions
diff --git a/lib/libc/arch/amd64/gdtoa/kbind.h b/lib/libc/arch/amd64/gdtoa/kbind.h
deleted file mode 100644
index 7fa6b1df640..00000000000
--- a/lib/libc/arch/amd64/gdtoa/kbind.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* $OpenBSD: kbind.h,v 1.1 2016/03/20 02:32:39 guenther Exp $ */
-
-/*
- * Copyright (c) 2016 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.
- */
-
-#include <sys/syscall.h>
-
-#define MD_DISABLE_KBIND \
- do { \
- register long syscall_num __asm("rax") = SYS_kbind; \
- __asm volatile("syscall" : "+r" (syscall_num) : \
- "D" (0) : "cc", "rdx", "rcx", "r11", "memory"); \
- } while (0)