From c7903abb7b0464f00c0897d23bf3c203a3f49146 Mon Sep 17 00:00:00 2001 From: Denis Ciocca Date: Mon, 31 Oct 2022 14:00:54 -0700 Subject: [PATCH] drivers:iio:stm:accel:lis2dw12: remove VLA in the i2c write function Removing VLAs as per displeasure demonstrated by kernel developers. Additionally, Android kernels built with clang defaults forbids usage of it. Signed-off-by: Denis Ciocca Change-Id: I354a25633a78797505044dd8feceda2e4f35f54c Reviewed-on: https://gerrit.st.com/c/linuxandroidopen/stm-ldd-iio/+/273638 Tested-by: CITOOLS Reviewed-by: Mario TESI --- drivers/iio/stm/accel/st_lis2dw12_i2c.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/iio/stm/accel/st_lis2dw12_i2c.c b/drivers/iio/stm/accel/st_lis2dw12_i2c.c index 48de46d3fb7c..4b84dfaede8f 100644 --- a/drivers/iio/stm/accel/st_lis2dw12_i2c.c +++ b/drivers/iio/stm/accel/st_lis2dw12_i2c.c @@ -37,7 +37,10 @@ static int st_lis2dw12_i2c_write(struct device *dev, u8 addr, int len, u8 *data) { struct i2c_client *client = to_i2c_client(dev); struct i2c_msg msg; - u8 send[len + 1]; + u8 send[4]; + + if (len >= ARRAY_SIZE(send)) + return -ENOMEM; send[0] = addr; memcpy(&send[1], data, len * sizeof(u8));