mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Remove the driver for the Stream Processing Unit (SPU) on the Niagara 2. Removing this driver allows removing the support for physical address walks in skcipher_walk. That is a misfeature that is used only by this driver and increases the overhead of the crypto API for everyone else. There is little evidence that anyone cares about this driver. The Niagara 2, a.k.a. the UltraSPARC T2, is a server CPU released in 2007. The SPU is also present on the SPARC T3, released in 2010. However, the SPU went away in SPARC T4, released in 2012, which replaced it with proper cryptographic instructions instead. These newer instructions are supported by the kernel in arch/sparc/crypto/. This driver was completely broken from (at least) 2015 to 2022, from commit8996eafdcb("crypto: ahash - ensure statesize is non-zero") to commit76a4e87459("crypto: n2 - add missing hash statesize"), since its probe function always returned an error before registering any algorithms. Though, even with that obvious issue fixed, it is unclear whether the driver now works correctly. E.g., there are no indications that anyone has run the self-tests recently. One bug report for this driver in 2017 (https://lore.kernel.org/r/nycvar.YFH.7.76.1712110214220.28416@n3.vanv.qr) complained that it crashed the kernel while being loaded. The reporter didn't seem to care about the functionality of the driver, but rather just the fact that loading it crashed the kernel. In fact not until 2022 was the driver fixed to maybe actually register its algorithms with the crypto API. The 2022 fix does have a Reported-by and Tested-by, but that may similarly have been just about making the error messages go away as opposed to someone actually wanting to use the driver. As such, it seems appropriate to retire this driver in mainline. Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
53 lines
2.2 KiB
Makefile
53 lines
2.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_CRYPTO_DEV_ALLWINNER) += allwinner/
|
|
obj-$(CONFIG_CRYPTO_DEV_ASPEED) += aspeed/
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_AES) += atmel-aes.o
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA) += atmel-sha.o
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_TDES) += atmel-tdes.o
|
|
# __init ordering requires atmel-i2c being before atmel-ecc and atmel-sha204a.
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_I2C) += atmel-i2c.o
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_ECC) += atmel-ecc.o
|
|
obj-$(CONFIG_CRYPTO_DEV_ATMEL_SHA204A) += atmel-sha204a.o
|
|
obj-$(CONFIG_CRYPTO_DEV_CAVIUM_ZIP) += cavium/
|
|
obj-$(CONFIG_CRYPTO_DEV_CCP) += ccp/
|
|
obj-$(CONFIG_CRYPTO_DEV_CCREE) += ccree/
|
|
obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/
|
|
obj-$(CONFIG_CRYPTO_DEV_CPT) += cavium/cpt/
|
|
obj-$(CONFIG_CRYPTO_DEV_NITROX) += cavium/nitrox/
|
|
obj-$(CONFIG_CRYPTO_DEV_EXYNOS_RNG) += exynos-rng.o
|
|
obj-$(CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON) += caam/
|
|
obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o
|
|
obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
|
|
obj-$(CONFIG_CRYPTO_DEV_IMGTEC_HASH) += img-hash.o
|
|
obj-$(CONFIG_CRYPTO_DEV_MARVELL) += marvell/
|
|
obj-$(CONFIG_CRYPTO_DEV_MXS_DCP) += mxs-dcp.o
|
|
obj-$(CONFIG_CRYPTO_DEV_NX) += nx/
|
|
obj-$(CONFIG_CRYPTO_DEV_OMAP) += omap-crypto.o
|
|
obj-$(CONFIG_CRYPTO_DEV_OMAP_AES) += omap-aes-driver.o
|
|
omap-aes-driver-objs := omap-aes.o omap-aes-gcm.o
|
|
obj-$(CONFIG_CRYPTO_DEV_OMAP_DES) += omap-des.o
|
|
obj-$(CONFIG_CRYPTO_DEV_OMAP_SHAM) += omap-sham.o
|
|
obj-$(CONFIG_CRYPTO_DEV_PADLOCK_AES) += padlock-aes.o
|
|
obj-$(CONFIG_CRYPTO_DEV_PADLOCK_SHA) += padlock-sha.o
|
|
obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/
|
|
obj-$(CONFIG_CRYPTO_DEV_QCE) += qce/
|
|
obj-$(CONFIG_CRYPTO_DEV_QCOM_RNG) += qcom-rng.o
|
|
obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/
|
|
obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o
|
|
obj-$(CONFIG_CRYPTO_DEV_SA2UL) += sa2ul.o
|
|
obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahara.o
|
|
obj-$(CONFIG_CRYPTO_DEV_SL3516) += gemini/
|
|
obj-y += stm32/
|
|
obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
|
|
obj-$(CONFIG_CRYPTO_DEV_TEGRA) += tegra/
|
|
obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/
|
|
#obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/
|
|
obj-$(CONFIG_CRYPTO_DEV_BCM_SPU) += bcm/
|
|
obj-$(CONFIG_CRYPTO_DEV_SAFEXCEL) += inside-secure/
|
|
obj-$(CONFIG_CRYPTO_DEV_ARTPEC6) += axis/
|
|
obj-y += xilinx/
|
|
obj-y += hisilicon/
|
|
obj-$(CONFIG_CRYPTO_DEV_AMLOGIC_GXL) += amlogic/
|
|
obj-y += intel/
|
|
obj-y += starfive/
|