linux/drivers/crypto
Lucas Segarra Fernandez 483fd65ce2 crypto: qat - validate slices count returned by FW
The function adf_send_admin_tl_start() enables the telemetry (TL)
feature on a QAT device by sending the ICP_QAT_FW_TL_START message to
the firmware. This triggers the FW to start writing TL data to a DMA
buffer in memory and returns an array containing the number of
accelerators of each type (slices) supported by this HW.
The pointer to this array is stored in the adf_tl_hw_data data
structure called slice_cnt.

The array slice_cnt is then used in the function tl_print_dev_data()
to report in debugfs only statistics about the supported accelerators.
An incorrect value of the elements in slice_cnt might lead to an out
of bounds memory read.
At the moment, there isn't an implementation of FW that returns a wrong
value, but for robustness validate the slice count array returned by FW.

Fixes: 69e7649f7c ("crypto: qat - add support for device telemetry")
Signed-off-by: Lucas Segarra Fernandez <lucas.segarra.fernandez@intel.com>
Reviewed-by: Damian Muszynski <damian.muszynski@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2024-04-26 17:26:09 +08:00
..
allwinner This update includes the following changes: 2024-03-15 14:46:54 -07:00
amcc crypto: crypto4xx - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
amlogic crypto: amlogic - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
aspeed crypto: aspeed - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
axis crypto: artpec6 - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
bcm crypto: bcm - Fix pointer arithmetic 2024-04-02 10:49:39 +08:00
caam crypto: caam - fix asynchronous hash 2024-01-26 16:35:55 +08:00
cavium crypto: nitrox - Remove cfb 2023-12-08 11:59:46 +08:00
ccp crypto: ccp - drop platform ifdef checks 2024-04-12 15:07:51 +08:00
ccree crypto: ccree - Remove ofb 2023-12-08 11:59:46 +08:00
chelsio crypto: chelsio - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
gemini crypto: sl3516 - Use helper to set reqsize 2023-12-29 11:25:55 +08:00
hisilicon crypto: hisilicon/qm - Add the err memory release process to qm uninit 2024-04-12 15:07:53 +08:00
inside-secure crypto: safexcel - Remove cfb and ofb 2023-12-08 11:59:46 +08:00
intel crypto: qat - validate slices count returned by FW 2024-04-26 17:26:09 +08:00
marvell crypto: octeontx2 - add missing check for dma_map_single 2024-04-19 18:54:18 +08:00
nx crypto: nx - Avoid -Wflex-array-member-not-at-end warning 2024-04-02 10:49:38 +08:00
qce crypto: qce - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
rockchip This update includes the following changes: 2024-03-15 14:46:54 -07:00
starfive crypto: starfive - Use dma for aes requests 2024-04-02 10:49:38 +08:00
stm32 crypto: stm32/hash - add full DMA support for stm32mpx 2024-04-19 18:54:19 +08:00
tegra crypto: tegra - Convert to platform remove callback returning void 2024-04-26 17:26:09 +08:00
virtio This update includes the following changes: 2024-03-15 14:46:54 -07:00
xilinx crypto: xilinx - call finalize with bh disabled 2024-02-09 12:57:18 +08:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
atmel-authenc.h
atmel-ecc.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-i2c.c This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-i2c.h This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-sha-regs.h
atmel-sha.c crypto: atmel - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
atmel-sha204a.c crypto: atmel - Switch i2c drivers back to use .probe() 2023-06-02 18:21:32 +08:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
exynos-rng.c crypto: exynos-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
geode-aes.c
geode-aes.h
hifn_795x.c crypto: hifn_795x - Remove cfb and ofb 2023-12-08 11:59:46 +08:00
img-hash.c crypto: img-hash - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
Kconfig crypto: tegra - Add Tegra Security Engine driver 2024-04-12 15:07:51 +08:00
Makefile crypto: tegra - Add Tegra Security Engine driver 2024-04-12 15:07:51 +08:00
mxs-dcp.c crypto: mxs-dcp - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
n2_asm.S
n2_core.c Normalise "name (ad@dr)" MODULE_AUTHORs to "name <ad@dr>" 2024-03-06 13:07:39 -08:00
n2_core.h
omap-aes-gcm.c crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-aes.c crypto: omap-aes - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-aes.h crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-crypto.c
omap-crypto.h
omap-des.c crypto: omap-des - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-sham.c crypto: omap-sham - stop setting alignmask for ahashes 2023-10-27 18:04:29 +08:00
padlock-aes.c
padlock-sha.c
qcom-rng.c crypto: qcom-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
s5p-sss.c crypto: s5p-sss - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
sa2ul.c crypto: sa2ul - Return crypto_aead_setkey to transfer the error 2023-12-01 18:03:26 +08:00
sa2ul.h crypto: sa2ul - change unsafe data size limit to 255 bytes 2023-05-19 16:45:43 +08:00
sahara.c crypto: sahara - add support for crypto_engine 2023-12-29 11:25:56 +08:00
talitos.c crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
talitos.h