Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4516139pxv; Tue, 27 Jul 2021 09:10:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzk9HYkQDTbNASF0C+xDkBuNM+IZZKBfvBsf2PpW1uuRmknW+Wwe9MUu5zhOQXkOp3w53is X-Received: by 2002:a92:cb52:: with SMTP id f18mr17410153ilq.97.1627402238070; Tue, 27 Jul 2021 09:10:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627402238; cv=none; d=google.com; s=arc-20160816; b=rWvWJbAsVFQF4Gzg56sOzX1CDxRomr4XZy3mN43VdzsAO5YVxFHYr0+GD8gkMai8Bu +2MY59Slyk4F7dhaarCq6RxvIESAJcz7Uu4nsp0wN7/mCZ8vw9+yHl7Qryw8JCxZ2sJs mEW3bYOmeupdO1xQtiQ+bYa+LSX68/77MuQ57jHZTdukIss41TpKS/XHd/Skg1ojOd94 XjWjIf10TgR/Hg87Tugnb+5TkaI+RHRI2qznnH7usRSf/iQ62mEgkl++W8mv13mUGj95 IfStvNBVDC8lYsSvemmohmEjbKaxpWrDPPZZUCeUvJm4bgdFqJO6by0MRuWxpbXF77iC uRUg== 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=VDtI2PQeQF+QDCwm01bDdebFVr24dddj7k+tMznwI9I=; b=uCPxX38lO90J1c8ggcH7n4bnFvnoEcVLKF9dsz9EVjjrNDeGosthW5LmTiqhrv+/IU 2sxP5kReuz/B2FE1npxZFGsc6b8H5wuXEFAOWIT4HtFA13bl3/qvvrmIDy24HbdqvfS7 sEz03GJTWYNJ9IxifnThnC4rg17j+IUOHpI+ioJL0JgASiQyXV31WgCphn8ypHvjI/JG u4P6hrquw3q1WjIGUr7wQkaljIBAuq1B35sQTOKgbOSpXsZLdu5xERau291PelFm0Ome z0Y2VbmDIiJQzOhIYr+ZJQC4QSYGCpG2YuPqBdK+22yYYSSg+hCLPgTVnKuYsBW29O8L Ao3g== 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 j8si3614570jak.67.2021.07.27.09.10.25; Tue, 27 Jul 2021 09:10:38 -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 S229580AbhG0QJl convert rfc822-to-8bit (ORCPT + 99 others); Tue, 27 Jul 2021 12:09:41 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:3505 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229441AbhG0QJk (ORCPT ); Tue, 27 Jul 2021 12:09:40 -0400 Received: from fraeml709-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4GZ1j705Wqz6J6hg; Wed, 28 Jul 2021 00:00:27 +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 18:09:38 +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 18:09:37 +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/UmZEg8zsJLYTqtWxYuAgAAn86D//+j9AIAAI3yw Date: Tue, 27 Jul 2021 16:09:37 +0000 Message-ID: <4746947088404edaa31594fb095a6e46@huawei.com> 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 5:44 PM > On Tue, Jul 27, 2021 at 03:35:16PM +0000, Roberto Sassu wrote: > > > 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. > > Watch out with endian issues and bitmasks... Anyway, please document > this. > > > > > > > + * @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. > > Please say that. > > > > > + * @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. > > Ah, that was not obvious at all :) > > Why do you not have a __u8 data[]; type field as the last one here for > that memory so you can access it easier? After the digest list is parsed, I'm accessing the digest with the offset from the beginning of the digest list. If the offset was relative to the header, it could have been useful. I could add the new field, but I'm afraid of the incompatibility with existing tools that we have. Thanks Roberto HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063 Managing Director: Li Peng, Li Jian, Shi Yanli > thanks, > > greg k-h