Skip to content

Commit 7d26021

Browse files
committed
i2c: tegra: check msg length in SMBUS block read
jira LE-3615 Rebuild_History Non-Buildable kernel-5.14.0-570.28.1.el9_6 commit-author Akhil R <akhilrajeev@nvidia.com> commit a6e04f0 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: Jonathan Maple <jmaple@ciq.com>
1 parent 1b99678 commit 7d26021

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
@@ -1397,6 +1397,11 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
13971397
ret = tegra_i2c_xfer_msg(i2c_dev, &msgs[i], MSG_END_CONTINUE);
13981398
if (ret)
13991399
break;
1400+
1401+
/* Validate message length before proceeding */
1402+
if (msgs[i].buf[0] == 0 || msgs[i].buf[0] > I2C_SMBUS_BLOCK_MAX)
1403+
break;
1404+
14001405
/* Set the msg length from first byte */
14011406
msgs[i].len += msgs[i].buf[0];
14021407
dev_dbg(i2c_dev->dev, "reading %d bytes\n", msgs[i].len);

0 commit comments

Comments
 (0)