From patchwork Thu Feb 17 10:57:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 12749832 X-Patchwork-Delegate: herbert@gondor.apana.org.au 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 00040C433FE for ; Thu, 17 Feb 2022 10:59:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235933AbiBQK7K (ORCPT ); Thu, 17 Feb 2022 05:59:10 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:35942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239603AbiBQK6t (ORCPT ); Thu, 17 Feb 2022 05:58:49 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49003295FEC; Thu, 17 Feb 2022 02:58:02 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id C6DA11F37D; Thu, 17 Feb 2022 10:58:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1645095480; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UZTrKc5Lz6o1zAV4RkojCzhZSoFvfvM9U2+FCuy4Upw=; b=mi96MmSvLvZI/HKSQJD3M/Dpry9RhfV5rdC0LphzQWnmZVdDu6ZAx0Oij2MaN1sZBoVJim 8fdhp+/hdD2TXxFZ0OmTzQlDTXZZe00/CXEVZrILZAIdpS6fkMIN9xIJQ/FHl4ja0uC11U XOi+ITWAR+vDBXNM45NwHCELccDC9tw= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1645095480; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UZTrKc5Lz6o1zAV4RkojCzhZSoFvfvM9U2+FCuy4Upw=; b=Lpd/3bOBPJsfJ/tuOzDPolm0f8WTbSZBjj+uxHmtR4KxpBs7y1wdZ9+Vnpanpm9sdCJrvH 7qhQkBds4K0fLdDA== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 74AC913DD8; Thu, 17 Feb 2022 10:58:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id wArUGjgqDmJdTgAAMHmgww (envelope-from ); Thu, 17 Feb 2022 10:58:00 +0000 From: Petr Vorel To: linux-crypto@vger.kernel.org Cc: Petr Vorel , Nicolai Stange , Herbert Xu , leitao@debian.org, Nayna Jain , Paulo Flabiano Smorigo , linuxppc-dev@lists.ozlabs.org, linux-kbuild@vger.kernel.org Subject: [PATCH v3 1/2] crypto: vmx - merge CRYPTO_DEV_VMX_ENCRYPT into CRYPTO_DEV_VMX Date: Thu, 17 Feb 2022 11:57:50 +0100 Message-Id: <20220217105751.6330-2-pvorel@suse.cz> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220217105751.6330-1-pvorel@suse.cz> References: <20220217105751.6330-1-pvorel@suse.cz> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org CRYPTO_DEV_VMX_ENCRYPT is redundant with CRYPTO_DEV_VMX. And it also forces CRYPTO_GHASH to be builtin even CRYPTO_DEV_VMX_ENCRYPT was configured as module. This requires to change defconfig values to m for backwards compatibility. Signed-off-by: Petr Vorel --- changes v2->v3: * keep CRYPTO_DEV_VMX and merge CRYPTO_DEV_VMX_ENCRYPT into it instead of vice versa (suggested by Nicolai). I have no problem to send another version if maintainers want the original approach. * change commit subject to be compatible * remove MAINTAINERS changes arch/powerpc/configs/powernv_defconfig | 2 +- arch/powerpc/configs/ppc64_defconfig | 2 +- arch/powerpc/configs/pseries_defconfig | 2 +- drivers/crypto/Kconfig | 9 +++++---- drivers/crypto/vmx/Kconfig | 10 ---------- drivers/crypto/vmx/Makefile | 4 ++-- 6 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 drivers/crypto/vmx/Kconfig diff --git a/arch/powerpc/configs/powernv_defconfig b/arch/powerpc/configs/powernv_defconfig index 49f49c263935..661b294d1744 100644 --- a/arch/powerpc/configs/powernv_defconfig +++ b/arch/powerpc/configs/powernv_defconfig @@ -337,7 +337,7 @@ CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LZO=m CONFIG_CRYPTO_DEV_NX=y -CONFIG_CRYPTO_DEV_VMX=y +CONFIG_CRYPTO_DEV_VMX=m CONFIG_VIRTUALIZATION=y CONFIG_KVM_BOOK3S_64=m CONFIG_KVM_BOOK3S_64_HV=m diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index c8b0e80d613b..cc51b506066c 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig @@ -355,7 +355,7 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LZO=m CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_NX_ENCRYPT=m -CONFIG_CRYPTO_DEV_VMX=y +CONFIG_CRYPTO_DEV_VMX=m CONFIG_PRINTK_TIME=y CONFIG_PRINTK_CALLER=y CONFIG_MAGIC_SYSRQ=y diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig index b571d084c148..2366d3be0d11 100644 --- a/arch/powerpc/configs/pseries_defconfig +++ b/arch/powerpc/configs/pseries_defconfig @@ -315,7 +315,7 @@ CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_LZO=m CONFIG_CRYPTO_DEV_NX=y CONFIG_CRYPTO_DEV_NX_ENCRYPT=m -CONFIG_CRYPTO_DEV_VMX=y +CONFIG_CRYPTO_DEV_VMX=m CONFIG_VIRTUALIZATION=y CONFIG_KVM_BOOK3S_64=m CONFIG_KVM_BOOK3S_64_HV=m diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index 4f705674f94f..923fa1effb4a 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -762,12 +762,13 @@ config CRYPTO_DEV_QCOM_RNG module will be called qcom-rng. If unsure, say N. config CRYPTO_DEV_VMX - bool "Support for VMX cryptographic acceleration instructions" + tristate "Power VMX cryptographic acceleration instructions driver" depends on PPC64 && VSX + select CRYPTO_GHASH help - Support for VMX cryptographic acceleration instructions. - -source "drivers/crypto/vmx/Kconfig" + Support for VMX cryptographic acceleration instructions on Power8 CPU. + This module supports acceleration for AES and GHASH in hardware. If you + choose 'M' here, this module will be called vmx-crypto. config CRYPTO_DEV_IMGTEC_HASH tristate "Imagination Technologies hardware hash accelerator" diff --git a/drivers/crypto/vmx/Kconfig b/drivers/crypto/vmx/Kconfig deleted file mode 100644 index c85fab7ef0bd..000000000000 --- a/drivers/crypto/vmx/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -config CRYPTO_DEV_VMX_ENCRYPT - tristate "Encryption acceleration support on P8 CPU" - depends on CRYPTO_DEV_VMX - select CRYPTO_GHASH - default m - help - Support for VMX cryptographic acceleration instructions on Power8 CPU. - This module supports acceleration for AES and GHASH in hardware. If you - choose 'M' here, this module will be called vmx-crypto. diff --git a/drivers/crypto/vmx/Makefile b/drivers/crypto/vmx/Makefile index 709670d2b553..703f67b8459e 100644 --- a/drivers/crypto/vmx/Makefile +++ b/drivers/crypto/vmx/Makefile @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -obj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o +obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx-crypto.o vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y) @@ -15,7 +15,7 @@ targets += aesp8-ppc.S ghashp8-ppc.S $(obj)/aesp8-ppc.S: $(src)/aesp8-ppc.pl FORCE $(call if_changed,perl) - + $(obj)/ghashp8-ppc.S: $(src)/ghashp8-ppc.pl FORCE $(call if_changed,perl) From patchwork Thu Feb 17 10:57:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Vorel X-Patchwork-Id: 12749831 X-Patchwork-Delegate: herbert@gondor.apana.org.au 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 CF97EC4332F for ; Thu, 17 Feb 2022 10:58:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239704AbiBQK7J (ORCPT ); Thu, 17 Feb 2022 05:59:09 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:35880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239606AbiBQK6t (ORCPT ); Thu, 17 Feb 2022 05:58:49 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66E3317A90; Thu, 17 Feb 2022 02:58:03 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 2D10A21991; Thu, 17 Feb 2022 10:58:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1645095481; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BWifxgAR/Z495cVFocnolcIW5XpC70uze6lvb8LtCTg=; b=QjyBknuEto9Q9s36hn0fOg9mYBlkG30wBXmAflfbDDykG40GO+NGmXHi2GDybQ/PZPCHxU Gxkwt6vzmnavAmxHHjoJ3doHeWQEpezRyHN+eXcm1t0lrx3z7OXBXnwxd4dXZaQP7iR6ib yGGN4enmc1Ch9Z0Fsd12v4qOexLInxE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1645095481; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BWifxgAR/Z495cVFocnolcIW5XpC70uze6lvb8LtCTg=; b=kqtJMiiuDYJxUG1xYWedaAyqSl6ER1f5n+1Aza1p+QfHxJQB14HQ358hl+AbmAWdVG83XH yNNiCWRtqCK2okAQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D20C013DD8; Thu, 17 Feb 2022 10:58:00 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id WBGmMTgqDmJdTgAAMHmgww (envelope-from ); Thu, 17 Feb 2022 10:58:00 +0000 From: Petr Vorel To: linux-crypto@vger.kernel.org Cc: Petr Vorel , Nicolai Stange , Herbert Xu , leitao@debian.org, Nayna Jain , Paulo Flabiano Smorigo , linuxppc-dev@lists.ozlabs.org, linux-kbuild@vger.kernel.org Subject: [PATCH v3 2/2] crypto: vmx - add missing dependencies Date: Thu, 17 Feb 2022 11:57:51 +0100 Message-Id: <20220217105751.6330-3-pvorel@suse.cz> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220217105751.6330-1-pvorel@suse.cz> References: <20220217105751.6330-1-pvorel@suse.cz> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org vmx-crypto module depends on CRYPTO_AES, CRYPTO_CBC, CRYPTO_CTR or CRYPTO_XTS, thus add them. These dependencies are likely to be enabled, but if CRYPTO_DEV_VMX=y && !CRYPTO_MANAGER_DISABLE_TESTS and either of CRYPTO_AES, CRYPTO_CBC, CRYPTO_CTR or CRYPTO_XTS is built as module or disabled, alg_test() from crypto/testmgr.c complains during boot about failing to allocate the generic fallback implementations (2 == ENOENT): [ 0.540953] Failed to allocate xts(aes) fallback: -2 [ 0.541014] alg: skcipher: failed to allocate transform for p8_aes_xts: -2 [ 0.541120] alg: self-tests for p8_aes_xts (xts(aes)) failed (rc=-2) [ 0.544440] Failed to allocate ctr(aes) fallback: -2 [ 0.544497] alg: skcipher: failed to allocate transform for p8_aes_ctr: -2 [ 0.544603] alg: self-tests for p8_aes_ctr (ctr(aes)) failed (rc=-2) [ 0.547992] Failed to allocate cbc(aes) fallback: -2 [ 0.548052] alg: skcipher: failed to allocate transform for p8_aes_cbc: -2 [ 0.548156] alg: self-tests for p8_aes_cbc (cbc(aes)) failed (rc=-2) [ 0.550745] Failed to allocate transformation for 'aes': -2 [ 0.550801] alg: cipher: Failed to load transform for p8_aes: -2 [ 0.550892] alg: self-tests for p8_aes (aes) failed (rc=-2) Fixes: c07f5d3da643 ("crypto: vmx - Adding support for XTS") Fixes: d2e3ae6f3aba ("crypto: vmx - Enabling VMX module for PPC64") Suggested-by: Nicolai Stange Signed-off-by: Petr Vorel --- changes v2->v3: * more less the same, just in drivers/crypto/Kconfig (previously it was in drivers/crypto/vmx/Kconfig) * change commit subject to be compatible drivers/crypto/Kconfig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index 923fa1effb4a..0eafb2a49f04 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -764,7 +764,11 @@ config CRYPTO_DEV_QCOM_RNG config CRYPTO_DEV_VMX tristate "Power VMX cryptographic acceleration instructions driver" depends on PPC64 && VSX + select CRYPTO_AES + select CRYPTO_CBC + select CRYPTO_CTR select CRYPTO_GHASH + select CRYPTO_XTS help Support for VMX cryptographic acceleration instructions on Power8 CPU. This module supports acceleration for AES and GHASH in hardware. If you