From nobody Sun Feb 8 21:34:01 2026 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9882265CDD for ; Fri, 9 Jan 2026 18:15:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767982536; cv=none; b=YH1rMY4jCV2wUehNOVXBuJhqzSwV5c4rBG7OBC7Om6HeCMohkF5X57WJMJ1yxkDcd1o8AlchP+C59D60aPVSXiRF5jBpuIO5AUXC6tnSIVk7eJuhs2uBpNY4rnWlynuZqWg1gDhQW267fnjB2lEaJKHe1scSnOYpc+hheFeUMLk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767982536; c=relaxed/simple; bh=ZOpc2KxPddw64+kCadhtkkyNHc9dGQ0OsK/5OVq5egE=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Xqri2VBu5aqAL7/CAWPzmggNzWC2hy9uzn4HytatskUgmeqoZ7l9VvFnneaM+SltflHJiBd4+SzlW/w/4imoYUUhUxPVJ48Dq3aVVNfH4YIQt90oBr/edq1Totdyp/XrEbSPYb0YB30C50rc+DTCF6lcA3hbjk7r2FLjos7twAA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=YlDd+nid; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="YlDd+nid" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b7cee045187so585638566b.0 for ; Fri, 09 Jan 2026 10:15:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1767982533; x=1768587333; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Dgqks7R0FZoV1F9cFxU5UZd69cs2yR4MsrhCcO8GYIA=; b=YlDd+nidQaVMvQBD2437+dMWJ0cz3PrHiHUMjlbLcrzdFOY7cr8Lp1syblXrgZg0pa g51NgU6RuHiL/Be7X0coVi0on+EYbZTnAsQwdny56Er1Ps2OeY0QHXuQ8P0FcnHJTGFD fitKCV6SxXLBg5q9CLGxpEr1lYpq9uoUJlsDdOz4kNkibV7+wmC7Xe+yOPgJ1Bebx/LK zDOgIuJC1TOvsO5akO9DT+zoCVaKLzQ0khBBgedgYrg+Cf9t6rcqo9sYEh1wdh9zHQUe jg06JFCuZ80M8l+sf2TwZSrW4dX7E5z9Oo+/04lQ/5hbxqtpkZaESulM1bhLYCm+vmh+ z/ZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767982533; x=1768587333; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Dgqks7R0FZoV1F9cFxU5UZd69cs2yR4MsrhCcO8GYIA=; b=OSlTpqpizjz5RCBB+thdlxoVhichkAABcxRW9XJlFHGZm1dcILxAzHrNFvwdEqwhQo MWrJtVQUjmpNTOmxVrgsH/Jcl90JtJodPq4i6kBudXBOM8qvB1fkmFZY0Z8/7vWqcUtO IxlzMdv9y2jfoigI96XsHsuRYuiwL8hu8KXrgm1LneLy3CSiqRCRtLUeNSp3r2UkdQlu QCqADSjxdapqqW9jb5NrxTE1lcpy94JVQH25kp96kjzP1KpBdfp1YYjkw9c+TCNckeTG axxuzQvkQYrAn9vN+5gGQSUNhdD6rRom5oj6cZ8oneF3KDzPYmb37011Y5l1lxxyK1vd 5GFA== X-Forwarded-Encrypted: i=1; AJvYcCXROPkxw5qA6gIDRBcdXU2AlEk50v/x0pxZvqXpoPM/8sOOPG7nNIHRtYTS6LpsKWFPO+QVN3jWWvhqac4=@vger.kernel.org X-Gm-Message-State: AOJu0YzO9MJkTHYTYACJDlbxAp9elDT0E2ht6GWNW7Wz8GYIN9RVcsn7 Y8uBa2duAwUTOPGHDwHzMPiqcZUsZtaz8/AThyK4ufuknugrtpkkx/Lp94XOoNO+YGA= X-Gm-Gg: AY/fxX4p8QNJcPhlN5TTmUlblB43ebhot4gqen68K8yrgTvWUAxG8jJT2C4X66AWS2w 1gtOqd+VJ0yK+7IFRioJZwQB5UEp8wIvVAf4tpvvxiqb5QwMMvbypQNb5UrVh+5zGvfmGhL+c3K BF8QVsJWUO9VH3Kt6QQSO7AO2p01ngd4ddhgrKeD5Z4WeKpAh+T/ITGd9xmOqYXQVSh/SUZ1Ysb N5Xu9XqHH2TzqjELNg3MpH25rBklmgFg7gM1OumP1Hpot88swkcykS4Uv5E1R4rqgwFTHrMOsep PewwrgBV52T4hnnyj9XxSjCupKFd+vGUEvQiD/i2FzOxSW2bu92wq29oI+4rTUk8TMgbZbhEL2T P5zoRe3gJJ5Al4yoy+jUO0nn3LCNrczKtEz3GiUlxFzRSSWb+J2f/+yfHLQ== X-Google-Smtp-Source: AGHT+IG8iWFuPY6KLX+yOq4PV+q/Os8YwVRbQEYUk+bVpfnwkkYWYheVzu2fIpEJUBt4tlw9GD1ejQ== X-Received: by 2002:a17:907:7801:b0:b73:1b97:5ddd with SMTP id a640c23a62f3a-b84298aaaf7mr1044870366b.8.1767982533126; Fri, 09 Jan 2026 10:15:33 -0800 (PST) Received: from localhost ([151.47.174.220]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b842a511829sm1169794966b.51.2026.01.09.10.15.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 10:15:32 -0800 (PST) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] iio: imu: st_lsm6dsx: set buffer sampling frequency for accelerometer only Date: Fri, 9 Jan 2026 19:15:26 +0100 Message-Id: <20260109181528.154127-2-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260109181528.154127-1-flavra@baylibre.com> References: <20260109181528.154127-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2112; i=flavra@baylibre.com; h=from:subject; bh=ZOpc2KxPddw64+kCadhtkkyNHc9dGQ0OsK/5OVq5egE=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpYUWGnxlMsxmeQ4gVrt8dpFu7hV8AwHwnFxydf /B/JFZTOHOJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaWFFhgAKCRDt8TtzzpQ2 X5JkC/9rut/CdGQuqkN4BHgkmihEsa/eIQ84NQX359DJOuD45kbNBhwQOrwI3pgHvUQFEo2zNWm UkWhdukriXFFwq786FO0gedNQhpGsIrgp6OV3G+ZjJsyLjf+Z1kM+DUo+6383FaJQ5zqBESwgTy 2JxjWJSeSbs9qAUV0mTZGnp80rz8LfINfyjKcXetulatSuW633Bf0shNwX4Pn2DCxS8XsLUqkaY OuRaCF08UWkXzv+zCaYJPeV0BAAvQ3/wRmHe7Adgs57M0ofna1+aMB2bBT0evEXtX4TLgLsmqG7 A4ZNzOgESGWXg8AhPKMYeZOFMu6Y4yEnfTFrS+1EvUxP5dqcxiIJ7Q51Ysz+ROQPC1hklC4IFwB pi+h5SJqv0wVdtAVOIyo7ofIpkRoNpu/pgAG8lBXv8GTv0EtwpXQlFnm+tWqen18ASQ8uNJeapX hJIPbprrQ+ZvTYWkj2wUgCzypFOL0tlaAmOzRRfYY0iW05RZ57Xac1Sx9cdEGdVcgB1v0= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The st_lsm6dsx_hwfifo_odr_store() function, which is called when userspace writes the buffer sampling frequency sysfs attribute, calls st_lsm6dsx_check_odr(), which accesses the odr_table array at index `sensor->id`; since this array is only 2 entries long, an access for any sensor type other than accelerometer or gyroscope is an out-of-bounds access. To prevent userspace from triggering an out-of-bounds array access, and to support the only use case for which FIFO sampling frequency values different from the sensor sampling frequency may be needed (which is for keeping FIFO data rate low while sampling acceleration data at high rates for accurate event detection), do not create the buffer sampling frequency attribute for sensor types other than the accelerometer. Fixes: 6b648a36c200 ("iio: imu: st_lsm6dsx: Decouple sensor ODR from FIFO b= atch data rate") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 55d877745575..5ac45e6230b5 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -858,12 +858,21 @@ int st_lsm6dsx_fifo_setup(struct st_lsm6dsx_hw *hw) int i, ret; =20 for (i =3D 0; i < ST_LSM6DSX_ID_MAX; i++) { + const struct iio_dev_attr **attrs; + if (!hw->iio_devs[i]) continue; =20 + /* + * For the accelerometer, allow setting FIFO sampling frequency + * values different from the sensor sampling frequency, which + * may be needed to keep FIFO data rate low while sampling + * acceleration data at high rates for accurate event detection. + */ + attrs =3D (i =3D=3D ST_LSM6DSX_ID_ACC) ? st_lsm6dsx_buffer_attrs : NULL; ret =3D devm_iio_kfifo_buffer_setup_ext(hw->dev, hw->iio_devs[i], &st_lsm6dsx_buffer_ops, - st_lsm6dsx_buffer_attrs); + attrs); if (ret) return ret; } --=20 2.39.5