Some generic implementations of vintage ciphers rely on alignmasks to ensure that the input is presented with the right alignment. Given that these are all C implementations, which may execute on architectures that don't care about alignment in the first place, it is better to use the unaligned accessors, which will deal with the misalignment in a way that is appropriate for the architecture in question (and in many cases, this means simply ignoring the misalignment, as the hardware doesn't care either)
So fix this across a number of implementations. Patch #1 stands out because michael_mic.c was broken in spite of the alignmask. Patch #2 removes tnepres instead of updating it, given that there is no point in keeping it. The remaining patches all update generic ciphers that are outdated but still used, and which are the only implementations available on most architectures other than x86. Ard Biesheuvel (9): crypto: michael_mic - fix broken misalignment handling crypto: serpent - get rid of obsolete tnepres variant crypto: serpent - use unaligned accessors instead of alignmask crypto: blowfish - use unaligned accessors instead of alignmask crypto: camellia - use unaligned accessors instead of alignmask crypto: cast5 - use unaligned accessors instead of alignmask crypto: cast6 - use unaligned accessors instead of alignmask crypto: fcrypt - drop unneeded alignmask crypto: twofish - use unaligned accessors instead of alignmask crypto/Kconfig | 3 +- crypto/blowfish_generic.c | 23 ++-- crypto/camellia_generic.c | 45 +++---- crypto/cast5_generic.c | 23 ++-- crypto/cast6_generic.c | 39 +++--- crypto/fcrypt.c | 1 - crypto/michael_mic.c | 31 ++--- crypto/serpent_generic.c | 126 ++++---------------- crypto/tcrypt.c | 6 +- crypto/testmgr.c | 6 - crypto/testmgr.h | 79 ------------ crypto/twofish_generic.c | 11 +- 12 files changed, 90 insertions(+), 303 deletions(-) -- 2.20.1