libnvdimm/labels: Add a checksum calculation helper
authorDan Williams <dan.j.williams@intel.com>
Tue, 24 Aug 2021 16:05:46 +0000 (09:05 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 24 Aug 2021 19:08:28 +0000 (12:08 -0700)
commit7cd35b2920500908eb3d9d00939f2aea3e8f8361
tree28b92d7a70a5cc95c3a3f34522f4736bc90de1ba
parent8176f147891258a8eb42bf5579fa344fef34e5bc
libnvdimm/labels: Add a checksum calculation helper

In preparation for LIBNVDIMM to manage labels on CXL devices deploy
helpers that abstract the label type from the implementation. The CXL
label format is mostly similar to the EFI label format with concepts /
fields added, like dynamic region creation and label type guids, and
other concepts removed like BLK-mode and interleave-set-cookie ids.

CXL labels support checksums by default, but early versions of the EFI
labels did not. Add a validate function that can return true in the case
the label format does not implement a checksum.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/162982114637.1124374.6966639787307077105.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/label.c