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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3CD1C433F5 for ; Tue, 22 Mar 2022 09:37:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232620AbiCVJiw (ORCPT ); Tue, 22 Mar 2022 05:38:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232608AbiCVJiu (ORCPT ); Tue, 22 Mar 2022 05:38:50 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F407B5F88 for ; Tue, 22 Mar 2022 02:37:23 -0700 (PDT) Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[127.0.0.1]) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1nWawt-0006Jj-Mp; Tue, 22 Mar 2022 10:37:07 +0100 Message-ID: <828a8d00-ab9a-a7eb-4ad0-f95a63c7fb39@pengutronix.de> Date: Tue, 22 Mar 2022 10:37:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [EXT] [PATCH v6 3/4] crypto: caam - add in-kernel interface for blob generator Content-Language: en-US From: Ahmad Fatoum To: Pankaj Gupta , Horia Geanta , Herbert Xu , "David S. Miller" Cc: Sumit Garg , David Gstir , Matthias Schiffer , "kernel@pengutronix.de" , Franck Lenormand , Richard Weinberger , Jan Luebbe , James Morris , Mimi Zohar , "linux-kernel@vger.kernel.org" , Eric Biggers , "linux-security-module@vger.kernel.org" , "keyrings@vger.kernel.org" , "linux-crypto@vger.kernel.org" , David Howells , Jarkko Sakkinen , "linux-integrity@vger.kernel.org" , James Bottomley , "tharvey@gateworks.com" , "Serge E. Hallyn" References: <20220316164335.1720255-1-a.fatoum@pengutronix.de> <20220316164335.1720255-4-a.fatoum@pengutronix.de> <23cd140f-1046-7059-c9bd-ca4aac1d5183@pengutronix.de> In-Reply-To: <23cd140f-1046-7059-c9bd-ca4aac1d5183@pengutronix.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: a.fatoum@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-security-module@vger.kernel.org Precedence: bulk List-ID: Hello Pankaj, On 22.03.22 08:32, Ahmad Fatoum wrote: > Hello Pankaj, > > On 22.03.22 07:25, Pankaj Gupta wrote: >> Hi Ahmad, >> >> Suggested to define macro with more details. >> Please find comments in-line. >> > >> len = 4 + (4 + ALIGN(keymod_len, 4)) + 2*(4 + 4 + >>>>>> + CAAM_PTR_SZ_MAX) + 4; >> >>> +/* header + (key mod immediate) + 2x seq_intlen pointers + op */ >>> +#define CAAM_BLOB_DESC_BYTES_MAX \ >>> + (CAAM_CMD_SZ + \ >>> + CAAM_CMD_SZ + CAAM_BLOB_KEYMOD_LENGTH + \ >>> + 2 * (CAAM_CMD_SZ + CAAM_PTR_SZ_MAX) + \ >>> + CAAM_CMD_SZ) >>> + >> >> Suggested to replace the above macro like below: >> >> +#define CAAM_BLOB_DESC_BYTES_MAX \ >> + (CAAM_CMD_SZ + \ /* Command to initialize & stating length of descriptor */ >> + CAAM_CMD_SZ + CAAM_BLOB_KEYMOD_LENGTH + \ /* Command to append the key-modifier + followed by the key-modifier data */ >> + (CAAM_CMD_SZ + CAAM_PTR_SZ_MAX) + \ /* Command to include input plain key and pointer to the input key */ >> + (CAAM_CMD_SZ + CAAM_PTR_SZ_MAX) + \ /* Command to include output-key blob and pointer to the output-key blob */ >> + CAAM_CMD_SZ) /* Command describing the Operation to perform */ > > > Sure thing, will do for v7. Otherwise, if all looks good to you, > can I have your Reviewed-by? This doesn't compile as-is and it leads to quite long lines. The description isn't accurate also, because what's plain and what's blob changes depending on whether we encapsulate or decapsulate. Here's my revised macro version: #define CAAM_BLOB_DESC_BYTES_MAX \ /* Command to initialize & stating length of descriptor */ \ (CAAM_CMD_SZ + \ /* Command to append the key-modifier + key-modifier data */ \ CAAM_CMD_SZ + CAAM_BLOB_KEYMOD_LENGTH + \ /* Command to include input key + pointer to the input key */ \ CAAM_CMD_SZ + CAAM_PTR_SZ_MAX + \ /* Command to include output key + pointer to the output key */ \ CAAM_CMD_SZ + CAAM_PTR_SZ_MAX + \ /* Command describing the Operation to perform */ \ CAAM_CMD_SZ) Alternatively, I can change it back into a function: static inline u32 *caam_blob_desc_alloc(void) { size_t size = 0; /* Command to initialize & stating length of descriptor */ size += CAAM_CMD_SZ; /* Command to append the key-modifier + key-modifier data */ size += CAAM_CMD_SZ + CAAM_BLOB_KEYMOD_LENGTH; /* Command to include input plain key + pointer to the input key */ size += CAAM_CMD_SZ + CAAM_PTR_SZ_MAX; /* Command to include output-key blob + pointer to the output key */ size += CAAM_CMD_SZ + CAAM_PTR_SZ_MAX; /* Command describing the Operation to perform */ size += CAAM_CMD_SZ; return kzalloc(size, GFP_KERNEL | GFP_DMA); } Let me know what works better for you. Cheers, Ahmad > > Thanks, > Ahmad > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |