crypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.
authorAndy Polyakov <appro@openssl.org>
Sat, 13 Apr 2013 18:57:37 +0000 (20:57 +0200)
committerAndy Polyakov <appro@openssl.org>
Sat, 13 Apr 2013 19:19:31 +0000 (21:19 +0200)
commit29a546720b6d8ea8b3207f500e3ed9d2834b09f2
treec82ed56db6aba38cf066d6a0714326ff3a033b9b
parent0e9dd387ea5311bfff377e54eb472c318302cd81
crypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.

While ARMv7 in general is capable of unaligned access, not all instructions
actually are. And trouble is that compiler doesn't seem to differentiate
those capable and incapable of unaligned access. Side effect is that kernel
goes into endless loop retrying same instruction triggering unaligned trap.
Problem was observed in xts128.c and ccm128.c modules. It's possible to
resolve it by using (volatile u32*) casts, but letting STRICT_ALIGNMENT
be feels more appropriate.
(cherry picked from commit 3bdd80521a81d50ade4214053cd9b293f920a77b)
crypto/modes/modes_lcl.h