• Herbert Xu's avatar
    crypto: lrw - Fix big endian support · 8eb2dfac
    Herbert Xu authored
    It turns out that LRW has never worked properly on big endian.
    This was never discussed because nobody actually used it that
    way.  In fact, it was only discovered when Geert Uytterhoeven
    loaded it through tcrypt which failed the test on it.
    
    The fix is straightforward, on big endian the to find the nth
    bit we should be grouping them by words instead of bytes.  So
    setbit128_bbe should xor with 128 - BITS_PER_LONG instead of
    128 - BITS_PER_BYTE == 0x78.
    Tested-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    8eb2dfac
lrw.c 7.62 KB