В ядре Linux устранена следующая уязвимость:
iio: imu: st_lsm6dsx: исправление iio_chan_spec для датчиков без обнаружения событий
Массив st_lsm6dsx_acc_channels структуры iio_chan_spec имеет значение, отличное от NULL.
поле event_spec, указывающее на поддержку событий IIO. Однако событие
обнаружение поддерживается не для всех датчиков, и если пользовательское пространство пытается
настроить события пробуждения акселерометра на сенсорном устройстве, которое не
поддерживают их (например, LSM6DS0), st_lsm6dsx_write_event() разыменовывает NULL
указатель при попытке записи в регистр пробуждения.
Определите дополнительный массив struct iio_chan_spec, члены которого имеют значение NULL.
event_spec и используйте этот массив вместо st_lsm6dsx_acc_channels для
датчики без возможности обнаружения событий.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: iio: imu: st_lsm6dsx: fix iio_chan_spec for sensors without event detection The st_lsm6dsx_acc_channels array of struct iio_chan_spec has a non-NULL event_spec field, indicating support for IIO events. However, event detection is not supported for all sensors, and if userspace tries to configure accelerometer wakeup events on a sensor device that does not support them (e.g. LSM6DS0), st_lsm6dsx_write_event() dereferences a NULL pointer when trying to write to the wakeup register. Define an additional struct iio_chan_spec array whose members have a NULL event_spec field, and use this array instead of st_lsm6dsx_acc_channels for sensors without event detection capability.