Skip to content

Commit 5201d11

Browse files
author
Steve Dunnagan
committed
i2c: tegra: check msg length in SMBUS block read
JIRA: https://issues.redhat.com/browse/RHEL-89166 commit a6e04f0 Author: Akhil R <akhilrajeev@nvidia.com> Date: Thu Apr 24 11:03:20 2025 +0530 i2c: tegra: check msg length in SMBUS block read For SMBUS block read, do not continue to read if the message length passed from the device is '0' or greater than the maximum allowed bytes. Signed-off-by: Akhil R <akhilrajeev@nvidia.com> Acked-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20250424053320.19211-1-akhilrajeev@nvidia.com Signed-off-by: Andi Shyti <andi.shyti@kernel.org> (cherry picked from commit a6e04f0) Signed-off-by: Steve Dunnagan <sdunnaga@redhat.com>
1 parent 3dccfc9 commit 5201d11

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/i2c/busses/i2c-tegra.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1395,6 +1395,11 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
13951395
ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], MSG_END_CONTINUE);
13961396
if (ret)
13971397
break;
1398+
1399+
/* Validate message length before proceeding */
1400+
if (msgs[i].buf[0] == 0 || msgs[i].buf[0] > I2C_SMBUS_BLOCK_MAX)
1401+
break;
1402+
13981403
/* Set the msg length from first byte */
13991404
msgs[i].len += msgs[i].buf[0];
14001405
dev_dbg(i2c_dev->dev, "reading %d bytes\n", msgs[i].len);

0 commit comments

Comments
 (0)