]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c/designware: Fix an initialization issue
authorMichael J. Ruhl <michael.j.ruhl@intel.com>
Fri, 27 Jun 2025 14:35:11 +0000 (10:35 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:49 +0000 (15:57 +0200)
commit 3d30048958e0d43425f6d4e76565e6249fa71050 upstream.

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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Fixes: 17631e8ca2d3 ("i2c: designware: Add driver support for AMD NAVI GPU")
Cc: <stable@vger.kernel.org> # v5.13+
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250627143511.489570-1-michael.j.ruhl@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-designware-master.c

index 5ceb81319634eb4a9ede9575221b685926204af5..ff715c0acdb2bddbafbb5d077e3db4fff3e91733 100644 (file)
@@ -298,6 +298,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);
        i2c_dw_disable_int(dev);