projects
/
platform
/
kernel
/
linux-rpi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b617693
)
iio: adc: tsc2046: add sanity check to avoid to big allocations
author
Oleksij Rempel
<o.rempel@pengutronix.de>
Mon, 17 Jan 2022 08:28:52 +0000
(09:28 +0100)
committer
Jonathan Cameron
<Jonathan.Cameron@huawei.com>
Sun, 23 Jan 2022 18:03:37 +0000
(18:03 +0000)
To avoid problematic devicetree configurations. Set allocation limit
with error message and suggestion on what can be done to solve this
issue.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link:
https://lore.kernel.org/r/20220117082852.3370869-2-o.rempel@pengutronix.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ti-tsc2046.c
patch
|
blob
|
history
diff --git
a/drivers/iio/adc/ti-tsc2046.c
b/drivers/iio/adc/ti-tsc2046.c
index
eb219ff
..
2b87f39
100644
(file)
--- a/
drivers/iio/adc/ti-tsc2046.c
+++ b/
drivers/iio/adc/ti-tsc2046.c
@@
-679,6
+679,12
@@
static int tsc2046_adc_setup_spi_msg(struct tsc2046_adc_priv *priv)
for (ch_idx = 0; ch_idx < priv->dcfg->num_channels; ch_idx++)
size += tsc2046_adc_group_set_layout(priv, ch_idx, ch_idx);
+ if (size > PAGE_SIZE) {
+ dev_err(&priv->spi->dev,
+ "Calculated scan buffer is too big. Try to reduce spi-max-frequency, settling-time-us or oversampling-ratio\n");
+ return -ENOSPC;
+ }
+
priv->tx = devm_kzalloc(&priv->spi->dev, size, GFP_KERNEL);
if (!priv->tx)
return -ENOMEM;