Revision 9f28ffc03e93343ac04874fda9edb7affea45165 authored by David S. Miller on 19 December 2012, 23:19:11 UTC, committed by David S. Miller on 19 December 2012, 23:19:11 UTC
The basic scheme of the block mode assembler is that we start by enabling the FPU, loading the key into the floating point registers, then iterate calling the encrypt/decrypt routine for each block. For the 256-bit key cases, we run short on registers in the unrolled loops. So the {ENCRYPT,DECRYPT}_256_2() macros reload the key registers that get clobbered. The unrolled macros, {ENCRYPT,DECRYPT}_256(), are not mindful of this. So if we have a mix of multi-block and single-block calls, the single-block unrolled 256-bit encrypt/decrypt can run with some of the key registers clobbered. Handle this by always explicitly loading those registers before using the non-unrolled 256-bit macro. This was discovered thanks to all of the new test cases added by Jussi Kivilinna. Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4a9d194
File | Mode | Size |
---|---|---|
mmp | ||
mvebu | ||
mxs | ||
socfpga | ||
spear | ||
ux500 | ||
versatile | ||
Kconfig | -rw-r--r-- | 1.8 KB |
Makefile | -rw-r--r-- | 1.0 KB |
clk-bcm2835.c | -rw-r--r-- | 1.9 KB |
clk-devres.c | -rw-r--r-- | 1.1 KB |
clk-divider.c | -rw-r--r-- | 8.4 KB |
clk-fixed-factor.c | -rw-r--r-- | 2.5 KB |
clk-fixed-rate.c | -rw-r--r-- | 2.8 KB |
clk-gate.c | -rw-r--r-- | 3.7 KB |
clk-highbank.c | -rw-r--r-- | 8.1 KB |
clk-ls1x.c | -rw-r--r-- | 2.8 KB |
clk-max77686.c | -rw-r--r-- | 5.7 KB |
clk-mux.c | -rw-r--r-- | 3.2 KB |
clk-nomadik.c | -rw-r--r-- | 1.5 KB |
clk-prima2.c | -rw-r--r-- | 25.8 KB |
clk-sunxi.c | -rw-r--r-- | 906 bytes |
clk-twl6040.c | -rw-r--r-- | 3.2 KB |
clk-u300.c | -rw-r--r-- | 21.4 KB |
clk-vt8500.c | -rw-r--r-- | 12.5 KB |
clk-wm831x.c | -rw-r--r-- | 9.8 KB |
clk-zynq.c | -rw-r--r-- | 9.3 KB |
clk.c | -rw-r--r-- | 43.6 KB |
clkdev.c | -rw-r--r-- | 7.4 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...