Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp39532img; Tue, 19 Mar 2019 17:21:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqwAdoVG28Xf6epB/6OQ8GA6OoqWsbLk5+sWWszoS7YxVS3T7yrJDFu98SAZaqDdYnFBhXs2 X-Received: by 2002:a17:902:968a:: with SMTP id n10mr4952272plp.283.1553041266156; Tue, 19 Mar 2019 17:21:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553041266; cv=none; d=google.com; s=arc-20160816; b=lDLGYdG59KbrnylVX6v/LN2MAroARIbsis+buvF3OaVhfHHFuwPbTQ0MjcirMRbzwM Qw8X8Nj1P2FdNfldnyvGacgj1IAGB5UoUpsB1z4xQj2+19IEwCOup1jrDmkTJBc3U5lZ J15dro/GhCN8eUDqIb0KID/mL3CBOH/rEXLdVicQZl4Y2NGkky7aTHEbvpiQLyMj3VGz NMMl8eBXDxJBvDBF8KB8SdDH+lQT7jAyHldn9nf06TdsBHWuM96Mv9+1LzrJaicR7i6r mZjxgdpXRlwYYWk88+ln7zjcKcbF8N5ogiQYxfiw0dc4NZfA7bJgtLT2wYMDTvIG+5RO n3Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=RnMBtikaXl7CNIq06JeyQDH720IPf6TuGSxsVbdcOY8=; b=wnCmkustgTpR0f3hp3cDRbVuSFNv5hDwmiV5gC8bvhF1Any1I2m5TwSDL9UCDzmKMZ f4+3IqBlCrNM7S6qQy0hANC3ENxkIDxHNvwKx/gUhAuQYvqNuV4t3jw6QVq7sv1rO9IE jGReQKCnAoPOmts1rHS+qfZgrTQjAJhYn0ts8TxdeocQgPRShhgyHXPBeCFfr/nvwmCk 6RzjT9gXQLMzRLjz2LGps0DWloNbhjP3Vccna+uhn2vro9c2+UZEN6Ku4RgVZod7T5w5 qvTFJRtxaZVrVwZgG4OO6w+u3E/9vytRwp5D+eUmYwEW+ErvedRlDhwfW/BmqFUq1F89 i9Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=xC44Ga7p; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b75si296558pfm.127.2019.03.19.17.20.49; Tue, 19 Mar 2019 17:21:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=xC44Ga7p; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727411AbfCTAUN (ORCPT + 99 others); Tue, 19 Mar 2019 20:20:13 -0400 Received: from mail-ot1-f66.google.com ([209.85.210.66]:42665 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727192AbfCTAUN (ORCPT ); Tue, 19 Mar 2019 20:20:13 -0400 Received: by mail-ot1-f66.google.com with SMTP id 103so521786otd.9 for ; Tue, 19 Mar 2019 17:20:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RnMBtikaXl7CNIq06JeyQDH720IPf6TuGSxsVbdcOY8=; b=xC44Ga7pi5Alb5AHzgTOYHLrZzCQ1gQMDGOMT0TUcS3VeOB9zlLyT7nUyw6w8PPcLr dn5G74X92KOUotxVsgKVoiZqo6WiIhPU1pmdgQ+OOmxifgXA5vNOnpPaMEWkOHl4BNaI d+e+CsgO6QY2hdthwkmuT4sxhZYgKrKyHXa5CNDvAMYTlPhPcYyFU45eIWCGbBLLCyYA 7nUKKpvlg5YMKwzW1hPpHOSqqQs88OUplrwOjsW4YyjgYJODdjcw4R5/BcXgPgd4kwBA qqmPQrtXlDirootQ85Bvw9flHEZ5z4yuRMVs/bTxh74/QI0uYtIgqIUj20Dnb9VP0J77 CSmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RnMBtikaXl7CNIq06JeyQDH720IPf6TuGSxsVbdcOY8=; b=Yn1WMjzYqnO3yvCNY/Shze0FZzHATA3iQEbouHglI/w69RQVu5G9lnVi/LPG0vG2eW sEdS/pKzONjFGcb/fGVIERwU4kP0yIFyzGCzBm2Ay1b4xOecqDrgfXph2OFObtRvZUvo QQmlVfH6iWxzxLjhWD4j+Zzfa3ZIUFIUnWdrPeeD5SGwUIcj/GWiDbk/HKh3+2OkbBjt Ex9qfuFwPcGNqgLRDYDmGHg2vw1GYp64bPg2BR4lkARNGbvavc0wU4NbY+ITAvbt7Ad1 PqtFuhvUdcE7AyvWDySXZK7u8iUdxIKjpFkWzYFSIR/1d+83Y1X74YBxt8xt/BsHU7kP ahPg== X-Gm-Message-State: APjAAAWZs6l73xPa0tYz3gjinul2DwhZNZ804fiGmTTrVWw5xfkINcYu 8qWechUIAlKeCbRUeU1QP/v5psbZyhU8i9mCGYsC4Q== X-Received: by 2002:a9d:4d0b:: with SMTP id n11mr3019821otf.98.1553041212574; Tue, 19 Mar 2019 17:20:12 -0700 (PDT) MIME-Version: 1.0 References: <155297557534.2276575.16264199708584900090.stgit@dwillia2-desk3.amr.corp.intel.com> <155297558570.2276575.11731393787282486177.stgit@dwillia2-desk3.amr.corp.intel.com> <1553040398.4899.149.camel@linux.ibm.com> In-Reply-To: <1553040398.4899.149.camel@linux.ibm.com> From: Dan Williams Date: Tue, 19 Mar 2019 17:20:01 -0700 Message-ID: Subject: Re: [PATCH 2/6] security/keys/encrypted: Clean up request_trusted_key() To: Mimi Zohar Cc: keyrings@vger.kernel.org, James Bottomley , David Howells , Vishal L Verma , linux-nvdimm , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 19, 2019 at 5:07 PM Mimi Zohar wrote: > > On Mon, 2019-03-18 at 23:06 -0700, Dan Williams wrote: > > < snip > > > > +/* > > + * request_trusted_key - request the trusted key > > + * > > + * Trusted keys are sealed to PCRs and other metadata. Although userspace > > + * manages both trusted/encrypted key-types, like the encrypted key type > > + * data, trusted key type data is not visible decrypted from userspace. > > + */ > > +static struct key *request_trusted_key(const char *trusted_desc, > > + const u8 **master_key, size_t *master_keylen) > > +{ > > + struct trusted_key_payload *tpayload; > > + struct key_type *type; > > + struct key *tkey; > > + > > + type = key_type_lookup("trusted"); > > The associated key_type_put() will need to be called. Yes. > > > + if (IS_ERR(type)) { > > + tkey = (struct key *)type; > > + goto error; > > + } > > + tkey = request_key(type, trusted_desc, NULL); > > + if (IS_ERR(tkey)) > > + goto error; > > + > > + down_read(&tkey->sem); > > + tpayload = tkey->payload.data[0]; > > + *master_key = tpayload->key; > > + *master_keylen = tpayload->key_len; > > +error: > > + return tkey; > > +} > > + > > > > > diff --git a/security/keys/key.c b/security/keys/key.c > > index 696f1c092c50..9045b62afb04 100644 > > --- a/security/keys/key.c > > +++ b/security/keys/key.c > > @@ -706,6 +706,7 @@ struct key_type *key_type_lookup(const char *type) > > found_kernel_type: > > return ktype; > > } > > +EXPORT_SYMBOL_GPL(key_type_lookup); This needs to be moved to patch1. > Only the kernel is calling key_type_lookup(). Why does > key_type_lookup() need to be exported? This patch series adds several new callers outside of keys-subsystem core that need this export, the first one being encrypted-keys itself in patch1. drivers/nvdimm/security.c:57: type = key_type_lookup("encrypted"); fs/ecryptfs/keystore.c:1627: type = key_type_lookup("encrypted"); security/integrity/evm/evm_crypto.c:361: type = key_type_lookup("encrypted"); security/keys/encrypted-keys/encrypted.c:440: type = key_type_lookup("trusted");