Commit message (Collapse)AuthorAgeFilesLines
* Real life sort of benchmarkjd/andy-is-best-maybeJason A. Donenfeld2018-09-235-7/+28
* chacha20-arm: switch to entirely Andy Polyakov's implementationJason A. Donenfeld2018-09-232-801/+287
* crypto-arm: rework KERNEL_MODE_NEON handling againJason A. Donenfeld2018-09-238-27/+16
* crypto: flatten out makefileJason A. Donenfeld2018-09-231-47/+33
| | | | This brings us more in line with the integration tree's style.
* curve25519-fiat32: work around m68k compiler stack frame bugJason A. Donenfeld2018-09-231-6/+4
| | | | | | | The m68k compiler generates a 1032 byte stack frame. Moving these variables inside the loop fixes that. It also means we're not explicitly memzeroing it any more either, but hopefully that memory is reused anyway by the multiplications.
* allowedips: work around kasan stack frame bug in selftestJason A. Donenfeld2018-09-231-2/+9
* chacha20-arm: use new scalar implementationJason A. Donenfeld2018-09-232-569/+1208
| | | | | It turns out this is faster than NEON on some chips, so it's nice to have.
* crypto-arm: rework KERNEL_MODE_NEON handlingJason A. Donenfeld2018-09-232-9/+16
| | | | It might be defined even if the compiler doesn't support it.
* global: reduce stack frame sizeJason A. Donenfeld2018-09-234-27/+36
| | | | This brings it under 1280 on 64-bit and under 1024 on 32-bit systems.
* chacha20: add chunked selftest and test sliding alignments and hchacha20Jason A. Donenfeld2018-09-232-1160/+2467
| | | | | This ensures we're properly updating state[12] and that we're handling all unaligned acceses (in the jump tables for MIPS).
* chacha20-mips32r2: reduce jumptable entry size and stack usageRené van Dorst2018-09-221-39/+48
| | | | Signed-off-by: René van Dorst <opensource@vdorst.com>
* chacha20-mips32r2: use simpler calling conventionJason A. Donenfeld2018-09-212-179/+143
| | | | | | | Since we now set up the block in the generic code, we can rely on that to use fewer variables and reduce stack pressure within the MIPS code. This in turn means we have more registers and more uniformity, so we're able to rewrite quite a bit.
* chacha20-arm: go with Ard's version to optimize for Cortex-A7Jason A. Donenfeld2018-09-216-732/+599
* chacha20-mips32r2: remove reorder directivesRené van Dorst2018-09-212-107/+69
| | | | | | | | This requires some minimal rearranging to make work, but for the most part as does the right thing, provided we pass it an optimization flag. Suggested-by: Paul Burton <paul.burton@mips.com> Signed-off-by: René van Dorst <opensource@vdorst.com>
* chacha20-mips32r2: fix typo to allow reorder againRené van Dorst2018-09-211-1/+1
| | | | | Reported-by: Paul Burton <paul.burton@mips.com> Signed-off-by: René van Dorst <opensource@vdorst.com>
* poly1305-mips32r2: remove all reorder directivesRené van Dorst2018-09-212-32/+23
| | | | | | | | This requires some minimal rearranging to make work, but for the most part as does the right thing, provided we pass it an optimization flag. Suggested-by: Paul Burton <paul.burton@mips.com> Signed-off-by: René van Dorst <opensource@vdorst.com>
* global: put SPDX identifier on its own lineJason A. Donenfeld2018-09-20108-216/+216
| | | | | The kernel has very specific rules correlating file type with comment type, and also SPDX identifiers can't be merged with other comments.
* ratelimiter: disable selftest with KASANJason A. Donenfeld2018-09-201-0/+4
| | | | | | | This this relies on instructions taking a "normal" amount of time, we really can't run this with KASAN, especially inside QEMU, so just disable it for KASAN, since it's hard to make it complete on slow systems.
* crypto: do not waste space on selftest itemsJason A. Donenfeld2018-09-203-9458/+10993
| | | | | | This unfortunately means we have to define symbols, since we want them in __initconst, but it's better than the other two options (no initconst or wasting space for fixed size buffers).
* netlink: reverse my christmas treesJason A. Donenfeld2018-09-201-10/+11
* crypto: explicitly dual licenseJason A. Donenfeld2018-09-2041-41/+41
| | | | Suggested-by: Thomas Gleixner <tglx@linutronix.de>
* poly1305: account for simd being toggled off midwayJason A. Donenfeld2018-09-203-26/+131
| | | | | | This is a very rare occurance, but we should account for it, so that the calculations aren't wrong. Here we convert from base 2^26 back to base 2^64.
* allowedips: change from BUG_ON to WARN_ONJason A. Donenfeld2018-09-202-3/+3
| | | | | | | | This is never going to hit anyway, and if it does, it's a development problem that will be caught with the selftests anyway. So don't make Andrew Lunn upset, and just change it to a WARN_ON. Suggested-by: Andrew Lunn <andrew@lunn.ch>
* chacha20: prefer crypto_xor_cpy to avoid memmoveJason A. Donenfeld2018-09-202-5/+31
| | | | Suggested-by: Eric Biggers <ebiggers@kernel.org>
* poly1305: no need to trick gcc 8.1Jason A. Donenfeld2018-09-191-2/+2
| | | | | | | This reverts 37f114a73ba37219b00a66f0a51219a696599745, since gcc 8.2 no longer exhibits that bug. Suggested-by: Eric Biggers <ebiggers@kernel.org>
* blake2s: simplify final functionJason A. Donenfeld2018-09-193-40/+19
| | | | Suggested-by: Eric Biggers <ebiggers@kernel.org>
* poly1305: better module descriptionJason A. Donenfeld2018-09-181-1/+1
* version: bump snapshot0.0.20180918Jason A. Donenfeld2018-09-182-2/+2
* chacha20: add independent self testJason A. Donenfeld2018-09-182-0/+1188
| | | | | This was already tested from the chacha20poly1305 test, but it's useful to be able to test this in isolation too.
* chacha20poly1305: add __init to selftest helper functionsJason A. Donenfeld2018-09-181-3/+3
* curve25519-arm: only compile if symbols will be usedJason A. Donenfeld2018-09-181-1/+1
* chacha20-x86_64: use correct cut off for avx512-vlJason A. Donenfeld2018-09-181-1/+1
* poly1305-x86_64: show full struct for stateJason A. Donenfeld2018-09-181-5/+7
* crypto: allow for disabling simd in zinc modulesJason A. Donenfeld2018-09-186-9/+33
* chacha20-x86_64: more limited cascadeJason A. Donenfeld2018-09-181-5/+4
* chacha20poly1305: relax simd between sg chunksJason A. Donenfeld2018-09-181-0/+2
* crypto: turn Zinc into individual modulesJason A. Donenfeld2018-09-1825-54/+172
* crypto: do not use -include trickJason A. Donenfeld2018-09-1714-51/+34
* poly1305-x86_64: don't activate simd for small blocksJason A. Donenfeld2018-09-171-3/+14
* chacha20-x86_64: don't activate simd for small blocksJason A. Donenfeld2018-09-171-1/+2
* crypto: pass simd by referenceJason A. Donenfeld2018-09-1717-109/+129
* chacha20-x86_64: cascade down implementationsJason A. Donenfeld2018-09-171-3/+3
* poly1305: do not require simd context for archJason A. Donenfeld2018-09-178-22/+14
* crypto: make MITJason A. Donenfeld2018-09-1639-39/+39
* qemu: always pull and reset against integration treeJason A. Donenfeld2018-09-161-0/+5
* global: remove non-essential inline annotationsJason A. Donenfeld2018-09-165-30/+23
* send/receive: reduce number of sg entriesJason A. Donenfeld2018-09-162-2/+2
| | | | This reduces stack usage to quell warnings on powerpc.
* simd: add __must_check annotationJason A. Donenfeld2018-09-151-2/+2
| | | | Suggested-by: Andy Lutomirski <luto@amacapital.net>
* chacha20-arm: swap scalar and neon functionsJason A. Donenfeld2018-09-131-697/+697
| | | | This brings us closer to the original code.
* poly1305: precompute 5*r in init instead of blocksJason A. Donenfeld2018-09-122-6/+18