Re: [PATCH 00/28] iio: zero init stack with { } instead of memset()

Pavel Machek
2025-06-12T10:34:00Z

[-- Attachment #1: Type: text/plain, Size: 4652 bytes --]

Hi!

> Jonathan mentioned recently that he would like to get away from using
> memset() to zero-initialize stack memory in the IIO subsystem. And we
> have it on good authority that initializing a struct or array with = { }
> is the preferred way to do this in the kernel [1]. So here is a series
> to take care of that.

1) Is it worth the churn?

2) Will this fail to initialize padding with some obscure compiler?

3) Why do you believe that {} is the preffered way? All we have is
Kees' email that explains that = {} maybe works in configs he tested.

BR,
Pavel

> [1]:
> https://lore.kernel.org/linux-iio/202505090942.48EBF01B@keescook/

> ---
> David Lechner (28):
> iio: accel: adxl372: use = { } instead of memset()
> iio: accel: msa311: use = { } instead of memset()
> iio: adc: dln2-adc: use = { } instead of memset()
> iio: adc: mt6360-adc: use = { } instead of memset()
> iio: adc: rockchip_saradc: use = { } instead of memset()
> iio: adc: rtq6056: use = { } instead of memset()
> iio: adc: stm32-adc: use = { } instead of memset()
> iio: adc: ti-ads1015: use = { } instead of memset()
> iio: adc: ti-ads1119: use = { } instead of memset()
> iio: adc: ti-lmp92064: use = { } instead of memset()
> iio: adc: ti-tsc2046: use = { } instead of memset()
> iio: chemical: scd4x: use = { } instead of memset()
> iio: chemical: scd30: use = { } instead of memset()
> iio: chemical: sunrise_co2: use = { } instead of memset()
> iio: dac: ad3552r: use = { } instead of memset()
> iio: imu: inv_icm42600: use = { } instead of memset()
> iio: imu: inv_mpu6050: use = { } instead of memset()
> iio: light: bh1745: use = { } instead of memset()
> iio: light: ltr501: use = { } instead of memset()
> iio: light: opt4060: use = { } instead of memset()
> iio: light: veml6030: use = { } instead of memset()
> iio: magnetometer: af8133j: use = { } instead of memset()
> iio: pressure: bmp280: use = { } instead of memset()
> iio: pressure: mpl3115: use = { } instead of memset()
> iio: pressure: mprls0025pa: use = { } instead of memset()
> iio: pressure: zpa2326: use = { } instead of memset()
> iio: proximity: irsd200: use = { } instead of memset()
> iio: temperature: tmp006: use = { } instead of memset()
>
> drivers/iio/accel/adxl372.c | 3 +--
> drivers/iio/accel/msa311.c | 4 +---
> drivers/iio/adc/dln2-adc.c | 4 +---
> drivers/iio/adc/mt6360-adc.c | 3 +--
> drivers/iio/adc/rockchip_saradc.c | 4 +---
> drivers/iio/adc/rtq6056.c | 4 +---
> drivers/iio/adc/stm32-adc.c | 3 +--
> drivers/iio/adc/ti-ads1015.c | 4 +---
> drivers/iio/adc/ti-ads1119.c | 4 +---
> drivers/iio/adc/ti-lmp92064.c | 4 +---
> drivers/iio/adc/ti-tsc2046.c | 3 +--
> drivers/iio/chemical/scd30_core.c | 3 +--
> drivers/iio/chemical/scd4x.c | 3 +--
> drivers/iio/chemical/sunrise_co2.c | 6 ++----
> drivers/iio/dac/ad3552r.c | 3 +--
> drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 5 ++---
> drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c | 5 ++---
> drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c | 4 +---
> drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 6 ++----
> drivers/iio/light/bh1745.c | 4 +---
> drivers/iio/light/ltr501.c | 4 +---
> drivers/iio/light/opt4060.c | 4 +---
> drivers/iio/light/veml6030.c | 4 +---
> drivers/iio/magnetometer/af8133j.c | 4 +---
> drivers/iio/pressure/bmp280-core.c | 5 +----
> drivers/iio/pressure/mpl3115.c | 3 +--
> drivers/iio/pressure/mprls0025pa_i2c.c | 5 +----
> drivers/iio/pressure/zpa2326.c | 4 +---
> drivers/iio/proximity/irsd200.c | 3 +--
> drivers/iio/temperature/tmp006.c | 4 +---
> 30 files changed, 34 insertions(+), 85 deletions(-)
> ---
> base-commit: 4c6073fec2fee4827fa0dd8a4ab4e6f7bbc05ee6
> change-id: 20250611-iio-zero-init-stack-with-instead-of-memset-0d12d41a7ecb
>
> Best regards,

--
I don't work for Nazis and criminals, and neither should you.
Boycott Putin, Trump, and Musk!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]