summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/arch
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2014-11-21 21:30:50 +0000
committerderaadt <deraadt@openbsd.org>2014-11-21 21:30:50 +0000
commitdf3a1dce0f52372c02761e838d67c02cda73f25e (patch)
tree587a77f087ecb50ed15c127b7e0606e62f6a6be0 /sys/lib/libkern/arch
parentMPE support, begone. ok tedu (diff)
downloadwireguard-openbsd-df3a1dce0f52372c02761e838d67c02cda73f25e.tar.xz
wireguard-openbsd-df3a1dce0f52372c02761e838d67c02cda73f25e.zip
mask off high bits from 'c', before operation, otherwise the packing
logic writes balony. Hunting with tedu, mlarkin, and final bit spotted by naddy in freebsd's version.
Diffstat (limited to 'sys/lib/libkern/arch')
-rw-r--r--sys/lib/libkern/arch/amd64/memset.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/lib/libkern/arch/amd64/memset.S b/sys/lib/libkern/arch/amd64/memset.S
index 0f6ae1064d0..670d9426b13 100644
--- a/sys/lib/libkern/arch/amd64/memset.S
+++ b/sys/lib/libkern/arch/amd64/memset.S
@@ -8,6 +8,7 @@
ENTRY(memset)
movq %rsi,%rax
+ andq $0xff,%rax
movq %rdx,%rcx
movq %rdi,%r11