cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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 */