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

keyctl.h (1276B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/* keyctl kernel bits
      3 *
      4 * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
      5 * Written by David Howells (dhowells@redhat.com)
      6 */
      7
      8#ifndef __LINUX_KEYCTL_H
      9#define __LINUX_KEYCTL_H
     10
     11#include <uapi/linux/keyctl.h>
     12
     13struct kernel_pkey_query {
     14	__u32		supported_ops;	/* Which ops are supported */
     15	__u32		key_size;	/* Size of the key in bits */
     16	__u16		max_data_size;	/* Maximum size of raw data to sign in bytes */
     17	__u16		max_sig_size;	/* Maximum size of signature in bytes */
     18	__u16		max_enc_size;	/* Maximum size of encrypted blob in bytes */
     19	__u16		max_dec_size;	/* Maximum size of decrypted blob in bytes */
     20};
     21
     22enum kernel_pkey_operation {
     23	kernel_pkey_encrypt,
     24	kernel_pkey_decrypt,
     25	kernel_pkey_sign,
     26	kernel_pkey_verify,
     27};
     28
     29struct kernel_pkey_params {
     30	struct key	*key;
     31	const char	*encoding;	/* Encoding (eg. "oaep" or "raw" for none) */
     32	const char	*hash_algo;	/* Digest algorithm used (eg. "sha1") or NULL if N/A */
     33	char		*info;		/* Modified info string to be released later */
     34	__u32		in_len;		/* Input data size */
     35	union {
     36		__u32	out_len;	/* Output buffer size (enc/dec/sign) */
     37		__u32	in2_len;	/* 2nd input data size (verify) */
     38	};
     39	enum kernel_pkey_operation op : 8;
     40};
     41
     42#endif /* __LINUX_KEYCTL_H */