[dm-devel] [PATCH] dm: remake of the verity target

Mikulas Patocka mpatocka at redhat.com
Thu Mar 22 21:52:11 UTC 2012



On Thu, 22 Mar 2012, Mandeep Singh Baines wrote:

> Mikulas Patocka (mpatocka at redhat.com) wrote:
> > 
> > This is improved patch that supports both the old format and the new 
> > format. I checked that it is interoperable with with the old Google 
> > userspace tool and with the original Google kernel driver.
> > 
> 
> Thanks much for doing this:)
> 
> This looks good but would a prepend/append flag be better?

It does more than changing prepend/append salt. I changed alignment in the 
new format so that it doesn't have to use a multiply instruction.

In the old format, if digest size is not a power of two, all digests are 
placed first and the rest of the block is padded with zeros. In the new 
format, each digest is padded with zeros to a power of two.

For example, when using sha1, the old format padding looks like this:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccdddddddd
dddddddddddddddddddddddddddddddd00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000

... and the new format padding looks like this:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb000000000000000000000000
cccccccccccccccccccccccccccccccccccccccc000000000000000000000000
dddddddddddddddddddddddddddddddddddddddd000000000000000000000000

The version "0" (first argument in the target line) actually means the old 
style padding and the salt is hashed after the data. The version "1" means 
new style padding and the salt is hashed before the data. If someone comes 
with another format, we can use version "2" for it, etc.

Mikulas




More information about the dm-devel mailing list