fsverity: explicitly check that there is no algorithm 0
Since libfsverity and some other code would break if 0 is ever allocated as an FS_VERITY_HASH_ALG_* value, make fsverity_check_hash_algs() explicitly check that there is no algorithm 0. Link: https://lore.kernel.org/r/20230705211719.37713-1-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
parent
06c2afb862
commit
5d37a11980
|
@ -226,6 +226,14 @@ void __init fsverity_check_hash_algs(void)
|
||||||
if (!alg->name)
|
if (!alg->name)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 0 must never be allocated as an FS_VERITY_HASH_ALG_* value,
|
||||||
|
* as it is reserved for users that use 0 to mean unspecified or
|
||||||
|
* a default value. fs/verity/ itself doesn't care and doesn't
|
||||||
|
* have a default algorithm, but some users make use of this.
|
||||||
|
*/
|
||||||
|
BUG_ON(i == 0);
|
||||||
|
|
||||||
BUG_ON(alg->digest_size > FS_VERITY_MAX_DIGEST_SIZE);
|
BUG_ON(alg->digest_size > FS_VERITY_MAX_DIGEST_SIZE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue