]> git.baikalelectronics.ru Git - kernel.git/commit
PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check
authorChris von Recklinghausen <crecklin@redhat.com>
Tue, 20 Apr 2021 12:57:39 +0000 (08:57 -0400)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 21 Apr 2021 17:03:37 +0000 (19:03 +0200)
commit7edf5b50e7d2ec1338c964e1e43537b55fb8cab3
treee22d2b21698b43f919f759272be67438f72e2c98
parent825c56e9fceb251f68fe53146c2d88b216869486
PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check

Hibernation fails on a system in fips mode because md5 is used for the e820
integrity check and is not available. Use crc32 instead.

The check is intended to detect whether the E820 memory map provided
by the firmware after cold boot unexpectedly differs from the one that
was in use when the hibernation image was created. In this case, the
hibernation image cannot be restored, as it may cover memory regions
that are no longer available to the OS.

A non-cryptographic checksum such as CRC-32 is sufficient to detect such
inadvertent deviations.

Fixes: 35b979b71cfe ("PM / hibernate: Verify the consistent of e820 memory map by md5 digest")
Reviewed-by: Eric Biggers <ebiggers@google.com>
Tested-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Chris von Recklinghausen <crecklin@redhat.com>
[ rjw: Subject edit ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/kernel/e820.c
arch/x86/power/hibernate.c