linux/drivers/soundwire
Krzysztof Kozlowski 32eb67d736 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:54:08 +02:00
..
amd_manager.c soundwire: amd: add pm_prepare callback and pm ops support 2023-04-12 15:30:36 +05:30
amd_manager.h soundwire: amd: handle SoundWire wake enable interrupt 2023-04-12 15:30:36 +05:30
bus.c soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow 2023-04-12 15:34:40 +05:30
bus.h soundwire: export sdw_compute_slave_ports() function 2023-04-12 15:30:35 +05:30
bus_type.c soundwire updates for 6.3 2023-02-24 17:29:52 -08:00
cadence_master.c soundwire: cadence: change access to IP_MCP_CMD_BASE 2023-03-15 19:24:03 +05:30
cadence_master.h soundwire: intel: don't save hw_params for use in prepare 2023-04-12 15:32:57 +05:30
debugfs.c soundwire: debugfs: fix unbalanced pm_runtime_put() 2023-07-19 16:36:31 +02:00
dmi-quirks.c soundwire: dmi-quirks: add new mapping for HP Spectre x360 2023-05-27 16:07:47 +05:30
generic_bandwidth_allocation.c soundwire: export sdw_compute_slave_ports() function 2023-04-12 15:30:35 +05:30
intel.c soundwire: intel: don't save hw_params for use in prepare 2023-04-12 15:32:57 +05:30
intel.h soundwire: intel: move bank switch routine to common intel_bus_common.c 2023-03-15 19:24:02 +05:30
intel_auxdevice.c soundwire: intel_auxdevice: improve pm_prepare step 2023-04-12 15:36:55 +05:30
intel_auxdevice.h soundwire: intel: split auxdevice to different file 2022-11-23 20:11:49 +05:30
intel_bus_common.c soundwire: intel: move bank switch routine to common intel_bus_common.c 2023-03-15 19:24:02 +05:30
intel_init.c soundwire updates for 6.2 2022-12-19 08:47:33 -06:00
Kconfig soundwire: amd: enable build for AMD SoundWire manager driver 2023-04-12 15:30:36 +05:30
Makefile soundwire: amd: enable build for AMD SoundWire manager driver 2023-04-12 15:30:36 +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:54:08 +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-08 17:08:04 +05:30
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