diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2012-02-05 15:09:28 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-20 12:46:18 -0800 |
commit | 03b762ab87db7977a7e6d9fe92dd63fa6dbc5f02 (patch) | |
tree | 5ff6130abde76509b43ab822f7d96eb458b23dd7 /virt | |
parent | f334f74575cb0d9463d39caf4a43483cfc3dd542 (diff) |
crypto: sha512 - Avoid stack bloat on i386
commit 3a92d687c8015860a19213e3c102cad6b722f83c upstream.
Unfortunately in reducing W from 80 to 16 we ended up unrolling
the loop twice. As gcc has issues dealing with 64-bit ops on
i386 this means that we end up using even more stack space (>1K).
This patch solves the W reduction by moving LOAD_OP/BLEND_OP
into the loop itself, thus avoiding the need to duplicate it.
While the stack space still isn't great (>0.5K) it is at least
in the same ball park as the amount of stack used for our C sha1
implementation.
Note that this patch basically reverts to the original code so
the diff looks bigger than it really is.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions