ASoC: qcom: Fix sc7280 lpass potential buffer overflow
commit a31a4934b31faea76e735bab17e63d02fcd8e029 upstream. Case values introduced in commit5f78e1fb7a
("ASoC: qcom: Add driver support for audioreach solution") cause out of bounds access in arrays of sc7280 driver data (e.g. in case of RX_CODEC_DMA_RX_0 in sc7280_snd_hw_params()). Redefine LPASS_MAX_PORTS to consider the maximum possible port id for q6dsp as sc7280 driver utilizes some of those values. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes:77d0ffef79
("ASoC: qcom: Add macro for lpass DAI id's max limit") Cc: stable@vger.kernel.org # v6.0+ Suggested-by: Mikhail Kobuk <m.kobuk@ispras.ru> Suggested-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: Evgeny Pimenov <pimenoveu12@gmail.com> Link: https://patch.msgid.link/20250401204058.32261-1-pimenoveu12@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bf39a185a6
commit
a12c145778
@@ -13,10 +13,11 @@
|
|||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/regmap.h>
|
#include <linux/regmap.h>
|
||||||
#include <dt-bindings/sound/qcom,lpass.h>
|
#include <dt-bindings/sound/qcom,lpass.h>
|
||||||
|
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||||
#include "lpass-hdmi.h"
|
#include "lpass-hdmi.h"
|
||||||
|
|
||||||
#define LPASS_AHBIX_CLOCK_FREQUENCY 131072000
|
#define LPASS_AHBIX_CLOCK_FREQUENCY 131072000
|
||||||
#define LPASS_MAX_PORTS (LPASS_CDC_DMA_VA_TX8 + 1)
|
#define LPASS_MAX_PORTS (DISPLAY_PORT_RX_7 + 1)
|
||||||
#define LPASS_MAX_MI2S_PORTS (8)
|
#define LPASS_MAX_MI2S_PORTS (8)
|
||||||
#define LPASS_MAX_DMA_CHANNELS (8)
|
#define LPASS_MAX_DMA_CHANNELS (8)
|
||||||
#define LPASS_MAX_HDMI_DMA_CHANNELS (4)
|
#define LPASS_MAX_HDMI_DMA_CHANNELS (4)
|
||||||
|
Reference in New Issue
Block a user