freebsd-nq/module/icp
Tom Caputi a73c94934f Change movaps to movups in AES-NI code
Currently, the ICP contains accelerated assembly code to be
used specifically on CPUs with AES-NI enabled. This code
makes heavy use of the movaps instruction which assumes that
it will be provided aes keys that are 16 byte aligned. This
assumption seems to hold on Illumos, but on Linux some kernel
options such as 'slub_debug=P' will violate it. This patch
changes all instances of this instruction to movups which is
the same except that it can handle unaligned memory.

This patch also adds a few flags which were accidentally never
given to the assembly compiler, resulting in objtool warnings.

Reviewed by: Gvozden Neskovic <neskovic@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Nathaniel R. Lewis <linux.robotdude@gmail.com>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #7065 
Closes #7108
2018-01-31 15:17:56 -08:00
..
algs Post-Encryption Followup 2017-10-13 10:02:39 -07:00
api Illumos Crypto Port module added to enable native encryption in zfs 2016-07-20 10:43:30 -07:00
asm-x86_64 Change movaps to movups in AES-NI code 2018-01-31 15:17:56 -08:00
core Native Encryption for ZFS on Linux 2017-08-14 10:36:48 -07:00
include [icp] fpu and asm cleanup for linux 2017-03-07 12:59:31 -08:00
io Linux 4.14 compat: CONFIG_GCC_PLUGIN_RANDSTRUCT 2017-11-28 17:33:48 -06:00
os Linux 4.14 compat: CONFIG_GCC_PLUGIN_RANDSTRUCT 2017-11-28 17:33:48 -06:00
spi Allow longer SPA names in stats 2017-08-11 08:56:24 -07:00
illumos-crypto.c Retire legacy test infrastructure 2017-08-15 17:26:38 -07:00
Makefile.in Change movaps to movups in AES-NI code 2018-01-31 15:17:56 -08:00