| From 3d30048958e0d43425f6d4e76565e6249fa71050 Mon Sep 17 00:00:00 2001 |
| From: "Michael J. Ruhl" <michael.j.ruhl@intel.com> |
| Date: Fri, 27 Jun 2025 10:35:11 -0400 |
| Subject: i2c/designware: Fix an initialization issue |
| |
| From: Michael J. Ruhl <michael.j.ruhl@intel.com> |
| |
| 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 | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/i2c/busses/i2c-designware-master.c |
| +++ b/drivers/i2c/busses/i2c-designware-master.c |
| @@ -298,6 +298,7 @@ static int amd_i2c_dw_xfer_quirk(struct |
| |
| dev->msgs = msgs; |
| dev->msgs_num = num_msgs; |
| + dev->msg_write_idx = 0; |
| i2c_dw_xfer_init(dev); |
| i2c_dw_disable_int(dev); |
| |