Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4493393pxv; Tue, 27 Jul 2021 08:38:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwhel/7mTBDmXdAUZ9cVzQlT8niK70DNTbvEqK6JAu1rl83bFTD3fRffNAYJLjuAkeH6GLA X-Received: by 2002:a17:906:2654:: with SMTP id i20mr3442856ejc.280.1627400285961; Tue, 27 Jul 2021 08:38:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627400285; cv=none; d=google.com; s=arc-20160816; b=HEEjZxE2nxw/5SGwqIwvpL3APGi9+Li+gur/nOBjspphqCxLxb+7Tmw8bUlJf3D1C3 CPLrh2HaQqCJOI5P4ngavR2HQwfdsVzJh3NZJcKyVKYNVFBfh0W+AK4Q8s+RE7Md/ne3 20VhK9Ri6JjBvBtWRjahBV50aRBmxGkbrBGIgpgBEpdS2X9bmk5wGgpkMqTIXMQ1vnLm HFi2rUhmcPAovYCoHOeelV29ntVQzuT3jLYrXg0gpLtbavWdGZLHoasYr19ST8Edbml2 JQMZ5+vWbDb53X1uxf7DdLvQPfM3jgsKPCtiwI19o74fXU38xHRWZZRShT6bHx4/DT35 dF3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=kNbu98oDcBLfr8iR1CHDaPAd1/ch+nZ5bsDne4s3Aek=; b=s4uGpwRqyQ51iSH98aT0v+WBF1SU0RM6qWSYCwyhhUFUUXijn+IU4NYKrqNmLkrSMb UT6KjFrDdiNrWuiWcdzheaJcj6AiJHaAW51uA3xLpwwtUWNeXOrj3YdIiSlX7uMRwpU+ I+m8Pyn2D20NqJTrkHFzJ4pZbAHAnK4uE2oIOWGMOfblPTjqOso5j+ai+UUsqliqu3Lp HtapvYq0GYeEeJOKv49WdrcdOzgLqn6HYUENxig0vK0Xwe2QqfObXNSn18lliS64NHFQ WCNgCLImOeiZAjSDA6ReI3Ba+CzBvkLxFXLuymLvgRUTqA476zp5ziUgen6pvO4Lgx9a Ms7g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g14si3058738edu.31.2021.07.27.08.37.40; Tue, 27 Jul 2021 08:38:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236860AbhG0Pfb convert rfc822-to-8bit (ORCPT + 99 others); Tue, 27 Jul 2021 11:35:31 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:3504 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237107AbhG0PfX (ORCPT ); Tue, 27 Jul 2021 11:35:23 -0400 Received: from fraeml709-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GZ0pj0j1Zz6B9sL; Tue, 27 Jul 2021 23:20:13 +0800 (CST) Received: from fraeml714-chm.china.huawei.com (10.206.15.33) by fraeml709-chm.china.huawei.com (10.206.15.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Tue, 27 Jul 2021 17:35:16 +0200 Received: from fraeml714-chm.china.huawei.com ([10.206.15.33]) by fraeml714-chm.china.huawei.com ([10.206.15.33]) with mapi id 15.01.2176.012; Tue, 27 Jul 2021 17:35:16 +0200 From: Roberto Sassu To: Greg KH CC: "zohar@linux.ibm.com" , "mchehab+huawei@kernel.org" , "linux-integrity@vger.kernel.org" , "linux-security-module@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kselftest@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [RFC][PATCH v2 02/12] diglim: Basic definitions Thread-Topic: [RFC][PATCH v2 02/12] diglim: Basic definitions Thread-Index: AQHXgjyicwJtnSjv/UmZEg8zsJLYTqtWxYuAgAAn86A= Date: Tue, 27 Jul 2021 15:35:16 +0000 Message-ID: References: <20210726163700.2092768-1-roberto.sassu@huawei.com> <20210726163700.2092768-3-roberto.sassu@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.221.98.153] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > From: Greg KH [mailto:gregkh@linuxfoundation.org] > Sent: Tuesday, July 27, 2021 4:44 PM > On Mon, Jul 26, 2021 at 06:36:50PM +0200, Roberto Sassu wrote: > > --- /dev/null > > +++ b/include/uapi/linux/diglim.h > > @@ -0,0 +1,51 @@ > > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > > +/* > > + * Copyright (C) 2017-2021 Huawei Technologies Duesseldorf GmbH > > + * > > + * Author: Roberto Sassu > > + * > > + * DIGLIM definitions exported to user space, useful for generating digest > > + * lists. > > + */ > > + > > +#ifndef _UAPI__LINUX_DIGLIM_H > > +#define _UAPI__LINUX_DIGLIM_H > > + > > +#include > > +#include > > + > > +enum compact_types { COMPACT_KEY, COMPACT_PARSER, > COMPACT_FILE, > > + COMPACT_METADATA, COMPACT_DIGEST_LIST, > COMPACT__LAST }; > > + > > +enum compact_modifiers { COMPACT_MOD_IMMUTABLE, > COMPACT_MOD__LAST }; > > + > > +enum compact_actions { COMPACT_ACTION_IMA_MEASURED, > > + COMPACT_ACTION_IMA_APPRAISED, > > + COMPACT_ACTION_IMA_APPRAISED_DIGSIG, > > + COMPACT_ACTION__LAST }; > > + > > +enum ops { DIGEST_LIST_ADD, DIGEST_LIST_DEL, DIGEST_LIST_OP__LAST }; > > + > > +/** > > + * struct compact_list_hdr - header of the following concatenated digests > > + * @version: version of the digest list > > + * @_reserved: field reserved for future use > > + * @type: type of digest list among enum compact_types > > + * @modifiers: additional attributes among (1 << enum compact_modifiers) > > I do not understand this description, what does it mean? Hi Greg yes, it is not very clear. @modifiers is a bitmask where each bit corresponds to a different attribute. enum compact_modifiers defines which bit position is assigned to each attribute. > > + * @algo: digest algorithm > > Is this also a #define or an enum? Where is the list of them? @algo is an enum defined in include/uapi/linux/hash_info.h. > > + * @count: number of digests > > + * @datalen: length of concatenated digests > > Where does this count and length come into play as nothing else is in > this structure? Each digest list must begin with this structure. From it, the parser knows how much data it should expect afterwards. After the data, there could be another or more blocks of this structure and following data. There is an example in the 'Compact Digest List Example' subsection, in Documentation/security/diglim/implementation.rst. > > + * > > + * A digest list is a set of blocks composed by struct compact_list_hdr and > > + * the following concatenated digests. > > + */ > > +struct compact_list_hdr { > > + __u8 version; > > + __u8 _reserved; > > You MUST check this for 0 today, and document it above. If not, you can > never use it in the future. Ok, yes. I will add it. Thanks Roberto HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063 Managing Director: Li Peng, Li Jian, Shi Yanli > > + __le16 type; > > + __le16 modifiers; > > + __le16 algo; > > + __le32 count; > > + __le32 datalen; > > +} __packed; > > +#endif /*_UAPI__LINUX_DIGLIM_H*/ > > -- > > 2.25.1 > >