dm-verity-verify-sig.h (1641B)
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Copyright (C) 2019 Microsoft Corporation. 4 * 5 * Author: Jaskaran Singh Khurana <jaskarankhurana@linux.microsoft.com> 6 * 7 */ 8#ifndef DM_VERITY_SIG_VERIFICATION_H 9#define DM_VERITY_SIG_VERIFICATION_H 10 11#define DM_VERITY_ROOT_HASH_VERIFICATION "DM Verity Sig Verification" 12#define DM_VERITY_ROOT_HASH_VERIFICATION_OPT_SIG_KEY "root_hash_sig_key_desc" 13 14struct dm_verity_sig_opts { 15 unsigned int sig_size; 16 u8 *sig; 17}; 18 19#ifdef CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG 20 21#define DM_VERITY_ROOT_HASH_VERIFICATION_OPTS 2 22 23int verity_verify_root_hash(const void *data, size_t data_len, 24 const void *sig_data, size_t sig_len); 25bool verity_verify_is_sig_opt_arg(const char *arg_name); 26 27int verity_verify_sig_parse_opt_args(struct dm_arg_set *as, struct dm_verity *v, 28 struct dm_verity_sig_opts *sig_opts, 29 unsigned int *argc, const char *arg_name); 30 31void verity_verify_sig_opts_cleanup(struct dm_verity_sig_opts *sig_opts); 32 33#else 34 35#define DM_VERITY_ROOT_HASH_VERIFICATION_OPTS 0 36 37static inline int verity_verify_root_hash(const void *data, size_t data_len, 38 const void *sig_data, size_t sig_len) 39{ 40 return 0; 41} 42 43static inline bool verity_verify_is_sig_opt_arg(const char *arg_name) 44{ 45 return false; 46} 47 48static inline int verity_verify_sig_parse_opt_args(struct dm_arg_set *as, 49 struct dm_verity *v, struct dm_verity_sig_opts *sig_opts, 50 unsigned int *argc, const char *arg_name) 51{ 52 return -EINVAL; 53} 54 55static inline void verity_verify_sig_opts_cleanup(struct dm_verity_sig_opts *sig_opts) 56{ 57} 58 59#endif /* CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG */ 60#endif /* DM_VERITY_SIG_VERIFICATION_H */