check_signature.c (635B)
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/io.h> 3#include <linux/export.h> 4 5/** 6 * check_signature - find BIOS signatures 7 * @io_addr: mmio address to check 8 * @signature: signature block 9 * @length: length of signature 10 * 11 * Perform a signature comparison with the mmio address io_addr. This 12 * address should have been obtained by ioremap. 13 * Returns 1 on a match. 14 */ 15 16int check_signature(const volatile void __iomem *io_addr, 17 const unsigned char *signature, int length) 18{ 19 while (length--) { 20 if (readb(io_addr) != *signature) 21 return 0; 22 io_addr++; 23 signature++; 24 } 25 return 1; 26} 27EXPORT_SYMBOL(check_signature);