summaryrefslogtreecommitdiff
path: root/crypto/gcm.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2012-02-05 15:09:28 +1100
committerHerbert Xu <herbert@gondor.apana.org.au>2012-02-05 15:09:28 +1100
commitc11755f90bf996ea54d68bdb7739b68112ca5ddd (patch)
treeb220cee873cb73de091c375517b1de65fab2d78c /crypto/gcm.c
parentf722e3d8f9f3904224192f21bd6a120ca13f5e63 (diff)
downloadlinux-crypto-c11755f90bf996ea54d68bdb7739b68112ca5ddd.tar.gz
linux-crypto-c11755f90bf996ea54d68bdb7739b68112ca5ddd.zip
crypto: sha512 - Avoid stack bloat on i386
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. Cc: stable@vger.kernel.org Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/gcm.c')
0 files changed, 0 insertions, 0 deletions