From patchwork Tue Mar 11 08:49:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Seva X-Patchwork-Id: 14011284 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 72A1C228C86 for ; Tue, 11 Mar 2025 08:51:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741683068; cv=none; b=Pa7EknJxf09h33XlSZykYG6kkIL9MeKJb1yxjQ999ew6Ur8X2or38gHyuL6qIudEM60iA2/gpnmgrDZn0sxPhMI5cPskedqNBLHiuw+uSHkSTnHzbVBHKNi/I4wMOgcZ3UCPEdIwgXiADIrKrU+RYWNM2+pLsOw7BVjSgIb8jQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741683068; c=relaxed/simple; bh=p57AsSdCyuAbESfbedFQezCRxx50/BKv2tVS78zloLQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NQlUc/8eUEqf6NPhY5PX7oEJjoT5Xb7aKfZbga6sJNOjCnZEVWFhPJExGtP4XCQes5CUg1aFeaD97GO0waoE9qrcpmXSqxKyAEwnvzrC/xfeSrMwEsn1qTrnJVEFUXvWx59rXdU2gh6nS9BYOGz5G2gvp0RDC55wbNoSqMcEmIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=4sigma.it; spf=pass smtp.mailfrom=4sigma.it; dkim=pass (1024-bit key) header.d=4sigma.it header.i=@4sigma.it header.b=rhQFcKqG; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=4sigma.it Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=4sigma.it Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=4sigma.it header.i=@4sigma.it header.b="rhQFcKqG" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3913b539aabso1616313f8f.2 for ; Tue, 11 Mar 2025 01:51:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4sigma.it; s=google; t=1741683062; x=1742287862; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=MwcL4HYRQdZ2nKV+qcZFfYe/5XI6eU/BnWbOOOqZ4hk=; b=rhQFcKqGf5SZtgYbPYQVKViEbD0mnIHANQKzzr8hOG3ADMCJrfSo7LoQkvN+4N5ZIt SnmBI8DT5UCSdQM3Oe7pjV6hB5Sdp7j/CHiC1R4RVrt7Sgh86KUhiP04C8Mw4OoasUy0 oKrEK2Wlyd39X+vA/sZ+PwiiMThFvbWzoXFzU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741683062; x=1742287862; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MwcL4HYRQdZ2nKV+qcZFfYe/5XI6eU/BnWbOOOqZ4hk=; b=I4IGYB2ZQsddCCzbkSg22FybvAKZL8oYjnOQCO2HJlRbc04hnYPpBmR4gPDpppVWwP xoa3Sd4zcu4r1NPda4d5Flxi178jWXmuX3A4XnEBL7X9A30ouASB6Y2O1eG3GzxbvoEN 51AP59FCRVw9NAVHg9jOUiKdM9pD7nhyl+hUeYN8Qf9B6icV6q0FSdD0KU5RyVf3g9vZ GzHkweAnFvl20Jv2viyBxFetfRAVw1/WihXZDTA3OgajyZrrjfIQHoKcR0GYRQp/MoJU 8TSTCawHbfp7rlhevJ+Ke+xLEGu5stFa3pXftl0Hz2W5OUnONDEL8B0pVnde4Z0xHXRP YcCg== X-Forwarded-Encrypted: i=1; AJvYcCWGv7pw3oLTqa9LmHBSWtlGDci+wP/Hg7CPGV5YimooJdhfIMbZSdjEFWzxS7LOBn2SQhA5KJqNPWU=@vger.kernel.org X-Gm-Message-State: AOJu0YxJS3e7lE352ueWdRLxetVhmdxXlmxEYhT0qyNr9AFN0/v8XXPx B0H95AJE/e9yifA7UQaAYvClz0goycmYuXRUwtneBXCMUC7km1jvp2tnKkB9QQ== X-Gm-Gg: ASbGnctuXDuC+zyqGkTRw5wrmz/rwRR83xAA/cJ8sJ7Lz64lIzkm2AFrnCJV8rFDHvh lHj4u2O7NfPRPTk7bBI2aUuIE6WTqJ9UUmjF6rkVoa0fI+fYxdpREYMGHbibonEFzMvPtCgbCKw Y/Y6rVT6sGtrGyC9eVJAgBSJD6obh080bj0EmJF4b7GtYvTxIoI6xPR3bYhBng0vICdh1UzN59S Jsje7by1rvv9gdBn3qKk0rDAoCmqkg0O72ZJCZc0INFCQFZf4sq1ZB2Md6qgZCYNvA5B5+yFL5p ngg3zkbRRsTGbGBS84Z42SvSFKXstFLDEH19dcW8u2Q6xnQSre9m+s7EmxQy/twy9unnVzFeNgf HSrnIw2g= X-Google-Smtp-Source: AGHT+IGk3N4ePEA8O4L8AME/TM7yCODZZG/WNCNcAMHPSuNIq2+J+9DDvIGH7pXqN6oDdgLo5zzbfQ== X-Received: by 2002:a5d:5f4a:0:b0:391:22a9:4427 with SMTP id ffacd0b85a97d-39132d3b3ffmr11551870f8f.12.1741683062563; Tue, 11 Mar 2025 01:51:02 -0700 (PDT) Received: from marvin.localdomain (83-103-103-194.ip.fastwebnet.it. [83.103.103.194]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01cdd7sm17746333f8f.56.2025.03.11.01.51.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Mar 2025 01:51:02 -0700 (PDT) From: Silvano Seva To: jic23@kernel.org Cc: a.greco@4sigma.it, Silvano Seva , Lorenzo Bianconi , Lars-Peter Clausen , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/2] iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_fifo Date: Tue, 11 Mar 2025 09:49:47 +0100 Message-ID: <20250311085030.3593-2-s.seva@4sigma.it> X-Mailer: git-send-email 2.48.1 Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Prevent st_lsm6dsx_read_fifo from falling in an infinite loop in case pattern_len is equal to zero and the device FIFO is not empty. Fixes: 290a6ce11d93 ("iio: imu: add support to lsm6dsx driver") Signed-off-by: Silvano Seva --- Changes since v1: * st_lsm6dsx_read_fifo: moved check for zero pattern_len before fifo_len assignment * st_lsm6dsx_read_fifo: dropped check for zero fifo_len * added Fixes tags in commit message Changes since v2: * split patch in two parts, one fixing st_lsm6dsx_read_fifo and one fixing st_lsm6dsx_read_tagged_fifo drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c index 0a7cd8c1aa33..480a9b31065c 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -392,6 +392,9 @@ int st_lsm6dsx_read_fifo(struct st_lsm6dsx_hw *hw) if (fifo_status & cpu_to_le16(ST_LSM6DSX_FIFO_EMPTY_MASK)) return 0; + if (!pattern_len) + pattern_len = ST_LSM6DSX_SAMPLE_SIZE; + fifo_len = (le16_to_cpu(fifo_status) & fifo_diff_mask) * ST_LSM6DSX_CHAN_SIZE; fifo_len = (fifo_len / pattern_len) * pattern_len; From patchwork Tue Mar 11 08:49:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Seva X-Patchwork-Id: 14011285 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (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 13E38226CF0 for ; Tue, 11 Mar 2025 08:51:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741683079; cv=none; b=PycGWt8nsK7aYd5cqiWoa+JJqt4Gh7Jq7ZYc8/e3UnvKuNJMPGlhk8oaJneqRwfBrLaW4/s+B8Bj1+AArsmig78Y8KTknXU3uxf6jleYMD3rMRRKuT5qW0cNzquGdp0hGfsG2gv0D7Yu3EJH7CI+MHABx6aNRD7SoDFH5b8Wu+k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741683079; c=relaxed/simple; bh=epZ57SOX5YzHnFy/WkFcRwDgjbiMWrHimD4P10IE+Lk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=goaOGb2DDfb4a70ke0idYq3seWhbLitsJjWjsni/hSq1kBA8YYQ2PZfZGX3WHsDoEEnNT55oi4S8feMcSn73oYvKcoZ3H49edDinRJXKmG7T2Y0uWigmmQXJTV89pWH4ppc0WxAhtaN+caOqfYrt6N9b4HFxxIijkwp9Y4Sju/w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=4sigma.it; spf=pass smtp.mailfrom=4sigma.it; dkim=pass (1024-bit key) header.d=4sigma.it header.i=@4sigma.it header.b=dFIVocYG; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=4sigma.it Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=4sigma.it Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=4sigma.it header.i=@4sigma.it header.b="dFIVocYG" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-38a25d4b9d4so2768667f8f.0 for ; Tue, 11 Mar 2025 01:51:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=4sigma.it; s=google; t=1741683075; x=1742287875; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ta529X7Ec9Pad2vo9YncNZsmhmxGAhn1X/QNcXk60qQ=; b=dFIVocYGa1Vyt0kXvyBJIFO6wKMX/V2nTVe9RgKQ9NZjZ8B1Fr8/YnxJkGP3gNtAbu zJ89TC4NRkeGREUvzDRtZRRCujsN3gYKDrGJflzlM3cMNglujkMgS6ZuDY/C3itmRaIr ZiufEgzKOuKmGzPGNZQVQ8kIZGWMqPOlwzicM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741683075; x=1742287875; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ta529X7Ec9Pad2vo9YncNZsmhmxGAhn1X/QNcXk60qQ=; b=ba8YT+LjZRGuEpvYb1KXl6a0WdUY3RcaD9mSYzK3qFr0E+K+KaXrKM/N1+toGOO6lL cKMpxVWasSx75E8SIsZKcaoCKFekzNdBjjlcSw3vV3YLlhsX5d4rNvyQCCsOw/omZtAb b0Ki0eS46Hg11EDgrOCJZwQxUqHBMBQC5SxzSyOlP10V/TetLaLzcCM3dMzFbRWYvaKa BsmKROUdPlGCeLIfiEZI9uyIaVOPrnPf+fxkHBmKQjS6xmBXpr9jL+C8U5QWJr8MlIj2 lxSTy8W/PL4cgeozuaCTEKufiU6QxLa7P/PXP6TLUTajGkAprycYkOF1sQeG/E7qtQX+ qMFw== X-Forwarded-Encrypted: i=1; AJvYcCVzqKGjEYVH4WwEXYa6wg5qUWznCJ3myT9FiSJzzzq/f4GNlemP9GoYBWppUv9Y/NScsbvo2PavIsE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy/em+f3p6YxPcW/isv3XFGJdJRn4p36t/3UYJvi1LEBAYZFAIT gwWXlNJd0WZjaFTIYuLVZFz5KeozA7t2HpMy6cieUbOmE6Dgpy/33t0OkIUj0w== X-Gm-Gg: ASbGncvMpLnv9sBcopethOIO46wRnqeImByigPI5EE48wMMWr0knuloovaGDX0mfswR 4reCrGpSdA3g3VrVcy6MipDHgCwsu/Hus7IGpAJT0X/kL7lvHiG2/hzFdRzC7RiPLum5pJmVD9D zDuhrbOywKrqJAvHWjxQIwk4BeWG/XIYZOE9SjUFGZlVqRup0etyHlHP/Tb0VFAEFVQ/iPyFEkg tfE6yfid4AAWMDHhopEksNikv0kJuKZpZg8pJ9zccS+r77KdsAO+hznMbm5av9CWThGkE4TmI41 Zvti5NQd5DMAxWcdJymlpyq4mKCqKuYAMfTlqGrsLfK+x8QOziPG8gGpGdnd/g/wydhwRuxHGb+ AXjbXitI= X-Google-Smtp-Source: AGHT+IFdw+TlvJni9KvGZu3iaRvW4wpiEd8GOvdZeIqppNlFn1Z9pxj7+SuF2DYXmjUR1ceR3bTYEw== X-Received: by 2002:a5d:6daa:0:b0:391:2d61:453f with SMTP id ffacd0b85a97d-39132d71099mr11193196f8f.24.1741683075439; Tue, 11 Mar 2025 01:51:15 -0700 (PDT) Received: from marvin.localdomain (83-103-103-194.ip.fastwebnet.it. [83.103.103.194]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3912c01cdd7sm17746333f8f.56.2025.03.11.01.51.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Mar 2025 01:51:15 -0700 (PDT) From: Silvano Seva To: jic23@kernel.org Cc: a.greco@4sigma.it, Silvano Seva , Lorenzo Bianconi , Lars-Peter Clausen , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 2/2] iio: imu: st_lsm6dsx: fix possible lockup in st_lsm6dsx_read_tagged_fifo Date: Tue, 11 Mar 2025 09:49:49 +0100 Message-ID: <20250311085030.3593-4-s.seva@4sigma.it> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250311085030.3593-2-s.seva@4sigma.it> References: <20250311085030.3593-2-s.seva@4sigma.it> Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Prevent st_lsm6dsx_read_tagged_fifo from falling in an infinite loop in case pattern_len is equal to zero and the device FIFO is not empty. Fixes: 801a6e0af0c6 ("iio: imu: st_lsm6dsx: add support to LSM6DSO") Signed-off-by: Silvano Seva --- Changes since v1: * st_lsm6dsx_read_fifo: moved check for zero pattern_len before fifo_len assignment * st_lsm6dsx_read_fifo: dropped check for zero fifo_len * added Fixes tags in commit message Changes since v2: * split patch in two parts, one fixing st_lsm6dsx_read_fifo and one fixing st_lsm6dsx_read_tagged_fifo drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c index 480a9b31065c..8a9d2593576a 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -626,6 +626,9 @@ int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *hw) if (!fifo_len) return 0; + if (!pattern_len) + pattern_len = ST_LSM6DSX_TAGGED_SAMPLE_SIZE; + for (read_len = 0; read_len < fifo_len; read_len += pattern_len) { err = st_lsm6dsx_read_block(hw, ST_LSM6DSX_REG_FIFO_OUT_TAG_ADDR,