Received: by 2002:a05:6520:4211:b029:f4:110d:56bc with SMTP id o17csp1548629lkv; Wed, 19 May 2021 12:30:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/PrVb+mqeycOAzeHhc/kpHNBDUatONHB2JBLXcmHoXgyUXMxtLCuzuiC3OkNFjC1RSBHh X-Received: by 2002:a5e:9b06:: with SMTP id j6mr1135856iok.117.1621452525514; Wed, 19 May 2021 12:28:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621452525; cv=none; d=google.com; s=arc-20160816; b=CProCrPkJjeqiv/FC9jRYxlg64IVn36e3n3+JDX1ulph/FjT9k9Oj6kTZXHfpM8KB+ Ape2XgsLoxY2OhGQeDIAn4D7arOgESOSyZ6PKiOal03asBqDKpy6hAafbuczOhA/t9ZU l0cRJ4jh5Tcj1XCMQCe+VEogAaLC8hlKXChXRgoqpf00jQu8mJrnBdCbYpw7lzhv3C5V ht1hkJsmSDBaRMDNDqDFlMgfq+0fW0gmnXLz3gu8+wl8M5P4Iij5Eq5mzbjgBIjcBBVV 6Hr3TB+jtgE2kcPnjTZoX6mMZ93hN3ber4tHowkzRsqB32/bLGpze7/FpgFLiJAI9r6e NuTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=AobE6n8a5KpB+K4OiUTUy+bPqfKMp7YtQVTiaejjpz0=; b=t/WEOxhwKXJ0nCYRU68VbHKm5gcxXBYtHZ2FtbYG6FR8qcXx0MdkMbl/0ldSSnMyjO kh1wvKef43PLV6hkxK//APtMWWGkXjtXVbuZBNJVQKcyou0daqyO3kVgJVa0WAcIoo3v PB/jkKztXGSLUlUlRhNv0M5YWgQvFZwuQ7FgU62zflIx7WMC2ITbpSW1kzHgSDOaFBNR hrUIt/zNzYYbEftQKPyQPF0APzhEJHNAOKzBhXZ08vNlqBYeKExbPLtL1wi2GAZAGkvZ Q3K1LBGPkkjcy/HmafsE+JfiFycXaZHuJryUYO31Nxea1JfcTQoT1x2EOrZyk4fqhm4k BOFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="HAbIPP/m"; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x4si413875ilm.150.2021.05.19.12.28.26; Wed, 19 May 2021 12:28:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="HAbIPP/m"; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349993AbhESLYE (ORCPT + 99 others); Wed, 19 May 2021 07:24:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:52792 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241088AbhESLYE (ORCPT ); Wed, 19 May 2021 07:24:04 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4745D611BF; Wed, 19 May 2021 11:22:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621423364; bh=leATF6xB7khhsf31CJbhvizT6L2Nn6/9FnFi7jswHew=; h=From:To:Cc:Subject:Date:From; b=HAbIPP/mw/tWP55YJ9V9WVqyomYfanElyt9Czi95kw+LwT/eG8YDpFd30gz0/z6AO Pi34kBP+bTprpeG0yla3u8wmCCImvbG/JJ8lM72Op3j+yCCQaax+Ao/SKOpias30xs Z/0/pNAmb0FGWu3KKUSsOSEjOzYEVmmliggU7qVp1ybgy2EREVFbdMmr6KfL+HTOBQ 5//OcefrsA7NMu7kjwrjRVvC5Ow8tbjtGlOrxoIsWOYuij4VVqGY2TzWPk4+vQPDQB murPzGZbaAoXMTMVJ4lIxGeTiUpmoPMbOvaRCABQV61fzH8NppRxr7oEJSF2oNtSeL OqTV7ApgTH+zw== From: Ard Biesheuvel To: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, ebiggers@kernel.org, herbert@gondor.apana.org.au, will@kernel.org, kernel-team@android.com, Ard Biesheuvel Subject: [PATCH v4 0/7] running kernel mode SIMD with softirqs disabled Date: Wed, 19 May 2021 13:22:32 +0200 Message-Id: <20210519112239.33664-1-ardb@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org This is a follow-up to [0], but given that the arm64 architectural pieces have been merged for arm64, the only remaining changes are crypto specific. Therefore, the audience has been reduced to those people who are likely to care about these specifics. Patch #1 addresses an issue in the skcipher walker which doesn't handle zero sized AEAD inputs entirely consistently, which is uncovered by the change in patch #7. Patches #2 and #3 add some sanity checks to the public AEAD and skcipher APIs to limit their availibility to either task or softirq context (which is the only way in which they are currently being used). Adding this restriction permits the arm64 crypto code to get rid of all scalar fallbacks, given that on this architecture, softirqs are no longer served while the SIMD unit is being used in kernel mode, which means that the scalar fallbacks are never needed. These are removed in the remaining 4 patches. Changes since v3: - clarify the nature of the issue addressed by patch #1, and apply the same fix to the skcipher walker - update patches #2 and #3 so that the failures can be observed by the crypto stats code [0] https://lore.kernel.org/linux-arm-kernel/20210302090118.30666-1-ardb@kernel.org/ Ard Biesheuvel (7): crypto: skcipher - handle zero sized inputs correctly crypto: aead - disallow en/decrypt for non-task or non-softirq context crypto: skcipher - disallow en/decrypt for non-task or non-softirq context crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers crypto: arm64/aes-ce - stop using SIMD helper for skciphers crypto: arm64/aes-ccm - remove non-SIMD fallback path arch/arm64/crypto/Kconfig | 6 - arch/arm64/crypto/aes-ce-ccm-core.S | 1 + arch/arm64/crypto/aes-ce-ccm-glue.c | 183 +++++------------ arch/arm64/crypto/aes-glue.c | 102 ++-------- arch/arm64/crypto/aes-neonbs-glue.c | 122 +----------- arch/arm64/crypto/ghash-ce-glue.c | 209 +++++--------------- crypto/aead.c | 12 +- crypto/skcipher.c | 16 +- 8 files changed, 150 insertions(+), 501 deletions(-) -- 2.20.1