linux/drivers/soundwire
Krzysztof Kozlowski 801daff007 soundwire: qcom: fix storing port config out-of-bounds
commit 490937d479 upstream.

The 'qcom_swrm_ctrl->pconfig' has size of QCOM_SDW_MAX_PORTS (14),
however we index it starting from 1, not 0, to match real port numbers.
This can lead to writing port config past 'pconfig' bounds and
overwriting next member of 'qcom_swrm_ctrl' struct.  Reported also by
smatch:

  drivers/soundwire/qcom.c:1269 qcom_swrm_get_port_config() error: buffer overflow 'ctrl->pconfig' 14 <= 14

Fixes: 9916c02ccd ("soundwire: qcom: cleanup internal port config indexing")
Cc: <stable@vger.kernel.org>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/r/202305201301.sCJ8UDKV-lkp@intel.com/
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230601102525.609627-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-07-23 13:49:42 +02:00
..
bus.c soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow 2023-05-24 17:32:42 +01:00
bus.h soundwire: export sdw_update() and sdw_update_no_pm() 2021-06-21 13:00:42 +01:00
bus_type.c soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe() 2023-03-11 13:55:35 +01:00
cadence_master.c soundwire: cadence: rename sdw_cdns_dai_dma_data as sdw_cdns_dai_runtime 2023-05-11 23:03:37 +09:00
cadence_master.h soundwire: intel: don't save hw_params for use in prepare 2023-05-11 23:03:37 +09:00
debugfs.c soundwire: debugfs: use controller id and link_id for debugfs 2021-10-01 09:53:47 +05:30
dmi-quirks.c soundwire: dmi-quirks: add new mapping for HP Spectre x360 2023-06-28 11:12:38 +02:00
generic_bandwidth_allocation.c soundwire: bandwidth allocation: improve error messages 2021-05-11 17:34:07 +05:30
intel.c soundwire: intel: don't save hw_params for use in prepare 2023-05-11 23:03:37 +09:00
intel.h soundwire: intel: skip suspend/resume/wake when link was not started 2021-08-23 17:40:33 +05:30
intel_init.c soundwire: intel: cleanup definition of LCOUNT 2022-09-01 14:29:14 +05:30
Kconfig soundwire: intel: move to auxiliary bus 2021-06-14 10:12:26 +05:30
Makefile soundwire: Intel: introduce DMI quirks for HP Spectre x360 Convertible 2021-03-22 17:33:10 +05:30
master.c soundwire: master: use pm_runtime_set_active() on add 2020-12-02 12:49:34 +05:30
mipi_disco.c soundwire: fix port_ready[] dynamic allocation in mipi_disco 2020-09-03 16:02:29 +05:30
qcom.c soundwire: qcom: fix storing port config out-of-bounds 2023-07-23 13:49:42 +02:00
slave.c Char / Misc driver changes for 6.0-rc1 2022-08-04 11:05:48 -07:00
stream.c soundwire: stream: Add missing clear of alloc_slave_rt 2023-06-14 11:15:32 +02:00
sysfs_local.h soundwire: sysfs: add slave status and device number before probe 2020-09-28 11:17:43 +05:30
sysfs_slave.c soundwire: sysfs: Constify static struct attribute_group 2021-01-19 20:21:20 +05:30
sysfs_slave_dpn.c soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute 2020-11-24 14:08:51 +05:30