2021-11-04 08:04:20

by Guo Zhengkui

[permalink] [raw]
Subject: [PATCH] ALSA: hda/realtek: fix flexible_array.cocci warning

Fix following coccicheck warnings:
./sound/pci/hda/patch_realtek.c:128:4-24: WARNING use
flexible-array member instead.

There is a regular need in the kernel to provide a way
to declare having a dynamically sized set of trailing
elements in a structure. Kernel code should always use
“flexible array members” for these cases. The older style
of one-element or zero-length arrays should no longer be used.

Signed-off-by: Guo Zhengkui <[email protected]>
---
sound/pci/hda/patch_realtek.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 6322fac9e694..7935c363092e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -125,7 +125,7 @@ struct alc_spec {
unsigned int pll_coef_idx, pll_coef_bit;
unsigned int coef0;
struct input_dev *kb_dev;
- u8 alc_mute_keycode_map[1];
+ u8 alc_mute_keycode_map[];
};

/*
--
2.20.1


2021-11-04 08:17:14

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: hda/realtek: fix flexible_array.cocci warning

On Thu, 04 Nov 2021 08:59:41 +0100,
Guo Zhengkui wrote:
>
> Fix following coccicheck warnings:
> ./sound/pci/hda/patch_realtek.c:128:4-24: WARNING use
> flexible-array member instead.
>
> There is a regular need in the kernel to provide a way
> to declare having a dynamically sized set of trailing
> elements in a structure. Kernel code should always use
> “flexible array members” for these cases. The older style
> of one-element or zero-length arrays should no longer be used.
>
> Signed-off-by: Guo Zhengkui <[email protected]>

It's a false positive. That is no flexible array but really an array
of the size 1. It's written in that way so that you can extend more
members in future in case other keys needed.


thanks,

Takashi

> ---
> sound/pci/hda/patch_realtek.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 6322fac9e694..7935c363092e 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -125,7 +125,7 @@ struct alc_spec {
> unsigned int pll_coef_idx, pll_coef_bit;
> unsigned int coef0;
> struct input_dev *kb_dev;
> - u8 alc_mute_keycode_map[1];
> + u8 alc_mute_keycode_map[];
> };
>
> /*
> --
> 2.20.1
>