linux/drivers/base/regmap
Cristian Ciocaltea 15ff1f1784 regmap: spi: Reserve space for register address/padding
[ Upstream commit f5723cfc01 ]

Currently the max_raw_read and max_raw_write limits in regmap_spi struct
do not take into account the additional size of the transmitted register
address and padding.  This may result in exceeding the maximum permitted
SPI message size, which could cause undefined behaviour, e.g. data
corruption.

Fix regmap_get_spi_bus() to properly adjust the above mentioned limits
by reserving space for the register address/padding as set in the regmap
configuration.

Fixes: f231ff38b7 ("regmap: spi: Set regmap max raw r/w from max_transfer_size")

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220818104851.429479-1-cristian.ciocaltea@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2022-09-15 10:47:12 +02:00
..
internal.h regmap: Add bulk read/write callbacks into regmap_config 2022-05-05 13:22:34 +01:00
Kconfig regmap: Add MDIO bus support 2021-05-19 14:19:10 +01:00
Makefile regmap: Add MDIO bus support 2021-05-19 14:19:10 +01:00
regcache-flat.c regmap: add proper SPDX identifiers on files that did not have them. 2019-04-25 20:22:15 +01:00
regcache-lzo.c regmap: lzo: Switch to bitmap_zalloc() 2019-06-17 15:18:44 +01:00
regcache-rbtree.c regmap: Fix possible double-free in regcache_rbtree_exit() 2021-10-12 11:48:43 +01:00
regcache.c regmap: cache: set max_register with reg_stride 2022-04-25 14:00:44 +01:00
regmap-ac97.c regmap: add proper SPDX identifiers on files that did not have them. 2019-04-25 20:22:15 +01:00
regmap-debugfs.c regmap: debugfs: Fix indentation 2022-01-07 19:16:23 +00:00
regmap-i2c.c regmap-i2c: Set regmap max raw r/w from quirks 2021-05-14 13:25:03 +01:00
regmap-i3c.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap-irq.c regmap-irq: Fix offset/index mismatch in read_sub_irq_data() 2022-06-22 11:59:52 +01:00
regmap-mdio.c net: Convert more users of mdiobus_* to mdiodev_* 2021-10-24 13:40:33 +01:00
regmap-mmio.c regmap: Prefer unsigned int to bare use of unsigned 2021-07-11 23:48:43 +01:00
regmap-sccb.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap-sdw-mbq.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap-sdw.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap-slimbus.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap-spi-avmm.c regmap: add Intel SPI Slave to AVMM Bus Bridge support 2020-08-26 19:46:38 +01:00
regmap-spi.c regmap: spi: Reserve space for register address/padding 2022-09-15 10:47:12 +02:00
regmap-spmi.c regmap: add proper SPDX identifiers on files that did not have them. 2019-04-25 20:22:15 +01:00
regmap-w1.c regmap: Constify static regmap_bus structs 2022-04-04 08:41:50 +01:00
regmap.c regmap: Wire up regmap_config provided bulk write in missed functions 2022-06-20 16:51:29 +01:00
trace.h regmap: Remove duplicate type field from regmap regcache_sync trace event 2020-11-24 14:14:00 +00:00