diff options
author | megha.dey@linux.intel.com <megha.dey@linux.intel.com> | 2017-08-02 13:49:09 -0700 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2017-08-09 20:01:37 +0800 |
commit | 8861249c740fc4af9ddc5aee321eafefb960d7c6 (patch) | |
tree | 1c79fc822f74626f9a8dbf80b17c93a8d3b59801 /lib | |
parent | 28389575a8cf933a5f3c378556b9f4d3cce0efd2 (diff) | |
download | linux-8861249c740fc4af9ddc5aee321eafefb960d7c6.tar.gz linux-8861249c740fc4af9ddc5aee321eafefb960d7c6.tar.bz2 linux-8861249c740fc4af9ddc5aee321eafefb960d7c6.zip |
crypto: x86/sha1 - Fix reads beyond the number of blocks passed
It was reported that the sha1 AVX2 function(sha1_transform_avx2) is
reading ahead beyond its intended data, and causing a crash if the next
block is beyond page boundary:
http://marc.info/?l=linux-crypto-vger&m=149373371023377
This patch makes sure that there is no overflow for any buffer length.
It passes the tests written by Jan Stancek that revealed this problem:
https://github.com/jstancek/sha1-avx2-crash
I have re-enabled sha1-avx2 by reverting commit
b82ce24426a4071da9529d726057e4e642948667
Cc: <stable@vger.kernel.org>
Fixes: b82ce24426a4 ("crypto: sha1-ssse3 - Disable avx2")
Originally-by: Ilya Albrekht <ilya.albrekht@intel.com>
Tested-by: Jan Stancek <jstancek@redhat.com>
Signed-off-by: Megha Dey <megha.dey@linux.intel.com>
Reported-by: Jan Stancek <jstancek@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions