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 1AD0AC433F5 for ; Sun, 17 Apr 2022 08:45:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233733AbiDQIqa (ORCPT ); Sun, 17 Apr 2022 04:46:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35766 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233706AbiDQIqY (ORCPT ); Sun, 17 Apr 2022 04:46:24 -0400 Received: from fornost.hmeau.com (helcar.hmeau.com [216.24.177.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D640722BDA for ; Sun, 17 Apr 2022 01:43:48 -0700 (PDT) Received: from gwarestrin.arnor.me.apana.org.au ([192.168.103.7]) by fornost.hmeau.com with smtp (Exim 4.94.2 #2 (Debian)) id 1ng0VJ-003jWG-6P; Sun, 17 Apr 2022 18:43:34 +1000 Received: by gwarestrin.arnor.me.apana.org.au (sSMTP sendmail emulation); Sun, 17 Apr 2022 16:43:33 +0800 Date: Sun, 17 Apr 2022 16:43:33 +0800 From: Herbert Xu To: Catalin Marinas Cc: Ard Biesheuvel , Will Deacon , Marc Zyngier , Arnd Bergmann , Greg Kroah-Hartman , Andrew Morton , Linus Torvalds , Linux Memory Management List , Linux ARM , Linux Kernel Mailing List , "David S. Miller" Subject: Re: [PATCH 07/10] crypto: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Apr 17, 2022 at 09:38:40AM +0100, Catalin Marinas wrote: > > I don't think we need to do anything here. A structure like: > > struct x { > char y; > char z[] CRYPTO_MINALIGN_ATTR; > }; > > is already of size 128. Without CRYPTO_MINALIGN_ATTR, its size would be > 1 but otherwise the whole structure inherits the alignment of its > member and this translates into an aligned size. No we should not lie to the compiler, we have code elsewhere that uses the alignment to compute the amount of extra padding needed to create greater padding. If CRYPTO_MINALIGN is misleading then that calculation will fall apart. So keep CRYPTO_MINALIGN at whatever alignment you lower kmalloc to, and then add the padding you need to separate the Crypto API bits from the context. In fact, that is exactly what cra_alignmask is supposed to do. Sure we currently limit the maximum alignment to 64 bytes because of stack usage but we can certainly look into increasing it as that's what you're doing here anyway. Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1ECC3C433F5 for ; Sun, 17 Apr 2022 08:44:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WFkoZgvqHLZQMG3xnEuVRcSxwJXTom/wUYTzL4FpEOI=; b=bMq1SxtvV64uda 7BDfw8kQxCHivUDIF2Yh80UGpBcTRcGLrRHNEPK9WWpRmc3YYm8BYFW1GeelrGr6Q/N/pc6uJOo7p 9acKdqtyWs4IndWrdYtuAGP8vtQN7EZ5QDaVHZ1ydtVj+xuKm6TJGcYX5Mc6FVwixBRn+5J+K/39o Bgn0gqbKkKiMUH1ErfzaCf9Vj+5vgTKhMoNg27FxrIwzhy8RiqTZP2744bK6XkJ4kbv6FiOzacLSz gtH24mmkkGia+eRVG/aeLTTSAE8cowLRy5QCGHu57yIIPoPu4/R7TRhW6FnzhvCBFIVXqMFIn50Xl KR/Efq8sz+wQMgNHb2BQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ng0Vb-00E71o-Ey; Sun, 17 Apr 2022 08:43:51 +0000 Received: from helcar.hmeau.com ([216.24.177.18] helo=fornost.hmeau.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ng0VY-00E70Y-37 for linux-arm-kernel@lists.infradead.org; Sun, 17 Apr 2022 08:43:50 +0000 Received: from gwarestrin.arnor.me.apana.org.au ([192.168.103.7]) by fornost.hmeau.com with smtp (Exim 4.94.2 #2 (Debian)) id 1ng0VJ-003jWG-6P; Sun, 17 Apr 2022 18:43:34 +1000 Received: by gwarestrin.arnor.me.apana.org.au (sSMTP sendmail emulation); Sun, 17 Apr 2022 16:43:33 +0800 Date: Sun, 17 Apr 2022 16:43:33 +0800 From: Herbert Xu To: Catalin Marinas Cc: Ard Biesheuvel , Will Deacon , Marc Zyngier , Arnd Bergmann , Greg Kroah-Hartman , Andrew Morton , Linus Torvalds , Linux Memory Management List , Linux ARM , Linux Kernel Mailing List , "David S. Miller" Subject: Re: [PATCH 07/10] crypto: Use ARCH_DMA_MINALIGN instead of ARCH_KMALLOC_MINALIGN Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220417_014348_184294_66DB8346 X-CRM114-Status: GOOD ( 14.07 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sun, Apr 17, 2022 at 09:38:40AM +0100, Catalin Marinas wrote: > > I don't think we need to do anything here. A structure like: > > struct x { > char y; > char z[] CRYPTO_MINALIGN_ATTR; > }; > > is already of size 128. Without CRYPTO_MINALIGN_ATTR, its size would be > 1 but otherwise the whole structure inherits the alignment of its > member and this translates into an aligned size. No we should not lie to the compiler, we have code elsewhere that uses the alignment to compute the amount of extra padding needed to create greater padding. If CRYPTO_MINALIGN is misleading then that calculation will fall apart. So keep CRYPTO_MINALIGN at whatever alignment you lower kmalloc to, and then add the padding you need to separate the Crypto API bits from the context. In fact, that is exactly what cra_alignmask is supposed to do. Sure we currently limit the maximum alignment to 64 bytes because of stack usage but we can certainly look into increasing it as that's what you're doing here anyway. Cheers, -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel