Skip to content

Commit 643ad29

Browse files
committed
i2c: tegra: check msg length in SMBUS block read
jira LE-3622 Rebuild_History Non-Buildable kernel-6.12.0-55.22.1.el10_0 commit-author Akhil R <[email protected]> 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 <[email protected]> Acked-by: Thierry Reding <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Andi Shyti <[email protected]> (cherry picked from commit a6e04f0) Signed-off-by: Jonathan Maple <[email protected]>
1 parent 69a8b46 commit 643ad29

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)