mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 00:24:12 +08:00
crypto: padlock - Fix hashing of partial blocks
When we encounter partial blocks in finup, we'll invoke the xsha instruction with a bogus count that is not a multiple of the block size. This patch fixes it. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
cbc86b9161
commit
e9b25f16cd
@ -94,6 +94,7 @@ static int padlock_sha1_finup(struct shash_desc *desc, const u8 *in,
|
|||||||
memcpy(state.buffer + leftover, in, count);
|
memcpy(state.buffer + leftover, in, count);
|
||||||
in = state.buffer;
|
in = state.buffer;
|
||||||
count += leftover;
|
count += leftover;
|
||||||
|
state.count &= ~(SHA1_BLOCK_SIZE - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,6 +158,7 @@ static int padlock_sha256_finup(struct shash_desc *desc, const u8 *in,
|
|||||||
memcpy(state.buf + leftover, in, count);
|
memcpy(state.buf + leftover, in, count);
|
||||||
in = state.buf;
|
in = state.buf;
|
||||||
count += leftover;
|
count += leftover;
|
||||||
|
state.count &= ~(SHA1_BLOCK_SIZE - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user