linux-yocto/drivers/i2c/busses
Michael J. Ruhl 6358cb9c2a i2c/designware: Fix an initialization issue
commit 3d30048958 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: 17631e8ca2 ("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>
2025-07-10 16:03:19 +02:00
..
i2c-acorn.c
i2c-ali15x3.c i2c: ali15x3: Fix an error handling path in ali15x3_probe() 2025-03-22 12:50:49 -07:00
i2c-ali1535.c i2c: ali1535: Fix an error handling path in ali1535_probe() 2025-03-22 12:50:49 -07:00
i2c-ali1563.c
i2c-altera.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd-mp2-pci.c i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-amd-mp2-plat.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-amd-mp2.h i2c: amd-mp2: use msix/msi if the hardware supports 2022-11-01 13:41:22 +01:00
i2c-amd756-s4882.c
i2c-amd756.c
i2c-amd8111.c
i2c-aspeed.c i2c: aspeed: Update the stop sw state when the bus recovery occurs 2024-10-04 16:30:03 +02:00
i2c-at91-core.c i2c: at91: Use dev_err_probe() instead of dev_err() 2023-08-30 21:19:55 +02:00
i2c-at91-master.c i2c: Make return value check more accurate and explicit for devm_pinctrl_get() 2023-08-26 00:18:39 +02:00
i2c-at91-slave.c i2c: at91: Fix the functionality flags of the slave-only interface 2024-06-21 14:38:50 +02:00
i2c-at91.h
i2c-au1550.c i2c: au1550: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-axxia.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-bcm-iproc.c i2c: iproc: handle invalid slave state 2023-11-20 11:59:36 +01:00
i2c-bcm-kona.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-bcm2835.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-brcmstb.c i2c: brcmstb: Convert to devm_platform_ioremap_resource() 2023-08-14 18:09:39 +02:00
i2c-cadence.c i2c: cadence: Avoid fifo clear after start 2024-06-12 11:12:26 +02:00
i2c-cbus-gpio.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-ccgx-ucsi.c
i2c-ccgx-ucsi.h
i2c-cht-wc.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-cp2615.c
i2c-cpm.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-cros-ec-tunnel.c i2c: cros-ec-tunnel: defer probe if parent EC is not present 2025-04-25 10:45:47 +02:00
i2c-davinci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-designware-amdpsp.c i2c: designware: Add doorbell support for Mendocino 2023-04-20 18:20:05 +08:00
i2c-designware-baytrail.c
i2c-designware-common.c i2c: designware: Remove ->disable() callback 2025-06-04 14:41:51 +02:00
i2c-designware-core.h i2c: designware: Remove ->disable() callback 2025-06-04 14:41:51 +02:00
i2c-designware-master.c i2c/designware: Fix an initialization issue 2025-07-10 16:03:19 +02:00
i2c-designware-pcidrv.c i2c: designware: Fix an error handling path in i2c_dw_pci_probe() 2025-06-04 14:41:51 +02:00
i2c-designware-platdrv.c i2c: designware: Use temporary variable for struct device 2025-06-04 14:41:51 +02:00
i2c-designware-slave.c i2c: designware: Invoke runtime suspend on quick slave re-registration 2025-06-27 11:08:53 +01:00
i2c-digicolor.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-diolan-u2c.c
i2c-dln2.c i2c: dln2: Use dev_err_probe in probe function 2023-08-10 10:13:40 +02:00
i2c-eg20t.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-elektor.c
i2c-emev2.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-exynos5.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-fsi.c
i2c-gpio.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-gxp.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-highlander.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-hisi.c I2C has mainly cleanups this time and a few driver improvements. Because 2023-09-04 13:44:11 -07:00
i2c-hix5hd2.c i2c: hix5hd2: Remove #ifdef guards for PM related functions 2023-08-08 15:36:48 +02:00
i2c-hydra.c
i2c-i801.c i2c: i801: Add support for Intel Panther Lake 2025-01-09 13:31:43 +01:00
i2c-ibm_iic.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ibm_iic.h
i2c-icy.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-img-scb.c i2c: img-scb: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-imx-lpi2c.c i2c: imx-lpi2c: Fix clock count when probe defers 2025-05-09 09:43:50 +02:00
i2c-imx.c i2c: imx: add imx7d compatible string for applying erratum ERR007805 2025-01-02 10:32:10 +01:00
i2c-iop3xx.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-iop3xx.h
i2c-isch.c i2c: isch: Add missed 'else' 2024-10-04 16:30:03 +02:00
i2c-ismt.c i2c: ismt: Fix an out-of-bounds bug in ismt_access() 2022-12-07 21:27:08 +01:00
i2c-jz4780.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-kempld.c i2c: kempld: Convert to use regular device PM 2023-08-08 15:36:49 +02:00
i2c-lpc2k.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-ls2x.c i2c: ls2x: Fix frequency division register access 2025-03-07 16:45:46 +01:00
i2c-mchp-pci1xxxx.c i2c: mchp-pci1xxxx: Avoid cast to incompatible function type 2023-06-05 10:43:45 +02:00
i2c-meson.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-microchip-corei2c.c i2c: microchip-core: fix "ghost" detections 2025-01-02 10:32:10 +01:00
i2c-mlxbf.c i2c: mlxbf: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:44 +02:00
i2c-mlxcpld.c i2c: mlxcpld: Add support for extended transaction length 2023-08-25 22:13:12 +02:00
i2c-mpc.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mt65xx.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mt7621.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-mv64xxx.c Biggest news is not a patch this time 2023-07-02 10:22:38 -07:00
i2c-mxs.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-nforce2-s4985.c
i2c-nforce2.c i2c: nforce2: Do PCI error check on own line 2023-08-25 22:11:08 +02:00
i2c-nomadik.c i2c: nomadik: Remove #ifdef guards for PM related functions 2023-08-08 15:36:49 +02:00
i2c-npcm7xx.c i2c: npcm: Add clock toggle recovery 2025-06-27 11:08:53 +01:00
i2c-nvidia-gpu.c usb: typec: ucsi: Mark dGPUs as DEVICE scope 2023-06-14 10:47:11 +02:00
i2c-ocores.c i2c: ocores: set IACK bit after core is enabled 2024-06-27 13:49:13 +02:00
i2c-octeon-core.c
i2c-octeon-core.h
i2c-octeon-platdrv.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-omap.c i2c: omap: fix IRQ storms 2025-03-28 21:59:54 +01:00
i2c-opal.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-owl.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-parport.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-pasemi-core.c i2c: pasemi: split driver into two separate modules 2024-02-23 09:24:59 +01:00
i2c-pasemi-core.h i2c: /pasemi: PASemi I2C controller IRQ enablement 2022-11-12 21:30:16 +01:00
i2c-pasemi-pci.c
i2c-pasemi-platform.c i2c: pasemi-platform: Use devm_clk_get_enabled() 2023-06-23 11:56:34 +02:00
i2c-pca-isa.c
i2c-pca-platform.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-piix4.c i2c: piix4: Fix adapter not be removed in piix4_remove() 2022-11-01 13:09:33 +01:00
i2c-pnx.c i2c: pnx: Fix timeout in wait functions 2024-12-27 13:58:44 +01:00
i2c-powermac.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-pxa-pci.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-pxa.c i2c: pxa: fix call balance of i2c->clk handling routines 2025-06-04 14:41:56 +02:00
i2c-qcom-cci.c i2c: qcom-cci: Fix error checking in cci_probe() 2023-08-25 22:07:10 +02:00
i2c-qcom-geni.c i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq() 2024-10-10 11:57:43 +02:00
i2c-qup.c i2c: qup: Vote for interconnect bandwidth to DRAM 2025-06-04 14:41:56 +02:00
i2c-rcar.c i2c: rcar: fix NACK handling when being a target 2025-01-23 17:21:12 +01:00
i2c-riic.c i2c: riic: Always round-up when calculating bus period 2024-12-27 13:58:50 +01:00
i2c-rk3x.c i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 2024-02-05 20:14:33 +00:00
i2c-robotfuzz-osif.c i2c: robotfuzz-osif: disable zero-length read messages 2025-07-06 11:00:11 +02:00
i2c-rzv2m.c i2c: rzv2m: Disable the operation of unit in case of error 2023-06-05 12:03:35 +02:00
i2c-s3c2410.c i2c: s3c24xx: fix transferring more than one message in polling mode 2024-01-25 15:36:01 -08:00
i2c-scmi.c More ACPI updates for 6.5-rc1 2023-07-06 22:25:06 -07:00
i2c-sh_mobile.c i2c: sh_mobile: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:10:01 +02:00
i2c-sh7760.c i2c: Improve size determinations 2023-06-07 14:12:11 +02:00
i2c-sibyte.c
i2c-simtec.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-sis96x.c
i2c-sis630.c i2c: sis630: Fix an error handling path in sis630_probe() 2025-03-22 12:50:49 -07:00
i2c-sis5595.c i2c: sis5595: Do PCI error checks on own line 2023-08-25 22:11:03 +02:00
i2c-sprd.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-st.c i2c: st: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:57 +02:00
i2c-stm32.c
i2c-stm32.h
i2c-stm32f4.c i2c: stm32f4: Use devm_platform_get_and_ioremap_resource() 2023-08-14 18:09:48 +02:00
i2c-stm32f7.c i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume 2024-10-10 11:57:43 +02:00
i2c-sun6i-p2wi.c i2c: sun6i-p2wi: Prevent potential division by zero 2023-11-28 17:19:46 +00:00
i2c-synquacer.c i2c: synquacer: Deal with optional PCLK correctly 2024-10-10 11:58:02 +02:00
i2c-taos-evm.c i2c: move drivers from strlcpy to strscpy 2022-08-11 23:02:51 +02:00
i2c-tegra-bpmp.c I2C: Explicitly include correct DT includes 2023-08-14 17:47:21 +02:00
i2c-tegra.c i2c: tegra: check msg length in SMBUS block read 2025-06-27 11:08:53 +01:00
i2c-thunderx-pcidrv.c drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers 2022-05-21 13:41:28 +02:00
i2c-tiny-usb.c i2c: tiny-usb: disable zero-length read messages 2025-07-06 11:00:11 +02:00
i2c-uniphier-f.c i2c: uniphier-f: Use devm_clk_get_enabled() 2023-06-23 12:22:34 +02:00
i2c-uniphier.c i2c: uniphier: Use devm_clk_get_enabled() 2023-06-23 12:22:41 +02:00
i2c-versatile.c i2c: versatile: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:40:09 +02:00
i2c-via.c
i2c-viapro.c
i2c-viperboard.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
i2c-virtio.c i2c: virtio: Remove #ifdef guards for PM related functions 2023-08-08 15:36:53 +02:00
i2c-wmt.c i2c: wmt: Use devm_platform_get_and_ioremap_resource() 2023-06-14 10:41:17 +02:00
i2c-xgene-slimpro.c i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros 2025-01-09 13:31:45 +01:00
i2c-xiic.c i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled 2024-10-10 11:57:43 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Use dev_err_probe in probe function 2023-08-10 10:12:55 +02:00
Kconfig i2c: i801: Add support for Intel Panther Lake 2025-01-09 13:31:43 +01:00
Makefile i2c: pasemi: split driver into two separate modules 2024-02-23 09:24:59 +01:00
scx200_acb.c i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00