From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gK2y9-0007fj-MJ for kexec@lists.infradead.org; Tue, 06 Nov 2018 15:08:42 +0000 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wA6F581D030112 for ; Tue, 6 Nov 2018 10:08:27 -0500 Received: from e06smtp03.uk.ibm.com (e06smtp03.uk.ibm.com [195.75.94.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 2nkcg32tbb-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 06 Nov 2018 10:08:27 -0500 Received: from localhost by e06smtp03.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 6 Nov 2018 15:08:25 -0000 Subject: Re: [PATCH v2 2/3] keys: export find_keyring_by_name() From: Mimi Zohar Date: Tue, 06 Nov 2018 10:08:05 -0500 In-Reply-To: <20180309153803.25859-2-nayna@linux.vnet.ibm.com> References: <20180309153803.25859-1-nayna@linux.vnet.ibm.com> <20180309153803.25859-2-nayna@linux.vnet.ibm.com> Mime-Version: 1.0 Message-Id: <1541516885.8568.29.camel@linux.ibm.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Nayna Jain , dhowells@redhat.com Cc: pjones@redhat.com, Michael Ellerman , kexec@lists.infradead.org, linux-kernel@vger.kernel.org, seth.forshee@canonical.com, linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, ebiederm@xmission.com, jforbes@redhat.com, linux-integrity@vger.kernel.org, dyoung@redhat.com, vgoyal@redhat.com SGkgTmF5bmEsCgpPbiBGcmksIDIwMTgtMDMtMDkgYXQgMjE6MDggKzA1MzAsIE5heW5hIEphaW4g d3JvdGU6Cj4gVGhpcyBwYXRjaCBleHBvcnRzIHRoZSBmdW5jdGlvbiBmaW5kX2tleXJpbmdfYnlf bmFtZSgpIHRvIGJlIHVzZWQgYnkKPiBvdGhlciBzdWJzeXN0ZW1zLgoKTG9va2luZyB0aGlzIHBh dGNoIG92ZXIgYWdhaW4sIEkgcmVhbGl6ZSB0aGF0IGV4cG9ydGVkIGZ1bmN0aW9ucyBtdXN0CmJl IHByZWZpeGVkIHdpdGggdGhlIHN1YnN5c3RlbSBuYW1lLiDCoEknbSBhbHNvIGEgYml0IGNvbmNl cm5lZCB3aXRoCmV4cG9ydGluZyBmaW5kX2tleXJpbmdfYnlfbmFtZSgpLiDCoERhdmlkLCBhbnkg Y29tbWVudHM/CgpQZXJoYXBzIGl0IHdvdWxkIGJlIGJldHRlciBpZiBJTUEgY3JlYXRlcyB0aGUg LnBsYXRmb3JtIGtleXJpbmcgc28KdGhhdCBpdCBoYXMgYWNjZXNzIHRvIHRoZSBrZXlyaW5nIGlk IGluc3RlYWQuCgpNaW1pCsKgwqAKPiAKPiBTaWduZWQtb2ZmLWJ5OiBOYXluYSBKYWluIDxuYXlu YUBsaW51eC52bmV0LmlibS5jb20+Cj4gLS0tCj4gQ2hhbmdlbG9nOgo+IAo+IHYyOgo+ICogRml4 IHRoZSBwYXRjaCBkZXNjcmlwdGlvbiBwZXIgbGluZSBsZW5ndGggYXMgc3VnZ2VzdGVkIGJ5IE1p bWkKPiAKPiAgaW5jbHVkZS9saW51eC9rZXkuaCAgICAgIHwgMiArKwo+ICBzZWN1cml0eS9rZXlz L2ludGVybmFsLmggfCAyIC0tCj4gIHNlY3VyaXR5L2tleXMva2V5cmluZy5jICB8IDEgKwo+ICAz IGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rZXkuaCBiL2luY2x1ZGUvbGludXgva2V5LmgKPiBpbmRl eCBlNThlZTEwZjZlNTguLmM4ZDMzMmQ0MTAzYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4 L2tleS5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9rZXkuaAo+IEBAIC0zNDYsNiArMzQ2LDggQEAg c3RhdGljIGlubGluZSBrZXlfc2VyaWFsX3Qga2V5X3NlcmlhbChjb25zdCBzdHJ1Y3Qga2V5ICpr ZXkpCj4gCj4gIGV4dGVybiB2b2lkIGtleV9zZXRfdGltZW91dChzdHJ1Y3Qga2V5ICosIHVuc2ln bmVkKTsKPiAKPiArZXh0ZXJuIHN0cnVjdCBrZXkgKmZpbmRfa2V5cmluZ19ieV9uYW1lKGNvbnN0 IGNoYXIgKm5hbWUsIGJvb2wgdWlkX2tleXJpbmcpOwo+ICsKPiAgLyoKPiAgICogVGhlIHBlcm1p c3Npb25zIHJlcXVpcmVkIG9uIGEga2V5IHRoYXQgd2UncmUgbG9va2luZyB1cC4KPiAgICovCj4g ZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2tleXMvaW50ZXJuYWwuaCBiL3NlY3VyaXR5L2tleXMvaW50 ZXJuYWwuaAo+IGluZGV4IDlmODIwOGRjMGU1NS4uOGFhOGQzNDdhMWFiIDEwMDY0NAo+IC0tLSBh L3NlY3VyaXR5L2tleXMvaW50ZXJuYWwuaAo+ICsrKyBiL3NlY3VyaXR5L2tleXMvaW50ZXJuYWwu aAo+IEBAIC0xNDEsOCArMTQxLDYgQEAgZXh0ZXJuIGtleV9yZWZfdCBrZXlyaW5nX3NlYXJjaF9h dXgoa2V5X3JlZl90IGtleXJpbmdfcmVmLAo+ICBleHRlcm4ga2V5X3JlZl90IHNlYXJjaF9teV9w cm9jZXNzX2tleXJpbmdzKHN0cnVjdCBrZXlyaW5nX3NlYXJjaF9jb250ZXh0ICpjdHgpOwo+ICBl eHRlcm4ga2V5X3JlZl90IHNlYXJjaF9wcm9jZXNzX2tleXJpbmdzKHN0cnVjdCBrZXlyaW5nX3Nl YXJjaF9jb250ZXh0ICpjdHgpOwo+IAo+IC1leHRlcm4gc3RydWN0IGtleSAqZmluZF9rZXlyaW5n X2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSwgYm9vbCB1aWRfa2V5cmluZyk7Cj4gLQo+ICBleHRl cm4gaW50IGluc3RhbGxfdXNlcl9rZXlyaW5ncyh2b2lkKTsKPiAgZXh0ZXJuIGludCBpbnN0YWxs X3RocmVhZF9rZXlyaW5nX3RvX2NyZWQoc3RydWN0IGNyZWQgKik7Cj4gIGV4dGVybiBpbnQgaW5z dGFsbF9wcm9jZXNzX2tleXJpbmdfdG9fY3JlZChzdHJ1Y3QgY3JlZCAqKTsKPiBkaWZmIC0tZ2l0 IGEvc2VjdXJpdHkva2V5cy9rZXlyaW5nLmMgYi9zZWN1cml0eS9rZXlzL2tleXJpbmcuYwo+IGlu ZGV4IDQxYmNmNTdlOTZmMi4uNGI5YzNmMTE2NmQxIDEwMDY0NAo+IC0tLSBhL3NlY3VyaXR5L2tl eXMva2V5cmluZy5jCj4gKysrIGIvc2VjdXJpdHkva2V5cy9rZXlyaW5nLmMKPiBAQCAtMTE1Miw2 ICsxMTUyLDcgQEAgc3RydWN0IGtleSAqZmluZF9rZXlyaW5nX2J5X25hbWUoY29uc3QgY2hhciAq bmFtZSwgYm9vbCB1aWRfa2V5cmluZykKPiAgCXJlYWRfdW5sb2NrKCZrZXlyaW5nX25hbWVfbG9j ayk7Cj4gIAlyZXR1cm4ga2V5cmluZzsKPiAgfQo+ICtFWFBPUlRfU1lNQk9MKGZpbmRfa2V5cmlu Z19ieV9uYW1lKTsKPiAKPiAgc3RhdGljIGludCBrZXlyaW5nX2RldGVjdF9jeWNsZV9pdGVyYXRv cihjb25zdCB2b2lkICpvYmplY3QsCj4gIAkJCQkJIHZvaWQgKml0ZXJhdG9yX2RhdGEpCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGlu ZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mimi Zohar Date: Tue, 06 Nov 2018 15:08:05 +0000 Subject: Re: [PATCH v2 2/3] keys: export find_keyring_by_name() Message-Id: <1541516885.8568.29.camel@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit List-Id: References: <20180309153803.25859-1-nayna@linux.vnet.ibm.com> <20180309153803.25859-2-nayna@linux.vnet.ibm.com> In-Reply-To: <20180309153803.25859-2-nayna@linux.vnet.ibm.com> To: Nayna Jain , dhowells@redhat.com Cc: keyrings@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org, jforbes@redhat.com, seth.forshee@canonical.com, pjones@redhat.com, vgoyal@redhat.com, dyoung@redhat.com, ebiederm@xmission.com, kexec@lists.infradead.org, Michael Ellerman Hi Nayna, On Fri, 2018-03-09 at 21:08 +0530, Nayna Jain wrote: > This patch exports the function find_keyring_by_name() to be used by > other subsystems. Looking this patch over again, I realize that exported functions must be prefixed with the subsystem name.  I'm also a bit concerned with exporting find_keyring_by_name().  David, any comments? Perhaps it would be better if IMA creates the .platform keyring so that it has access to the keyring id instead. Mimi    > > Signed-off-by: Nayna Jain > --- > Changelog: > > v2: > * Fix the patch description per line length as suggested by Mimi > > include/linux/key.h | 2 ++ > security/keys/internal.h | 2 -- > security/keys/keyring.c | 1 + > 3 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/include/linux/key.h b/include/linux/key.h > index e58ee10f6e58..c8d332d4103c 100644 > --- a/include/linux/key.h > +++ b/include/linux/key.h > @@ -346,6 +346,8 @@ static inline key_serial_t key_serial(const struct key *key) > > extern void key_set_timeout(struct key *, unsigned); > > +extern struct key *find_keyring_by_name(const char *name, bool uid_keyring); > + > /* > * The permissions required on a key that we're looking up. > */ > diff --git a/security/keys/internal.h b/security/keys/internal.h > index 9f8208dc0e55..8aa8d347a1ab 100644 > --- a/security/keys/internal.h > +++ b/security/keys/internal.h > @@ -141,8 +141,6 @@ extern key_ref_t keyring_search_aux(key_ref_t keyring_ref, > extern key_ref_t search_my_process_keyrings(struct keyring_search_context *ctx); > extern key_ref_t search_process_keyrings(struct keyring_search_context *ctx); > > -extern struct key *find_keyring_by_name(const char *name, bool uid_keyring); > - > extern int install_user_keyrings(void); > extern int install_thread_keyring_to_cred(struct cred *); > extern int install_process_keyring_to_cred(struct cred *); > diff --git a/security/keys/keyring.c b/security/keys/keyring.c > index 41bcf57e96f2..4b9c3f1166d1 100644 > --- a/security/keys/keyring.c > +++ b/security/keys/keyring.c > @@ -1152,6 +1152,7 @@ struct key *find_keyring_by_name(const char *name, bool uid_keyring) > read_unlock(&keyring_name_lock); > return keyring; > } > +EXPORT_SYMBOL(find_keyring_by_name); > > static int keyring_detect_cycle_iterator(const void *object, > void *iterator_data) From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B820CC32789 for ; Tue, 6 Nov 2018 15:08:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8B9F520862 for ; Tue, 6 Nov 2018 15:08:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8B9F520862 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-integrity-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387444AbeKGAeH (ORCPT ); Tue, 6 Nov 2018 19:34:07 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:58390 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730800AbeKGAeH (ORCPT ); Tue, 6 Nov 2018 19:34:07 -0500 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wA6F4tmW135232 for ; Tue, 6 Nov 2018 10:08:28 -0500 Received: from e06smtp03.uk.ibm.com (e06smtp03.uk.ibm.com [195.75.94.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 2nkd1k100r-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 06 Nov 2018 10:08:27 -0500 Received: from localhost by e06smtp03.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 6 Nov 2018 15:08:25 -0000 Received: from b06cxnps4074.portsmouth.uk.ibm.com (9.149.109.196) by e06smtp03.uk.ibm.com (192.168.101.133) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Tue, 6 Nov 2018 15:08:19 -0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wA6F8InQ5243278 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 6 Nov 2018 15:08:18 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 221BC52052; Tue, 6 Nov 2018 15:08:18 +0000 (GMT) Received: from localhost.localdomain (unknown [9.80.87.124]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id 8D5BD52050; Tue, 6 Nov 2018 15:08:16 +0000 (GMT) Subject: Re: [PATCH v2 2/3] keys: export find_keyring_by_name() From: Mimi Zohar To: Nayna Jain , dhowells@redhat.com Cc: keyrings@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org, jforbes@redhat.com, seth.forshee@canonical.com, pjones@redhat.com, vgoyal@redhat.com, dyoung@redhat.com, ebiederm@xmission.com, kexec@lists.infradead.org, Michael Ellerman Date: Tue, 06 Nov 2018 10:08:05 -0500 In-Reply-To: <20180309153803.25859-2-nayna@linux.vnet.ibm.com> References: <20180309153803.25859-1-nayna@linux.vnet.ibm.com> <20180309153803.25859-2-nayna@linux.vnet.ibm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 x-cbid: 18110615-0012-0000-0000-000002C49453 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18110615-0013-0000-0000-000020F8D98A Message-Id: <1541516885.8568.29.camel@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-11-06_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1811060133 Sender: linux-integrity-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-integrity@vger.kernel.org Hi Nayna, On Fri, 2018-03-09 at 21:08 +0530, Nayna Jain wrote: > This patch exports the function find_keyring_by_name() to be used by > other subsystems. Looking this patch over again, I realize that exported functions must be prefixed with the subsystem name.  I'm also a bit concerned with exporting find_keyring_by_name().  David, any comments? Perhaps it would be better if IMA creates the .platform keyring so that it has access to the keyring id instead. Mimi    > > Signed-off-by: Nayna Jain > --- > Changelog: > > v2: > * Fix the patch description per line length as suggested by Mimi > > include/linux/key.h | 2 ++ > security/keys/internal.h | 2 -- > security/keys/keyring.c | 1 + > 3 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/include/linux/key.h b/include/linux/key.h > index e58ee10f6e58..c8d332d4103c 100644 > --- a/include/linux/key.h > +++ b/include/linux/key.h > @@ -346,6 +346,8 @@ static inline key_serial_t key_serial(const struct key *key) > > extern void key_set_timeout(struct key *, unsigned); > > +extern struct key *find_keyring_by_name(const char *name, bool uid_keyring); > + > /* > * The permissions required on a key that we're looking up. > */ > diff --git a/security/keys/internal.h b/security/keys/internal.h > index 9f8208dc0e55..8aa8d347a1ab 100644 > --- a/security/keys/internal.h > +++ b/security/keys/internal.h > @@ -141,8 +141,6 @@ extern key_ref_t keyring_search_aux(key_ref_t keyring_ref, > extern key_ref_t search_my_process_keyrings(struct keyring_search_context *ctx); > extern key_ref_t search_process_keyrings(struct keyring_search_context *ctx); > > -extern struct key *find_keyring_by_name(const char *name, bool uid_keyring); > - > extern int install_user_keyrings(void); > extern int install_thread_keyring_to_cred(struct cred *); > extern int install_process_keyring_to_cred(struct cred *); > diff --git a/security/keys/keyring.c b/security/keys/keyring.c > index 41bcf57e96f2..4b9c3f1166d1 100644 > --- a/security/keys/keyring.c > +++ b/security/keys/keyring.c > @@ -1152,6 +1152,7 @@ struct key *find_keyring_by_name(const char *name, bool uid_keyring) > read_unlock(&keyring_name_lock); > return keyring; > } > +EXPORT_SYMBOL(find_keyring_by_name); > > static int keyring_detect_cycle_iterator(const void *object, > void *iterator_data)