aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-04-18 00:52:24 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2018-04-18 00:52:24 +0200
commit860c7c765d3f4687cd2fa75ce7c9776d9c28ebde (patch)
tree3af4df3610e5c2a8c616295b2bc53bd72e29e352
parentcompat: remove unused dev_recursion_level backport (diff)
downloadwireguard-monolithic-historical-860c7c765d3f4687cd2fa75ce7c9776d9c28ebde.tar.xz
wireguard-monolithic-historical-860c7c765d3f4687cd2fa75ce7c9776d9c28ebde.zip
poly1305: do not place constants in different sections
We're referencing these constants as one contiguous blob, so if there's any merging that goes on with other constants elsewhere (such as the kernel's current poly1305 implementation that we hope to replace), then these will be reordered and have the wrong values.
-rw-r--r--src/crypto/poly1305-x86_64.S15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/crypto/poly1305-x86_64.S b/src/crypto/poly1305-x86_64.S
index 9275b49..3ab21ea 100644
--- a/src/crypto/poly1305-x86_64.S
+++ b/src/crypto/poly1305-x86_64.S
@@ -7,26 +7,13 @@
#include <linux/linkage.h>
-.section .rodata.cst32.Lmask24, "aM", @progbits, 32
+.section .rodata.cst192.Lconst, "aM", @progbits, 32
.align 64
.Lconst:
-.Lmask24:
.long 0x0ffffff,0,0x0ffffff,0,0x0ffffff,0,0x0ffffff,0
-.section .rodata.cst32.L129, "aM", @progbits, 32
-.align 32
-.L129:
.long 16777216,0,16777216,0,16777216,0,16777216,0
-.section .rodata.cst32.Lmask26, "aM", @progbits, 32
-.align 32
-.Lmask26:
.long 0x3ffffff,0,0x3ffffff,0,0x3ffffff,0,0x3ffffff,0
-.section .rodata.cst32.Lpermd_avx2, "aM", @progbits, 32
-.align 32
-.Lpermd_avx2:
.long 2,2,2,3,2,0,2,1
-.section .rodata.cst64.Lpermd_avx512, "aM", @progbits, 64
-.align 64
-.Lpermd_avx512:
.long 0,0,0,1, 0,2,0,3, 0,4,0,5, 0,6,0,7
.text