Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp848562ybc; Tue, 12 Nov 2019 10:07:20 -0800 (PST) X-Google-Smtp-Source: APXvYqxWs+luztRKaJf2Bdy5AIrqAK9Yb96p8gTnEV10/2R3FHyMboHanZG50mmvhMSNLqIIewHa X-Received: by 2002:adf:d18b:: with SMTP id v11mr28478560wrc.308.1573582040066; Tue, 12 Nov 2019 10:07:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573582040; cv=none; d=google.com; s=arc-20160816; b=JY2aR/ysViY0QAf/zmxmOgb1jWqgtcbmw8R34Nbg5ReXb06Xitz0VTziIy4FpAUCkO 8yNnMQgk/RlS0483N3i2ZRXFcsuMmv1zp4k43o+88Ew2XejuiTpAF65kcdE9ZyGLVrX2 PNPMKSjRNES2vH+kPIGS56GUMNl0R85p6/YQpEoprlct7BFPuKg1wAmeed9WosyytISc nXI7Q7fPvzSnEkqa/VbIXdrI7X65PVpDEhZVDt+mGfu9bRSUFcu1XLQe1JL612/elntB wudnWHs/QgxfIkTUVJ71isiLRBsjn3dUU3DdpNuqOmkmuz2qKdN6vTiKBx3bh5Wn+EQo BNgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :mime-version:references:in-reply-to:date:to:from:subject; bh=DWmLjSE4dZfFAyL/qgXZ9/sqXYxQK9ZVLM5of0J2znM=; b=VUMgW8Z076sZkcOvzXOmo2mZrH7J4MciBFlotrI9x9dQ/JrV+hSy6oQmqonU5xVRWU xOdRe91RmfOI6XFGU4AlXpRddt2KGrHxyQjvzJI8k0/MadcWEJ80/kzZ1dPxtz6wJeXT 1mwocyB7vG88tW0zCRR54TYr+Mh4Tr9eWiNHb6CW+xQ1fU4frHWqN7w1R1cRmgnIpb+T nB07Hoi/nB028FkvlWLO5fB/3KMXPEiMut+gj4gr8rU9DcXb4YEgj6ackGjPvnjnfcQt W8KdVuqCNoGHYSulFIMcYfyAIdzP/+HKGAC1rTSfYnXjhihk6REivuMw7PqdFZLAkM7g Pz2Q== ARC-Authentication-Results: i=1; mx.google.com; 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=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q6si12997398edr.194.2019.11.12.10.06.53; Tue, 12 Nov 2019 10:07:20 -0800 (PST) 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; 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=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727004AbfKLSGN (ORCPT + 99 others); Tue, 12 Nov 2019 13:06:13 -0500 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:12836 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726979AbfKLSGN (ORCPT ); Tue, 12 Nov 2019 13:06:13 -0500 Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id xACI0L6R120963 for ; Tue, 12 Nov 2019 13:06:12 -0500 Received: from e06smtp04.uk.ibm.com (e06smtp04.uk.ibm.com [195.75.94.100]) by mx0a-001b2d01.pphosted.com with ESMTP id 2w80383ebj-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 12 Nov 2019 13:06:11 -0500 Received: from localhost by e06smtp04.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 12 Nov 2019 18:06:09 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp04.uk.ibm.com (192.168.101.134) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Tue, 12 Nov 2019 18:06:05 -0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id xACI65me49610782 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Nov 2019 18:06:05 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F0597AE04D; Tue, 12 Nov 2019 18:06:04 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C984AAE045; Tue, 12 Nov 2019 18:06:03 +0000 (GMT) Received: from localhost.localdomain (unknown [9.85.194.252]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 12 Nov 2019 18:06:03 +0000 (GMT) Subject: Re: [PATCH v5 04/10] IMA: Updated IMA policy functions to return keyrings option read from the policy From: Mimi Zohar To: Lakshmi Ramasubramanian , dhowells@redhat.com, matthewgarrett@google.com, sashal@kernel.org, jamorris@linux.microsoft.com, linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, keyrings@vger.kernel.org, linux-kernel@vger.kernel.org Date: Tue, 12 Nov 2019 13:06:03 -0500 In-Reply-To: <407b93e1-f474-7b01-816f-62b45690f417@linux.microsoft.com> References: <20191111193303.12781-1-nramas@linux.microsoft.com> <20191111193303.12781-5-nramas@linux.microsoft.com> <1573578316.17949.43.camel@linux.ibm.com> <407b93e1-f474-7b01-816f-62b45690f417@linux.microsoft.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: 19111218-0016-0000-0000-000002C31290 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19111218-0017-0000-0000-00003324A9F2 Message-Id: <1573581963.17949.63.camel@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-11-12_06:,, 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-1910280000 definitions=main-1911120154 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2019-11-12 at 09:47 -0800, Lakshmi Ramasubramanian wrote: > On 11/12/2019 9:05 AM, Mimi Zohar wrote: > > >> int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid, > >> enum ima_hooks func, int mask, int flags, int *pcr, > >> - struct ima_template_desc **template_desc) > >> + struct ima_template_desc **template_desc, > >> + char **keyrings) > >> { > >> struct ima_rule_entry *entry; > >> int action = 0, actmask = flags | (flags << 1); > >> @@ -527,6 +529,9 @@ int ima_match_policy(struct inode *inode, const struct cred *cred, u32 secid, > >> if ((pcr) && (entry->flags & IMA_PCR)) > >> *pcr = entry->pcr; > >> > >> + if ((keyrings) && (entry->flags & IMA_KEYRINGS)) > >> + *keyrings = entry->keyrings; > > > > ima_match_rules() determines whether the rule is in policy or not. It > > returns true on rule match, false on failure.  There's no need to > > return the list of keyrings. > > But the above code change is in ima_match_policy() - not in > ima_match_rules() function. > > ima_match_rules() function is updated in Patch #1 - > [PATCH v5 01/10] IMA: Added KEYRING_CHECK func in IMA policy to measure keys > > I've updated that function to check if func is "KEYRING_CHECK" and > return true\false as appropriate. > > Am I missing something? The first patch adds basic support for the new "func".  This allows measuring all keys.  ima_match_rules() then needs to be updated in the patch that adds the "keyrings=" or "keyring=" support to limit it to a specific keyring. Mimi