Commit 3d300489 authored by Michael J. Ruhl's avatar Michael J. Ruhl Committed by Andi Shyti
Browse files

i2c/designware: Fix an initialization issue



The i2c_dw_xfer_init() function requires msgs and msg_write_idx from the
dev context to be initialized.

amd_i2c_dw_xfer_quirk() inits msgs and msgs_num, but not msg_write_idx.

This could allow an out of bounds access (of msgs).

Initialize msg_write_idx before calling i2c_dw_xfer_init().

Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fixes: 17631e8c ("i2c: designware: Add driver support for AMD NAVI GPU")
Cc: <stable@vger.kernel.org> # v5.13+
Signed-off-by: default avatarMichael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250627143511.489570-1-michael.j.ruhl@intel.com
parent d0b3b7b2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -363,6 +363,7 @@ static int amd_i2c_dw_xfer_quirk(struct i2c_adapter *adap, struct i2c_msg *msgs,

	dev->msgs = msgs;
	dev->msgs_num = num_msgs;
	dev->msg_write_idx = 0;
	i2c_dw_xfer_init(dev);

	/* Initiate messages read/write transaction */