]> git.baikalelectronics.ru Git - kernel.git/commit
dm verity: add 'check_at_most_once' option to only validate hashes once
authorPatrik Torstensson <totte@google.com>
Fri, 23 Mar 2018 01:18:04 +0000 (18:18 -0700)
committerMike Snitzer <snitzer@redhat.com>
Tue, 3 Apr 2018 19:04:29 +0000 (15:04 -0400)
commit4012ed4461a84c586ef10755cb10442b8bddb542
treea056d2fe94b2bb94ee075b8d1ae6f03d87b81382
parent58a3be5bc30e9336f12a33a6f997312381d83594
dm verity: add 'check_at_most_once' option to only validate hashes once

This allows platforms that are CPU/memory contrained to verify data
blocks only the first time they are read from the data device, rather
than every time.  As such, 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.

This option introduces a bitset that is used to check if a block has
been validated before or not.  A block can be validated more than once
as there is no thread protection for the bitset.

These changes were developed and tested on entry-level Android Go
devices.

Signed-off-by: Patrik Torstensson <totte@google.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Documentation/device-mapper/verity.txt
drivers/md/dm-verity-target.c
drivers/md/dm-verity.h