verity: don't call page_address on unmapped highmem pages

This fixes a bug that is preventing ARM systems from booting with verity.

We were calling page_address on what could potentially have been an
unmapped highmem page. Fix is to pass the struct page to the crypto code
and let crypto handle the kmap/kunmap.

BUG=chromium-os:14089,chrome-os-partner:3287
TEST=Ran dm-verity.git unit tests. Ran platform_DMVerityCorruption on H/W.
Verified that ARM now boots.

kernel-next.git Review URL: http://codereview.chromium.org/6835032

TBRing. Code has already been reviewed and committed to kernel-next.git
There are some trivial changes here to the unittest to match the new
list of parameters.

Change-Id: Id9e025552aee323e95d50aa9798a964510710fdd

Review URL: http://codereview.chromium.org/6851023
4 files changed