[PATCH] ASoC: codecs: wm8958: Add const to enum texts allocation types

Kees Cook posted 1 patch 1 week ago
sound/soc/codecs/wm8958-dsp2.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH] ASoC: codecs: wm8958: Add const to enum texts allocation types
Posted by Kees Cook 1 week ago
From: Kees Cook <kees+treewide@kernel.org>

In preparation for converting the kmalloc family of allocators to the
type-aware kmalloc_obj family, we need to make sure that the returned
type from the allocation matches the type of the variable being
assigned. (The kmalloc family returns "void *", which can be implicitly
cast to any pointer type.)

The assigned types of mbc_texts, vss_texts, vss_hpf_texts, and
enh_eq_texts are "const char **", but the converted allocation types
would be "char **", which is the same type without the const qualifier.
As there is no general way to safely add const qualifiers, take the
sizes from the assignment targets instead. No change in allocation size
results.

Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
sound/soc/codecs/wm8958-dsp2.o

Assisted-by: LLM coccinelle
Signed-off-by: Kees Cook <kees+treewide@kernel.org>
---
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Richard Fitzgerald <rf@opensource.cirrus.com>
Cc: Cezary Rojewski <cezary.rojewski@intel.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: bui duc phuc <phucduc.bui@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <patches@opensource.cirrus.com>
Cc: <linux-sound@vger.kernel.org>
---
 sound/soc/codecs/wm8958-dsp2.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/codecs/wm8958-dsp2.c b/sound/soc/codecs/wm8958-dsp2.c
index f75a6dc9d2bb..b26c36ca8249 100644
--- a/sound/soc/codecs/wm8958-dsp2.c
+++ b/sound/soc/codecs/wm8958-dsp2.c
@@ -928,7 +928,7 @@ void wm8958_dsp2_init(struct snd_soc_component *component)
 
 		/* We need an array of texts for the enum API */
 		wm8994->mbc_texts = kmalloc_array(pdata->num_mbc_cfgs,
-						  sizeof(char *),
+						  sizeof(*wm8994->mbc_texts),
 						  GFP_KERNEL);
 		if (!wm8994->mbc_texts)
 			return;
@@ -954,7 +954,7 @@ void wm8958_dsp2_init(struct snd_soc_component *component)
 
 		/* We need an array of texts for the enum API */
 		wm8994->vss_texts = kmalloc_array(pdata->num_vss_cfgs,
-						  sizeof(char *),
+						  sizeof(*wm8994->vss_texts),
 						  GFP_KERNEL);
 		if (!wm8994->vss_texts)
 			return;
@@ -981,7 +981,7 @@ void wm8958_dsp2_init(struct snd_soc_component *component)
 
 		/* We need an array of texts for the enum API */
 		wm8994->vss_hpf_texts = kmalloc_array(pdata->num_vss_hpf_cfgs,
-						      sizeof(char *),
+						      sizeof(*wm8994->vss_hpf_texts),
 						      GFP_KERNEL);
 		if (!wm8994->vss_hpf_texts)
 			return;
@@ -1009,7 +1009,7 @@ void wm8958_dsp2_init(struct snd_soc_component *component)
 
 		/* We need an array of texts for the enum API */
 		wm8994->enh_eq_texts = kmalloc_array(pdata->num_enh_eq_cfgs,
-						     sizeof(char *),
+						     sizeof(*wm8994->enh_eq_texts),
 						     GFP_KERNEL);
 		if (!wm8994->enh_eq_texts)
 			return;
-- 
2.34.1
Re: [PATCH] ASoC: codecs: wm8958: Add const to enum texts allocation types
Posted by Mark Brown 6 days, 8 hours ago
On Thu, 17 Sep 2026 14:11:03 -0700, Kees Cook wrote:
> ASoC: codecs: wm8958: Add const to enum texts allocation types

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.4

Thanks!

[1/1] ASoC: codecs: wm8958: Add const to enum texts allocation types
      https://git.kernel.org/broonie/sound/c/d0d2b9576f44

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Re: [PATCH] ASoC: codecs: wm8958: Add const to enum texts allocation types
Posted by Charles Keepax 6 days, 10 hours ago
On Thu, Sep 17, 2026 at 02:11:03PM -0700, Kees Cook wrote:
> From: Kees Cook <kees+treewide@kernel.org>
> 
> In preparation for converting the kmalloc family of allocators to the
> type-aware kmalloc_obj family, we need to make sure that the returned
> type from the allocation matches the type of the variable being
> assigned. (The kmalloc family returns "void *", which can be implicitly
> cast to any pointer type.)
> 
> The assigned types of mbc_texts, vss_texts, vss_hpf_texts, and
> enh_eq_texts are "const char **", but the converted allocation types
> would be "char **", which is the same type without the const qualifier.
> As there is no general way to safely add const qualifiers, take the
> sizes from the assignment targets instead. No change in allocation size
> results.
> 
> Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
> sound/soc/codecs/wm8958-dsp2.o
> 
> Assisted-by: LLM coccinelle
> Signed-off-by: Kees Cook <kees+treewide@kernel.org>
> ---

Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>

Thanks,
Charles
Re: [PATCH] ASoC: codecs: wm8958: Add const to enum texts allocation types
Posted by Cezary Rojewski 6 days, 17 hours ago
On 9/17/2026 11:11 PM, Kees Cook wrote:
> From: Kees Cook <kees+treewide@kernel.org>
> 
> In preparation for converting the kmalloc family of allocators to the
> type-aware kmalloc_obj family, we need to make sure that the returned
> type from the allocation matches the type of the variable being
> assigned. (The kmalloc family returns "void *", which can be implicitly
> cast to any pointer type.)
> 
> The assigned types of mbc_texts, vss_texts, vss_hpf_texts, and
> enh_eq_texts are "const char **", but the converted allocation types
> would be "char **", which is the same type without the const qualifier.
> As there is no general way to safely add const qualifiers, take the
> sizes from the assignment targets instead. No change in allocation size
> results.
> 
> Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
> sound/soc/codecs/wm8958-dsp2.o
> 
> Assisted-by: LLM coccinelle
> Signed-off-by: Kees Cook <kees+treewide@kernel.org>
> ---
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: Richard Fitzgerald <rf@opensource.cirrus.com>
> Cc: Cezary Rojewski <cezary.rojewski@intel.com>
> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Cc: bui duc phuc <phucduc.bui@gmail.com>
> Cc: Al Viro <viro@zeniv.linux.org.uk>
> Cc: <patches@opensource.cirrus.com>
> Cc: <linux-sound@vger.kernel.org>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>