]> git.baikalelectronics.ru Git - kernel.git/commit
ima: Fix ima digest hash table key calculation
authorKrzysztof Struczynski <krzysztof.struczynski@huawei.com>
Tue, 28 Apr 2020 07:30:10 +0000 (09:30 +0200)
committerMimi Zohar <zohar@linux.ibm.com>
Fri, 8 May 2020 02:54:07 +0000 (22:54 -0400)
commit806ccf475dac3ef7befbc26fe6007c4005420044
tree039561d120c6fa750e4473bef48047f9ca29c5c5
parenta4bf4c8dab3a497dced3174f031b4ea1434f5068
ima: Fix ima digest hash table key calculation

Function hash_long() accepts unsigned long, while currently only one byte
is passed from ima_hash_key(), which calculates a key for ima_htable.

Given that hashing the digest does not give clear benefits compared to
using the digest itself, remove hash_long() and return the modulus
calculated on the first two bytes of the digest with the number of slots.
Also reduce the depth of the hash table by doubling the number of slots.

Cc: stable@vger.kernel.org
Fixes: 3b6f847b5444 ("integrity: IMA as an integrity service provider")
Co-developed-by: Roberto Sassu <roberto.sassu@huawei.com>
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Signed-off-by: Krzysztof Struczynski <krzysztof.struczynski@huawei.com>
Acked-by: David.Laight@aculab.com (big endian system concerns)
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
security/integrity/ima/ima.h