mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
ANDROID: Add kconfig to make dm-verity check_at_most_once default enabled
This change adds a kernel config for default enable the check_at_most_once dm-verity option. This is to give us the ability to enforce the usage of at_most_once for entry-level phones. Change-Id: Id40416672c4c2209a9866997d8c164b5de5dc7dc Signed-off-by: Patrik Torstensson <totte@google.com> Bug: 72664474
This commit is contained in:
committed by
Tao Huang
parent
d09befa503
commit
ded2feb24a
@@ -580,4 +580,23 @@ config DM_BOW
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED
|
||||
bool "Verity will validate blocks at most once"
|
||||
depends on DM_VERITY
|
||||
---help---
|
||||
Default enables at_most_once option for dm-verity
|
||||
|
||||
Verify data blocks only the first time they are read from the
|
||||
data device, rather than every time. This reduces the overhead
|
||||
of dm-verity so that it can be used on systems that are memory
|
||||
and/or CPU constrained. However, it provides a reduced level
|
||||
of security because only offline tampering of the data device's
|
||||
content will be detected, not online tampering.
|
||||
|
||||
Hash blocks are still verified each time they are read from the
|
||||
hash device, since verification of hash blocks is less performance
|
||||
critical than data blocks, and a hash block will not be verified
|
||||
any more after all the data blocks it covers have been verified anyway.
|
||||
|
||||
If unsure, say N.
|
||||
endif # MD
|
||||
|
||||
@@ -1104,6 +1104,14 @@ static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
|
||||
goto bad;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED
|
||||
if (!v->validated_blocks) {
|
||||
r = verity_alloc_most_once(v);
|
||||
if (r)
|
||||
goto bad;
|
||||
}
|
||||
#endif
|
||||
|
||||
v->hash_per_block_bits =
|
||||
__fls((1 << v->hash_dev_block_bits) / v->digest_size);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user