Lines Matching refs:sigstruct
484 static int sgx_encl_init(struct sgx_encl *encl, struct sgx_sigstruct *sigstruct, in sgx_encl_init() argument
507 if (sigstruct->body.attributes & sigstruct->body.attributes_mask & in sgx_encl_init()
511 if (sigstruct->body.miscselect & sigstruct->body.misc_mask & in sgx_encl_init()
515 if (sigstruct->body.xfrm & sigstruct->body.xfrm_mask & in sgx_encl_init()
519 ret = sgx_get_key_hash(sigstruct->modulus, mrsigner); in sgx_encl_init()
539 ret = __einit(sigstruct, token, addr); in sgx_encl_init()
594 struct sgx_sigstruct *sigstruct; in sgx_ioc_enclave_init() local
611 sigstruct = kmalloc(PAGE_SIZE, GFP_KERNEL); in sgx_ioc_enclave_init()
612 if (!sigstruct) in sgx_ioc_enclave_init()
615 token = (void *)((unsigned long)sigstruct + PAGE_SIZE / 2); in sgx_ioc_enclave_init()
618 if (copy_from_user(sigstruct, (void __user *)init_arg.sigstruct, in sgx_ioc_enclave_init()
619 sizeof(*sigstruct))) { in sgx_ioc_enclave_init()
631 if (sigstruct->header.vendor != 0x0000 && in sgx_ioc_enclave_init()
632 sigstruct->header.vendor != 0x8086) { in sgx_ioc_enclave_init()
637 ret = sgx_encl_init(encl, sigstruct, token); in sgx_ioc_enclave_init()
640 kfree(sigstruct); in sgx_ioc_enclave_init()